Hallo liebe Leser, es ist an der Zeit, eine alternative Firmware für den Sparmatic Zero Heizungsthermostaten geneigten Betatestern oder Endanwendern zur Verfügung zu stellen, da die Originalfirmware doch einige Macken oder Merkwürdigkeiten enthält, die die Bedienung erschweren. Ich übernehme keine Haftung für etwaige Schäden an den Geräten oder der Heizungsanlage, die Benutzung geschieht auf eigene Gefahr. Die wichtigsten Unterschiede der Alternativ-Firmware gegenüber des Originals sind: - Der Sparmatic Zero läuft mit AA-Batterien und -Akkus. - Die Umschaltung von Komfort- und Spartemperaur ist jederzeit durch einen einzigen Knopfdruck möglich. - Die Adaptierfunktion reißt bei vollen Batterien nicht unter Umständen das Gerät vom Ventilkopf (!). - Die Adaptierfunktion benötigt nur einen Durchlauf Offen -> Geschlossen. - Beim Batteriewechsel öffnet der Ventilstößel und verbleibt in der Offen-Stellung, bis eine Taste gedrückt wird, dies erleichtert die Wiedermontage auf dem Ventilkopf. - Statt der Soll-Temperatur werden im Normalzustand die Ist-Temperatur und die aktuelle Zeit angezeigt. - Die Fenster-Offen-Funktion ist nicht mehr automatisch, sondern manuell auszulösen - bei der Origialfirmware war diese Funktion zu empfindlich und löste mitunter willkürlich aus. - Batterie "fast leer"-Warnung, gelegenliches Blinken von "batt" - Batterie "leer"-Anzeige mit definierter Ventilposition, permanente Anzeige von "batt", keine weitere Funkion möglich - leicht geänderte Tastenbelegung und Menüführung Von der Originalfirmware unterstütze, hier aber (noch) nicht implementierte Funktionen: - 2 statt 4 Timerblöcke pro Tag - Keine Urlaubs-Funktion - Keine Blockprogrammierung Werktag / Wochenende bei den Timern - Kein Tastenschutz (Kindersicherung) - Keine Programmierbarkeit mit dem Sparmatic-USB-Stick Zum Umprogrammieren der Sparmatic-Zero Thermostate ist ein spezieller Mini-USB-Stecker nötig, der angefertigt werden muß. Die ISP-Schnittstelle des Gerätes ist von außen und ohne Umbauten am Gerät zugänglich. Die Beschreibung des Steckers findet sich hier: Beitrag "Re: Preisgünstiger Heizungsregler bei Praktiker" Der Schaltplan zur Steckerbelegung ist hier zu finden: http://www.mikrocontroller.net/attachment/60214/sparmatic_zero.png Beim ersten Verbinden mittels AVR-Studio oder einer anderen IDE sollte die ISP-Frequenz nicht höher als 20kHz sein, nach dem Aufbringen der neuen Firmware kann mit 100kHz weitergearbeitet werden. Der Programmer muß targetseitig auf 2.7V eingestellt werden können. Die Bedienung ist wie folgt: Nach dem Flashen der neuen Firmware bzw. nach dem Einlegen der Batterien wird im Display "<<<<" angezeigt und der Ventilstößel fährt voll auf. Nach dem Anfahren des oberen Anschlags stoppt der Motor und "Open" wird angezeigt. Jetzt kann der Thermostat auf den Ventilkopf aufgeschraubt werden. Danach muß die mittlere Taste gedrückt werden. Jetzt fährt der Ventilstößel zu und stellt zuerst den äußeren, dann den inneren Anschlag des Heizkörperventils fest. Danach geht das Gerät in den Normalmodus, wobei eine fest eingestellte Komforttemperatur angewählt wird. Um die Komforttemperatur umzuprogrammieren, drückt man 1x kurz auf die PROG-Taste. Das Sonnensymbol blinkt und mit der + oder - Taste kann der Wert in 0.5°C-Schritten verändert werden. Nach einem weiteren Druck auf die PROG-Taste kann man die Absenktemperatur umprogrammieren, wobei das Mond-Symbol blinkt. Wird über 10 Sekunden keine Taste gedrückt, werden die Einstellungen übernommen. Mit einem weiteren Druck auf die PROG-Taste gelangt man in den Programmiermodus für die Timer. Das Anzeigesymbol "PROG" erscheint. Es sind pro Wochentag 2 Timer mit jeweils Komfort- und Absenktemperatur vorhanden. Zwischenzeitlich blinkt kurz Px.x, wobei das linke x für den Wochentag 1->Montag bis 7->Sonntag und das rechte x für den ersten bzw. zweiten Timer für diesen Tag steht. Jeder weitere Druck auf die PROG-Taste schaltet einen Timer weiter. Nach den Timern folgt die Jahres-, Monats-, Tages-, Stunden- und Minuteneinstellung. Die Zeiteinstellung kann man jederzeit schnell über einen langen Druck >3sek. auf die PROG-Taste erreichen. Gespeichert werden alle Werte nach Rückkehr in den Normalmodus über fortwährendes Drücken der PROG-Taste oder mindestens 10-sekündiges Nichtdrücken irgendeiner Taste. Im Normalmodus kann man jederzeit mit der + oder - Taste die aktuelle Solltemperatur in 0.5°C-Schritten verändern. Mit der AUTO-Taste schaltet man zwischen Automatik (Anzeige "AUTO") oder manuellem Modus (Anzeige "MANU") um. Im manuellen Modus werden die eingestellten Timer ignoriert und die momentan eingestellte Solltemperatur beibehalten. Im Automatikmodus werden die programmierten Solltemperaturen gemäß den Timereinstellungen angefahren. Über die mittlere Taste kann jederzeit zwischen Komfort- und Absenktemperatur umgeschaltet werden, wenn man beispielsweise vor Ablauf eines Timers das Haus verläßt oder früher heimkehrt oder um im manuellen Modus die Solltemperatur direkt umzuschalten. Ein langer Druck auf die mittlere Taste aktiviert die Fenster-Offen-Funktion, die die Solltemperatur für 10 Minuten auf 12°C herabsetzt und danach den voreingestellten Wert wieder aufruft. Ein langer Druck auf die AUTO-Taste aktiviert den Debug-Modus, der mit einem langen Druck auf die AUTO-Taste wieder verlassen wird. Ein gleichzeitiger, langer Druck auf + und - führt eine erneute Ventilvermessung durch, wobei alle laufenden Einstellungen erhalten bleiben. Werden die Batterien leer, informiert ein 8-sekündliches, kurzes Aufblinken der Anzeige "batt" über diesen Zustand. Sind die Batterien am Ende, wird das Ventil definiert auf eine Position um etwa 30% Öffnung gefahren, um Einfrieren oder Überheizen zu verhindern. Zur Wiederaufnahme der Funktion sind dann frische Batterien einzulegen. Bugreport und Verbesserungsvorschläge bitte hier posten. Vielen Dank! TravelRec.
Hallo nochmal, anbei eine neue Version (0.09), es wurden einige Bugs in der EEPROM-Verwaltung gefunden und beseitigt. Außerdem ist es möglich, einzelne Timer zu deaktivieren, indem man im Programmiermodus kurz die AUTO-Taste drückt. Diese Timer werden dann mit --:-- angezeigt. Mit + oder - kann man deaktivierten Timern wieder gültige Einstellungen zuweisen. Bitte vor dem Aufspielen der neuen Version die EESAVE-Fuse löschen, dann das Programm aufspielen und anschließend die EESAVE-Fuse wieder setzen. Dies ist notwendig, um Inkonsistenzen im EEPROM-Block zu vermeiden. Bestehende Programmierungen werden hierbei gelöscht und durch Standardwerte ersetzt. TravelRec.
>Bitte vor dem Aufspielen der neuen Version die EESAVE-Fuse löschen, dann >das Programm aufspielen und anschließend die EESAVE-Fuse wieder setzen. Dies gilt nur, wenn eine ältere Firmware von mir aufgespielt wurde. Bei der Werksauslieferung mit Originalfirmware ist bei den Sparmatic-Zero die EESAVE-Fuse ohnehin nicht gesetzt. Hier sollte sie nach dem Aufspielen einer neuen Firmware aber gesetzt werden, um die Timereinstellungen beim nächsten Flashen zu erhalten.
Hallo Travelrec, klasse Projekt! Würde das gerne in eine Haussteuerungsanlage integrieren, sprich noch einen CAN Controller dranhängen.... Es würde mich freuen, wenn du mir für diesen Zweck deinen Sourcecode bereitstellen könntest Vielen Dank+Gutes neues Jahr scio999
Thomas Schrauth schrieb: > Hallo Travelrec, > > klasse Projekt! Würde das gerne in eine Haussteuerungsanlage > integrieren, sprich noch einen CAN Controller dranhängen.... > Es würde mich freuen, wenn du mir für diesen Zweck deinen Sourcecode > bereitstellen könntest > > > Vielen Dank+Gutes neues Jahr > > scio999 Ja, Dir auch ein gutes Neues Jahr! Sourcecode kommt bald, CAN sollte möglich sein, wenn Du einen stromsparenden Controller findest, der noch mit 2.5V läuft. Im Moment bin ich gerade dabei, mich mit der Anbindung an RFM12B_868MHz-Funkmodule zu befassen. Dafür wird es später auch eine Internetanbindung geben, die ein Arbeitskollege von mir realisieren will...
Es gibt wieder ein Update, Version 0.11. Neue Funktionen sind: 1. Automatische Fenster-Offen-Erkennung bei Temperaturabfall >1°C innerhalb 3 Minuten (zusätzlich zur manuellen Auslösung). 2. Korrekturwert für den Uhrenquarz, da die Regler insgeamt etwas zu schnell laufen (etwa 1 Minute/Woche). Könnte an den unbestückten Kondensatoren am Uhrenquarz liegen ;-). Außerdem wurde noch ein kleiner Bug in der Bargraphanzeige bereinigt.
Erfolgsbericht: Mittels PonyProg2000, (selbst gebaute serielle Version) und dem selbst gebauten Mini-USB Adapter mit Zunge habe ich soeben die Version "Sparmatic_Zero_011.hex" auf den Regler erfolgreich übertragen. Der Programmer liefert 5 Volt Pegel und 5 Volt für das Target, aus dem Regler habe ich die Batterien entfernt, Programmer calibriert, ATmega169 eingestellt, keine weiteren (Geschwindigkeits-) Einstellungen, Fuses gelesen und so gelassen und erfolgreich geflasht. Prog-Adapter abgezogen, Batterien eingelegt, das Display zeigte dann -| -| -| -| statt <<<< an, der Rest entspricht obiger Beschreibung. Sehr positiv empfinde ich, Uhrzeit und Temp. wird abwechselnd angezeigt. Viel besser als die stumpfe Anzeige des Originals. Vielen Dank Calogero Eine Frage noch, wie stelle ich den Temp.Offset ein ? Im Original musste man 5 Sek. die Prog-Taste drücken.
@ Travel Rec.: Wie bist du denn an die Informationen über die Hardware gekommen? Gibt es da einen Schaltplan dazu?
Hallo zusammen, hallo Travel Rec. Das hört sich ja wirklich bemerkenswert an, was ihr hier entwickelt habt! Nu bin ich neu hier und auf diesen Thread gestoßen, weils vergangene Woche im Aldi-Süd die als "THERMy" gelabelten "Sparmatic Basic"s für 24,99 gab. Gibs für diese Geräte auch schon eine alternative Firmware? Nach Öffen eines dieser Regler wird klar, daß sie von dem "Zero" ne abweichende Hardware haben! Offensichtlich andere Portbelegung am ATmega, Dreh-Rad mit Incrementalgeber, Platine ist bedruckt mit "HKT Rev.0.4". Außerdem gibts zumindest innen auch eine USB-Buchse - jedoch nicht durchs Gehäuse zugänglich! Wenn von Interesse, könnte ich die Platine mal abfotografieren und hier reinstellen. Hab leider noch nicht wirklich verstanden, ob dieser "Basic" vielleicht mit dem Open-HR20-Projekt kompatibel wär... oder wie hoch der Aufwand vom Portieren der Zero-FW wäre... Könnte mir dazu vielleicht jemand ein paar Tipps geben? Schon mal vielen Dank! Catweazle
Hallo Catweazle, es wäre super wenn Du mal ein paar Bilder vom Innenleben des "Sparmatic Basic" machen könntest. Würde mich mal interessieren. Gruß Kay
Hallo Kay! Hier das Innenleben: - Demoniert - Blick auf Anschluß des Motors und Sensor - Platine: Oberseite - Platine: Unterseiteseite (gespiegelt) Die Platine ist hierbei horizontal oben im Regler plaziert (Bottom-Seite oben), so daß das Display über den grauen leitfähigen Streifen auf die SMD-Pads kontaktiert ist. Gruß Catweazle
Uhu Uhuhu schrieb: > @ Travel Rec.: > > Wie bist du denn an die Informationen über die Hardware gekommen? Gibt > es da einen Schaltplan dazu? Selbst durchgepiepst. Guckst Du hier: Beitrag "Preisgünstiger Heizungsregler bei Praktiker"
Calogero Digangi schrieb: > Der Programmer liefert 5 Volt Pegel und 5 Volt für das Target, > aus dem Regler habe ich die Batterien entfernt, > Programmer calibriert, > ATmega169 eingestellt, > keine weiteren (Geschwindigkeits-) Einstellungen, > Fuses gelesen und so gelassen > und erfolgreich geflasht. Huuu - mutig. Der Mega169P ist nur bis 4.5V spezifiziert. Die Fuses solltest Du so einsellen, wie ich gepostet habe, sonst löscht jede neue Programmierung der Firmware Deine Einsellungen im EEPROM. >Eine Frage noch, >wie stelle ich den Temp.Offset ein ? >Im Original musste man 5 Sek. die Prog-Taste drücken. Im Moment gar nicht ;-). Wähle bitte die Einstelltemperaturen entsprechend höher oder niedriger. >das Display zeigte dann >-| -| -| -| statt <<<< an, Ähem, naja - wie zeigt man '<' auf einem 7-Segment an?
Was sind denn diese drei kammartigen Strukturen auf Basic_bottom-mirrored.jpg in Beitrag "Re: Alternative Firmware für Sparmatic Zero Heizungsthermostat" ?
@ Travel Rec.: Das mit "Temp.Offset" macht wohl keinen Sinn, also vergessen. Heute um 10:00 Uhr hatte ich folgendes im Display: Erst kurz "-| -| -| -|" danach kam "dESC" und der Motor fuhr los. Danach war wieder alles im Normalmodus. War das eine Entkalkfahrt ? Wenn ja, immer Sonntags um 10:00 oder wann ? @ Catweazle: Ich habe einen Original "Basic" gekauft und zerlegt. Sah nicht nur so aus sondern stand auch dran. Da war der Atmel nicht gelötet sondern ein Epoxyd-Klecks und die USB-Buchse gab es auch nicht. Also beim Kauf auf die kleinen Unterschiede achten. Calogero
Calogero Digangi schrieb:
> War das eine Entkalkfahrt ?
Nein, das war der Parkinson-Mode.
Uhu Uhuhu schrieb: > Was sind denn diese drei kammartigen Strukturen auf > Basic_bottom-mirrored.jpg Das sind die Gummitastenkontakte. Calogero Digangi schrieb: > Heute um 10:00 Uhr hatte ich folgendes im Display: > Erst kurz "-| -| -| -|" > danach kam "dESC" und der Motor fuhr los. > > Danach war wieder alles im Normalmodus. > War das eine Entkalkfahrt ? > Wenn ja, immer Sonntags um 10:00 oder wann ? Jau, 'dESC' wie 'to descale'. Da mußt Du ja zufällig gerade danebengestanden haben ;-)
Mein Sparmatic Basic unterscheidet sich auch von dem oben abgebildeten Thermy. Wenn mir jemand einen ebensolchen zum Tracen und Testen/Programmieren zur Verfügung stellt, denke ich über eine Portierung der Firmware nach.
Travel Rec. schrieb: > Die Fuses solltest Du so einstellen, wie ich gepostet habe, > sonst löscht jede neue Programmierung der Firmware > Deine Einsellungen im EEPROM. > Ist klar, habe ich auch gemacht >>Eine Frage noch, >>wie stelle ich den Temp.Offset ein ? >>Im Original musste man 5 Sek. die Prog-Taste drücken. > > Im Moment gar nicht ;-). Wähle bitte die Einstelltemperaturen > entsprechend höher oder niedriger. > Ok, habe schon erkannt - es macht keinen Sinn - >>das Display zeigte dann >>-| -| -| -| statt <<<< an, > > Ähem, naja - wie zeigt man '<' auf einem 7-Segment an? Das mit PonyProg und "-| statt <" habe ich für Nachmacher erwähnt bzw. als Korrektur zur Beschreibung. Die Darstellungsmöglichkeiten einer 7-Seg. Anzeige sind mir klar. > Jau, 'dESC' wie 'to descale'. Da mußt Du ja zufällig gerade > danebengestanden haben ;-) gesessen trifft es .... Danke nochmals an dieser Stelle für die Software Calogero
Calogero Digangi schrieb:
> Danke nochmals an dieser Stelle für die Software
Danke, dass Du sie testest und Rückmeldungen abgibst :-)
Hi, welcher Controller befindet sich denn im Original Sparmatic Basic, wenn der unter einem Epoxyd Klecks steckt ? Gruß Kay
Mein Original Sparmatic Basic (Baujahr Anfang 2009) hat einen Mega169P aufgelötet. Kein Epoxyklecks. Und keine USB-Buchse, sondern nur ein Steckkontakt für JTAG und ISP.
Danke für die Info. Werde mir einfach einen kaufen und sehen, was aktuell drin steckt. Gruß Kay
Einen Sparmatic 'Zero' kannst Du in jedem Praktiker oder bei Reichelt/Pollin kaufen und darauf auch direkt die Firmware flashen. Für den 'Basic' muß die Firmware angepaßt werden. Der Zero ist auch etwas preisgünstiger und kompakter. Kleiner Tip: Die Barriere am + Kontakt im Batteriefach sollte man leicht abknipsen oder abfeilen, dann geht die betreffende Batterie/Akku besser ´rein und sperrt das Gehäuse nicht auf. Bei manchen Akkus mit kurzen Polkappen ist dies sogar nötig für die Funktion.
Hallo, folgendes Problem: Auf dem Display erscheint nur noch ADAP jedoch passiert nichts. Heizung ist voll aufgedreht und der Sparmatic reagiert nicht mehr. Batterien sind voll. Es erscheint immer nur ADAP aber ohne Funktion???
Kann ich so nicht nachvollziehen. Kann der Motor frei drehen? Was passiert, wenn die Batterien herausgenommen und wieder eingelegt werden?
musa schrieb: > Auf dem Display erscheint nur noch ADAP jedoch passiert nichts. Heizung > ist voll aufgedreht und der Sparmatic reagiert nicht mehr. Ich habe die Version Sparmatic_Zero_011.hex auf mehreren Reglern seit ca. einer Woche im Einsatz und es funktioniert wie es soll. Dein Fehler liegt somit nicht an fehlerhafter Software. Hast Du das Getriebe auseinander gehabt und falsch zusammengebaut ? Das Stirnrad mit der Spiegelfläche muss als letztes eingebaut werden. Reihenfolge: Nach einlegen der Batterien muss zuerst "-| -| -| -|" im Display stehen. Danach fährt der Motor oder steht schon am oberen Ende "oPEn" erscheint. Erst nach einem Druck auf die mittlere Taste geht es weiter zu "AdAP". Wenn bei Dir sofort "AdAP" steht, neu flashen. Fuses richtig ? @all: Die Zeros sind ab Freitag wieder beim Praktiker für 19,99€ und bei Pollin für 19,95€ erhältlich cdg
musa schrieb: > Hallo, > > folgendes Problem: > Auf dem Display erscheint nur noch ADAP jedoch passiert nichts. Heizung > ist voll aufgedreht und der Sparmatic reagiert nicht mehr. > Batterien sind voll. Es erscheint immer nur ADAP aber ohne Funktion??? Diese Problematik hatte ich mal bei einem neuen Zero mit der original Firmware. Den hab ich da sofort wieder zurückgebracht. Da war wohl die Impulserkennung für das Drehen defekt.
Habe seit 4.2.10 das gleiche ADAP Problem. Kam plötzlich. Nichts paasiert, trotz Batteriewechsel. Gibt es eine Reset Taste?
@ muasa / @ medienforum: Und ihr habt meine Firmware 0.11 draufgespielt? Oder nutzt ihr die Originalfirmware des Sparmatic Zero?
@ Travel Rec.: Ich kenne dieses Teil hier zwar nicht, aber Reichelt scheint im Forum mitzulesen: http://www.reichelt.de/?;ACTION=3;LA=0;GROUPID=4388;ARTICLE=91215;APE=0;SID=28Rew5pqwQARwAAAI2swQ5d25503ddd820f19abf9dd9dbdda6741 Vielleicht ist deine Firmware ja kompatibel ...
Nee, die Teile sind mit den LifeTec-Dingern baugleich und habe einen noch nicht spezifizierten Controller unter einem Epoxy-Klecks. Siehe hier: Beitrag "Untersuchung Heizungsthermostat Lifetec MD12460"
Hallo, ich habe auch den Sparmatic gekauft. Was mich ärgert ist, daß man keine Akkus benutzen kann bzw. diese nach einer Woche als leer angezeigt werden. Wüde deshalb gerne Eure alternative Firmware benutzen - nur sollten auch folgende Punkte implementiert sein, da ich diese für wichtig erachte: - 2 statt 4 Timerblöcke pro Tag - Keine Urlaubs-Funktion - Keine Blockprogrammierung Werktag / Wochenende bei den Timern Sind diese schon mit eingebaut? Frage: Der Schaltplan für den USB Adapeter sieht recht kompliziert aus - ist das so kompliziert zu bauen für einen absoluten Elektronik Laien? Danke für Infos Gruß
Günterx schrieb: > nur sollten auch > folgende Punkte implementiert sein, da ich diese für wichtig erachte: > > - 2 statt 4 Timerblöcke pro Tag > - Keine Urlaubs-Funktion > - Keine Blockprogrammierung Werktag / Wochenende bei den Timern > > Sind diese schon mit eingebaut? Nein - sorry. Status: in Planung. > Der Schaltplan für den USB Adapeter sieht recht kompliziert aus - > ist das so kompliziert zu bauen für einen absoluten Elektronik Laien? Es ist ein Mini-USB-B5-Stecker aus einem Verbindungskabel zu sezieren, da es diese nicht einzeln oder nur teuer zu kaufen gibt. Das Lötende ist freizufeilen, da man an den 4. zurückgezogenen Pin herankommen muß. Die 5-Pins müssen mit Fädeldraht zu einem echten ISP-Port laut Schaltplan verdrahtet werden und es muß noch ein kleines Federblech für den Resetkontakt angelötet werden. Dann braucht man einen 3V-tauglichen AVR-ISP Programmer und dann kann´s auch schon losgehen. Eine lösbare Aufgabe. Ich habe schon überlegt, Steckerkits zu verkaufen, aber das ist für einen kleinen Preis eine ganz schön langwierige Fummelei ;-).
Travel Rec. schrieb: > Es ist ein Mini-USB-B5-Stecker aus einem Verbindungskabel zu sezieren, > da es diese nicht einzeln oder nur teuer zu kaufen gibt. Conrad bietet die für unter 1 EUR/Stück: 730789 - 62
Oooh - danke Rufus! Hmm, aber löten, 4.Kontakt freifeilen und Federblech biegen muß man dennoch ;-) Die Verbindungskabel habe ich bei Pollin für 85 Cent ergattert, war dann gleich noch ´n Kabel und ´n USB-A Stecker zum Basteln dabei.
Travel Rec. schrieb: > Es ist ein Mini-USB-B5-Stecker aus einem Verbindungskabel zu sezieren, > da es diese nicht einzeln oder nur teuer zu kaufen gibt. Das Lötende ist > freizufeilen, da man an den 4. zurückgezogenen Pin herankommen muß. Die > 5-Pins müssen mit Fädeldraht zu einem echten ISP-Port laut Schaltplan > verdrahtet werden und es muß noch ein kleines Federblech für den > Resetkontakt angelötet werden. Dann braucht man einen 3V-tauglichen > AVR-ISP Programmer und dann kann´s auch schon losgehen. Eine lösbare > Aufgabe. Danke für die Infos. Warum kann man nicht eifnach so ein Verbindungskaber durchwicken und die darin befindlichen drähte direkt anschließen? oder noch besser: warum geht kein USB Verbindugnskabel das am Heizkörperregler und am PC passt direkt? Was ist ein 3V-tauglichen AVR-ISP Programmer, wo bekommt man sowas? Habe leider mit sowas noch nie etwas zu tun gehabt. Sinnvoll wäre unbedingt noch in der Firmware die Reisefunktion, da wenn ich wegfahre ich diese immer nutze um die Raumtemp. abzusenken. Gruß
Günterx schrieb: > Warum kann man nicht eifnach so ein Verbindungskaber durchwicken und die > darin befindlichen drähte direkt anschließen? Weil USB nur 4 Pins / Kabel inklusive Masse benutzt und der 4.Pin des 5-pin MiniUSB-B Steckers nicht belegt ist. Günterx schrieb: > oder noch besser: warum geht kein USB Verbindugnskabel das am > Heizkörperregler und am PC passt direkt? Kenne keins, das man kaufen könnte. Günterx schrieb: > Was ist ein 3V-tauglichen AVR-ISP Programmer, wo bekommt man sowas? Ein AVR-ISP mkII oder AVR-Dragon oder ein STK500. Bekommt man bei CSD-electronics, Reichelt und anderen Distris. Günterx schrieb: > Habe leider mit sowas noch nie etwas zu tun gehabt. > Sinnvoll wäre unbedingt noch in der Firmware die Reisefunktion, da wenn > ich wegfahre ich diese immer nutze um die Raumtemp. abzusenken. Das kann man auch mit der manuell-Funktion erreichen - einfach die gewünschte Temperatur einstellen und von AUTO auf MANU schalten. Diese Temperatur wird gehalten, bis man eine andere einstellt oder wieder in den AUTO-Modus schaltet.
"Das kann man auch mit der manuell-Funktion erreichen - einfach die gewünschte Temperatur einstellen und von AUTO auf MANU schalten. Diese Temperatur wird gehalten, bis man eine andere einstellt oder wieder in den AUTO-Modus schaltet." Nachteil: Die Temp. bleibt so, während ich beim REisemodus einstellen kann, WANN diese wqieder erhöht wird. Wenn ich längere zeit weg bin, ist es ganz vorteilhaft, wenn ich in eine warme Wohnung komme, statt erst wieder z.T. 2 Tage warten zu müssen bis sich die Wände erwärmt haben.
Ja und wenn sich Deine Ankunft um eine Woche verzögert, weil Dein Geschäftspartner noch ein paar Eisen im Feuer hat, heizt Du eine Woche vergebens.
Hallo TravelRec, (nachdem ich im Thread Beitrag "Re: Preisgünstiger Heizungsregler bei Praktiker" keine Antwort bekommen habe, die Frage auch eigentlich ursprünglich hier einstellen wollte, versuche ich mein Glück hier noch einmal) habe mir jetzt auch mal einen Zero gekauft um damit zu experimentieren. Habe bis jetzt weder das entsprechende Kabel hergestellt noch einen Programmer mit 3.5 Volt angeschaft (meine beiden Programmer laufen nur auf 5 Volt). Mir ist aber mit der Original-Software aufgefallen, dass beim Regeln das Verstellgeräusch, dass der Motor macht, für das Schlafzimmer einfach zu laut ist. Gerade morgens im Halbschlaf, wenn das Ventil alle 2 Minuten sssst macht ???!!! So kann ich den Regler nicht wirklich gebrauchen. Bevor ich mir also die Utensilien zum Flashen deiner Firmware anschaffe folgende Frage: Ist es vorstellbar, dass in deiner Software die Verstellzeit deutlich heraufgesetzt wird um den Regelvorgang leiser zu gestalten (ich meine damit die Zeit, die es braucht, den Motor von A nach B zu verfahren, ihn also langsamer zu betreiben)? Gruß Gerhard Und - ohne zu nerven - hast du noch geplant, irgendwann mal die Quellen raus zu geben. Dann könnte man so etwas selber untersuchen.
Hallo TravelRec, Könntest du mir den Sourcecode zur Verfügung stellen, damit ich ihn an meine Sonderwünsche anpassen kann? Ich möchte die Regler gerne als Stellmotoren für meine Fussboden / Wandheizung (und Kühlung) verwenden, hierfür benötige ich keine Timerfunktionen etc., dafür aber auf alle Fälle eine Busanbindung und ein paar Sonderfunktionen wie z.B. eine kurze Aufheizfunktion der Wände fürs Kachelofen-Feeling nach dem Heimkommen von einem kalten Wintertag :) vielen Dank! Tom
Hier die aktuelle Version 0.14 zum Ausprobieren. Der Motor wird nun im Regelbetrieb mit PWM gefahren und ist deutlich leiser. Ein kleiner Bug wurde auch noch gefixt.
Hat schon mal jemand in den Sparmatic Comet reingeschaut? steckt da die gleiche Hardware drin? wär interessant wegen Nutzbarkeit der Firmware (wenigstens nach Anpassung..)
Habe noch keine live gesehen, aber aufgrund des anderen Displays mit mehr Segmenten wird es sich nicht um die gleiche Hardware handeln. Es sollten einige Pins am ATMEGA weniger zur freien Verfügung stehen. Wahrscheinlich ist der neuere Mega169PA verbaut. Um sicherzugehen, müßte sich schon jemand opfern und das Ding kaufen und aufschrauben...
Hallo, ich habe den Sparmatic mit einem Mega169PV liegen, der seit einem jahr nur noch "Adap" anzeigt, gibt es eine Möglichkeit den zu Reseten? Ich habe mir die Platine schon angeschaut finde aber nichts brauchbares. Gruß Florian
Florian.F schrieb: > der seit einem jahr nur noch "Adap" anzeigt, noch Garantie/Gewährleistung ? > gibt es eine Möglichkeit den zu Reseten? Wie wäre es denn die hier angebotene Software zu flashen ? cdg
Florian.F schrieb: > der seit einem jahr > nur noch "Adap" anzeigt, gibt es eine Möglichkeit den zu Reseten? Batterien herausnehmen und nach mindestens 10 Sekunden wieder einsetzen. Danach sollte der Ventilstössel komplett aufgefahren werden und OpEn in der Anzeige stehen. Ansonsten ist in der Tat irgendetwas defekt.
Das ist mein Problem, das funktioniert nicht, deswegen die frage ob es eine andere variante gibt z.B. mit einem Taster und nem widerstand?
Nein, gibt es nicht. Das Wiedereinlegen der Batterien nach einiger Wartezeit ist der RESET. Wenn das Ding ADAP anzeigt, dreht denn dann der Motor? Vielleicht ist der festgerammelt. Aber selbst dann müßte der Regler unmittelbar danach auf OPEn gehen... Mach doch das Teil mal auf und mache ein Foto von den beiden Platinenseiten. Vielleicht ist ´was abgebrannt...
Da das schon etwas länger auf mein schreibtisch rumliegt habe ich eben mal ein foto gemacht. Ich hoffe man kann was drauf erkennen. Aber von etwas verbranten finde ich dort nichts. Und nein der Motor dreht auch nicht mehr.
Ähem, das ist kein Sparmatic ZERO, sondern ein Sparmatic BASIC. Habe ich auch hier, aber für den passt die hier vorgestellte Firmware leider nicht. Iche sehe gerade auch kein Problem auf den Fotos, da hat vielleicht doch das Programm einen Schlag. Auf den 10 Kontaktflächen neben dem Drehgeber ist übrigens auch ISP mit drauf, vielleicht kannst Du das Teil mal an Deinen Programmer anschliessen. Aber viel bringt das natürlich auch nicht. Die Lock-Bits sind außerdem gesetzt. Da hilft nur neuflashen der originalen Firmware, an die Du jetzt aber nicht herankommst. Ich könnte eine Testware posten, die ich mal für meinen Regler geschrieben habe, aber die ist halt nur zum Testen, ob das Ding noch geht...
Naja, ich habe davon noch eins hier liegen hab aber kein ISP-Programmer hier liegen. Aber bauteile sind masig vorhanden, mit etwas hilfe würde ich eins bauen können. Vielen Dank schon mal. Gruß Florian
Hi, am Quellcode wäre ich auch interessiert! Danke
Hi, weiss schon jemand ob man diese SW auch bei dem Sparmatic Comet verwenden kann? Ich würde gerne die aktuelle Temperatur sehen... Viele Grüße
chrwie schrieb: > weiss schon jemand ob man diese SW auch bei dem Sparmatic Comet > verwenden kann? Ich weiss es noch nicht. Hat noch keiner das Teil gekauft und Lust, das mal aufzuschrauben?
Also, ich hab mich heute eingehend über Heizkörper-Thermostate informiert und mich letztendlich für das Comet entschieden (u.a. wegen dem USB-Programmierstick und den kompakten Abmessungen). War leider ausverkauft bei Aldi-Sued, aber Conrad hat noch welche - müssten in den nächsen 2-3 Tagen eintreffen. Hab mir auch den USB-Programmierstick bestellt, den es für nur 16EUR inkl Versand unter www.thermy.de gibt... Sobald die Teile da sind, kuck ich mal rein und poste ein paar Bilder...
:) wäre für mich vielleicht mal ein Anreiz, mich in µC-Programmierung einzuarbeiten.... Der Comet soll ja laut www.eurotronic.org das neueste Modell sein und hat scheinbar eine bessere Batterielaufzeit und ist leiser als die Sparmatic-Basic/Zero. Irgendwo hab ich auch gelesen, dass ein PID-Regler drin ist. Ansonsten lesen sich diverse Rezessionen ja so, dass die Modelle von Honeywell oder technoline-berlin bzw. eQ3 leiser sind. Es gibt jedoch scheinbar 2 Versionen - einmal mit Schrift auf den Buttons aufgedruckt - wie auf der Herstellerseite und bei Conrad zu sehen - und dann mit der Beschriftung unterhalb der Buttons und etwas eckigerem Gehäuse - wie im Aldi-Prospekt. Als einzigen möglichen Unterschied konnte ich automatische Sommerzeit/Winterzeitumstellung ausmachen, welche in http://www.thermy.de/fileadmin/user_upload/downloads/THERMy-BAL-X-11-2010.pdf enthalten ist, hier jedoch nicht: http://www.eurotronic.org/fileadmin/user_upload/SPARmatic-comet/SPARmatic-comet-BAL-de-20100723-screen.pdf
Andreas K. schrieb: > hat scheinbar eine bessere Batterielaufzeit Wird an dem verwendeten PicoPower-AVR liegen. Hatten die aktuellen Zeros aber auch schon. Andreas K. schrieb: > ist leiser als die > Sparmatic-Basic/Zero. Ist der Zero mit PWM-Firmware auch ;-) Andreas K. schrieb: > Irgendwo hab ich auch gelesen, dass ein PID-Regler > drin ist. War beim Zero auch schon so. In der hier behandelten Firmware für den Zero ist es ein PI-Regler, das D erledigt sich durch die Trägheit des Systems. Andreas K. schrieb: > Ansonsten lesen sich diverse Rezessionen ja so, dass die Modelle von > Honeywell oder technoline-berlin bzw. eQ3 leiser sind. Auch der Honeywell ist nach einem halben Jahr Betrieb recht laut. Andreas K. schrieb: > Als einzigen möglichen Unterschied konnte ich automatische > Sommerzeit/Winterzeitumstellung ausmachen, Macht die hier behandelte Firmware für den Zero auch.
gibt es zu der Sparmatic Comet oder der Aldi Thermy schon etwas neues in Bezug auf Firmware und Programmierschnittstelle? Grüße, skol
Ich scheitere noch daran, das Gehäuse zu öffnen. Es wird von 4 Torx-Schrauben (Gr. 6 oder 7, weiss nicht mehr genau) zusammengehalten, die sich ziemlich schwer rausschrauben lassen. Ich habe schon 2 Schraubenzieher eingebüßt, die jedoch mehr oder weniger Noname waren. Kann mir dazu jemand was empfehlen? Wiha ist leider ziemlich teuer, da kostet ein Schraubenzieher 8EUR und ein ganzes Set um die 50EUR :(
Andreas K. schrieb: > die sich ziemlich schwer rausschrauben lassen. Ich habe schon 2 > Schraubenzieher eingebüßt Falsches Werkzeug, zum Schrauben nimmt man ... Schraubendreher für Torx also Torx-Schraubendreher. Für gelegentlich Torx rein- rausdrehen langt auch Baumaktware. Da Du die Größe nicht weisst, nimm den Zero mit in den Baumarkt, zeig ihn an der Info vor und suche den passenden Torx raus. So kaufst Du nur die garantiert passende Größe. Kannst jetzt auch vor Ort die Schrauben rausdrehen (nicht rausziehen) ohne zu kaufen und beim nächsten Baumarktbesuch wieder reindrehen. ALDI hat gelegentlich Torx-Werkzeug, Bits mit Halter usw. Preiswert und für gelegentliches Schrauben geeignet. cdg
Calogero Digangi schrieb: > Da Du die Größe nicht weisst, > nimm den Zero mit in den Baumarkt, zeig ihn an der Info vor > und suche den passenden Torx raus. Der Zero hat keine Schrauben, alles geklickt. P.S.: Und hat bei allen Testern die Sommerzeit auf Normalzeit umgeschaltet?! ;-)
Andreas K. schrieb: > Kann mir dazu jemand was empfehlen? Wiha ist leider ziemlich teuer, da > kostet ein Schraubenzieher 8EUR und ein ganzes Set um die 50EUR :( Set gibt's bei Reichelt billiger. http://www.reichelt.de/?ACTION=3;ARTICLE=28801;PROVID=2402
Hallo in die Runde! Habe mit Interesse die Beiträge gelesen, da ich auch auf der Suche nach Möglichkeiten bin, den Sparmatic Comet von "außen" zu steuern. Ich habe ein Probeexemplar zerlegt und die Scans hier mal angehangen. Leider ging's nicht ganz ohne Schäden ab, da das Gerät bei der Montage offenbar im Gehäuse verlötet wird. Der Positionssensor des Motors wird dabei mittels 3 Kontakten mit der eigentlichen Platine verlötet, das lies sich nicht ganz sauber trennen. Für weitere Versuche habe ich Drahtbrücken eingelötet. Der Temperatursensor befindet sich auf der Seite der Platine, wo der Controller sitzt direkt an den Tasten. Um das Ganze testen zu können, nutze ich ein ausgebautes Ventilunterteil. Sehr weit bin ich noch nicht gekommen, aber eventuell helfen ja die Bilder schon weiter. Öffnen läßt sich das Gehäuse mit einem T6. Aso, der Controller ist ein Atmega 169PV-8MU. Beste Grüße Matthias
na das sieht doch gut aus! Die Platine macht auch einen etwas feineren Eindruck, als beim Vorgängermodell. Wie ist denn der Drehgeber so? Beim Basic war er ja ziemlich krackelig. Also ich denke, dass man die Firmware mit etwas Aufwand an den Regler anpassen kann. Hauptarbeit wäre die Ansteuerung des anders aufgebauten Displays und die Menüsteuerung.
Hi, ich habe schon etwas Erfahrung mit Anzeigen und dem Atmega 128 und Analogtechnik. Bei uns möchte ich @home auch die SPARmatic-comet nutzen. Beim weit bekannten Online-Auktionshaus gibt es diese ja sehr günstig. Würde gerne bei der Portierung, speziell aber bei der Darstellung / der Anbindung an die Anzeige und Menüführung helfen. - Ein echt interessantes Projekt. Wenn ich die diese Woche Bestelle, kann ich wohl erst mitte nächte Woche also 10....11. mit ihnen rechnen. Wäre cool, wenn jemand eine ..de.vu-Seite machen könnte, damit wir vielleicht langsam eine Übersicht und Struktur in das Thema bekommen könnten. Es scheinen ja diverse Firmwares mit Vor- und Nachteilen und diversen Kompatibilitäten zu den jeweiligen Typen zu existieren. Oder vielleicht könnte man das bisherige Wissen ja auch in diesem Forum hier irgendwie übersichtlich bündeln. Wie gesagt, ich will mir dann schonmal die neuen SPARmatic-comet holen und hätte Lust zu helfen. Würde mich über die aktuellste Version sehr freuen :-) Mal ne Frage... könnte man eigentlich mit nem STK-500 Board nicht den Inhalt vom verbauten Atmega auslesen?... Wenn man ihn beschreiben kann und die Lock-Bits nicht geschrieben sind, müsste das ja eigentlich gehen, oder? Ich meine, eigentlich müsste ich dafür doch nur einen Adapter bauen... der wird ja bestimmt nich Pin-Kompatibel sein mit dem 128er. Gruß Peter
relaxend schrieb: > Mal ne Frage... könnte man eigentlich mit nem STK-500 Board nicht den > Inhalt vom verbauten Atmega auslesen?... Wenn man ihn beschreiben kann > und die Lock-Bits nicht geschrieben sind, müsste das ja eigentlich > gehen, oder? > Ich meine, eigentlich müsste ich dafür doch nur einen Adapter bauen... > der wird ja bestimmt nich Pin-Kompatibel sein mit dem 128er. Die Entwickler der Sparmatic-Geräte waren nicht so blauäugig, die LockBits nicht zu setzen. Der verwendete Controller ist kein M128 sondern ein M169PA. Da ist nichts pinkompatibel, zumal der M128 gar keinen LCD-Controller enthält.
> Knut Ballhause schrieb: > Die Entwickler der Sparmatic-Geräte waren nicht so blauäugig, die > LockBits nicht zu setzen. Der verwendete Controller ist kein M128 > sondern ein M169PA. Da ist nichts pinkompatibel, zumal der M128 gar > keinen LCD-Controller enthält. Jupp, dass das nicht der gleiche Controller ist, habe ich auf den Bildern auch gesehen. Und dass der 128er keine LCD-Controller hat, ist mir auch bekannt, da ich ja mir bei meinem Display ansonsten nicht die Mühe hätte machen müssen, eine Routine zu schreiben, die eben das alles was ich ausgeben wollte/will entsprechend für den Parallelbus übersetzt ;-) Hmm... gut, wenn die netten Freunde von SPARmarkt das geschützt haben, dann ist das zwar sehr schade, aber auch nicht so wild. Ich denke mal nicht, dass die Anzeige eine echte eigene Schnittstelle wie RS232, SPI oder I2C bensitzt, da an der einen Seite der Platine ja die blanken Kontaktflächen für den direkten Anschluss an die Anzeige besitzt.... ist ja auch schön billig. "hehehe" Für das Schreiben der Darstellungsroutine aber umso besser, da man sich Wort für Wort alles aufzeichnen und später einfach für seine eigenen Zwecke, Zeichen für Zeichen bzw. Symbol für Symbol, zusammenschreiben kann. Es sind laut Foto und Atmega169 anscheinend nur die 3..4 Segmente direkt vom LCD-Driver aufgelegt (z.B. für die Zahlen), die anderen Anschlüsse laufen an eine andere Stelle. Die anderen Zeichen/Symbole werden dann wahrscheinlich direkt über die Ports gesteuert. Selbst wenn alle 8bit des Treibers direkt auf die Anzeige laufen sollten, wäre dies recht wenig um ohne Decodierer für RS232/SPI/I2C alles anzeigen zu können. Ich vermute mal, dass da aber bestimmt die günstigste Variante gewählt wurde, die eben direkt angesteuert wird. Was ich mir allerdings am ehesten vorstellen kann wäre, dass alle Zeichen und Symbole direkt angesteuert werden. Sonst wären die Anschlüsse für die Anzeige nicht so viele. Höchstens werden die Zahlen über den LCD-Driver gesteuert. Was dagegen spricht, ist allerdings, dass es dann ein Durcheinander wäre. Ein Teil so und ein anderer so angesteuert... ich glaube nicht, dass das so gemacht wurde. Ist ja auch egal erstmal. Ich habe mir jedenfalls schon welche Bestellt und bin gespannt drauf, wie das nun im Detail aussieht und ob es so ist, wie ich es mir denke. Und vorallem.... ob vielleicht bei der neuen Version... die ja nun nicht sehr lange auf dem Markt zu sein scheint. Ob die vielleicht schon viel besser funktioniert, wie die alten Dinger... Gruß Peter
relaxend schrieb: > Und dass der 128er keine LCD-Controller hat, ist mir auch bekannt, da > ich ja mir bei meinem Display ansonsten nicht die Mühe hätte machen > müssen, eine Routine zu schreiben, die eben das alles was ich ausgeben > wollte/will entsprechend für den Parallelbus übersetzt ;-) Wie bitte? relaxend schrieb: > Ich denke mal nicht, dass die Anzeige eine echte eigene Schnittstelle > wie RS232, SPI oder I2C bensitzt, da an der einen Seite der Platine ja > die blanken Kontaktflächen für den direkten Anschluss an die Anzeige > besitzt.... ist ja auch schön billig. "hehehe" Nein. Das ist ein ganz simples Glas-Display mit Segmenten und Backplanes, wie in den alten Quarzuhren. relaxend schrieb: > Was ich mir allerdings am ehesten vorstellen kann wäre, dass alle > Zeichen und Symbole direkt angesteuert werden. So ist es. Alles andere, was Du schreibst, hättest Du Dir quasi sparen können, wenn Du diesen Thread gelesen hättest... Beitrag "Preisgünstiger Heizungsregler bei Praktiker"
Ich hab mal den Schaltplan für den Sparmatic Comet rausgezeichnet. Mg Leo
Danke Leo! Werde ich bei Gelegenheit prüfen. Kannst Du mir mal beschreiben, wie der Drehgeber vom Handling her ist? Falls ich mir einen Comet als Testexemplar kaufe, wollte ich den wenigstens benutzen können. Der Drehgeber vom Basic war ziemlicher Murks.
Ich möchte einmal nach Erfahrungen mit der Haltbarkeit / Qualität des Sparmatic Comet fragen (auch wenn leicht OT). Hintergrund: Ich habe 2 Stück Sparmatic Comet gekauft. Beide waren bereits bei der Inbetriebnahme defekt. - Das 1. Gerät hatte eine intermittierende Unterbrechung der Stromzufuhr. Bereits "schiefes Angucken" reichte aus, den Effekt auszulösen. - Das 2. Gerät besaß ein zu schwergängiges Getriebe: Auch im nicht-montierten Zustand kam der Fehler E-3 beim manuell ausgelösten Adaptieren. Habe ich hier ein "Montagsprodukt" erwischt oder gibt es weitere "Leidensgenossen"? Danke für Antworten! Bernhard
Bernhard R. schrieb: > Ich habe 2 Stück Sparmatic Comet gekauft. Beide waren bereits bei der > Inbetriebnahme defekt. Bring sie direkt zum Händler zurück und nimm 2 neue mit.
Knut Ballhause schrieb: > Bring sie direkt zum Händler zurück und nimm 2 neue mit. Ich habe nicht gefragt, wie ich mit dem Händler verfahren soll, sondern wie es mit Erfahrungen zur Qualität dieses Produks aussieht. Bernhard
Ich hab 4 Stück gekauft und bisher keine derartigen Probleme. Das einzige, was stört ist, dass die Adaptierung nicht immer stimmt. Die Regler drehen nicht richtig zu, wenn es eigentlich warm genug ist. Dann hilft nur neu adaptieren und fester anschrauben.
Andreas K. schrieb: > Das > einzige, was stört ist, dass die Adaptierung nicht immer stimmt. Die > Regler drehen nicht richtig zu, wenn es eigentlich warm genug ist. Das Problem existierte schon bei der originalen Zero-Firmware.
Ich hatte auch einen Sparmatic Basic, der nur ADAP anzeigte. Ich konnte ihn heute recht einfach reparieren. Erstmal auseinandernehmen bis man den Motor in der Hand hat. In meinem Fall hatte sich der Motor etwas verhakt. Ich konnte das Antriebsrad mit der Hand etwas bewegen. Danach das Ding wieder zusammenbauen, Batterien rein. Es zeigt immer noch ADAP an, aber der Motor dreht den Stift nun wieder zweimal raus und rein und danach läuft wieder alles wie gewohnt.
Von wegen Projekt-Website - warum nicht einfach hier als Projekt im Wiki ablegen? http://www.mikrocontroller.net/articles/Kategorie:AVR-Projekte Dafuer ist es doch da, oder? Siehe z.B. HR20E... Ansonsten - Hat sich inzwischen mal jemand den Programmierstick Progmatic reingezogen? Was ist da verbaut? Zur Zeit gibts da Lieferprobleme, sonst haette ich meinen schon...
Der Programmierstick macht momentan nur mit der Originalfirmware Sinn. Ich habe keine Verwendung dafür. Er war mir bisher auch immer zu teuer, da ich dafür schon wieder einen neuen Regler kaufen kann. Da ich meine Sparmatics mit Funk ausgerüstet habe, wollte ich irgendwann einmal Programmierfeatures drahtlos machen...
Hallo zusammen, ist zwar etwas OT, aber vielleicht interessant für den ein oder anderen. Den Comet gibt es bei Pollin aktuell für ~15,-EUR Habe welche bestellt und reihe mich damit in die Reihe der Atternativ-Firmware-Interessenten ein ;-) Gruß Chris
bei Reichelt und ELV gibts zur Zeit auch welche für 15€
Beitrag "Neuer Heizkörperthermostat bei ELV" http://www.mikrocontroller.net/articles/Heizungsthermostat
das ist aber nicht ETH sondern EHT (siehe Reichelt) Hersteller schein eq-3 zu sein (siehe Anleitung bei LEV und Reichelt)
Hier ein Update - hatte bei der USB Buchse den GND vergessen.
echt gut gemacht, Leopold. Kannst du das Target-File mal ranhängen? Gruß Helmut
Hi, ich hatte den Support wegen fehlender Sommer-/Winterzeitumschaltung bei dem neuen Comet-Regler angeschrieben: "Sehr geehrter Herr xxx, unsere Geräte schalten automatisch zwischen Sommer und Winterzeit um. Dies wurde nur in den neueren Bedienungsanleitungen vergessen zu erwähnen. Mit freundlichen Grüßen / Best regards Technik EUROtronic Technology GmbH" Gruß Chris
So, hier nun das LCD vom Sparmatic Comet mit den einzelnen Segmenten. Und betrieben wird es so:
1 | LCDCRB = (1<<LCDCS)|(0<<LCD2B)|(1<<LCDMUX1)|(1<<LCDMUX0)|(1<<LCDPM2)|(1<<LCDPM1)|(1<<LCDPM0); |
2 | /*
|
3 | (1<<LCDCS) // Das LCD wird im asynchronen Modus (LCDCS-Bit=1)
|
4 | mit der Frequenz des Quarzes TOSC1 = 32.768Hz als LCD Clock betrieben.
|
5 | |(0<<LCD2B) // 1/3 bias is used
|
6 | |(1<<LCDMUX1)|(1<<LCDMUX0) // 1/4 Duty; COM0:3;
|
7 | |(1<<LCDPM2)|(1<<LCDPM1)|(1<<LCDPM0); // SEG0:24
|
8 | */
|
9 | |
10 | LCDFRR = (0<<LCDPS2)|(0<<LCDPS1)|(0<<LCDPS0)|(0<<LCDCD2)|(0<<LCDCD1)|(1<<LCDCD0); |
11 | /*
|
12 | (0<<LCDPS2)|(0<<LCDPS1)|(0<<LCDPS0) // N = 16
|
13 | |(0<<LCDCD2)|(0<<LCDCD1)|(1<<LCDCD0); // D = 2
|
14 | // ergo f(frame) = 128Hz
|
15 | */
|
16 | |
17 | LCDCCR = (1<<LCDDC2)|(0<<LCDDC1)|(0<<LCDDC0)|(/*config.lcd_contrast*/ 10 << LCDCC0); |
18 | /*
|
19 | (1<<LCDDC2)|(0<<LCDDC1)|(0<<LCDDC0) // 575 µs
|
20 | |(config.lcd_contrast << LCDCC0); // Set the initial LCD contrast level
|
21 | */
|
22 | |
23 | LCDCRA = (1<<LCDEN)|(1<<LCDAB)|(0<<LCDIE)|(0<<LCDBL); |
24 | /*
|
25 | (1<<LCDEN) // Enable LCD
|
26 | |(1<<LCDAB) // Low Power Waveform
|
27 | |(0<<LCDIE) // disable Interrupt
|
28 | |(0<<LCDBL); // No Blanking
|
29 | */
|
Mit dieser Initialisierung stimmt das Timing an SEG0 und COM0 mit dem der Original Firmware überein. MG Leo
Danke für die Forschung ;-). Junge haben die das Display kreuz und quer angecrimpt. Da macht das Programmieren des Bargrafen und der Characters nochmal so viel Spaß :-O, ging das denn nicht anders??!?
Völliger Müll sind die Dinger ja schon. Aber bin auch kein handwerklicher Laie,somit schließe ich mich mal hier an. Habe ein neues Gerät bestellt,welches nicht wie gewünscht funktioniert, Support hilft mir nicht->Kundenservice=0. Ich lege die Batterien ein und gehe die Einstellungen durch, ich höre das der Motor dreht und es erscheint INST im Display. Auch das führe ich durch, ich forder die ADAP und höre wieder das der Motor dreht.....anschließend passiert aber nix mehr,das Gerät bleibt im ADAP-Modus hängen, nix geht dann mehr. Habs nun mehrmals probiert. Habe alles mal in der Hand durchgespielt...und trotz das der Motor dreht bewegt sich der Stoßel vllt 0,5mm gesamt,mehr nicht. Habt ihr ne Lösung?Bevor ichs Gerät flashe sollte es original erstmal laufen,sonst geht es wohl zurück. MfG manuel
Manuel schrieb: > Bevor ichs Gerät flashe sollte es original erstmal > laufen,sonst geht es wohl zurück. Scheint wohl eine Getriebe- oder Montageproblematik zu sein. Ich würde es zurückgeben und ein anderes Teil mitnehmen. Meine Zeros laufen alle und liefen auch mit der originalen Firmware im Rahmen ihrer Möglichkeiten.
Hallo, hat schon jemand versucht eine Alternativ-Software für den PROGmatic zu entwickeln? Der Funktionsumfang der Standartsoftware ist schon etwas dürftig. Gruß Frank
Was soll denn an dem ProgMatic dürftig sein? Der soll doch nur die am Rechner erstellten Tagesprogrammierungen an den Heizregler übertragen. Mehr geht da nicht. Klar könnte man noch andere Daten hin- und herschicken oder die Firmware konfigurieren, aber das wiederum muss die Firmware auf den Reglern unterstützen.
Ich denke er meint das zugehörige Windows-Tool ;) Ich kann mangels Progmatic dazu nicht viel sagen. Eurotronic hat gestern eine Email rumgeschickt, dass diese Programmier-Sticks erst im Januar wieder lieferbar sind, weil irgendein Mikrochip nicht lieferbar ist.
Andreas K. schrieb: > Ich denke er meint das zugehörige Windows-Tool ;) Ja, sicher. Aber was soll das denn noch können? Die Firmware kann doch auch nichts anderes...
Andreas K. schrieb: > weil irgendein Mikrochip nicht lieferbar ist. Wird wohl ein ATMEL-Controller sein...
Knut Ballhause schrieb: > Andreas K. schrieb: >> weil irgendein Mikrochip nicht lieferbar ist. > > Wird wohl ein ATMEL-Controller sein... OK, es ist richtig, was die FW nicht bereitstellt kann eine Software nicht auslesen. Aber woher will man wissen, dass die z.Z. eingesetzte Software alles ausschöpft. Mich würde z.B. eine Statistik über Temperaturverlauf, Heizdauer u.s.w. interessieren. Gruß Frank
Frank schrieb: > Aber woher will man wissen, dass die z.Z. eingesetzte > Software alles ausschöpft. Weil niemand etwas programmiert, was er nicht bezahlt bekommt. Frank schrieb: > Mich würde z.B. eine Statistik über Temperaturverlauf, > Heizdauer u.s.w. interessieren. Das kannst Du mit der Original-Firmware vergessen. Abgesehen davon kannst Du in der Hardware, respektive dem EEPROM, gerade mal etwa 700 Bytes zur freien Verwendung haben. Nicht gerade viel.
Knut Ballhause schrieb: > Frank schrieb: >> Aber woher will man wissen, dass die z.Z. eingesetzte >> Software alles ausschöpft. > > Weil niemand etwas programmiert, was er nicht bezahlt bekommt. Es ist aber durchaus nicht selten, dass das gleiche Gerät zu unterschiedlichen Preisen mit unterschiedlichen Features verkauft wird und sich die Versionen nur durch die Konfguration unterscheiden. Es ist halt manchmal doch billiger den teureren controller zu benutzen, wenn dafür höhere Stückzahlen zusammenkommen und doppelte Lagerhaltungoder gar Produktionsschienen vermieden werden.
Naja. Ganz so blauäugig würde ich das erfahrungsgemäß nicht sehen. Zumal dieses Produkt für Kunden gedacht ist, die eigentlich nur Heizen und keinen Computerlehrgang machen wollen. Ich denke nicht, dass da noch ´was versteckt ist. Schließlich ist das keine X-Box oder PS3...
Knut Ballhause schrieb: > Junge haben die das Display kreuz und quer angecrimpt. Ein System steckt ja schon dahinter, aber mir raucht schon der Kopf auf der Suche nach einem Algorithmus damit man die darzustellenden Zeichen nur ein einziges mal definieren muss und aber beliebig an allen 4 Stellen verwenden kann. MG Leo
Also so grafisch aufgedröselt sieht es fast schon wieder logisch aus ;-). Bitspiegelung lässt sich in ASM zum Glück sehr einfach realisieren. Die zwei inneren Bits in Abhängigkeit zur Position zu verschieben, ist auch nicht das Problem. Beim Zero musste man auch etwas um die Ecke denken, da wurden auch 2 Ziffern anders behandelt, als die anderen 2... Danke für die Bestandsaufnahme, Leopold.
Knut Ballhause schrieb: > Die zwei inneren Bits in Abhängigkeit zur Position zu verschieben Hmmm, irgendwie siehst du schon was, was ich noch nicht sehe.
Na in Position 1+2 sind 3 Bits gleich belegt. In Position 3 und 4 auch, aber gespiegelt. Der Nullpunkt des oberen Nibbles bei Position 1+2 wandert und das herausgeschobene Bit befindet sich im höheren Register mal an oberer, mal an unterer Stelle. Für 3 und 4 gilt der gespiegelte Fall. Erleichternd kommt hinzu, dass immer 5Byte Adresssprünge vorliegen, so dass man durch einfaches Addieren oder Subtrahieren von 5 das zugehörige Register findet. Beim Zero waren auch mehrere Bits verdreht, weshalb man in der Ausgaberoutine diese auch mehrfach tauschen musste und für den Einsprung in die Ausgabe eine Position des Charakters als Parameter mitgeben musste. Trotzdem hätte man die Bits beim 'comet' effektiver aufteilen können, indem man die 3 gleichen Bits an dieselbe relative Position im Byte gelegt hätte. So muß man wirklich jeden Charakter vor der Ausgabe umdesignen. Na mal sehen, was da noch auf uns zu kommt.
Ich hab es so gemacht wie Dario Carluccio und Jiri Dobry beim OpenHR20. Ist einfach, effizient und logisch.
Knut Ballhause schrieb: > Was hast Du gemacht? Nun, zuerst alle Segmente durchnummeriert
1 | // LCD_SEG:_xx for LCD_SetSeg // LCDDR | lcd_data[] |
2 | #define LCD_SEG_BAR24 0 // 0, 0 | [00], BIT 0 |
3 | #define LCD_SEG_2C 1 // 0, 1 | [00], BIT 1 |
4 | #define LCD_SEG_2D 2 // 0, 2 | [00], BIT 2 |
5 | #define LCD_SEG_2M 3 // 0, 3 | [00], BIT 3 |
6 | #define LCD_SEG_2E 4 // 0, 4 | [00], BIT 4 |
7 | #define LCD_SEG_1D 5 // 0, 5 | [00], BIT 5 |
8 | #define LCD_SEG_1M 6 // 0, 6 | [00], BIT 6 |
9 | #define LCD_SEG_1E 7 // 0, 7 | [00], BIT 7 |
10 | #define LCD_SEG_B2 8 // 1, 0 | [01], BIT 0 |
11 | #define LCD_SEG_B3 9 // 1, 1 | [01], BIT 1 |
12 | #define LCD_SEG_B8 10 // 1, 2 | [01], BIT 2 |
13 | #define LCD_SEG_B9 11 // 1, 3 | [01], BIT 3 |
14 | #define LCD_SEG_B14 12 // 1, 4 | [01], BIT 4 |
15 | #define LCD_SEG_B15 13 // 1, 5 | [01], BIT 5 |
16 | #define LCD_SEG_B21 14 // 1, 6 | [01], BIT 6 |
17 | #define LCD_SEG_B22 15 // 1, 7 | [01], BIT 7 |
18 | #define LCD_SEG_3E 16 // 2, 0 | [02], BIT 0 |
19 | #define LCD_SEG_3M 17 // 2, 1 | [02], BIT 1 |
20 | #define LCD_SEG_3D 18 // 2, 2 | [02], BIT 2 |
21 | #define LCD_SEG_4E 19 // 2, 3 | [02], BIT 3 |
22 | #define LCD_SEG_4M 20 // 2, 4 | [02], BIT 4 |
23 | #define LCD_SEG_4D 21 // 2, 5 | [02], BIT 5 |
24 | #define LCD_SEG_4C 22 // 2, 6 | [02], BIT 6 |
25 | #define LCD_SEG_RADIO 23 // 2, 7 | [02], BIT 7 |
26 | #define LCD_SEG_HOME 24 // 3, 0 | [03], BIT 0 |
27 | # 25 // 3, 1 | [03], BIT 1 |
28 | # 26 // 3, 2 | [03], BIT 2 |
29 | # 27 // 3, 3 | [03], BIT 3 |
30 | # 28 // 3, 4 | [03], BIT 4 |
31 | # 29 // 3, 5 | [03], BIT 5 |
32 | # 30 // 3, 6 | [03], BIT 6 |
33 | # 31 // 3, 7 | [03], BIT 7 |
34 | #define LCD_SEG_BAG 32 // 5, 0 | [04], BIT 0 |
35 | #define LCD_SEG_2K 33 // 5, 1 | [04], BIT 1 |
36 | ... |
Damit kann man dann schon einzelne Segmente ansteuern.
1 | void lcd_SetSeg(uint8_t seg, lcd_mode_t lcd_mode) |
2 | { |
3 | uint8_t lcd_register; |
4 | uint8_t bit; |
5 | |
6 | // Register = segment DIV 8 |
7 | lcd_register = seg / 8; |
8 | |
9 | // Bitposition = segment mod 8 |
10 | bit = 1<<(seg % 8); |
11 | |
12 | // Clear Bit in Bitplanes |
13 | lcd_data[0][lcd_register] &= ~bit; |
14 | lcd_data[1][lcd_register] &= ~bit; |
15 | |
16 | if (lcd_mode == LCD_MODE_ON) |
17 | { |
18 | // Set Bit in Bitplanes |
19 | lcd_data[0][lcd_register] |= bit; |
20 | lcd_data[1][lcd_register] |= bit; |
21 | } // if (lcd_mode == LCD_MODE_ON) |
22 | |
23 | if (lcd_mode == LCD_MODE_BLINK) |
24 | { |
25 | // Set Bit in Bitplane |
26 | lcd_data[1][lcd_register] |= bit; |
27 | } // if (lcd_mode == LCD_MODE_BLINK) |
28 | |
29 | LCD_UPDATE_ENABLE(); // Ist ein Makro und macht ((LCDCRA |= (1<<LCDIE)),(lcd.force_update=1)) |
30 | } // lcd_SetSeg |
Wenn der LCD Interrupt auslöst wird die folgende Funktion ausgeführt und das LCD aktualisiert.
1 | void lcd_task_LcdUpdate(void) |
2 | { |
3 | lcd.mode_blink = 0; |
4 | for (uint8_t i = 0; i < LCD_REGISTER_COUNT; i++) |
5 | { |
6 | if (lcd_data[0][i] != lcd_data[1][i]) // Prüfen ob sich der Inhalt der Bitplanes wo unterscheidet, wenn ja dann blinken |
7 | { |
8 | lcd.mode_blink = 1; |
9 | break; |
10 | } // if (lcd_data[0][i] != lcd_data[1][i]) |
11 | } // for |
12 | |
13 | |
14 | if ( (lcd.mode_blink) && (++lcd.blink_counter > LCD_BLINK_FRAMES) ) |
15 | { |
16 | lcd.aktive_bitplane ^= 1; // bitplane umschalten |
17 | |
18 | lcd.blink_counter = 0; |
19 | lcd.force_update = 1; |
20 | } // if ( (lcd.mode_blink) && (++lcd.blink_counter > lcd_BLINK_FRAMES) ) |
21 | |
22 | |
23 | if (lcd.force_update) |
24 | { |
25 | lcd.force_update = 0; |
26 | |
27 | // Copy desired segment buffer to the real segments |
28 | LCDDR0 = lcd_data[lcd.aktive_bitplane][0]; |
29 | LCDDR1 = lcd_data[lcd.aktive_bitplane][1]; |
30 | LCDDR2 = lcd_data[lcd.aktive_bitplane][2]; |
31 | LCDDR3 = lcd_data[lcd.aktive_bitplane][3]; |
32 | LCDDR5 = lcd_data[lcd.aktive_bitplane][4]; |
33 | LCDDR6 = lcd_data[lcd.aktive_bitplane][5]; |
34 | LCDDR7 = lcd_data[lcd.aktive_bitplane][6]; |
35 | LCDDR8 = lcd_data[lcd.aktive_bitplane][7]; |
36 | LCDDR10 = lcd_data[lcd.aktive_bitplane][8]; |
37 | LCDDR11 = lcd_data[lcd.aktive_bitplane][9]; |
38 | LCDDR12 = lcd_data[lcd.aktive_bitplane][10]; |
39 | LCDDR13 = lcd_data[lcd.aktive_bitplane][11]; |
40 | LCDDR15 = lcd_data[lcd.aktive_bitplane][12]; |
41 | LCDDR16 = lcd_data[lcd.aktive_bitplane][13]; |
42 | LCDDR17 = lcd_data[lcd.aktive_bitplane][14]; |
43 | LCDDR18 = lcd_data[lcd.aktive_bitplane][15]; |
44 | } //if (lcd.force_update) |
45 | |
46 | |
47 | if (!lcd.mode_blink) |
48 | { |
49 | LCDCRA &= ~(1<<LCDIE); // LCD Interrupt ausschalten wenn die Bitplanes eh nicht unterschiedlich sind |
50 | } // if (!lcd.mode_blink) |
51 | |
52 | } // lcd_task_LcdUpdate |
Nur zur Ansteuerung der vier 14 Segment Anzeigen. Dazu werden die Bitmuster der einzelnen darzustellenden Zeichen in einem Array im Flash abgelegt.
1 | __flash uint16_t pgmlcd_character_table[] = |
2 | { |
3 | // Segment M L K J I H G2 G1 F E D C B A |
4 | // Bit 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
5 | 0x243F, // '0' |
6 | 0x0406, // '1' |
7 | 0x00DB, // '2' |
8 | 0x008F, // '3' |
9 | 0x00E6, // '4' |
10 | 0x00ED, // '5' |
11 | 0x00FD, // '6' |
12 | 0x2401, // '7' |
13 | 0x00FF, // '8' |
14 | 0x00EF, // '9' |
15 | 0x00F7, // 'A' |
16 | 0x0C39, // 'B' |
17 | 0x0039, // 'C' |
18 | 0x120F, // 'D' |
19 | 0x0079, // 'E' |
20 | 0x0071, // 'F' |
21 | } |
Und zu jeder der vier Anzeigen eine Umsetzung auf deren Segmente am LCD
1 | // Look-up table to adress a segment inside a field |
2 | __flash uint8_t pgmlcd_SegOffsetTable[][4]= |
3 | { |
4 | /* 0 1 2 3 Field */ |
5 | {LCD_SEG_1A, LCD_SEG_2A, LCD_SEG_3A, LCD_SEG_4A}, |
6 | {LCD_SEG_1B, LCD_SEG_2B, LCD_SEG_3B, LCD_SEG_4B}, |
7 | {LCD_SEG_1C, LCD_SEG_2C, LCD_SEG_3C, LCD_SEG_4C}, |
8 | {LCD_SEG_1D, LCD_SEG_2D, LCD_SEG_3D, LCD_SEG_4D}, |
9 | {LCD_SEG_1E, LCD_SEG_2E, LCD_SEG_3E, LCD_SEG_4E}, |
10 | {LCD_SEG_1F, LCD_SEG_2F, LCD_SEG_3F, LCD_SEG_4F}, |
11 | {LCD_SEG_1G1, LCD_SEG_2G1, LCD_SEG_3G1, LCD_SEG_4G1}, |
12 | {LCD_SEG_1G2, LCD_SEG_2G2, LCD_SEG_3G2, LCD_SEG_4G2}, |
13 | {LCD_SEG_1H, LCD_SEG_2H, LCD_SEG_3H, LCD_SEG_4H}, |
14 | {LCD_SEG_1I, LCD_SEG_2I, LCD_SEG_3I, LCD_SEG_4I}, |
15 | {LCD_SEG_1J, LCD_SEG_2J, LCD_SEG_3J, LCD_SEG_4J}, |
16 | {LCD_SEG_1K, LCD_SEG_2K, LCD_SEG_3K, LCD_SEG_4K}, |
17 | {LCD_SEG_1L, LCD_SEG_2L, LCD_SEG_3L, LCD_SEG_4L}, |
18 | {LCD_SEG_1M, LCD_SEG_2M, LCD_SEG_3M, LCD_SEG_4M}, |
19 | }; |
Dann noch eine kleine generische Funktion die das Bitmap eines Zeichen auf einem der vier Anzeigen darstellt.
1 | static void lcd_WriteDigit(uint16_t bitmap, uint8_t digit, lcd_mode_t lcd_mode) |
2 | { |
3 | uint8_t seg; |
4 | uint16_t mask = 1; |
5 | |
6 | // Set 14 Bits |
7 | for (uint8_t i=0; i<14; i++) |
8 | { |
9 | seg = pgmlcd_SegOffsetTable[i][digit]; |
10 | |
11 | lcd_SetSeg(seg,((bitmap & mask)?lcd_mode:LCD_MODE_OFF)); |
12 | |
13 | mask <<= 1; |
14 | } // for |
15 | } // lcd_WriteDigit |
Und mit einer Funktion wie dieser kann man dann Ziffern von 0 - F auf einer der vier Anzeigen darstellen.
1 | void lcd_WriteNum(uint8_t value, uint8_t digit, lcd_mode_t lcd_mode) |
2 | { |
3 | if (value < 16) |
4 | { |
5 | lcd_WriteDigit(pgmlcd_character_table[value], digit, lcd_mode); |
6 | } |
7 | } // lcd_WriteNum |
Wie schon gesagt, alles nach der Idee von Dario Carluccio und Jiri Dobry. Der Code wurde teilweise von mir nur etwas abgeändert bzw. optimiert. Fortsetzung folgt. MG Leo
Halt die Leiter gerade... Von dem Code verstehe ich so viel wie ein Pferd vom Mauern. Aber danke, dass Du Dir so viel Mühe gemacht hast. Ich guck´s mir nochmal in Ruhe an....
Hallo nochmal, habe gerade meine Lieferung bekommen. Die COMETs von Pollin haben auch überhaupt keine Schrauben mehr, sondern das Gehäuse ist mit Schweissnippeln gesichert. Ebenso die Platine. Um an die Innereien zu kommen, muss man im Batteriefach 2 Nippel oben abknipsen und unten im Gehäuse 2 Nippel mit einem 3...4mm Bohrer ausbohren. Um das Wiederverschliessen muss ich mir dann noch ´nen Kopf machen ;-) Die Reise beginnt...
Hmm, erste negative Erfahrung: der federnde Kontakt des Programmiersteckers lässt sich nicht ohne Weiteres in die Mini-USB-Buchse hineinstecken, da diese den Platz im Gehäuse nicht vorsieht. Somit ist das Programmieren, ohne das Gehäuse zu modifizieren, ziemlich unmöglich.
Knut Ballhause schrieb: > Die COMETs von Pollin haben auch überhaupt keine Schrauben mehr, > sondern das Gehäuse ist mit Schweissnippeln gesichert. Ebenso die Platine. Gut zu wissen - dann kann ich mir die Bestellung bei Pollin sparen. > Der federnde Kontakt des Programmiersteckers lässt sich nicht > ohne Weiteres in dieMini-USB-Buchse hineinstecken, > da diese den Platz im Gehäuse nicht vorsieht. Ja, stimmt - ist beim Thermy auch so bemerke ich gerade. Blöd wenn man 10 Stück zu programmieren hat. Muß ich mir halt einen Bootloader für Funk mit RFM12 machen. ;-)
Der Spannungsverlauf an ADC2 (R19-C8) lässt sich gut für die Referenzfahrt nutzen.
Wahrscheinlich ist diese Schaltung auch für die Erkennung gedacht ;-). Der Comet macht zu wenige Umdrehungen für eine sichere Erkennung per Drehzahl. Auch ein Grund, weshalb die Batterien länger halten sollen.
Leopold B. schrieb: >> Die COMETs von Pollin haben auch überhaupt keine Schrauben mehr, >> sondern das Gehäuse ist mit Schweissnippeln gesichert. Ebenso die Platine. > Gut zu wissen - dann kann ich mir die Bestellung bei Pollin sparen. Naja... nicht ganz. Ist halt nur etwas schwieriger. Der Preis ist allerdings unschlagbar zur Zeit. Ich glaube, im Moment sind die Teile auch ausverkauft. Leopold B. schrieb: >> Der federnde Kontakt des Programmiersteckers lässt sich nicht >> ohne Weiteres in dieMini-USB-Buchse hineinstecken, >> da diese den Platz im Gehäuse nicht vorsieht. > Ja, stimmt - ist beim Thermy auch so bemerke ich gerade. > Blöd wenn man 10 Stück zu programmieren hat. > Muß ich mir halt einen Bootloader für Funk mit RFM12 machen. ;-) Inzwischen habe ich einen neuen Programmierstecker gebaut. Es ist lediglich ein Loch mit 1mm Durchmesser im Abstand von 1.3mm über der Oberkante der Mini-USB-Buchse-Öffnung zu bohren. Der Reset-Kontakt des Programmiersteckers ist ein Stück Phosphorbronze-Draht mit 0.3mm Durchmesser. Federstahl 0.5mm sollte auch gehen, lässt sich aber schlecht löten.
Hallo Leopold, habe gerade herausgefunden, dass eine Verbindung im Schaltplan fehlt. Und zwar liegt der Pluspol von C9 noch direkt an Vcc. D2 ist eine Schottky-Diode mit knapp 0.2V Flussspannung. Sie wird wahrscheinlich im Kurzschlussfall des Motors (Blockierung) mitleiten, um R18 zu schützen. D2 hat die ehrenvolle Aufgabe, den Controller vor Falschpolung zu schützen und hebt die Masse ab. Die Bezeichnung der verschiedenen Massen im Schaltplan kann schnell übersehen werden. Die Werte der Widerstände sind: R1: 100k @25° R2: 1k R3, R4, R5, R11, R13, R15, R17: 330R R6: 120k R7: 470R R8: 120k R9, R19, R20: 1M R10, R12, R14, R16: 100R R18: 2R2 Die Keramik-Cs dürften alle 100n haben, außer C8 und C1 mit jeweils 10n.
Kurze Zwischenmeldung zum Comet: Das Display habe ich erstmal mit den alphanumerischen Digits angesteuert bekommen. Ich habe mit Lookup-Tables gearbeitet. Selbiges habe ich noch für den Bargraphen vor, dann kann man schon mal vernünftig debuggen ;-)
Knut Ballhause schrieb: > habe gerade herausgefunden, dass eine Verbindung im Schaltplan fehlt. > Und zwar liegt der Pluspol von C9 noch direkt an Vcc. Hmm, wo meinst du ist da auf der Platine die Verbindung? > D2 ist eine Schottky-Diode mit knapp 0.2V Flussspannung. Laut dem Marking Code G3s eine BAR63 - Datenblatt anbei.
Knut Ballhause schrieb: > ..., dann kann man schon mal vernünftig debuggen ;-) Hast keinen JTAGICE mkII? :-)
Leopold B. schrieb: >> D2 ist eine Schottky-Diode mit knapp 0.2V Flussspannung. > Laut dem Marking Code G3s eine BAR63 - Datenblatt anbei. Ich meinte natürlich D3... D2 ist klar. Leopold B. schrieb: >> Und zwar liegt der Pluspol von C9 noch direkt an Vcc. > Hmm, wo meinst du ist da auf der Platine die Verbindung? Löte D3 aus, dann siehst Du´s ;-). Kann man aber auch messen. Direkt unter D3 ist auch noch ein Via auf die Top-Seite. Leopold B. schrieb: >> ..., dann kann man schon mal vernünftig debuggen ;-) > Hast keinen JTAGICE mkII? :-) Nö, habe ich nicht. Und ich gedenke auch, die JTAG-Schnittstelle als I/O für ein RFM12 zu benutzen, da sonst nichts frei ist.
Knut Ballhause schrieb: > Leopold B. schrieb: >>> Und zwar liegt der Pluspol von C9 noch direkt an Vcc. >> Hmm, wo meinst du ist da auf der Platine die Verbindung? > > Löte D3 aus, dann siehst Du´s ;-). Hab ich. Tatsächlich da ist ein Verbindung. >Und ich gedenke auch, die JTAG-Schnittstelle als I/O > für ein RFM12 zu benutzen, da sonst nichts frei ist. Ist sicher einfacher aber ich will die On-cip Debug Möglichkeit nicht verlieren. Ich denke daher eher an die SPI. Und PE0, PE3 und PF0. Aber Details hab ich mir noch nicht überlegt.
Bei F0 wirst Du kein Glück haben, der wird (offiziell) für eine Toleranzmessung und -beeinflussung des Reflexsensors verwendet. Die ISP wird für die externe Programmierung verwendet, so dass man auch ungeöffnete Cometen umschreiben kann. Daran ein Funkmodul ist vielleicht nicht die beste Idee...
Knut Ballhause schrieb: > Bei F0 wirst Du kein Glück haben, der wird (offiziell) für eine > Toleranzmessung und -beeinflussung des Reflexsensors verwendet. Brauch ich nicht - Verbindung kann man auftrennen. > Die ISP wird für die externe Programmierung verwendet, so dass man auch > ungeöffnete Cometen umschreiben kann. Daran ein Funkmodul ist vielleicht > nicht die beste Idee... Sollte kein Problem sein beides zu nutzen - haben schon andere vor mir gemacht. Siehe auch http://www.atmel.com/dyn/resources/prod_documents/doc2521.pdf 4.1.1
Leopold B. schrieb: > Brauch ich nicht - Verbindung kann man auftrennen. Hmmm. Vielleicht ist die Verbindung doch wichtig. Auftrennen scheuen andere Anwender möglicherweise. Leopold B. schrieb: > Sollte kein Problem sein beides zu nutzen - haben schon andere vor mir > gemacht Es geht nicht nur um das reine Beschalten, sondern auch um die Funktionalität. Ich hätte Bedenken, dass sich Programmer und Funkmodul eventuell beharken.
Hallo, bin gerade am Überlegen: bei der Originalfirmware des Zero sowie auch des Comet wird die aktuelle Uhrzeit beim Batteriewechsel (vermutlich bei Unterschreiten der Mindestspannung) abgespeichert. Legt man beispielsweise neue Batterien ein, ist die Uhr scheinbar nur stehengeblieben und lediglich die Minuten oder auch Stunden (je nachdem wie lange das Gerät ohne Spannung lag) müssen angepasst werden. Jetzt stellt sich mir die Fage, wie das angestellt wird. Da ich keinen Zero mit Originalfirmware mehr habe und keinen offenen Comet mit Originalfirmware, könnte vielleicht mal jemand den AIN0-Eingang mit einem Oszi messen? Ich hätte den Verdacht, dass dort eventuell ein Ansatz liegen könnte. Ich denke nicht, dass die Zeit zyklisch abgespeichert wird, da dies das EEPROM zu stark belasten würde.
Knut Ballhause schrieb: > Jetzt stellt sich mir die Fage, wie das angestellt wird. Was meinst du, wie die Batteriespannung ermittelt wird?
Nö, das weiss ich ja und nutze es auch, aber das Messen der Batteriespannung mit dem ADC dauert zu lange und da der Controller die meiste Zeit schläft, würde nur ein Interrupt in Frage kommen, der den Controller weckt oder im Wachzustand sofort dazu veranlasst, die Werte zu speichern und dann kontrolliert abzuschmieren, bis neue Batterien eingelegt werden. Dann müssen die Daten in die RTC zurückgeladen werden.
Aber mal ehrlich, würdest du beim Einbrechen der Batteriespannung anfangen im EEPROM rumzuschreiben?
Naja - die Originalfirmware tut´s ja auch, nehme ich an. Bei anderen Projekten habe ich das auch schon praktiziert, allerdings nicht bei batteriebetriebenen Geräten, wo es auf jedes mA ankommt und deshalb der Controller extrem ausgebremst ist.
Gibt es bei diesem Projekt schon Experimente mit externen Temperatursensoren ? Hab da das typische Fensterbrett über Heizung+Thermostat-Problem, was eine sinnvolle Raumtemperaturmessung zunichte macht. Gruß Dennis
Prinzipiell kannst Du den Thermosensor (blau/weißer, bedrahteter Mini-NTC) auslöten, an dessen Stelle eine 2-adrige Litze anlöten, diese verdrillen und daran den Sensor wieder anlöten. Der Sensor kann ja mit einem Tropfen Epoxy oder einem Schrumpfschlauch gesichert/isoliert werden. Die Leitungslänge sollte bei 2m nicht überschreiten, wegen Brumm und anderen Störungen.
Die sparmatic comet gibt es z.Zt. bei Pollin für 14.95 http://www.pollin.de/shop/dt/NTg3NzMxOTk-/Haustechnik/Heizung_Sanitaer/Energiespar_Regler_EUROtronic_SPARmatic_comet.html
Moin Moin, ich habe mich nu einige Zeit durch die beiden Threads über die Sparmatic gelesen...die Idee ist top einen billgen Regler zu tunen... Leider passt das konzept nicht ganz zu meinem Haus Automatisierungskonzept... Ich suche schon seid einiger Zeit Thermostat die an meine Wago Steuerung passen (RS232 oder TCP) leider ohne erfolg.. Nun bin ich auf die Idee gekommen so einen billigen Thermostatregler umzumodeln das es nachher nur noch ein doofer Stellmotor ist, denn ich per Funk (evtl RFM12) auf und zufahren lassen kann. Also vom Aufbau hatte ich mir das so vorgestellt: Wago(RS232)-->funk-->10xStellmotor Also Protocoll wäer SNAP ja genau das richtige wegen des Netzwerks. Wie würdet ihr das machen mit dem Funk? Also der Stellmotor kann ja nicht immer senden dann wäre ja noch einen Monat der Akku leer... Besteht überhaupt interesse an so einem Projekt?? Lars
Lars schrieb: > Also der Stellmotor kann ja > nicht immer senden dann wäre ja noch einen Monat der Akku leer... Empfangen sollte der Stellmotor, nicht (unbedingt) senden. Der Empfang darf nur anfangs ständig und nach Synchronisation mit einem Master in einem engen, vereinbarten Zeitfenster alle paar Minuten stattfinden. Dann reicht der Akku lange.
Aber wenn er nur Empfangen würde, müsste Controller ja immer lauchen?? Sprich er kann nicht in Sleep gehen oder?? Wäre es nicht besser einfach zu senden? Also per Timer eine Zeit ablaufen lassen den AVR aufwecken und sende und wieder schlafen... Per Timer: 1.Slave sendet "hier bin ich" 2.warten auf Antwort vom Master "ok" 3.Master Sendet Werte 4.Slave sendet "ok" Ich habe in etwa 10 Stellmotoren da müsste ich doch das Problem mit der Überschneidung des Sendens vernachlässigen können?? Gibt es evtl einen Bascom Source Code? wo schon einige sachen für einen Sparmatic Comet drin sind? Denn könnte man das ja als Grundlage nutzen. Lars
Lars schrieb: > Aber wenn er nur Empfangen würde, müsste Controller ja immer lauchen?? > Sprich er kann nicht in Sleep gehen oder?? Nein. Der Slave lauscht nur in einem Zeitfenster, welches der Master zuvor definiert hat. Da der Slave-Controller sowieso alle paar ms kurz aufwacht, um die RTC weiterzuzählen, kann er eben auch die Zeit zählen, die noch bis zum Erreichen des nächsten Zeitfensters verstreichen muss. Ist das Zeitfenster dann erreicht, geht der Slave kurz auf Empfang und erwartet die Datenpakete vom Master. Somit ist er dann auch gleich wieder für das nächste Zeitfenster synchronisiert. Lars schrieb: > Wäre es nicht besser einfach zu senden? Nein, wäre es nicht, weil sich dann 2 Slaves überlappen können und der Master nur Datensalat präsentiert bekommt. Lars schrieb: > Ich habe in etwa 10 Stellmotoren da müsste ich doch das Problem mit der > Überschneidung des Sendens vernachlässigen können?? Kannst Du das garantieren? Quarze sind nicht so genau und wenn nicht durch den zu oberst herrschenden Master nachsynchronisiert wird, laufen die Slaves auseinander oder zusammen, such´s Dir aus.
ich würde die Stellglieder nicht komplett dumm machen. die sollten schon noch auch autark funktionieren. Was ist wenn die Zentrale steuerung mal ausfällt? Da wär es schon nett, wenn die Grundfunktion der Heizung noch vorhanden ist.
Okay die Idee hört sich auch gut an. Müsste ich noch mal überlegen wie ich denn mein sps Programm stricken müsste.... Hast du schon mit dem RFM12 was testet? oder auch nur angedacht? Hat evtl jemand eine Bascom Source für einen Sparmatic?? oder müsste ich alles selber aufbauen....wäre nicht so gut so gut sind meine Prog.kenntnisse auch nicht ;-) Lars
Beides ist möglich. Ich würde auch nur das RFM12 (o.ä) ergänzen und nicht alles ausschlachten.
Hehe ja aber erst ma ne Grundlage haben....Also hab die Artikel noch mal so durchflogen und keinen Sourcecode gefunden...nur Fertige hex files... Es war auch irgendwo die Rede von Bascom aber da hab ich nichts mehr gefunden.. Lars
Moin, mh schade ist keiner mal damit angefangen?? was in Bascom zu machen? Lars
Hallo, es gibt wieder einige Neuigkeiten: Der Fernsensor für den Sparmatic Zero ist gerade in Arbeit. Er sendet Temperatur und Schaltdaten per Funk an entsprechend ausgerüstete Heizungsthermostaten. Es ist von der Hardware her möglich, entweder über einen NTC oder über einen SHT11 oder andere I2C-Sensoren zu messen. Ausserdem sind 2 Buttons und 1 externer Schalteingang vorhanden, an dem man z.B. Reed-Kontakte anbringen kann, die offene Fenster detektieren. Der Sensor wird an einer entfernten Stelle im Zimmer aufgehängt und kann mehrere Zeros mit Daten versorgen. Weitere Infos folgen.
Hallo, die Hardware steht. Details sind in den angehängten Bildern zu finden. Wenn es jemand nachbauen möchte, schicke ich noch eine Demo-*.hex, die minütlich einen Datenstring ausspuckt. Die Platine passt in dieses Gehäuse: http://www.reichelt.de/?ACTION=3;GROUP=C714;GROUPID=3355;ARTICLE=8161;SID=32m@YGjKwQASAAAF5CXJk39a95dd8476cbbb0283d48e6075aba56
Ach, Schaltplandatei vergessen... Edit: das Gehäuse mit 21mm Höhe passt auch, ebenso das mit 28mm Höhe.
Hi Knut, gibts dazu auch einen Quellcode? Grüße
Alex W. schrieb: > gibts dazu auch einen Quellcode? Freilich, aber das hier ist ja nicht die Codesammlung ;-) Nee, im Ernst, die Firmware ist momentan very beta, da ich die einzelnen Funktionen erst teste. Da es aber einige Leute im Forum gibt, die schon mit den Sparmatic Zero gearbeitet haben und teilweise auch ihre eigene Firmware in allen möglichen Programmiersprachen geschrieben haben, wollte ich erstmal die Hardware für einen externen Sensor. Demo-Firmwares als *.hex-files, die die Funk-Funktionen beinhalten, gibt es dann auch hier, mit den nötigen Beschreibungen. Als nächsten Schritt muss ich die Anmeldung eines Sensors am Zero umsetzen. Gibt es denn inzwischen auch jemanden ausser mir, der ein RFM12 in einen Zero gelötet hat?. Anleitung für RFM12 im Zero: Beitrag "Re: Preisgünstiger Heizungsregler bei Praktiker"
Wie wärs, anstatt ein RFM12, einen normalen OOP-Empfänger zu nehmen ? Dann gäbe es eine ernstzunehmende Kompatibilität zu gängigen Funktemperatur-Sendern. Gruß Dennis
c-logic schrieb: > Wie wärs, anstatt ein RFM12, einen normalen OOP-Empfänger zu nehmen ? Die RFM können auch OOK, ist aber etwas aufwändiger. c-logic schrieb: > Dann gäbe es eine ernstzunehmende Kompatibilität zu gängigen > Funktemperatur-Sendern. Das Problem ist ein anderes: Alle Geräte, die mir bisher untergekommen sind, hatten von Haus aus eine bescheidene Reichweite, auch die FS20-Teile von ELV. Innerhalb größerer Räume gingen die noch gut, aber sowie Wände oder Decken dazwischen kamen, war es aus mit der Funkerei. Bei der Testanordnung mit den RFM12-Modulen habe ich bisher alle Regler von einem zentralen Punkt aus ansprechen können, auch die im Nebengebäude.
Gibts was neues? :) Wie gut klappt die RFM12 geschichte? Wie lange leben die Batterien im Sparmatic damit? Ahja, gute Arbeit! Verfolge das hier sehr interessiert.
Knut Ballhause schrieb: > Alex W. schrieb: >> gibts dazu auch einen Quellcode? > > Freilich, aber das hier ist ja nicht die Codesammlung ;-) Hatte ja schonmal gefragt, aber irgendwie landen alle Fragen nach dem Quellcode im leeren. Ich habe ein paar Sparmatic zero, die ich an meinen Can Bus anbinden will. Bevor ich mich jetzt ans Programmieren mache, nochmal kurz die Frage ob es den Quellcode gibt. Gegen eine Verneinung habe ich auch nix, nur vertroesten auf irgendwann nützt leider nix :) Ein kurzes ja oder nein reicht mir also schon :) P.s. Ist nicht böse gemeint, muss mich nur entscheiden wie ich weiter voran gehe.
Megabug schrieb: > Gibts was neues? :) > > Wie gut klappt die RFM12 geschichte? Wie lange leben die Batterien im > Sparmatic damit? Die ersten Regler an verschiedenen externen Temperatursensoren laufen. Allerdings habe ich noch einen Bug, der durch das Pollen der Daten vom empfangenden Modul entsteht und dazu führt, dass nach einigen Tagen die Uhr im Regler nach geht. Ich muss das noch optimieren. Leider reichen die Anschlusspins am Zero nicht für eine interruptbasierte Datenübergabe, aber ich denke, das ist noch in den Griff zu bekommen. Michael Kentschke schrieb: > Hatte ja schonmal gefragt, aber irgendwie landen alle Fragen nach dem > Quellcode im leeren. Michael Kentschke schrieb: > Bevor ich mich jetzt ans Programmieren mache, > nochmal kurz die Frage ob es den Quellcode gibt. Ja. Natürlich gibt es eine Quellcode. Du programmierst in ASM? Und Du magst unvollständig kommentierten Code? Wenn es um konkrete Fragen geht, wäre ein Informationsaustausch sicher besser, als der nackte Code.
Knut Ballhause schrieb: > Ja. Natürlich gibt es eine Quellcode. Du programmierst in ASM? Und Du > magst unvollständig kommentierten Code? Wenn es um konkrete Fragen geht, > wäre ein Informationsaustausch sicher besser, als der nackte Code. Ja freilich kann ich ASM programmieren. Und irgendwie dreht man sich ja im Kreis, wenn man einerseits nicht will das Leute unkkomentierten Code bekommen sollen, die aber wiederum mitarbeiten würden und vielleicht auch dann was kommentieren. Auch gegen eine ASM Lib würde nichts sprechen. ich will nicht das Rad neu erginden, sondern einfach nicht per Funk sondern per Can arbeiten. Es würde also reichen wenn du eine Schnittstelle kommentierst (die du ja mit funk schon hast). Aber nach nochmaligen Lesen habe ich das Gefühl das du nicht so richtig willst das Leute mitarbeiten, was auch dein gutes Recht ist. Mittlerweile bin ich schon am Überlegen ob ich die sparmatic Teile unter Lehrgeld verbuche (unüberlegt gekauft in der Hoffnung mit dran zu arbeiten) und mir Honeywell Teile hole, wo die Leute auch kein Problem haben, wenn da Code dabei ist der nicht kommentiert ist. Wie auch immer, danke trotzdem für deine Rückmeldung. Micha
Michael Kentschke schrieb: > Ja freilich kann ich ASM programmieren. Und irgendwie dreht man sich ja > im Kreis, wenn man einerseits nicht will das Leute unkkomentierten Code > bekommen sollen, die aber wiederum mitarbeiten würden und vielleicht > auch dann was kommentieren. Die Sache ist die, dass ich höchstwahrscheinlich nicht in vernünftigem Zeitrahmen auf Fragen der beteiligten Programmierer eingehen könnte. Deshalb betreibe ich die Pflege und den Ausbau der Firmware nach eigenem Bedarf. Ich habe die Erfahrung gemacht, dass man sich mit dem 'open sourcen' von halbfertigen Sachen keinen Gefallen tut. Wenn Du den Kram ohne Garantie und ohne Anspruch auf Support haben willst, dann schick mir ´ne PN. Michael Kentschke schrieb: > Auch gegen eine ASM Lib würde nichts > sprechen. Doch. Die bisherige Struktur des Programms. Michael Kentschke schrieb: > ich will nicht das Rad neu erginden, sondern einfach nicht per > Funk sondern per Can arbeiten. Was etwas völlig anderes ist. CAN erfordert eine UART. Da die Hardware-UART auf der Platine nicht ohne fiese Pfriemelei zugänglich ist, ist der Programmieraufwand ziemlich hoch, zumal die Rechenpower des Controllers durch die notwendige Zeit im Sleep (den Batterien zuliebe) ohnehin schon recht begrenzt ist. Michael Kentschke schrieb: > Aber nach > nochmaligen Lesen habe ich das Gefühl das du nicht so richtig willst > das Leute mitarbeiten, Ich möchte mir lediglich Stress ersparen. Kann mich ja auch irren, was das betrifft. Aber weisst Du: Die Resonanz auf diese Firmware, was das Austesten der eingestellten Beta-Wares angeht, ist doch sehr verhalten, aber wenn es um Code-Einsicht geht, sind sie auf einmal alle dicke da. Jeder will dann wohl doch lieber sein eigenes Ding machen, anstatt sich zur bestehenden Variante zu äussern oder diese weiterzubringen. Michael Kentschke schrieb: > Mittlerweile bin ich schon am Überlegen ob ich die sparmatic Teile unter > Lehrgeld verbuche (unüberlegt gekauft in der Hoffnung mit dran zu > arbeiten) und mir Honeywell Teile hole, wo die Leute auch kein Problem > haben, wenn da Code dabei ist der nicht kommentiert ist. Ansichtssache. Die Honeywell-Teile haben auch ihre Macken seitens der Hardware, denen auch gute Firmware nur bedingt beikommen kann, wie man den einschlägigen Threads immer wieder entnehmen kann. Aber probieren kannst Du natürlich alles.
Knut Ballhause schrieb: > Die Sache ist die, dass ich höchstwahrscheinlich nicht in vernünftigem > Zeitrahmen auf Fragen der beteiligten Programmierer eingehen könnte. > Deshalb betreibe ich die Pflege und den Ausbau der Firmware nach eigenem > Bedarf. Ich habe die Erfahrung gemacht, dass man sich mit dem 'open > sourcen' von halbfertigen Sachen keinen Gefallen tut. Wenn Du den Kram > ohne Garantie und ohne Anspruch auf Support haben willst, dann schick > mir ´ne PN. > Ja das erwarte ich auch nicht :). Sieh es mal so, wer programmieren kann versteht auch viel in dem Code selber, auch wenn er nicht kommentiert ist. Wenn ich komplett kommentieren Code erwarten würde, dann würde ich mir etwas suchen wo ich durch bezahlen Support bekomme. > Michael Kentschke schrieb: >> Auch gegen eine ASM Lib würde nichts >> sprechen. > > Doch. Die bisherige Struktur des Programms. > Ok > Was etwas völlig anderes ist. CAN erfordert eine UART. Da die > Hardware-UART auf der Platine nicht ohne fiese Pfriemelei zugänglich > ist, ist der Programmieraufwand ziemlich hoch, zumal die Rechenpower des > Controllers durch die notwendige Zeit im Sleep (den Batterien zuliebe) > ohnehin schon recht begrenzt ist. Das ganze System würde dann auch über den CAN BUs versorgt, also nichts mit Batterien mehr (höchsten als Backup). Es spricht auch nichts gegen einen zweiten MC davor, nur sind das Aufwende, die ich dich nicht fragen will, sie für mich zu programmieren. > Ich möchte mir lediglich Stress ersparen. Kann mich ja auch irren, was > das betrifft. Aber weisst Du: Die Resonanz auf diese Firmware, was das > Austesten der eingestellten Beta-Wares angeht, ist doch sehr verhalten, > aber wenn es um Code-Einsicht geht, sind sie auf einmal alle dicke da. > Jeder will dann wohl doch lieber sein eigenes Ding machen, anstatt sich > zur bestehenden Variante zu äussern oder diese weiterzubringen. Ich bin mir halt dann unsicher ob ich meine Zeit in ein Projekt investiere, wo ich von vorne anfangen muss. Also suche ich mir die Projekte aus, wo ich mitmachen kann, und dann Teste ich auch gerne was durch. Ich denke das schon ein paar andere hier genauo darüber gedacht haben. > Michael Kentschke schrieb: >> Mittlerweile bin ich schon am Überlegen ob ich die sparmatic Teile unter >> Lehrgeld verbuche (unüberlegt gekauft in der Hoffnung mit dran zu >> arbeiten) und mir Honeywell Teile hole, wo die Leute auch kein Problem >> haben, wenn da Code dabei ist der nicht kommentiert ist. > > Ansichtssache. Die Honeywell-Teile haben auch ihre Macken seitens der > Hardware, denen auch gute Firmware nur bedingt beikommen kann, wie man > den einschlägigen Threads immer wieder entnehmen kann. Aber probieren > kannst Du natürlich alles. Ja Macken hat es wohl immer überall, aber das ist ja auch ok. Ist und bleibt halt meistens auch Bastelware. Gruß Micha
Hi guys, I've bought some Sparmatic Comet devices and I plan to use and modify open source firmware for Honeywell HR20 (OpenHR20 - http://openhr20.sourceforge.net). Current OpenHR20 developer J. Dobry is close friend of mine. As I see you already started working on some alternative firmware for Comet. Do you plan to release your firmware source code or perhaps start new project similar to OpenHR20 for Sparmatic devices ?
Petr D. schrieb: > As I see you already started working on some > alternative firmware for Comet. Hello! The project is not really started yet due to lack of time. Some low level routines for the display are still existing. Petr D. schrieb: > Do you plan to release your firmware > source code If it is finished some time, then it may be released. Petr D. schrieb: > or perhaps start new project similar to OpenHR20 for > Sparmatic devices No. I always write firmware that I use for myself. I don´t want to write on such huge open one-for-all projects.
irgendwie gewinnt man den Eindruck, als will man hier nur bestaunt werden. Vielleicht sollte man einfach die Hardware-Erkenntnisse aus diesem Thread abstauben und einen HR20-Fork namens Sparmatik aufmachen. Dann wäre Knut auch bestätigt: alles nur Diebe seines geistigen Eigentums.
Vielleicht bräuchte es gar keinen Fork, sondern nur die Möglichkeit, die Software alternativ mit den Treibern für das eine oder das andere Gerät zu kompilieren, denn die Regelalgorithmen und Komfort-Funktionen werden ja gleich sein, nur die Schnittstelle zur Hardware sieht anders aus.
Beobachter schrieb: > irgendwie gewinnt man den Eindruck, als will man hier nur bestaunt > werden. Spinner. Wenn es nur das wäre, dann hätte ich keine Infos zur Hardware und deren Eigenheiten veröffentlicht. Ich habe nur keine Zeit, mich um Leute wie Dich zu kümmern. Ernsthafte Anfragen habe ich per PN oder eMail beantwortet. > Vielleicht sollte man einfach die Hardware-Erkenntnisse aus diesem > Thread abstauben und einen HR20-Fork namens Sparmatik aufmachen. > Dann wäre Knut auch bestätigt: alles nur Diebe seines geistigen > Eigentums. Mach doch, wes Du willst. Dann hast Du wenigstens mal was bewegt, anstatt nur ´rumzulabern. R. Max schrieb: > denn die Regelalgorithmen und Komfort-Funktionen werden > ja gleich sein, Dessen bin ich mir nicht sicher, wenn ich originale und veränderte Geräte parallel laufen lasse. R. Max schrieb: > nur die Schnittstelle zur Hardware sieht anders aus. Das auch, da Regelung und Schnittstellen direkt zusammenhängen.
wenn ich so falsch liege .... einfach SourceCode posten
@rmax: ja, eigentlich sind die Dinger doch zu ähnlich, um nicht mit einer Codebasis abgehandelt werden zu können. Wenn man Pins und Segment-Mapping ordentlich #defined, dann sollte schon viel geschafft sein. ICH hab das verstanden :-)
Lieber Beobachter, Knut hat im Kaufe des Threads schon mehrmals angedeutet, dass er (höflichen) Anfragen per Mail nicht unaufgeschlossen gegenüber ist. Hier hätte sicher ein Weg bestanden, die Sourcen zu bekommen, ein gut dokumentiertes "Projekt" daraus zu machen, und dieses dann gemeinsam oder mit seinem "Segen" zu veröffentlichen. Sein Hauptproblem (wie vieler anderer) ist wohl die Zeit. Aber bei Deinem bisherigen Auftreten hier könnte ich gut verstehen, wenn er (speziell Leuten, die auch noch nicht mal genug A.i.d.H. haben, sich mit ihrem Namen anzumelden) die kalte Schulter zeigt...
Beobachter schrieb: > @rmax: ja, eigentlich sind die Dinger doch zu ähnlich, um nicht mit > einer Codebasis abgehandelt werden zu können. Wenn man Pins und > Segment-Mapping ordentlich #defined, dann sollte schon viel geschafft > sein. > > ICH hab das verstanden :-) Hast du auch verstanden das ein Verhalten wie du (und andere) es an den Tag legen ein Grund dafür ist das Hobby-Entwickler ihre Quellen bzw. auch nur die Binaries lieber für sich behalten? Ich finde es schon erstaunlich: Da gehen Leute hin und nutzen die Leistung die andere kostenlos und vollkommen freiwillig erbracht haben und glauben die Entwickler seien ihnen (aufgrund dessen?) irgendetwas schuldig. Als hätten sie denen irgendeinen Gefallen damit getan oder gar dafür bezahlt. "Da könnte er doch 'wenigstens' die Quellen ver- öffentlichen" oder "Jetzt habe ich mir die ganze Mühe mit dem Nach- bau gemacht und dann funktioniert das noch nicht einmal so wie ich gedacht habe!". Na sowas. Das bezieht sich jetzt nicht speziell auf dieses Projekt. Aber diese Einstellung beobachte ich im OpenSource Bereich leider zu oft. Was mich besonders beunruhigt ist das ich den Eindruck habe das es sich hier um ein ausgesprochen deutsches Phänomen handelt. Vielleicht auch europäisch, kann ich nicht sagen, aber zumindest bei den Amis ist das nicht so. Das manche hingehen und ihre Projekte sehr wohl veröffentlichen - und zwar vollständig - eine kommerzielle Nutzung allerdings ausschließen, habe ich für meinen Teil allerdings (noch) nicht verstanden. Ein Lizenzmodell haben die nicht. Es dürfte auch relativ klar sein das die niemals Geld mit ihrem Projekt verdienen werden und es vermutlich auch gar nicht wollen. Zwar habe ich eine Theorie, doch ich hoffe das die nicht zutrifft. Die fällt auch in den Bereich "typisch deutsch". Leider.
Du hast vollkommen recht, viele wollen da was abstauben und gut ist . Aber man muss auch die andere Seite sehen. Der 4. Beitrag steht unten als Zitat und das hatte mir seinerzeits Hoffnung gemacht. Wenn ich als Veröffentlicher schreibe "gute Idee, source zum mit/weiter entwickeln kommt" und dann wird immer vertröstet ist auch nicht die feine Art. Aber egal, ich bin eh raus, da mir da zu stressig ist. Programmiere mir das jetzt selber und gut ist. Wenn ich es dann veröffentliche dann komplett, so handhabe ich das halt. Gruss Micha Knut Ballhause schrieb: > Thomas Schrauth schrieb: >> Hallo Travelrec, >> >> klasse Projekt! Würde das gerne in eine Haussteuerungsanlage >> integrieren, sprich noch einen CAN Controller dranhängen.... >> Es würde mich freuen, wenn du mir für diesen Zweck deinen Sourcecode >> bereitstellen könntest >> >> >> Vielen Dank+Gutes neues Jahr >> >> scio999 > > > Ja, Dir auch ein gutes Neues Jahr! Sourcecode kommt bald, CAN sollte > möglich sein, wenn Du einen stromsparenden Controller findest, der noch > mit 2.5V läuft. Im Moment bin ich gerade dabei, mich mit der Anbindung > an RFM12B_868MHz-Funkmodule zu befassen. Dafür wird es später auch eine > Internetanbindung geben, die ein Arbeitskollege von mir realisieren > will...
Tja, das war natürlich schon ein starker Auftritt. Ich gehe solchen Dingen ja dadurch aus dem Weg indem ich sehr früh meinen Code auf Servern wie Sourceforge ablade. Und zwar mit CVS oder Subversion. Vollständiger und stets aktueller Code aber keine weitere Doku. Da kann es natürlich durchaus vorkommen das der aktuelle Code gerade nicht läuft oder sich nicht einmal compilieren lässt. Aber es kann mir niemand vorwerfen das ich meinen Code zurückhalten würde. Vielleicht wäre das ja ein Kompromiss. Schnorrer können damit nicht viel anfangen weil zu faul, während "echten" Entwicklern das ziemlich egal ist. Und die Kommerziellen interessieren mich nicht. Aber gerade bei letzteren scheint es ja bei manchen einige Vorbehalte zu geben. So sieht das dann z. B. bei mir aus: http://www.mikrocontroller.net/svnbrowser/wordclock Ich habe noch zwei weitere (größere) Projekte auf Sourceforge veröffentlicht. Allerdings unter meinem Rufzeichen als Funkamateur. Das Poste ich hier aber nicht. Dann könnte ich auch gleich meine Anschrift veröffentlichen. Aber es gibt auch im Amateurfunk entsprechende Foren. Da bin ich nicht so zimperlich ;).
Hallo TravelRec! Gestern Abend bin ich auf Deine alternative Firmware für die Sparmatic Zero Regler gestoßen und bin begeistert !! Ich habe eben schnell den Adapter gebaut und mit meinem mySmartUSB MK2 mit 5V Target Spannung zwei meiner Zeros erfolgreich mit der .14 Firmware geflasht. Es scheint auch erstmal alles gut zu funktionieren, jedoch frage ich mich, was der Bildschirm rFt8 nach dem Einstellen der Uhrzeit zu bedeuten hat. Die 8 kann durch das Drücken auf + und - auf Werte zwischen 1 und F eingestellt werden. Was bewirkt diese Funktion? Ich habe mal ein Foto von der Displayanzeige angefügt.... Danke und Gruß Nico
Hallo TravelRec! Ich wollte mich auch mal in dieses Thema einsteigen. Ich habe ein Thermotronic (was ja scheinbar ähnlich zu einem Sparmatic Zero ist?). Ich habe diesen Schaltplan dazu gefunden und habe auch bei mir durchgeklingelt und kann diesen mit kleinen Ausnahmen (Widerstandswerte und Kondensatoren) verifizieren. Ich wollte jetzt nur fragen, ob es möglich ist, die Firmware auf diese Plattform zu portieren oder der Quellcode irgendwo zur Verfügung steht. Das wäre zeimlich interessant und ich würde auch gerne helfen, wenn ich kann... LG.
Nico D. schrieb: > Es scheint auch erstmal alles gut zu funktionieren, jedoch frage ich > mich, was der Bildschirm rFt8 nach dem Einstellen der Uhrzeit zu > bedeuten hat. Die 8 kann durch das Drücken auf + und - auf Werte > zwischen 1 und F eingestellt werden. Was bewirkt diese Funktion? Das ist die Tuning-Funktion für ein eventuell eingebautes RFM12-Funkmodul. Damit kann man die Reichweite u.U. erhöhen, weil man die Module elektronisch abstimmen kann, wenn der Modulquarz von der Sollfrequenz abweicht. Es hat sich gezeigt, dass die Module vom Werk her etwas unterschiedliche Carrier-Frequenzen haben. Kervin Küchler schrieb: > Ich wollte jetzt nur fragen, ob es möglich ist, die Firmware auf diese > Plattform zu portieren? Ja kann man. Ich habe einen davon im Einsatz, allerdings ist dessen Firmware veraltet, so dass ich die neuen Anpassungen der 0.14 erst einmal einpflegen muss. Die Unterschiede sind zwar geringerer Art, aber ich hatte meinen Sparmatic basic umgerüstet auf mehrere externe Sensoren, da er eine Fussbodenheizung steuert...Schreib mir mal eine PN oder eine eMail.
Die Heizsaison hat ja zeitweise schon begonnen, daher möchte ich meine Heizung (Etagenheizung) und Heizkörper fernsteuern/regeln. Die max-Geräte von elv bieten noch keinen Schaltausgang für die Etagenheizug und andere Fertiggeräte sind recht teuer. Daher macht ein eigenes Projekt schon Sinn. Ich benötige daher fernsteuerbare Heizkörpertermostaten, am besten über Funk. Mit den RFM12 sollte, solange man die noch kaufen kann, offenbar möglich sein. Nur mit welchem Regler kommt man denn am schnellsten zum Ziel? Sparmatic Comet gibt es momentan beim Praktiker für 20€ und die Homeexpert HR 20e bekommt man für 20€ bei Völkner und anderen Versendern. Was könnt ihr mir empfehlen? Bei den Sparmatics scheint sich ja nicht mehr viel zu tun?
Oder bin ich mit den ETH comfort 200 besser bedient, da ist funk schon integriert?
Thomas Mühlhausen schrieb: > Oder bin ich mit den ETH comfort 200 besser bedient, da ist funk schon > integriert? Soweit ich weiss, werwenden diese keinen Controller, den der Anwender programmieren kann. Thomas Mühlhausen schrieb: > Ich benötige daher fernsteuerbare Heizkörpertermostaten, am besten über > Funk. Mit den RFM12 sollte, solange man die noch kaufen kann, offenbar > möglich sein Ist möglich und bereits integriert. Läuft seit 1. Jahr stabil, ist aber ohne weitere Features. Lediglich ein im Zimmer aufgehängter Sender funkt die Temperatur zum Sparmatic Zero, der daraufhin die gewünschte Temperatur anfährt. In einem Zimmer mit mehreren Heizkörpern können mehrere Regler mit diesem Sender synchronisiert werden. Thomas Mühlhausen schrieb: > Sparmatic > Comet gibt es momentan beim Praktiker für 20€ und die Homeexpert HR 20e > bekommt man für 20€ bei Völkner und anderen Versendern. Der Comet ist bislang nicht erschlossen, für den HR20e gibt es einen eigenen Forumbeitrag, vielleicht da mal schauen. http://embdev.net/topic/118781?goto=new#new
Hi, ich bin eben auf diesen schönen Bericht gestoßen, und habe mich gefragt ob hier noch mehr Leidensgenossen sind. Ich habe hier im Haus 10 Thermys am laufen (oder besser gesagt nicht), wollte eben über den Programmieradapter die Heizprogramme für den Winter eintragen, und alle samt gehen nach der Auswahl sofort auf ADAP und zeigen danach E-3 an... Ventile an den Heizungen gehen aber alle. Also Reset lt. Anleitung durchgeführt (Batterien raus) und die Geräte gehen wieder sofort auf ADAP und dann E-3 ich habe auch keine Möglichkeit mehr irgendwas mit dem Stellrad umzustellen. Kennt jemand das Problem?
Gast Du frische Batterien verwendet? E-3 heißt Batterien zu schwach oder Ventil schwergängig. Waren die Thermostaten auch im Sommer dran zwecks Kalkschutzfahrt?
Mal etwas ganz anderes. Beim Überfliegen der Beiträge habe ich gesehen, dass man sich ausschließlich mit dem Thermostatkopf und der Elektronik als PI(D)-Regler beschäftigt hat. Nach der Sanierung unseres Wohnblocks wurden Ventile von Danfoss. eingebaut, dessen Ventilunterteil, was ja eigentlich für die Regelung des Volumenstromes zuständig ist, so gebaut ist, das es nahezu nur die Stellung AUF oder ZU kennt (bei Proportionalbereich 1 bis 2K) . Manche sprechen schon von einem Fremdwärmeabregelventil oder Schnellschlussventil. Deshalb mal die Frage, welche Ventilunterteile verwendet wurden, um eine ordentliche Regelfunktion zu erreichen, bzw., hat sich jemand schon damit beschäftigt? MfG
Wolfgang-G schrieb: > Deshalb mal die Frage, welche Ventilunterteile verwendet wurden, um eine > ordentliche Regelfunktion zu erreichen, bzw., hat sich jemand schon > damit beschäftigt? Meine Regler laufen auf Heimeier und Danfoss (genaue Bezeichnung unbekannt), alle mal im blau-gelben Baumarkt gekauft. Im Betrieb sind auch Danfoss-Teile verbaut, die aber ebenfalls ein schleichendes Absperren des Zulaufes ermöglichen (4mm Steuerweg). Die Schnellabsperrer würden auch funktionieren, allerdings würde der Regler dann anders modulieren müssen, digitaler halt ;-). Auf die Trägheit des Gesamtsystems bezogen würde das aber kaum einen Unterschied machen.
Hallo, es wird kalt und 7 Heizkörper in 5 Räumen mit zentralem Thermostat sind unpraktisch, da wir zu verschiedenen Zeiten in verschiedenen Räumen sind, und die jeweils anderen nur auf Sparflamme geheizt werden sollen. Der Thermostat ist also immer an der falschen Stelle und gibt meistens Vollgas, so dass ich immer rumlaufe und in ungenutzten Räumen die Thermostate zudrehe. Da der Heizungsthermostat in einem seltener genutzten Raum ist (= volle Leistung) und er nur eine Heizzeit kann, wird auch gerne an anderen Zeiten die Heizung auf Dauerbetrieb gestellt und dann vergessen(= den ganzen Tag volle Leistung). Sofern mein Sparflammenkonzept nicht prinzipiell falsch ist möchte ich also Räume an mehreren Zeiten selektiv heizen und dazu scheinen mir funkgesteuerte Ventile samt Temperatursensor, sowie eine Leistungsvorgabe an die Gastherme notwendig. Bei E L V wird derzeit das "MAX!" System beworben, das aber mit 7x30 + 50 = 260 Euro und das schließt wohl keine Leistungsvorgabe für die Therme mit ein. E L V MAX! Ethernet Protokoll: http://www.domoticaforum.eu/viewtopic.php?f=66&t=6654 868 Mhz, Netzteil ist dabei. Konfiguration anscheinend zweigleisig per PC-Software und http: > Um mit Ihrem Smartphone oder Notebook über das MAX! > Portal aus eine Verbindung herzustellen, muss zusätzlich > der Internetzugriff freigeschaltet sein. Diese Einschränkung ist anscheinend nur auf der Website zu sehen, nicht im Manual: > * Der MAX! Internet-Portalservice ist für 2 Jahre im Preis inbegriffen. > Danach Verlängerung des Services für 3 Jahre für nur € 4,95 bestellbar. > MAX! kann auch ohne das Internet-Portal lokal genutzt werden. Also ein Abo-Modell für die http-Nutzung. Schön ist auch das Werbevideo mit iPhone als SmartPhone, dann aber keine Konfig-Software für Mac OS X. Und schon ein Fehler in der Anleitung: > Input:100 V - 240 V~ / 350 mA > Output: 5V= / 550mA Ich rate mal, dass es möglich sein dürfte, den MAX! Internet-Portalservice auch lokal nachzubilden (siehe Protokoll oben). Und es heisst, dass der Cube keinen HTTP Server enthält. Damit ist das System eigentlich für mich gestorben Andererseits ist die Bastellösung (Sparmatic Comet) mit 7*(18+5+Zeit) = 175 Euro ohne Netzwerksteuerung und ebenfalls ohne Thermenregler auch nicht wesentlich günstiger. Freue mich über eure Vorschläge! PS: http://www.mikrocontroller.net/articles/Heizungsthermostat Thermy baugleich Sparmatic Comet, aber nicht im Eurotronic online shop erhältlich.
Hallo zusammen, ich hab ein Problem mit dem Progmatic USB programierer! In der Beschreibung steht, XP oder höcher. Seit dem ich das ding gekauft habe wil es nicht starten. Jetzt habe ich einen Vista rechner und das gleiche wieder. Es kommt immer die auforderung "Bitte warten sie einen moment" und so bleibt es stehen. Die blauen kästchen werden bis ende voll und das Programm startet nicht. Weiss jemand einen Rat? Beim XP kahm Meldung "Fehler in datei python25.dll" mfg Dejan
Liebe Mitleser, nächste Woche Donnerstag (3.11.2011) gibt´s beim blauen Feinkost-A-Nord wieder Heizthermostate für 15 EUR, es handelt sich um einen Sparmatic Comet mit modifiziertem Gehäuse. Wenn es interessiert, würde ich dann auch eine Firmware für das Teil und die anderen Comet-Derivate portieren... http://www.aldi-nord.de/aldi_angebot_do_03_11_2011_48_782_12014_5.html Wenn es jemanden gibt, der mitmachen und das Ganze auch online pflegen möchte, dann könnte man das open sourcen, da ich immer ziemlich kurz angebunden bin. Ich werde in ASM schreiben, Ports nach C müsste ein Anderer machen. Hardware zum Erweitern der Thermostate werde ich auch bauen. Das könnten externe Fühler, Funk und andere Geschichten sein. Dauer des Projektes ist undefiniert und die Arbeiten daran werden (zumindest von mir) sporadisch und spontan erledigt ;-). Bis dahin!
Hallo, ich habe den bereits, aber ich begreife einiges nicht. -) Die Mini-USB-Buche diemnt welchem Zweck? Kann man damit den Regler programmieren? -) wie mache ich debugging? der Regler hat insgesamt 15 Kontaktpads, deren Bedeutung ich bisher nicht kenne.
Ausserdem wüsste ich gerne, womit die Temperatur gemessen wird. Wo ist der Sensor? Gruss Robert
wer lesen kann ist klar im Vorteil, fange mal hier an: Beitrag "Alternative Firmware für Sparmatic Zero Heizungsthermostat"
R. Freitag schrieb: > ich habe den bereits, Ha, noch ein anderes Modell, dieses Mal mit Lichtschranke auf der Platine... R. Freitag schrieb: > Die Mini-USB-Buche diemnt welchem Zweck? Kann man damit den Regler > programmieren? Ja, und zwar über ISP. Ausserdem dient sie der Verbindung mit dem 'Programmierstick', mit dem man die Heizzeiten per Computer einstellen und übertragen kann. Es ist aber kein echter USB-Anschluss. R. Freitag schrieb: > wie mache ich debugging? Über JTAG. Beitrag "Re: Alternative Firmware für Sparmatic Zero Heizungsthermostat" R. Freitag schrieb: > Ausserdem wüsste ich gerne, womit die Temperatur gemessen wird. Wo ist > der Sensor? Auf der Displayseite der Platine, vorn neben dem Drehgeber, der kleine graue 0603-SMD-Kasten.
Das ist äußerst interessant... Leider heute Nachmittag im Max Bahr das Doppelpack Sparmatic Zero für 40e gekauft, Irgendwie hab ich die letzten Beiträge dieses Threads da verpasst. Aber das interessante: Die Platinen sind bis auf Details identisch! Ich hatte mich schon gewundert, warum meine Zero eine andere Platine (inklusive anderem Pinout vom AVR) als der alte Zero des Threaderstellers hat. Deshalb an dieser Stelle a) eine Warnung: Die Firmware von hier ist mit den neuen Zeroes (erkennbar an den zwei 6 poligen Testheadern im Inneren, hinter den Batterien erkennbar; Dafür kein JTAG Header) NICHT kompatibel b) selbstverständlich sind die Teile nicht zum rumliegen gekauft, somit kann in Zukunft mit einem Projekt dazu gerechnet werden :)
Matthias Larisch schrieb: > Leider heute Nachmittag im Max Bahr das Doppelpack Sparmatic Zero für > 40e gekauft, Mach mal ein Foto von den Sachen, möglicherweise hast Du die neuen Zero 2 gekauft, die wiederum mit dem Comet, bis auf das Drehrad, identisch sind.
Hallo Zusammen, Ich hätte mal eine generelle Frage: Kennt schon jemand die aktuell bei Aldi erhältlichen Geräte? Meine Idee: Da ich momentan in einem Mietverhältniss mit diesen Heizkostenzählern an der Heizung lebe, würde ich gerne den "Wirkunsgrad" möglichst hochdrehen. Dass Heißt, wenn die Heizung warm ist, sollte sie auch einen möglichst hohen "Luftdurchsatz" haben. Die Idee geht also dahin, die Heizung "digital" = (entweder ein oder aus) zu betreiben und zusätzlich beim Zustand Ein die natürliche Konvektion durch große PC-Lüfter zu unterstützen. Dazu wäre es natürlich genial, wenn noch ein Pin frei wäre, den ich dann wie gewünscht, mit Nachlauf etc. programmieren kann, und über den ich mit Hilfe eines MosFets die Lüfter steuern könnte. In der Hoffnung, dass mir jemand von euch näheres zu den Aldi-Teilen sagen kann, Tueftler
Die Aldi Teile habe ich, in diesem Thread etwas weiter oben findest du auch Bilder.Und nach meinen Unterlagen sind PE0 und PF3 noch unbelegt, ausserdem sind die JTAG Pins uU verfügbar. Gruss Robert
Moin! Hab auch die Aldi-Cometen-Teile, aber vor 1 Jahr bei Conrad gekauft. Was mich am meisten nervt ist, dass die bei schwergängigen Ventilen die Adaptierung nicht richtig funzt, d.h. die drehen mit der Zeit nicht mehr richtig zu. (Abhilfe schafft da, die Dinger nicht ganz so fest draufzuschrauben, dann zu adaptieren und dann festschrauben...) Aber perspektivisch möchte ich auch gern rumschrauben an den Dingern :) Was mich jedoch bisher daran hindert ist die Verschraubung. Die Schrauben sind sehr weich, sitzen sehr fest und leiern schnell aus - da hab ich einfach Angst ;) Ausserdem braucht man nen modifizierten Mini-USB-Stecker um die Dinger umprogrammieren zu können, den muss ich mir auch erst noch organisieren... Aber Open-Source klingt super!!!
Andreas K. schrieb: > (Abhilfe schafft da, die Dinger nicht ganz > so fest draufzuschrauben, dann zu adaptieren und dann festschrauben...) Das könnte künftig die Software erledigen. Wichtig ist nur, dass der Motor überhaupt die Karft hat, das Ventil zuzudrücken. Beim Adaptieren wird nämlich bis der Motor zum Stehen kommt weitergedreht. Was der Motor bei Adaptieren nicht schafft, wird er spöter bei der Regelung auch nicht schaffen. Dies gilt es zu ergünden. Andreas K. schrieb: > Was mich jedoch bisher daran hindert ist die Verschraubung. Die > Schrauben sind sehr weich, sitzen sehr fest und leiern schnell aus - da > hab ich einfach Angst ;) Wenn Du überhaupt Schrauben hast, ist das schon mal gut. Die Geräte aus 2011 sind nur noch mit Schweißnippeln verschlossen. Einmal geöffnet, sind sie nur noch mittels eingeklebter Buchsen und passender Schrauben wieder zu verschließen. Andreas K. schrieb: > Ausserdem braucht man nen modifizierten Mini-USB-Stecker um die Dinger > umprogrammieren zu können, den muss ich mir auch erst noch > organisieren... Den kann man basteln. Siehe hier: Beitrag "Re: Preisgünstiger Heizungsregler bei Praktiker" Die Kontaktfeder muss durch einen federnden Draht ersetzt werden. 2mm oberhalb der USB-Buchse ist ein 1.5mm Loch zu bohren, in welches der Draht hineinreicht. Dies stellt den Kontakt zum Reset-Pin des AVR her.
@ R. Freitag: Wie auf den Bildern zu sehen ist, haben die Thermy-Thermostate (ALDI) die Reflexlichtschranke auf der Hauptplatine bestückt, während Sparmatic eine Riserplatine benutzt, die in den Schlitz der Hauptplatine an die rechteckigen Pads eingelötet ist. Da ich jetzt das gehäuse nicht aufreissen mag, könntest Du mal bitte durchklingeln, ob die PADs mit der Lichtschranke auf dem Board korrespondieren?
Hallo nochmal, habe gerade mal mit den Cometen gespielt, die NTCs sind schon mal vom Wert und vom Koeffizienten her dieselben, die auch in den alten Zeros verbaut wurden. Die Temperaturanzeige gibt sehr ähnliche Werte aus :-)
Hi, Ich denke schon, dass es sich um die "Zero v2" handelt. Stand zwar so nicht auf der Packung, aber ist naheliegend. Könntest du uns zum einfachereren Start deinen Comet Code zukommen lassen? Unkommentiert, wie auch immer, vollkommen egal. Daraus könnten wir dann wenigstens ein paar Infos zur Ansteuerung von Motorsensor und Display ziehen. Anbei die Bilder und der Schaltplan, wie immer natürlich ohne Gewähr. Gruß, Matthias
Matthias Larisch schrieb: > Anbei die Bilder und der Schaltplan, wie immer natürlich ohne Gewähr. Die Platine sieht wie die der Thermy-Variante aus, nur eben mit Tasten anstelle des Drehrades. Und der Platinenschlitz ist nicht mehr vorhanden, die Lichtschranke ist direkt aufgelötet. Könntest Du den Schaltplan mal etwas höher auflösen bitte, so 300dpi. Könntest Du auch mal bitte das Getriebe fotografieren, mich würde mal interessieren, wo die Lichtschranke draufschaut... Matthias Larisch schrieb: > Könntest du uns zum einfachereren Start deinen Comet Code zukommen > lassen? Unkommentiert, wie auch immer, vollkommen egal. Daraus könnten > wir dann wenigstens ein paar Infos zur Ansteuerung von Motorsensor und > Display ziehen. Bis auf das Display und die Temperaturmessung geht momentan hier noch gar nichts, das Projekt habe ich gerade auf AVR-Studio5 umgestellt. Gib mir bitte noch ein paar Tage zum Aufräumen, dann mache ich zum Thema Comet und dessen neue Derivate einen neuen Thread auf. Da sich die Firmwares des alten Zero gegenüber des neuen Zero und des Cometen zu stark unterscheiden werden, will ich hier nicht zu viele Details mischen.
Hallo Matthias, Matthias Larisch schrieb: > Anbei die Bilder und der Schaltplan, wie immer natürlich ohne Gewähr. 5CS ist ein BC807, 6CS ein BC847 Also wie zuvor bipolar statt MOS-FET, dann werden auch die niederomigen Widerstände klar :-) Gruß, Jürgen
So, hier nochmal der Schaltplan mit 200 dpi, das sollte wohl reichen. Sorry für die Bildgröße, gimp mag das nicht anders. Der optische Sensor greift direkt in ein Loch in der Mechanik. Kann leider mit meinem Handy kein sinnvolles Foto davon erstellen, auch scannen klappt nicht recht. Das Loch ist halb abgeklebt, vermutlich um Restlichteinfall zu vermeiden und das besser passend zu machen. Per Auge erkennt man darin nichts, was eine genaue Erfassung der Umdrehungen zulässt, oder aber die Rasten sind zu grob. Habe das bisher noch nicht offen betrieben. Zu der Motorendstufe: Warum verwendet man bei einer so niedrigen Betriebsspannung eine Bipolarschaltung? Gut, mit FETs ist diese Art der Ansteuerung noch etwas kritischer, weil erst das Leiten des unteren Transistors zum Sperren des oberen führt. Das geht bipolar "etwas" sicherer. im Schaltmoment... 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. Also, falls du noch Infos für uns hast: mail@matthias-larisch.de Gruß, Matthias
Ich hab da mal nen Thread gestartet Beitrag "Entwicklungen und Forschung um den Sparmatic Comet / Zero v2 Heizungsthermostat"
Leopold B. schrieb: > Wie schon gesagt, alles nach der Idee von Dario Carluccio und Jiri > > Dobry. > > Der Code wurde teilweise von mir nur etwas abgeändert bzw. optimiert. > > > > Fortsetzung folgt. Hi ich wollte mal fragen ob du den ganze Source Code in C programmiert hast?? Wenn ja könntest du ihn hier posten?? Gruß Jurij
[Ja, ich weiß, dass es einen Nachfolgethread gibt, aber da kann ich den hier nicht direkt zitieren.] Knut Ballhause schrieb: > R9, R19, R20: 1M Wofür ist eigentlich R20 da? Lebensdauerbegrenzung der Batterien? ;-) Ich kann keinen Sinn drin sehen, permanent 3 µA aus den Batterien zu saugen.
R20 sorgt dafür, dass ein I/O-Pin kippt (PortE.0), wenn die Batterien entfernt werden. Dies kann zum Speichern von sensiblen Daten (Uhrzeit) im EEPROM genutzt werden, damit man beim Wiedereinlegen der (neuen) Batterien nicht wieder alles neu einstellen muss. Wird auch hier erläutert: http://www.mikrocontroller.net/articles/Sparmatic_Heizungsthermostate#Batterieerkennung
> Huuu - mutig. Der Mega169P ist nur bis 4.5V spezifiziert.
in meinem Datenblatt steht 1V8..5V5
???
ot:
Anfängerfrage,
wenn ich das Thermy-Board für alternative Zwecke
einsetzen möchte, lässt sich der mega196pa einfach so
löschen, bzw. muss ich irgendetwas beachten?
Kay schrieb: >> Huuu - mutig. Der Mega169P ist nur bis 4.5V spezifiziert. > in meinem Datenblatt steht 1V8..5V5 Ich denke auch, dass da jemand was durcheinander gebracht hat. Die Teile gingen schon immer bis 5,5 V hinauf, aber sie brauchen mindestens 4,5 V, um mit maximalem Takt laufen zu können. Spielt aber hier keine Rolle, denn hier muss der Controller bis 1,8 V hinab laufen können (Entladeschlussspannung der 2 x LR6), damit darf er nur mit einem entsprechend geringeren Takt arbeiten. > wenn ich das Thermy-Board für alternative Zwecke > einsetzen möchte, lässt sich der mega196pa einfach so > löschen, bzw. muss ich irgendetwas beachten? Ja, kannst du.
Ich kann mich auch erinnern, in einem alten Mega169-Datenblatt etwas von 4.5V als obere Grenze gelesen zu haben. Ob´s ein Typo war... wer weiß?!
Knut Ballhause schrieb: > Ob´s ein Typo war... wer weiß?! Kann nicht anders sein, denn die AVRs dieser Jahre sind allesamt im gleichen Prozess hergestellt worden, mit jeweils vergleichbaren Grenzdaten.
Hatte mich damals auch gewundert, aber es hätte ja sein können, dass gerade der extrem sparsame Mega169 mit LCD-Controller und dessen Ladungspumpe andere Spezifikationen hat, als seine "normalen " Kollegen...
ohne alles lesen zu müssen: war der Originalregler ein P-, PI- oder PID-regler? MfG
Knut Ballhause schrieb: > Autor: > > Knut Ballhause > (Firma: TravelRec.) > (travelrec)> > > Datum: 23.09.2012 20:06 Hallo Knut, ich wollte mal fragen wie genau ich mein JTAGICE MKII an den Zero anschließe. Habs vorher mit dem AVRISP MKII gemacht und nun hab ich mit dem neuen gerät probleme. Könntest du mir viellecht erklären wie ich den genau anschließen soll. Der hat ja die Verbindungen TCK, GND, TD0, VTref, TMS, nSRST, nTRST, TDI und GND. Ich kann das Tool dann ja parallel als ISP und JTAG anschließen und beide Optionen gleichzeitig nutzen. Ich wäre dir sehr Dankebar. Gruß Ingmar
Ingmar H. schrieb: > Der hat ja die Verbindungen TCK, > GND, TD0, VTref, TMS, nSRST, nTRST, TDI und GND. Laut Schaltplan und Fotos gibt es dafür Testpads, an die du entsprechend Drähte löten musst. Ich habe mal die Pads eingerahmt, die es meiner Meinung nach sein sollten (habe meine Comets noch nicht geöffnet). TravelRec brauchst du nach JTAG nicht zu fragen, er schrieb oben schon, dass er das nicht nutzt.
Jörg Wunsch schrieb: > Ich habe mal die Pads eingerahmt, > die es meiner Meinung nach sein sollten (habe meine Comets noch nicht > geöffnet). Ja genau die hab ich auch ausprobiert nur leider funzt das nicht. Bekomme da immer eine Fehlermeldung, das ich nach der Betriebsspannung gucken soll oder mein Tool richtig anschließen. PS: Weißt du wie man am besten die Temperatur anzeigen lassen kann??? Gruß Ingmar
Jörg Wunsch schrieb: > TravelRec brauchst du nach JTAG nicht zu fragen, er schrieb oben > schon, dass er das nicht nutzt. Ich könnte aber, da ich ein JTAG-ICE mkII ´rumliegen habe (originalverpackt ;-)). Beim alten Zero habe ich die JTAG-Pins teils für das Funkmodul benutzt, beim Comet nutze ich sie gar nicht, weil mir das Aufdröpseln der Geräte nervig genug ist. Die USB-Buchse bietet alle für mich nötigen Pins. Ingmar H. schrieb: > Ja genau die hab ich auch ausprobiert nur leider funzt das nicht. > Bekomme da immer eine Fehlermeldung, das ich nach der Betriebsspannung > gucken soll oder mein Tool richtig anschließen. Vielleicht hast Du wirklich VCC nicht richtig dran... oder unabsichtlich verfused? Ingmar H. schrieb: > PS: Weißt du wie man am besten die Temperatur anzeigen lassen kann??? Messen, umrechen und dann anzeigen oder was war Deine Frage?
Knut Ballhause schrieb: >> Ja genau die hab ich auch ausprobiert nur leider funzt das nicht. >> Bekomme da immer eine Fehlermeldung, das ich nach der Betriebsspannung >> gucken soll oder mein Tool richtig anschließen. > > Vielleicht hast Du wirklich VCC nicht richtig dran... oder unabsichtlich > verfused? Hardware kann man nicht verfusen. ;-) Noch bevor das JTAG-ICE überhaupt versucht, JTAG zu reden (ab da käme die Fuse ins Spiel), will es die anliegende Betriebsspannung "sehen". Die muss an VTref (Pin 4 des ICE-Steckers) geführt worden sein; neben der Messung dient sie auch den Pegelwandlern im ICE als Referenz/Versorgung. Dass die Spannung anliegt, erkennt man daran, dass neben den zwei initial roten LEDs die dritte LED grün leuchtet. Bevor man diesen Zustand erreicht hat, braucht man gar nicht versuchen, mit Software (AVR Studio, AVRDUDE) auf das JTAG-ICE zuzugreifen. (Eine grüne LED allein genügt aber nicht als Voraussetzung: auch, wenn man den 10poligen Stecker 180° verdreht aufsteckt, sind die Pegel so, dass die LED grün leuchtet, aber eine JTAG-Kommunikation bekommt man dann natürlich nicht zustande. ;-)
Jörg Wunsch schrieb: > aber eine JTAG-Kommunikation bekommt man > dann natürlich nicht zustande. ;-) Also ich hab mir diese 6 Pads, die auf dem Bild markiert waren zu herzen genommen. Hab alle möglichen Kombinationen ausprobiert und klappt einfach nicht. Und die anderen 6 Pads sind fürs ISP zuständig. Hab ich auch probiert und funktioniert ebenfalls nicht. Ich weiß nicht was ich noch machen soll. Jörg Wunsch schrieb: > (Eine grüne LED allein genügt aber nicht als Voraussetzung: auch, wenn > man den 10poligen Stecker 180° verdreht aufsteckt, sind die Pegel so, > dass die LED grün leuchtet, aber eine JTAG-Kommunikation bekommt man > dann natürlich nicht zustande. ;-) Die Spannung hat er mir richtig angezeigt, im AVR-STudio und die erste LED auf meinem Toll hat geleuchtet. Genauso wie das zweite Rot sein muss. Allerdings war die letzte LED mal Rot und mal aus. Wenn sie rot aufleutet heißt das, dass keine Verbindung zum AVR-Studio hergestellt wurde. Wenn jemand einen guten Rat oder weiß wo der Fehler liegt wäre ich sehr dankbar.
Ingmar H. schrieb: > Also ich hab mir diese 6 Pads, die auf dem Bild markiert waren zu herzen > genommen. Hab alle möglichen Kombinationen ausprobiert Das ist keine zielführende Methode. ;-) > und klappt > einfach nicht. Ja. > Und die anderen 6 Pads sind fürs ISP zuständig. Hab ich > auch probiert und funktioniert ebenfalls nicht. Davon braucht man nur 4, denn VCC (VTref beim JTAGICEmkII) und GND sind dort nicht mit dabei. ISP muss man unbedingt zuerst zum Laufen bekommen, denn sie haben da die JTAGEN-Fuse abgeklemmt (high fuse = 0xD9, Auslieferungszustand ist 0x99). Da der Controller mit 1 MHz läuft, muss man den ISP-Takt entsprechend gering ansetzen. Ich bin mit 100 kHz zu Werke gegangen, dann klappt das. Die JTAGEN-Fuse lässt sich natürlich nur wieder setzen, indem man zuvor einen chip erase macht, denn der Chip ist natürlich gelockt. Nachdem man auf diese Weise JTAG wieder aktiviert hat, klappt das auch. Ich habe mir einen "Tintenfisch-Adapter" vom JTAGICE gekürzt und da direkt angelötet, siehe Foto.
Jörg Wunsch schrieb: > Davon braucht man nur 4, denn VCC (VTref beim JTAGICEmkII) und GND > sind dort nicht mit dabei. Das ist schon mal gut zu wissen. Aber welche 4 Tintenfisch-Adapter müssen auf die Pads?? Vielen Dank für die Hilfe Jörg
Ingmar H. schrieb: > Jörg Wunsch schrieb: >> Davon braucht man nur 4, denn VCC (VTref beim JTAGICEmkII) und GND >> sind dort nicht mit dabei. > > Das ist schon mal gut zu wissen. Aber welche 4 Tintenfisch-Adapter > müssen auf die Pads?? MISO, MOSI, SCK, /RESET. Hatte ich aber nur kurz einen Stecker angelötet, für den Rest werde ich dann JTAG benutzen. Die Pinbezeichnungen findest du hier: https://www.mikrocontroller.net/wikifiles/c/cb/SparmaticComet_Platine_BOT.jpg Selbstverständlich musst du natürlich GND und VTref vom AVRISPmkII (oder JTAGICE) trotzdem noch anschließen, nur nicht an diese Pads! Die musst du dir woanders her suchen.
Jörg Wunsch schrieb: > MISO, MOSI, SCK, /RESET. Hatte ich aber nur kurz einen Stecker > angelötet, für den Rest werde ich dann JTAG benutzen. Ich wollte mich erstmal für das engagement bedanken echt super... Der ISP-Mode funzt jetzt mittlerweile auch allerdings klappts mit dem JTAG noch nicht. Hab die Tintenfischarme genauso angebracht wie, nur leider kann er den Debug-Mode nicht ausführen, weil Ihm die Device ID fehlt, die kann er nicht auslesen. Was beim ISP wiederrum geht. Kann ich eigentlich den ISP prallel zum Debug-Modus ausführen, also so das ich iihm zuerst die neue Firmware flash und dann debugge??? Gruß Ingmar
Ingmar H. schrieb: > Was beim ISP wiederrum geht. Hast du die JTAGEN-Fuse denn wieder gesetzt? Wie ich oben schrieb, die haben sie im Auslieferungszustand gelöscht gehabt. Nein, ein chip erase allein genügt dafür nicht, er ist lediglich die Voraussetzung, dass man die Fuses überhaupt wieder anfassen darf (weil der Chip mit gesetzten Lockbits kommt und man dann keine Fuses mehr ändern darf). > Kann ich eigentlich den ISP prallel zum Debug-Modus ausführen, also so > das ich iihm zuerst die neue Firmware flash und dann debugge? Könnte gehen, ist aber unnötig, da man die JTAG-Schnittstelle ja nicht nur zum Debuggen, sondern auch zum Programmieren benutzen kann. In diesem Falle ist sie sogar schneller, weil man aufgrund der CPU-Frequenz von 1 MHz nur mit weniger als 250 kHz ISP-Takt fahren darf, während man die Programmierung via JTAG beliebig schnell vornehmen kann, denn JTAG hat seinen eigenen Takt. (Beim Debuggen muss man aber auch bei JTAG auf kleiner 250 kHz zurückgehen, denn dann ist der CPU-Takt wieder der Master, gegen den intern alles synchronisiert werden muss.) Daher hatte ich die ISP-Leitungen auch nur kurz dran, um die JTAGEN-Fuse wieder zu aktivieren.
Jörg Wunsch schrieb: > Daher hatte ich die ISP-Leitungen auch nur kurz dran, um die JTAGEN-Fuse > wieder zu aktivieren. So habe ich es jetzt auch gemacht und klappt alles einwandfrei. Vielen Dank nochmal
Hallo, wäre jemand von euch bereit, mir die alternative Firmware auf zwei meiner "Sparmatic Zero"-Thermostate zu flashen ? Ich besitze zum flashen leider nicht das nötige Equipment, und habe das Problem, dass einer meiner Regler sich immer selbst vom Ventil reißt. Ich würde mich natürlich dafür mit einem Beitrag zur Kaffee/Bierkasse erkenntlich zeigen ;) Grüße, Christian
Christian Ostermeier schrieb: > Ich besitze zum flashen > leider nicht das nötige Equipment Kein AVR´ler in der Nähe? ;-) Christian Ostermeier schrieb: > zwei > meiner "Sparmatic Zero"-Thermostate Sind das noch die alten rechteckigen Kisten oder die neuen abgerundeten? Weil die neue Firmware ist ja noch nicht fertig... Christian Ostermeier schrieb: > Ich würde mich natürlich dafür mit einem Beitrag zur Kaffee/Bierkasse > erkenntlich zeigen ;) Klingt gut, Rückporto wäre auch nicht schlecht. Schick mal her, wenn es die alten Modelle sind, ich hab´ zufällig die Sources hier :-P. Du weißt aber, dass einige Funktionen nicht unterstützt werden (keine Urlaubsfunktion, nur 2 Heizzeiten/Tag, kein Kinderschutz)?
Hallo, es handelt sich um dieses Modell : http://cdn.idealo.com/folder/Product/2475/7/2475740/s1_produktbild_gross/eurotronic-sparmatic-zero.png Kinderschutz u. Urlaubsmodus brauche ich alles nicht. Aber die Anzeige der IST-Temperatur, die Akku-Verträglichkeit und das eventuell verbesserte ADAP-verhalten wären für mich evtll. nützlich.
Hallo Christian, Deine Zeros sind gestern angekommen und gehen heute wieder in die Post. Danke für die Kartonbeilage ;-)
Hallo, ich finde diese software ziemlich interessant, aber wie öffne ich die Software? Wäre super, wenn du mir da helfen könntest. Kann ich die Software auch auf einen anderen Stick packen, denn der Stick ist aktuell nicht lieferbar und ich würde es gerne nutzen. Vielleicht kannst du mir auch die normale Software schicken oder mir hier irgendwelche Tipps geben. Bin gerade in eine Wohnung gezogen, wo diese Thermostate schon in der Wohnung waren und habe noch nie mit den Teilen gearbeitet. Danke für deine Hilfe. Viele Grüße
Denis Lehmann schrieb: > ich finde diese software ziemlich interessant, aber wie öffne ich die > Software? Hast Du den ganzen Thread gelesen? Denis Lehmann schrieb: > Kann ich die Software auch auf einen anderen Stick packen, denn der > Stick ist aktuell nicht lieferbar und ich würde es gerne nutzen. ??? Wenn Du den originalen Programmierstick meinst, dann wird dieser nicht zum Firmware-Update benutzt, sondern nur zur Konfiguration der Heizuparameter. Daher kannst Du mit dem "Stick" auch keine neue Firmware auf die Regler laden, sondern brauchst einen speziellen Programmieradapter und einen AVR-Programmer und eine Entwicklungsumgebung für AVRs. Das sind die in den Reglern verwendeten Mikrocontroller. Denis Lehmann schrieb: > Bin gerade in eine Wohnung gezogen, wo > diese Thermostate schon in der Wohnung waren und habe noch nie mit den > Teilen gearbeitet. Dann lies Dir am besten mal den ganzen Thread durch und überlege, ob sich ein Eingriff in die laufende Situation lohnt und ob dieser vom Vermieter (?) auch erlaubt wird.
Dear Knut Ballhause, Please excuse my English. My German is very bad. A Google Translate is at the bottom. Almost a year ago I bought 14 Thermy's at Aldi. My plan has always been is to modify them so that I could control the temperature remotely. I have been searching for a way how to do this, until I saw your new firmware! Very nice that with your firmware flash it is possible to switch between Comfort and "Night Temp" by use of 1 press on the middle button! My plan is to solder 2 wires to the Thermy print board so that I can switch remotely between Comfort and "Night Temp" with the use of "Klik aan – Klik uit". http://www.klikaanklikuit.nl/shop/producten/sets/apa3-1500r-2/ So now the difficult part :-) How to flash the Thermy's... I read the thread "Alternative Firmware für Sparmatic Zero Heizungsthermostat" however I'm not familiar with AVR Studio or AVR flash devices. Therefore I'm having doubts if I should do this myself or perhaps you could do it for me for an affordable fee? However that would perhaps take the fun out of it :-) If I would do it myself I've understood that I need the following: * I can flash the Thermy with the use of a AVR-ISP mkII like this one: "http://www.reichelt.de/Programmer-Entwicklungstools/DIAMEX-ALL-AVR/3/index.html?;ACTION=3;LA=446;ARTICLE=110345;GROUPID=2969;artnr=DIAMEX+ALL+AVR;SID=14ULstz38AAAIAAH4vF7s566cf936ec6a279df940bedfcbdc676a" * I have to flash with 3.3V and 20kHz and AVR Studio * I have de make a cable from the AVR-ISP mkII to the Thermy like this: "Beitrag "Re: Preisgünstiger Heizungsregler bei Praktiker"; * The latest software version is 0.14. I found the software here: "Beitrag "Re: Alternative Firmware für Sparmatic Zero Heizungsthermostat"; There is still one obstacle: I want to make some electronics which converts the "Klik aan – Klik uit" to a pulls for the middle button. However I won't know for sure if the Thermy is pulsed to Comfort or to "Night Temp". Is there a way to see if a chip output is high, or low? Or could this functionality be programmed over 2 button; 1 for Comfort and one for "Night Temp"? Thanks in advance for you help. Best regards, Han Hallie Hallo Knut Ballhause, entschuldigen Sie mein Englisch. Mein Deutsch ist sehr schlecht. Ein Google Translate ist an der Unterseite. Vor fast einem Jahr kaufte ich mich 14 Thermy beim Aldi. Mein Plan war sie so ändern, dass ich die Temperatur fernsteuern konnte. Ich habe nach einer Möglichkeit, wie dies zu tun gesucht, bis ich deine neue Firmware entdeckte! Sehr schön, dass mit einen Firmware-Flash es möglich ist, zwischen Komfort und "Nacht Temp" durch Verwendung von 1 Druck auf die mittlere Taste zu wechseln! Mein Plan ist 2 Adern zu löten auf die Thermy platte, so dass ich aus der Ferne Umschalten kann zwischen Komfort und "Night Temp" mit der Verwendung von "Klik aan - Klik uit". Für link. [Bitte siehe Englisch-Version für Link] So, jetzt der schwierige Teil :-) Wie die Thermy zu Flashen ... Ich las das Gewinde "Alternative Firmware für Sparmatic Null Heizungsthermostat" aber ich bin nicht vertraut mit AVR Studio oder AVR Flash-Geräte. Deshalb bin ich mit Zweifel, ob ich sollte diese selbst oder vielleicht könnten Sie es für mich tun für eine erschwingliche Gebühr? Jedoch, das nehmt vielleicht den Spaß daraus :-) Wenn ich es selbst tune, habe ich verstanden dass ich den folgenden benötige: * Ich kann die Thermy mit der Verwendung eines AVR-ISP mkII wie diese verbinden: [Bitte siehe Englisch-Version für Link] * Ich sollte mit 3,3 V und 20 kHz und AVR Studio verbinden * Ich sollte einen Kabel fabrizieren für dem AVR-ISP mkII zu der Thermy: [Bitte siehe Englisch-Version für Link] * Die neueste Software-Version ist 0,14. Ich fand die Software hier: [Bitte siehe Englisch-Version für Link] Es ist immer noch ein Hindernis: Ich möchte ein bißchen Elektronik, die das "Klik aan - Klik uit" wandelt machen. Das ist für die Konvertierung für die mittlere Taste. Allerdings werde ich nicht sicher wissen, ob die Thermy Comfort oder "Night Temp" gepulst wird. Gibt es eine Möglichkeit zu sehen, ob ein Chip Ausgang die 1 oder 0 ist? Oder könnte diese Funktionalität über 2 Taste programmiert werden; 1 für Komfort und einen für "Night Temp"? Vielen Dank im Voraus für Ihre Hilfe. Mit freundlichen Grüßen, Han Hallie
Han H schrieb: > So now the difficult part :-) How to flash the Thermy's... The biggest thing there is that you have to get access to the /RESET line. ISP needs 6 lines, but the Mini-USB socket only has 5 pins. Thus, /RESET is a copper plane on the opposite part of the PCB, so you have to drill a hole into the Thermy's case, and somehow contact a wire to that plane. > * I can flash the Thermy with the use of a AVR-ISP mkII like this one: > Reichelt DIAMEX-ALL-AVR Well, this is not the AVRISP mkII (which is from Atmel). They claim compatibility with AVRDUDE and AVR Studio, so one would guess it's possible to do it. > * I have to flash with 3.3V and 20kHz and AVR Studio You can use a much higher frequency than 20 kHz; at least 200 kHz ought to work. > I want to make some electronics which converts the "Klik aan – Klik uit" > to a pulls for the middle button. However I won't know for sure if the > Thermy is pulsed to Comfort or to "Night Temp". I guess it's not pulsed, but to be sure, Knut has to answer it, or someone has to look into the source code.
Ich hab mal eine Frage speziell zum Programmierstick: Wäre es nicht interessant, wenn man den als universellen AVR Programmierstick verwenden könnte? Von der Hardware her müsste das doch sowas sein?
Marvin eigentlich schrieb: > Ich hab mal eine Frage speziell zum Programmierstick: Wäre es nicht > interessant, wenn man den als universellen AVR Programmierstick > verwenden könnte? Nein, das geht deswegen nicht, weil dieser "Programmierstick nur einen über den Computer transferierten Datensatz über ein proprietäres Interface in das EEPROM des Hauptcontrollers spielt. Auch dieser Stick nutzt nicht den /Reset-Pin und kann demzufolge auch keine AVRs programmieren, höchstens über einen bereits eingespielten Bootloader. Marvin eigentlich schrieb: > Von der Hardware her müsste das doch sowas sein? Nein. Nur bedingt, siehe oben. @Han Hallie Han H schrieb: > Almost a year ago I bought 14 Thermy's at Aldi. Han H schrieb: > * The latest software version is 0.14. I found the software here: > "Beitrag "Re: Alternative Firmware für Sparmatic Zero Heizungsthermostat" This Firmware is not compatible with the ALDI THERMY, due to hardware upgrade between Sparmatic Zero (for that the firmware was made in 2009) and the newer THERMY (End of 2011). A compatible firmware exists for Sparmatic Comet, which is 99% compatible with the THERMY, but this is still in experimental state due to time constraints. Sorry for that. Please check this thresd: Beitrag "Entwicklungen und Forschung um den Sparmatic Comet / Zero v2 Heizungsthermostat"
Knut Ballhause schrieb: > Nein, das geht deswegen nicht, weil dieser "Programmierstick nur einen > über den Computer transferierten Datensatz über ein proprietäres > Interface in das EEPROM des Hauptcontrollers spielt. Auch dieser Stick > nutzt nicht den /Reset-Pin und kann demzufolge auch keine AVRs > programmieren, höchstens über einen bereits eingespielten Bootloader. Ich meinte ja nicht mit der original firmware des Sticks, sondern rein die hardware. Den Reset noch zu ergänzen wäre ja kein Problem. Natürlich nicht über den USB Stecker...
Marvin eigentlich schrieb: > Ich meinte ja nicht mit der original firmware des Sticks, sondern rein > die hardware. Dazu kann ich leider nichts sagen. Wenn der Heizungsreglercontroller einen Bootloader hat, wäre das natürlich möglich. Aber das würde die Kapazität des ohnehin etwas kleinen Flashs unnötig einschränken.
Hallo Herr Ballhausen ich besitze Cometregler Rev 02 die ich an mischventile betreiben möchte, leider arbeiten diese ventile genau verkehrt herum ( normal ohne betätigung offen ) da bei inbetriebnahme messfahrt erfolgt ,kann ich die regler so nicht einsetzen ich habe die motor polarietät umgedreht ,leider ohne Erfolg. es kommt fehlermeldung. sehen sie eine Möglichkeit die arbeitsweise des Reglers so zu programieren das er auf die mischventile passt mit freundlichen grüssen aus dem Schwabenland
Manfred Weisser schrieb: > ich besitze Cometregler Rev 02 die ich an mischventile betreiben möchte, > leider arbeiten diese ventile genau verkehrt herum Hmmm... Manfred Weisser schrieb: > da bei inbetriebnahme messfahrt erfolgt ,kann ich die regler so nicht > einsetzen Die Messfahrt muss auch erfolgen, damit der Regler den Ventilhub lernen kann. Es ist die Frage, wie die anschließende Regelung dann auf das Ventil wirkt. Manfred Weisser schrieb: > ich habe die motor polarietät umgedreht ,leider ohne Erfolg. > es kommt fehlermeldung. Natürlich. Damit kann die Firmware nicht umgehen, da der Ventilstößel so nie am inneren Anschlag ankommt. Manfred Weisser schrieb: > sehen sie eine Möglichkeit die arbeitsweise des Reglers so zu > programieren das er auf die mischventile passt Das geht bestimmt. Man müsste einfach die Regelung umkehren und den Rest so lassen. Einige Anpassungen bei der Messfahrt müssten noch gemacht werden. Haben Sie nähere Infos zu den Mischventilen? Passt der Regler denn rein mechanisch?
hallo Herr Ballhause das Ventil ist von der fa Honeywell Type V5833A der regler passt mech nur wie gesagt es arbeitet genau verkehrt herumm wie standardventile gruss aus dem schwabenland
OK, haben Sie die Möglichkeit, die Firmware der Comet-Regler zu ändern, also einen modifizierten USB-Stecker, einen AVR-Programmmer und das ATMEL-Studio 6.1? Wie gedenken Sie die Solltemperatur des Mediums zu messen?
hallo Herr Ballhause mir fehlt das schaltbild des modifizierten USB-Stecker ,das schaltbild habe ich nicht gefunden ,mit dem foto komme ich nicht klar aber programmer und software ist in der firma , da wird mir ein kollege behilflich sein den sensor habe ich mit abgeschirmten käbelchen ca 100mm verlängert und widerstand eingefügt für den offset habe es auch ausgetestet und tut (mit normaler heizung ausprobiert) wenn der regler ohne widerstandskerrektur die temeratur regeln würde , wäre das natürlich der absolute hit !! mit sonnigen grüssen aus dem schwabenland vielen dank !!!
Manfred Weisser schrieb: > mir fehlt das schaltbild des modifizierten USB-Stecker ,das schaltbild > habe ich nicht gefunden ,mit dem foto komme ich nicht klar Wenn sie von vorn in den Mini-USB-Stecker gucken und der breite Teil unten ist, dann ist von links beginnend Kontakt 1: Vcc 2: MISO 3: MOSI 4: SCK 5: Masse Pin 4 ist an normalen Mini-USB-Steckern nicht belegt und der Kontakt muss im Steckergehäuse (mühsam) freigelegt und mit Fädeldraht kontaktiert werden. Es soll auch Steckersets am Markt geben, die vollständig belegt sind. Der noch fehlende Pin RESET muss über einen Federdraht 1.5mm oberhalb des Steckergehäuses hergestellt werden. In den Comet ist daher oberhalb der USB-Buchse ein 1.5mm Loch mit 1.5mm Abstand vom Lochrand zur Buchse zu bohren. Hierbei darf nur das Kunststoffgehäuse durchbohrt werden. Bohrt man tiefer, wird unweigerlich das LCD beschädigt. Manfred Weisser schrieb: > den sensor habe ich mit abgeschirmten käbelchen ca 100mm verlängert und > widerstand eingefügt für den offset Offset kann man in der Originalfirmware einstellen oder ist dieser Einstellbereich zu gering? Manfred Weisser schrieb: > wenn der regler ohne widerstandskerrektur die temeratur regeln würde , > wäre das natürlich der absolute hit !! Dazu kommen wir, wenn der Rest funktioniert. Absolut hilfreich wäre eines der von Ihnen verwendeten Ventile als Testkandidat bei mir vor Ort.
hallo Herr Ballhause vielen dank für die promte anschlussbeschreibung das mit dem offset ist für mich kein problem habe es auch nicht mit dem softwareoffset probiert weil laut beschreibung nur +-5C° einstellbar sind ich aber eine vorlauftemperatur 45-50C° habe und der fühler an dem rohr befestigt wird leider habe ich kein ersatzventil das ich ihnen zuverfügung stellen kann auser einem standardventil für heizkörper gruss aus dem sonnigen süden
OK, ich probiere nächste Woche mal ´was aus, wenn Sie keinen Programmierstecker aud absehbare Zeit zusammenbauen können, können Sie mir auch einen Ihrer Regler zuschicken, dem ich die Software mal testhalber aufspiele. Schicken Sie mir doch eine PN.
hallo Herr Ballhause den progamieradapter habe ich zusammengebaut da ich kein internetfuchs bin kann ich mit ( Schicken Sie mir doch eine PN. ) nichts anfangen. mit feundlichen grüssen vom wohltemperierten sonnigen süden
Manfred Weisser schrieb: > PN PN: private note - private Nachricht anmelden und dann auf "(travelrec)" im header klicken
Manfred Weisser schrieb: > den progamieradapter habe ich zusammengebaut Das ist doch schon mal ein Anfang. Zum Umschreiben der Routine bin ich noch nicht weiter gekommen, muss mal sehen, was die nächsten Tage bringen. Wenn ich ´was habe, stelle ich die *.hex zum Probieren hier ´rein. Ansonsten können wir die Kommunikation vielleicht privat abwickeln. water schrieb: > PN: private note - private Nachricht Exakt. Ich bekomme dann eine e-Mail vom Forum-Server, die ich beantworten kann und die anschließend Ihnen zugeht.
Anbei sind 2 flashfertige .hex-Dateien. Da es 2 verschiedene Comet-Regler auf dem Markt gibt, muss die jeweilige Datei für den passenden Regler verwendet werden. Die älteren Regler tragen keine Aufschrift auf dem Gehäuse und die Tasten sind direkt beschriftet. Diese Regler verwenden den ATMEGA 169P. Die neueren Regler tragen die Aufschrift "Comet" mit geöffneter Ellipse auf dem Gehäuse und die Beschriftung ist über den Tasten auf dem Gehäuse angebracht. Diese Regler verwenden den ATMEGA169PA. Die Programme funktionieren weitgehend kompatibel zu der originalen Firmware, bis auf die noch nicht implementierten Funktionen und die zusätzlichen Istwertanzeigen. Im Menü gibt es einen zusätzlichen Eintrag an der Stelle von "INST", was durch "ADAP" abgedeckt ist, da das Ventil ohnehin immer erst auffährt. Dieser Eintrag nennt sich "VENT", wie Ventil. Drückt man die OK-Taste, erscheint das blinkende "NORM". Dies ist die Einstellung für normale Ventile, die beim Eindrücken des Stiftes schließen. Mit dem Drehgeber kann man auf das blinkende "INVE" drehen. Diese Einstellung kehrt die Regelung um, so dass Ventile bedient werden, die beim Eindrücken des Stiftes öffnen. OK bestätigt die jeweilige Einstellung und verlässt das Menü. Bitte testen Sie diese Firmware, ob sie Ihren Ansprüchen genügt oder ob eventuell Anpassungen vorgenommen werden müssen. Die Offset-Funktion ist noch nicht implementiert.
Einstellung der Fuses:
1 | Extended: 0xFF |
2 | High: 0xD1 |
3 | Low: 0x62 |
> PN:
hallo herr Ballhause
habe es endlich geschafft die software von ihnen
(Sparmatic_Comet_M169P.hex )
in betrieb zu nehmen
soweit tut die richtungsumkehr
ein kleines problem habe ich aber
in der anzeige kommt wenn ich das richtig sehe ( uhrzeit solltemp
isttemp)
im wechsel
die isttemp kommt aber nicht richtig, das heist sehr stark verzögert
( ich kann den tempsensor mit jeder gewünschten temp bis 0-80°
temperieren )
desweiteren ist der arbeitspunkt von 4-30° vom gefühl zu knapp
4-50° denke ich wäre besser
mfg we
Manfred Weisser schrieb: > habe es endlich geschafft die software von ihnen > (Sparmatic_Comet_M169P.hex ) > in betrieb zu nehmen Schön! Manfred Weisser schrieb: > in der anzeige kommt wenn ich das richtig sehe ( uhrzeit solltemp > isttemp) > im wechsel > die isttemp kommt aber nicht richtig, das heist sehr stark verzögert Das Messintervall ist 3 Minuten, daher wird die Anzeige des Istwertes auch nur alle 3 Minuten aufgefrischt. Häufigeres Messen verbraucht mehr Strom und ist in so trägen Systemen nicht unbedingt nötig. Manfred Weisser schrieb: > desweiteren ist der arbeitspunkt von 4-30° vom gefühl zu knapp > 4-50° denke ich wäre besser Das stimmt wohl. Die Stelle habe ich nicht geändert, der Einstellbereich stammt noch von den normalen Raumthermostaten, da will man selten mehr als 30°C. Werde ich ändern und Ihnen zusenden. BTW: stellen Sie bitte sicher, dass die Zeit und das Datum richtig eingestellt sind. Wird die Firmware das erste Mal geflasht, ist das EEPROM nicht initialisiert. Deshalb kann es sein, dass die einzelnen Variablen außerhalb des erlaubten Bereiches liegen. Erst ein Überlauf wird sie in den korrekten Bereich laufen lassen. Am besten drehen Sie dazu bei allen Variablen (Jahr, Monat, Datum, Stunden, Minuten) das Drehrad stetig nach links, bis Sie merken, dass die erlaubten Werte für den höchsten und niedrigsten Wert angefahren werden (Beispiel: Monat wechselt beim Linksdrehen von 1 auf 12, nicht auf 99). Die neuen Werte werden beim Verlassen des Menüs in das EEPROM übernommen und müssen dann nicht wieder initialisiert werden.
:
Bearbeitet durch User
Hallo Herr Weisser, anbei die Dateien mit Regelbereichserweiterung bis 50°C.
Tolles Projekt! Danke dafür. Werde das mal für mich ins Auge fassen.
Jo, bei direkten Fragen zum aktuellen Projektstatus bitte PN schicken, um den Thread nicht zu überladen. Werde in der kalten Jahreszeit noch einige Erweiterungen vornehmen. Aktuell ist eine externer Baustein zum Anschluss an die USB-Buchse dazugekommen, der seinerseits den Anschluss eines NTCs mittels Kabel ermöglicht. Somit kann man dann beispielsweise Fußbodenheizungen kontrollieren, indem man die Rücklauftemperatur misst und auf einen Sollwert regelt. Externer Baustein deshalb, weil die Cometen schlecht zu öffnen und erst recht schlecht wiederzuverschließen sind. Dieser externe Baustein ließe sich dann auch mit einem RFM70 erweitern, so dass eine Funkanbindung zur Verfügung stünde. Als externe Controller kommen Tiny13A und Tiny24A zum Einsatz. Anbei die Eagle-Files, funtionierende Beta-Versionen. Als USB-Stecker kommen handelsübliche 4-pin Mini-USB5-Stecker zum Einsatz, die direkt auf die Platinen gelötet werden. Beiliegendes Foto ist vom RFM70-Tray.
Meine Herren, ich schlacker mit den Ohren was alles geht. Was wohl nicht geht, ist eine digiSchaltuhr für eine Steckdose, die über usb programmierbar ist. Die suche ich händefringend. Der USB-Programmierstick von Zero wäre doch schon mal ein guter Ansatz. Wenn jemand sowas kennt: her damit. gruss dj
dieterj schrieb: > Was wohl nicht geht, ist eine digiSchaltuhr für eine Steckdose, die über > usb programmierbar ist. Sinnvoller ist es, eine über Bluetooth programmierbare Schaltuhr zu bauen. Dann kann man sich die Potentialtrennung in der Schaltsteckdose schenken und muss auch kein Kabel ziehen. Weiteres Plus: man kann - die entsprechende App vorausgesetzt - die Steckdose über ein Smartphone oder ein Tablet programmieren ;-)
Habe heute meine ersten 2 Test-Comet erhalten und sie gleich mal eingebaut um zu sehen, wie sie arbeiten. Die ersten Stunden schon mal alles bestens, sehr nette Teile. Hat denn jemand für den Comet schon eine RFM12-Huckepack-Platine gemacht um den Comet in ein Home-Automation-Netzwerk zu integrieren, d.h. ihn Temperaturen an die Zentrale senden zu lassen und von der Zentrale die Temperaturvorgaben zu setzen?
Mahlzeit! Ich hab die Cometen jetzt schon ne Weile und was mich total nervt ist die Adaption, die mit der Zeit verloren geht. Dann heizt es mir jedes Mal sinnlos das Wohnzimmer über Nacht. Könnte man da nicht eine Funktion einbauen, die mitbekommt, dass die Temperatur nicht sinkt, obwohl das Ventil zu ist, und dann eine automatisch Neuadaption starten? Fragt sich natürlich auch, warum die Adaption verloren geht.... Liegt es an der wackeligen Plastikkonstruktion der Adapter? Ich hab Danfoss RA. Lohnen sich Messingadapter? 10EUR pro Stück die da teilweise verlang werden find ich ziemlich happig... Oder verliert die Originalfirmware mit der Zeit die Kalibrierung? Bevor ich die Dinger wegschmeiße, bin ich bereit, es mit alternativer Firmware zu probieren. Bzw. falls jemand passenden Quellcode in einer Hochsprache hat, würde ich mich sogar selbst daran versuchen... EDIT: ich hätte im Parallelthread nachschauen bzw. posten sollen... Beitrag "Entwicklungen und Forschung um den Sparmatic Comet / Zero v2 Heizungsthermostat" Naja... vielleicht bekomme ich hier trotzdem ne Antwort.
:
Bearbeitet durch User
Andreas K. schrieb: > vielleicht bekomme > ich hier trotzdem ne Antwort. Klar, e-Mail-Benachrichtigung macht´s möglich ;-) Andreas K. schrieb: > was mich total nervt ist > die Adaption, die mit der Zeit verloren geht. Andreas K. schrieb: > Oder verliert die Originalfirmware mit der Zeit die Kalibrierung? So ist es. Ich habe mit der alternativen Firmware auch erst so meine Schwierigkeiten gehabt, weil es eben schwergängige und leichtgängige Ventile gibt und die Erkennung der richtigen Schaltpunkte nicht trivial ist. Daher messe ich die oberen und unteren Totpunkte ständig nach. Meine Testregler funktionieren derweil ganz gut. Andreas K. schrieb: > Bevor ich die Dinger wegschmeiße, bin ich bereit, es mit alternativer > Firmware zu probieren. Bzw. falls jemand passenden Quellcode in einer > Hochsprache hat, würde ich mich sogar selbst daran versuchen... Hochsprache gibt´s bei mir nicht, dafür aber ASM. Die Firmware ist auch noch nicht in allen Teilen fertig, aber die timergesteuerte Regelung funktioniert. Schick mir mal ´ne e-Mail, dann sende ich Dir das Projekt. Alternativ kannst Du die anderen kursierenden Firmwares ausprobieren.
hallo tolles Projekt, an dem hier gefeilt wird :-) Doch vorwiegend habe ich ein banalers(?) Anliegen: ist es möglich die FW des SparmaticZero dahingehend zu ändern, anstatt den 7-Tage-Wochenrythmus auf ein 10-Tage-Rythmus zu ändern? Konkret sollen meine 3 Regler unabhängig vom Wochentag alle zwei Tage ein anderes Programm fahren, welches sich nach 10Tagen wiederholt: [c]Tag 1+2 14-22 Uhr Heizzeit Tag 3+4 8-12 und 21-23 Heizzeit Tag 5+6 12-20 Uhr Heizzeit Tag 7-10 8-22 Uhr Heizzeit[/kursiv/]
Mathias M. schrieb: > Doch vorwiegend habe ich ein banalers(?) Anliegen: > > ist es möglich die FW des SparmaticZero dahingehend zu ändern, anstatt > den 7-Tage-Wochenrythmus auf ein 10-Tage-Rythmus zu ändern? Banal? Naja... Möglich? Sicher, aber nicht so ohne Weiteres. Die Firmware ist mit den Wochentags-Timern ziemlich tief verankert. Eine Änderung würde einen massiven Eingriff in das Programm und die vorgesehenen Speicherblöcke erfordern. Der Arbeitsaufwand dafür wäre schätzungsweise mit 10 Stunden ununterbrochener Programmierung zu veranschlagen, mit anschließenden Tests. zudem wäre dies dann eine eigene Firmware, die separat zu der "normalen" zu warten wäre. Für ein multifunktionales Timerprogramm ist der Speicher im Controller zu knapp. Wenn Du selber tätig werden möchtest, nimm Dir die Sourcen vor - ich habe die Zeit nicht wirklich.
Knut Ballhause schrieb: > Wenn Du selber tätig werden > möchtest, nimm Dir die Sourcen vor Knut, ich habe viel aus deinen Beiträgen gelernt und möchte deine Arbeit nicht schlechtreden. Aber bevor du die Sourcen rausgibst, fallen Weihnachten und Ostern auf den selben Tag. Seit Anfang an vertröstest du alle Anfragenden, oder hab ich da in der Zwischenzeit etwas verpasst? Gruß, Torsten
Torsten F. schrieb: > oder hab > ich da in der Zwischenzeit etwas verpasst? Ja hast Du, ich habe in der Zwischenzeit per e-Mail an etwa 1 Dutzend Interessierte Sourcen für den Comet verschickt.
Knut Ballhause schrieb: > Torsten F. schrieb: >> oder hab >> ich da in der Zwischenzeit etwas verpasst? > > Ja hast Du, ich habe in der Zwischenzeit per e-Mail an etwa 1 Dutzend > Interessierte Sourcen für den Comet verschickt. Das Problem an der Sache ist wahrscheinlich, dass der Knut froh ist, wenn er überhaupt mal dazu kommt an der Firmware weiter zu machen und kann den Aufwand von richtigem Opensource nicht leisten. Gleichzeitig kann man nicht mehr in Ruhe an seinen Ideen basteln, weil viel Wünsche, Input und Checkins reinkommen, die man alle bearbeiten, verwalten, überarbeiten muss. Und ab dann kommt man nicht mehr zu seinen eigenen Ideen, wenn man nicht viel Zeit hat. Wenn man überhaupt genug Zeit für obiges hat. Also spricht er lieber 1:1 mit wenigen, die es ernst meinen und ihn nicht mit Ideen und wilden Änderungen fluten. Kann das schon nachvollziehen. Habe mir den Code inzwischen auch schon mal kurz durchgeschaut: übersichtlich, verständlich, gut gemacht. Wobei es für mich wg Asm eine Produktivitatsbremse gibt, weil es 15 oder 20 Jahre her ist, dass ich das letzte Mal Assembler programmiert habe, deshalb wäre mir C schon lieber. Das Projekt ist aber schon groß genug, dass eine Portierung auf C nicht mal an einem Wochende gemacht ist. Und dann müsste man noch ständig syncen, wenn man den Stand gleich behalten will. Also heißt das für mich: für ein kleines Feature lieber mal 1 Wochende Asm friemeln, dann geht das danach auch wieder leichter.
Knut Ballhause schrieb: > Sicher, aber nicht so ohne Weiteres. das höhrt sich für mich schon mal sehr aufbauend an, danke. > Der Arbeitsaufwand dafür wäre schätzungsweise mit 10 Stunden > ununterbrochener Programmierung zu veranschlagen > Wenn Du selber tätig werden möchtest, nimm Dir die Sourcen vor Kann mir schon denken, dass mir niemand die Arbeit fürn Obulus abnehmen möchte (oder doch jemand?). Da die Dinger, allein wegen dem Genannten für mich praktisch wertlos sind, werd ich mich in die Thematik mal einstudieren. Bleibt mir vorerst ein fettes Lob für die bisherige Arbeit auszusprechen.
Anbei zwei neue Comet-Hex(en), einmal für den neuen (mit Comet Logo und ohne Tastenaufdruck, ATMEGA169PA) und einmal für den älteren Comet (ohne Logo und mit Tastenaufdruck, ATMEGA169PV). ChangeLog: - Fehler in Programmiermenü beseitigt: Bei der Erstellung von mehr als 2 Timerintervallen pro Tag wurden, wenn der letzte Timer inaktiv ist, darauf folgende Timer im RAM gelöscht und auch beim Speichern in das EEPROM übernommen - Programm ist auf externe Sensoren (RFM70-Tray) vorbereitet - Build Nummer 006. Sourcen auf Anfrage bei mir.
So, nach einigen Wochen mit Knut's Firmware kann ich sagen, dass die Regler damit super funktionieren. Kein Überheizen mehr (es sei denn meine kleine Tochter hat "sabotiert") und auch kein unnötiges Rumregeln. Bin sehr zufrieden! Die neue Firmware hab ich noch nicht geflasht, weil ich eh nur 1 Heizzeit pro Tag programmiert hab.
Danke für die Blumen ;-). Frohes Neues an alle Mitleser!
Hallo Knut, jetzt wo es richtig Winter geworden ist muss ich mich etwas korrigieren - die Regler überheizen manchmal noch - nämlich morgens wenn die Solltemperatur um 7:00 von 18 auf 23 Grad oder so springt. Da hatte ich auf einmal in einem größeren Zimmer 28 Grad und das Heizungsventil war immernoch offen - das war um 8:30. Adaptieren hat erstmal geholfen und heute früh war es nicht so. Woran könnte das liegen? Reagiert der Regler zu zaghaft wenn es deutlich zu warm ist? Bei 3 Grad Übertemperatur würde ich (d.h. wenn ich der Regler wäre...) erstmal sagen: Ventil komplett zu - auf Anschlag - und abwarten. So eine Art Panik-Modus ;)
Andreas K. schrieb: > jetzt wo es richtig Winter geworden ist muss ich mich etwas korrigieren > - die Regler überheizen manchmal noch - nämlich morgens wenn die > Solltemperatur um 7:00 von 18 auf 23 Grad oder so springt. Hmm, könnte die Vorlauftemperatur vielleicht zu hoch sein? Bei unserer Anlage fahren wir mit moderater Vorlauftemperatur und von daher sind die Regler schnell genug zu. Schau mal, ob Du den Fehler reproduzieren kannst, dann kann ich mich darum kümmern. Knut
Auf die Vorlauftemp hab ich leider keinen Einfluss - ist ein Mehrfamilien-Mietshaus... Ich find's jedoch merkwürdig, wie der Regler immernoch das Ventil offen haben kann, wenn Ist>28 und Soll=23. Reproduzieren lässt es sich leider nicht - scheint eher sporatisch aufzutreten. Ich könnte mir hier eine Art Panik-Funktion vorstellen, die den Regler garantiert schließt wenn Soll mehr als 3 Grad über Ist liegt... Was meinst Du dazu?
Andreas K. schrieb: > Ich find's jedoch merkwürdig, wie der Regler immernoch das Ventil offen > haben kann, wenn Ist>28 und Soll=23. Ja, ist merkwürdig und bei mir noch nicht aufgetreten... Andreas K. schrieb: > Reproduzieren lässt es sich leider nicht - scheint eher sporatisch > aufzutreten. Das deutet auf einen grundsätzlichen Firmware-Fehler hin, da die Regelung normalerweise adaptiv ist und solche Probleme daher nicht auftreten dürften. Wahrscheinlich ist eine in die Regelung eingehende Variable verändert worden, weshalb die Regelung dann nicht mehr funktioniert. Für eine Fehlerbehandlung müsste man eine gewisse Reproduzierbarkeit haben Andreas K. schrieb: > Ich könnte mir hier eine Art Panik-Funktion vorstellen, die den Regler > garantiert schließt wenn Soll mehr als 3 Grad über Ist liegt... Was > meinst Du dazu? Das würde den Fehler nicht beseitigen, sondern nur die Auswirkungen begrenzen. Wenn die Regelung nach der Panik-Funktion dann nicht anständig weiterläuft, wird es in Deiner Wohnung recht kalt... Wir sollten versuchen, das Problem einzugrenzen. Es gibt eine Debug-Funktion im Heizungsregler, die über das Menü zu erreichen ist: - Menu-Taste einmal drücken - mittels Drehgeber auf 'DBUG' drehen - OK-Taste drücken (FIRM und V006 blinken abwechselnd) - mit Drehgeber 1x rechts drehen, FUZZ und ein Wert blinkt - weiter nach rechts drehen, POSI und ein Wert blinkt - weiter nach rechts drehen, VTOP und ein Wert blinkt - weiter nach rechts drehen, RWAY und ein Wert blinkt Wenn der Regler wieder überheizt, bitte alle 4 Werte notieren und mir mitteilen.
:
Bearbeitet durch User
Ok, danke - ich check das mit dem Debugmodus. FUZZ klingt nach Fuzzy-Logik - ist das ein Schwellwert für's Ansprechen? POSI=Aktuelle Position, VTOP=Anschlagsposition? Was bedeutet RWAY? Was mir noch eingefallen ist - Du schreibst immer dass Du Akkus nimmst - ich nehm Batterien - Akkus mit 1.3V pro Zelle liefern den vollen Kurzschlossstrom, ne Batterie wahrscheinlich nicht mehr. Ich hab bei nem anderen Regler bei 2.7V Gesamt-Batteriespannung beobachtet, dass der Regler zwar beim Adaptieren voll zu dreht, nicht aber beim Regeln. Ansonsten - der Panikmodus sollte natürlich wieder deaktiviert werden sobald Soll unter Ist gesunken ist ;) Dann dürfte eigentlich nichts schiefgehen...
:
Bearbeitet durch User
Andreas K. schrieb: > FUZZ klingt nach > Fuzzy-Logik - ist das ein Schwellwert für's Ansprechen? Nee, das ist die adaptive Regelung. Die Temperaturkurve um den Sollwert ist in 5 Bereiche eingeteilt, in denen unterschiedlich stark und in Abhängigkeit zum Temperaturverlauf geregelt wird. Andreas K. schrieb: > POSI=Aktuelle > Position, VTOP=Anschlagsposition? Was bedeutet RWAY? Soweit korrekt, RWAY ist der Regelweg, den das Ventil beim letzten Regelvorgang zurückgelegt hat. Andreas K. schrieb: > Was mir noch eingefallen ist - Du schreibst immer dass Du Akkus nimmst - > ich nehm Batterien - Akkus mit 1.3V pro Zelle liefern den vollen > Kurzschlossstrom, ne Batterie wahrscheinlich nicht mehr. Das ist wohl wahr. Wenn die Batterie leergenuckelt ist, wird die Regelung den Motor wahrscheinlich zudrehen wollen, die Batterien geben dann aber nicht genug Saft. Ergebnis: das Ventil bleibt ein Stück weit offen. Vielleicht wäre es sinnvoll, den Batterietyp und somit die Entladeerkennung einstellbar zu machen. Die Entladeerkennung müsste dann auch bei laufendem Motor das Einbrechen der Spannung feststellen, um rechtzeitig zu warnen. Nicht zuletzt deswegen nehme ich Akkus, da ich noch mit der Funkschnittstelle experimentiere und noch nicht alle Stromsparmaßnahmen greifen, wenn der Funk ausfällt. Das würde immer einen neuen Satz Batterien bedeuten, wenn man´s nicht merkt. Bei Akkus spielt das keine Rolle. Andreas K. schrieb: > Ansonsten - der Panikmodus sollte natürlich wieder deaktiviert werden > sobald Soll unter Ist gesunken ist ;) Dann dürfte eigentlich nichts > schiefgehen... Ja, klingt logisch - wenn die Batterien noch voll genug sind ;-).
So, es ist wieder "passiert", nur dass noch keine 28 Grad erreicht wurden: Ist=25.1 Soll=23.0 FIRM V005 FUZZ 20 POSI 0000 VTOP 0131 RWAY 000 VBAT 0504 Und: das Ventil ist leicht geöffnet, man hört das Wasser rauschen. Wenn ich dagegen drücke wird das Rauschen weniger, kommt aber wieder wenn ich loslasse. Nach dem Adaptieren ist es wieder zu. Die Daten kurz nach dem Adaptieren: Ist=25.4 Soll=23.0 FUZZ 21 POSI 0000 VTOP 0131 RWAY 000 VBAT 0510
Vielen Dank für die Dokumentation! Aha, ich sehe gerade, dass Du die 005er Firmware drauf hast. Soweit ich mich erinnere, hat diese Firmware die Abschaltung in Richtung Ventil zu erst dann, wenn der Motor zum Stillstand kommt. Bei der 006 wird der Motor dann abgeschaltet, wenn der Strom zu hoch wird und wenn der Motor stehenbleibt. VBAT 0504 / 0510 heißt, dass die Batterien schon kurz vor ihrem Lebensende sind. Normal sind Werte zwischen 0400 und 0490. Das Batteriesymbol geht bei 0530 an. Für den Fall dass die Batterien nicht mehr das Ventil zugedreht bekommen, blockiert der Motor aus Strommangel, der Positionszähler wird zu 0000 geschrieben und der Regler denkt, dass das Ventil zu ist... Hier müsste nachgebsessert werden. Ich schicke Dir die 006er Sourcen per e-Mail.
Ah, ok - ich dachte bei der 006er wurde nur ein Bug mit den Timern gefixt, deshalb hatte ich die nicht drauf gemacht... Die Batterien tuns aber noch - beim Adaptieren schafft es der Regler problemlos, auf Anschlag zuzudrehen. Ist VBAT eine Spannung oder misst Du zum Prüfen des Ladenstands die Motor-Ströme?
Andreas K. schrieb: > Ah, ok - ich dachte bei der 006er wurde nur ein Bug mit den Timern > gefixt, deshalb hatte ich die nicht drauf gemacht... Weiß ich nicht mehr genau, zu lange her :-/ Andreas K. schrieb: > Die Batterien tuns aber noch - beim Adaptieren schafft es der Regler > problemlos, auf Anschlag zuzudrehen. Das hat den Grund, dass der Motor beim Adaptieren bereits läuft. Beim Regeln muss das Anlaufmoment noch überwunden werden und das könnte knapp ausgehen. Andreas K. schrieb: > Ist VBAT eine Spannung oder misst Du zum Prüfen des Ladenstands die > Motor-Ströme? VBat ist eine Spannung (Voltage), die Ausgabe sind die Rohwerte des ADC, der die interne Bandgap-Referenz misst.
Ok, verstehe. Da könnte man höchstens noch schlappe Batterien eine Funktion einbauen, wo der Motor erstmal kurz zurückfährt und Schwung holt :D Für Akkus ist das natürlich tödlich... Auf der anderen Seite wären Akkus sicher die umweltfreundlichere Wahl, aber da ich hab Angst, dass die mir unbeaufsichtigt tiefentladen werden und futsch gehen. Normale Batterien haben bei mir meist über 1 Jahr gehalten, zumal ich im Sommer wieder die mechanischen Regler montiere.
Hm... hab die 006beta aus Deiner Email von heute geflasht - nachdem ich sie neu fur den 169P kompiliert habe - war auf 169PA eingestellt. Aber irgendwas stimmt da nicht: als Ist-Temperatur wird 0 Grad angezeigt Hab auch alle Temperaturen nochmal neu einstellen müssen - die standen alle auf 53 Grad. Anschließend hab ich die 006 für den 169PV von weiter oben geflasht. Die scheint anders zu sein - es fehlt z.B. das URLAUB-Menü - aber ansonsten gleiches Problem. => Version 005 (Sparmatic_Comet_M169_AVR6_2013_11_23) geflasht => Ist-Temperatur wird wieder angezeigt. Ja, und dann habe ich weiter oben was von externem Sensor gelesen und genauer hingeschaut - bei der 006 ist da jetzt so ein Funkturm im Display ;) Kann man das irgendwo umschalten? Ansonsten noch 2 Bugs, die auch in der 005 drin sind: 1.) Das Offset-Menu ist kaputt - da lässt sich nichts einstellen und die Anzeige zeigt eine defekte 2 und eine 0 an. 2.) Wenn die Temp auf 53.5 Grad eingestellt ist und man runterdrehen will und dabei ausversehen kurz hochdreht, springt sie sofort wieder auf 50 Grad.
:
Bearbeitet durch User
Andreas K. schrieb: > Aber irgendwas stimmt da nicht: als Ist-Temperatur wird 0 Grad angezeigt Ja, externer Sensor voreingestellt, bitte unten in der INIT.inc deaktivieren, sbr Temp, (1<<_ExternalTempSensor) ändern in cbr Temp, (1<<_ExternalTempSensor) Andreas K. schrieb: > Anschließend hab ich die 006 für den 169PV von weiter oben geflasht. Die > scheint anders zu sein - es fehlt z.B. das URLAUB-Menü - aber ansonsten > gleiches Problem. Urlaub ist erst in der aktuellen Version drin. Andreas K. schrieb: > Aber irgendwas stimmt da nicht: als Ist-Temperatur wird 0 Grad angezeigt > > Hab auch alle Temperaturen nochmal neu einstellen müssen - die standen > alle auf 53 Grad. Ja, das ist ein Init-Problem scheinbar. Habe ich vorhin auch beim Neuflashen festgestellt. Edit: Beim erneuten Flashen eines Reglers trat das Problem nicht auf... Andreas K. schrieb: > Ja, und dann habe ich weiter oben was von externem Sensor gelesen und > genauer hingeschaut - bei der 006 ist da jetzt so ein Funkturm im > Display ;) Kann man das irgendwo umschalten? Ja, in der Init, siehe oben. Andreas K. schrieb: > Ansonsten noch 2 Bugs, die auch in der 005 drin sind: > 1.) Das Offset-Menu ist kaputt - da lässt sich nichts einstellen und die > Anzeige zeigt eine defekte 2 und eine 0 an. Bestätigt. Ansonsten ist OFFSET noch nicht implementiert. Kannst Du erst mal ignorieren. Andreas K. schrieb: > 2.) Wenn die Temp auf 53.5 Grad eingestellt ist und man runterdrehen > will und dabei ausversehen kurz hochdreht, springt sie sofort wieder auf > 50 Grad. Das ist ein Feature. Von 50°C aus kannst Du dann innerhalb des erlaubten Bereiches auf die Solltemperatur stellen. 53.5°C ist ein Init-Bug, der noch behandelt werden muss.
:
Bearbeitet durch User
Gut. Um die Bugs kümmere ich mich demnächst. Danke nochmal für den Report.
Hallo Knut, ich bin beim Stöbern nach alternativen Firmwares für den ALDI-Thermy hier auf diesen Thread gestoßen. Ist es möglich, dass Du mir die aktuellen Sourcen zur Verfügung stellst? Besten Dank im Voraus + Gruß Jürgen
Hallo, im November hatte ich angefangen auf Grundlage von sparmatic2011 eine Fussbodenheizungs-Firmware für Aldi-Thermies zu schreiben. Inzwischen läuft das seit etwa 2 Monaten reibungslos. Dafür habe ich die Antriebe über die PB2/PB3-Portbits der Buchse "vernetzt". Diese Busleitung nutze ich im Moment nur dazu um immer nur ein Ventil zur Zeit den Motor fahren zu lassen, damit ein möglichst kleines Netzteil reicht. Die Ventile in unseren Verteilern haben viel weniger Hub als Heizkörperventile. Sie schliessen ein gutes Stück (20 Reflexe) vor dem Anschlag. Mechanisch passen die Thermies nur leidlich auf den Verteiler. Wenn alle Kabel gesteckt sind, passt keine Briefmarke mehr dazwischen. Es ist dann nicht ganz einfach einen nicht gut sitzenden Antrieb festzubekommen ohne alles wieder abzubauen. Die Befestigungsschellen des Verteilers passen nicht zwischen die Thermies, da habe ich Ersatz aus M3-Gewindestangen gebastelt. Eigentlich wollte ich die Stromversorgung über die Buchse einspeisen, das hat aber nicht geklappt obwohl es nach dem Schaltplan gehen müsste. Kann sein dass mein Versuchs-Kabel kaputt war, Abweichungen zwischen meinen Platinen und dem Plan habe ich (immer noch) nicht gefunden. Bei Interesse mache ich den Quellcode und die Schaltung gerne zugänglich.
Hallo Knut, einer meiner Cometen leider spinnt neuerdings: Trotz Soll=22” und Ist=17.2” dreht er nicht auf und das Zimmer wird nie richtig warm. Adaptieren hilft nicht, nur Batterie rausnehmen hilft, aber nur für kurze Zeit. Debug-Werte: Firm=V006, Fuzz=21, Posi=0000, VTOP=0168, Rway=000, VBat=0456 Das ganze im Auto-Modus. Manuell warmstellen bringt auch keine Reaktion.
Andreas K. schrieb: > Debug-Werte: Firm=V006, Fuzz=21, Posi=0000, VTOP=0168, Rway=000, > VBat=0456 Fuzz=21 bedeutet, dass es schon zu warm ist und die Temperatur noch steigt. Von daher dreht das Teil 'richtigerweise' zu. Passt aber nicht zu der Istwertanzeige... Vielleicht ist die Solltemperatur beim Speichern in das EEPROM durcheinandergekommen. Kannst Du bitte die Temperaturen nochmal über das Menü neu einstellen? Drehe das Drehrad mal an die Extremwertgrenzen von 4°C und 50°C, um zu sehen, ob die Solltemperatur auch in dem Bereich liegt.
Hm... irgendwas ist hier kaputt: 1.) Tempwerte einstellen: beim drehen nach rechts ist die Solltemp für zuhause sofort von 22” auf 55” gesprungen. Ich hab sie zurück auf 22 gedreht. Die anderen beiden Temperaturen waren ok und die Grenzen liegen bei 4 und 55”. 2.) Die manuelle Temp spinnt. normalerweise blinkt das Haus-Symbol nur, wenn manuell eingestellte Temp verschieden von programmierter, aber das blinkt jetzt immer. Außerdem kann ich die Temp manuell zwischen 0 und 99.5” verstellen! Was genau bedeutet Fuzz eigentlich? Die Werte scheinen zwischen 0 und 21 zu liegen... Nachtrag: wie funktioniert eigentlich die Fenster-Auf-Erkennung? Weil nach dem Schließen des Fensters steigt die Temp ja auch erstmal von alleine wieder an... vielleicht kommt sich hier was in die Quere... Nachtrag2: mit dem Wechsel in die nächste Schaltzone scheint die Regelung wieder zu stimmen. Auch die Grenzen für die manuelle Temp liegen wieder bei 4..55”
:
Bearbeitet durch User
Andreas K. schrieb: > 1.) Tempwerte einstellen: beim drehen nach rechts ist die Solltemp für > zuhause sofort von 22” auf 55” gesprungen. Ich hab sie zurück auf 22 > gedreht. Die anderen beiden Temperaturen waren ok und die Grenzen liegen > bei 4 und 55”. Läuft damit die Regelung? Andreas K. schrieb: > 2.) Die manuelle Temp spinnt. normalerweise blinkt das Haus-Symbol nur, > wenn manuell eingestellte Temp verschieden von programmierter, aber das > blinkt jetzt immer. Außerdem kann ich die Temp manuell zwischen 0 und > 99.5” verstellen! Klingt nach zerfetzten EEPROM-Werten, ausgelöst duch Batterieentnahme bei laufendem Motor oder durch korrodierte Kontakte. Drehe alle Temperaturen auf die untere Grenze (4°C) bis es nicht mehr weniger wird, drehe dann wieder auf die gewünschten Werte. Stelle gegebenenfalls die Timer neu ein. Andreas K. schrieb: > Was genau bedeutet Fuzz eigentlich? Die Werte scheinen zwischen 0 und 21 > zu liegen... Das ist die Fuzzy Regelung. Die Werte liegen zwischen 0 und 26, je nach momentanem Regelbereich, vovon es 5 gibt. Andreas K. schrieb: > Nachtrag: wie funktioniert eigentlich die Fenster-Auf-Erkennung? Weil > nach dem Schließen des Fensters steigt die Temp ja auch erstmal von > alleine wieder an... vielleicht kommt sich hier was in die Quere... Fenster-Offen-Erkennung ist nicht implementiert. Andreas K. schrieb: > Nachtrag2: mit dem Wechsel in die nächste Schaltzone scheint die > Regelung wieder zu stimmen. Auch die Grenzen für die manuelle Temp > liegen wieder bei 4..55” Hmmm... Lass uns mal per e-Mail kommunizieren, um den Thread nicht zuzuquasseln...
Gibt es inzwischen eigentlich schon eine C Firmware für diese Teile? (Konkret: Comet)
Guten Tag. Ich plädiere eigenen Thermostat (foto nach einem der Thermo v3). Nach dem Hochladen v5 oder v6 firmvare lcd funktioniert - die korrekte Temperatur und Zeit, aber wenn ADAP den Motor bewegt sich unmerklich und manuelle Temperaturänderung nicht bewegt. Vielen Dank im Voraus für Ihre Beratung (sorry, aber Deutsch ist meine Muttersprache - das ist eine Google-Übersetzung)
Die neueren V3-Thermostate haben eine andere Pinbelegung und einen anderen Controller. Daher funktioniert die Firmware nicht, die vor der Auslieferung dieser Geräte erschienen ist. Ich werde demnächst eine Anpassung für diese Regler hochladen.
Anbei die angepasste *.hex-Datei. Bitte nur für Geräte der neuen Herstellserie verwenden (Geräte ab September 2014 im Handel)!
Danke für die Antwort, morgen versuchen. Schreiben, wie es gelaufen
Der Motor funktioniert perfekt, vielen Dank
Zur Frage, ob es inzwischen schon eine C-Firmware gibt, ich habe hier geschaut: Info schrieb: > Beitrag "Entwicklungen und Forschung um den Sparmatic Comet / Zero v2 Heizungsthermostat" und dort: http://cccgoe.de/wiki/Sparmatic und da passiert leider nix, das git ist nicht erreichbar / vorhanden. Gibt es sonst eine C-Firmware?
Hi, ich habe mir vor ein paar Tagen bei Reichelt unter [1] ein paar Sparmatic Zero V2 gekauft. Mit der original Firmware funktionieren die soweit ganz gut. Laut eurotronic Homepage passt das Bild des Sparmatic Zero S612 von [2] auf dieses Modell. gibt es nun eine sichere Methode herauszufinden, um welches Modell es sich genau handelt um die passende alternative Firmware zu flashen? Und woher bekommt man die aktuelle Version für den Controller? Ich habe im Thread [3] eine Version 6 für Comet gefunden, aber ich vermute mal, für den Zero V2 wird eine andere benötigt. Zum Flashen wird anscheinend auch noch die Reset Leitung benötigt, welche nicht an der USB-Buchse im Gehäuse liegt, wenn ich den Programmieradapter unter [4] richtig verstehe. Dafür muss dann auf jeden Fall das Gehäuse geöffnet werden zum Programmieren? Viele Fragen auf einmal, aber in den mehreren Threads hier, welche teilweise zig hunderte Posts umfassen, ist es schwierig alle wichtigen Informationen zu finden. :) Ciao, Rainer [1] http://www.reichelt.de/ET-SM-ZERO-V2/3/index.html?&ACTION=3&LA=446&ARTICLE=108176 [2] http://www.eurotronic.org/produkte/sparmatic-zero-s612.html [3] Beitrag "Re: Alternative Firmware für Sparmatic Zero Heizungsthermostat" [4] http://www.mikrocontroller.net/articles/Sparmatic_Heizungsthermostate#Programmieradapter
R. W. schrieb: > ich habe mir vor ein paar Tagen bei Reichelt unter [1] ein paar > Sparmatic Zero V2 gekauft. Hmm, gibt bei Pollin den neuen Comet V3 für 4 EUR günstiger... R. W. schrieb: > gibt es nun eine sichere Methode > herauszufinden, um welches Modell es sich genau handelt Sieht sehr nach einem Zero V3 (aktuelle Generation) aus, der dem Comet V3 entspricht, aber anstatt des Drehgebers 2 Tasten mehr hat. R. W. schrieb: > Zum Flashen wird anscheinend auch noch die Reset Leitung benötigt, Das ist richtig. Das Gehäuse ist glücklicherweise nicht mehr mit Schweißnippeln verschlossen, sondern geclipst. 2 Klammern sieht man direkt im Batteriefach, 2 sind weiter vorn am Getriebe. Wenn man vorsichtig hebelt, hat man das Gehäuse recht leicht zerlegt. Die Reset-Leitung befindet sich auf einem von 6 Pads auf der Platine; wenn das Display auf dem Tisch liegt und das Batteriefach vorn ist, auf der linken Seite. Es ist das mittlere rechte Pad der 6-er Gruppe. R. W. schrieb: > Und woher bekommt man die aktuelle Version für den Controller? Bei mir nicht, da ich ausschließlich für den Comet programmiert habe. Einziger Unterschied ist die Tastenabfrage, aber ich habe keine Zeit und keine Test-Zeros zum Bemustern. Du kannst Die Sources haben und selbst aktiv werden.
:
Bearbeitet durch User
Knut Ballhause schrieb: > Hmm, gibt bei Pollin den neuen Comet V3 für 4 EUR günstiger... Naja, denke ich werde die Regler jetzt nicht wieder umtauschen. ;) Knut Ballhause schrieb: > Sieht sehr nach einem Zero V3 (aktuelle Generation) aus, der dem Comet > V3 entspricht, aber anstatt des Drehgebers 2 Tasten mehr hat. Ok, das bestätigt meine Vermutung. Knut Ballhause schrieb: > Bei mir nicht, da ich ausschließlich für den Comet programmiert habe. > Einziger Unterschied ist die Tastenabfrage, aber ich habe keine Zeit und > keine Test-Zeros zum Bemustern. Du kannst Die Sources haben und selbst > aktiv werden. Ich programmiere normalerweise zwar eine andere Controller-Familie, aber ich denke das wäre wohl der beste Ansatz. Also deiner Meinung nach unterscheiden sich beide Regler nur dadurch, dass der Comet einen Drehencoder und der Zero dafür zwei Tasten haben? Sollte es sich wirklich nur darauf beschränken dürfte die Anpassung der Firmware vermutlich nicht so aufwendig werden. Wegen anstehender Klausuren habe ich gerade zwar nicht die Zeit dafür, aber in ein paar Wochen wieder. Also es wäre nett, wenn du mir deine Version mal zuschicken könntest und ich schaue dann mal nach den Änderungen, wenn ich etwas mehr Luft habe. :) Ciao, Rainer
Knut B. schrieb: > Anbei die angepasste *.hex-Datei. Bitte nur für Geräte der neuen > Herstellserie verwenden (Geräte ab September 2014 im Handel)! Hallo, ich habe die Firmware Version V6 und V7 auf dem Comet Regler getestet. Meine Version benötigt V7 ist also eine neuere Version. Auf der Verpackung steht ganz unten in der Ecke auf der Rückseite folgendes: Art.Nr. 700 100 340 1 / Verp. Nr. 900 000 261 3 / Version 2013/1 Ist von der Firma EUROtronic Technology GmbH. Mir ist in der Firmware beim einstellen vom Datum noch etwas aufgefallen, bei der Tages Anzeige wurde der heutige Tag 19.10.2015 als Dienstag geführt. Kann es sein das mit dem Internen Datum etwas nicht stimmt? Ah und wie war das nochmal mit der Ventilsteuerung, was wird als Normal und was als Invers bezeichnet? Im Modus Offset funktioniert gar nichts da steht immer 0° ist das ebenfalls so gewollt? Viele Grüße
Knut B. schrieb: > Einstellung der Fuses: > Extended: 0xFF > High: 0xD1 > Low: 0x62 Hatte bisher den Regler mit der Firmware 007 wie oben Beschrieben verwendet, jedoch hat dieser Trotz mehrmaliger Prüfung der Konfiguration nicht so geregelt wie er eingestellt war. Aus diesem Grund habe ich ihn mit den Vorgeschlagenen FUSEs nochmal neu programmiert. Das Ergebnis ist jetzt, dass ich keine Verbindung mehr zum Regler über die ISP-Schnittstelle herstellen kann. Habe schon alle ISP-Frequenzen getestet. Nun würde ich Hilfe benötigen, wie der Controller wieder ins Leben gerufen werden kann. Noch eine Frage, und zwar besitzt der Regler einen (ich vermute) Uhrenquarz. Wird dieser verwendet?
Marc schrieb: > Mir ist in der Firmware beim einstellen vom Datum noch etwas > aufgefallen, > bei der Tages Anzeige wurde der heutige Tag 19.10.2015 als Dienstag > geführt. > Kann es sein das mit dem Internen Datum etwas nicht stimmt? Wenn das Datum noch nie eingestellt war, wird in der Init 0xFF aus dem EEPROM gelesen (also 55:55:2055 als Datum). Da beim Einstellen nur jeweils 2 Ziffern dargestellt werden, könnte statt 2015 auch 2115 gemeint sein. Dies habe ich nicht abgefangen. Drehe also am besten alle Werte durch linksdrehen 3x auf "00" und dann wieder auf das aktuelle Datum. Marc schrieb: > Ah und wie war das nochmal mit der Ventilsteuerung, was wird als Normal > und was als Invers bezeichnet? "Normal" ist die Einstellung für 99% aller Heizungsventile. "Invers" ist für den kleinen Rest der Ventile, die beim Herauskommen des Betätigungsstiftes schließen, war ein Kundenwunsch ;-). Marc schrieb: > Im Modus Offset funktioniert gar nichts da steht immer 0° ist das > ebenfalls so gewollt? Nicht gewollt, die Funktion ist bis dato nicht implementiert. Marc schrieb: > Aus diesem Grund habe ich ihn > mit den Vorgeschlagenen FUSEs nochmal neu programmiert. > > Das Ergebnis ist jetzt, dass ich keine Verbindung mehr zum Regler über > die ISP-Schnittstelle herstellen kann. Habe schon alle ISP-Frequenzen > getestet. Das ist bitter, hatte ich auch schon 2x. Bei mir lag das Problem vermutlich an einem wackeligen Reset-Kontakt. Dabei müssen die Fuses so durcheinandergekommen sein, dass der Controller sich tot stellt. Jetzt habe ich 2 Comet-Briefbeschwerer... Du kannst versuchen, über JTAG mit dem Teil zu reden, Erfolg ist aber nicht garantiert :-(.
:
Bearbeitet durch User
Hallo, habe gerade die Version 6 m169pv installiert. Ich kann das Display nun nur noch in sehr flachen Winkel ablesen. Ich bin mir aber nicht sicher od dies vorher schon der Fall war. Besteht die Möglichkeitden Contrast einzustellen ?
Alban Glunz schrieb: > Besteht die Möglichkeitden Contrast einzustellen ? Grundsätzlich ja, aber die Firmware liefert an sich schon einen sehr guten Kontrast und das an allen Reglern, die ich probiert habe. Sieht eher nach einem Wackler am Display aus oder die Batterien sind leer. Oder das Teil ist mal feucht geworden und es haben sich leitende Brücken zwischen den rech hochohmigen Displaypins gebildet...
Ok, beim zweiten exemplar sieht es besser aus... Ich verzweifel gerade an der Programierung der Heizzeiten gibt es dazu eine besthenden Beitrag ? Es gibt 3 temperaturen... Wenn man die timer programiert zeigt er irgendwann auch eine zeit mit Mond an wie habe ich das zu deuten ? Ausserdem schaltet er im automodus nicht um.. wo mache ich einen Fehler ?
Alban Glunz schrieb: > Ich verzweifel gerade an der Programierung der Heizzeiten Nur Mut! Alban Glunz schrieb: > Es gibt 3 temperaturen... > Wenn man die timer programiert zeigt er irgendwann auch eine zeit mit > Mond an wie habe ich das zu deuten ? Das Männlein im Haus ist die Wohlfühltemperatur. Das Männlein neben dem Haus ist die Absenktemperatur. Der Mond ist die Nachttemperatur, die separat eine noch niedrigere Temperatur erlaubt, falls gewünscht. Wird diese nicht programmiert (--:--), ist sie inaktiv und es wird mit einfacher Absenkung gefahren. Pro Tag sind 3 Wohlfühl-/Absenktemperaturen und eine Nachttemperatur möglich, Blockbildung für Tag 1-5 ist möglich, was die Einstellung der Arbeitstage vereinfacht. Alban Glunz schrieb: > Ausserdem schaltet er im automodus nicht um.. wo mache ich einen Fehler > ? Um wohin? Im Manuellmodus verschwinden Programmsymbole, im Automodus werden sie wieder eingeblendet und die aktuell geltende Einstellung wird angefahren.
ok... ich war es gewohnt, das er beim wechsel auf auto, automatisch die laut timer eingestellte temperatur einstellt, das passiert in deioner Version nicht. wird eigentlich noch an der Software entwickelt... oder ist das projekt beendet ?? habe hier 10 Regler und die nase von der alten software voll... ständig muß mann über die ADAP-Funktion die Regler wieder in die Spur bringen ;-( Aber das ist ja bekannt. oder gibt es eine weiter entwicklete Version ? Danke schon einmal für deine Antworten... Mfg Alban
Alban Glunz schrieb: > automatisch die laut > timer eingestellte temperatur einstellt, das passiert in deioner Version > nicht. Hmmm... sollte eigentlich... Muss ich nochmal ´reingucken... Alban Glunz schrieb: > wird eigentlich noch an der Software entwickelt... oder ist das projekt > beendet ?? Wird weiterentwickelt. Ab und an. Hast Du konkrete Wünsche?
Hier sind ja schon einige Arbeitsstunden investiert worden um das Gerät sowohl hardwareseitig, als auch softwareseitig zu verbessern, daher hoffe ich, dass mir jemand ein paar Fragen beantworten kann. Wieviel platz ist noch im Gehäuse? Ich würde gerne ein Arduino einbauen um meine Heizung in mein Smarthome einzubinden (mit Wifi und co). Ich weiß allerdings noch nicht so recht, wie ich das anstelle, weil ich mir unschlüssig bin, ob ich entweder das vorhandene System erweitere (was wahrscheinlich deutlich aufwändiger ist, dafür aber weiterhin standalone benutbar wäre) oder alles intern raus schmeiße und dann ein Arduino Nano nehme, dass dann alles regelt und funkt... Problematisch ist allerdings, dass ich (noch) keinen dieser Regler habe und nicht weiß was das genau für ein Motor ist und wie man den ansteuert. Wenn ich mir so diese encoder geschichte anschaue, dann fallen ja schonmal servo und schrittmotoren als Kandidaten aus :D Hat jemand eine Idee, wie ich diesen Motor mit nem Arduino ansteuern kann und die position effektiv bestimmen könnte? Ich bin über Ideen und Infos sehr dankbar. Liebe Grüße Andi
Andi schrieb: > Wieviel platz ist noch im Gehäuse? Wie viel ist viel? RFM12 oder RFM70 Funkmodule zum Beispiel passen spielend mit rein. Allerdings ist der Platz nicht linear in dem Gehäuse verteilt, an manchen Ecken passt kein Blatt Papier mehr zwischen. Andi schrieb: > Ich würde gerne ein Arduino einbauen um meine Heizung in mein Smarthome > einzubinden (mit Wifi und co). Du weißt, dass es die Regler inzwischen mit Bluetooth gibt, direkt fertig vom Hersteller? Da musst Du ggf. nur die Firmware anpassen. Andi schrieb: > Problematisch ist allerdings, dass ich (noch) keinen dieser Regler habe > und nicht weiß was das genau für ein Motor ist und wie man den > ansteuert. Ist ein ganz normaler DC-Motor mit Getriebe. H-Brücke mit 2 Pins für Rechts- und Linkslauf, mehr gibt's da nicht. Andi schrieb: > Hat jemand eine Idee, wie ich diesen Motor mit nem Arduino ansteuern > kann und die position effektiv bestimmen könnte? Für den Vorschub gibt es eine Reflexlichtschranke, da musst Du Pulse zählen, um zu wissen, wie weit der Stößel gefahren ist. Zusätzlich kann der Motorstrom gemessen werden, um den Touch am Ventil zu detektieren. Alles kein Hexenwerk. Die meiste Arbeit steckt in der Menu-Verwaltung und in der Temperaturregelung.
Hallo, Knut B. schrieb: > Du weißt, dass es die Regler inzwischen mit Bluetooth gibt, direkt > fertig vom Hersteller? Da musst Du ggf. nur die Firmware anpassen. Bei Lidl gibt es diese Woche Heizkörperregler mit eingebautem Bluetooth im Angebot -> Typ "RT200BT" (als App wird EUROprog bzw. NOX by Eurotronic erwähnt). Diese sehen rein äusserlich den Thermy V3 (ohne BT) ziemlich ähnlich, bzw. dem Comet Blue (mit BT smart4.0). Hat schon jemand Erfahrungen damit (evtl. eine angepasste Firmware) ? Die bereits integrierte BT smart4.0 Möglichkeit scheint sehr interessant zu sein. Lieber Gruss reinis
reinis schrieb: > Hat schon jemand Erfahrungen damit Eröffne doch bitte einen eigenen Thread. Die, die hier mitlesen, werden ganz gewiss nicht die sein, die mit dem von dir gewünschten Teil Erfahrungen haben, und letztere wiederum werden keine Veranlassung haben, in diesen Thread hier zu schauen.
@Knut Ballhause: Vielen Dank für deine schnelle und ausführliche Antwort! Eben ist mein Thermostat für 6€ (inkl. Versand) angekommen. Das mit dem "Firmware anpassen" hatte ich so noch nicht überdacht. Ich dachte bis eben, das da irgendein für mich gänzlich unbekannter Chip drauf ist, bis ich es zerlegt habe und "ATMEL MEGA 169PA" lesen konnte. Zwar hatte ich mit dem noch nichts zu tun, aber er ist immerhin schonmal von einem bekannten Hersteller einer bekannten Produktfamilie. Ich weiß, dass es die Regler inzwischen mit Bluetooth für 18€ gibt. Allerdings kann man dort dann das BT nur nutzen um die Heizzeiten zu übermitteln. Eine direkte Steuerung ist (erstmal) nicht möglich und das ist mir zu eingeschränkt. Andernfalls muss man alles wieder reversen und selber machen, was mich mehr Arbeit und mehr Geld kostet als es selbst neu zu machen. Da kaufe ich lieber über Kleinanzeigen für 6€ "normale" Regler und nutze nur die Hardware um sie mit ESP8266 und Co. für 4€ so zu erweitern, damit ich für insgesamt 10€ kompletten Zugriff drauf habe. Aber ich behalte das mal im Auge, für den Fall, dass mein Gerät eine zu kurze Akkulaufzeit hat... (das Wifi Modul ist ja leider relativ Stromhungrig). Ich habe bisher Atmels immer nur mit der Arduino IDE genutzt. Da man hier damit nicht weiterkommt (oder?) werde ich mich vermutlich mal mit AVR-Studio anfreunden müssen. Wäre es möglich, dass du mir deinen Code zukommen lässt, damit ich den für mich anpassen kann? Das wäre sehr freundlich!
Ach und nochwas... Du (Knut) schreibst ====================== Einstellung der Fuses: Extended: 0xFF High: 0xD1 Low: 0x62 ====================== Woher hast du diese Werte? Ich hab das komplette Thema mittlerweile zum 3. Mal durchgelesen und damit sind dir und einem Nutzer hier ja schon ein insgesamt 3 Heizregler zum Opfer gefallen. Laut dieser Seite hier: http://www.engbedded.com/fusecalc/ finde ich zum Atmega169PA die Werte: extended_fuses=0xFF high_fuses=0x99 low_fuses=0x62 kann es daran liegen? Ist das Schaltbild von Leopold korrekt? Weil ich bräuchte noch einen Analogen Input und der ist ja nicht mehr frei laut diesem Schaltbild (nutze den Thermy Regler vom Aldi). Laut Schaltplan ist dann nur noch PE5 als digitaler I/O frei... Liebe Grüße!
Das Zum-Opfer-fallen lag nicht an den Fuse-Einstellungen, sondern an einer mangelhaften RESET Verbindung. Seitdem die Regler wieder mit Schnappnasen anstelle der Schweißnippel verschlossen sind, löte ich den RESET-Draht an dem entsprechenden Pad an. Danach wird ein Bootloader aufgespielt und die Regler künftig mittels Speicherstick upgedated. Poste mal einen Link von der Zeichnung, die Du meinst.
:
Bearbeitet durch User
Hmmm... Das heißt also der High-Fuse-Wert ist auf dieser Seite falsch? Bei dem Schaltplan meine ich diesen hier von Leopold: https://www.mikrocontroller.net/attachment/92338/S... Laut diesem Schaltplan hier von Kervin, sind allerdings noch ein paar Anschlüsse nicht belegt (u.a. PF1 und PF3): https://www.mikrocontroller.net/attachment/116246/... Da hier ja schon einige Zeit verstrichen ist, weiß ich nicht, inwiefern diese Schaltbilder (bzw. falls eins, dann welches) auch für meinen Regler zutreffen. Ich habe einen Thermy der Modellnummer X/06/2014 ("Comet 01-05" steht auf dem Board). Im Anhang habe ich ein Bild von meinem Board, auf dem die Messspitze auf einen ResetKontakt zeigen (ich denke mal den meintest du auch mit "entsprechenden Pad", weil man da einfach besser dran kommt als an die USB-Port-Rückseite). Ich werde mir deinen Code dann mal anschauen und als Orientierung nutzen (ich will da nämlich etwas zuuu spezielles für mich). Programmieren würde ich dann gerne über die Arduino IDE in C, da ich ASM nicht kann und AVR-Studio noch komplett Neuland für mich ist. Geflasht wird dann der Bootloader (da der CP2102 wohl nicht funktionieren wird) mit einem Arduino Nano wie hier zu sehen: https://www.arduino.cc/en/Tutorial/ArduinoISP Ob das allerdings überhaupt funktioniert weiß ich nicht, da der Atmega169PA für Arduinos nirgends verwendet wird. Ich habe mich daher an dem ATmega169 orientiert und nur die Fuse-Einstellungen angepasst, das folgende Settings in der "boards.txt" hat: ############################################################## arduino_butterfly.name=Arduino-Butterfly stk500 arduino_butterfly.upload.protocol=stk500 arduino_butterfly.upload.maximum_size=14336 arduino_butterfly.upload.speed=57600 arduino_butterfly.bootloader.low_fuses=0xE2 arduino_butterfly.bootloader.high_fuses=0x98 arduino_butterfly.bootloader.extended_fuses=0xFF arduino_butterfly.bootloader.path=butterfly arduino_butterfly.bootloader.file=bf_boot.hex arduino_butterfly.bootloader.unlock_bits=0x3F arduino_butterfly.bootloader.lock_bits=0x0F arduino_butterfly.build.mcu=atmega169 arduino_butterfly.build.f_cpu=8000000L arduino_butterfly.build.core=arduino ############################################################## Ob die Einstellungen passen werde ich dann sehen müssen... Falls nicht bin ich ratlos :-( Noch bin ich mir auch unsicher, ob ich als High-Fuse 0xD1 oder 0x99 nehmen soll. Ich danke aber ich werde es (entgegen der Information auf der oben genannten Seite) mit deinen Werten machen. Ich kenne nur den weg über USB den Sketch hochzuladen, mittels CP2102 an RxD und TxD + Reset (beim Pro Mini) denn Sketch hohzuladen oder den Bootloader an dem MISO, MISO und SCK + Reset neu drauf zu brennen. Wie machst du das mit dem Speicherstick-Update? Klingt nämlich gut :-)
Andi Z. schrieb: > Hmmm... Das heißt also der High-Fuse-Wert ist auf dieser Seite falsch? ??? Andi Z. schrieb: > Bei dem Schaltplan meine ich diesen hier von Leopold: Nee, der ist ja hameralt. Wenn die Platine grün ist, dann ost es doeser Schaltplan https://www.mikrocontroller.net/articles/Datei:SparmaticZerov2_Schaltplan.png Wenn die Platine weiß ist, ist es dieser Schaltplan: https://www.mikrocontroller.net/articles/Datei:THERMYV3-sch.jpg Andi Z. schrieb: > Ob das allerdings überhaupt funktioniert weiß ich nicht, da der > Atmega169PA für Arduinos nirgends verwendet wird. Achtung! Atmega169 != Atmega169PA. Es unterscheiden sich einige Bits in bestimmten I/O-Registern, so dass bestimmte Interrupte nicht funktionieren, wenn nicht der korrekte Controller und dessen Definitionsdatei ausgewählt wird. Andi Z. schrieb: > Ich kenne nur den weg über USB den Sketch hochzuladen, mittels CP2102 an > RxD und TxD + Reset (beim Pro Mini) denn Sketch hohzuladen oder den > Bootloader an dem MISO, MISO und SCK + Reset neu drauf zu brennen. > > Wie machst du das mit dem Speicherstick-Update? > Klingt nämlich gut :-) Ich nutze einen eigenen Stick mit Atxmega32E5 und CP2102. Die Firmware für den Regler wird zuerst am PC auf den Xmega übertragen. Dann muss ich nur noch den Stick in den Regler stecken, die Batterien einlegen und dann wird die Firmware automatisch geflasht. Geht einfacher, als mit dem Laptop von Heizkörper zu Heizkörper zu springen.
Zu den Fuse Werten: auf der von mir verlinkten Seite: 0xD1 (High) Von Knut verwendeter Wert: 0x99 (ebenfalls für high) Das finde ich merkwürdig. Ich hab die Datenblätter vom Atmega169 und Atmega169PA jetzt über 2 Stunden (komplett) verglichen. Unterschiede konnte ich bei den Bits hier finden: EIMSK – External Interrupt Mask Register EIFR – External Interrupt Flag Register MCUCR – MCU Control Register LCDCRA – LCD Control and Status Register A LCDCCR – LCD Contrast Control Register (das werden die wichtigen Unterschiede sein...) Durch den PG5 (der beim Atmega169PA beim Reset mit integriert ist) kommen noch diese Änderungen der Bits dazu: PORTG – Port G Data Register (der Atmega169PA hat noch zusätzlich den PORTG4) DDRG – Port G Data Direction Register (der Atmega169PA hat noch zusätzlich den DDG5) PING – Port G Input Pins Address (der Atmega169PA hat noch zusätzlich den PING5) (eher unwichtige Unterschiede) Zusätzliche Unterschiede im Namen: Atmega169 ----- Atmega169PA UCSRA ----- UCSRnA UCSRB ----- UCSRnB UCSRC ----- UCSRnC UMSEL ----- UMSELn USBS ----- USBSn UCSZ0 ----- UCSZn1 UCSZ1 ----- UCSZn1 UCSZ0 ----- UCSZn0 UCPOL ----- UCPOLn UBRRL and UBRRH ----- UBRRLn and UBRRHn (wahrscheinlich nur im Namen und nicht in der Funktion unterschiedlich) Jetzt müsste ich nur noch verstehen, wo ich da wie was ändern muss, damit ich es vom Atmega169 ausgehend anpassen kann... Das einzige, was ich ziemlich sicher nicht hinbekomme ist das erstellen der bootloader.hex Datei. Der Rest ist reines Anpassen und Fleiß (sobald ich weiß wie). Kann ich den Bootloader vom Atmega169 für den Armega169PA nehmen oder stecken genau da die wichtigen Informationen der Bits und I/O-Registern drinne?
Andi Z. schrieb: > Ach und nochwas... Du (Knut) schreibst > ====================== > Einstellung der Fuses: > Extended: 0xFF > High: 0xD1 > Low: 0x62 > ====================== > > Woher hast du diese Werte? So, ich habe es nochmal überprüft - diese Werte passen! Hier nochmal die Aufdröselung: BODLEVEL = DISABLED RSTDISBL = [ ] OCDEN = [ ] JTAGEN = [ ] SPIEN = [X] WDTON = [ ] EESAVE = [X] BOOTSZ = 1024W_1C00 BOOTRST = [ ] CKDIV8 = [X] CKOUT = [ ] SUT_CKSEL = INTRCOSC_6CK_65MS Wenn der Bootloader verwendet werden soll, lautet die Einstellung: Extended: 0xFF High: 0xD4 Low: 0x52 Die Einstellung (ohne Bootloader!): Extended: 0xFF High: 0x91 Low: 0x62 funktioniert auch, dabei bleibt JTAG aktiv (wie beim Originalregler) - diese Pins können dann aber nicht für alternative Anwendungen (internes Funkmodul) verwendet werden.
Das verstehe ich nicht :D Die beiden Werte die du schreibst sind doch anders (weil du schreibst, dass sie passen) Also das hier: ====================== Einstellung der Fuses: Extended: 0xFF High: 0xD1 Low: 0x62 ====================== ist von dem mit Bootloader ====================== Extended: 0xFF High: 0xD4 Low: 0x52 ====================== und dem hier ohne Bootloader ====================== Extended: 0xFF High: 0x91 Low: 0x62 ====================== unterschiedlich. Zusammengefasst: Der High-Wert 0xD1 ist falsch? Wenn ich nen Bootloader flaschen will, nehme ich die dort genannten Werte (0xFF, 0xD4 und 0x52) und ab dann kann ich mit den Werten ohne Bootloader (0xFF, 0x91 und 0x62) nur das Programm (ohne einen neuen Bootloader drauf zu flashen) "updaten"? Wenn ich die Schaltung richtig verstehe, dann schalte ich den Motor über PE7 und PE6 ein (je nach Richtung) und schalte ab dann die "Diode" im optischen Encoder über PE2 an, um ab dann über PE3 die Motorschritte zu zählen. Da der Motor weder einen Sensor (oder Kontaktschalter) zum Erfassen des Zustandes "komplett eingefahren" und "komplett ausgefahren" hat, kann ich beide Positionen "nur" über den Motorstrom erfassen (an PF2). Weißt du noch Knut, ab welchem Wert man dann stoppt (will nichts kaputt machen). Werden PF4, PF5, PF6 und PF7 für irgendeine Funktion benötgt?
Ok vergiss meinen letzten Beitrag. Einzig die Frage nach dem Strommesswert bleibt interessant. Habe jetzt viel nachgelesen und gelernt, dass es nicht "die" richtigen Fuse Werte gibt, sondern dass man damit den µC anders Einstellt. Was mich aber dennoch wundert ist, dass man einen Quarz hat, aber du den Internen Quarz verwendest. Warum nimmst du nicht den 32MHz Quarz als Taktquelle?
Andi Z. schrieb: > Warum nimmst du nicht den 32MHz Quarz als Taktquelle? Weil der nur 32 Kilohertz hat und asynchron weiterlaufen kann, während die CPU, die mit 1...8Mhz intern getaktet werden kann, schläft und so kaum Strom verbraucht. Andi Z. schrieb: > Einzig die Frage nach dem > Strommesswert bleibt interessant. Guck mal in die Sources, da ist eigentlich alles drin.
Ui.... ja da war ein Fehler: Mega != Kilo :D Ich dachte dennoch, dass man den power-save-mode nur benutzen kann, wenn man den low-frequency crystal (CKSEL 0111 statt 0010 für den internen RC ooscillator) verwendet, denn da steht immer nur "Power-save mode 32kHz TOSC enabled". Ist das falsch? Also du lässt den Chip auf 8MHz laufen mit CKDIV8=0 (=1MHz) und legst ihn dann so oft es geht schlafen? Ich werde morgen mal den bootloader brennen mit den Fuses (0x62, 0xD1 und 0xFF). Sehe mich schon nächste Woche im lokalen Hackerspace sitzen um den AVR wiederzubeleben :D Danke Knut für deine Hilfe (sorry... duck)
Andi Z. schrieb: > Also du lässt den Chip auf 8MHz laufen mit CKDIV8=0 (=1MHz) und legst > ihn dann so oft es geht schlafen? Ganz genau, macht im Sleep mit laufendem LCD gerade 0.03mA.
Ich danke dir vielmals! Jetzt bin ich erstmal ne Weile still und melde mich dann wenn es entweder funktioniert oder gepufft hat :D
Wär ich doch mal früher hier gelandet... Also ich bastel gerade auch an dem Teil rum - den Temperaturen draußen sei dank. Viele Dinge die hier stehen (oder woanders auf mikrocontroller.net) musste ich selbst rausfinden (Schaltplan etc.). Ich hatte sogar vorher mal gegoogled, allerdings mit dem Begriff "EasyHome" und nicht Comet oder Thermy und hatte nur jemanden gefunden, der ein Arduino MEGA nahm um das Teil zu steuern (was dann wegen Strombedarf extern versorgt werden muss etc... nicht so das, was ich gerne hätte) Naja.. egal. Wie weit bist du denn Andi? Ich habe das gleiche vor wie du. Der Regler lässt sich mittlerweile mit der Arduino IDE nutzen (Sketches hochladen, fuses und bootloader brennen etc.). Auch die Steuerung und das Auslesen der Sensorwerte läuft dank tatkräftiger unterstützung bereits. Bei Interesse, schau mal hier vorbei: http://forum.arduino.cc/index.php?topic=371928.0
Ich hoffe Knut liest hier noch mit, denn ich habe mittlerweile eine (rudimentäre) Regelung in der Testphase, bei der allerdings im Bezug auf den Heizkörper ein relativ starkes Schwingen der Temperatur zu bemerken ist. Den optischen Encoder lese ich während der Motor läuft aus und Zähle jedes mal einen Schritt, wenn der Zustand des Encoders wechselt (also von 1 auf 0 ist ein Schritt und von 0 auf 1 ist ein Schritt). Somit habe ich bei einer Umdrehung des "Encoder-Reflektier-Zahnrades" 4 Schritte gemacht (ich weiß, dass es auch realistischer ginge, aber so hat die Funktion gerade mal 6 Zeilen mit 2 boolean Variablen und ist daher schön schnell und hat zusätzlich noch eine feine Auflösung). Bei der Adaptierfahrt (erst komplett auf, von da aus wird das Ventil zu gefahren und Schritte gezählt, dann auf gefahren und Schritte gezählt und dann wieder zu gefahren und Schritte gezählt und dann der Maximalwert als "Gesamtschritte" gespeichert) lese ich die Spannung an PF2 aus und stoppe entsprechend den Motor. Die daraus gewonnene Erkenntnis über die "Gesamtschritte" nutze ich um mit einer Funktion auf Position (Schrittnummer) X zu fahren oder um das Ventil X Schritte zu oder auf zu fahren. Dabei ist vom Zustand "Ventil komplett zu" am Anfang eine relativ lange Strecke (etwa 70 Schritte) das Ventil komplett zu und öffnet sich dann relativ schnell mit einem starken (gefühlt fast logarithmischen) Volumenstrom in den Heizkörper der dann auch nicht mehr sehr viel wächst. Wenn ich jetzt versuche den Heizkörper auf eine möglichst Konstante Temperatur zu regeln, dann muss ich immer wieder Schritte vor und zurück fahren. Dabei erscheinen mir die Schritte nicht reproduzierbar zu sein. Zum Beispiel höre ich die Flüssigkeit in den Heizkörper strömen, wenn ich sieben mal 10 Schritte fahre (per Hand am Rad gesteuert). Wenn ich aber das Ventil zuerst 250 Schritte öffne und dann per "Regelung-für-Arme" bei steigender Temperatur jeweils 10 Schritte schließe, dann höre ich bei 130 schon keine Flüssigkeit mehr in den Heizkörper strömen. Hast du eine Erklärung dafür Knut? Ich hätte nämlich gerne komplett reproduzierbare Fahrwege in beide Richtungen, weil sonst kann ich nur zuverlässig "ZU" und "AUF" steuern. Meine Funktionen sehen gekürzt (ohne TimeOut, Motorstrom-Stopp etc.) etwa so aus: void fahreSchritteAuf(int zuFahrendeSchritte) { //Zahl der gefahrenen Schritte zurück setzen motorSchritte = 0; //sichergehen, dass der Motor aus ist motorStop(); //EncoderLED einschalten digitalWrite(motorEncoderLED, HIGH); //Encoderwert speichern encoderStatusVorher = digitalRead(motorEncoder); //Motor in Richtung "Ventil offen" einschalten ventilAuf(); //so lange den Motor eingeschaltet lassen //bis die Anzahl der zu fahrenden Schritte erreicht ist while (motorSchritte < zuFahrendeSchritte) { if (schrittCount()) { motorSchritte++; } } //Ziel erreicht, Motor stoppen motorStop(); //EncoderLED ausschalten digitalWrite(motorEncoderLED, LOW); } bool schrittCount(void) { //den momentanen Wert (0 oder 1) des Encoder speichern encoderStatusJetzt = digitalRead(motorEncoder); //Falls der Wert sich geändert hat, //zurück geben, dass ein Schritt gefahren wurde if (encoderStatusVorher != encoderStatusJetzt) { encoderStatusVorher = encoderStatusJetzt; return true; } else { return false; } } Ich hab es extra leserlich kommentiert. Ich hoffe dir fällt ein logischer oder sonstiger Fehler auf. Vielen Dank!
Als erstes fällt mir auf, dass grundsätzlich Schritte verloren gehen können. Bei der Art, wie Du sie zählst, ist das sehr wahrscheinlich. Zum Einen stoppt der Motor nicht sofort, es muss also nach dem Abschalten des Motors noch getestet werden, ob noch ein Impuls gekommen ist oder ob die Reflexmarke vielleicht sogar auf dem Koppler liegengeblieben ist und vielleicht sogar kippelt. Daher messe ich die Schritte drehrichtungsabhängig in Richtung AUF nur bei der Flanke 0->1 und in Richtung ZU nur bei der Flanke 1->0. Und ich passe den Zählernullpunkt beim kompletten Verschließen des Ventils ständig an, so dass Fehlschritte kompensiert werden. Weiterhin setzt Du den Schrittzähler immer wieder zurück. Damit verlierst Du die absolute Ventilposition. Oder speicherst Du diese woanders? Ohne Absolutwert ist keine vernünftige Regelung möglich. Phil G. schrieb: > Wenn ich jetzt versuche den Heizkörper auf eine möglichst Konstante > Temperatur zu regeln, dann muss ich immer wieder Schritte vor und zurück > fahren. Das ist schon sinnvoll, aber bei gleichen Bedingungen (alle Fenster und Türen zu, Vorlauftemperatur in etwa gleich) sollte die Regelung sehr bald zur Ruhe kommen. Wenn die schwingt, passen die Regelwerte nicht zu Soll- und Ist-Werten und müssen angeglichen werden. Abgesehen davon gibt es aber geade bei alten Ventilen Hystereseeffekte im Stellverhalten durch Verkalken oder Verdrecken. Das kannst Du sehr einfach mit einer Stellschraube am Ventilstift überprüfen. Die gibt es als kleines Aufschnappteil als Notventil. Wenn sich beim vorsichtigen Drehen der Schraube überlappende Totbereiche beim Stellen des Durchflusses ergeben, sollte vielleicht mal das Ventil gewechselt werden.
:
Bearbeitet durch User
Danke Knut für die schnelle und hilfreiche Antwort. Ich habe dir nur einen kleinen Teil meines 2500 Zeilen langen Codes gezeigt, der noch dazu vereinfacht und Kommentiert wurde um es dir zu vereinfachen. Es gibt eine globale Variable, die die aktuelle Position beinhaltet. Das der Motor noch etwas weiter drehen könnte und ich dann am Encoder nach dem Abschalten weiterlesen müsste, hatte ich auch schon mal bedacht, dann aber verworfen aus dem Grund, dass ich jedes Logische Level als einen Schritt zähle (und es dann eben beim kippeln ins unermessliche weiterzählen würde). Da war mir die "kleine" Ungenauigkeit am Ende das vertretbarere Übel. Das mit dem Flanken zählen ist allerdings eine sehr gute Idee, was ich allerdings noch nie gemacht habe. Ist es korrekt, dass ich das Zählen dann je nach Richtung in eine eigene Funktion packen muss (weil sonst dürfte der Rückgabewert ja kein boolean mehr sein und mittels if-Abfragen, würde dann mal die eine und mal die andere Richtung beim kippeln zurück gegeben werden) ? Mein Ansatz sieht so aus: bool schrittAufCount(void) { //den momentanen Wert (0 oder 1) des Encoder speichern encoderStatusJetzt = digitalRead(motorEncoder); //Falls der Wert sich geändert hat, //zurück geben, dass ein Schritt gefahren wurde if ( (encoderStatusVorher == 0) && (encoderStatusJetzt == 1) ) { encoderStatusVorher = encoderStatusJetzt; return true; } else { encoderStatusVorher = encoderStatusJetzt; return false; } } Hierbei ist mir dann aufgefallen, dass das so wie ich das mache mit dem flanken erkennen, dann dennoch nicht klappt, falls der Wert am Encoder "kippelt". Würde das so denn deiner Meinung nach funktionieren, wenn ich zusätzlich nach dem Motor abschalten noch weiterzähle? (Stichwort: kippeln) Die Ventile sind mit 4 Jahren relativ neu, allerdings könnte ich mir dennoch aufgrund des Momentes das der Motor aufbringen muss eine Hysterese je nach Drehrichtung vorstellen...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.