Forum: Mikrocontroller und Digitale Elektronik Alternative Firmware für Sparmatic Zero Heizungsthermostat


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


Angehängte Dateien:

Lesenswert?

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.

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


Angehängte Dateien:

Lesenswert?

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.

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


Lesenswert?

>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.

von Thomas S. (scio999)


Lesenswert?

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

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


Lesenswert?

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...

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


Angehängte Dateien:

Lesenswert?

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.

von Calogero D. (Firma: swissgrd.va) (cdg)


Lesenswert?

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.

von Uhu U. (uhu)


Lesenswert?

@ Travel Rec.:

Wie bist du denn an die Informationen über die Hardware gekommen? Gibt 
es da einen Schaltplan dazu?

von Catweazle (Gast)


Lesenswert?

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

von Kay P. (kay)


Lesenswert?

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

von Catweazle (Gast)


Angehängte Dateien:

Lesenswert?

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

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


Lesenswert?

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"

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


Lesenswert?

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?

von Uhu U. (uhu)


Lesenswert?

Was sind denn diese drei kammartigen Strukturen auf 
Basic_bottom-mirrored.jpg
in Beitrag "Re: Alternative Firmware für Sparmatic Zero Heizungsthermostat" ?

von Calogero D. (Firma: swissgrd.va) (cdg)


Lesenswert?

@ 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

von Uhu U. (uhu)


Lesenswert?

Calogero Digangi schrieb:
> War das eine Entkalkfahrt ?

Nein, das war der Parkinson-Mode.

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


Lesenswert?

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 ;-)

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


Lesenswert?

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.

von Calogero D. (Firma: swissgrd.va) (cdg)


Lesenswert?

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

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


Lesenswert?

Calogero Digangi schrieb:
> Danke nochmals an dieser Stelle für die Software

Danke, dass Du sie testest und Rückmeldungen abgibst :-)

von Kay P. (kay)


Lesenswert?

Hi,

welcher Controller befindet sich denn im Original Sparmatic Basic, wenn 
der unter einem Epoxyd Klecks steckt ?

Gruß Kay

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


Lesenswert?

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.

von Kay P. (kay)


Lesenswert?

Danke für die Info. Werde mir einfach einen kaufen und sehen, was 
aktuell drin steckt.


Gruß Kay

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


Lesenswert?

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.

von musa (Gast)


Lesenswert?

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???

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


Lesenswert?

Kann ich so nicht nachvollziehen. Kann der Motor frei drehen? Was 
passiert, wenn die Batterien herausgenommen und wieder eingelegt werden?

von Calogero D. (Firma: swissgrd.va) (cdg)


Lesenswert?

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

von Zero (Gast)


Lesenswert?

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.

von medienforum (Gast)


Lesenswert?

Habe seit 4.2.10 das gleiche ADAP Problem. Kam plötzlich. Nichts 
paasiert, trotz Batteriewechsel. Gibt es eine Reset Taste?

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


Lesenswert?

@ muasa / @ medienforum:

Und ihr habt meine Firmware 0.11 draufgespielt? Oder nutzt ihr die 
Originalfirmware des Sparmatic Zero?

von Thilo M. (Gast)


Lesenswert?

@ 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 ...

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


Lesenswert?

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"

von Günterx (Gast)


Lesenswert?

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ß

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


Lesenswert?

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 ;-).

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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

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


Lesenswert?

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.

von Günterx (Gast)


Lesenswert?

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ß

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


Lesenswert?

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.

von Günterx (Gast)


Lesenswert?

"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.

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


Lesenswert?

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.

von Gerhard Z. (germel)


Lesenswert?

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.

von Thomas L. (lengeth)


Lesenswert?

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

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


Angehängte Dateien:

Lesenswert?

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.

von Torsten F. (tnetwork)


Lesenswert?

abo

von Fabian (Gast)


Lesenswert?

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..)

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


Lesenswert?

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...

von Florian.F (Gast)


Lesenswert?

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

von Calogero D. (Firma: swissgrd.va) (cdg)


Lesenswert?

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

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


Lesenswert?

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.

von Florian F. (florianf)


Lesenswert?

Das ist mein Problem, das funktioniert nicht, deswegen die frage ob es 
eine andere variante gibt z.B. mit einem Taster und nem widerstand?

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


Lesenswert?

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...

von Florian F. (florianf)


Angehängte Dateien:

Lesenswert?

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.

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


Lesenswert?

Ä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...

von Florian F. (florianf)


Lesenswert?

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

von j-x (Gast)


Lesenswert?

Hi,

am Quellcode wäre ich auch interessiert!

Danke

von chrwie (Gast)


Lesenswert?

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

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


Lesenswert?

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?

von Andreas K. (uboot)


Lesenswert?

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...

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


Lesenswert?

Na das ist doch mal ein Wort :-)

von Andreas K. (uboot)


Lesenswert?

:) 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

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


Lesenswert?

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.

von Daniel B. (skol)


Lesenswert?

gibt es zu der Sparmatic Comet oder der Aldi Thermy schon etwas neues in 
Bezug auf Firmware und Programmierschnittstelle?
Grüße,
skol

von Andreas K. (uboot)


Lesenswert?

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 :(

von Calogero D. (Firma: swissgrd.va) (cdg)


Lesenswert?

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

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


Lesenswert?

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?! ;-)

von Leo (Gast)


Lesenswert?

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

von matthiasp (Gast)


Angehängte Dateien:

Lesenswert?

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

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


Lesenswert?

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.

von relaxend (Gast)


Lesenswert?

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

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


Lesenswert?

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.

von relaxend (Gast)


Lesenswert?

> 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

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


Lesenswert?

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"

von Leopold B. (leo1969)


Angehängte Dateien:

Lesenswert?

Ich hab mal den Schaltplan für den Sparmatic Comet rausgezeichnet.

Mg
  Leo

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


Lesenswert?

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.

von Bernhard R. (barnyhh)


Lesenswert?

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

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


Lesenswert?

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.

von Bernhard R. (barnyhh)


Lesenswert?

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

von Andreas K. (uboot)


Lesenswert?

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.

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


Lesenswert?

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.

von speedboatz (Gast)


Lesenswert?

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 Andreas K. (uboot)


Lesenswert?

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...

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


Lesenswert?

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...

von Chris (Gast)


Lesenswert?

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

von Vlad T. (vlad_tepesch)


Lesenswert?

bei Reichelt und ELV gibts zur Zeit auch welche für 15€

von Info (Gast)


Lesenswert?


von Vlad T. (vlad_tepesch)


Lesenswert?

das ist aber nicht ETH sondern EHT (siehe Reichelt)
Hersteller schein eq-3 zu sein (siehe Anleitung bei LEV und Reichelt)

von Leopold B. (leo1969)



Lesenswert?

Hier ein Update - hatte bei der USB Buchse den GND vergessen.

von Helmut (Gast)


Lesenswert?

echt gut gemacht, Leopold.

Kannst du das Target-File mal ranhängen?

Gruß Helmut

von Leopold B. (leo1969)


Angehängte Dateien:

Lesenswert?

> Helmut schrieb:
> Kannst du das Target-File mal ranhängen?
Gerne.

von Chrid (Gast)


Lesenswert?

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

von Leopold B. (leo1969)


Angehängte Dateien:

Lesenswert?

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

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


Lesenswert?

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??!?

von Manuel (Gast)


Lesenswert?

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

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


Lesenswert?

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.

von Frank (Gast)


Lesenswert?

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

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


Lesenswert?

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.

von Andreas K. (uboot)


Lesenswert?

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.

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


Lesenswert?

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...

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


Lesenswert?

Andreas K. schrieb:
> weil irgendein Mikrochip nicht lieferbar ist.

Wird wohl ein ATMEL-Controller sein...

von Frank (Gast)


Lesenswert?

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

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


Lesenswert?

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.

von Vlad T. (vlad_tepesch)


Lesenswert?

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.

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


Lesenswert?

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...

von Leopold B. (leo1969)


Angehängte Dateien:

Lesenswert?

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

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


Lesenswert?

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.

von Leopold B. (leo1969)


Lesenswert?

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.

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


Lesenswert?

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.

von Leopold B. (leo1969)


Lesenswert?

Ich hab es so gemacht wie Dario Carluccio und Jiri Dobry beim OpenHR20.
Ist einfach, effizient und logisch.

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


Lesenswert?

Was hast Du gemacht?

von Leopold B. (leo1969)


Lesenswert?

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

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


Lesenswert?

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....

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


Lesenswert?

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...

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


Lesenswert?

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.

von Leopold B. (leo1969)


Lesenswert?

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. ;-)

von Leopold B. (leo1969)



Lesenswert?

Der Spannungsverlauf an ADC2 (R19-C8) lässt sich gut für die 
Referenzfahrt nutzen.

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


Lesenswert?

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.

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


Lesenswert?

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.

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


Lesenswert?

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.

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


Lesenswert?

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 ;-)

von Leopold B. (leo1969)


Angehängte Dateien:

Lesenswert?

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.

von Leopold B. (leo1969)


Lesenswert?

Knut Ballhause schrieb:
> ..., dann kann man schon mal vernünftig debuggen ;-)
Hast keinen JTAGICE mkII? :-)

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


Lesenswert?

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.

von Leopold B. (leo1969)


Lesenswert?

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.

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


Lesenswert?

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...

von Leopold B. (leo1969)


Lesenswert?

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

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


Lesenswert?

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.

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


Lesenswert?

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.

von Leopold B. (leo1969)


Lesenswert?

Knut Ballhause schrieb:
> Jetzt stellt sich mir die Fage, wie das angestellt wird.
Was meinst du, wie die Batteriespannung ermittelt wird?

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


Lesenswert?

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.

von Leopold B. (leo1969)


Lesenswert?

Aber mal ehrlich, würdest du beim Einbrechen der Batteriespannung 
anfangen im EEPROM rumzuschreiben?

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


Lesenswert?

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.

von c-logic (Gast)


Lesenswert?

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

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


Lesenswert?

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.

von bingo (Gast)


Lesenswert?


von Lars (Gast)


Lesenswert?

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

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


Lesenswert?

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.

von Lars (Gast)


Lesenswert?

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

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


Lesenswert?

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.

von Vlad T. (vlad_tepesch)


Lesenswert?

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.

von Lars (Gast)


Lesenswert?

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

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


Lesenswert?

Beides ist möglich. Ich würde auch nur das RFM12 (o.ä) ergänzen und 
nicht alles ausschlachten.

von Lars (Gast)


Lesenswert?

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

von Lars L. (lars_l)


Lesenswert?

Moin,


mh schade ist keiner mal damit angefangen?? was in Bascom zu machen?


Lars

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


Lesenswert?

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.

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


Angehängte Dateien:

Lesenswert?

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

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


Angehängte Dateien:

Lesenswert?

Ach, Schaltplandatei vergessen...

Edit: das Gehäuse mit 21mm Höhe passt auch, ebenso das mit 28mm Höhe.

von Alex W. (a20q90)


Lesenswert?

Hi Knut,

gibts dazu auch einen Quellcode?

Grüße

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


Lesenswert?

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"

von c-logic (Gast)


Lesenswert?

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

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


Lesenswert?

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.

von Marek N. (Gast)


Lesenswert?

abo

von Megabug (Gast)


Lesenswert?

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.

von Michael K. (mad_axe)


Lesenswert?

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.

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


Lesenswert?

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.

von Michael K. (mad_axe)


Lesenswert?

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

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


Lesenswert?

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.

von Michael K. (mad_axe)


Lesenswert?

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

von Petr D. (petr_d)


Lesenswert?

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 ?

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


Lesenswert?

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.

von Beobachter (Gast)


Lesenswert?

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.

von R. M. (rmax)


Lesenswert?

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.

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


Lesenswert?

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.

von Beobachter (Gast)


Lesenswert?

wenn ich so falsch liege .... einfach SourceCode posten

von Beobachter (Gast)


Lesenswert?

@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 :-)

von Stefan W. (wswbln)


Lesenswert?

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...

von Michael G. (let)


Lesenswert?

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.

von Michael K. (mad_axe)


Lesenswert?

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...

von Michael G. (let)


Lesenswert?

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 ;).

von Nico D. (Gast)


Angehängte Dateien:

Lesenswert?

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

von Kervin K. (kernel)


Angehängte Dateien:

Lesenswert?

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.

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


Lesenswert?

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.

von Thomas M. (tmuehlha)


Lesenswert?

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?

von Thomas M. (tmuehlha)


Lesenswert?

Oder bin ich mit den ETH comfort 200 besser bedient, da ist funk schon 
integriert?

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


Lesenswert?

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

von Mr.Handyman (Gast)


Lesenswert?

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?

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


Lesenswert?

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?

von Wolfgang-G (Gast)


Lesenswert?

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

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


Lesenswert?

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.

von ratefuchs (Gast)


Lesenswert?

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.

von Dejan V (Gast)


Lesenswert?

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

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


Lesenswert?

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!

von R. F. (rfr)


Angehängte Dateien:

Lesenswert?

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.

von R. F. (rfr)


Lesenswert?

Ausserdem wüsste ich gerne, womit die Temperatur gemessen wird. Wo ist 
der Sensor?
Gruss
Robert

von Charly B. (charly)


Lesenswert?

wer lesen kann ist klar im Vorteil, fange mal hier an:
Beitrag "Alternative Firmware für Sparmatic Zero Heizungsthermostat"

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


Lesenswert?

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.

von Matthias Larisch (Gast)


Lesenswert?

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 :)

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


Lesenswert?

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.

von Tueftler (Gast)


Lesenswert?

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

von R. F. (rfr)


Lesenswert?

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

von Andreas K. (uboot)


Lesenswert?

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!!!

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


Lesenswert?

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.

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


Lesenswert?

@ 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?

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


Lesenswert?

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 :-)

von Matthias Larisch (Gast)


Angehängte Dateien:

Lesenswert?

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

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


Lesenswert?

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.

von JW (Gast)


Lesenswert?

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

von Matthias Larisch (Gast)


Angehängte Dateien:

Lesenswert?

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

von Matthias Larisch (Gast)


Lesenswert?


von Ingmar H. (bolliq)


Lesenswert?

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

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


Lesenswert?

[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.

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


Lesenswert?

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

von Kay (Gast)


Lesenswert?

> 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?

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


Lesenswert?

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.

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


Lesenswert?

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ß?!

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


Lesenswert?

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.

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


Lesenswert?

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...

von Wolfgang-G (Gast)


Lesenswert?

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

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


Lesenswert?

Original war laut Werbetext ein PID.

von Ingmar H. (bolliq)


Lesenswert?

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

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


Angehängte Dateien:

Lesenswert?

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.

von Ingmar H. (bolliq)


Lesenswert?

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

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


Lesenswert?

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?

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


Lesenswert?

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. ;-)

von Ingmar H. (bolliq)


Lesenswert?

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.

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


Angehängte Dateien:

Lesenswert?

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.

von Ingmar H. (bolliq)


Lesenswert?

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

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


Lesenswert?

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.

von Ingmar H. (bolliq)


Lesenswert?

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

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


Lesenswert?

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.

von Ingmar H. (bolliq)


Lesenswert?

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

von Christian Ostermeier (Gast)


Lesenswert?

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

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


Lesenswert?

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)?

von Christian O. (easter)


Lesenswert?

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.

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


Lesenswert?

Hallo Christian,

Deine Zeros sind gestern angekommen und gehen heute wieder in die Post. 
Danke für die Kartonbeilage ;-)

von Denis Lehmann (Gast)


Lesenswert?

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

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


Lesenswert?

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.

von Han H (Gast)


Lesenswert?

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

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


Lesenswert?

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.

von Marvin e. (maavin)


Lesenswert?

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?

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


Lesenswert?

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"

von Marvin e. (maavin)


Lesenswert?

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...

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


Lesenswert?

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.

von Manfred Weisser (Gast)


Lesenswert?

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

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


Lesenswert?

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?

von Manfred Weisser (Gast)


Lesenswert?

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

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


Lesenswert?

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?

von Manfred Weisser (Gast)


Lesenswert?

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 !!!

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


Lesenswert?

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.

von Manfred Weisser (Gast)


Lesenswert?

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

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


Lesenswert?

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.

von Manfred Weisser (Gast)


Lesenswert?

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

von water (Gast)


Lesenswert?

Manfred Weisser schrieb:
> PN

PN: private note - private Nachricht
anmelden und dann auf "(travelrec)" im header klicken

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


Lesenswert?

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.

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


Angehängte Dateien:

Lesenswert?

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.

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


Lesenswert?

Einstellung der Fuses:
1
Extended: 0xFF
2
High:     0xD1
3
Low:      0x62

von Manfred Weisser (Gast)


Lesenswert?

> 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

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


Lesenswert?

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
von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo Herr Weisser,

anbei die Dateien mit Regelbereichserweiterung bis 50°C.

von F. F. (foldi)


Lesenswert?

Tolles Projekt!
Danke dafür. Werde das mal für mich ins Auge fassen.

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


Angehängte Dateien:

Lesenswert?

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.

von dieterj (Gast)


Lesenswert?

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

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


Lesenswert?

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 ;-)

von Conny G. (conny_g)


Lesenswert?

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?

von Andreas K. (uboot)


Lesenswert?

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
von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

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.

von Mathias M. (Gast)


Lesenswert?

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/]

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


Lesenswert?

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.

von Torsten F. (tnetwork)


Lesenswert?

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

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


Lesenswert?

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.

von Conny G. (conny_g)


Lesenswert?

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.

von Mathias M. (Gast)


Lesenswert?

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.

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



Lesenswert?

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.

von Andreas K. (uboot)


Lesenswert?

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.

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


Lesenswert?

Danke für die Blumen ;-). Frohes Neues an alle Mitleser!

von Andreas K. (uboot)


Lesenswert?

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 ;)

von Kann mich nicht einloggen... (Gast)


Lesenswert?

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

von Andreas K. (uboot)


Lesenswert?

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?

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


Lesenswert?

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
von Andreas K. (uboot)


Lesenswert?

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
von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

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 ;-).

von Andreas K. (uboot)


Lesenswert?

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

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


Lesenswert?

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.

von Andreas K. (uboot)


Lesenswert?

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?

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


Lesenswert?

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.

von Andreas K. (uboot)


Lesenswert?

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.

von Andreas K. (uboot)


Lesenswert?

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
von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

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
von Andreas K. (uboot)


Lesenswert?

Danke! Jetzt läuft's mit der 006...

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


Lesenswert?

Gut. Um die Bugs kümmere ich mich demnächst. Danke nochmal für den 
Report.

von Juju (Gast)


Lesenswert?

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

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


Lesenswert?

Sie haben Post ;-)

von Mathias K. (rmrf)


Lesenswert?

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.

von Andreas K. (uboot)


Lesenswert?

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.

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


Lesenswert?

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.

von Andreas K. (uboot)


Lesenswert?

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
von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

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...

von Conny G. (conny_g)


Lesenswert?

Gibt es inzwischen eigentlich schon eine C Firmware für diese Teile? 
(Konkret: Comet)

von Info (Gast)


Lesenswert?


von vejv (Gast)


Lesenswert?

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)

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


Lesenswert?

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.

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


Angehängte Dateien:

Lesenswert?

Anbei die angepasste *.hex-Datei. Bitte nur für Geräte der neuen 
Herstellserie verwenden (Geräte ab September 2014 im Handel)!

von vejv (Gast)


Lesenswert?

Danke für die Antwort, morgen versuchen. Schreiben, wie es gelaufen

von vejv (Gast)


Lesenswert?

Der Motor funktioniert perfekt, vielen Dank

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


Lesenswert?

Sehr gut :-)!

von Conny G. (conny_g)


Lesenswert?

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?

von R. W. (quakeman)


Lesenswert?

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

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


Lesenswert?

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
von R. W. (quakeman)


Lesenswert?

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

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


Lesenswert?

Alles klar. Hast ´ne PM.

von Marc (Gast)


Lesenswert?

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

von Marc (Gast)


Lesenswert?

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?

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


Lesenswert?

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
von Alban Glunz (Gast)


Lesenswert?

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 ?

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


Lesenswert?

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...

von Alban Glunz (Gast)


Lesenswert?

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 
?

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


Lesenswert?

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.

von Alban Glunz (Gast)


Lesenswert?

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

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


Lesenswert?

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?

von Andi (Gast)


Lesenswert?

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

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


Lesenswert?

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.

von reinis (Gast)


Lesenswert?

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

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


Lesenswert?

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.

von Andi Z. (andi10)


Lesenswert?

@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!

von Andi Z. (andi10)


Lesenswert?

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!

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


Lesenswert?

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
von Andi Z. (andi10)


Angehängte Dateien:

Lesenswert?

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 :-)

von travelrec (Gast)


Lesenswert?

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.

von Andi Z. (andi10)


Lesenswert?

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?

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


Lesenswert?

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.

von Andi Z. (andi10)


Lesenswert?

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?

von Andi Z. (andi10)


Lesenswert?

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?

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


Lesenswert?

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.

von Andi Z. (andi10)


Lesenswert?

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)

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


Lesenswert?

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.

von Andi Z. (andi10)


Lesenswert?

Ich danke dir vielmals!
Jetzt bin ich erstmal ne Weile still und melde mich dann wenn es 
entweder funktioniert oder gepufft hat :D

von Phil G. (phil333)


Lesenswert?

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

von Phil G. (phil333)


Lesenswert?

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!

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


Lesenswert?

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
von Phil G. (phil333)


Lesenswert?

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
Noch kein Account? Hier anmelden.