<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=193.99.214.132</id>
	<title>Mikrocontroller.net - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=193.99.214.132"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/193.99.214.132"/>
	<updated>2026-04-10T21:47:28Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=L%C3%B6ten&amp;diff=88425</id>
		<title>Löten</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=L%C3%B6ten&amp;diff=88425"/>
		<updated>2015-04-27T09:14:07Z</updated>

		<summary type="html">&lt;p&gt;193.99.214.132: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Löten in der Elektronik ist eine praktisch-handwerkliche Tätigkeit und erfordert daher neben entsprechendem Geschick in erster Linie ... viel Übung!&lt;br /&gt;
&lt;br /&gt;
== Grundlagen ==&lt;br /&gt;
&lt;br /&gt;
Löten ist ein Verfahren zum Herstellen einer dauerhaften Verbindung zwischen zwei Materialien mit höherem Schmelzpunkt durch ein drittes Material mit niedrigerem Schmelzpunkt.&lt;br /&gt;
&lt;br /&gt;
Das verbindende Material (Lot) wird dabei kurzfristig geschmolzen, so dass eine haftschlüssige und meist auch formschlüssige Verbindung entsteht.&lt;br /&gt;
Die Verbindung entsteht dabei durch Diffusion des Lots in die Oberfläche der zu verbindenden Metallteile.&lt;br /&gt;
Daher ist es wichtig, dass die zu verbindenden Partner sauber und oxidfrei sind und vom Lot gut benetzt werden können. Um dieses Verhalten zu verbessern, wird ein Flussmittel benutzt.&lt;br /&gt;
&lt;br /&gt;
Neben dem im weiteren ausschließlich betrachteten Weichlöten gibt es auch sogenanntes Hartlöten.  Als Lot dienen dabei Legierungen&lt;br /&gt;
aus Silber, Kupfer und Zink (Silberhartlot), Kupfer und Zink (Messinghartlot) oder reines Kupfer; Flussmittel basieren in der Regel auf Natriumtetraborat (Borax).  Durch die hohe Festigkeit der benutzten Lote sowie die aus der höheren Temperatur resultierende größere Diffusionstiefe werden dabei beachtliche Festigkeiten der Verbindungen erreicht, die mit Weichlöten&lt;br /&gt;
nicht erreichbar sind.&lt;br /&gt;
&lt;br /&gt;
In der Elektronik, wo es in der Regel um elektrisch leitfähige Verbindung geht, kann z.&amp;amp;nbsp;B. durch Lötzinn, welches an der etwa 300 Grad heißen Spitze eines [[Lötkolben]]s geschmolzen(*1) wird, ein Silberdraht mit der Kupfer-Leiterbahn einer Platine verbunden werden. Eine solche Verbindung ist&lt;br /&gt;
* elektrisch leitend&lt;br /&gt;
* bis zu einem gewissen Grad mechanisch belastbar&lt;br /&gt;
* erfordert vergleichsweise geringen Herstellungsaufwand&lt;br /&gt;
* und kann bei Bedarf auch wieder gelöst werden.&lt;br /&gt;
Lötverfahren sind gut maschinell durchzuführen und automatisierbar (Lötbäder), für Testaufbauten, Kleinst-Stückzahlen, zu Reparaturzwecken usw. wird aber häufig auch Löten per Hand notwendig sein.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
*1: Wen es interessiert: Der Schmelzpunkt von Zinn liegt bei 232 Grad Celsius, der von Silber dagegen bei 962 Grad und der von Kupfer bei 1083 Grad.&lt;br /&gt;
&lt;br /&gt;
== Voraussetzungen ==&lt;br /&gt;
&lt;br /&gt;
Wichtigste Voraussetzungen für das Löten in der Elektronik sind&lt;br /&gt;
* ein [[Lötkolben]]&lt;br /&gt;
* Lötzinn&lt;br /&gt;
* in schwierigen Fällen zusätzliches Flußmittel&lt;br /&gt;
&lt;br /&gt;
Alles muss natürlich für Elektronik geeignet sein. Lötzinn für die Elektronik ist beispielsweise im Inneren mit einem Flussmittel gefüllt, welches eine leichte Oberflächenkorrosion beseitigt, die anderfalls das Anhaften des Lötzinns auf den zu verlötenden Oberflächen verhindern würde. Ausserdem schützt das Flussmittel die Lötstelle während des Lötens vor Oxidation, welche durch die hohen Temperaturen in Sekundenbruchteilen entstehen würde. Lötfett oder gar Lötwasser (Salzsäure) hat im Elektronikbereich nichts zu suchen, diese aggressiven Stoffe greifen Bauteile und Leiterbahnen an.&lt;br /&gt;
&lt;br /&gt;
== Vorsichtsmaßnahmen ==&lt;br /&gt;
&lt;br /&gt;
Da man es beim Löten in der Elektronik mit über 300 Grad heißen Metallen (fest und flüssig) zu tun hat, ist die Notwendigkeit einiger Schutzmaßnahmen so naheliegend, dass man sie nicht weiter erklären muss. Niemand wird einen Lötkolben freiwillig an der heißen Spitze anfassen, aber dennoch und aus der Praxis heraus:&lt;br /&gt;
&lt;br /&gt;
* Der heiße Lötkolben wird unachtsam auf dem Tisch abgelegt und verrutscht.&lt;br /&gt;
:* =&amp;gt; Andere, Gegenstände werden &amp;quot;angekokelt&amp;quot; oder gar unbrauchbar.&lt;br /&gt;
* Wie zuvor, aber der Lötkolben rutscht sogar vom Tisch herunter.&lt;br /&gt;
:* =&amp;gt; AUA!! Der normale &amp;quot;Greifreflex&amp;quot; mit den Oberschenkeln bei herunterfallenden Dingen - Knie zusammen - ist dann nicht so angebracht :-/&lt;br /&gt;
* Ein unzureichend festgeklemmter Draht federt weg und es spritzt Lötzinn durch die Gegend, besonders beim Entlöten!.&lt;br /&gt;
:* =&amp;gt; Augen schützen!!! Man hat nur zwei und mit einem allein ist schon mal das Stereo-Sehen hin!&lt;br /&gt;
&lt;br /&gt;
== Grundlegende Vorgehensweise ==&lt;br /&gt;
&lt;br /&gt;
Beim Löten gilt:&lt;br /&gt;
&lt;br /&gt;
* Lötkolbentemperatur 300..330°C bei bleihaltigem Lot, 350..370°C bei bleifreiem Lot&lt;br /&gt;
&lt;br /&gt;
# Mit dem Lötkolben werden &#039;&#039;&#039;beide&#039;&#039;&#039; zu verlötenden Teile gleichzeitig erwärmt.&lt;br /&gt;
# Das Lötzinn wird zwischen Lötspitze und Lötstelle gebracht&lt;br /&gt;
# Das geschmolzene Lötzinn verläuft und verbindet die beiden Teile.&lt;br /&gt;
# Der Lötkolben wird entfernt und das Lötzinn erstarrt.&lt;br /&gt;
# Die Lötstelle sollte konkav sein, glatte, glänzende Oberfläche (bleihaltiges Lot) und die Kontur des Drahtes muss noch zu erkennen sein.&lt;br /&gt;
&lt;br /&gt;
Eine geringe(!) Menge Lötzinn, die  vor dem ersten Schritt auf die heiße Spitze des Lötkolbens aufgetragen wird, dient vor allem dazu, den Wärmeübergang auf die zu verlötenden Teile zu verbessern und damit die Dauer des ersten Schritts kurz zu halten. Bei sauberen Flächen, richtiger Löttemperatur und ausreichend grosser Lötspitze dauert eine Lötung kaum mehr als eine Sekunde!&lt;br /&gt;
&lt;br /&gt;
== Typische Fehlerquellen ==&lt;br /&gt;
&lt;br /&gt;
Anfänger machen beim Löten eine Reihe typischer Fehler, welche die Qualität der hergestellten Verbindung beeinträchtigen. Das heißt, die elektrische Verbindung ist schlecht (Wackelkontakt, kalte Lötstelle) und die mechanische Festigkeit gering (Gefahr des Abreißens).&lt;br /&gt;
&lt;br /&gt;
* Die zu verlötenden Teile sind nicht ausreichend sauber (&amp;quot;blank&amp;quot;):&lt;br /&gt;
:* =&amp;gt; Die korrosionsbefreiende Wirkung des Flußmittels im Lötzinn reicht nicht aus.&lt;br /&gt;
:* &#039;&#039;&#039;Abhilfe:&#039;&#039;&#039; die zu verlötenden Oberflächen säubern, z.&amp;amp;nbsp;B. mechanisch mit sehr feinem Sandpapier oder einem speziellen &amp;quot;Schmirgelschwamm&amp;quot; (ähnlich einem Radiergummi aber versetzt mit feinstem Schmirgelsand) oder chemisch mit zusätzlich aufgetragenem Flußmittel.&lt;br /&gt;
&lt;br /&gt;
* Das Lötzinn für die herzustellende Verbindung vorwiegend an der heißen Lötkolbenspitze geschmolzen.&lt;br /&gt;
:* =&amp;gt; Die zu verlötenden Teile sind nicht warm genug.&lt;br /&gt;
:* =&amp;gt; Das Flußmittel im Lötzinn verdampft zu schnell.&lt;br /&gt;
:* &#039;&#039;&#039;Abhilfe:&#039;&#039;&#039; Sich an die [[Löten#Grundlegende Vorgehensweise|Grundlegende Vorgehensweise]] halten!&lt;br /&gt;
&lt;br /&gt;
* Nach Wegnehmen des Lötkolbens werden die zu verbindenden Teile bewegt, bevor das Lötzinn kalt und erstarrt ist.&lt;br /&gt;
:* =&amp;gt; Die erstellte Verbindung kann durchaus &amp;quot;formschlüssig&amp;quot; sein, scheinbar hält sie fest&lt;br /&gt;
:* =&amp;gt; sie hat aber elektrisch eine schlechte Qualität (Wackelkontakt oder erhöhter Widerstand, damit evtl. auch Erwärmung bei hohen Strömen und weitere Verschlechterung).&lt;br /&gt;
:* &#039;&#039;&#039;Tip:&#039;&#039;&#039; Die Oberfläche eines Lötzinntropfens spiegelt, solange er noch flüssig ist und wird etwas matter, wenn sich das Zinn verfestigt.&lt;br /&gt;
&lt;br /&gt;
* Das Lötzinn an der Spitze des Lötkolbens ist &amp;quot;zu alt&amp;quot;, sieht eher matt und körnig aus und &amp;quot;fließt&amp;quot; nicht mehr aureichend.&lt;br /&gt;
:* =&amp;gt; der Zweck des Lötzinns an der Lötkolbenspitze ist die Verbesserung des Wärmeübergangs, dieser wird nicht erreicht.&lt;br /&gt;
:* &#039;&#039;&#039;Abhilfe:&#039;&#039;&#039; Altes Lötzinn des öfteren von der Spitze des Lötkolbens abstreifen (z.&amp;amp;nbsp;B. an einem angefeuchteten Lötschwamm oder besser mit Lötspitzenreiniger aus weicher Metallwolle) und neues Lötzinn auftragen.&lt;br /&gt;
&lt;br /&gt;
* Lötkolbentemperatur zu niedrig&lt;br /&gt;
:* =&amp;gt; Das Lot ist nicht flüssig und glänzend, sondern eher breiartig und matt&lt;br /&gt;
:* &#039;&#039;&#039;Abhilfe:&#039;&#039;&#039; Temperatur des Lötkolbens richtig einstellen, siehe [[Löten#Grundlegende Vorgehensweise|Grundlegende Vorgehensweise]]&lt;br /&gt;
&lt;br /&gt;
* Lötkolbentemperatur zu hoch&lt;br /&gt;
:* =&amp;gt; Das Flussmittel verdampft zu schnell, viel Rauchbildung beim Antippen der Spitze mit Lötzinn von der Rolle&lt;br /&gt;
:* &#039;&#039;&#039;Abhilfe:&#039;&#039;&#039; Temperatur des Lötkolbens richtig einstellen, siehe [[Löten#Grundlegende Vorgehensweise|Grundlegende Vorgehensweise]]&lt;br /&gt;
&lt;br /&gt;
*Lötspitze zu dünn&lt;br /&gt;
:* =&amp;gt; Der Wärmeübergang von der Lötspitze zu den Teilen ist schlecht, damit wird die notwendige Temperatur dort nicht erreicht und der Effekt ist gleich wie bei zu niedriger Löttemperatur&lt;br /&gt;
:* &#039;&#039;&#039;Abhilfe:&#039;&#039;&#039; dickere Lötspitze nehmen, für normale Lötungen bis hin zu mässig kleinem SMD sind meißelförmige Spitzen mit 2mm Breite vollkommen OK (0805er Bauteile, SOIC Gehäuse mit 1,27mm Pinraster etc.)&lt;br /&gt;
&lt;br /&gt;
== Arten von Lötverbindungen ==&lt;br /&gt;
&lt;br /&gt;
Für den Anfänger sind bestimmte Arten von Lötverbindungen einfacher herzustellen als andere, beim Üben empfiehlt es sich entsprechend, &amp;quot;vom Einfachen zum Schwierigen&amp;quot; zu trainieren.&lt;br /&gt;
&lt;br /&gt;
=== Einfaches Verlöten von Drähten ===&lt;br /&gt;
&lt;br /&gt;
Recht einfach zu verlöten sind zwei Drähte, die man zuvor miteinander verdrillt hat. Bei starren Drähten empfiehlt sich in der Regel ein vorheriges &amp;quot;Verzinnen&amp;quot; (= der Draht wird mit einer Oberfläche aus Lötzinn versehen), da sich dann das beim Zusammenlöten aufgetragene Lötzinn besser verteilt. Bei dünnen Litzen kann auf das Verzinnen meist verzichtet werden, da durch die Kapillarwirkung das Lötzinn quasi &amp;quot;aufgesogen&amp;quot; wird. Bei dicken Litzen (Querschnitt 1 Quadratmillimeter und mehr) ist vorheriges Verzinnen meist nicht ratsam, weil ansonsten die Verdrillung nicht mehr so gut gelingt. Da das Flussmittel im Lötzinn in dicke, verdrillte Litzenverbindungen oft nicht ausreichend eindringen kann, empfiehlt es sich hier, die Litzenenden vor dem Verlöten &lt;br /&gt;
nochmal gesondert mit Flussmittel zu behandeln.&lt;br /&gt;
&lt;br /&gt;
In Umgebungen, in denen es häufige oder gar permanente Vibrationen gibt (z.&amp;amp;nbsp;B. Auto), sollten Litzenenden allerdings &#039;&#039;&#039;immer&#039;&#039;&#039; verzinnt werden (auch beim Einlöten in Durchbohrungen gedruckter Schaltungen - siehe nächster Punkt). Die Verzinnung darf dabei nicht unter die Isolierung reichen (leicht zu kontrollieren durch die Biegbarkeit), andernfalls brechen Litzen oft genau an der Stelle, an der die Isolierung endet, da diese Stelle (mechanisch) die stärkste Last aufnehmen muss. Den Kapillareffekt, der das Zinn unter die Isolierung &#039;zieht&#039; nennt man &#039;wicking&#039; und sollte auf jeden Fall vermieden werden. Dies kann durch Wärmeableitklemmen direkt vor der Isolierung erreicht werden.&lt;br /&gt;
&lt;br /&gt;
=== Einlöten von Bauteilen in Platinenbohrungen === &lt;br /&gt;
&lt;br /&gt;
Auch dies gelingt dem Anfänger nach einiger Übung meist ganz gut (vorausgesetzt die obigen Tipps und Richtlinien werden befolgt). Die Bauteile sollten allerdings nicht &amp;quot;lose&amp;quot; sondern - durch festklemmen des Bauteils mit z.&amp;amp;nbsp;B. einer Kreuzpinzette (öffnet beim Zusammendrücken) - die Anschlussdrähte senkrecht und mittig in den Platinenbohrungen sitzen. Dies verhindert das &amp;quot;Wackeln&amp;quot; beim Wegnehmen des Lötkolbens und erleichtert ein späteres Auslöten bei Reparaturen.&lt;br /&gt;
Die Anschlussdrähte sollten &#039;&#039;vor&#039;&#039; dem Löten auf ca. 1.5mm abgeschnitten werden.&lt;br /&gt;
&lt;br /&gt;
Was hier aber ggf. berücksichtigt werden muss, ist die Wärmeempfindlichkeit.&lt;br /&gt;
* Halbleiterbauelemente (Dioden, Transistoren, ICs) vertragen keine längere Erhitzung auf 300 Grad Celsius (Lötkolbentemperatur).&lt;br /&gt;
:* =&amp;gt; Der Lötvorgang muss also &amp;quot;zügig&amp;quot; erfolgen.&lt;br /&gt;
:* =&amp;gt; GGf. kann eine kleine Zange am Anschlussdraht als &amp;quot;Wärmeableiter&amp;quot; zwischen Lötstelle und Bauteil eingesetzt werden.&lt;br /&gt;
* Auch die Leiterbahnen der Platinen vertragen keine beliebig lange, beliebig häufige Erwärmung und die Leiterbahn löst sich schließlich von der Platine ab.&lt;br /&gt;
:* =&amp;gt; Wie oben (zügig löten).&lt;br /&gt;
:* =&amp;gt; Bei Bauteilen mit &amp;quot;dicken&amp;quot; (und entsprechend unempfindlichen) Drähten ggf. zunächst &#039;&#039;diese&#039;&#039; und erst kurz vorm Aufbringen des Lötzinns auch die Leiterbahn der Platine erhitzen.&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/48744 Wie kann man Stiftleisten beidseitig löten?]&lt;br /&gt;
&lt;br /&gt;
=== Löten von SMD-Bauteilen ===&lt;br /&gt;
&lt;br /&gt;
Eigener Artikel: [[SMD Löten]]&lt;br /&gt;
&lt;br /&gt;
== Entlöten ==&lt;br /&gt;
&lt;br /&gt;
Unter Entlöten versteht man das Trennen einer Lötverbindung. In der Theorie ist das einfach, weil ja &amp;quot;nur&amp;quot; das Lötzinn erwärmt werden muss und dann (z.&amp;amp;nbsp;B. bei in Platinen eingelöteten Bauteilen) der Draht aus der Bohrung gezogen werden kann. In der Praxis besteht die Schwierigkeit jedoch darin, dass typische Bauteile mindestens zwei, oft aber drei oder noch mehr verlötete Anschlüsse haben und man die Lötstellen nicht alle gleichzeitig erwärmen kann.&lt;br /&gt;
&lt;br /&gt;
Es ist auf alle Fälle vorteilhaft, wenn man zunächst an jedem einzelnen Anschluss versucht, so viel Lötzinn wie möglich zu entfernen (z.&amp;amp;nbsp;B. mit Absaugpumpe oder Entlötlitze). Dennoch werden sich insbesondere Bohrungen in gedruckten Schaltungen so nicht völlig von Lötzinn befreien lassen.&lt;br /&gt;
&lt;br /&gt;
=== Bauteile mit zwei Anschlussdrähten ===&lt;br /&gt;
&lt;br /&gt;
Sofern sich das Bauteil &amp;quot;kippen&amp;quot; lässt, erst die eine, dann die andere Seite ablöten.&lt;br /&gt;
* Bei einem an seinen zwei Enden festgelöteten Widerstand oder Kondensator zum Ablöten der ersten Seite ggf. einen kleinen Schraubendreher als Hebel unterschieben.&lt;br /&gt;
* Bei einem senkrecht stehend aufgelöteten (Rund-) Elko erst den &amp;quot;mittigeren&amp;quot; Draht auslöten, da sich das Teil leichter kippen lässt, wenn es der äußere Draht ist, der noch angelötet ist.&lt;br /&gt;
&lt;br /&gt;
=== Bauteile mit drei Anschlussdrähten ===&lt;br /&gt;
&lt;br /&gt;
Bei einem Transistor kommt man mit der &amp;quot;Kipptechnik&amp;quot; oft auch noch weiter, wenn die Lötpunkte im Dreieck angeordnet sind. Man hat dann immer eine Richtung zum Kippen, bei der sich der Draht in der momentan erwärmten Lötstelle ein Stück herausziehen lässt. Notfalls muss man sich schrittweise vorarbeiten (d.h. beim ersten Mal wird man den ersten Draht nicht vollständig aus der Bohrung herausbekommen, aber nachdem man einmal &amp;quot;reihum&amp;quot; ist, sitzt das Bauteil schon ein Stück weiter draußen).&lt;br /&gt;
&lt;br /&gt;
Bei drei Anschlußdrähten &amp;quot;in einer Reihe&amp;quot; funktioniert die Kipptechnik nicht, evtl. kann man hier versuchen, mit dem Lötkolben zwei Lötstellen gleichzeitig zu erwärmen. (Aber Vorsicht, dass nach dem Auslöten und Wiedereinlöten eines neuen Bauteils keine feine Lötzinnbrücke stehen bleibt und einen Kurzschluss verursacht!)&lt;br /&gt;
&lt;br /&gt;
=== Bauteile mit vielen Anschlussdrähten ===&lt;br /&gt;
&lt;br /&gt;
Das Auslöten von ICs ist ohne spezielle Werkzeuge (z.&amp;amp;nbsp;B. spezieller Lötkolbenaufsatz) meist unmöglich. Wenn man nicht beides - IC und Platine - &amp;quot;retten&amp;quot; will oder muss, kann man es so versuchen:&lt;br /&gt;
* Platine retten: Anschlussdrähte abzwicken und Drahtreste aus der Platine entfernen (siehe auch unten, Freimachen von Durchbohrungen).&lt;br /&gt;
* Bauteil retten: Platine auseinanderschneiden oder -sägen und verbleibende Reste auch zwischen den Drähten mit einem Seitenschneider durchzwicken, so dass letzten Endes an jedem Draht (bzw. jedem &amp;quot;Beinchen&amp;quot; des ICs) nur noch ein minimaler Platinenrest hängt. Dann alle Reste einen nach dem anderen ablöten. Diese Technik ist genau so aufwändig wie sie sich anhört und lohnt sich allenfalls bei sehr teuren Bauteilen oder solchen, die irgendwo als Ersatzteil dienen müssen und allgemein schwer beschaffbar sind (z.&amp;amp;nbsp;B. weil sie nicht mehr hergestellt werden).&lt;br /&gt;
* Platine und Bauteil retten: Mit einer Entlötpumpe das Lötzinn bei jedem Pin absaugen, evtl. übrig gebliebene Reste mit Entlötlitze aufsaugen. Funktioniert bei einseitigen Platinen gut, bei doppelseitigen ist etwas mehr Aufwand damit verbunden, besonders bei engen Durchkontaktierungshülsen.&lt;br /&gt;
&lt;br /&gt;
Manchmal kann man auch mit einem einfachen Heißluftgebläse versuchen, die Platinenunterseite zu erhitzen und dann den IC rauszuziehen. Mit etwas Übung und richtiger Hitze eine recht schnelle und effektive Arbeitsweise.&lt;br /&gt;
&lt;br /&gt;
Ein Trick, der gerade bei SubD-Steckern und Bauteilen mit ähnlich vielen eng beieinanderliegenden Beinchen funktioniert: Alle Beinchen mit Lötzinn untereinander verbinden. Quasi einen riesigen Klecks Lötzinn über alle Beinchen legen. Diesen Lötzinnklecks mit dem Lötkolben heiß machen. Irgendwann ist das gesamte Lötzinn flüssig und man kann das Bauteil (Zange nehmen, heiß) herausziehen. Danach muß man nur noch den Lötzinnklecks von der Platine bekommen. Ich halte die Platine dazu mit der Hand, so daß die Lötseite unten ist, mache den Klecks heiß und schüttel ihn ab. Reste können nach eigenem Ermessen entfernt werden. Achtung: ICs und andere temperaturempfindliche Bauteile können bei dieser Hauruckmethode den Hitzetod sterben.&lt;br /&gt;
&lt;br /&gt;
Tipp im Forum: ICs entlöten http://www.mikrocontroller.net/topic/21885#162117&lt;br /&gt;
&lt;br /&gt;
=== Freimachen von Durchbohrungen ===&lt;br /&gt;
&lt;br /&gt;
Allgemein gilt, dass man bei einem Bauteil, welches mit Sicherheit defekt ist, meist besser erst alle Drähtchen abzwickt und dann nur diese Reste &amp;quot;entlötet&amp;quot;. Kurze Drähtchenreste sind allerdings oft schwer aus Platinenbohrungen zu entfernen, da sie von der Kapillarwirkung der Bohrung auf das Lötzinn praktisch &amp;quot;angesogen&amp;quot; und in der Bohrung festgehalten werden.&lt;br /&gt;
&lt;br /&gt;
Ein alter Praktiker-Trick ist hier, nach Erwärmen des Lötzinns die Bohrung mit einem gut gespitzten Bleistift zu durchstoßen. (Das Lötzinn wird vom Graphit der Mine praktisch &amp;quot;abgestoßen&amp;quot;.) Besser geeignet als die Bleistift-Methode ist es, eine dünne Injektionsnadel zu verwenden. Die Nadeln bestehen aus Edelstahl und nehmen Lötzinn kaum an. Des weiteren sind die Nadeln wesentlich stabiler als die Minen. Passende Nadeln bekommt man in der Apotheke. &lt;br /&gt;
&lt;br /&gt;
Und Zuguterletzt: Wenn beim erfolgreichen Auslöten eines Bauteils die Bohrung in der Platine gleich lötzinnfrei ist, sollte man sich nicht zu früh freuen: Bei doppelseitigen &amp;quot;durchkontaktierten&amp;quot; Platinen kann so unbemerkt auch die Durchkontaktierungshülse herausgerissen worden sein. Vor dem Einlöten von Ersatz sollte man evtl. Nachmessen (Ohmmeter) und im Schadensfall (oder zur Sicherheit auch immer) das neu eingesetzte Bauteil auf beiden Seiten der Platine anlöten. Bei Multi-Layer-Platinen wird auch das den Erfolg nicht garantieren, aber Reparaturen mit Lötkolbeneinsatz sind an solchen Platinen ohnehin oft ein Glücksspiel&lt;br /&gt;
&lt;br /&gt;
== Bleifreies Löten ==&lt;br /&gt;
&lt;br /&gt;
Bleifreies Löten hat ohne eine einigermaßen gut geregelte Lötstation keinen Zweck. Außerdem müssen die Spitzen dafür geeignet sein, insbesondere dürfen&lt;br /&gt;
sie keinen zu hohen Wärmewiderstand haben, sonst reicht die Temperatur an der Spitze selbst beim Löten dann einfach nicht mehr aus. [http://www.mikrocontroller.net/topic/147262#1372323]&lt;br /&gt;
&lt;br /&gt;
Mit einer Lötstation mit ordentlicher Regelung und passenden Spitzen ist bleifreies Löten jedoch auch im Hobbybereich kein Problem. Die Station wird auf (350...370)&amp;amp;nbsp;°C eingestellt (zum Vergleich: bei bleihaltigem Zinn lötet man mit (300...330)&amp;amp;nbsp;°C).  Kurze, dick ausgeführte Spitzen sind sinnvoll, um die Wärme ausreichend zur Lötstelle leiten zu können und der Temperaturregelung eine Chance zu geben, den Wärmebedarf beim Löten schnell genug nachregeln zu können.&lt;br /&gt;
&lt;br /&gt;
Wichtig bei bleifreiem Löten ist die Verwendung von ausreichend Flussmittel,&lt;br /&gt;
welches ausdrücklich als für bleifreies Löten benutzbar deklariert sein&lt;br /&gt;
muss, damit es bei der benutzten Temperatur nicht sofort verbrennt. Durch&lt;br /&gt;
die höhere Temperatur tendieren die Spitzen auch schneller zur Belagbildung,&lt;br /&gt;
müssen also häufiger beim Arbeiten gereinigt werden (feuchter Schwamm oder&lt;br /&gt;
Metallwolle).&lt;br /&gt;
&lt;br /&gt;
Da mehr und teilweise aggressivere Flussmitteldämpfe entstehen als beim&lt;br /&gt;
Löten mit bleihaltigem Zinn, sollte mehr Wert auf eine [http://www.mikrocontroller.net/articles/L%C3%B6ten#L.C3.B6trauch_Absaugung.2FBeseitigung ausreichende Abfuhr] dieser&lt;br /&gt;
Dämpfe gelegt werden.&lt;br /&gt;
&lt;br /&gt;
Das aktuell am meisten empfohlene Lot für bleifreies Löten ist &#039;&#039;Amasan BF32-3&#039;&#039;, siehe&lt;br /&gt;
[https://www.mikrocontroller.net/topic/254671 Thread: Vergleich Lötzinne: Felder EL Sn100Ni+ und Amasan BF32-3].&lt;br /&gt;
Gefolgt wird dies von Legierungen mit geringen Anteilen von Nickel oder&lt;br /&gt;
Germanium (Markennamen sind beispielsweise &#039;&#039;Sn100Ni+&#039;&#039; oder&lt;br /&gt;
&#039;&#039;SN100C&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Die Legierungen aus der Anfangszeit der bleifreien Lote (auch mit&lt;br /&gt;
ähnlichen Systemen, in der Regel bestehend aus Zinn, Silber, Kupfer&lt;br /&gt;
[Sn, Ag, Cu, daher auch als &#039;&#039;SAC&#039;&#039; bezeichnet]) sind aus heutiger&lt;br /&gt;
Sicht weniger zu empfehlen, da deren Benetzungs- und&lt;br /&gt;
Verarbeitungsverhalten oft schlechter war als das heutiger&lt;br /&gt;
Legierungen.&lt;br /&gt;
&lt;br /&gt;
Lötanfänger aber sollten bleifreies Lot komplett meiden, bis sie die entsprechende Übung und Erfahrung haben und die auftretende Probleme besser einschätzen und beseitigen bzw. umgehen können.&lt;br /&gt;
&lt;br /&gt;
== Lötrauch Absaugung/Beseitigung ==&lt;br /&gt;
&lt;br /&gt;
Das Absaugen ist technisch deutlich schwieriger zu realisieren als das Wegblasen mit z. B. einem alten CPU-Lüfter. Wärend man beim Beblasen auch noch in einiger Entfernung einen guten Strahl erzeugt, muss man beim Absaugen mit der Absaugvorichtung sehr dicht an der Lötstelle sein, um Wirkung zu erzielen. Dadurch ist die Absaugeinrichtung schnell sehr hinderlich. Sie nimmt Platz und Licht weg und behindert die Sicht.&lt;br /&gt;
Beim Beblasen werden die Dämpfe zwar zuerst nur im Raum verteilt, dabei aber die unmittelbare Einwirkung auf Nase und Schleimhäute dennoch gut reduziert, weil sich das relativ kleine Lötrauchvolumen schnell mit dem großen Raumvolumen vermischt. Der Reduktionsfaktor ist 1: mehrere Tausend. Damit sich aber der Rauch in der Raumluft nicht anreichert, muss der Raum dann aber auf normalem Weg gut gelüftet oder die Raumluft gefiltert werden.&lt;br /&gt;
Wenn abgesaugt werden soll, dann so nah wie möglich an der Lötstelle mit einem &amp;quot;Schnorchel&amp;quot; und mit einem Luftdurchsatz, der dem eines normalen Staubsaugers entspricht.  Ein 10 cm entfernt stehender Absauger mit einem Kleinleistungslüfter hilft wenig.&lt;br /&gt;
&lt;br /&gt;
Ein in der Leistung vergleichbarer Kleinleistungslüfter aber, der auf einer Seite des Arbeitsplatzes steht, und quer über diesen und die Lötstelle bläst, ist schon recht effizient und dabei bei weitem weniger hinderlich.&lt;br /&gt;
&lt;br /&gt;
Damit sich der Lötrauch in der Raumluft nicht anreichert, sollte ausreichend gelüftet werden. Umluftanlagen mit Filter sind nur wirksam, wenn sie ausreichende Größe haben und regelmäßig gewartet werden. Ein Filter in der Größe eines Schukartons ist fast wirkungslos.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
&lt;br /&gt;
* [[SMD Löten]]&lt;br /&gt;
* [[Lötkolben]]&lt;br /&gt;
* [http://www.mikrocontroller.net/topic/195035#1909940 Forumsbeitrag]: Löten extrem penibel&lt;br /&gt;
&lt;br /&gt;
== Weblinks == &lt;br /&gt;
&lt;br /&gt;
* [http://www.circuitrework.com Circuit Technology Center] - Surgeon grade rework and repair, by the book and guaranteed. Deeplink: [http://www.circuitrework.com/guides/guides.shtml Guides]&lt;br /&gt;
* [http://www.elprak.ch Elprak.ch - Elektronik in der Praxis] - Video das den Lötvorgang zeigt. Weiter Lehrstoff und Präsentationen zu Elektronik in der Praxis&lt;br /&gt;
* [http://www.curiousinventor.com/guides/Surface_Mount_Soldering Surface Mount Soldering] bei Curious Inventor&lt;br /&gt;
* [https://ssl-id.de/b-redemann.de/sp-loeten1.shtml Löten von Lochrasterplatinen] von B. Redemann, Beispiel mit Attiny 13 Board&lt;br /&gt;
* [http://www.youtube.com/watch?v=I_NU2ruzyc4 How to Solder], Video auf Youtube, engl., sehr gute Informationen, leider recht schnelle Sprache&lt;br /&gt;
* [http://www.weichloeten.de Arbeitskreis Weichlöten] Webseite mit Informationen zum Weichlöten.&lt;br /&gt;
&lt;br /&gt;
[[Category:Löten]]&lt;br /&gt;
[[Category:Grundlagen]]&lt;/div&gt;</summary>
		<author><name>193.99.214.132</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Kategorie:Forum&amp;diff=77914</id>
		<title>Kategorie:Forum</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Kategorie:Forum&amp;diff=77914"/>
		<updated>2013-08-08T07:31:10Z</updated>

		<summary type="html">&lt;p&gt;193.99.214.132: spam&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>193.99.214.132</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Sparmatic_Heizungsthermostate&amp;diff=77769</id>
		<title>Sparmatic Heizungsthermostate</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Sparmatic_Heizungsthermostate&amp;diff=77769"/>
		<updated>2013-07-29T10:28:30Z</updated>

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

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

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

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