Sparmatic Heizungsthermostate
Dieser Artikel sammelt Informationen zu den elektronischen Heizkörperthermostaten der Reihe "Sparmatic" (≙ "Thermy"). Eine Übersicht über verschiedene Modelle enthält der Artikel Heizungsthermostat.
Hersteller: Eurotronic
Forenthreads
Die in diesem Artikel gesammelten Informationen stammen aus folgenden Threads:
- http://www.mikrocontroller.net/topic/86596 (12/2007, "elektronische Heizungsregelung mit Thermotronic")
- http://www.mikrocontroller.net/topic/153235 (10/2009, "Preisgünstiger Heizungsregler bei Praktiker")
- http://www.mikrocontroller.net/topic/160462 (12/2009, "Alternative Firmware für Sparmatic Zero Heizungsthermostat")
- http://www.mikrocontroller.net/topic/237375 (11/2011, "Entwicklungen und Forschung um den Sparmatic Comet / Zero v2 Heizungsthermostat")
Bezugsquellen und Preis
- Baumarkt
- Pollin
- Aldi ("Thermy") - ca. €15
- zeitweise auch in Lebensmittel-Ketten, wie Lidl, NP...
Hardware
- Controller: ATmega169(P)V, 16kBytes Flash, 1kByte SRAM, 512Byte EEPROM
- Display: LCD mit 4x 14-Segmentanzeige, Bargraph und Symbolen
- Uhrenquarz 32768Hz
- Tasten und/oder Drehgeber
- Motor und Getriebe zum Stellen des Heizkörperventils
- Impulsgeber im / am Getriebe und Messung der Stromaufnahme des Motors
- Temperatursensor NTC 100k @25°C
- Comet: Pads für LEDs und Vorwiderstände zur LCD-Hintergrundbeleuchtung
Modelle
Den Sparmatic gibt es in verschiedenen Ausführungen. Herstellerseite mit Produktfotos
Basic (ehem. Thermotronic), Thermy (v1) | Premium (ehem. Thermotronic) | Zero 2010 (v1) | Zero 2011 (v2) | Thermy V1.5? | Thermy V2 | THERMy (V3) | Rotheigner (hornbach,identisch mit V3) | |
---|---|---|---|---|---|---|---|---|
Foto |
| |||||||
Jahr | 2007? | 2009? | 2009? | 2009? | 2011 | 2012? | 2015
| |
Produktseite | ext. link | [] | ext. link | [] | Thermy, ext. link | ext. link | ext. link
| |
Vertrieb | Aldi | hornbach.de von Rotheigner vertrieb,
| ||||||
Display | V1 (Quelle) | V2 | ||||||
Anschlüsse | keine | Mini-USB Buchse zur Programmierung per PC mit PROGmatic-USB-Stick (AVR ISP, aber ohne Reset) | ||||||
Bedienung | 3 Tasten + Drehgeber | 3 Tasten + Drehgeber, Funk | 5 Tasten vorn | 5 Tasten oben | 3 Tasten + Drehgeber | 3 Tasten + Drehgeber | ||
Gehäuse | Stifte verschw. | Rastnasen | Stifte verschw. | |||||
Controller | ATmega169PA | ATmega169PV | ATmega169PA | ATmega169PA | ||||
Schaltplan |
| |||||||
Threads | Fotos, Fotos | |||||||
Firmware |
|
Für Informationen in diesem Thread kann man die genannten Thermostate anhand der Beschaltung des Controllers in zwei Kategorien einteilen:
- Sparmatic Zero alt
- Sparmatic Zero neu, Comet, Thermy
Zero
Der Sparmatic Zero hat gleich zwei Versionen:
Alt
Die alte Version ist mit Schrauben zu öffnen und hat hinter der Batterie einen Pin-Header für den JTAG des Controllers.
Neu
Die neue Version hingegen ist mit Plastiknasen so verschlossen, dass er nach dem Öffnen nur mit Hilfsmitteln wieder fest verschließbar ist. Unter den Batterien sieht man jeweils hinter den Batteriekontakten 6 Testpads (2x3 Anordnung). Die Pads auf der Seite des "+" Batteriekontaktes enthalten dabei den JTAG des Controllers, die andere Seite unter anderem den ISP.
- Thread: http://www.mikrocontroller.net/topic/160462
- Alternative Firmware: v0.14 http://www.mikrocontroller.net/topic/160462#1845096 (kein Source)
Comet / Thermy
Der Sparmatic Comet hat nur drei Tasten, dafür einen zusätzlichen Drehimpulsgeber. Hiervon existieren baugleiche(?) Modelle, z.B. der bei Aldi verkaufte "Thermy" auch unter dem Name "EasyHome" (Platine Coment 01-05).
- Fotos: http://www.mikrocontroller.net/topic/160462#1918959
- Fotos vom Thermy: http://www.mikrocontroller.net/topic/237375#2408668, http://www.mikrocontroller.net/topic/237375#2409754,
- Schaltplan: http://www.mikrocontroller.net/topic/160462#1935344
Sparmatic Zero v1
Dieser wurde bereits ausführlich im Forum diskutiert. Im folgenden Thread wurde eine alternative Firmware entwickelt: http://www.mikrocontroller.net/topic/160462 ("Alternative Firmware für Sparmatic Zero Heizungsthermostat")
Siehe auch http://www.mikrocontroller.net/topic/153235 ("Preisgünstiger Heizungsregler bei Praktiker").
Schaltplan
Sparmatic Zero v2 / Comet / Thermy
Die Entwicklung läuft noch. Aktuelle Informationen finden sich im Forum: http://www.mikrocontroller.net/topic/237375 ("Entwicklungen und Forschung um den Sparmatic Comet / Zero v2 Heizungsthermostat")
Schaltpläne und Platinenaufnahmen
Comet / Thermy
ThermyV2? (11/2011): REV.0.0 REG
Zero v2 / Thermy V1.5
(vorläufig) REV.0.0 REGZ
THERMy V3
Der Schaltplan entspricht fast der Zero V2 mit einigen Abweichungen in Port E und F
Rotheigner baugleich mit (THERMy V3)
Honbach Art-Nr. 700 100 410
Display
Neueres Display ab Zero/Comet 2010 (v2, offenbar schon 2009 im Handel)
tabellarische Darstellung der einzelnen 14-Segment-Module:
Initialisierung des LCD Controllers wie in der Originalfirmware (Leopold B.):
LCDCRB = (1<<LCDCS) | (0<<LCD2B)
| (1<<LCDMUX1) | (1<<LCDMUX0)
| (1<<LCDPM2) | (1<<LCDPM1) | (1<<LCDPM0);
/*
// Das LCD wird im asynchronen mit der Frequenz
// des Quarzes TOSC1 = 32.768Hz als LCD Clock betrieben.
(1<<LCDCS)Modus (LCDCS-Bit=1)
// 1/3 bias is used
|(0<<LCD2B)
// 1/4 Duty; COM0:3;
|(1<<LCDMUX1) | (1<<LCDMUX0)
// SEG0:24
|(1<<LCDPM2) | (1<<LCDPM1) | (1<<LCDPM0);
*/
LCDFRR = (0<<LCDPS2)|(0<<LCDPS1)|(0<<LCDPS0)
|(0<<LCDCD2)|(0<<LCDCD1)|(1<<LCDCD0);
/*
(0<<LCDPS2)|(0<<LCDPS1)|(0<<LCDPS0) // N = 16
|(0<<LCDCD2)|(0<<LCDCD1)|(1<<LCDCD0); // D = 2
// ergo f(frame) = 128Hz
*/
LCDCCR = (1<<LCDDC2)|(0<<LCDDC1)|(0<<LCDDC0)
|(/*config.lcd_contrast*/ 10 << LCDCC0);
/*
// 575 µs
(1<<LCDDC2)|(0<<LCDDC1)|(0<<LCDDC0)
// Set the initial LCD contrast level
|(config.lcd_contrast << LCDCC0);
*/
LCDCRA = (1<<LCDEN)|(1<<LCDAB)|(0<<LCDIE)|(0<<LCDBL);
/*
(1<<LCDEN) // Enable LCD
|(1<<LCDAB) // Low Power Waveform
|(0<<LCDIE) // disable Interrupt
|(0<<LCDBL); // No Blanking
*/
C-Routinen zur Ansteuerung der Segmente: http://www.mikrocontroller.net/topic/160462#1946692
Tasten und Encoder
- 3 Tasten (Menu / OK / Zeit)
- 1 Encoder zum Einstellen der Temperatur/Werte (+/-)
Versorgungsspannung
- zwei Alkalibatterien (1,5 V) AA / Mignon / LR6
- Erkennung des Ausfalls der Versorgung (siehe http://www.mikrocontroller.net/articles/Sparmatic_Heizungsthermostate#Batterieerkennung)
Stellmotor
Motor und Getriebe
Gleichstrommotor mit etwa 1V Anlaufspannung. Leerlauf-Stromaufnahme: 20mA bei 3.2V, maximale Stromaufnahme: 120mA bei 3.2V und Stillstand.
Das Getriebe besteht aus 6 Stirnrädern und einer Trapezgewindestellschraube, die den Stössel des Heizkörperventils betätigt.
Positionserkennung
Reflex-Lichtschranke, die auf das erste Getriebe-Stirnrad ausgerichtet ist. Dieses Stirnrad ist mit Reflektionsmarken oder Reflektionszapfen und Lücken ausgestattet. Durch Ausbleiben der Impulse bei Fahren an einen mechanischen Anschlag wird die innere Endposition festgestellt (Ventil voll geöffnet). Die äußere Endposition (Ventil voll geschlossen) wird durch den Ventilkopf bestimmt und liegt maximal etwa 380 "0/1"-Flanken von der inneren Endposition entfernt. Sie wird nicht durch einen mechanischen Anschlag begrenzt. Beim Fahren über die äußere Endposition (wenn der Thermostat nicht auf dem Ventilkopf sitzt) besteht die Gefahr, dass die Stellschraube aus dem Getriebe herausfällt.
Stromaufnahme
An ADC2 (PF2) kann die Stromaufnahme des Motors gemessen werden. Der Shunt besitzt 2,2Ω, der maximale Spannungsabfall ist durch eine parallele Diode begrenzt. Leopold B. hat mal eine Stellfahrt oszillographiert:
Programmieradapter
Eine Mini-B USB Buchse führt einige ISP Signale. Es ist keine USB-Schnittstelle; sie ist mit einem speziellen Adapter (und der original Firmware und PC-Software) zur Parametrierung vorgesehen. Die Standardbelegung der USB-Steckverbindung (http://de.wikipedia.org/wiki/USB#Farbkodierung_und_Pinouts, http://pinouts.ru/Slots/USB_pinout.shtml) ist jedoch nicht vollständig, so dass fertige USB-Kabel nicht ohne zusätzliche Arbeit zur Verbindung geeignet sind. Siehe Beiträge:
- http://www.mikrocontroller.net/topic/153235#1445503
- http://www.mikrocontroller.net/topic/153235#1448510
- http://www.mikrocontroller.net/topic/160462#1591287
- http://www.mikrocontroller.net/topic/237375#2410189
Auch bei Steckern als Einzelteil ist ein benötigter Kontakt nicht herausgeführt, so dass der Stecker auf jeden Fall bearbeitet werden muss.
- Fotos vom schrittweisen modifizieren: http://www.mikrocontroller.net/topic/153235#1626448
Pinbelegung
Nummerierung des Steckers, die Buchsen in den Schaltplänen oben sind ggf. andersherum beziffert.
1 VCC red VCC 2 D- white SCK ?? stimmt das ?? 3 D+ green MOSI 4 ID NC MISO ?? stimmt das ?? 5 GND black GND
Achtung!! im Schaltplan des Comet ist die Nummerierung umgekehrt.
Beim Aldi thermy ist die Belegung wie folgt: (MISO und SCK vertauscht)
5 VCC red VCC 4 D- white MISO 3 D+ green MOSI 2 ID NC SCK 1 GND black GND
Siehe auch http://www.mikrocontroller.net/topic/153235#2167058.
ISP
Der AVR ISP ist wie folgt belegt (Anschluss auf der Platine, Ansicht von oben):
Reset
Beim Zero ein Pad auf der Rückseite des PCBs, per Kontaktfeder zu erreichen.
JTAG (Comet)
Anschluss des JTAG-ICE (hier mit dem „Tintenfisch“-Adapter):
Im Auslieferungszustand ist die JTAGEN-Fuse gelöscht (high fuse = 0xD9 statt 0x99). Man benötigt daher initial mindestens einmal eine ISP-Verbindung, um ein chip erase vorzunehmen und danach die JTAGEN-Fuse wieder setzen zu können.
Funkmodul
Kabellose Steuerung per Funk mittels Funkmodul über SPI (RFM12).
- Huckepackplatine (Eagle) siehe Beitrag: http://www.mikrocontroller.net/topic/160462#2000152 und http://www.mikrocontroller.net/topic/153235#1584210
- Rohfassung integrierte Platine: http://www.mikrocontroller.net/topic/237375#2417822
Firmware
Original
V. X
Features
Bugs
Alternativ
travelrec
Alle Informationen aus dem ersten Post aus http://www.mikrocontroller.net/topic/160462. Änderungen noch nicht berücksichtigt!
- Thread: http://www.mikrocontroller.net/topic/160462
- Sprache: Assembler/C-Portierung verfügbar (siehe Quellcode)
- Quellcode: https://github.com/dl8dtl/sparmatic
- Hinweise: keine Haftung für etwaige Schäden an den Geräten oder der Heizungsanlage, die Benutzung geschieht auf eigene Gefahr.
Fuses
Siehe Screenshots: http://www.mikrocontroller.net/topic/160462#1526589
ISP-Verbindung
Beim ersten Verbinden mittels AVR-Studio oder einer anderen IDE sollte die ISP-Frequenz nicht höher als 20kHz sein, nach dem Aufbringen der neuen Firmware kann mit 100kHz weitergearbeitet werden. Der Programmer muß targetseitig auf 2.7V eingestellt werden können.
Changelog
- 0.14 http://www.mikrocontroller.net/topic/160462#1845096
- Der Motor wird nun im Regelbetrieb mit PWM gefahren und ist deutlich leiser.
- Ein kleiner Bug wurde auch noch gefixt.
- 0.11 http://www.mikrocontroller.net/topic/160462#1567800
- 0.09 http://www.mikrocontroller.net/topic/160462#1527418
- 0.0? http://www.mikrocontroller.net/topic/160462#1526589
Bedienung
Nach dem Flashen der neuen Firmware bzw. nach dem Einlegen der Batterien wird im Display "<<<<" angezeigt und der Ventilstößel fährt voll auf. Nach dem Anfahren des oberen Anschlags stoppt der Motor und "Open" wird angezeigt. Jetzt kann der Thermostat auf den Ventilkopf aufgeschraubt werden. Danach muß die mittlere Taste gedrückt werden. Jetzt fährt der Ventilstößel zu und stellt zuerst den äußeren, dann den inneren Anschlag des Heizkörperventils fest. Danach geht das Gerät in den Normalmodus, wobei eine fest eingestellte Komforttemperatur angewählt wird.
Um die Komforttemperatur umzuprogrammieren, drückt man 1x kurz auf die PROG-Taste. Das Sonnensymbol blinkt und mit der + oder - Taste kann der Wert in 0.5°C-Schritten verändert werden. Nach einem weiteren Druck auf die PROG-Taste kann man die Absenktemperatur umprogrammieren, wobei das Mond-Symbol blinkt. Wird über 10 Sekunden keine Taste gedrückt, werden die Einstellungen übernommen. Mit einem weiteren Druck auf die PROG-Taste gelangt man in den Programmiermodus für die Timer. Das Anzeigesymbol "PROG" erscheint. Es sind pro Wochentag 2 Timer mit jeweils Komfort- und Absenktemperatur vorhanden. Zwischenzeitlich blinkt kurz Px.x, wobei das linke x für den Wochentag 1->Montag bis 7->Sonntag und das rechte x für den ersten bzw. zweiten Timer für diesen Tag steht. Jeder weitere Druck auf die PROG-Taste schaltet einen Timer weiter. Nach den Timern folgt die Jahres-, Monats-, Tages-, Stunden- und Minuteneinstellung. Die Zeiteinstellung kann man jederzeit schnell über einen langen Druck >3sek. auf die PROG-Taste erreichen. Gespeichert werden alle Werte nach Rückkehr in den Normalmodus über fortwährendes Drücken der PROG-Taste oder mindestens 10-sekündiges Nichtdrücken irgendeiner Taste. Im Normalmodus kann man jederzeit mit der + oder - Taste die aktuelle Solltemperatur in 0.5°C-Schritten verändern. Mit der AUTO-Taste schaltet man zwischen Automatik (Anzeige "AUTO") oder manuellem Modus (Anzeige "MANU") um. Im manuellen Modus werden die eingestellten Timer ignoriert und die momentan eingestellte Solltemperatur beibehalten. Im Automatikmodus werden die programmierten Solltemperaturen gemäß den Timereinstellungen angefahren. Über die mittlere Taste kann jederzeit zwischen Komfort- und Absenktemperatur umgeschaltet werden, wenn man beispielsweise vor Ablauf eines Timers das Haus verläßt oder früher heimkehrt oder um im manuellen Modus die Solltemperatur direkt umzuschalten. Ein langer Druck auf die mittlere Taste aktiviert die Fenster-Offen-Funktion, die die Solltemperatur für 10 Minuten auf 12°C herabsetzt und danach den voreingestellten Wert wieder aufruft. Ein langer Druck auf die AUTO-Taste aktiviert den Debug-Modus, der mit einem langen Druck auf die AUTO-Taste wieder verlassen wird. Ein gleichzeitiger, langer Druck auf + und - führt eine erneute Ventilvermessung durch, wobei alle laufenden Einstellungen erhalten bleiben. Werden die Batterien leer, informiert ein 8-sekündliches, kurzes Aufblinken der Anzeige "batt" über diesen Zustand. Sind die Batterien am Ende, wird das Ventil definiert auf eine Position um etwa 30% Öffnung gefahren, um Einfrieren oder Überheizen zu verhindern. Zur Wiederaufnahme der Funktion sind dann frische Batterien einzulegen.
Unterschiede zur Herstellerfirmware
Die wichtigsten Unterschiede der Alternativ-Firmware gegenüber des Originals sind:
Unterstützt
- Der Sparmatic Zero läuft mit AA-Batterien und -Akkus.
- Die Umschaltung von Komfort- und Spartemperaur ist jederzeit durch einen einzigen Knopfdruck möglich.
- Die Adaptierfunktion reißt bei vollen Batterien nicht unter Umständen das Gerät vom Ventilkopf (!).
- Die Adaptierfunktion benötigt nur einen Durchlauf Offen -> Geschlossen.
- Beim Batteriewechsel öffnet der Ventilstößel und verbleibt in der Offen-Stellung, bis eine Taste gedrückt wird, dies erleichtert die Wiedermontage auf dem Ventilkopf.
- Statt der Soll-Temperatur werden im Normalzustand die Ist-Temperatur und die aktuelle Zeit angezeigt.
- Die Fenster-Offen-Funktion ist nicht mehr automatisch, sondern manuell auszulösen - bei der Origialfirmware war diese Funktion zu empfindlich und löste mitunter willkürlich aus.
- Batterie "fast leer"-Warnung, gelegenliches Blinken von "batt"
- Batterie "leer"-Anzeige mit definierter Ventilposition, permanente Anzeige von "batt", keine weitere Funkion möglich
- leicht geänderte Tastenbelegung und Menüführung
Nicht unterstützt
Von der Originalfirmware unterstütze, hier aber (noch) nicht implementierte Funktionen:
- 2 statt 4 Timerblöcke pro Tag
- Keine Urlaubs-Funktion
- Keine Blockprogrammierung Werktag / Wochenende bei den Timern
- Kein Tastenschutz (Kindersicherung)
- Keine Programmierbarkeit mit dem Sparmatic-USB-Stick
tnework
- Hardware:
- Sprache: Bascom
- Status: unvollständig
- Features: nur Thermometer
- Forum: http://www.mikrocontroller.net/topic/153235#1476452 bzw. http://www.mikrocontroller.net/topic/248295 (02/2012)
- Quellcode: Zugriff auf SVN per Kontakt: http://www.mikrocontroller.net/topic/153235#1824281
wjroes/OpenZero
- Hardware: Thermy
- Sprache: C (http://www.mikrocontroller.net/articles/Atmel_Studio)
- Status:
- Features: Alle Hardwarefunktionen unterstützt (siehe forks), rudimentäre Regelung, kein EEPROM, Stellrad zählt doppelt (Thermy)
- Quellcode: https://github.com/wjroes/OpenZero
- Neuere Variante fuer Aldi: http://www.mikrocontroller.net/topic/237375#2727506
matze88/sparmatic-zero
- Hardware: Thermy
- Sprache: C
- Status: Entwicklung durch Originalentwickler eingestellt
- Features: PID, nRF24L..
- Quellcode: https://github.com/NerdyProjects/sparmatic-zero
- http://www.mikrocontroller.net/topic/237375#2854227
openHR20
- Hardware: Honeywell Rondostat HR20 (versch. Hardware!), HR25, Eurotronic Thermotronic/Sparmatic Basic/Thermy V1
- Sprache: C
- Status: Offenbar vollständig (Dokumentation veraltet). Zur Anpassung an das "neue" Display umfangreiche Arbeit an LCD Routinen erforderlich (7->14 Segmente, anderes Mapping)
- Features: RFM12 + Verschlüsselung, Zentrale ("Master": RFM12, AVR ATmega32, serielle Schnittstelle, Logging und Webinterface mit PHP/sqlite, C Kommandozeilentool für Befehle)
- Quellcode: http://openhr20.svn.sourceforge.net/viewvc/openhr20/rfmsrc/
- Wiki: (veraltet) http://www.mikrocontroller.net/articles/Heizungssteuerung_mit_Honeywell_HR20
- Forum: http://embdev.net/topic/118781
Entwurf
Eine gemeinschaftlich entwickelte Firmware (möglicherweise auf Basis von OpenZero (s.o.) und Code von M.L.) führt bei entsprechender Koordination schneller zu Ergebnissen. Dieses Wiki ist eine passable Plattform, um die Ziele zu definieren. Die Diskussion findet im Thread http://www.mikrocontroller.net/topic/237375 statt. Zusammenarbeit per SVN (mikrocontroller.net) oder entsprechender Plattform (z.B. GIThub, bitbucket, gitorious, ... alles etwas projektspezifischer: Wiki, Forum, issue tracker, Projektplanung).
Achtung: ggf. ist es sinnvoller, die Sparmatic-Geräte in OpenHR20 aufzunehmen (s.o.).
Features
Sammlung an Features, die beim Entwurf berücksichtigt werden sollten. Natürlich ist nicht damit zu rechnen, dass alles sofort implementiert wird, aber es gibt eine Diskussionsgrundlage für die Schnittstellen.
- Hardwarefunktionen (Details oben)
- Display
- Encoder / Tasten (Unterstützung verschiedener Modelle)
- Entprellung [Beschleunigung]
- Aktor
- Motoransteuerung über H-Brücke
- Stromaufnahme messen
- Encoder auswerten
- Sensoren
- Temperatur
- Batterie/Akkuspannung
- Tiefentladung vermeiden
- Uhr / Kalender
- Stromsparmodus
- Parameterspeicher
- Menüstruktur
- Zum Einstellen: Temperatur, Uhrzeit, Datum, Regelparameter, IDs (Schnittstellen), Batterietyp
- OpenZero nutzt verschachtelte Statemachine (switch .. case ..), evtl. tabellenbasiert (s. AVR Butterfly)
- Regelung
- verschiedene Regelalgorithmen denkbar, also unterschiedliche Parameter erforderlich
- Anwendung
- Kalibrierung (ADC/Bandgap)
- Referenzfahrt Ventil
- Temperaturregelung
- Zeitsteuerung der Regelung
- ..
- Schnittstelle(n)
- z.B. Funkmodule (RFM12, nRF.., integrierte HF)
Unterschiedliche Anbindung (SPI, I2C, ..) und Ansteuerung
- Verbindung zu
- Zentrale
- externe Sensoren (Raumtemperatur, Fenster-Sensor)
- anderen Reglern (synchronisieren)
- Aktoren (Energie anfordern, Heizung einschalten)
- gemeinsames Protokoll
- welche Parameter werden übertragen?
- kann das Protokoll so flexibel sein, dass keine Änderung an der Übertragung erforderlich ist, auch wenn die Partner andere Daten übertragen?
- Regler-ID, Prüfsummen, ACK-Pakete?
- Verbindung zu
- Zentrale
- Konfiguration der Regler
- Synchronisieren der Regler (manuelle Einstellung ausserhalb der Zeitsteuerung)
- evtl. Knotenpunkt der Kommunikation (Zentrale durch Netzteil versorgt, kann aus Energiespargründen nur gelegentlich gesendete Telegramme der Regler immer empfangen)
- Hardware
- mind. Funkmodul und Dekoder des Funkprotokolls
- darüber hinaus mehrere Ansätze
- Embedded mit (Grafik)Display etc.
- GUI
- Web-Server
- Energiebedarf
- Batterie / Akku muss mindestens eine Heizperiode halten (> 6 Monate?)
- minimieren:
- Standby/Power-Down
- Aktornutzung minimieren
- selten Kommunizieren
Hardware
Display
Encoder/Tasten
Temperatursensor
Motoransteuerung und -strommessung
Batterieerkennung
Bei allen Sparmatic-Modellen ist eine Batterie-Entnahme-Erkennung eingebaut. Diese ermöglicht es dem Controller, zu erkennen, ob die Batterien gerade entnommen wurden. Mit hoher Wahrscheinlichkeit wird dies in der Original-Firmware dazu benutzt, die aktuelle Zeit und das Datum im EEPROM abzuspeichern, bevor der Strom ausgeht. In der alternativen Firmware wird dieses Feature bislang nicht verwendet. Es ist aber für eine neue Version eingeplant. Um das Schaltsignal auswerten zu können, welches bei allen Reglern an Pin E0 anliegt, müssen im Sleep-Mode (PowerSave) des Controllers beide Motorsteuerpins und der Lichtschrankenversorgungspin auf 'Eingang, kein Pull-Up' geschaltet werden. Im Fall einer Batterieentnahme wechselt der Pegel an E0 von logisch 0 auf logisch 1. Der 100µF-Elko liefert dann noch für etwa 2 Sekunden Strom (Controller im PowerSave), bis die Spannung dann den kritischen Wert von 1.8V unterschreitet.
Bei den Reglern der 3. Generation (weiße Platine) liegt die Batterie-Entnahme-Erkennung auf Pin E5. In der Firmware genügt es, den Pullup auf E5 während des Main-Durchlaufes einzuschalten. Lässt sich der Pin auf logisch "1" ziehen, sind die Batterien gerade entnommen worden und der Speichervorgang für das EEPROM sollte umgehend eingeleitet werden. Davor sind sämtliche Verbraucher abzuschalten, um genügend Energie für den Speichervorgang zu haben (reicht für etwa 10 Bytes). Bleibt der Pin auf logisch "0", sind die Batterien eingestzt. Dann deaktiviert man für die Dauer des Schlafzustandes den Pullup wieder und testet im nächsten Main-Durchlauf erneut.
Funkmodul
Benutzerschnittstelle / Bedienung
Regelung
Zeitsteuerung
Vernetzung
Funkmodul