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: - Sketch anpassen an Bobuino-Pinout für ATMEGA644PA. 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
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
Code: Alles auswählen
#define NDEBUG
- Applikation flashen: Programmieren mit -> Sketch -> Hochladen mit Programmer
Danach kann man den Aktor wieder zusammenbauen und mit dem neuen Code verwenden.
Gruß Carsten