Sketche auf original Hm-Aktor mit ATMEGA644PA Chip hochladen

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

Bratmaxe
Beiträge: 1573
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 4 Mal
Danksagung erhalten: 10 Mal

Sketche auf original Hm-Aktor mit ATMEGA644PA Chip hochladen

Beitrag von Bratmaxe » 25.08.2018, 17:40

Ursprüngliche Frage:
Hallo Alex,
kannst du mir sagen, welches Board ich unter Arduino IDE zum Programmieren des Atmega644P (original HM Aktor) auswählen muss?
Gruß Carsten

Edit 31.08.2018: So funktioniert es:
Danke an alle Beteiligten.

- Als erstes solltet ihr prüfen, ob auf dem Aktor der ATMEGA644PA verbaut wurde.
Ich habe bei meinem Aktor (HM-LC-Sw1PBU-FM) dieses Chip verbaut, in der Aufbauanleitung wird aber geschrieben, das der ATMEGA644A verwendet wird, auf den Bilder ist aber der ATMEGA644PA zu sehen, die Beschreibung ist hier falsch. Gleiches gilt auch für die Aufbauanleitung für den HM-LC-Sw2PBU-FM.

- Programmierungsbeschreibung (Dank an klassisch):
- Überprüfen der Spannungsversorgung: An den Pins VCC müssen 3.3V gegen GND anliegen. Die Pins für den I2C Anschluss bieten sich zum Messen an.
- Einstellungen Arduino IDE:
--Zuerst den Mighty Core zur Unterstützung des 644PA Prozessor einbinden. Die Installationsanleitung dazu findet sich auf der zugehörigen Github Seite https://github.com/MCUdude/MightyCore#how-to-install . Danach kann ein Neustart der Arduino IDE erforderlich sein
-- Board einstellen -> Werkzeuge -> Board -> ATmeaga644 (zu finden unter MightyCore)
-- Pinout einstellen -> Werkzeuge -> Pinout -> Bobuino
-- Clock einstellen -> Werkzeuge -> Clock -> 8MHz external
-- Compiler Optimierung einstellen -> Werkzeuge -> Compiler LTO -> Disabled
-- Variante einstellen -> Werkzeuge -> Variant -> 644P/644PA
-- Brownout Voltage einstellen -> Werkzeuge -> BOD -> 2.7V
-- Programmer für den Bootloader einstellen: -> Werkzeuge -> Programmer -> "STK 500 as ISP (MightyCore)"
-- Libaries aktualisieren! (EnableInterrupt mind V1.0. Falls die Arduino IDE diese Version noch nicht anbietet, direkt von github https://github.com/GreyGnome/EnableInterrupt ziehen und ins entsprechende lokale Verzeichnis kopieren)

- Den Adapter mit dem 6 pol ICSP Pin Header gemäß der Beschriftung verbinden:
ISP Verbindung.jpg
- Sketch anpassen an Bobuino-Pinout für ATMEGA644PA.
MightyCore TQFP44 Bobuino pinout.jpg
Beispiel am Aktor "HM-LC-Sw2PBU-FM":
Pinne in Sketch deklariert:

Code: Alles auswählen

#define RELAY1_PIN 17    //A3
#define RELAY2_PIN 16    //A2

#define BUTTON1_PIN 6
#define BUTTON2_PIN 3
In der Aufbauanleitung ist die Schaltung des Aktors abgedruckt. Hier kann man dann sehen, das die Pinne wie folgt belegt sind:
Relais1 = PD5
Relais2 = PD4

Taste1 = PD6
Taste2 = PD0 (RX)

anhand des oben dargestellten Bildes kann man nun die Bobuino Pinne herausfinden:

Code: Alles auswählen

#define RELAY1_PIN 30
#define RELAY2_PIN 8

#define BUTTON1_PIN 9
#define BUTTON2_PIN 0
WICHTIG!!! Wird PIN 0 oder PIN 1 verwendet, dann müssen die DEBUG-Meldungen deaktiviert werden, das geht indem man im Sketch ganz oben folgende Zeile einfügt:

Code: Alles auswählen

#define NDEBUG
- Sketch in der Arduino IDE compilieren
- Applikation flashen: Programmieren mit -> Sketch -> Hochladen mit Programmer

Danach kann man den Aktor wieder zusammenbauen und mit dem neuen Code verwenden.

Gruß Carsten
Zuletzt geändert von Bratmaxe am 31.08.2018, 10:24, insgesamt 3-mal geändert.
Gruß Carsten

klassisch
Beiträge: 3974
Registriert: 24.03.2011, 04:32
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 110 Mal
Danksagung erhalten: 71 Mal

Re: Sketche auf original Hm-Aktor mit ATMEGA644PA Chip hochladen

Beitrag von klassisch » 25.08.2018, 17:49

Hast Du schon MightyCore installiert? Das bringt das 644 board mit
Zuletzt geändert von alchy am 30.08.2018, 19:22, insgesamt 1-mal geändert.
Grund: Titel geändert

klassisch
Beiträge: 3974
Registriert: 24.03.2011, 04:32
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 110 Mal
Danksagung erhalten: 71 Mal

Re: Sketche auf original Hm-Aktor mit ATMEGA644PA Chip hochladen

Beitrag von klassisch » 25.08.2018, 17:53

Aus meinen Notizen:

Hinweis zu den LED-Farben
Wenn die grüne LED an Pin 4 angeschlossen wird, wird sie in den meisten Sketchen wie bei den HM-Geräten bedient: eine iO Operation wird mit einem grünen Leuchten abgeschlossen

Inbetriebnahme
  • Überprüfen der Spannungsversorgung
    An den Pins VCC müssen 3.3V gegen GND anliegen. Die Pins für den I2C Anschluss bieten sich zum Messen an.
  • Einstellungen Arduino IDE
    • Zuerst den Mighty Core zur Unterstützung der 644 und 1284 Prozessoren einbinden. Die Installationsanleitung dazu findet sich auf der zugehörigen Github Seite https://github.com/MCUdude/MightyCore#how-to-install . Danach kann ein Neustart der Arduino IDE erforderlich sein
    • Board einstellen -> Werkzeuge -> Board -> ATmeaga644 (zu finden unter MightyCore)
    • Pinout einstellen -> Werkzeuge -> Pinout -> Bobuino
    • Clock einstellen -> Werkzeuge -> Clock -> 8MHz internal (wenn mit 3.3V betrieben (default) und kein Quarz verwendet wird
    • Compiler Optimierung einstellen -> Werkzeuge -> Compiler LTO -> Disabled
    • Variante einstellen -> Werkzeuge -> Variant -> 644P/644PA
    • Bronwout Voltage einstellen -> Werkzeuge -> BOD -> 2.7V
    • Programmer für den Bootloader einstellen: -> Werkzeuge -> Programmer -> "STK 500 as ISP (MightyCore)"
  • Libs aktualisieren
    Erforderliche Libs einlagern und ggf. aktualisieren.
    Wenn Interrupts verwendet werden ist besonders auf die Lib EnableInterrupt zu achten, die mind V1.0 haben muss. Falls die Arduino IDE diese Version noch nicht anbietet, direkt von github https://github.com/GreyGnome/EnableInterrupt ziehen und ins entsprechende lokale Verzeichnis kopieren
  • Bootoader Flashen
    • Zum Flashen des Bootlaoders beispielsweise diesen Programmer verwenden https://www.diamex.de/dxshop/USB-ISP-Pr ... l-AVR-Rev2
    • Schalter konfigurieren wie abgebildet (1 off, 2 on) und einen 8 auf 6 Pin Adapter verwenden
      Diamex-Programmer-small.jpg
    • Den Adapter mit dem 6 pol ICSP Pin Header gemäß der Beschriftung verbinden
    • Sketch in der Arduino IDE compilieren
    • Danach -> Werkzeuge -> Bootloader brennen. Der Bootloader wird nun geschrieben
  • Applikation Flashen
    • Die Applikation kann mit einem FTDI USB Serial Adapter geflasht werden
      FTDI-Programmer-small2.jpg
    • Programmer einstellen -> Werkzeuge -> Programmer -> AVR ISP
    • FTDI Programmer mit dem einreihigen Pinheader "FTDI" gemäß Beschriftung verbinden
    • Programmieren wie gewohnt -> Sketch -> Hochladen
Zuletzt geändert von alchy am 30.08.2018, 19:19, insgesamt 1-mal geändert.
Grund: Titel geändert

Bratmaxe
Beiträge: 1573
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 4 Mal
Danksagung erhalten: 10 Mal

Re: Sketche auf original Hm-Aktor mit ATMEGA644PA Chip hochladen

Beitrag von Bratmaxe » 26.08.2018, 21:12

Vielen Dank werde ich mal installieren

Gruß Carsten
Gruß Carsten

Benutzeravatar
stan23
Beiträge: 2038
Registriert: 13.12.2016, 21:14
System: Alternative CCU (auf Basis OCCU)
Wohnort: Altmühltal
Hat sich bedankt: 582 Mal
Danksagung erhalten: 336 Mal
Kontaktdaten:

Re: Sketche auf original Hm-Aktor mit ATMEGA644PA Chip hochladen

Beitrag von stan23 » 27.08.2018, 06:20

klassisch hat geschrieben:
25.08.2018, 17:53
Zum Flashen des Bootlaoders beispielsweise diesen Programmer verwenden https://www.diamex.de/dxshop/USB-ISP-Pr ... l-AVR-Rev2
Danke für den Tipp, der wird meinen zickigen AVR Dragon ersetzen.
Viele Grüße
Marco

RaspberryMatic als VM auf einem NUC mit Proxmox und USB-Funkmodul
~80 Geräte (HM, HmIP, HMW, HBW, AskSin)

Bratmaxe
Beiträge: 1573
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 4 Mal
Danksagung erhalten: 10 Mal

Re: Sketche auf original Hm-Aktor mit ATMEGA644PA Chip hochladen

Beitrag von Bratmaxe » 27.08.2018, 21:32

Ich habe immer wieder Probleme mit dem ISP.. der legt keinen COM Port an und kann nur über USB angesprochen werden und damit hat Arduino IDE offenbar ein Problem.

Legt der von dir (Alex) genannte ISP einen Com Port an? Ich hoffe das dann viele meiner Probleme verschwinden.

Falls nicht. Kann mir sonst jemand einen ISP empfehlen, der unter Windows 10 sauber funktioniert mit einem COM Port?

Gruß Carsten
Gruß Carsten

Benutzeravatar
deimos
Beiträge: 5396
Registriert: 20.06.2017, 10:38
System: Alternative CCU (auf Basis OCCU)
Wohnort: Leimersheim
Hat sich bedankt: 121 Mal
Danksagung erhalten: 957 Mal
Kontaktdaten:

Re: Sketche auf original Hm-Aktor mit ATMEGA644PA Chip hochladen

Beitrag von deimos » 28.08.2018, 00:19

Hi,

ich habe auchden Diamax. Seit ich den benutze, hatte ich nie wieder Probleme.

Viele Grüße
Alex

Bratmaxe
Beiträge: 1573
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 4 Mal
Danksagung erhalten: 10 Mal

Re: Sketche auf original Hm-Aktor mit ATMEGA644PA Chip hochladen

Beitrag von Bratmaxe » 28.08.2018, 07:32

Vielen Dank,

dann wird der jetzt bestellt. :D

Gruß Carsten
Gruß Carsten

Bratmaxe
Beiträge: 1573
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 4 Mal
Danksagung erhalten: 10 Mal

Re: Sketche auf original Hm-Aktor mit ATMEGA644PA Chip hochladen

Beitrag von Bratmaxe » 29.08.2018, 19:17

Info, Ist heute angekommen und läuft super unter Windows10.

habe 1 Aktor schon programmiert, jetzt muss ich noch testen...
Gruß Carsten

Bratmaxe
Beiträge: 1573
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 4 Mal
Danksagung erhalten: 10 Mal

Re: Sketche auf original Hm-Aktor mit ATMEGA644PA Chip hochladen

Beitrag von Bratmaxe » 29.08.2018, 21:26

Muss ich für einen originalen HM Aktor. Das Standard Layout oder Bobdrino einstellen?

Wo liegt denn der Unterschied.. bzw. Ich verstehe nicht warum der Programmer da pinout wissen muss...
Zuletzt geändert von alchy am 30.08.2018, 19:28, insgesamt 1-mal geändert.
Grund: Titel geändert
Gruß Carsten

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“