Grundlage ist das 'Asksin++' Projekt 'Umbau GARDENA Bewässerungsventil (1251-20) 9V auf HomeMatic' von Gelegenheitsbastler:
Bei der Inbetriebnahme der fertig aufgebauten Platine und dem Testen sind folgende Dinge aufgefallen:
- es findet keine durchgreifende Überprüfung der Batteriespannung statt (siehe AskSin++ 'Dauersender / Babbling Idiot')
- Einstellparameter aus der CCU werden nicht alle vom Modul übernommen
Beim Platinen-Design V2.1 wurde zusätzlich ein Spannungsteiler aufgelötet, der zusammen mit einer erweiterten Firmware dafür sorgt, dass bei Unterschreitung der Batteriespannung das Modul mit CCU Meldung sich selbst deaktiviert. In der Platinen-Version 4.x ist die Spannungsüberwachung direkt im Platinen-Layout integriert (siehe Projekt Mitteilung).
Die bisherige Firmware 'Gardena_Ventil' wurde komplett überarbeitet. Die softwareseitige Änderung bzw. Erweiterung besteht aus drei Dateien:
- HM_LC_SW1_BA_PCB_GAR1251.ino - geänderte Firmware
- HM_LC_SW1_BA_PCB_GAR1251.h - Zusammenfassung aller möglichen Konfigurationsparameter
- tmBattery.h - (siehe Tom Major - 'Schutz vor 'Babbling Idiot')
Von der Struktur her ist die Firmware an das eigentliche Ursprungsskript 'HM-LC-SW1-BA-PCB' angelehnt worden und wurde daher auch entsprechend umbenannt: 'HM_LC_SW1_BA_PCB_GAR1251'. Alle Konfigurationsmöglichkeiten sind jetzt in eine Konfigurationsdatei ausgelagert - d.h.: möchte man die Konfiguration ändern, kann man dies in der Konfigurationsdatei machen, ohne das eigentlich INO Skript anfassen zu müssen. Welche Einstellungen man ändern kann, ist dort ausführlich in den Kommentaren dokumentiert.
Folgende CCU-Einstellungen funktionieren jetzt: minimaler Batterie-Schwellwert (man kann sich jetzt bei Falscheingabe der minimalen Batteriespannung nicht mehr selbst aussperren, da die Falscheingabe nicht vom Modul übernommen wird) und Geräte-LED. Weiter kann bei der 'AskSin++' Konfiguration die Art des Batterieüberprüfung, die CC1101 Frequenz und der Modus des Anlernbuttons festgelegt werden. 'Alle' Funktionen wurden ausprobiert und auf Funktion geprüft - vom Aufspielen bis zum Schalttest am Gardena-Ventil ...
-
Nur für Experten:
Wichtig in diesem Zusammenhang ist natürlich, dass auch die 'Fuse Bits' des AVRs richtig gesetzt sind: das 'High Fuse' Bit muss für 'AskSin++' unbedingt auf '0xD2' gesetzt werden, damit z.B. für das Abspeichern der Frequenzeinstellung des CC1101 Sendemodul ein EEPROM Speicherbereich zur Verfügung gestellt wird (siehe CC1101 Frequent Test).
'HM-LC-SW1-BA-PCB-GAR1251' Fuses:Fuse Wert Bemerkung Low Fuse 0xE2 !! Nicht auf 'AskSin++'-Wert '0xFF' ändern !! High Fuse 0xD2 für CC1101 Frequenz im EEPROM Speicherbereich Extended Fuse 0xFF Brown-out detection disabled (BODLEVEL=111) Hier ein sehr guter Erklärungs-Link dazu: Engbedded Atmel AVR Fuse Calculator
- 3D-Druck Projekt für 'GARDENA EasyControl' mit 'HM-LC-SW1-BA-PCB-GAR1251' - Zeigen ...
- Für das Platinen-Layout Version 2.1 kann eine Hardware-Modifikation vorgenommen werden, falls eine Batteriespannungsmessung über Spannungsteiler durchgeführt werden soll.
- Für das Platinen-Layout Version 4.x ist keine Hardware-Modifikation mehr notwendig, da der Spannungsteiler integriert wurde.
Das INO-Skript hier herunterladen und in 'HM_LC_SW1_BA_PCB_GAR1251.h' die Konfigurationsparameter evtl. anpassen:
-
für Platinen-Layout Version 4.x - mit integriertem Spannungsteiler:
- '#define BAT_SENSOR_MODE 3' => 'Batteriespannungsmessung unter Last'
- => voreingestellter Wert
-
für Platinen-Layout Version 2.1 - ohne Spannungsteiler:
- '#define BAT_SENSOR_MODE 1' => 'keine Batteriespannungsmessung'
-
für Platinen-Layout Version 2.1 - mit nachgerüstetem Spannungsteiler:
- '#define BAT_SENSOR_MODE 2' => 'Batteriespannungsmessung über Spannungsteiler'
Dann weiter, wie gewohnt das INO Skript kompilieren und über den 6-poligen ISP Anschluß auf der Platine hochladen - siehe AskSin++ - 'Software flashen' - 'FTDI Adapter'.
!! ACHTUNG !! - vorher das CC1101 Sendemodul aus dem Sockel entfernen - siehe Tom Major - 'Warnung vor dem Flashen von 3,3V Geräten mit USBasp Klones'.
Mit Anlernen an der Zentrale die Platine in Betrieb nehmen.
- 2021-04-03 - Aktualisierung INO-Skript für 'Asksin++' V4.1.6 + V5.0.0
- 2020-06-19 - Aktualisierung Platinen-Layout Angaben
- 2020-05-30 - Aktualisierung Platinen-Layout und INO-Skript
- 2020-02-23 - Veröffentlichung an dieser Stelle