Forum: Mikrocontroller und Digitale Elektronik Entwicklungen und Forschung um den Sparmatic Comet / Zero v2 Heizungsthermostat


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Matthias Larisch (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

Ich öffne diesen Thread als Nachfolger des 
Beitrag "Alternative Firmware für Sparmatic Zero Heizungsthermostat" Threads zum Sparmatic Zero.

Hier kann dann auch technischer zum Comet gesprochen werden :)

Der Zero v2 ist erkennbar am zum Comet sehr ähnlichen Platinenlayout. Er 
hat keinen JTag Header mehr, dafür aber unterm Batteriefach 2x 6 
Testpads sichtbar.

Zero <-> Coment entscheiden sich hauptsächlich durch den Drehimpulsgeber 
im Comet, während der Zero dafür 2 Tasten mehr hat.


Nun fange ich direkt mit einer Frage an:

Wie wird die Batteriespannung gemessen?

Ein etwas abstruser Ansatz, sofern mein Schaltplan stimmt:

PE2 auf low, PE1 auf Pullup und dann mit ADC0 messen (Aref = Avcc). Hier 
ergibt sich dann die (bekannte) Flussspannung der Diode, durch rückwärts 
rechnen erhalten wir also unsere Versorgungsspannung.

Ein anderer Spannungsteiler (Messen mit Aref=int. 1,1V) oder eine 
bessere Referenz als diese Diode fällt mir im Schaltplan nicht auf.

Im anderen Thread steht noch die Erkennung der leer/herausgenommenen 
Batterien im Raum. Dort wurde der AIN1 als Interrupt vorgeschlagen. Bei 
mir ist der allerdings offen, sofern nicht unterm Mega169 noch ne 
Leiterbahn drangeht.

von JW (Gast)


Lesenswert?

Hallo Matthias,

Rückwärts:

Bandgap 1.1v Messen (Kanal 14) mit Referenz Vcc.

Vcc = ( 1024 / ADC ) * 1.1V

Jürgen

von Matthias Larisch (Gast)


Lesenswert?

Ah man kann die  Bandgap Referenz auch messen - ich dummerchen :)
Dankeschön.

von R. F. (rfr)


Lesenswert?

Ist es möglich, Bilder der Platinen hier einzustellen?

In der Diskussion um Knut Ballhause habe ich von meinem bei Aldi 
erworbenem Gerät zwei Bilder gefertigt. Ich weiss aber nicht, ob das die 
Bilder des Gerätes sind, welches hier behandelt werden soll.

Gruss

Robert

von Matthias Larisch (Gast)


Lesenswert?

Das Aldi Gerät "Thermy" gehört ebenfalls dazu, ja.

von __ _. (unrouted)


Lesenswert?


von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Hallo Matthias,

Danke erstmal für Deine Aktion mit dem neuen Thread. Der Schaltplan 
müsste nochmal überarbeitet werden, da einige Unklarheiten und Fehler 
drin sind, ich werde mich mal bei machen, wenn ich dazu komme. Ansonsten 
denke ich, dass ich Dir dieses WE noch eine eMail schicke.

Hättest Du Bock, für das Projekt einen Artikel zu schreiben, in dem alle 
Informationen ihren Platz finden und die entsprechenden Downloadlinks 
zur Verfügung stehen würden?

von Matthias Larisch (Gast)


Lesenswert?

Hm, wir haben den zu Zweit in gründlicher Feinarbeit erstellt :) Einige 
Widerstandswerte sind nachgemessen, da teilweise eine komische 
Beschriftung der SMD Packages erfolgt ist. Klar, die Mosfets sind 
eigentlich Bipolartransistoren, das wissen wir inzwischen. Die Polung 
der Reflexlichtschranke ist auch nicht überprüft, außerdem ist die 
Sender/Empfänger zuordnung geschätzt.

Der "Rest" sollte eigentlich stimmen.

Nen Artikel wollte ich eigentlich erst anlegen, wenn das Projekt etwas 
fortgeschritten ist. Dennoch kann ich ja schonmal die bereits 
vorhandenen Informationen eintragen.

Quellcode noch am Wochenende wäre super :) Ich werde wohl heute abend 
mal ein bisschen anfangen, ein Projekt aufzusetzen. LCD 
Initialisierungscode gibs ja schon im anderen Thread, dann muss ich das 
nicht nochmal austüfteln. Viel weiter kommt man erfahrungsgemäß am 
ersten Projektabend eh nicht.

von Matthias L. (matze88)


Lesenswert?

http://www.mikrocontroller.net/articles/Sparmatic_Heizungsthermostate

Nicht schön, aber wenigstens mal alles zusammengefasst.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo nochmal,

anbei der überarbeitete Plan. Im Grunde habe ich die Daten von Leopold 
B. benutzt, überprüft und mit Werten versehen. Ausserdem habe ich 
versucht, das Ganze modular und übersichtlich anzuordnen. Der Zero 2 und 
der Comet unterscheiden sich lediglich durch den Drehgeber, der beim 
Comet einen Grey-Code ausgibt und an die Pins für die Tasten "PLUS" und 
"MINUS" angeschlossen ist. Ansonsten ist die Hardware direkt 
funktionskompatibel. Die Sache mit der Lichtschranke muss ich noch mit 
einem Zero 2 eines Bekannten testen...

Hoffe, dass ich nichts übersehen habe.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Habe gerade beim Tracen festgestellt, dass PIN E5 (Pin7 am Mega169P) 
beim Comet für eine Hintergrunfbeleuchtung des Displays vorgesehen ist. 
Der Pin geht auf Landings für 0603 SMD-LEDs mit entsprechenden 
Vorwiderständen gegen '0V'. Wenn man sich also die Mühe macht, das 
Display von der Platine zu pflücken und die Landings entsprechend zu 
bestücken, kann also eine nette Hintergrundbeleuchtung realisieren. Alle 
LED-Farben, ausser denen mit höherer Flussspannung als 2.4V, müssten 
funktionieren.

von Mark T. (Gast)


Angehängte Dateien:

Lesenswert?

Aktuelles ALDI-Angebot: Energiespar-Regler für Heizkörper zu € 14.99
EAN 29082285 -> Art.-Nr.: 8228
EUROTronic Technology GmbH; Südweg 1; D-36396 Steinau-Ulmbach
Art.nr. 700 100401 | Verp.nr. 900 000116
www.thermy.de

3 Tasten, 1 Encoder (Drehgeber)
Mini-USB, sonst keine zugänglichen Pads oder Stifte
Gehäusehälften sind an 4 Punkten verschweisst (ca. 2 mm Stift durch 
Bohrung und dann plattgeschmolzen). Davon lassen sich zwei per Zange 
abscheren, die anderen müssen ausgebohrt werden. Vorsicht, das Gehäuse 
ist dünn.

Anbei ein paar Bilder.

von Mark T. (Gast)


Lesenswert?

PCB Beschriftung:

     REG
RE V.0.0

Das Getriebegehäuse war möglicherweise im ersten Design nicht stabil 
genug, da die auf der Motorseite untergebrachte Beschriftung (EUROtronic 
Logo etc.) durch Rippen unkenntlich gemacht ist.

von JW (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Matthias,

nicht daß ich's selbst untersucht hätte (noch kein Comet im Haus),
aber aus mehreren Versionen, die zum Teil sinnfreie Schaltungen zeigen.
Da ich vermute, daß auch kein Chinese Dioden einfach mal von Masse nach 
Masse lötet, macht folgendes mit den gegebenen Bautteilen am meisten 
Sinn:

Der Elko soll die Batterie von Motorstrom entlasten, wird dazu langsam 
über R9 geladen. R10 begrenzt die direkte Stromentnahme aus der Batterie 
und erlaubt über RC-Glied als Tiefpass die Messung des Motorstroms via 
ADC2:

Imot = 1,4 * (1024 - ADC) [mA]  mit Vref = Vcc

Der Faktor 1,4 ergibts sich aus 3V / 2,2 Ohm , ist also von der 
Batteriespannung abhängig, d.h. es geht mehr um dem Strom-Trend,
"Strom steigt an" -> "Motor muß mehr Kraft aufwenden" -> "Anschlag 
erreicht".

Wer den Comet schon besitzt, kann ja mal messen :-)

Spannung am ElKo sollte nach einlegen der Batterie sehr langsam 
ansteigen.
1M * 100µF -> im Minutenbereich

Wenn der Motor startet, bricht die Elko-Spannung ein.

Gruß,
Jürgen

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

JW schrieb:
> nicht daß ich's selbst untersucht hätte (noch kein Comet im Haus),
> aber aus mehreren Versionen, die zum Teil sinnfreie Schaltungen zeigen.
> Da ich vermute, daß auch kein Chinese Dioden einfach mal von Masse nach
> Masse lötet

Die im Schaltplan von Matthias und mir gezeigte Schaltung ist korrekt. 
Die Diode liegt nicht von Masse nach Masse, sondern von '0V' nach Masse 
und schützt den Controller vor Verpolung der Batterien.

JW schrieb:
> Der Elko soll die Batterie von Motorstrom entlasten, wird dazu langsam
> über R9 geladen.

Nein. Mitnichten.

JW schrieb:
> R10 begrenzt die direkte Stromentnahme aus der Batterie

Auch nein. Jedenfalls nicht absichtlich.

JW schrieb:
> und erlaubt über RC-Glied als Tiefpass die Messung des Motorstroms via
> ADC2:

Das ist korrekt.

JW schrieb:
> Spannung am ElKo sollte nach einlegen der Batterie sehr langsam
> ansteigen.
> 1M * 100µF -> im Minutenbereich

Da es nicht so verschaltet ist, trifft dies nicht zu. Der Elko lädt 
sofort, da er wie in den Plänen oben angeschlossen ist.

von R. F. (rfr)


Lesenswert?

Kann mir mal jemand erklären, warun der 1M Widerstand am Port PE0 Pin 2 
eingebaut wurde? Und wo liegt der auf der Platine?

Gruss

Robert

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

An Mark T. vielen Dank für die guten Fotos. Daran erkennt man, dass die 
Lichtschranke in der Tat nur noch für des Erfassen der Endposition im 
ausgefahrenen Zustand da ist und keine Pulse mehr misst. Gut zu wissen!

von R. F. (rfr)


Lesenswert?

Ich korrigiere mich: gemeint ist R9 (soeben gefunden, war anderes 
Layout).
Unklar ist dessen Funktion.

Grüsse

R.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

R. Freitag schrieb:
> Kann mir mal jemand erklären, warun der 1M Widerstand am Port PE0 Pin 2
> eingebaut wurde? Und wo liegt der auf der Platine?

Ich nehme mal stark an, dass dieser Widerstand im Verbund mit der Diode 
D2 und dem Widerstand R19 (im aktuellen Plan) dazu dient, das 
Herausnehmen der Batterien festzustellen, um eventuell noch Daten im 
EEPROM zu sichern. Der Widerstand liegt bei den Cometen neben der 
Fräsung in der Platine und ist 01E beschriftet. Beim Zero 2 liegt er 
unter dem Controller in der Reihe rechts neben den 3 Cs.

von k.i.d. (Gast)


Lesenswert?

Hallo Matthias,

Eigentlich hätte mich für Dein Projekt interessiert.
Hatte gedacht dies ist ja ein neuer Thread ...

Leider schon wieder gekapert.

Trotzdem viel Erfolg!

von R. F. (rfr)


Lesenswert?

Anscheinend lesen wir aneinander vorbei.

Ich bezog mich auf den folgenden Schaltplan:

http://www.mikrocontroller.net/articles/Sparmatic_Heizungsthermostate

der in diesem Thread geposted wurde, und da ist der R9 an Pin 2 gegen 
Masse geschaltet. Das macht für mich keinen Sinn, ich will den ohnehin 
entfernen, weil ich die Schnittstelle brauche.

Und deswegen fragte ich nach dem Sinn dieses Widerstandes.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

R. Freitag schrieb:
> Anscheinend lesen wir aneinander vorbei.

Das glaube ich nicht. An Pin2 Des Controllers ist nur ein Widerstand und 
der ist in allen Plänen vorhanden, wenn auch mit unterschiedlichen 
Werten und Bezeichnungen. Die vermutete Funktion ist hier beschrieben:

Beitrag "Re: Entwicklungen und Forschung um den Sparmatic Comet / Zero v2 Heizungsthermostat"

R. Freitag schrieb:
> Das macht für mich keinen Sinn, ich will den ohnehin
> entfernen, weil ich die Schnittstelle brauche.

Würde ich vielleicht nicht machen, da Du durch diesen Schritt das Gerät 
inkompatibel machst. Es sind doch eigentlich genügend Schnittstellen 
vorhanden, zum Beispiel die 4 JTAG-Pins.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

k.i.d. schrieb:
> Eigentlich hätte mich für Dein Projekt interessiert.
> Hatte gedacht dies ist ja ein neuer Thread ...

Keine Angst, Matthias und ich bleiben dran ;-)

von R. F. (rfr)


Lesenswert?

Der Widerstand, den ich meine, ist vom Port gegen Masse geschaltet. Eine 
Verbindung zu irgendwas anderem sehe ich nicht. Sieh nochmal nach, in

http://www.mikrocontroller.net/articles/Sparmatic_Heizungsthermostate

an Pin 2.

Gruss

Robert

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Jaaa doooch! ;-) Ich weiss, welchen Widerstand Du meinst. Dieser 
Widerstand aber nicht nach Masse geschaltet, sondern nach 0V, also 
Battrie (-). Werden die Batterien entnommen, wird vom Elko C8 über R19 
eine positive Spannung auf 0V zurückgespeist. Dies könnte nun der Pin2 
erkennen und einen Interrupt auslösen, bevor die Spannung aus dem Elko 
zusammensackt. Alles klar?

von Matthias L. (matze88)


Lesenswert?

Das ist ziemlich intelligent :) Eigentlich benötigen sie ja nur für 
diese Aktion überhaupt das getrennte GND/0V Netz. Naja, gleichzeitig 
ists noch der Verpolschutz.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Genau! :)

von R. F. (rfr)


Lesenswert?

Wozu der Aufwand? der Controller wird ohnehin nur im Minutentakt 
arbeiten müssen. Also schläft er in der Regel. Vor dem Schlafen gehen 
schreibt er seine Daten ins EEPROM und fertig, wozu braucht er eine 
solche Schaltung? Und ein Wechseld er Batterie kommt auch nicht alle 
Tage vor.

Gruss

Robert

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

R. Freitag schrieb:
> Vor dem Schlafen gehen
> schreibt er seine Daten ins EEPROM und fertig,

Dann ist das EEPROM ziemlich schnell kaputt, oder man müsste einen 
aufwändigen Ringpuffer bauen.

R. Freitag schrieb:
> der Controller wird ohnehin nur im Minutentakt
> arbeiten müssen.

Oder wenn jemand an den Tasten spielt...
Bei der neuen Firmware mit wechselnden Displayanzeigen und externer 
Steuerung wird auch etwas mehr Interaktion nötig sein.

R. Freitag schrieb:
> Und ein Wechseld er Batterie kommt auch nicht alle
> Tage vor.

Nein, kann aber jederzeit passieren. Ohne das sofortige Einstellen 
stromfressender Aktionen gäbe es keine Chance für sicheres Abspeichern.

von Mark T. (Gast)


Lesenswert?

Leopold hat anscheinend in C fuer den Comet entwickelt (mind. 
Displayansteuerung) - gibt es von ihm noch mehr Quellcode bzw. hat 
matze88 diesen und baut darauf auf?

Wenn ihr eine Basisstation plant, moechte ich hiermit vorschlagen, dass 
diese auch mit einer Benutzerschnittstelle und der Moeglichkeit zum 
Schalten bzw. Ansteuern einer Heizungsanlage (Gastherme) ausgestattet 
werden kann. Also z.B. SPI Grafikdisplay, Drehencoder oder Touch, und 
dann einen PWM Ausgang als Steuerspannung und Schaltausgang um die 
Heizung ganz abzuschalten (Pumpe). Also vielleicht ein paar Pins ueber 
Stiftleisten verfuegbar machen, damit man Erweiterungen per 
Huckepackplatine leichter realisieren kann.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Mark T. schrieb:
> Wenn ihr eine Basisstation plant...

Nu mal sachte ;-). Ich denke, wir werden rechtzeitig bekanntgeben, wenn 
nach erfolgreicher Implementierung der nötigsten Dinge im Regler eine 
Zentrale erforderlich wird. Auch denke ich, dass diese Zemtrale ungleich 
aufwändiger wird, als das Umschreiben der Firmware für die Regler. 
Machen kann man viel, aber man darf auch den Aufwand und die eintausend 
Wünsche der möglichen Nachbauer und Nutzer nicht vergessen.

von Mark T. (Gast)


Lesenswert?

Wer ist denn 'wir'? Ich meinte Matthias Larisch, der im andern Thread 
schrieb:

> Wir arbeiten derzeit zu zweit an dem Projekt, herauskommen soll eine
> komplette Heizungssteuerung für eine Gasetagenheizung. Grobkonzept sieht
> zwei der Sparmatic Regler vor sowie eine "Basisstation", an der die
> Heizung mit dran hängt. Jetzt am WE gehts vermutlich richtig los, von
> daher würde uns gerade jetzt dein Code helfen :) Es geht eh nicht darum,
> dass wir den direkt verwenden - wir erstellen alles für gcc kompatibel
> neu.
> Zur Ansteuerung gibts dann noch ein nettes Webinterface, Schnittstelle
> wird wohl ein LPC1378 am USB Port eines Routers, Datenverarbeitung der
> Einfachheit halber dann auf diesem großen System.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Aaah, siehste, lesen muss man.

Das 'wir', das ich meinte, bezog sich erstmal auf Matthias und mich, 
weil es wäre ja Quatsch, jetzt noch einen Thread zu öffnen, da es um 
dieselbe Sache geht. Wenn ich das falsch verstanden habe, möge man mich 
berichtigen. Ich habe es so aufgefasst, dass wir uns hier öffentlich 
abstimmen, Infos sammeln und austauschen und die Daten landen dann im 
Artikel.

Zum Regler:
Ich habe gerade mal den Motor zum Laufen gebracht und sowohl der alte 
Comet aus 2010, als auch ein neuer Comet aus 2011 und der Thermy nutzen 
die Lichtschanke zur Erkennung der Position. Für einen kompletten 
Fahrweg werden etwa 380 Pulse gegeben. Die Annahme, dass die 
Lichtschanke nur zur Erkennung der Endposition benutzt wird, ist somit 
falsch.

von Mark T. (Gast)


Angehängte Dateien:

Lesenswert?

Knut Ballhause schrieb:
> Daran erkennt man, dass die
> Lichtschranke in der Tat nur noch für des Erfassen der Endposition im
> ausgefahrenen Zustand da ist und keine Pulse mehr misst. Gut zu wissen!

Es sind tatsächlich vier Flanken pro Umdrehung, Foto anbei.

Ausserdem noch ein zurechtgezerrtes Bild des PCBs für's Wiki.

Zum Basteln eines Programmierkabels hier die normale Belegung des USB 
Mini-B Steckers: http://pinouts.ru/Slots/USB_pinout.shtml

von Mark T. (Gast)


Lesenswert?

Ich sehe du hast den Fehler in deiner Annahme auf anderem Wege entdeckt 
:-)

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Mark T. schrieb:
> Es sind tatsächlich vier Flanken pro Umdrehung, Foto anbei.

Wow, danke, gute Arbeit!

von Mark T. (Gast)


Lesenswert?

Knut Ballhause schrieb:
> Wow, danke, gute Arbeit!

Die sich auf das Lösen von vier Torx-7 Schrauben beschränkt..
Ich verstehe allerdings nicht, warum sie den 'Encoder' nicht symmetrisch 
gemacht haben.

von R. F. (rfr)


Lesenswert?

Eine Zentrale sollte auf der gleichen Hardware laufen. Dann kann man 
Treiber wiederverwenden. Ich habe derzeit eine Idee, was ich haben will, 
sozusagen Anforderungen im Rohzustand:

-) RS232 Schnittstelle (Forth und Kommunikation PC)
-) mindestens 64 Satelliten
-) Kommunikation per Modul
-) Anschluss von reinen Thermometern möglich (als Messkopf)
-) Hausbusanschluss
-) Kachelofenanwesenheitsdetektor
-) Steuerung von Ventilatoren, Kachelofenbedienelementen, Heizungen,
-) Offene_Fenster_Erkennung
-) LCD Display (min 2 Zeilig)

Das vorhandene Display wird entfernt, die Batterieentnahmeerkennung 
ebenso, Anschluss für eine RS232 Schnittstelle und 29-7 IO-lines  sind 
vorhanden.

Hat jemand für ein Sende/Empfangsmodul einen Treiber geschrieben?

Grüsse

Robert

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Mark T. schrieb:
> Die sich auf das Lösen von vier Torx-7 Schrauben beschränkt..

Die Bilder sind gut!

> Ich verstehe allerdings nicht, warum sie den 'Encoder' nicht symmetrisch
> gemacht haben.

Muss man nicht, da es genügt, eine Flanke zu sehen, um zu wissen wie 
weit das Rad gedreht hat. Die alten Zahnräder der alten Zeros hatten 
lediglich einen Spiegelpunkt mit 3mm Durchmesser, der war weitaus 
schlechter zu erfassen, da er sehr schnell an der Lichtschranke vorbei 
war und die Pulse somit extrem kurz waren. Hier hat man weitaus länger 
Zeit, da die Reflektionsflächen geschätzte 8mm lang sind.

R. Freitag schrieb:
> Eine Zentrale sollte auf der gleichen Hardware laufen.

R. Freitag schrieb:
> Das vorhandene Display wird entfernt, die Batterieentnahmeerkennung
> ebenso, Anschluss für eine RS232 Schnittstelle und 29-7 IO-lines  sind
> vorhanden.

Warum denn das? Das schränkt die möglichen Fähigkeiten sehr stark ein. 
Eine Zentrale sollte auch deutlich mehr können, als ein popeliger 
Stellantrieb. Da dürfte das Flash und vor allem das RAM sehr schnell 
knapp werden.

R. Freitag schrieb:
> Hat jemand für ein Sende/Empfangsmodul einen Treiber geschrieben?

???

von R. F. (rfr)


Lesenswert?

Knut Ballhause schrieb:
> Warum denn das? Das schränkt die möglichen Fähigkeiten sehr stark ein.
> Eine Zentrale sollte auch deutlich mehr können, als ein popeliger
> Stellantrieb. Da dürfte das Flash und vor allem das RAM sehr schnell
> knapp werden.

Wir haben 16 K.

Wir brauchen:
-) Treiber LCD Display
-) Treiber Sende/Empfangsmodul (Funkmodule)
-) Schnittstelle zum PC per RS232 oder Ethernet
-) Eingaben: einige Digitaster und evtl den Drehgeber.


Aufgaben der Zentrale wären nur das Weitergeben von Sollwerten an die 
Satelliten und das Empfangen von Temperaturen durch die Temperaturmodule 
und die Heizungswerte, die Zentrale soll dann die gesammelten Werte an 
den PC weitergeben, der dann die Berechnung der Vorgabewerte übernimmt.

Gruss

Robert

von Matthias L. (matze88)


Lesenswert?

Moin,


um mal kurz auf die Kommentare einzugehen:
a) Motor-sensor:
tolle Arbeit :) Kann man dann sicher gut verwerten. Auch bin ich froh, 
dass das Einlesen einfach über den Pin Change geht, ohne ADC. Das ist 
schön einfach.

b)
Das "Wir" das ich zu meinem/unseren Projekt schrieb bezieht sich auf 
einen Freund von mir und mich. "Wir" verwirklichen das wie bereits hier 
zitiert und im anderen Thread von mir geschrieben, dabei sind mir andere 
Anforderungen egal :) Wir verwerten jeglichen Code den wir in die Finger 
kriegen, sofern frei verfügbar bzw. für den Zweck zur Verfügung 
gestellt.

Anforderung ist auch hier die Steuerung einer Vaillant Gastherme, 
entweder über 3-4 oder besser 7-8-9, um wenigstens die Brennerleistung 
etwas zu drosseln, da die Anlage für unsere kleine Wohnung maßlos 
überdimensioniert ist und somit bei Wärmeabnahme an nur einer Stelle 
sehr schnell hohe Vorlauftemperaturen erreicht und dann abschaltet (so 
schnell, dass das Beheizen des 2. Zimmers alleine nicht möglich ist).
Pumpen etc. werden wir nicht steuern, aber sicherlich ist die Hardware 
flexibel genug, dass das von jedermann nachgerüstet werden kann.

Display etc. brauchen wir (erstmal) nicht, Eingabe soll a) per 
Webinterface, b) notdürftig an den Thermostaten und c) per Android App 
erfolgen und wird auch in dieser Reihenfolge implementiert. Danach kann 
man immernoch über ein Display an der "Basis" nachdenken.

Gruß,

Matthias

von Mark T. (Gast)


Lesenswert?

Matthias Larisch schrieb:
> Display etc. brauchen wir (erstmal) nicht, Eingabe soll a) per
> Webinterface

Sollte tatsächlich reichen, auch wenn ich kein smartphone als UI habe. 
Allerdings habe ich kein USB am Router, so dass für ein eigenständiger 
Server interessant wäre. Lässt sich ja alles dranbasteln.

Aber nochmal meine Frage von oben: gibt es noch weiteren Quellcode von 
Leopold (er hat einige Schnipsel zur Displayansteuerung im anderen 
Thread gepostet)?

Anderes Thema: die von Knut gebaute Adapterplatine für das RFM Funkmodul 
(Beitrag "Re: Preisgünstiger Heizungsregler bei Praktiker") passt nicht mehr. 
Man kann aber bei den ISP oder JTAG Pads im rechten Winkel eine etwa 2x2 
cm große Leiterplatte unterbringen und kann etwas in die andere 
Gehäusehälfte ragen.

von Mark T. (Gast)


Angehängte Dateien:

Lesenswert?

Eine Frage zum USB-Verbinder: unter dem sichtbaren Stück Spritzguss ist 
mit Sicherheit der für USB nicht genutzte Kontakt und eine Feile kann 
ihn freilegen?
Sonst zerlege ich den Stecker ganz und gehe direkt ans Ende vom 
Steckkontakt. Das wiederum geht bestimmt auch direkt aus 1 mm FR4...

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Mark T. schrieb:
> Eine Frage zum USB-Verbinder: unter dem sichtbaren Stück Spritzguss ist
> mit Sicherheit der für USB nicht genutzte Kontakt und eine Feile kann
> ihn freilegen?

Ja. Das ist bei allen mir bisher untergekommenen Steckern so. Der 
Kontakt ist aber sehr kurz und fein. Fädeldraht ≤0.2mm ist da Pflicht. 
Eine gute Idee ist es, den fertig angetüddelten Stecker mit Epoxy zu 
füllen, damit a) alle Drähte dran bleiben und b) die Kontaktzunge im 
Steckergehäuse bleibt.

Mark T. schrieb:
> Sonst zerlege ich den Stecker ganz und gehe direkt ans Ende vom
> Steckkontakt. Das wiederum geht bestimmt auch direkt aus 1 mm FR4...

Geht sicher, dauert aber länger. Zu achten ist hierbei auf die 
voreilenden Kontakte für GND und VBUS.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

R. Freitag schrieb:
> Aufgaben der Zentrale wären nur das Weitergeben von Sollwerten an die
> Satelliten...

Bei 64 Satelliten hättest Du gerade mal die Möglichkeit, 10..12Bytes pro 
Satellit im Speicher vorzuhalten (je nach Programmnutzung des SRAMs), 
wenn das reicht...


>... und das Empfangen von Temperaturen durch die Temperaturmodule
> und die Heizungswerte

Dann bleiben nur noch 5..6 Bytes für Senden und Empfangen...


> die Zentrale soll dann die gesammelten Werte an
> den PC weitergeben, der dann die Berechnung der Vorgabewerte übernimmt.

Willst Du die ganze Zeit einen PC mitlaufen lassen? Das kann doch ein 
ausreichend dimensionierter Controller viel eleganter und auch 
stromsparender.

von Matthias S. (mat-sche)


Lesenswert?

ad

von R. F. (rfr)


Lesenswert?

Ich bin der Ansicht, dass das Userinterface ohnehin graphisch aufgebaut 
werden sollte, und auch mouseoperable sein soll. Das erzwingt die 
Verwendung von GUIs, zB Qt oder sowas.

Dann kann aber die Auswertung der Daten auch auf dem PC laufen. Er 
speichert im Hintergrund die von der ZE gesendeten Daten, das soll so ca 
1 mal pro Minute sein. Er kann eine Langzeitanalsys vornehmen und ist in 
der Lage, bestimmte Situationen nach vorgegebenen Kriterien zu erkennen.

Betrachtet man das ganze Heizungsnetzwerk als Baum, dann sind die 
Messknoten und die Heizungsregler Leafelements, die ZE ist ein Gateway 
zwischen den Leafelements und dem PC. Die Datensammlung und der 
Transport finden per ZE statt, das UI wird vom PC bereitgestellt und der 
PC speichert auch Langzeitverläufe, um Informationen über die 
Regelstrecke zu gewinnen. Dies ermöglicht (mit Messsung der 
Aussentemperatur) auch die empirische Bestimmung von K-Werten. 
Erforderlich sind noch Windrichtung und -Stärke und die 
Aussentemperatur, sowie die Sonneneinstrahlung.

Ich halte es für wenig sinnvoll, ein UI und eine Datenbankanwendung auf 
einem Controller zu schreiben. Ein Tablet oder Mininotebook reichen 
vollkommen.

Grüsse

Robert

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

OK, also aus der Geschichte um die oben beschriebene Zentrale halte ich 
mich ´raus.

von R. F. (rfr)


Lesenswert?

Und was soll denn dann als ZE entwickelt werden?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Mittels Ohrstäbchen, Superkleber und 2x9mm Treibschrauben lassen sich 
die Comet und Zero2 wieder verschließen, wenn man sie aus Umbau- oder 
Reparaturgründen öffnen musste. Genaue Anleitung folgt, wenn der Kleber 
getrocknet und die Halbschalen erfolgreich verschraubt sind.

von Mark T. (Gast)


Angehängte Dateien:

Lesenswert?

Knut Ballhause schrieb:
> Ohrstäbchen, Superkleber und 2x9mm Treibschrauben
Clever (aka Wattestäbchen und Sekundenkleber).

Anbei ein Foto von den 'runtergefeilten Innereien meines USB Steckers.

Wie kommt man denn beim aktuellen Thermy (siehe meine Fotos) an die 
#RESET Leitung ran? Sonst kann ich mir das Löten ja sparen?

von Mark T. (Gast)


Lesenswert?

Das PCB meines Thermy scheint bis auf die zusätzliche 
Reflexlichtschranke sehr ähnlich dem Comet 
(http://www.mikrocontroller.net/articles/Sparmatic_Heizungsthermostate#Comet_.2F_Thermy_2).

Möglicherweise ist also auch auf dieser Rückseite ein Pad für #RESET. 
Aber ich weiß nicht, wie ich es 'um die Ecke' kontaktieren kann.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Mark T. schrieb:
> Clever (aka Wattestäbchen und Sekundenkleber).

Genau. Das Obergehäuse hat nach dem Öffnen durch abknipsen/ausbohren 4 
Stäbe, 2 am Batteriefach und 2 in der Mitte des Gehäuses. Die Stäbe am 
Batteriefach werden entweder komplett entfernt, indem man sie mit einem 
Laubsägeblatt oder einer dünnen Schleifscheibe von den Trageteilen 
abtrennt. Die Trageteile müssen weitegend unversehrt bleiben, da an sie 
die Wattestäbchen geklebt werden. Zweite Moglichkeit ist es, nur 2/3 der 
Stäbe zu hinterschneiden und 1/3 der Trageteile nicht zu hinterschneiden 
und den Stab auf die Hälfte der Trageteillänge zu kürzen. Auf den 
verbleibenden Stummel und in die Schneidfuge werden die Wattestäbchen 
geklebt. Diese sind dann kurz über der Gehäuseoberkante abzuknipsen. Die 
beiden Stäbe in Gehäusemitte sind zurückzuschneiden auf etwa 4mm 
unterhalb der Gehäusekante. Der Haltesteg, an dem der Stab angeformt 
ist, wird weitere 4mm eingeschnitten und ausgeknipst, so dass wieder 
etwa 4mm freier Stab stehen bleiben. Auf diesen Stummel werden wiederum 
die Wattestäbchen geklebt. Auch diese beiden Stäbchen werden kurz über 
der Gehäusekante abgeknipst. Wenn der Kleber gut getrocknet ist, kann 
man die Schrauben vorsichtig eindrehen. Als Kleber habe ich übrigens ein 
Cyanacrylat-Gel benutzt, welches nach dem Abbinden noch etwas elastisch 
bleibt. Die Klebflächen der Wattestäbchen sollten mit einer feinen Feile 
oder Schmirgelpapier aufgerauht werden, um die Oberfläche zu vergrößern.

Mark T. schrieb:
> Anbei ein Foto von den 'runtergefeilten Innereien meines USB Steckers.

Sieht gut aus.

Mark T. schrieb:
> Wie kommt man denn beim aktuellen Thermy (siehe meine Fotos) an die
> #RESET Leitung ran? Sonst kann ich mir das Löten ja sparen?

RESET ist immer als PAD auf der Topseite der Platine ausgeführt. Das 
Einfachste ist es, ein Loch mit 1.5mm Durchmesser 1.5mm über die 
USB-Buchse zu bohren, und zwar genau in der Mitte. Am Stecker muss dann 
ein leicht gebogener Federdraht mit ebenfalls 1.5mm Abstand zum 
Steckerblech angebracht werden, der fast so lang, wie der Stecker selbst 
ist. Beim Bohren unbedingt darauf achten, dass der Bohrer lediglich das 
Gehäuse durchstößt und nicht tiefer als 5mm eindringt, da sonst das LCD 
zerstört werden kann. Am Besten gelingt dies mit einem langsamlaufenden 
Akkuschrauber.

Mark T. schrieb:
> Das PCB meines Thermy scheint bis auf die zusätzliche
> Reflexlichtschranke sehr ähnlich dem Comet

Ist es auch.

von Mark T. (Gast)


Lesenswert?

Programmierstecker: Es gibt ja bereits eine detaillierte "Foto-Story" 
zum Thema Modifikation eines USB Mini-B Steckers: 
Beitrag "Re: Preisgünstiger Heizungsregler bei Praktiker".
Leider hast du wohl recht und das Gehäuse muss bearbeitet werden. 
Alternativ könnte man den Resetkontakt zuerst einführen und dann den 
Stecker. Das ist doch eine Idee, die man auch mechanisch realisieren 
könnte.

Hier nochmal der Link zum WIKI: 
http://www.mikrocontroller.net/articles/Sparmatic_Heizungsthermostate

von Mark T. (Gast)


Lesenswert?

Neuer Vorschlag für eine Zusatzplatine (RFM12) im Thermy mit Encoderrad:

Eine Leiterplatte lässt sich am besten in der Ebene des Encoderrades 
unterbringen; zwischen Motor und Encoderrad, an der 'Trennwand' des 
Gehäusedeckels (rechtes Teil in thermy2.jpg aus 
Beitrag "Re: Entwicklungen und Forschung um den Sparmatic Comet / Zero v2 Heizungsthermostat").
Es steht praktisch der ganze Gehäusequerschnitt zur Verfügung und keine 
Stege oder Befestigungsteile geraten in den Weg.

Egal welche Pads man nutzt, 4 davon lassen sich direkt durch Löten 
verbinden, wenn man eine zweiseitige Platine macht (und ich werde machen 
lassen, Bedarf: 8). Die anderen zwei werden dann aber fummelig. 
Federkontakte und eine Platine zum einklipsen wär natürlich schöner..

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Angehängte Dateien:

Lesenswert?

Anbei die Modifikation der "USB"-Buchse zum Kontaktieren von 'RESET'.

Links: Comet // Rechts: Thermy

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite



Lesenswert?

Und der verwendete Stecker.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Kleine Zwischenmeldung: Die Motoren laufen, die Lichtschranke wird 
erfasst und die Adaption auf verschiedene Ventilköpfe funktioniert. Die 
Erkennung läuft nach folgendem Prinzip ab:

- Ventil komplett öffnen, Getriebe an Anschlag fahren und 
Getriebeposition auf 0x0000 setzen
- Getriebe zufahren und Motorstrom im Freilauf messen und abspeichern
- wenn Motorstrom nicht ansteigt, Vorgang nach 0x01A0 Positionen 
abbrechen
- Wenn Motorstrom ansteigt und 10 Zählstufen über dem Freilauf liegt, 
Ventilposition speichern, dies ist die Berührungsposition 'Ventil offen'
- Getriebe weiter zufahren, bis Motor stehen bleibt, Position 
abspeichern, dies ist die Position 'Ventil geschlossen'
- Motor 10 Positionen zurückfahren, um Getriebe zu entlasten und Stopp

Beim Programmieren habe ich festgestellt, dass der Thermy etwa 1/3 
weniger Zählimpulse liefert, als der 2010er Comet. Den 2011er Comet habe 
ich noch nicht getestet.

von Matthias L. (matze88)


Lesenswert?

Moin,

Ich bin noch nicht ganz so weit. Wir werden die nRF24L01 Funkmodule 
einsetzen, um die Thermostate zu synchronisieren. Haben wir bei itead 
für 4$ gekauft, bei ebay gibts die auch für 2,10€.
Mir stellt sich gerade ein Problem:

Der SS Pin ist bei den ZeroV2 und Cometen der '+' bzw. Rotary Eingang. 
Wie stell ich das möglichst intelligent an, dass mir ein Tastendruck 
nicht das SPI in den Slave Mode versetzt?
Meine "beste" Idee ist:
Pin vor SPI Zugriffen als Ausgang mit Low Pegel festlegen. Zusätzlich 
muss der Pinchange Interrupt davor deaktiviert und danach wieder 
aktiviert werden, damit man nicht nen "Software-"Interrupt auslöst. 
Ausgang mit High-Pegel ist zu riskant, falls jemand die Taste in dem 
Moment drückt.

Es ist ja nicht schlecht, dass quasi Multi-Master SPI unterstützt wird, 
aber dieses Feature ist hier doch etwas ungünstig.

Übrigens habe ich Probleme, das Teil zu programmieren. Mein 
avrdude/usbprog findet es einfach nicht. Habe sowohl mal nen 800 Ohm 
Pullup an MISO gesetzt, damit die 2,8V ausreichen, als auch das 
Thermostat über die USB Buchse mit 5V versorgt (mit 30 Ohm in Reihe, 
ohne Batterien; In diesem Modus bleibt das Display dunkel, da wir quasi 
die Situation "Batterien entfernt" nachbauen, wo er nurnoch schnell die 
Uhrzeit sichert). Hatte jemand ähnliche Probleme? Reset funktioniert, 
außerdem hatte ich bei zu langsamem SPI Takt auch schon das Phänomen, 
dass das Thermostat eine PC Verbindung erkannt hat, im Display stand 
PC2. Alle Drähte sind zweifach nachgemessen und richtig angeschlossen.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Matthias Larisch schrieb:
> Der SS Pin ist bei den ZeroV2 und Cometen der '+' bzw. Rotary Eingang.
> Wie stell ich das möglichst intelligent an, dass mir ein Tastendruck
> nicht das SPI in den Slave Mode versetzt?

Verwende ein Software-SPI.

Matthias Larisch schrieb:
> Mein
> avrdude/usbprog findet es einfach nicht.

Borge oder kaufe Dir einen AVR-ISP mkII, ein STK500 oder einen Dragon. 
Die können das. Das mit den 5V ist mehr oder weniger Murks, da der 
Mega169PV nur bis maximal 4.5V spezifiziert ist und daher kaputt gehen 
könnte.

Kleiner Zwischenstand: Manueller Modus läuft bei mir, das heißt, der 
Heizkörper wird auf die eingestellte Temperatur geregelt. Derzeit keine 
Timer, kein Menü, keine Extras.

von Matthias L. (matze88)


Lesenswert?

Knut Ballhause schrieb:
> Matthias Larisch schrieb:
>> Der SS Pin ist bei den ZeroV2 und Cometen der '+' bzw. Rotary Eingang.
>> Wie stell ich das möglichst intelligent an, dass mir ein Tastendruck
>> nicht das SPI in den Slave Mode versetzt?
>
> Verwende ein Software-SPI.

Hm, Mal schauen. Da finde ich es dann doch sinnvoller, den SS Pin extra 
zu behandeln.

>> Matthias Larisch schrieb:
> Das mit den 5V ist mehr oder weniger Murks, da der
> Mega169PV nur bis maximal 4.5V spezifiziert ist und daher kaputt gehen
> könnte.

Diese Quelle finde ich nicht. Absolute Maximum Ratings sagen 6,0 V, 
Normal Operating Conditions geben 5,5 V an. Datenblatt ATmega169PV Rev. 
8018P-AVR-08/10.

von Mark T. (Gast)


Angehängte Dateien:

Lesenswert?

Per Buchse geht es bei mir mit AVRISP bislang auch nicht, direkt an die 
Pads angelötet schon.
Evtl. liegt es am Widerstand? Siehe 
Beitrag "Re: Preisgünstiger Heizungsregler bei Praktiker".

@travelrec:
Ich wollte entsprechend meines Vorschlages von weiter oben auf Basis 
deiner RFM12 Platine (Rev_01) etwas machen, was in meine Thermy passen 
würde (wie sieht es mit PLatz in den anderen Gehäusen aus?). Allerdings 
sagtest du, dass du mit den JTAG Signalen arbeiten wolltest - was ist 
dann mit !IRQ und !RES ?

Anbei ein erster Entwurf - jedoch das RFM12 in SMD. Antenne möglichst 
unabhängig von der Frequenz, also einen passenden Draht anlöten, 
Chipantenne, oder eine fraktale Antenne mit auf's Board, für 434 und 868 
MHz :-)

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Matthias Larisch schrieb:
>> Das mit den 5V ist mehr oder weniger Murks, da der
>> Mega169PV nur bis maximal 4.5V spezifiziert ist und daher kaputt gehen
>> könnte.
>
> Diese Quelle finde ich nicht. Absolute Maximum Ratings sagen 6,0 V,
> Normal Operating Conditions geben 5,5 V an. Datenblatt ATmega169PV Rev.
> 8018P-AVR-08/10.

Hast Recht, der alte Mega169 ohne Suffix war nur bis 4.5V...

Matthias Larisch schrieb:
> Hm, Mal schauen. Da finde ich es dann doch sinnvoller, den SS Pin extra
> zu behandeln.

Musst Du wissen. Die ISP-Pins würde ich ohnehin nur ungern mit einem 
anderen Bauteil fest verdrahten, da es sonst zu Programmierproblemen 
kommen kann. Ich würde für einen direkten Einbau in das Gehäuse die 4 
JTAG-Pins + Versorgungsspannung vorziehen.

Mark T. schrieb:
> Allerdings
> sagtest du, dass du mit den JTAG Signalen arbeiten wolltest - was ist
> dann mit !IRQ und !RES ?

Braucht man für den grundsätzlichen Betrieb des RFM-12 nicht. Muss man 
zwar über SPI den Status pollen, aber es funktioniert.

Mark T. schrieb:
> (wie sieht es mit PLatz in den anderen Gehäusen aus?)

Im Comet ist weit weniger Platz, nur unterhalb des Motors bis zur 
Platine, ich würde sagen 2.5cm x 4,5cm x 2cm.

Denkbar wäre auch, das Funkmodul außen an die 'USB'-Buchse anzustecken 
und mit einem kleinen Extra-Controller (Tiny24 o.ä.) über die ISP-Pins 
anzusteuern. Das wäre dann ohne Eingriff in die Thermostaten möglich und 
würde auch mit anderen Steuer-/Bussystemen zusammenarbeiten.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Mark T. schrieb:
> Per Buchse geht es bei mir mit AVRISP bislang auch nicht, direkt an die
> Pads angelötet schon.

Bei mir gehen alle per Buchse. Hast Du den Reset auf sicheren Kontakt 
überprüft? Hast Du den AVR-ISP mkII mit der Spannung des Thermostaten 
versorgt?

von Matthias L. (matze88)


Lesenswert?

Hat irgendjemand außer mir den Zero V2? Ich habe die Befürchtung, dass 
das SPIEN Fuse deaktiviert ist. Ich bin nicht in der Lage, per SPI-ISP 
Programmer auf das Teil zuzugreifen...

von Matthias L. (matze88)


Lesenswert?

Ach was, natürlich geht das... Mist :) Also: USB Pin am Rand ist auf 
Masse gelegt. Also der, neben dem mit normalen Kabel nicht erreichbare.
Er sah auf der Platine so unbenutzt aus, dass wir den per Drahtbrücke 
mit dem SCK verbunden haben. So gings natürlich nicht. Auf den Fehler 
muss man erstmal kommen.

Nun geht der SPI Mode einwandfrei.

Ein einfacher Tip zum USB-Kabel basteln:
Masse vom Schirm nehmen, der frei werdende Massepin nach Entfernen der 
äußeren "Plastik"-Zugentlastung und herausziehen des eigentlichen 
Plastik-Stecker-Inserts vorn am Kontakt so abbrechen/abdremeln, dass 
noch etwa 1 mm übrig bleibt. Dieser mm wird nun mit dem Nachbar Pin 
verbunden. So kontaktiert er den SCK- und nicht mehr den GND Pin und man 
braucht den Stecker nicht völlig zerfriemeln.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Matthias Larisch schrieb:
> Er sah auf der Platine so unbenutzt aus, dass wir den per Drahtbrücke
> mit dem SCK verbunden haben. So gings natürlich nicht. Auf den Fehler
> muss man erstmal kommen.

Laut Schaltplan ist die Belegung der Buchse eindeutig ;-)

von no fun (Gast)


Lesenswert?

Habt ihr den nRF24L01+ schon getestet? Ich komme nicht zuverlässig durch 
die Wohnung..

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Getestet hab ich´s noch nicht, aber 2.4GHz haben es in bebautem Areal 
prinzipiell schwerer, als 866MHz oder 433MHz. Mit Klasse1 Bluetooth 
Modulen kommen wir durch 3 Wände oder 2 Decken, dann ist Ende. Hängt 
aber alles sehr vom verwendeten Baumaterial ab.

von Matthias L. (matze88)


Lesenswert?

USB/GND/Schaltplan:
Ich dachte, du hättest das einfach so da hin gelegt, quasi als "Nutze 
Schirm für GND". So hatten wir das irgendwie auch ausgemessen damals :) 
Naja, Pech gehabt.

nRF24L01+:
Nein, die sind noch nicht in Europa angekommen. Ich entwickele gerade 
noch am Protokoll, wir werden auf den ganzen Enhanced Shockburst Krams 
verzichten, um flexibel kommunizieren zu können. Auch ein einfaches 
Ack/Retransmission System wird dabei zum Einsatz kommen, das sollte 
damit dann zuverlässig funktionieren.

Bei den Datenblatt-Werten sind mir allerdings auch schon Zweifel an der 
Tauglichkeit gekommen. Durch den 250 kBps Modus kannst du die Reichweite 
allerdings deutlich erhöhen, da die Empfängerempfindlichkeit um ~ 10 dB 
ansteigt. Im 1 MBps Modus hat man  ungefähr 10-20 dB weniger erlaubte 
Streckendämpfung als bei typischem WLan, da die Sendeleistung so gering 
ist und die Empfangsempfindlichkeit nicht weltbewegend.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Matthias Larisch schrieb:
> Bei den Datenblatt-Werten sind mir allerdings auch schon Zweifel an der
> Tauglichkeit gekommen.

Das stellt man leider immer nur in den folgenden Tests fest. Da aber 
gerade bei den Heizungsreglern eher wenig Daten übertragen werden, diese 
aber zuverlässig durch Wände und Decken müssen, ist das 
Subgigahertz-Band meiner Meinung nach besser geeignet. Die Tests mit dem 
RFM12B liefen zumindest ausreichend stabil, um alle Heizkörper eines 
Einfamilienhauses ohne Maschenstruktur, also mit einfacher 
Punkt-zu-Punkt-Verbindung zu erreichen.

von Matthias L. (matze88)


Lesenswert?

Hast du schonmal erfolgreich den "Power-Loss" Interrupt getestet?
Bei mir funktioniert er nicht.
1
ISR(PCINT0_vect)
2
{
3
  displaySymbols(LCD_TOWER, LCD_TOWER);
4
  /* emergency wakeup on power loss, motor step counter */
5
  if(POWERLOSS_PORTIN & (1 << POWERLOSS_PIN))
6
    sysShutdown();
7
  /* any other case is motor step */
8
  motorStep();
9
}
10
11
void pwrInit(void)
12
{
13
  PRR = (1 << PRTIM1) | (1 << PRSPI); // | (1 << PRUSART0); // disable some hardware
14
  set_sleep_mode(SLEEP_MODE_PWR_SAVE);
15
  PCMSK0 |= (1 << PCINT0);  /* emergency power loss IRQ */
16
  EIMSK |= (1 << PCIE0);
17
}

Natürlich wird die pwrInit() auch aufgerufen, testweise habe ich mal das 
USART nicht deaktiviert, falls da zufällig der IO Port auch mit ausgeht, 
hat aber auch nichts geholfen.

Ich habe bisher noch nicht mit dem Multimeter geschaut, sondern einfach 
nur darauf gewartet, dass beim Herausnehmen der Batterien der Interrupt 
ausgelöst wird. Erkennen sollte ich das entweder am "Funk"-Symbol oder 
am Blanking des Displays (Das passiert derzeit in der Shutdown) - nichts 
davon passiert. Beim Motor-Step erscheint aber das Funk Symbol, d.h. der 
PinChange Interrupt tut grundsätzlich.
Herausnehmen der Batterien führt nun nur dazu, dass nach etwa 10 
Sekunden der Displayinhalt langsam verblasst :)

Die Funktion ist zwar für mich irrelevant, aber es sollte ja eigentlich 
funktionieren?! An meiner ISP Beschaltung kanns nicht liegen, die hatte 
ich schonmal vollständig entfernt.

Außerdem:
In der Vorabversion die du mir geschickt hast hat sich ein Fehler bei 
den Display Segmenten eingeschlichen. Laut gängiger Interpretation hast 
du die Segmente für die Schrägstriche unten vertauscht, also k und m.

von __ _. (unrouted)


Lesenswert?

Hallo,

gibt es denn eine "beta" Testversion der Comet Software ohne Funk aber 
mit Drehregler? Oder Source zum selber compilieren...

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Matthias Larisch schrieb:
> Hast du schonmal erfolgreich den "Power-Loss" Interrupt getestet?
> Bei mir funktioniert er nicht.

So weit bin ich noch nicht. Sleep habe ich eingebaut, Regelung geht, am 
Menü bin ich gerade bei, so dass man dann irgendwann auch mal ´was 
einstellen kann. Bin momentan leider etwas busy....

Matthias Larisch schrieb:
> Laut gängiger Interpretation hast
> du die Segmente für die Schrägstriche unten vertauscht, also k und m.

Ich hab´s von der Skizze im Artikel übernommen, kann man aber sicher 
ändern...

__ __ schrieb:
> gibt es denn eine "beta" Testversion der Comet Software ohne Funk aber
> mit Drehregler?

Für Beta ist´s zu früh, ich würde eine Beta-Version posten, wenn alle 
Funktionen grundlegend laufen, so dass man das Gerät verwenden kann. Was 
brauchst Du denn genau? Der Drehgeber ist übrigens schon ziemlich 
schrottig, so dass die Firmware gut entprellen muss ;-)

von no fun (Gast)


Lesenswert?

Mit nur 250 kbit keine merkliche Verbesserung der Reichweite mit dem 
nRF24L01+ auf dem Standardkanal 2402 MHz :-(

von -- -- (Gast)


Lesenswert?

@__ __ (unrouted)
Für source war es schon immer zu früh, wie die Historie zum Thema zeigt. 
Im besten Fall darf man seine funktionierende Firmware mit einem neuen 
HexFile verflashen. Wie hies es sinn gemäß irgendwo weiter oben im 
früheren Thread: "wer ist schon so blöd seine Source ohne bezahlung zu 
veröffentlichen"

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

-- -- schrieb:
> Für source war es schon immer zu früh, wie die Historie zum Thema zeigt.
> Im besten Fall darf man seine funktionierende Firmware mit einem neuen
> HexFile verflashen.

Ich glaube, du verwechselst hier etwas. Wenn Du mit einer nicht voll 
funktionsfähigen Pre-Alpha etwas anfangen kannst, dann poste Deine 
e-Mail-Adresse oder schicke ´ne PM.

PS: Lesen bildet.

Beitrag "Re: Entwicklungen und Forschung um den Sparmatic Comet / Zero v2 Heizungsthermostat"

von __ _. (unrouted)


Lesenswert?

Knut Ballhause schrieb:
> Was
> brauchst Du denn genau?

Na wenn sich der Heizungsregler adaptiert und auf eine konstante 
Temperatur regelt welche man z.B. über das Drehrad einstellt, dann ist 
das ja schon mehr als diese Geräte teilweise von selbst können.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

__ __ schrieb:
> Na wenn sich der Heizungsregler adaptiert und auf eine konstante
> Temperatur regelt welche man z.B. über das Drehrad einstellt, dann ist
> das ja schon mehr als diese Geräte teilweise von selbst können.

Wie meinst Du das? Bislang können das alle käuflich zu erwerbenden 
Geräte. Die Probleme fangen eher da an, die Ventile auf längere Zeit 
zuverlässig zu fahren. Oder die Bedienung ist kompliziert oder nicht 
ausreichend.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

wdress2011 Merry schrieb im Beitrag #2428063:
> Hättest Du Bock, für das Projekt einen Artikel zu schreiben, in dem alle
> Informationen ihren Platz finden und die entsprechenden Downloadlinks
> zur Verfügung stehen würden?

Guck mal, hat der Matthias schon längst gemacht ;-)

http://www.mikrocontroller.net/articles/Sparmatic_Heizungsthermostate

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Matthias Larisch schrieb:
> Hast du schonmal erfolgreich den "Power-Loss" Interrupt getestet?
> Bei mir funktioniert er nicht.

Schalte mal die Steuerpins für die H-Brücke und E2 auf Eingang, wenn sie 
nicht gebraucht werden, dann sollte es funktionieren. Hab´s noch nicht 
probiert, mache ich aber noch :-).

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Knut Ballhause schrieb:
> Schalte mal die Steuerpins für die H-Brücke und E2 auf Eingang, wenn sie
> nicht gebraucht werden, dann sollte es funktionieren.

Jupp, geht!

von Matthias L. (matze88)


Lesenswert?

Oh man :)

Dankeschön, klappt hier nun auch.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Super! Ich habe das mal im Artikel ergänzt.

von Mark T. (Gast)


Lesenswert?

Hallo,

seid ihr mit der Firmware und/oder der Basisstation schon 
weitergekommen?

von Matthias L. (matze88)


Lesenswert?

Haben noch genügend anderes zu tun - demnach hier: nein. Heute Abend 
wird der Funk in Betrieb genommen, das Thermostat besitzt schon alle 
Hardwarefunktionen, die komplette Thermostatlogik fehlt aber noch 
(Ventilfahrt geht schon :) ).

Eventuell stell ich morgen mal ein bisschen was bei Github rein, ich 
würde aber gerne vermeiden, dass der frühe, unfertige Code geforkt wird, 
weil da noch einiges passieren wird.

von Mark T. (Gast)


Lesenswert?

Danke für die Info.

von Mark T. (Gast)


Lesenswert?

Mal ne andere Frage: ist der Programmierstick und das Protokoll schon 
untersucht worden?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Von mir nicht.

von Matthias L. (matze88)


Lesenswert?

So, nachdem hier scheinbar nicht viel passiert ist (keine Sorge, im 
Hintergrund wird fleißig entwickelt):

Gestern habe ich bei uns im Aldi die Thermostate für 12€ gesehen. Da 
waren noch relativ viele da. Eventuell betrifft das ja noch mehr Aldis? 
Ich habe mir bei dem Preis nochmal eines mitgenommen - ist ja echt ein 
gutes Angebot.

nRF24L01+ Anbindung kann man übrigens für größere Bauten vergessen, 
sofern man kein vermaschtes Netz aufbauen möchte - die Reichweite ist 
mit unserer 2 Zimmer Wohnung bereits erschöpft.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Frohe Weihnachten, liebe Mitleser,

hier wird auch weiterentwickelt, die Menüsteuerung ist gerade in Arbeit, 
danach geht´s an die Timer. Bei den Versuchen am Heizkörper wurde der 
Regelalgorithmus angepasst. Auch bei diesen Reglern hat sich der interne 
Temperaturfühler als nachteilig erwiesen, da er einerseits durch die 
Anordnung hinter den Batterien sehr träge ist, andererseits der 
Luftstrom im Gerät sehr ungünstig verteilt ist, so dass der Heizkörper 
den Thermostaten direkt beeinflusst. Somit kommt es zu Überschwingern 
bei der Regelung, die eigentlich gar keine sind. Mit einem externen 
Sensor wird man daher eine viel genauere Regelung hinbekommen, bei 
weniger Regelaufwand durch den Thermostaten selbst.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Matthias Larisch schrieb:
> nRF24L01+ Anbindung kann man übrigens für größere Bauten vergessen,

Mit den RFM12 klappt das besser. Bei 1000 Baud komme ich mit dem 
868Mhz-Modell und einer Platinenfaltantenne im Haus durch 3 Decken 
und/oder 3 Wände und auch bis in den entferntesten Winkel des Anbaus, 
was etwa 15m Luftlinie durch alle möglichen Baumaterialien entspricht. 
Im Freifeld, was aber für den Anwendungszweck eher unrealistisch ist, 
werden über 50m erreicht.

von Maximilian S. (mase)


Angehängte Dateien:

Lesenswert?

Servus,

seit heute spiel ich mit dem Programmierstick rum (Das Foto is nicht 
besonders gelungen).

Da ich nur Linux-Rechner besitze bin ich dran interessiert, selber ein 
Programm zur Verwaltung zu schreiben. Dazu nun etwas reverse 
engineering:

Das original Programm speichert die Einstellungen in einer Datei mit dem 
hübschen Namen "________.___" im Hauptverzeichniss des 8MB großen Sticks 
ab, sie ist immer 0x800 Bytes groß. Wo diese dann im Flash des Comet 
abgelegt wird weiss ich nicht.
Das Format hab ich hier mal im Pseudo-Code aufgelistet:

http://tiki.seesslen.net/tiki-index.php?page=mase%3Aprojects%3Acometcrunch

Die Struktur für die Datei ist "sCometCrunch".

Vielleicht ist das auch für alternative Firmwares interessant, um sie 
kompatibel mit dem Stick zu halten.

(Der große Atmel-Chip hat die Bezeichnung "ATMEL 0847", der kleinere 
"atmel 90USB162")

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Maximilian Seesslen schrieb:
> Der große Atmel-Chip hat die Bezeichnung "ATMEL 0847"

Nö, der heißt AT45DB642D und ist ein 64MBit DataFlash. Es enthält die 
PC-Software und die Einstellungen.

Der kleine MLF ist ein Tiny25.

von Wolfgang-G (Gast)


Lesenswert?

Ich habe nur einige Beiträge überflogen und stellte fest, dass man sehr 
viel Arbeit in die Entwicklung elektronischer Komponenten gesteckt hat.
Zunächst mal eine kurze Frage: Soll mit dem Thermostat und seinem 
Ventilunterteil eine Raumtemperatur geregelt werden?
MfG

von __ _. (unrouted)


Lesenswert?

Wolfgang-G schrieb:
> Ich habe nur einige Beiträge überflogen und stellte fest, dass man sehr
> viel Arbeit in die Entwicklung elektronischer Komponenten gesteckt hat.
> Zunächst mal eine kurze Frage: Soll mit dem Thermostat und seinem
> Ventilunterteil eine Raumtemperatur geregelt werden?
> MfG

Ja! Das ist meiner Meinung nach auch eine sehr sinnvolle 
Anwendungsmöglichkeit :-)

von Wolfgang-G (Gast)


Lesenswert?

>Ja! Das ist meiner Meinung nach auch eine sehr sinnvolle
>Anwendungsmöglichkeit :-)

Im Prinzip schon, aber schade um die viele Arbeit. Zu einem Regelkreis 
gehört mehr als nur die Elektronik.
Knut Ballhause schrieb:
>Somit kommt es zu Überschwingern bei der Regelung, ...

Und ich behaupte, die Ursache liegt hauptsächlich am Ventilunterteil. 
Die Konstruktionen  neuester Bauart sollen vorzugsweise  den Einfluss 
von Fremdwärme berücksichtigen und schließen bei einem p-Bereich von 1K 
z. B schon nach 0,2mm. Eine REGELUNG im klassischen Sinn ist damit 
unmöglich.
Leider wollen oder können sogar namhafte Ventilhersteller noch nicht 
einmal die Ventilkennlinie  -Durchfluss-Stellweg- rausrücken.
Solange es keine HeizungsREGELventile gibt, ist es m. E. für jede 
elektronische Weiterentwicklung zu schade um die Zeit. Klingt zwar hart, 
aber so sehe ich es.
MfG

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Wolfgang-G schrieb:
> Und ich behaupte, die Ursache liegt hauptsächlich am Ventilunterteil.

Recht haste, aber wenn die Firmware erstmal halbwegs funktioniert, wird 
man die Regelparameter einstellen und somit auf das Unterteil anpassen 
können - so der Plan. Bei meinen Tests habe ich festgestellt, dass 
0815-Unterteile aus´m Baumarkt bestens funktionieren. Je teurer die 
Teile werden (Fachhandel), desto "digitaler" arbeiten sie und desto 
mistiger ist das Regelverhalten. Da ich beide Varianten im Haus verbaut 
habe, kann ich mit verschiedenen Regelparametern testen.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Wolfgang-G schrieb:
> Zu einem Regelkreis
> gehört mehr als nur die Elektronik.

In der Tat. Aber mit der Firmware kann man schon eine ganze Menge 
´rausholen, wenn man weiß, was man programmieren soll, also wie die 
Regelschleife sich unter verschiedenen Umständen verhält.

von Wolfgang-G (Gast)


Lesenswert?

Knut Ballhause schrieb:
>aber wenn die Firmware erstmal halbwegs funktioniert, wird
>man die Regelparameter einstellen und somit auf das Unterteil anpassen
>können - so der Plan. Bei meinen Tests habe ich festgestellt, dass
>0815-Unterteile aus´m Baumarkt bestens funktionieren.

Mit meinem Beitrag wollte ich nur mal den Blick dafür schärfen, dass bei 
schlechtem Regelverhalten das Ventilunterteil eine nicht zu 
unterschätzende Rolle spielen kann. Auch mit bester Elektronik lassen 
sich mechanische "Fehlkonstruktionen" nicht beheben.
An Baumarkt hatte ich noch gar nicht gedacht. Gibt es zu dem Ventil 
(0815-Unterteile) die Ventilkennlinie -Durchfluss in Abhängigkeit des 
Stellweges bei konstantem Differenzdruck- ?
MfG

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Wolfgang-G schrieb:
> Gibt es zu dem Ventil
> (0815-Unterteile) die Ventilkennlinie -Durchfluss in Abhängigkeit des
> Stellweges bei konstantem Differenzdruck- ?

Nein, das vielleicht nicht, aber die Ventile von Danfoss und Heimeier, 
die dort für um 12EUR verkauft werden, haben ein recht weiches 
Schließverhalten, so dass der Regler einen weiten Steuerbereich hat. Das 
hat gegenüber einem Ventil, welches von eben auf gleich komplett auf 
oder zu macht, eindeutig Vorteile. Da die Regelschleife aber geschlossen 
ist, spielt der Ventiluntersatz nur diejenige Rolle, dass der 
Algorithmus auf dieses Ventil abgestimmt werden muss. Ein Algorithmus 
für alle Ventile funktioniert vielleicht nur ausreichend, aber nicht 
optimal. Auch nicht zu vergessen ist der Einfluss einer schwankenden 
Vorlauftemperatur bei kleinen oder nur auf Teillast laufenden Anlagen, 
die das Regeln zusätzlich erschwert.

von Wolfgang-G (Gast)


Lesenswert?

Knut Ballhause:
>aber die Ventile von Danfoss ...
diese Ventile wurden 2008 bei uns im Rahmen der "Modernisierung der 
Heizungsanlage" in unserem 90 WE Wohnblock verbaut. Da fing der Ärger 
erst richtig an. Zunächst lausig kalt und die Thermostatventile zeigten, 
wenn nicht gerade voll aufgedreht, Zweipunktregelverhalten. Leider war 
es nicht möglich,  die Ventilkennlinie aufzutreiben, sodass ich zunächst 
nur Mutmaßen kann. Was ich gesehen habe, ist ein Ventilteller an Stelle 
eines Ventilkegels, wie er  normalerweise bei Regelventilen üblich ist. 
Also Prinzip Wasserhahn wie im Garten.
MfG

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Wolfgang-G schrieb:
> diese Ventile wurden 2008 bei uns im Rahmen der "Modernisierung der
> Heizungsanlage" in unserem 90 WE Wohnblock verbaut. Da fing der Ärger
> erst richtig an.

Wolfgang-G schrieb:
> Zunächst lausig kalt und die Thermostatventile zeigten,
> wenn nicht gerade voll aufgedreht, Zweipunktregelverhalten.

Dann scheint/schien es verschiedene Modelle zu geben. Meine hier haben 
eine Durchflusssteuerschraube und funktionieren hervorragend. Seit 
2000...

Wolfgang-G schrieb:
> ist ein Ventilteller an Stelle
> eines Ventilkegels

??? Hast Du mal ein Foto?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?


von Wolfgang-G (Gast)


Angehängte Dateien:

Lesenswert?

Foto habe ich nicht, aber ein Datenblatt. Auf der Schnittzeichnung (bei 
mir S.9) ist der Ventilteller gut zu erkennen
MfG

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Also vom mechanischen Aufbau sind die Teile mit meinen identisch und 
sollte eigentlich gut funktionieren. Wenn Du den Druckstift manuell mit 
z.B. einer Münze eindrückst, solltest Du den Wasserzufluss im letzten 
Drittel des Stellweges "weich" abriegeln können, erkennbar am stetig 
abnehmenden Fließgeräusch.

von Wolfgang-G (Gast)


Lesenswert?

>Wenn Du den Druckstift manuell mit z.B. einer Münze eindrückst, solltest Du
>den Wasserzufluss im letzten Drittel des Stellweges "weich" abriegeln
>können, erkennbar am stetig abnehmenden Fließgeräusch.

Das ist mir zu ungenau. Normalerweise sollte der Hersteller die oben 
genannte Ventilkennlinie liefern. Die Kennlinie sollte eine 
Exponentialfunktion sein, deren Krümmung der eines Heizkörpers 
entgegengesetzt ist. Im Idealfall wäre die Resultierende aus beiden 
Kurven eine Gerade. Das ist regelungstechnisch der Idealfall.
Aus einem Heiztechnikforum musste ich mir allerdings erklären lassen, 
dass heute ein Thermostatventil nur noch bei Fremdwärme schließen soll. 
Damit reicht dann auch ein Ventilteller. Deshalb sagte ich: Schade um 
die Zeit. Oder man findet doch das richtige Ventilunterteil.
MfG

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Wolfgang-G schrieb:
> Das ist mir zu ungenau.

Für die Genauigkeit sorgt doch der Regler. Oder nicht?! Ob das 
Ventilunterteil einen Teller oder einen Schließkegel oder sonst einen 
Mechanismus hat, ist letztenendes doch völlig egal, da man so oder so 
die Durchlaufgeschwindigkeit des Wassers mehr oder weniger stark 
beeinflusst. Diese Beeinflussung wird über den Regelalgorithmus, also 
den gefahrenen Weg pro Temperaturdifferenz angepasst und alles wird gut.

Wolfgang-G schrieb:
> Die Kennlinie sollte eine
> Exponentialfunktion sein, deren Krümmung der eines Heizkörpers
> entgegengesetzt ist. Im Idealfall wäre die Resultierende aus beiden
> Kurven eine Gerade. Das ist regelungstechnisch der Idealfall.

Für den Anwender bedeutet dies ein wenig Probieren und Verändern der 
Parameter, aber irgendwann hat man, was man braucht.

von Wolfgang-G (Gast)


Lesenswert?

>Für den Anwender bedeutet dies ein wenig Probieren und Verändern der
>Parameter, aber irgendwann hat man, was man braucht.

Probieren muss nicht unbedingt sein, wenn Hintergrundwissen vorhanden 
ist. Und das wollte ich mit meinen Ausführungen teilweise vermitteln.
Du nimmst doch bestimmt auch gleich ein log Poti als Lautstärkeregler, 
weil Dir bekannt ist, dass dann die Lautstärke proportional dem 
Drehwinkel ist. Da muss man nicht probieren.

Mit ungenau meinte ich:
>erkennbar am stetig abnehmenden Fließgeräusch.

Da kannst Du auch gleich eine Glaskugel nehmen. Auch ein Bastler sollte 
so exakt wie möglich arbeiten.
MfG

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Junge, was willst Du eigentlich? Willst Du zur Entwicklung beitragen 
oder einfach nur ´rummosern, bevor Du überhaupt getestet hast, ob und 
wie die Regler arbeiten?! Mit den alten Zeros habe ich meine Hausanlage 
seit nunmehr 2 Jahren am Laufen und die Regelung gefällt mir 
ausserordentlich gut, mal von ein paar konstruktiven Macken (lautes 
Getriebe...) der Regler selbst abgesehen.


Wolfgang-G schrieb:
> Probieren muss nicht unbedingt sein, wenn Hintergrundwissen vorhanden
> ist.

Wolfgang-G schrieb:
> Da kannst Du auch gleich eine Glaskugel nehmen. Auch ein Bastler sollte
> so exakt wie möglich arbeiten.

Selten solchen Quatsch gelesen. Das Probieren ist es, was den Bastler an 
seinem Projekt wachsen lässt. Aber wenn bei Dir in Theorie schon alles 
läuft, dann ist es schön für Dich. Vielleicht magst Du uns Deine 
Erkenntnisse in einem eigenen Thread mitteilen.

von mase (Gast)


Lesenswert?

Servus,
ich hab die comets jetzt scho a paar Wochen am laufen (derzeit 3 
Zimmer). Sind ja schon nett...
(original Firmware, nicht herausgeführte Temperaturfühler)
Mir ist aufgefallen, dass ich bis zu 6°C Offset habe. Ansich ja nicht so 
schlimm, dazu hat man die Option des "Offsets" ja.
Aber 6°C Offset sind schon ne Hausnummer. Im anderen Zimmer sind das 
"nur" 3°C, Zimmer ähnlich groß.

Also die dumme Frage ob ihr aehnlich Erfahrung habt/Entwickler was 
wissen:
   *Toleranzen des Temperaturmessers (6°C?)
   *Toleranzen des Comet als Ganzen (Luftdurchzug, was auch immer)
   *Rausführung des Temperatursensors/-wiederstands sinnvoll
   *Einzelfall wegen meinen beschissenen Fenstern

Ich kann mir derzeit keine Fussbodenheizung mit an den Wänden verteilten 
Thermostaten leisten ;D . Die Regelung der Comets an Heizkörpern als 
Kompromiss empfinde ich sehr angenehm.

Macht eine Ermittlung des Offsets je Zimmer über (Laptop-)Software mit 
angeschlossenem Themperaturmessgerät Sinn (Langzeitmessung) oder ist 
dies aufgrund zu vieler Ausenfaktoren zu beschränkt sinnvoll 
(Ausentemperatur etc.)?
Es geht mir dabei u.A. um die Alternativsoftware für den 
Programmierstick.

Gruss,
   mase

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

mase schrieb:
> *Toleranzen des Temperaturmessers (6°C?)

Vernachlässigbar.

mase schrieb:
> *Toleranzen des Comet als Ganzen (Luftdurchzug, was auch immer)

Toleranzen nicht, eher Trägheit.

mase schrieb:
> *Rausführung des Temperatursensors/-wiederstands sinnvoll

Ja. Muss man aber nicht unbedingt.

mase schrieb:
> *Einzelfall wegen meinen beschissenen Fenstern

Durchaus möglich. Es hängt sehr viel davon ab, wie der Heizkörper seine 
Wärme an das Zimmer abgibt, wie groß der Heizkörper ist und ob er 
irgendwie verbaut ist. Der Sparmatic misst die Temperatur in seiner 
unmittelbaren Nähe und das ist eben nicht zwingend die Zimmertemperatur.

mase schrieb:
> Macht eine Ermittlung des Offsets je Zimmer über (Laptop-)Software mit
> angeschlossenem Themperaturmessgerät Sinn (Langzeitmessung)

Ja. Damit hat man halbwegs verlässliche Werte, wenn die 
Außentemperaturen nicht zu stark in den Keller gehen. Dann nämlich wird 
die Vorlauftemperatur höher und die Außenwände kühler, was zu einer 
weiteren Verzerrung der Messung und dem tatsächlichen Wert im Zimmer 
führt.

von Iller (Gast)


Lesenswert?

Den Zero v2 gibt es derzeit im Kaufland für 14,99€
Hab mir heute mal 2 mitgenommen.

von Wolfgang-G (Gast)


Lesenswert?

Knut Ballhause schrieb:
>Junge, was willst Du eigentlich? Willst Du zur Entwicklung beitragen
>oder einfach nur ´rummosern, bevor Du überhaupt getestet hast,...

>Selten solchen Quatsch gelesen. Das Probieren ist es, was den Bastler an
>seinem Projekt wachsen lässt. Aber wenn bei Dir in Theorie schon alles
>läuft, dann ist es schön für Dich. Vielleicht magst Du uns Deine
>Erkenntnisse in einem eigenen Thread mitteilen.

Wenn meine Hinweise  so angekommen sind,  dann muss ich schlussfolgern, 
dass Du sie nicht verstanden hast. Diesmal sage ich: Schade um meine 
Zeit.
Trotzdem viel Erfolg beim Probieren.
MfG

von Charly B. (charly)


Angehängte Dateien:

Lesenswert?

moin moin,

hab mir auch ein paar Thermy (Aldi) zugelegt, einen hab ich mal
'geopfert' und ein paar hochaufloesende Bilder gemacht.
Vorsicht Bilder sind gut 600kb gross, falls einer noch mit 33.6K
Modem unterwegs ist ;) , aber man soll ja was erkennen ....
Positiv Ueberrascht hat mich der recht leise Antrieb (im vergleich
zu den anderen Stellantrieben die ich hier habe)

ich habe noch kein ISP kabel daher die Frage: kann man die Software
auslesen ?, und was fuer Quarz sitzt da auf der LP, i vermute
ein 32.768 khz f. die Uhr und der µC rennt mit dem internen RC,
oder ?

Passt das Schaltbild von ganz oben?

@Knut
du hast ja schon recht viel gemacht mit dem Teil, gibt da
irgendwelche sources von dir ?

vlG
Charly

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Charly B. schrieb:
> Positiv Ueberrascht hat mich der recht leise Antrieb (im vergleich
> zu den anderen Stellantrieben die ich hier habe)

Ja, die Thermys sind bedeutend leiser, als die Sparmatic Comet von 2010 
und 2011. Entweder, die haben noch andere Getriebebestandteile 
eingebaut, oder einfach mal etwas Fett verwendet ;-)

Charly B. schrieb:
> ich habe noch kein ISP kabel daher die Frage: kann man die Software
> auslesen ?,

Nein.

Charly B. schrieb:
> und was fuer Quarz sitzt da auf der LP, i vermute
> ein 32.768 khz f. die Uhr und der µC rennt mit dem internen RC,
> oder ?

Korrekt.

Charly B. schrieb:
> Passt das Schaltbild von ganz oben?

Nein nicht ganz, das zweitobere passt:

Beitrag "Re: Entwicklungen und Forschung um den Sparmatic Comet / Zero v2 Heizungsthermostat"

Charly B. schrieb:
> @Knut
> du hast ja schon recht viel gemacht mit dem Teil, gibt da
> irgendwelche sources von dir ?

Ja gibt es. Da ich nicht fertig bin, kann ich Dir ´was per e-Mail 
schicken, sende mir mal eine PM.

von Alex (Gast)


Lesenswert?

Hi,

>Entweder, die haben noch andere Getriebebestandteile eingebaut,
>oder einfach mal etwas Fett verwendet ;-)
das Ritzel auf der Motorwelle ist bei meinem Aldi-Gerät aus Gummi. Lasst 
kein Fett oder Kriechöl rankommen, sonst rutscht die ganze Sache 
durch!!!
Falls doch passiert, Gummi und Welle mit Alkohol reinigen und den Schaft 
des Ritzel mit ein bisschen dünnem Draht umwickeln und verdrilen, und so 
auf die Welle pressen.

Grüße,
Alex

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Alex schrieb:
> das Ritzel auf der Motorwelle ist bei meinem Aldi-Gerät aus Gummi.

Das erklärt natürlich einiges.

Alex schrieb:
> Lasst
> kein Fett oder Kriechöl rankommen, sonst rutscht die ganze Sache
> durch!!!

OK, gut zu wissen ;-). Die Sparmatics sind doch etwas laut ohne Fett.

von Matthias L. (matze88)


Lesenswert?

Huch, hier ist ja noch einiges passiert :)

Unser Projekt liegt leider doch etwas auf Eis, aber "theoretisch" läuft 
die reine Thermostatsoftware soweit, allerdings derzeit ohne besondere 
Programmierfähigkeit etc., da das eigentlich der Einfachheit halber 
hauptsächlich über Funk gemacht werden soll (und das ist noch nicht 
fertig :) ). Die Sourcen sind noch nicht wirklich veröffentlichbar, 
zumal da auch noch einiges nicht wirklich funktioniert. Ich kanns ja 
trotzdem nachher mal hochladen, da ich im moment wirklich nichts daran 
mache.

Der im Thermostat verbaute Temperatursensor ist ein Witz. Total träge 
das Teil! Eine deutliche Verbesserung dürfte mit einem abgesetzt 
montierten Raumtemperaturfühler erzielbar sein (welcher dann natürlich 
auch mit dem Thermostat kommunizieren können muss). Optimalerweise hat 
man zusätzlich noch Heizkörpertemperatur, Vorlauftemperatur sowie 
aktuellen Durchfluss träum.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Matthias Larisch schrieb:
> Der im Thermostat verbaute Temperatursensor ist ein Witz. Total träge
> das Teil!

Naja, das liegt aber weniger am Sensor, als an dessen Verbau hinter den 
Batterien und vollflächig auf der Platine. Somit hat die Umgebung des 
Sensors eine enorme Wärmetragfähigkeit. Den Sensor an der Unterkane des 
Gehäuses hinter einer Ventilationöffnung zu verbauen, wäre cleverer 
gewesen. Nicht zuletzt deswegen habe ich den PID-Regler über den Haufen 
geschmissen und bin an einer adaptiven Regelung dran, ist aber ebenfalls 
noch nicht fertig.

von Matthias L. (matze88)


Lesenswert?

Hm, bei mir hat sich natürlich mal wieder nichts getan.

PID ist Schwachsinn, ja. PI wohl eher nicht. Allerdings ist mir noch 
etwas aufgefallen: Habe so ein Teil "original" im Betrieb (sogar nen 
Cometen, keinen Zero). Durch den I-Anteil mag das Teil meine 
Raumthermostat geregelte Gasheizung garnicht, der powert jedes mal voll 
auf, da der I-Anteil in der Aus-Phase der Heizung natürlich nach oben 
läuft. Da hat der gute alte Bimetall-P-Regler besser funktioniert und 
sitzt nun auch wieder dran (Natürlich rede ich nicht vom Zimmer, in dem 
das Raumthermostat hängt, sondern von den anderen Räumen).

Ansonsten: Ab Montag gibts den Comet/ Zero bei Marktkauf fürn Zehner, 
falls den noch jemand sucht.

Bewertungen bei Amazon sind übrigens desaströs, kann ich gewissermaßen 
nachvollziehen, das meiste bezieht sich allerdings auf die 
Originalfirmware.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Matthias Larisch schrieb:
> PID ist Schwachsinn, ja. PI wohl eher nicht.

So oder so nicht ganz einfach. Problem: Das Erfassen der Pulse der 
Lichtschranke funktioniert nicht zuverlässig, da sich das Getriebe durch 
die relativ geringe Übersetzung nach Abschalten des Motors wohl etwas 
verstellt. Im Ungünstigsten Fall genau an der Stelle, wo die Reflexmarke 
liegt. Dadurch verliert oder gewinnt man Pulse und die absoluten 
Positionen verrutschen, was tödlich ist für einen PI(D)-Regler. Das kann 
auch durch das wöchentliche Adaptieren nicht wirklich gerettet werden, 
da es schon nach 3 Tagen nicht mehr passt. Fazit: bei der originalen 
Firmware bleiben die Heizkörper irgendwann warm, auch wenn die 
Solltemperatur erreicht ist. Mit einer Regelung, die Relativpositionen 
anfährt, kann das nicht passieren. Diese passt sich immer an die 
aktuellen Gegebenheiten an, ist also adaptiv. Sie kann auch die Trägheit 
des Temperaturfühlers in gewissen Grenzen ausgleichen. Allerdings hat 
dies auch so seine Tücken und ich versuche gerade, den Algorithmus zu 
optimieren, da er bei Extremwerten (Fenster auf/zu, 
Vorlauftemperaturschwankungen) zum Überschwingen neigt. Aber ich denke, 
das ist nur eine Frage der Zeit. An sich funktioniert es mit +-0.7°C 
schon ganz gut.

Matthias Larisch schrieb:
> Bewertungen bei Amazon sind übrigens desaströs, kann ich gewissermaßen
> nachvollziehen,

Ich auch. Aber man kann es in den Griff bekommen. Es hängt alles von der 
Regelung ab. Ansonsten sind die Teile schon nicht schlecht, was die 
Mechanik und die Ausstattung angeht.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Hier gibt es noch eine OpenSource Version in C von einem holländischem 
Kollegen:

https://github.com/wjroes/OpenZero

von Horst (Gast)


Lesenswert?

Hervorragende Arbeit! Grund für mich mein Haus mit Cometen auszustatten 
:)

von Temoc (Gast)


Lesenswert?

Wer sich überlegt die Sparmatic zuzulegen um sie selber zu programmieren 
sollte das demnächst tun. Aus gut unterrichteten Kreisen ist zu hören 
das der µC demnächst durch was anderes (kein Atmel mehr!) ersetzt wird.

von Horst (Gast)


Lesenswert?

Es gibt hierzulande keine gut unterrichteten Kreise mehr. Diese 
PISA-Studie belegt das eindeutig.

Das Nachfolgemodell basiert übrigens auf nem Quadcore A9 mit Android 4. 
Sagt zumindest unser örtlicher Asia-Imbiß. Der ist Chinese und muß das 
wissen.

von Temoc (Gast)


Lesenswert?

Wie du meinst, nur nicht weinen wenn's mit dem AVR vorbei ist... :)

von Horst (Gast)


Lesenswert?

Wieso? Kommt dann jemand vorbei und baut die 20 Stk. hier um? :)

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Sollten tatsächlich keine AVRs mehr verbaut werden, schießt sich der 
Hersteller selbst in´s Knie. Dann kann nämlich keiner mehr die verbugte 
Firmware ändern und dann kauft die Dinger auch keiner mehr oder nur noch 
die, die´s nicht besser wissen...

von Horst (Gast)


Lesenswert?

@Knut: Kurze Frage, wie hast Du das mit der Kommunikation zwischen 
Thermostat und Raumtemperatursensor gelöst? Die Empfänger sind ja nicht 
aktiv, oder?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Die Empfänger werden 1x pro Minute für eine halbe Sekunde aktiviert. 
Kommt ein Signal vom Raumfühler, wird es ausgewertet und ggf. 
übernommen, kommt keins, wird das Funkmodul wieder deaktiviert. Nach dem 
Batteriewechsel bleibt das Funkmodul bis zum Eintreffen des ersten neuen 
Signals dauerhaft auf Empfang. Das ist aber wohl noch nicht die 
endgültige Lösung.

von Wolfgang-G (Gast)


Lesenswert?

>Dann kann nämlich keiner mehr die verbugte Firmware ändern und dann kauft
>die Dinger auch keiner mehr oder nur noch die,

>> die´s nicht besser wissen...
und dazu gehören bestimmt 99,9% der Käufer
MfG

von Horst (Gast)


Lesenswert?

Knut Ballhause schrieb:
> Das ist aber wohl noch nicht die endgültige Lösung.

D.h. Du synchronisierst dann das 1-Minuten Intervall auf den 
Raumthermostat. Hast Du einen Fallback auf den internen Sensor drin, 
falls das Ventil nichts empfängt?

Da ich zusätzlich zu Raumfühler und Ventil noch eine Zentrale mit 
Anbindung an den Heizkessel implementiere, bin ich noch am Rätseln wie 
ich die Kommunikation untereinander gestalte. Ob alles über die Zentrale 
läuft oder Raumfühler direkt mit Ventil redet.

Über die Zentrale könnte jeder Sensor zu seinen Wachzeiten senden kann 
und kurz darauf etwas von der Zentrale empfangen. Würde zumindest die 
Synchronisation der Komponenten vereinfachen. Irgendwie fehlt mir da 
gerade noch die zündende Idee.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Horst schrieb:
> Hast Du einen Fallback auf den internen Sensor drin,
> falls das Ventil nichts empfängt?

Nein, noch nicht.

Horst schrieb:
> Ob alles über die Zentrale
> läuft oder Raumfühler direkt mit Ventil redet.

Ich würde es so machen: Der Raumfühler steuert das Ventil und die 
Zentrale tauscht Daten mit den Raumfühlern aus. Auf die Weise kann man 
Adressen- und Protokollwust vorbeugen. Der Raumfühler kann dann auch 
eine bessere (größere) Antenne bekommen, die mehr Reichweite zur 
Zentrale hat. Und die Zentrale braucht sich nur mit 5...10 Raumfühlern 
zu unterhalten und nicht mit 20 oder mehr Ventilen.

Horst schrieb:
> Über die Zentrale könnte jeder Sensor zu seinen Wachzeiten senden kann
> und kurz darauf etwas von der Zentrale empfangen. Würde zumindest die
> Synchronisation der Komponenten vereinfachen. Irgendwie fehlt mir da
> gerade noch die zündende Idee.

Ventile müssten eingentlich nur empfangen können oder maximal einen 
kurzen Status senden. Die Raumfühler müssen flexibler sein, dürften aber 
aus Batterielaufzeitgründen auch immer nur kurz aktiv werden. Die 
Zentralle pollt die einzelnen Räume je nach ihrer Aktivzeit durch und 
verteilt die Aktivzeiten gegebenenfalls neu. Die Verbindung 
Zentrale/Raumfühler und Raumfühler/Ventil könnte auf verschiedenen 
Trägerfrequenzen ablaufen, damit sich beide Kanäle nicht in´s Gehege 
kommen. Dadurch har man mehr Freiheiten, wenn sehr viele Geräte in einem 
Haus in Betrieb sind. Bei sehr großen Häusern sollte man außerdem über 
ein vermaschtes Netz nachdenken...

von Horst (Gast)


Lesenswert?

Ich habe mich mit den RFM12 noch nicht so im Detail auseinandergesetzt, 
d.h. man kann diese zur Laufzeit auf eine andere Frequenz einstellen? 
Wäre natürlich eine Möglichkeit, je nachdem wieviele Kanäle man im 868er 
Band unterbringen kann.

Der Begriff Zentrale ist in meiner Idee vielleicht etwas verwirrend. Für 
mich ist die Zentrale zunächst mal der Punkt an dem die Informationen 
der Räume zusammenlaufen und an die Heizungssteuerung weitergegeben 
werden. Die Heizungssteuerung errechnet dann aus diesen Informationen 
den Wärmebedarf und regelt Vorlauf und Kessel entsprechend.

Die Bedienung sollte aufgrund des WAF über die Ventile erfolgen, da wir 
auch Räume haben die nur selten genutzt werden und dann sozusagen Adhoc 
geheizt werden können. Ebenso möchte ich einen zusätzlichen Raumfühler 
nur in großen Räumen nutzen, die auch mehrere Heizkörper haben. Hier 
wäre dann ein Ventil der Master und die anderen Ventile Slaves. Daher 
wäre für mich der Raumfühler nur eine zusätzliche Regelinformation für 
die Ventile. Grundsätzlich bevorzuge ich autarke Ventile, die auch bei 
Ausfall der Funkverbindung selbständig weiterarbeiten.

Folgende Idee: Raumfühler und Ventile versuchen alle x Minuten zu 
senden. Dabei erfolgt zunächst ein Carrier Sense. Ist der Funkkanal frei 
wird gesendet und die Zentrale hat dann die Möglichkeit in einem kleinen 
Zeitfenster zu antworten. Ist der Funkkanal belegt, wird eine zufällige 
Zeit gewartet und dann erneut versucht zu senden. Auf diese Weise 
müssten sich alle Sender dann mehr oder weniger in ihrem Raster 
verteilen, oder?

Ein Vorteil hat der Sommer: Man kann testen ohne den Hausfrieden zu 
stören ;)

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Horst schrieb:
> Ich habe mich mit den RFM12 noch nicht so im Detail auseinandergesetzt,
> d.h. man kann diese zur Laufzeit auf eine andere Frequenz einstellen?
> Wäre natürlich eine Möglichkeit, je nachdem wieviele Kanäle man im 868er
> Band unterbringen kann.

Sicher kann man das :-). Man braucht ja nur 2 Frequenzen. Man muss nur 
im zugelassenen Bereich für die verwendete Leistung bleiben und die 
Kanalbelegung auf <=1% halten oder vor dem Senden Kanalfreiheit prüfen.

Horst schrieb:
> Der Begriff Zentrale ist in meiner Idee vielleicht etwas verwirrend. Für
> mich ist die Zentrale zunächst mal der Punkt an dem die Informationen
> der Räume zusammenlaufen und an die Heizungssteuerung weitergegeben
> werden. Die Heizungssteuerung errechnet dann aus diesen Informationen
> den Wärmebedarf und regelt Vorlauf und Kessel entsprechend.

Zentrale ist Zentrale... Da man an keine herstellerischen Gegebenheiten 
gebunden ist, hat man doch alle protokollarische Freiheit.

Horst schrieb:
> Die Bedienung sollte aufgrund des WAF über die Ventile erfolgen, da wir
> auch Räume haben die nur selten genutzt werden und dann sozusagen Adhoc
> geheizt werden können.

Ich weiß, was Du meinst!

Horst schrieb:
> Hier
> wäre dann ein Ventil der Master und die anderen Ventile Slaves. Daher
> wäre für mich der Raumfühler nur eine zusätzliche Regelinformation für
> die Ventile. Grundsätzlich bevorzuge ich autarke Ventile, die auch bei
> Ausfall der Funkverbindung selbständig weiterarbeiten.

Die Ventile können trotzdem funktechnisch Slaves sein. Alles andere 
würde wahrscheinlich zu viel Strom benötigen.

Horst schrieb:
> Folgende Idee: Raumfühler und Ventile versuchen alle x Minuten zu
> senden. Dabei erfolgt zunächst ein Carrier Sense. Ist der Funkkanal frei
> wird gesendet und die Zentrale hat dann die Möglichkeit in einem kleinen
> Zeitfenster zu antworten. Ist der Funkkanal belegt, wird eine zufällige
> Zeit gewartet und dann erneut versucht zu senden. Auf diese Weise
> müssten sich alle Sender dann mehr oder weniger in ihrem Raster
> verteilen, oder?

Geht grundsätzlich, aber erfordert im Fall der Kanalbelegung viel 
Stromverbrauch durch die erneuten Versuche, der mit der Anzahl der 
Geräte innerhalb des Netzes steigt. So viel Reserve haben die Ventile 
mit ihren 2 Mignon-Zellen da nicht. Wird ein Telegramm aufgrund von 
Kanalbelegung aufgeschoben, setzt sich das für alle nachfolgenden 
Telegramme fort. Im Fall von Firmwarelaufzeiten kann es dann auch 
passieren, dass mehrere Ventile gerade Kanalfreiheit feststellen und 
wild durcheinander senden. Der nächste Sendeversuch schlägt dann 
möglicherweise auch fehl, weil dann wieder ein paar Ventile meinen, dass 
es jetzt klappen könnte und wieder durcheinander senden. Irgendwann 
funktioniert dann vielleicht mal ein Telegramm.

von Horst (Gast)


Lesenswert?

Knut Ballhause schrieb:
> Die Ventile können trotzdem funktechnisch Slaves sein. Alles andere
> würde wahrscheinlich zu viel Strom benötigen.

Da steh ich irgendwie gedanklich auf dem Schlauch :)

Ich hab eine Zentrale (Dauerversorgung), mehrere Ventile (Batterie) und 
ggf. noch ein paar Raumfühler (Batterie). Du meinst also, dass die 
Zentrale als Master das Zeitraster auf die Slaves verteilt? Dann fehlt 
mir immer noch die Idee wie Raumfühler und Ventil direkt miteinander 
reden. Oder läuft das dann auch über die Zentrale? Nicht nur 
funktechnisch, auch gedanklich noch ein großes Durcheinander.

Knut Ballhause schrieb:
> Geht grundsätzlich, aber erfordert im Fall der Kanalbelegung viel
> Stromverbrauch durch die erneuten Versuche, der mit der Anzahl der
> Geräte innerhalb des Netzes steigt.

Wenn das Sendeintervall eines Ventils/Fühlers 5 Minuten beträgt und ich 
im Falle einer Kanalbelegung dieses um jeweils ~15 Sekunden verschiebe, 
die Intervalldauer aber gleich lasse, müssten die sich doch irgendwie 
automatisch im Zeitraster einordnen?

Mein Wunsch ist es, dass alle Funkkomponenten sich automatisch 
aufsynchronisieren ohne manuellen Anlernprozeß.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Horst schrieb:
> Knut Ballhause schrieb:
>> Die Ventile können trotzdem funktechnisch Slaves sein. Alles andere
>> würde wahrscheinlich zu viel Strom benötigen.
>
> Da steh ich irgendwie gedanklich auf dem Schlauch :)
>
> Ich hab eine Zentrale (Dauerversorgung), mehrere Ventile (Batterie) und
> ggf. noch ein paar Raumfühler (Batterie). Du meinst also, dass die
> Zentrale als Master das Zeitraster auf die Slaves verteilt? Dann fehlt
> mir immer noch die Idee wie Raumfühler und Ventil direkt miteinander
> reden. Oder läuft das dann auch über die Zentrale? Nicht nur
> funktechnisch, auch gedanklich noch ein großes Durcheinander.


Die Zentrale hat Dauerstrom. Daher kann sie stetig auf Empfang sein und 
die Frequenzen auf Belegung kontrollieren. Sie allein verteilt die 
Timeslots für die Übertragung. Wenn die Anzahl der zu steuernden Geräte 
und das Haus nicht zu groß sind, kann die Zentrale alle Daten von 
Ventilen und Raumfühlern einsammeln und bearbeiten und die modifizierten 
Daten zurückschicken. Ein Telegramm könnte Dann wie folgt aussehen:

Zentrale sendet: Adresse->Code->Kommando->Daten (CRC)
Gerät antwortet: Adresse->Code->Daten (CRC)


Bei sehr vielen Geräten wird vielleicht das Priorisieren des Netzes 
notwendig. Hauptaugenmerk ist dabei immer ein möglichst niedriger 
Stromverbrauch, also auch wenig Rechenaufwand in den batteriegetriebenen 
Geräten. Sonst ist es mit dem WAF bald ganz schnell vorbei ;-). Selbst 
bei guten Batterien/Akkus kann die Laufzeit sehr kurz werden, wenn der 
Controller andauernd Protokolle prüfen und berechnen und immer auf der 
Lauer nach eintreffenden Meldungen liegen muss.


>
> Knut Ballhause schrieb:
>> Geht grundsätzlich, aber erfordert im Fall der Kanalbelegung viel
>> Stromverbrauch durch die erneuten Versuche, der mit der Anzahl der
>> Geräte innerhalb des Netzes steigt.
>
> Wenn das Sendeintervall eines Ventils/Fühlers 5 Minuten beträgt und ich
> im Falle einer Kanalbelegung dieses um jeweils ~15 Sekunden verschiebe,
> die Intervalldauer aber gleich lasse, müssten die sich doch irgendwie
> automatisch im Zeitraster einordnen?
>
> Mein Wunsch ist es, dass alle Funkkomponenten sich automatisch
> aufsynchronisieren ohne manuellen Anlernprozeß.

Ganz ohne Anlernprozess wird es nicht gehen. Bei jedem neu anzumeldenden 
Gerät wirst Du mindestens mal eine Taste drücken müssen, um es zur 
Anmeldung freizuschalten. Ansonsten kann es passieren, dass Du bei fünf 
Geräten die Batterien einlegst und die dann alle auf einen 
Anmeldeversuch der Zentrale hin antworten. Da keines der Geräte eine 
eindeutige Adresse hat oder das Herausfinden dieser Adresse über 
Ausschlussverfahren viel zu lange dauern würde, musst Du die Anmeldung 
eines Gerätes zu einer Zeit erlauben. Nach erfolgreicher Anmeldung 
reiht sich dieses Gerät in´s System ein und Du kannst ein anderes 
anmelden.

von Horst (Gast)


Lesenswert?

Knut Ballhause schrieb:
> Hauptaugenmerk ist dabei immer ein möglichst niedriger
> Stromverbrauch, also auch wenig Rechenaufwand in den batteriegetriebenen
> Geräten. Sonst ist es mit dem WAF bald ganz schnell vorbei ;-).

Ja, aber dafür ist im Regler schon ein WAF-Cheat drin. Ab einer 
Temperaturgrenze wird eine gewünschte Solltemperatur oberhalb nur noch 
über die Isttemperaturanzeige simuliert ;)

Knut Ballhause schrieb:
> Ganz ohne Anlernprozess wird es nicht gehen. Bei jedem neu anzumeldenden
> Gerät wirst Du mindestens mal eine Taste drücken müssen, um es zur
> Anmeldung freizuschalten.

Ja, denke ich auch. Das Funkprotokoll wird wohl noch das kniffeligste. 
Und die Herstellung des ISP-Steckers.

Würde eigentlich so eine kleine Solarzelle wie sie in Taschenrechnern 
usw. zu finden ist, nicht ausreichen, die Batterielaufzeit zu 
verlängern?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Horst schrieb:
> Würde eigentlich so eine kleine Solarzelle wie sie in Taschenrechnern
> usw. zu finden ist, nicht ausreichen, die Batterielaufzeit zu
> verlängern?

Wenn die Sonne direkt auf das Ventil brüllt, dann ja ;-), sonst eher 
nicht.

von Horst (Gast)


Lesenswert?

Kennt jemand eine Bezugsquelle für einen passenden MiniUSB-Stecker bei 
dem die Kontakte alle herausgeführt sind? Hab schon 5 Stecker/Kabel 
seziert aber bei keinem war der 5. Kontakt irgendwie erreichbar.

Oder kennt noch jemand eine 6 pol. Alternative als Ersatz für die 
MiniUSB Buchse?

von Dennis H. (somebuddy)


Lesenswert?

Guten Abend,

Für welche "Version" ist die C Portation denn nun gedacht ? Funktioniert 
sie mit den leisen Thermys ?
Eine Anbindung eines RFM12 würde mir in der C Version wesentlich 
leichter fallen.
Daher die Frage..

Vielen Dank schonmal für die super Arbeit !

Grüße

von Mike J. (emjey)


Lesenswert?

Ich war gestern im Aldi und habe mir mal so ein "THERMy" Gerät 
mitgenommen. Das ist die 2. Verson mit dem verstärkten Gehäuse, dem 
Gummiritzel und der besseren IR-Reflex-Lichtschranke.

Gekostet hat es nur 6,00 Euro !

Ich nutze oft die NRF24L01+ Module und werde auch mal eins mit einem 
Flachbandkabel an das Thermostat anlöten. (da gehen ja 7 Pins vom Chip 
auf ein paar Pads, ebenso VDD und GND)

Ein mini-USB-Kabel habe ich mir noch nicht besorgt. (da ich die SPI-Pins 
eh raus lege brauche ich es aber auch nicht so dringend)

Frage in die Runde:
 - Welche Firmware habt ihr für euer Projekt verwendet?

 - Hat jemand eine GUI gebastelt?
Das wäre ganz gut, da man so die Zeiten/Intervalle von allen 
Thermostaten am Laptop einfach einstellen kann und dann sollten sie auch 
gleich über Funk aktualisiert werden.
Die Geräte per SPI (USB-Kabel) zu Updaten ist auch eine Option, aber 
angesichts der NRF24L01+ Module für 1.56 Euro (im 10er Pack) ist diese 
Option schon sehr verlockend.

Welche Sprache wird hier bevorzugt? C# oder Java?

von Horst (Gast)


Lesenswert?

Dennis Henning schrieb:
> Eine Anbindung eines RFM12 würde mir in der C Version wesentlich
> leichter fallen.

Dann nimm doch die C-Version, die ist eine brauchbare Basis für eigene 
Weiterentwicklungen

von Dennis H. (somebuddy)


Lesenswert?

Daher ja die Frage ob die C Portation für die Aldi Thermy's geeignet ist 
bzw. darauf lauffähig ist.

Grüße

von Willem R. (willemjan_r)


Lesenswert?

I have created a new version of the firmware specifically for the Aldi 
Thermy. There are some hardware differences between Aldi's and the one 
Knut has made firmware for. It is using an Atmel 169PA for instance.
The code I have written so far is still very rudimentary. It allows you 
you control the buttons, set a temperature, set the time, not much else 
so far.
I also wrote the code for communication with a RFM12 add-on so you can 
send commands over the air from a laptop for instance.
One of the things I need to tackle is the optical sensor. It does not 
seem to work on my Thermy. I need to hook it up directly to a scope to 
see what's going on. Although I think you can manage without one since 
it does detect fully-open and fully-closed state.

Willem

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Hi Willem,

have you managed to get the reflex coupler working meanwhile? It´s 
getting colder outside ;-)

von Thomas R. (Gast)


Lesenswert?

Man kann auch ohne Optokoppler regeln. Je nach Reglerabweichung steuere 
den Motor immer nur für einen kurzen Moment an und öffne oder schließe 
das Ventil damit ein Stückchen. Die beiden Endpunkte erkenne ich anhand 
des Stromanstiegs. Funktioniert im Test soweit ganz gut, mal sehen wie 
das im Winter wird.

von Willem R. (willemjan_r)


Lesenswert?

Hi Knut,

You're right it is getting colder so I should get back to it.

The last thing I did was soldering some wires to the reflex coupler. I 
hooked it up and even then I could not get it to work.
I can do without it but I was nice if it worked. Now I am just measuring 
current to see if I've reached either end. I had the wireless board 
working but then it started to get warmer so I dropped it.
Anyway I will need to pick it up again at some point now.

How 'bout you?

Willem

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Thomas R. schrieb:
> Man kann auch ohne Optokoppler regeln. Je nach Reglerabweichung steuere
> den Motor immer nur für einen kurzen Moment an und öffne oder schließe
> das Ventil damit ein Stückchen. Die beiden Endpunkte erkenne ich anhand
> des Stromanstiegs. Funktioniert im Test soweit ganz gut, mal sehen wie
> das im Winter wird.

Geht grundsätzlich, verschlechtert aber die Reglereigenschaften. 
Abhängig von Getriebestatus, Batteriefüllung und Motortoleranz ergibt 
sich ein stets variierender Stellweg, was das System überschwingen lässt 
oder zu träge macht, je nachdem.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Willem,

you have my mail address. If you like, you can post your measurements 
and the setup you made with the opto coupler, so we may set the thing up 
correctly in the firmware to get it working.

von Willem R. (willemjan_r)


Lesenswert?

Knut Ballhause schrieb:
> Willem,
>
> you have my mail address. If you like, you can post your measurements
> and the setup you made with the opto coupler, so we may set the thing up
> correctly in the firmware to get it working.

Hi Knut,

Thanks I would be interested in that. Funny thing is I hooked the reflex 
up with a LED in series and a pull-up on the other side. LED was working 
but not a reaction whatsoever.
But I will try again and then come back and consult you.

I have been working on an ignition module for engines and the Raspberry 
Pi the last half year so I did not get around to the Thermy :)

Willem

von Thomas R. (Gast)


Lesenswert?

Knut Ballhause schrieb:
> Geht grundsätzlich, verschlechtert aber die Reglereigenschaften.
> Abhängig von Getriebestatus, Batteriefüllung und Motortoleranz ergibt
> sich ein stets variierender Stellweg, was das System überschwingen lässt
> oder zu träge macht, je nachdem.

Wie hast Du die Regelung gelöst? Der Fühler ist ja relativ träge und 
einigen Störgrößen ausgesetzt und das Getriebe, so wie Du schreibst, ist 
nicht gerade positionssicher.

Am Heizungsmischer habe ich das gleiche Prinzip als Regelung (P-Regler 
auf I-Stellglied) realisiert, dort habe ich auch keine absolute 
Mischerposition, aber es funktioniert nach etwas Parameteroptimierung.

Richtig testen kann ich es erst in der Heizperiode.

von Lesefauler (Gast)


Lesenswert?

Im alten Thread tauchte die Frage auf:

Wolfgang-G schrieb:
> ohne alles lesen zu müssen: war der Originalregler ein P-, PI- oder
> PID-regler?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Thomas R. schrieb:
> Wie hast Du die Regelung gelöst?

Die momentane Regelung ist eine Art Vorahnungsregelung, die die 
Temperaturdifferenz dreier Messungen in Relation zur Solltemperatur 
vergleicht und demzufolge bestimmte Ventilwege fährt, um zu 
kompensieren. Das geht momentan recht gut, aber ich sammle noch 
Erfahrungen. Die absolute Ventilposition spielt hierbei keine Rolle. Die 
Regelung ist bei schnellen Wechseln (Schalten von Komfort in 
Absenk-Modus und umgekehrt, bzw. Fenster/Tür offen) aber noch etwas 
träge. Da muss ich bestimmt nochmal ´ran...

von Thomas R. (Gast)


Lesenswert?

Knut Ballhause schrieb:
> Die momentane Regelung ist eine Art Vorahnungsregelung, die die
> Temperaturdifferenz dreier Messungen in Relation zur Solltemperatur
> vergleicht und demzufolge bestimmte Ventilwege fährt, um zu
> kompensieren.

Interessanter Ansatz! Ich habe versuchsweise einen Dreipunktregler mit 
PT1-Rückführung implementiert, aber im Moment muss ich noch warten bis 
es kalt genug zum Heizen ist :-)

Was ich leider noch nicht testen konnte ist der direkte 
Temperatureinfluss des Heizkörpers.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Habe übrigens heute noch ein paar weitere Comet bekommen, diese sind
nun nicht mehr zugeschmolzen, sondern mit einer kleinen Schraube
(Kopf Torx-7) verschraubt.  Sehr angenehm!

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Jörg Wunsch schrieb:
> nun nicht mehr zugeschmolzen, sondern mit einer kleinen Schraube
> (Kopf Torx-7) verschraubt.

Na super!!! Wo hast´n die her?!

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Knut Ballhause schrieb:

>> nun nicht mehr zugeschmolzen, sondern mit einer kleinen Schraube
>> (Kopf Torx-7) verschraubt.
>
> Na super!!! Wo hast´n die her?!

Rossmann (Versandhandel) verscherbelt sie derzeit für EUR 16.  Die
ersten drei, die wir gekauft hatten, waren noch zugeschmolzen, aber
die nachgekauften jetzt haben Schrauben.

Allerdings musste ich mir das T-7-Bit am Hals ziemlich dünn schleifen,
damit es noch in die tiefe Bohrung der Gehäuseschale reinpasst.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Jörg Wunsch schrieb:
> Allerdings musste ich mir das T-7-Bit am Hals ziemlich dünn schleifen,
> damit es noch in die tiefe Bohrung der Gehäuseschale reinpasst.

Klingt abenteuerlich. Brille aufgehabt? ;-)

Jörg Wunsch schrieb:
> Die
> ersten drei, die wir gekauft hatten, waren noch zugeschmolzen, aber
> die nachgekauften jetzt haben Schrauben.

Vielleicht lesen die Entwickler von Sparmatic hier mit und denken, dass 
sie mehr Comet-Regler verkaufen könnten, wenn die outgesourceten 
Programmierer besser an die Hardware herankommen. ;-)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Knut Ballhause schrieb:
> Jörg Wunsch schrieb:
>> Allerdings musste ich mir das T-7-Bit am Hals ziemlich dünn schleifen,
>> damit es noch in die tiefe Bohrung der Gehäuseschale reinpasst.
>
> Klingt abenteuerlich. Brille aufgehabt? ;-)

Ja klar, am Schleifbock hängt eine Schutzbrille daneben.  Man muss ja
auch Vorbild für die Kinder sein.  Es lässt sich schlecht zu anderen
Arbeitsschutz predigen, wenn man sich dann selbst nicht dran hält ...

> Vielleicht lesen die Entwickler von Sparmatic hier mit und denken, dass
> sie mehr Comet-Regler verkaufen könnten, wenn die outgesourceten
> Programmierer besser an die Hardware herankommen. ;-)

Dann hätten sie den Firlefanz mit der JTAGEN-Fuse aber auch sein
lassen können.  Der ist flüssiger als ein Glas Wasser: solange OCDEN
nicht gesetzt ist, kann man über JTAG trotzdem maximal einen chip
erase absetzen, man hätte sich nur gespart, zuvor noch ISP benutzen
zu müssen (um JTAGEN wieder zu setzen).

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Jeder Programmierer denkt halt anders... oder auch nicht.

von Temoc (Gast)


Lesenswert?

Knut Ballhause schrieb:
> Vielleicht lesen die Entwickler von Sparmatic hier mit und denken, dass
> sie mehr Comet-Regler verkaufen könnten, wenn die outgesourceten
> Programmierer besser an die Hardware herankommen. ;-)
Dann würden sie wohl kaum den AVR rauswerfen...

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Temoc schrieb:
> Dann würden sie wohl kaum den AVR rauswerfen..

Wie jetzt?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Knut Ballhause schrieb:
> Temoc schrieb:
>> Dann würden sie wohl kaum den AVR rauswerfen..
>
> Wie jetzt?

Weiter oben hatte doch jemand das Gerücht gestreut, dass die nächste
Version nicht mehr mit einem AVR daher käme.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Ah ja. Na mal sehen...

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Knut Ballhause schrieb:
> Vielleicht lesen die Entwickler von Sparmatic hier mit und denken, dass
> sie mehr Comet-Regler verkaufen könnten, wenn die outgesourceten
> Programmierer besser an die Hardware herankommen. ;-)

Wenn ich mir das recht ansehe, kratzt Rossmann offenbar gerade die
letzten Lagerbestände aus den Ecken zusammen.  Was wir da bekommen
haben, scheinen also eher die ersten Seriengeräte der Comet zu sein
denn irgendwelche neuren Modelle.  Dadurch sind wir nun zu den
verschraubten gekommen. ;-)

von mark t (Gast)


Lesenswert?

Hi Willem,

are you going to publish your new/current code as a branch on 
https://github.com/wjroes/OpenZero ?

I have added the link to the wiki page 
http://www.mikrocontroller.net/articles/Sparmatic_Heizungsthermostate


Evtl. ist auch Mathias Larisch schon mit seiner Software weiter? Sollte 
das Projekt veroeffntlicht werden?

Ich habe naemlich auch einen Haufen Thermys und wuerde etwas Arbeit 
beisteuern, Richtung Funk/Zeitsteuerung in C oder zur Zentrale - evtl. 
kann man Kraefte buendeln? Es wird sehr bald kalt und ich moechte nicht 
immer durch die Wohnung rennen und Heizkoerper umschalten muessen 
(Gasheizung) .. komme aber leider erst am Wochenende dazu, mich wieder 
etwas einzulesen.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Ich werde gelegentlich auch weiterproggen, ist fest eingeplant. In 
meinen Code muss ich mich dann auch wieder einlesen ;-)

von mark t (Gast)


Lesenswert?

Kann leider kein AVRASM - evtl. kann man sich auf Schnittstellen 
einigen, dann ist die Implementierung egal.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Vielleicht sollten sich ein paar "willige" Programmierer einfach zu 
einer kleinen Heizungsregler-Community zusammenschließen, das würde 
meiner Meinung nach zu schnellen und ausgereiften Ergebnissen führen. 
Natürlich müssten dann alle Ideen und Codeschnipsel zentral verwaltet 
werden - eine Aufgabe, die ich leider nicht erledigen kann. Megathreads 
hier im Forum sind zwar ein toller Anfang, aber auf die Dauer auch sehr 
anstrengend.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Naja, ich habe TravelRecs Code, wobei ich mir noch nicht völlig sicher
bin, ob ich bis zum Letzten durch 5000 Zeilen Assembler durchsteigen
möchte ;-), aber zumindest ist sein derzeitiger Code wohl als einziger
bislang "aus der Dose raus" benutzbar.

Dann hat mir Matthias Larisch seinen C-Code gegeben, an dem er aber
schon lange nichts mehr getan hat.  Da funktionieren laut seiner
Aussage nur die Grundfunktionen.

Was man auf jeden Fall mal gut abstrahieren muss, ist die Anbindung
irgendwelcher Funkmodule.  TravelRec hat RFM12 direkt angesteuert,
Matthias hat nRF24L01, ich möchte abgesetzte ATmega128RFA1-Platinen
benutzen (weil ich mich damit am besten auskenne, und weil ich sie
auch gern standalone als abgesetzten Tempertursensor und als "Fenster
offen"-Sensor benutzen möchte).

Vermutlich werde ich meine Ventile erstmal mit TravelRecs Code 1:1
versehen und dann lange Winterabende benutzen um zu sehen, was man
am besten weitermacht.

Für eine Kooperation können wir ja den SVN-Server hier auf
mikrocontroller.net benutzen, wenn mehr als einer an einem Projekt
mitarbeiten möchte.  Aber ich glaube, so weit, dass man da wirklich
was koordinieren kann, sind wir noch nicht.

von mark t (Gast)


Lesenswert?

Ja, erstmal Ziele sammeln, dann Schnittstellen definieren.
SVN ist OK, oder so wie Willem bei einem GIT host (da ist teilweise wohl 
auch Forum, Wiki und Issue Tracker dabei).
Wenn Willem 'weiter' ist als Matthias und zudem noch aktiv, dürfen wir 
evtl. auf seinem Code aufbauen. Ich habe den Code aber noch nicht 
angeschaut.

von mark t (Gast)


Lesenswert?

Es sind ja doch einige an einer Firmware interessiert (und offenbar auch 
fleissig: Thomas R., Horst ?)

Kannst du, dl8dtl, Matthias L. mal fragen, ob du seinen Code zugaenglich 
machen kannst? Ich vermute, dass er noch etwas mehr low-level Funktionen 
implementiert hat als Willem (schreibt er ja selbst). Jedenfalls waere 
eine Bestandsaufnahme hilfreich. Eine Mischung der beiden Arbeiten 
koennte dann die Grundlage fuer eine gemeinsame Entwicklung werden.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

mark t schrieb:
> Kannst du, dl8dtl, Matthias L. mal fragen, ob du seinen Code zugaenglich
> machen kannst?

Geht sicher, aber ich würde das für den Anfang gern auch überschaubar
halten.  Wenn du da mitmachen willst, meld' dich an (damit es eine
einzige Identität pro Person gibt) und frag' ihn doch selbst.

Sowie dann irgendwas Substanzielles da ist, mit dem man weitermachen
kann, kann man damit ein SVN aufsetzen.  (Github mag ich nicht so.)
Solange aber außer TravelRec niemand aktiv was macht, muss man auch
nicht irgendwelche Infrastrukturen aus dem Boden stampfen, Schnitt-
stellen definieren oder sonstwas.  Am Ende verbringen wir dann die
Zeit nur noch in Meetings zur gegenseitigen Abstimmung. :-)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Gibt es eigentlich Erfahrungen mit der Batterielebensdauer?

TravelRecs Firmware unterstützt ja den Betrieb mit NiMH-Akkus.  Für
die Geräte werden original 5 Jahre Batterielebensdauer propagiert.
Falls diese 5 Jahre auch nur annähernd erreicht werden (selbst, wenn's
nur 3 Jahre sind), würden sich aber Akkus nicht lohnen.  Selbst die
besseren Akkus sind dann per Selbstentladung schon breit, und die
höheren Kosten würden sich über solch einen langen Zeitraum auch nicht
amortisieren.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Die propagierten 5 Jahre können mit der originalen Firmware gar nicht 
erreicht werden. Dafür agiert sie viel zu oft und hat ein paar weitere 
Macken, die Strom kosten. Ich hatte für ein paar Wochen einen originalen 
Comet nur mal zum Testen und zum Vergleichen an einem Heizkörper. Der 
Motor lief mindestens 1x pro Minute ein kurzes Stück, die Regelung war 
also ständig aktiv. Zudem braucht der Controller selber ständig um die 
20µA im Sleep mit LCD an und und die Batterieherausnahmefunktion 
ebenfalls nochmal 5µA. Die PullUps für den Drehgeber sind auch ständig 
an. Das heißt, wenn die Geberkontakte gegen Masse geschlossen sind, 
fließt auch noch der PullUp-Strom. Ich würde also nicht so viel auf 
schöngerechnete Werbung geben. Wenn man die Regler dann noch mit Funk 
ausrüstet, kommen noch ein paar 10µA effektiv und ständig hinzu. Da ich 
auf dem Display wechselnde Anzeigen wie Zeit und Isttemperatur habe, ist 
der Controller auch öfter kurz mal wach. Für mich lohnen sich Akkus 
ohnehin, da ich ein Rotationsprinzip für die Zellen in verschiedensten 
Applikationen anwende. Da ich die Akkus mit Solarstrom lade, hat das für 
mich auch noch eine ideellen Wert ;-)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Knut Ballhause schrieb:
> Ich würde also nicht so viel auf
> schöngerechnete Werbung geben.

Mir erschien der Wert ja auch sehr reichlich, daher hatte ich nach
Erfahrungen gefragt.

Wie lange halten die Akkus so bei dir?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Mindestens die volle Heizperiode bei den Zeros mit Funk. Mit den Comets 
habe ich noch nicht die Langzeiterfahrung, da auch das Prog noch nicht 
fertig ist...

von Mr. E. (mistere)


Lesenswert?

Von Matthias habe ich ("mark t") bislang nichts gehört, daher habe ich 
mir Willems Code vorgeknöpft und will auch erstmal versuchen, den 
optischen Sensor zum Laufen zu bringen, sowie die Batterie zu überwachen 
(Spannung und Ausfall).
Ich werde pushen, wenn das funktioniert, also hoffentlich Sonntag.

von Mr. E. (mistere)


Lesenswert?

Nun also zu Willems code:

Willem R. schrieb:
> I have created a new version of the firmware specifically for the Aldi
> Thermy. There are some hardware differences between Aldi's and the one
> Knut has made firmware for. It is using an Atmel 169PA for instance.
> The code I have written so far is still very rudimentary. It allows you
> you control the buttons, set a temperature, set the time, not much else
> so far.
> I also wrote the code for communication with a RFM12 add-on so you can
> send commands over the air from a laptop for instance.
> One of the things I need to tackle is the optical sensor. It does not
> seem to work on my Thermy. I need to hook it up directly to a scope to
> see what's going on. Although I think you can manage without one since
> it does detect fully-open and fully-closed state.

(Der RFM-Code ist noch nicht im repository 
https://github.com/wjroes/OpenZero, und offenbar noch nicht für Thermy, 
da der Encoder zwei Schritte pro Rast erkennt)

Vorneweg, ich habe nur THERMy (=="therµ"?). Ich hab daher eine Config.h 
erstellt, in der über #defines die Hardware bestimmt werden könnte. Das 
lässt sich aber sicher noch geschickter anstellen.

- Der Interrupt für den optischen Sensor läuft, wenn der interne Pull-Up 
Widerstand ausgeschaltet ist (sicherheitshalber habe ich auch den 
zweiten Pin am Fotosensor auf High-Z geschaltet.)
Es werden bei der Initialisierungsfahrt nun die Endlagen bestimmt.
Mit dem Schrittzähler wird das Auseinanderfallen des Antriebs nun 
verhindert (500 Impulse als Limit).
Es gibt eine simple, blockierende Funktion zum ungeregelten Anfahren 
einer Position ohne Stromüberwachung.

- Die Batterie/Akkuspannung kann gemessen werden (1/100V). Da steckt 
aber wohl noch ein Fehler drin. Bitte mal reinschauen, ich komme nicht 
drauf.

- Der Stromausfall wird detektiert, aber daraufhin noch nicht viel 
gemacht (Teile vom AVR werden abgeschaltet).

Achtung: ich habe im LCD Interrupt einige Dinge auskommentiert, damit 
Debug-Ausgaben nicht gleich wieder überschrieben werden.

Ansonsten habe ich Kommentare hinzugefügt (auch Funktionsinfo im 
doxygen-Format). Sobald man sich mit dem Code etwas auskennt erscheinen 
sie natürlich trivial, aber für den Einstieg sind sie meiner Ansicht 
nach hilfreich.

Ausserdem habe ich etwas "aufgeräumt" - Willem, ich hoffe, das ist so 
OK: svn history entfernt, Module verschoben, leere Module erstellt.

Als Starthilfe zum Einlesen:

Das Programm basiert auf mehreren "state machines", die bei Tastendruck 
und in den ADC- und LCD-Interrupts abgearbeitet werden. Interrupts sind 
in der Main.c, die Tastenbehandlung habe ich nach UI/Menu/Menu.c 
ausgelagert.

Das Programm führt eine Initialisierung durch und wechselt dann in den 
Standby-Modus. Willem hatte eine An/Aus Regelung geschrieben, die ich 
nach Control/Control.c verschoben und dort auskommentiert habe, da mir 
immer der Antrieb auseinanderfiel. Man kann dann etwas im Menü 
navigieren und z.B. die Zeit stellen - allerdings klappt das mit meinem 
Thermy nicht, da der rotary encoder alle 2 Schritte rastet und auch 
nicht besonders zuverlässig erkannt wird. Willem ist da wohl noch dran 
und wollte das über Interrupts lösen (es gibt gute Algorithmen von Peter 
Danneger in der Codesammlung, auch zum Tastenentprellen).

Aber mal eine Frage:

Honeywell HR20 nutzt auch ATmega169(P..)!

Thread:
http://embdev.net/topic/118781

Beschreibung HR20
http://openhr20.svn.sourceforge.net/viewvc/openhr20/trunk/doc/Analyse%20HR20.pdf?revision=366

Protokoll
http://openhr20.svn.sourceforge.net/viewvc/openhr20/trunk/doc/protkoll/Basis_Protokoll.pdf?revision=366

Ähnliche Hardware und offenbar alles schon implementiert - gab es schon 
mal Anstrengungen, das anzupassen, bzw. die Sparmatic Hardware dort zu 
integrieren? Wenn nein, wieso nicht? :-)


Wie dem auch sei, meine Änderungen sind unter
https://github.com/gnbl/OpenZero abgelegt (man kann die Daten auch 
runterladen, wenn man nicht bei github angemeldet ist). Speicher ist ca. 
50 % leer.

von Mr. E. (mistere)


Lesenswert?

http://embdev.net/topic/118781#1553458
> The code of openhr20 contains various ifdefs "thermotronic". its
> activated in the makefile. I believe that is for "sparmatic basic"

http://openhr20.svn.sourceforge.net/viewvc/openhr20/rfmsrc/

Dann war meine Arbeit ja umsonst! Wieso sagt mir das keiner :-)
Allerdings ist offenbar die Doku bei den Kollegen ziemlich hinterher.

von Matthias Larisch (Gast)


Lesenswert?

Moin!

Ich habe gerade mal ein bisschen Zeit im Zug verwendet, um eure Einträge 
hier zu lesen :) Selbstverständlich habe ich kein Problem damit, meinen 
Code zur Verfügung zu stellen. Jörg hat von mir schon den kompletten 
Projektordner erhalten. Ich habe gerade mein Entwicklungs-Repository bei 
Github reingestellt.

https://github.com/NerdyProjects/sparmatic-zero

Ich hoffe, dass ich mit dem Code keinerlei Lizenzen verletze - ich 
denke, dass der Bootloader aus Code hier aus der Artikelsammlung 
besteht. Zudem basiert die erste Version der nRF24L01 Library auf einer 
"MIRF" genannten Implementierung ergänzt aus Code von der R0cket Badge. 
Zudem sind Ideen und Anregungen aus TravelRecs Code eingeflossen, z.B. 
die Display-Ansteuerung.

Jeder darf gerne meinen Code verwenden - ich würde der Einfachheit 
sagen, dass die Veröffentlichung unter GPL erfolgt. Sollte dies für 
irgendwelche Entwicklungen / Verwendungen ein Problem sein, so 
benachrichtigt mich einfach. Bitte prüft vor Verwendung, ob nicht 
Codeteile doch von jemandem anderes stammen!

Ich werde in naher Zukunft nicht weiter entwickeln, habe aber auch noch 
3 Thermys hier. Sollte ich nochmal umziehen und hätte dann einen 
Verwendungszweck, so kanns natürlich passieren, dass ich die Software 
dann einsetze :)

Gruß,

Matthias

von Mr. E. (mistere)


Lesenswert?

Hallo Matthias,

danke fuer den Code - ihr seid ein Stueckchen weiter als Willem.
Ich werde Mittwoch allerdings doch erstmal sehen, was erforderlich ist 
um OpenHR20 auf dem Thermy zum Laufen zu bringen. Ich vermute, dass das 
fuer mich der schnellste Weg zum Ziel sein koennte.

von mistere (Gast)


Lesenswert?

Anpassung OpenHR20 an neuere Zero, Comet(Thermy):

Der Thermotronic Basic ist offenbar die Urversion der Sparmatics, und 
hat ein dem HR20 ähnliches Display. Die neueren Modelle Zero, 
Comet(Thermy) haben ein größeres Display mit anderem Mapping.

LCD HR20 hier:
http://openhr20.svn.sourceforge.net/viewvc/openhr20/trunk/doc/lcd/segments_numbered.png?revision=366

LCD Sparmatic Zero, Basic (Thermotronic) hier:
Beitrag "Re: Preisgünstiger Heizungsregler bei Praktiker"

LCD Sparmatic aktuell hier:
http://www.mikrocontroller.net/attachment/92552/SparmaticComet_LCD_Segment_Belegung.jpg

Also Anpassungen mind. erforderlich hier:
http://openhr20.svn.sourceforge.net/viewvc/openhr20/rfmsrc/OpenHR20/lcd.h?revision=366&view=markup

von Andreas Koch (Gast)


Lesenswert?

Ab Montag dem 08.10 hat Aldi Süd wieder THERMy im Angebot (14,99).

Kann ich da bedenkenlos zuschlagen oder hat eines der verwandten Modelle 
(Comet, Zero) deutliche Vorteile?

Plan wäre, erstmal alle Heizkörper von mechanischen Theromstaten auf die 
(unmodifizierten) elektronischen umzurüsten und dann irgendwann später 
wenn ich mal Zeit habe mit Custom Firmware umflashen (AVRISPMKII 
vorhanden) und über RS232 an ein Regel-Netzwerk anschliessen...

von Mr. E. (mistere)


Lesenswert?

Ich habe den Plan, openHR20 anzupassen, erstmal wieder verworfen.
Stattdessen habe ich mich Matthias Code zugewandt und unter
https://github.com/gnbl/sparmatic2011
Änderungen für die Unterstützung der Encoder von Comet/Thermy gemacht. 
In config.h lässt sich der Encoder durch ein entsprechendes #define für 
die Zeros auch wieder deaktivieren (kann ich nicht testen, habe nur 
Thermy).
Der wird jetzt mit Peter Dannegers Code im Flankeninterrupt ausgewertet, 
da für den Encoder der LCD-Interrupt nicht ausgereicht hat.

Funkmodul und Bootloader sind per #define erstmal deaktiviert.

Die Menüfunktionen funktioniert noch nicht so richtig. Es sind aber 
offenbar schon Routinen für Regler, Uhr und Parameterspeicher vorhanden.
Muss man nur noch zusammenbauen :-)

Wegen nRF24L01 Library:
http://www.tinkerer.eu/AVRLib/nRF24L01 ->
http://www.arduino.cc/playground/InterfacingWithHardware/Nrf24L01
Werde ich aber wohl nicht nutzen, da die Reichweite meiner Module zu 
klein ist.

Andreas: Zero hat Tasten statt Rad, Thermy ist eine OEM-Version vom 
Comet. Es könnte aber wieder eine neue Version sein..?

von R. F. (rfr)


Angehängte Dateien:

Lesenswert?

nAbend...

ich habe mir gerade bein Lidl einen neuen Regler gekauft, der sah so aus 
wie ein Comet V2, inndn drin ist aberdas anhängende.

Hat jemand weitere Informationen insbesonders die verwendete CPU??

Einen Programmierstecker finde ich auch nicht.

Grüsse

Robert

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Das sieht aus wie die Medion-Teile, die Aldi vor den Sparmatic-Clones im 
Angebot hatte. Die sind zu diesem Projekt leider inkompatibel und die 
CPU ist nicht bekannt.

Kannst Du bitte nochmal das Äußere von dem Ding oder ein komplettes 
Gerät fotografieren?!

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Andreas Koch schrieb:
> Ab Montag dem 08.10 hat Aldi Süd wieder THERMy im Angebot (14,99).
>
> Kann ich da bedenkenlos zuschlagen oder hat eines der verwandten Modelle
> (Comet, Zero) deutliche Vorteile?

Die Geräte sehen so aus, wie die alten Themys mit leichtem Facelifting. 
"USB"-Schnittstelle ist vorhanden, deutet also auf ein kompatibles Gerät 
hin. Die Thermys hatten immer ein leiseres Getriebe, verglichen mit dem 
Zero oder dem Comet. Ich würde an Deiner Stelle zuschlagen.

von R. F. (rfr)


Angehängte Dateien:

Lesenswert?

Knut Ballhause schrieb:
> Kannst Du bitte nochmal das Äußere von dem Ding oder ein komplettes
> Gerät fotografieren?!

Bitte sehr.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Dieses *#@$øΩ-Teil habe ich mir auch mal näher angesehen, ohne Ergebnis:
Beitrag "Untersuchung Heizungsthermostat Lifetec MD12460"

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Habe nun auch endlich mein Programmierkabel fertig.  Statt ein
USB-Kabel aufzudröseln, habe ich diesen Hirose-Stecker genommen:

http://de.mouser.com/ProductDetail/Hirose-Connector/UX40-MB-5P/?qs=sGAEpiMZZMvFp%252byPHbnZY3w6i1RLcVof

Dank geht nochmal an michael_h45 fürs Mitbestellen.

von mistere (Gast)


Lesenswert?

Sehr gut, dann kann's ja losgehen.

Wenn jemand Code beisteuern moechte koennte ich vorerst Patches anwenden 
oder euch Schreibzugriff auf das github-Projekt geben. Wahrscheinlich 
koennte aber auch jeder sein eigenes repository dort haben und dann 
immer hin und her mergen.

Es war noch ein kleiner bug im Menue (unsigned fuer Eingaben).
Ich werde noch den angefangenen Shut-Down Code, den ich Willems Quellen 
hinzugefuegt hatte, einbauen. Die Temperaturanzeige nutzt einen 
Doppelpunkt, das werde ich auch nach Moeglichkeit beheben. Es hat sich 
auch ein falscher Freund eingeschlichen, "vent" werde ich nach und nach 
durch "valve" oder so ersetzen.
Ich habe von den RFM12 noch keine Ahnung und wuerde mich vorerst auf die 
Fertigstellung des jetzigen Codes konzentrieren. SPI Routinen gibt es 
aber  auch schon (wegen des nRF24L).

Standardanzeige ist uebrigens die Ist-Temperatur, [+/-/wheel] veraendert 
die Soll-Temperatur, [Menue] lang fuehrt ins Menue. Adaptierung war 
auskommentiert und wartet nach Einfahren des Aktors auf Nutzereingabe.

Happy hacking und nochmal Dank an Matthias, dass er seine ganze Arbeit 
zur Verfuegung stellt.

von Jörg E. (jackfritt)


Angehängte Dateien:

Lesenswert?

Hier mal das aktuelle Aldi Süd Angebot für 14,99€.
Scheinbar wird ein Zahnrad über eine Lichtschranke auf der Platine
ausgewertet. Weiss nich ob das die alten auch schon haben.

Sorry für die schlechten Bilder sind nur vom Handy ;)

Gruss,

Jörg

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Jörg Esser schrieb:
> Scheinbar wird ein Zahnrad über eine Lichtschranke auf der Platine
> ausgewertet.

Natürlich. Somit wird die Getriebeposition respektive die Ventilposition 
abgetastet.

Jörg Esser schrieb:
> Weiss nich ob das die alten auch schon haben.

Ja. Bei der ersten Revision (2011) war der Reflexkoppler noch an einer 
Tochterplatine befestigt. Die 2012er Thermys und Comets sahen der 
aktuellen Platine sehr ähnlich. Was ist denn für ein Controller verbaut? 
Mega169PA?

von Jörg E. (jackfritt)


Lesenswert?

Ja ein Mega169PA.

Kann es sein das der Temperaturfühler links vom Drehrad sitzt ?
Ich würde gerne mit meiner Fussbodenheizung und einem verlängertem 
Fühler experimentieren.
Hat das schonmal jemand gemacht ?

Gruss,

Jörg

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Jörg Esser schrieb:
> Kann es sein das der Temperaturfühler links vom Drehrad sitzt ?

Ja, genau.

Jörg Esser schrieb:
> Ich würde gerne mit meiner Fussbodenheizung und einem verlängertem
> Fühler experimentieren.

Das setzt eine geschirmte, nicht allzu lange Leitung voraus.

Jörg Esser schrieb:
> Hat das schonmal jemand gemacht ?

Ja. Ich habe aber den internen Fühler drin gelassen und einen externen 
per Stecker an einen freien ADC-Pin drangefummelt und per Programm 
umgeschaltet. Funktionierte mässig gut, da man die externen Sensoren nie 
genau mit der Kennlinie bekommt, wie die intern verbauten. Also musste 
die Wertetabelle zur Temperaturmessung angepasst werden. Jetzt verwende 
ich für meine FBH einen externen Fühler, der an einen alten Zero mit 
Funk angebunden ist.

von R. F. (rfr)


Lesenswert?

Hallo,

ist denn irgendwo ein Repository für Quellen eingerichtet worden?
Gruss

Robert

von SCE2AUX (Gast)


Lesenswert?

Hier scheint es ein weiteres Sparmatic-Firmware-Projekt zu geben:

http://cccgoe.de/wiki/Sparmatic

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Übrigens gibt es am nächsten Mittwoch bzw. Donnerstag (je nach 
Bundesland und Feiertag) bei Aldi-Nord wieder Thermostate:

http://www.aldi-nord.de/aldi_ab_mittwoch_3110_48_5_1051_16826.html

Gehe ich recht in der Annahme, daß es sich hierbei um eine 
Sparmatic-Variante handelt, deren Firmware ersetzt werden kann?

von R. F. (rfr)


Lesenswert?

Meiner sieht genauso aus. Und bei diesem scheint es zu gehen. Ich habe 
es aber nicht probiert, habe keine Zeit.

Gruss

Robert

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Rufus Τ. Firefly schrieb:
> Gehe ich recht in der Annahme, daß es sich hierbei um eine
> Sparmatic-Variante handelt, deren Firmware ersetzt werden kann?

Ja, sieht gut aus :-)

von mase (Gast)


Lesenswert?

Nur mal ein kurzer subjektiver Vergleich Thermy/Comet:

Ehrlich gesagt gefällt mir die ALDI(Sued) Thermy-Variante nicht ganz so 
gut wie Comets (Praktiker). Die drei Tasten sind "nur" Plastik-Lippen. 
Sie haben kaum Druckpunkt und ich finde sie sehr schwamig. Bei den 
Comets sind das noch aufgelegte Plastik-Elemente mit schönem 
Druckpunkt..
Auch finde ich das Rädchen extrem schwammig, die Rasterungen werden fast 
schon nicht mehr getroffen. Bei den Comets war das gerade noch so ok.

Wenn das offengelegte SMD-Bauteil unter dem Thermy-Schriftzug allerdings 
der Temperatur-Sensor ist, ist das wiederum nett. Dann wär der Sensor 
"halbwegs" rausgeführt.

(Kann es sein, dass die Thermys die Uhrzeit bei entfernen der Baterien 
nicht abspeichert?)

Gruss,
   Max.

von mase (Gast)


Lesenswert?

Ahrgh, sorry,

ich hab nur mit dem 2011-comet verglichen. Aber zumindest das mit den 
Tasten dürfte trotzdem zutreffen (Themry vs. Comet-2012), Rädchen schaut 
gleich aus.

Gruss,
   Max

von Michael (Gast)


Lesenswert?

Hallo zusammen,
ich habe mir Ende letzten Jahres auch ein THERMy bei Aldi gekauft.
Der sollte zwar erstmal nur Reserve sein, aber als ich dieses bzw. die 
vielen Projekte (in Sachen Thermostat) gefunden habe bin ich hell auf 
begeistert. Zum Glück habe ich schon hin und wieder mit nem ATmega 
experementiert.

Nur leider kenne ich mich mit diesem GIT dingen überhaupt nicht aus ...
Knut, kannst Du nicht mal kurz schreiben wie ich da ne schöne Firmware 
für den kleinen THERMy raus bekomme?

Danke & Gruß
Michael R.

von andy (Gast)


Lesenswert?

>ich habe mir gerade bein Lidl einen neuen Regler gekauft, der sah so aus
>wie ein Comet V2, inndn drin ist aberdas anhängende.

>Hat jemand weitere Informationen insbesonders die verwendete CPU??

>Einen Programmierstecker finde ich auch nicht.

Falls es noch jemand interessiert, die CPU ist eine 8bit von Samsung. 
Ich habe leztes Jahr mal recherchiert, könnte bei Bedarf nachschauen, 
wie die "genaue" Bezeichnung war.

andy

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

@Michael:

GitHub ist lediglich ein Online-Speicheranbieter. Wenn Du auf die weiter 
oben verlinkte Adresse klickst (https://github.com/wjroes/OpenZero), 
öffnet sich eine Seite mit einem Ordner und einem Textfile. In dem 
Ordner befindet sich ein komplettes C-Projekt des holländischen 
Programmierkollegen. Darüber gibt es einen Button, auf dem ZIP steht. 
Damit kannst Du das Projekt herunterladen und auf Deine Platte packen. 
Dann lädst Dir das aktuelle ATMEL-STUDIO und öffnest dieses Projekt. 
Soweit ich weiß, ist das Projekt gut dokumentiert, aber noch nicht 
vollständig.

von Michael (Gast)


Lesenswert?

Recht schönen Dank Knut (gut das Du auch hier immer wieder mal 
reinsiehst)!
Viel einfacher geht es ja schon bald garnicht mehr. Ich werde meinen 
Erfolg (so er sich dann einstellen sollte) hier posten!

Gruß Michael

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Alles klar, ich glaube Willem liest auch hin und wieder mal mit. Wenn 
ich in Zukunft ganz viel Zeit habe, werde ich mich auch noch mal 
ausgiebig mit den Teilen beschäftigen, nachdem mich die alten Zeros 
nicht so sehr überzeugt haben, so rein von den Möglichkeiten der 
Hardware...

von Michael (Gast)


Lesenswert?

... gestern (28.1.'13) gabs die wieder beim Aldi Süd - da sind bestimmt 
noch einige über ... Kosten: 14.95€

von Hannes K. (hannes_k52)


Lesenswert?

Hallo, ich habe folgendes problem, ich habe beim thermy den 
drehimpulsgeber durch einen atmega ersetzt. ich mochte die temperatur 
manuell per µC einstellen. ich habe bemerkt das der thermy ca. alle 
20-30 sec. irgendwas macht und ein bis drei drehgeberimpulse nicht 
mitbekommt und dadurch nicht correct mitzählt. wenn ich jetzt 
ausgerechnet in dieser zeit die temperatur einstelle funzt das nicht 
correct und ich habe ein halbes oder ganzes °C zu wenig oder zu viel. 
hat sich da schonmal jemand mit befasst?

Gruß... Hannes

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Hannes K. schrieb:
> Hallo, ich habe folgendes problem, ich habe beim thermy den
> drehimpulsgeber durch einen atmega ersetzt.

Aha.

Hannes K. schrieb:
> ich mochte die temperatur
> manuell per µC einstellen.

Hmm, das kann der interne Controller aber auch blendend leisten.

Hannes K. schrieb:
> ich habe bemerkt das der thermy ca. alle
> 20-30 sec. irgendwas macht

Der macht sogar noch öfter ´was. Ich würde sagen 1x pro Sekunde 
mindestens.

Hannes K. schrieb:
> und ein bis drei drehgeberimpulse nicht
> mitbekommt und dadurch nicht correct mitzählt.

Das kann nur passieren, wenn die von Dir generierten Pulse zu kurz sind 
oder sich nicht an den Gray-Code halten. Pulse kürzer als 10ms wird die 
Firmware als Preller verwerfen. Mach also die Pulse langsamer.

von Hannes K. (hannes_k52)


Lesenswert?

Hallo Knut, ich habe die Pulsdauer momentan bei 60ms stehen, der code 
läuft einwandfrei vor und rückwärts. Bei 10ms schnell und 200ms langsam 
wird es kriminell und Thermy zählt nicht mehr richtig. Mein Problem ist 
das Thermy ab und zu einen Puls nicht mitzählt und ich nicht immer 
sicher sein kann das die gewünschte Temperatur eingestellt wurde. Wenn 
ich irgendwie feststellen könnte wann genau Thermy keine Drehimpulsgeber 
eingaben zulässt könnte ich meine Temperatur davor oder danach 
einstellen. Es kommt ca. alle 20-30sec. dazu das man für ca. 100ms keine 
Eingabe machen kann.

Grüße... Hannes

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Hannes K. schrieb:
> Bei 10ms schnell und 200ms langsam
> wird es kriminell und Thermy zählt nicht mehr richtig.

Bei zu schnell, ist verständlich, aber zu langsam kommt mir komisch vor. 
Es ist natürlich so, dass der 2. Puls für den 2. Kontakt nicht ewig nach 
dem ersten kommen darf. Wenn Du Deinen Generator aber symmetrisch 
aufgebaut hast (Puls 1 - 50% Zeit - Puls2 50% Zeit), dann könnte das 
schon sein, dass die Drehrad-Entprell-Routine das nicht mehr entziffern 
kann. Dies bezieht sich auf die Originalfirmware. Meiner eigenen Routine 
ist das wurscht, die kann nur zu schnelle Impulse nicht werten, bzw. 
verwirft diese als Prellen. Das kommt bei normaler Bedienung aber nicht 
vor.

Was ich mir auch vorstellen kann ist, dass die Originalfirmware nach dem 
letzten Drehen eine Zeit lang wartet und dann in einen tieferen 
Schlafmodus fällt, der erst wieder durch das tippen auf Tasten oder das 
Drehen am Rad zum Aufwachen des Controllers führt. Dann verliert die 
Firmware einige Klicks, bevor der Controller wieder rennt.

von Hannes K. (hannes_k52)


Lesenswert?

Das mit dem aufwachen habe ich auch berücksichtigt. Wenn ich zb. eine 
dauerrutine ausführe kann man den Effekt gut beobachten. Ich lasse 
Thermy zb. ununterbrochen 10 grad hoch und wieder runterlaufen dann 
kommt es nach einer Zeit immer wieder zu diesen Aussetzern also das ein 
einziger Schritt ausgelassen wird. Das passiert so alle 20 bis 30 sec.
Grüße... Hannes

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Hm, dann wäre es vielleicht besser, die originale Firmware durch etwas 
Funktionierendes zu ersetzen. Kannst Du den Effekt auch an einem 
unmodifizierten Regler mittels des Drehrades nachweisen? Falls ja, ist 
in der Firmware ein Stück Code, welches den "normalen" Programmablauf 
blockiert. Da die Temperaturberechnung ziemlich zeitaufwändig ist, 
könnte diese die Aussetzer hervorrufen. Man kann diese Berechnung aber 
auch so programmieren, dass Zeitgeber und Interrupte lässig weiterlaufen 
und es zu keinem Verhungern von Takten kommt. Das kann ja dann auch bei 
der Lichtschranke passieren und dann werden Ventilpositionen "verpennt".

von R. F. (rfr)


Lesenswert?

Ich kann dieses Effekt an einem unverändertem Thermy auch nachweisen, 
wenn man das Rad dreht, geht in einer bestimmten Geschwindigkeit die 
Temeratur um 0.5¬ hoch oder runter. Dreht man schneller, geht das nicht 
mehr regelmässig, bei reduzierter Drehgeschwindigkeit tritt dieser 
Effekt auch ein.

Gruss

Robert

von Hannes K. (hannes_k52)


Lesenswert?

Ich werde das Problem morgen näher untersuchen es ist aber definitiv so 
das bei gleichbleibender Tastgeschwindigkeit ca. alle halbe Minute die 
Eingabe nicht aktiv ist und wenn man diesen Moment durch Zufall erwischt 
geht einem ein Schritt verloren. Vielen Dank für die Anregungen werde 
mich morgen wieder melden. Einen Schönen Abend vorerst.
Grüße... Hannes

von Hannes K. (hannes_k52)


Lesenswert?

Hallo, heute habe ich den Thermy immer einen Schritt hoch und wieder 
runter laufen lassen, kontinuierlich bei 20ms. Ich habe festgestellt das 
dabei die Temperatur in unregelmäßigen Abständen von 2-20sec. immer ein 
halbes grad hochwandert. Ich bin daher davon ausgegangen der nur das 
down stellen ab und zu einen Schritt nicht erfasst wenn der Thermy was 
zu tun hat. Ich habe darauf hin den Thermy kontinuierlich mit 96 
Downschritten auf Aus laufen lassen(96 damit er sicher bis auf Aus läuft 
auch wenn einige Schritte nicht gezählt werden) und dann wieder mit 80 
Schritten Up laufen lassen sodas er auf 27,5 Grad stehen bleibt. Das hat 
zu 100% funktioniert und es ging nicht ein einziger Schritt beim Up 
zählen verloren. Ich habe das mehrere hundert mal laufen lassen und es 
funktionierte einwandfrei.

Fazit: Beim Downstellen nimmt Thermy nicht immer alle Schritte an aber 
dafür werden alle Schritte beim Upzählen einwandfrei gezählt. Ich kann 
Thermy nun mit 96 Downschritten sicher bis auf Aus stellen, auch wenn 
dabei bis 4 Schritte verschluckt werden also von voll An bis Aus. 
Anschließend steppe ich dann hoch auf meine gewünschte Temperatur. Funzt 
einwandfrei :-)
Damit ist mein Problem gelöst.

Grüße... Hannes

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Hannes K. schrieb:
> Damit ist mein Problem gelöst.

Naja - es umgeht einen Fehler und führt für Dich zum gewünschten 
Ergebnis.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo Forengemeinde,

aufgrund des im Norden unseres Landes ziemlich miesen Wetters habe ich 
an der Firmware weitergeschrieben. Wer sie ausprobieren möchte, findet 
das komplette Projekt angehängt. Es ist in ASM erstellt und mit 
ATMEL-Studio 6.0 und 6.1 kompatibel.

Features:

- Echtzeit und Ist-Temperatur-Anzeige im Normalmodus
- Ähnliche Menüführung wie in der Original-Firmware
- Menüpunkte PROG, TEMP, ZEIT, ADAP vollständig implementiert
- Fuzzy-Regelalgorithmus
- max. 4 Warm/Kalt-Zyklen pro Tag + 1 Nachtabsenkung (3. Temperaturwert)
- vernünftig entprellte Tasten
- funktionierendes Drehrad


ToDo:

- Fenster-Offen-Erkennung
- Batteriemessung
- Urlaubsfunktion
- Werksresetfunktion
- Offset-Funktion
- Bugfixes
- Umsetzung von Erweiterungen (Funk, externe Fühler)
- vernünftige Code-Kommentierung


Da es eine Betaversion ist, sind Bug möglich und wahrscheinlich. Ich 
würde mich über Anregungen und Kritik freuen.

TravelRec.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Angehängte Dateien:

Lesenswert?

Noch vergessen:

- Batterieentnahme-Erkennung
- Speichern der 3 Einstelltemperaturen im EEPROM

TravelRec.

P.S. Benutzung der Firmware und Flashen des Controllers auf eigene 
Gefahr! Keine Haftung für etwaige Schäden durch nicht erwartungsgemäß 
funktionierende Heizungsregler!

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Angehängte Dateien:

Lesenswert?

Neue Programmversion:

Hinzugefügt:

- Batterie-Leer-Anzeige
- abschalten des Reglers und speichern der Uhrzeit bei erschöpfter 
Batterie

BugFix:

- Bargraph wurde bei Tageswechsel nicht aktualisiert

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Angehängte Dateien:

Lesenswert?

Neue Programmversion V005:

Hinzugefügt:

-Auto/Manuell Modus:

Im Auto-Modus werden die Timer abgefragt und die Einstelltemperaturen 
aktualisiert. Es wird ein Bargraph und die entsprechenden Symbole für 
das aktuelle Temperaturintervall angezeigt.

Im Manuell-Modus werden die Timer nicht abgefragt. Die aktuelle 
Einstelltemperatur bleibt bis zur manuellen Änderung bestehen. Es werden 
kein Bargraph und keine Temperaturintervall-Symbole angezeigt.


Änderung:

- kleinere Bugfixes

von Jörg E. (jackfritt)


Lesenswert?

Ich hatte gerade wieder eine Idee. Gibs noch pins für nen 2 fühler? Evtl 
sogar was für 2wire?
Dann könnte man über 2 fühler den vor und rücklauf messen um damit auf 
die raumtemperatur zu schliessen. Möglich? Ich denke hier an meine 
fussbodenheizung ;)
Gruss Jörg

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Jörg Esser schrieb:
> Ich hatte gerade wieder eine Idee. Gibs noch pins für nen 2 fühler? Evtl
> sogar was für 2wire?

Grundsätzlich hast Du 2 Möglichkeiten:

1. Am JTAG-Header laufen 4 analoge/digitale I/Os und Betriebsspannung 
auf. Diese könnte man mittels Widerstand und NTC oder mit 2 Widerständen 
für Soft-I2C und entsprechend langer Leitung auf einen 2. Fühler 
umrüsten. Nachteil: Gehäuse öffnen und danach wieder irgendwie 
verschließen. Die Schweißpunkte müssen entfernt und durch eine andere 
mechanische Fixierung ersetzt werden. Oder man muss kleben und kommt 
später nicht mehr ´ran.

2. Du nutzt die USB-Buchse. Dort stehen 3 digitale I/Os und 
Betriebsspannung zur Verfügung. Daran kann man einen digitalen Fühler 
oder einen kleinen Controller mit analogem Fühler anschließen. 
Kommunikation wahlweise über SPI (ohne /CS) oder I2C...

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

BTW: Im Praktiker-Onlineshop gibt es die Comet-Regler derweil für 12.99€ 
plus Versand. Falls noch jemand günstig sein Haus ausrüsten möchte, 
bevor der Frühling Ernst macht... ;-)

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Angehängte Dateien:

Lesenswert?

Programmupdate:

Hinzugefügt:

- automatische Kalkschutzfahrt Freitags 11:00 Uhr


Änderung:

- Interruptfrequenz Soundausgabe (Motor-Buzzer) angepasst
- fehlerhafte I/O-Registernutzung beseitigt
- kleinere Bugfixes

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Angehängte Dateien:

Lesenswert?

Programmupdate:

Bugfix:

- manuelle Temperatureinstellung im Automatikmodus wurde nach bereits 1 
Minute von Timereinstellungen überschrieben

- bei der Timerprogrammierung wurden teilweise falsche Symbole angezeigt

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Angehängte Dateien:

Lesenswert?

Programmupdate:

Hinzugefügt:

- Haus-/Mond-Symbole sind im Automatikmodus stetig eingeschaltet, wenn 
die betreffende Heizzeit läuft und die Einstelltemperatur der 
programmierten Temperatur entspricht. Die Symbole blinken, wenn die 
Einstelltemperatur manuell verändert wurde, das heißt, von der 
programmierten Temperatur abweicht. Sie sind wieder dauerhaft 
eingeschaltet, wenn die Einstelltemperatur auf den programmierten Wert 
zurückgedreht wurde oder eine neue Heizzeit erreicht ist.

- kleinere Optimierungen

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Noch ein Hinweis:

Die aktuell verkauften Sparmatic-Comet enthalten außer dem Aufdruck 
"comet" auch anstelle des älteren ATMEGA169PV den neueren ATMEGA169PA. 
Der neuere Controller hat einige Bits in einigen I/O-Registern verändert 
(siehe Migration-Note AVR529). Dies merkt man beispielsweise daran, dass 
nach dem Auffahren nach Einlegen der Batterien die OK-Taste nicht 
funktioniert, um das Ventil zu adaptieren. Hier muss das Projekt auf den 
ATMEGA169PA als Device im ATMEL-Studio umgestellt und neu assembliert 
werden. Dadurch werden die betreffenden Bits an die richtige Stelle 
geschoben. Danach flasht man die neue *.hex.

BTW: Ziemlich wenige Wortmeldungen hier...

von Hans J. (step_up_mosfet)


Angehängte Dateien:

Lesenswert?

Knut Ballhause schrieb:
> Die aktuell verkauften Sparmatic-Comet enthalten außer dem Aufdruck
> "comet" auch anstelle des älteren ATMEGA169PV den neueren ATMEGA169PA.

Ja, der ist auch in meinem Gerät vom Aldi drin.

Ich muss mich jetzt noch überwinden und mein mini-USB-Kabel zerschneiden 
um das Gerät programmieren zu können.

Mein Gerät (die Platine) sieht so aus wie im Anhang.
Es ist ein Gif-Bild, damit kann man die Leiterzüge gut verfolgen ohne 
dass man das Ding immer umdrehen muss.

Das mit der Größe tut mir Leid, aber kleiner haben ich es nicht 
hinbekommen.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Hans Jelt schrieb:
> Es ist ein Gif-Bild

Blink blink.. ;-)

Hans Jelt schrieb:
> Mein Gerät (die Platine) sieht so aus wie im Anhang.

Bislang waren ALDI Thermy und Comet 100% kompatibel, sollte mich 
wundern, wenn sich das geändert hätte.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Es gibt eine Anpassung meiner bisherigen Firmware zur Verwendung an 
Mischventilen. Dies ist eine Testversion.

Beitrag "Re: Alternative Firmware für Sparmatic Zero Heizungsthermostat"

von Thomas H. (thus)


Lesenswert?

Knut Ballhause schrieb:
> anbei der überarbeitete Plan. Im Grunde habe ich die Daten von Leopold
> B. benutzt, überprüft und mit Werten versehen. Ausserdem habe ich
> versucht, das Ganze modular und übersichtlich anzuordnen.

Dies ist wirklich ein sehr übersichtlicher Plan und er passt zu meinem 
Thermy V2 (Variante mit losen Tasten im Gehäuse, und mit der dämlichen 
eingelöteten Reflexlichtschrankenplatine.)

Inzwischen gibt es aber seit einigen Jahren auch den Thermy V3 (passt zu 
dem Bild in 'Sparmatic_Heizungsthermostate', mit den 
Plastik-Zungen-Tasten und der weißen Platine  )


Dieser V3 hat einen leicht geänderten Schaltplan im Bereich PORTF und 
PORTE. Ich würde diesen Schaltplan gerne hier einstellen, am besten 
ausgehend von dem V2-Plan. Dazu wäre es ganz nett wenn ich das Original 
des V2  im eagle- oder kicad -Format hätte, ich will nur ungern nur das 
png-file manipulieren. Kann mir irgend jemand den Schaltplan des V2 in 
einem original-Format zur Verfügung stellen? Geht das eventuell hier im 
Forum als Datei?

Vielen Dank

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Angehängte Dateien:

Lesenswert?

Bitteschön.

von Thomas H. (thus)


Angehängte Dateien:

Lesenswert?

Knut Ballhause schrieb:
> Bitteschön.

Danke, ThermyV3-Version zurück.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Sorry, aber ich kann die Daten nicht lesen, nutze Eagle 4.16.

von Hans J. (step_up_mosfet)


Angehängte Dateien:

Lesenswert?

Thomas Husterer schrieb:
> Danke, ThermyV3-Version zurück.

Hier ist ein png-Bild von der Schaltung.

von Conny G. (conny_g)


Lesenswert?

Hi,
habe gerade mit Freude die Threads zu den Sparmatic entdeckt, die 
Heizkörper zentral und per Funk zu regeln steht auf meiner Long Term 
Projektliste.

Hat denn schon jemand einen Platinchenentwurfmund ein Funkprotokoll 
fertig?
Wäre mir beim Quickscan dieser Diskussion nicht aufgefallen, nur einen 
ersten Entwurf gab es oben, der sah aber noch unfertig aus.

Viele Grüße,
Conny

von Conny G. (conny_g)


Lesenswert?

Geht es hier noch weiter, noch jemand dran?

Vg,,
Conny

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Conny G. schrieb:
> Geht es hier noch weiter, noch jemand dran?

Guckst Du:
Beitrag "Re: Alternative Firmware für Sparmatic Zero Heizungsthermostat"

von Mathias K. (rmrf)


Lesenswert?

Hallo,

 letzte Woche gab es hier beim Aldi "Thermies". Weil es hier schon so 
viele freundlicherweise offengelegte Projekte und Informationen gibt, 
habe ich einige gekauft um damit so ähnlich wie Jörg Esser eine 
Fussbodenheizung zu steuern. Mit der Originalfirmware kann ich das nicht 
machen, weil die Fenster-Offen-Erkennung dazwischenfunkt, von daher bin 
ich ganz froh das es das hier alles gibt.

Leider tut's weder die Firmware von Knut ( diese Version: 
Beitrag "Re: Alternative Firmware für Sparmatic Zero Heizungsthermostat" ) noch die von 
https://github.com/gnbl/sparmatic2011: Bei beiden klappt die 
Adaptierfahrt nicht, es gibt nur einen ganz kurzen Ruck. Bei der 
'sparmatic2011'-Firmware scheint es daran zu liegen, dass das Signal von 
der Reflexlichtschranke nicht ankommt und das System meint, der Motor 
bewege sich nicht. Mit der 'sparmatic2011' funktionieren auch die Tasten 
nicht, mit Knuts Software gehen die Tasten.

Das Innenleben entspricht soweit ich das sehen konnte der "Thermy V3" 
wie hier beschrieben, allerdings steht bei mir eine "13" neben den 
JTAG-Pads, keine "12" wie auf dem Foto hier.

Hat jemand eine Idee was da los sein könnte ?

Ich habe schon die entsprechenden Stellen im ThermyV3-Schaltplan mit 
meiner Platine verglichen, kann da aber keine Unterschiede sehen. Fotos 
könnte ich ggf. einstellen. Die Fuses habe ich für beide Firmwares nach 
Knuts Angaben gesetzt (FF-D1-62).

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Mathias K. schrieb:
> Hat jemand eine Idee was da los sein könnte ?

Ja, da wird ein ATMEGA169PA drin sein. Die Firmwares sind für einen 
ATMEGA169P kompiliert und dieser hat andere Interruptflagpositionen. 
Grob gesagt.

BTW: Es sind nur die Firmwares für den Comet kompatibel, nicht die für 
den 2011er Zero! Also nur die hex-Dateien aus DIESEM Thread!

: Bearbeitet durch User
von Thomas H. (thus)


Lesenswert?

Mathias K. schrieb:
> Das Innenleben entspricht soweit ich das sehen konnte der "Thermy V3"
> wie hier beschrieben, allerdings steht bei mir eine "13" neben den
> JTAG-Pads, keine "12" wie auf dem Foto hier.

Hallo Mathias,

ich kann deine Beobachtung bestätigen, das Innenleben ist 
augenscheinlich identisch und bei mir verhält sich die aktuelle 
Thermy-Version auch genau so wie der Vorgänger "V3". (Lediglich die V2 
hat eine leicht veränderte Pin-Belegung)

Gruss thus

von Mathias K. (rmrf)


Lesenswert?

Guten Abend,

@Knuth: ich hatte die Datei "Sparmatic_Comet_M169PA.hex" mit der 
50Grad-Regelbereichserweiterung verwendet, das war es glaube ich nicht. 
Mit einem Hexfile aus diesem Thread geht's leider auch nicht.

Die Sparmatic2011-Firmware tut's wohl deshalb nicht, weil die Pullups 
von Port B nirgendwo eingeschaltet werden, was aber IMHO nach dem 
Schaltplan  zum Tastenlesen nötig wäre. Die Reflexlichtschranke wird an 
PE1 gelesen, was auch nicht zum v3-Schaltplan passt. Ich werd versuchen 
das anzupassen.

Vielen Dank für Eure Antworten!

Gruss
  Mathias

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Ach ja, die Thermys - jetzt sehe ich die Unterschiede in der Beschaltung 
auch - gut, das kann nicht gehen... Warum ändern die denn die 
Beschaltung...?! Der Widerstand für die Batterie-Entnahme-Erkennung ist 
auch von E0 nach E5 gewandert...

Falls jemand aktuelle Sourcen haben will, bitte eine PN schicken. Da ich 
keinen ThermyV2 habe (mann sehen die Dinger hässlich aus, hatte heute 
einen in der Hand), will ich das Programm auch nicht unbedingt 
modifizieren. Vielleicht wird es irgendwann mal Defines dafür geben...

: Bearbeitet durch User
von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Mathias K. schrieb:
> Die Sparmatic2011-Firmware tut's wohl deshalb nicht, weil die Pullups
> von Port B nirgendwo eingeschaltet werden, was aber IMHO nach dem
> Schaltplan  zum Tastenlesen nötig wäre. Die Reflexlichtschranke wird an
> PE1 gelesen, was auch nicht zum v3-Schaltplan passt. Ich werd versuchen
> das anzupassen.

Welches Layout hast Du denn jetzt genau? Lichtschranke an PE1 oder an 
PE3? Ich bin verwirrt.

: Bearbeitet durch User
von gnbl (Gast)


Lesenswert?

Sparmatic2011 hat, glaube ich, noch keine richtige Regelung, ich habe 
seit damals nicht weiter daran gearbeitet.
Bitte neue Informationen ins Wiki schreiben, da habe ich damals auch ein 
paar Stunden investiert..

von Mathias K. (rmrf)


Lesenswert?

Ich selbst schrieb:

>> Die Sparmatic2011-Firmware tut's wohl deshalb nicht, weil die Pullups
>> von Port B nirgendwo eingeschaltet werden, was aber IMHO nach dem
>> Schaltplan  zum Tastenlesen nötig wäre.

Stimmt nicht, die Pullups sind an, habe ein #define übersehen, Asche 
über mein Haupt.
Wenn ich im Interrupthandler PCINT1_vect den Aufruf "keyPeriodicScan();" 
hinzufüge, funktionieren die Tasten.


@gnbl: Wenn ich etwas Stabiles habe oder die Lust verliere, schicke ich 
Dir einen Patch. Dass es noch keine richtige Regelung gibt ist mit der 
Fussbodenheizung kein Problem, die heizt auch 2-Punkt-geregelt 
akzeptabel. Im Gegensatz zu den Thermies brauchen die normalen 
Stell"motoren" aber Dauerstrom um die Ventile offen zu halten. Wenn man 
die Heizanlage in die Nachtabsenkung schickt, wollen die Ventile 
natürlich alle aufmachen weil die Raumthermostatschalter nichts von 
Nachtabsenkung wissen. Diese Stromverschwendung abzustellen ist mal mein 
erstes Ziel, dann evtl. auch die Pumpe (100W, angeblich geht in dieser 
Anlage keine andere) im Mischerkreis auszuschalten wenn alle Ventile zu 
sind.

Ich stelle mir vor, in den Thermies den NTC durch den Fototransistor 
eines Optokopplers zu ersetzen und die Raumthermostaten die LED schalten 
zu lassen. (Optokoppler wegen der Einstreuungen, die Kabel zwischen 
Thermostat und Stellmotoren sind lang, nicht wirklich verdrillt und 
liegen überall parallel zum 230V-Netz. Auf einer unbenutzen Ader habe 
ich neulich hochohmig 78V gemessen. )

>> Die Reflexlichtschranke wird an
>> PE1 gelesen, was auch nicht zum v3-Schaltplan passt. Ich werd versuchen
>> das anzupassen.
>
> Welches Layout hast Du denn jetzt genau? Lichtschranke an PE1 oder an
> PE3? Ich bin verwirrt.

Bisher hat für mich der ThermyV3-Schaltplan (weiss lackierte Platine) 
gepasst. Ich glaube daher dass der Fototransistor an PE3 ist. Ich habe 
mir den Motoranschluss extern herausgeführt. Morgen abend werde ich mal 
testen welches Port-E-Bit wackelt, wenn ich den Motor per Netzteil 
fahren lasse.

Ciao

  Mathias

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Mathias K. schrieb:
> dann evtl. auch die Pumpe (100W, angeblich geht in dieser
> Anlage keine andere) im Mischerkreis auszuschalten wenn alle Ventile zu
> sind.

Das wurde uns auch gesagt. Seitdem wir entgegen dem Rat eine Grundfos 
Alpha2 eingebaut haben, ist der Stromverbrauch der Heizung um 70% 
gesunken und die Anlage läuft immer noch einwandfrei (und nachts auch 
schön ruhig). Hier hilft wohl nur der Rat eines echten Fachmanns oder 
einfach das Probieren.

Mathias K. schrieb:
> Ich stelle mir vor, in den Thermies den NTC durch den Fototransistor
> eines Optokopplers zu ersetzen

Musst Du nicht. Nimm einfach einen Pin und Masse der USB-Buchse. Ist 
viel einfacher und erfordert keinen Umbau im Gerät. Brauchst Du die 
Funktion dann mal nicht mehr, brauchst Du nur den Stecker zu ziehen.

von Mathias K. (rmrf)



Lesenswert?

Hallo gnbl,
inzwischen funktioniert bei mir die Adaptierfahrt mit sparmatic2011 und 
Thermy V3 und ich hänge den versprochenen Patch an. Man muss auch ein 
paar Sachen am Makefile ändern, daher wird die Sache wohl nicht ohne 
weiteres für beide Hardwareversionen gehen.

gnbl schrieb:

> Bitte neue Informationen ins Wiki schreiben, da habe ich damals auch ein
> paar Stunden investiert..

Dem was dort schon alles zu der V3-Hardware steht, habe ich im Moment 
nichts hinzuzufügen.

Gruss
  Mathias

von gnbl (Gast)


Lesenswert?

Hallo rmrf, ich kann nicht versprechen, dass ich den Patch irgendwann 
integriere, da ich momentan nichts mit den Thermys mache (obwohl 
zunehmend Bedarf bestuende..). Aber wenn ich wieder dran bin sehe ich es 
mir natuerlich an.
Ansonsten steht es ja jedem frei den Patch anzuwenden oder das 
repository auf github zu klonen und dort den Patch einzubauen. In jedem 
Fall danke fuer den feed-back.

von Thermos (Gast)


Lesenswert?

Moin,
Kälter wirds, daher bastle ich auch an dem Thermy V3 herum. In den 
Zeichnungen ist für den NTC immer nur 100k@25°C erwähnt - kennt jemand 
der Thermy-Erfahrenen den Temperaturkoeffizienten?

Danke sehr!

von Thermos T. (thermos)


Lesenswert?

Moin,

Ich habe mir die Frage mal versucht, selbst herzuleiten. Das ganze 
basiert auf einer Demo von Torsten F. 
(Beitrag "Re: Preisgünstiger Heizungsregler bei Praktiker"), der in BASCOM 
einige ADC-Werte und die korrespondierenden Temperaturen hinterlegt hat. 
Ich weiß nicht woher diese stammen, aber die Infos unten sind nur so gut 
wie diese Zahlen.

Darin findet sich folgender Code:
1
'Config für Temperatursensor
2
Config Adc = Single , Prescaler = Auto , Reference = Avcc
3
Config Portf.2 = Output
4
Dim Ist_temperatur As Single
5
Dim Adc_temp(10) As Word
6
Adc_temp(1) = 757                                           '0°C
7
Adc_temp(2) = 703                                           '5°C
8
Adc_temp(3) = 645                                           '10°C
9
Adc_temp(4) = 585                                           '15°C
10
Adc_temp(5) = 525                                           '20°C
11
Adc_temp(6) = 465                                           '25°C
12
Adc_temp(7) = 409                                           '30°C
13
Adc_temp(8) = 356                                           '35°C
14
Adc_temp(9) = 308                                           '40°C
15
Adc_temp(10) = 266                                          '45°C

Lt. Schaltbild für den Thermy V3 
(https://www.mikrocontroller.net/articles/Datei:THERMYV3-sch.jpg) liegt 
der NTC in Reihe mit einem 120k-Festwiderstand, gespeist wird die 
Schaltung mit VCC. Da hinter dem NTC mittels AD-Wandler abgegriffen 
wird, müsste der AD-Wandler bei 25°C einen Wert von
messen. Der ADC des ATMega hat eine Aulösung von 10bit=1023 Stufen, 
daher passt der dort theoretisch zu messende Wert:
gut mit dem oben für 25°C angegebenen überein.

Für die verschiedenen Temperaturen ergibt sich dadurch:

T[°C]  ADC[Stufen]        R_NTC[kOhm]
0      757                341.5
5      703                263.63
10     645                204.76
15     585                160.27
20     525                126.51
25     465                100
30     409                79.93
35     356                64.05
40     308                51.69
45     266                42.17

Durch Regression lässt sich eine Zuordnungsvorschrift aufstellen:

- genau, durch die B-Parameter-Gleichung nach 
(http://en.wikipedia.org/wiki/Thermistor#B_or_.CE.B2_parameter_equation).

[<math]R=R_0e^{B(\frac{1}{T} - \frac{1}{T_0})}[/math]

Mit R0=100k und T0=293.15K ergibt sich für B ein Wert von 4010 mit sehr 
gutem Fit (R-Square/Adj R-Square=0.9999). In die Gleichung muss die 
temperatur in K eingesetzt werden. Die wollen wir aber bestimmen, daher 
noch schnell umstellen:

- einfach: Für uC ist eine Exponentiation vielleicht nicht das 
Einfachste, daher kann das Verhältnis versuchsweise auch linear 
approximiert werden.
Es ergibt sich P1= -0.1448 °C/kOhm und p2 = 43.27°C. Der fit ist jedoch 
extrem ungenau, (R-square: 0.9036, Adjusted R-square: 0.8915), die 
maximale Abweichung zwischen Kurve und Messwerten beträgt über 7.8°C bei 
den untersten Werten.

- Kompromiss: Ein Polynom 2. Ordnung
liefert:
- p1 =   0.0005176 °C/kOhm^2
- p2 =     -0.3345 °C/kOhm
 p3 =       55.24 °C
mit   R-square: 0.987
  Adjusted R-square: 0.9833
Die maximale Abweichung ist nur noch 3°C bei 0°C. Eventuell ist das 
gerechtfertigt, da der Widerstand sowieso an der Heizung direkt sitzt...

Ein Polynom 3. Ordnung:
liefert:
       p1 =  -2.469e-06  °C/kOhm^3
       p2 =    0.001915  °C/kOhm^2
       p3 =     -0.5541  °C/kOhm
       p4 =       64.05  °C/kOhm

  R-square: 0.9981
  Adjusted R-square: 0.9971, die Maximale Abweichung ist nur noch 1°C im 
betrachteten Bereich.

von Thermos T. (thermos)


Lesenswert?

Habe die Regression gerade noch mal mit ADC und Temperatur durchgeführt:

- B-Parameter:

-   A =       264.2
       B =        4616,   R-square: 1
  Adjusted R-square: 1
Aber blöd umzustellen und für uC sowieso zu kompliziert...

- Da wir R_NTC/R_NTC+x in die Gleichung einfließen haben macht sich hier 
nämlich ein lineares Modell sehr gut:

- linear:
p1 =    -0.08933 °C/step
p2 =       67.33 °C

T in °C, ADC=[0...1023]
  R-square: 0.998
  Adjusted R-square: 0.9977
maximales Residuum im betrachteten Bereich von 1.5°C, was für die 
meisten Zwecke mehr als ausreichend sein sollte, und ist außerdem schön 
einfach.

von Andreas K. (uboot)


Lesenswert?

N'abend.

Hab mir nen ISP USB Stecker gefeilt und versuche meinen Cometen per ISP 
anzusprechen und komme da nicht weiter.

ISP Programmer ist der hier im Forum ganz gut bewertete Mysmartusb 
light: http://shop.myavr.de/index.php?sp=article.sp.php&artID=200006

Er läuft im STK500v2 Modus und ich hab ihn auf 3V eingestellt.

Das zugehörige Flashtool erkennt den Controller nicht und wenn ich 
manuell Atmega169 einstelle, kommt ein Timeout wenn ich versuche, den 
Flash auszulesen.

Ich hab's dann mit AVRDUDE 6.0.1 probiert:

avrdude.exe -P COM14 -c stk500 v2 -p m169 -vv

Der bringt mir keine vernünftige Device-ID. Entweder 0x000000 oder 
0xffffff.

Den Takt mit -B 50 reduzieren hilft nix.


Die 5 USB-Pins sind korrekt mit dem ISP-Adapter verbunden, das hab ich 
mehrfach überprüft und durchgemessen.

Dabei habe ich Pin 2 -> SCK und Pin 4 -> MISO verbunden sowie GND und 
VCC nachgemessen um sicherzustellen, dass ich die USB-Pins nicht 
falschrum interpretiere.

Und wenn Reset absichtlich nicht verbunden ist, dann meldet AVRDUDE 
"initialization failed" und bringt gar nicht erst die falsche Device-ID, 
deshalb gehe ich davon aus, dass ich das Reset-Pad richtig getroffen 
habe.



Ich hab dann das ganze auch mit eingelegten Batterien versucht. Dort 
resettet sich der Comet jedes Mal, wenn man versucht, den Flash 
auszulesen. Aber klappen tut's trotzdem nicht und AVRDUDE .

SCK und MISO tauschen hilft auch nicht.


Hätte nicht gedacht, dass das so kompliziert ist.... :(

von Andreas K. (uboot)


Lesenswert?

Nachtrag: mit nem original AVRISP MKII klappts auch nicht - kann 
Device ID im AVR Studio (6.1) nicht auslesen.... Target Voltage wird 
erkannt (2.5V)

Mit AVRDUDE geht's auch nicht.

Hab dann mal mit nen Logic Analyzer das Auslesen mitgeschnitten (Trigger 
auf Reset 1->0). Sieht für mich als µC-Anfänger erstmal unverdächtig 
aus:

http://up.picr.de/16561262sw.png

Wenn jemand nen Tipp hat nur her damit!

von Grafiksucher (Gast)


Lesenswert?

Andreas K. schrieb:
> Target Voltage wird
> erkannt (2.5V)

Setze mal neue Batterien ein. Wenn die Spannung zu niedrig ist 
funktioniert das ganze nicht.

von Thermos T. (thermos)


Lesenswert?

Moin,
Bin gerade bei dem Motor angelangt, wenn ich einen der beiden Pins auf 
HIGH setze höre ich nur ein kurzes Klacken des Motors - ist das am Ende 
ein Schrittmotor?
Wie genau funktioniert die Ansteuerung?
Besten Dank!

von Thermos T. (thermos)


Lesenswert?

Für einen uC-Anfänger hast du ja schon ein super Equipment - wenn auch 
ein Netzteil dazugehört, hänge am Besten testweise mal das dran - 3-5V 
sollten ein stabiles Ansprechen des uC gewährleisten

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

An den Batterien liegt es nicht, der Controller läuft ab 1.8V sauber. Da 
die Brown-Out-Fuse auch beim gekauften Cometen nicht gesetzt ist, gibt 
es auch da keine Probleme. Ich würde auf den RESET-Kontakt tippen. Den 
zu erwischen ist nicht ganz einfach. Das Bohrloch muss exakt über der 
Oberfläche des RESET-Pads gebohrt sein (1,6mm über der Blechkante der 
USB-Buchse). Ist es zu hoch, bekommt der Reset-Draht keinen Kontakt zum 
Pad, wurde zu tief gebohrt, ist mitunter das Pad verletzt und der 
RESET-Draht trifft anstatt auf Kupfer nur auf nacktes FR4.

BTW: Der Reset-Draht mussetwa 2mm tiefer in den Cometen ragen, als der 
USB-Stecker lang ist. An der Spitze des Drahtes sollte man ein sehr 
flaches U biegen, damit der Draht nicht an der FR4-Kante hängen bleibt 
und auf das Pad gleiten kann. Der Draht selber muss etwas federn können. 
Das Bohrloch für den RESET draht sollte 1,5mm im Durchmesser sein. Für 
den Draht nimmt man am besten 0,5mm Rundmaterial, idealerweise 
Phosphorbronze oder Messingdraht.

Thermos That's schrieb:
> wenn ich einen der beiden Pins auf
> HIGH setze höre ich nur ein kurzes Klacken des Motors - ist das am Ende
> ein Schrittmotor?

Das Klacken bedeutet, dass der Motor kurz an den Anschlag läuft und die 
Firmware den Motor dann abschaltet. Das ist kein Schrittmotor, sondern 
ein normaler Spielzeug-Gleichstrommotor, wie er auch in CD-Schubladen 
und billig-Cd-Playern als Spindelmotor verwendet wird. Die Ansteuerung 
geschieht über eine diskrete H-Brücke.

Thermos That's schrieb:
> wenn ich einen der beiden Pins auf
> HIGH setze

Direkt am Motor? Das solltest Du bleiben lassen, das kann Dir im 
ungünstigsten Fall die H-Brücke braten.

: Bearbeitet durch User
von Thermos T. (thermos)


Lesenswert?

Danke für die Antwort, das passt. In der einen Drehrichtung war der 
Motor im Anschlag, in der anderen ging die Brücke irgendwarum nicht. 
Nach bewährter fachmännischer Reparatur ("überall rumdrücken") klappte 
das dann auch wieder, scheine mir irgendwo einen Wackelkontakt 
eingehandelt zu haben.

Der Controller ist bereits geflasht, ich wechsele die Pegel also 
softwareseitig.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Thermos That's schrieb:
> scheine mir irgendwo einen Wackelkontakt
> eingehandelt zu haben.

Es geht immer nur, wenn 1 Zweig der H-Brücke angesteuert ist. Man sollte 
per Software unbedingt vermeiden (verriegeln!), dass beide Zweige 
zeitgleich angesteuert werden, sonst gibt´s Rauchzeichen.

Falls doch ein Wackler, zuerst die H-Brücke und das Motorkabel auf 
ordentliche Lötung prüfen.

von Andreas K. (uboot)


Lesenswert?

Danke für die vielen Tipps - hab mich mal weiter mit der Materie 
beschäftigt.


Den Reset-Kontakt habe ich mit nem Stück Federblech kontaktiert und das 
Gehäuse ist soweit aufgebort, dass ich das Pad sehen kann. Ausserdem:

1.) Mit eingelegten Batterien unterbricht der Comet die Adaption, wenn 
ich per ISP drauf zugreife.

2.) In meinem Screenshot oben vom Logic Analyzer sieht man, dass sich 
was tut auf dem Reset-Port. Das Signal liegt auf HI und wird ab und zu 
vom Programmer auf LO gezogen. Die Spannung für HI kommt jedoch VOM µC, 
nehme ich an. Und wenn ich nämlich den Reset-Pin weglasse, tut sich 
wiegesagt gar nix, d.h. Adaption wird nicht unterbrochen und kein 
HI-Pegel vorhanden.


Die Stromversorgung ist denke ich auch nicht schuld weil:

1.) Wenn ich den Mysmartusb nehme, dann versorgt dieser den µC mit 3V.

2.) Wenn ich ein Netzteil mit stabilisierten 3V anschließe anstelle der 
Batterien, dann hab ich laut AVRISP MKII keine 3V Target Spannung 
sondern 2.6-2.7V, also unwesentlich mehr als mit Batterie.


Hab inzwischen rausgefunden, dass ich mit den Logic Analyzer auch SPI 
decodieren kann. Dort sieht man dann, dass der Programmer auf MOSI 
versucht, dem Cometen ne Device ID zu entlocken, aber auf MISO nix 
gescheites reinkommt (entweder 0x00 oder 0xFF).



Dass das ISP-Interface vom µC kaputt ist schließe ich auch aus, weil der 
Progmatic Programmierstick funktioniert wenn ich ihn anschließe...

von Andreas K. (uboot)


Lesenswert?

So, ich hab's hinbekommen - beide Programmer finden jetzt die Device ID 
:D :D :D

Hatte den Cometen schlussendlich geöffnet, sämtliche Schaltpläne 
studiert und die ISP-Pads durchgemessen / mit den USB-Pins verglichen. 
Daraufhin hab ich festgestellt, dass SCK und MISO doch vertauscht 
waren... Ich muss demnach die Belegung vom Thermy verwenden 
(GND/SCK/MOSI/MISO/VCC). Das hatte ich zwar schonmal probiert, aber 
dabei wahrscheinlich den Reset nicht richtig kontaktiert.


Jedenfalls sagt mir Atmel Studio, dass es ein Atmega169P bzw. PA ist, 
0x1E9405 -> kann das stimmen? Hab den Cometen im Okt 2010 bei Conrad 
gekauft und er hat die Beschriftung auf den Tasten.

Detected device
Device names      ATmega169P, ATmega169PA
Device signature  0x1E9405

Datasheet information
                ATmega169P
CPU                AVR8
Flash size       16 Kbytes
EEPROM size      512 bytes
SRAM size        1 Kbytes
VCC range       1,8 - 5,5 V
Maximum speed       N/A



avrdude sagt folgendes (mit dem Mysmartusb light):


             Programmer Type : STK500V2
             Description     : Atmel STK500 Version 2.x firmware
             Programmer Model: STK500
             Hardware Version: 3
             Firmware Version Master : 2.10
             Topcard         : Unknown
             Vtarget         : 0.0 V
             SCK period      : 17.4 us
             Varef           : 0.0 V
             Oscillator      : Off

avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 
0.03s

avrdude.exe: Device signature = 0x1e9405
avrdude.exe: safemode: lfuse reads as 62
avrdude.exe: safemode: hfuse reads as D9
avrdude.exe: safemode: efuse reads as FF

avrdude.exe: safemode: lfuse reads as 62
avrdude.exe: safemode: hfuse reads as D9
avrdude.exe: safemode: efuse reads as FF
avrdude.exe: safemode: Fuses OK (H:FF, E:D9, L:62)

avrdude.exe done.  Thank you.

: Bearbeitet durch User
von Thermos T. (thermos)


Lesenswert?

Nach dem was ich bisher gelesen hatte, dachte ich dass der Comet und der 
Thermy in etwa baugleich sind. Eventuell hilft dir folgendes:
https://www.mikrocontroller.net/articles/Sparmatic_Heizungsthermostate#Modelle
zur Identifikation.

Edit: Hier steht auch noch mal das was du auf eigene Faust rausfinden 
musstest, doof...
https://www.mikrocontroller.net/articles/Sparmatic_Heizungsthermostate#Pinbelegung

: Bearbeitet durch User
von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Die Belegung der USB-Buchse ist bei allen Zero/Comet/Thermy-Reglern 
gleich.

Andreas K. schrieb:
> Jedenfalls sagt mir Atmel Studio, dass es ein Atmega169P bzw. PA ist,
> 0x1E9405 -> kann das stimmen? Hab den Cometen im Okt 2010 bei Conrad
> gekauft und er hat die Beschriftung auf den Tasten.

Dann ist es definitiv ein Mega169P(V). Du musst also den Code für diesen 
Controller assemblieren/kompilieren. Das Fiese am Mega169PA ist, dass er 
dieselbe Kennung hat, aber unterschiedliche Interruptregister und 
-bitpositionen. Daher läuft ein für den P gebautes Programm nicht auf 
dem PA und umgekehrt.