Kaffeecontroller


Erstellt: 2009-12-20Letzte Änderung: 2016-01-30 [vor 5 Monaten, 26 Tagen]

Kaffeecontroller Eine Philips Senso HD7810-Kaffemaschine bekommt eine komplett neue elektronische Steuerung, basierend auf einem AVR ATtiny26.

Info 2016-01-30 • Hier ein interessanter Link f├╝r euch: Senseo-Autostart

Vorgeschichte

Die Kaffeemaschinen obigen Typs haben eine kleine Eigenart, die mich schon seit l├Ąngerem nervt: Man muss die Maschine einschalten, eine Minute lang warten, bis der Boiler die Betriebstemperatur erreicht hat und kann erst dann seinen Kaffeewunsch per Knopfdruck (eine oder zwei Tassen) ├Ąu├čern. Fr├╝h morgens jedoch - wenn ich im Zombiemodus zur Maschine latsche und den On-/Off-Knopf dr├╝cke - entspricht die eine Minute ungef├Ąhr einer gef├╝hlten Viertelstunde. :-P

Also wurde beschlossen, die Kaffeemaschine ein wenig intelligenter zu machen. Konkret bedeutet das, dass ich lediglich auf den Eine-Tasse-Knopf dr├╝cke, das Ding sich aufheizt, dann selbstst├Ąndig OHNE erneuten Knopfdruck den Kaffee macht.

Erste Experimente, mit einem Hubmagneten aus einer alten Canon-Schreibmaschine die Kn├Âpfe der Maschine von au├čen zu bet├Ątigen, schlugen aufgrund fehlender Schlagfertigkeit fehl. Noch schlechter klappte das ganze mit selbstgewickelten Elektromagneten, die ├╝ber eine interessante Metallbaukasten-Hebelkonstruktion (durch Saugn├Ąpfe an der Kaffeemaschine befestigt) die Kn├Âpfe dr├╝cken sollten.

Also wurde die Taktik ge├Ąndert und die Maschine ge├Âffnet. Dort wurde die Stromversorgung (die ├╝brigens kapazitiv funktioniert und ohne Trafo auskommt), die drei Schalter und die rote LED hinter dem On-/Off-Schalter angezapft und eine neue, gr├╝ne LED gleich neben der roten LED installiert. Ein ATtiny2313 sollte dann anhand der Knopfdr├╝cke und der blinkenden roten LED den Status der Kaffeemaschine erkennen: Blinkende LED = Aufw├Ąrmen, leuchtende LED = Fertig. Die gr├╝ne LED sollte dann vom AVR angesteuert werden und dem Benutzer signalisieren, dass sein Wunsch entgegengenommen und schnellstm├Âglich ausgef├╝hrt wird.



Eigentlich h├Ątte dieses Vorhaben eine Sache von ein paar Stunden werden und dann in den Improvisationen landen sollen. Obige Idee mit der angezapften Originalsteuerung funktionierte im ersten Test auch, bis ich die Hauptplatine wieder an ihre alte Stelle clippte (in der ganzen Maschine gibt es nur zwei Schrauben), zuerst den Programmieradapter und dann den Stecker einsteckte und es einen gro├čen Knall gab.

Nach oben

Der gro├če Knall

Was ist passiert? Die gesamte Kaffeeplatine liegt dank des fehlenden Trafos auf Netzspannungsniveau. Gepaart mit meinem Programmierdapter, der am geerdeten PC h├Ąngt, gab das einen saftigen Kurzschluss.

Facepalm
Es wurde ein 680 Ohm-Widerstand von der Platine geschleudert und eine kleines St├╝ck Leiterbahn direkt unter besagtem SMD-Widerstand ist verpufft. Nach Reparatur dieser beiden offensichtlichen Fehler flog der FI zwar nicht mehr raus, das wars dann aber auch schon; die Elektronik auf der Platine machte keinen Mucks und das kapazitive Netzteil lieferte keine Spannung. Nach weiterer Fehlersuche konnte ich den Fehler auf den auf der Originalplatine zu findenden Mikrocontroller HT46R47 eind├Ąmmen. Den hat es wohl zerschossen, da ist nichts zu machen.

B├äM! An der schwarzen Stelle hat sich ein SMD-Widerstand verabschiedet und hinterlie├č einen gro├čen Schandfleck im Geh├Ąuseinnern:


Nach diesem Malheur landete die Originalplatine in der Tonne und die Zeit war reif f├╝r ein eigenes Controllerboard!

(Anmerkung: Auf der Originalplatine findet sich ein 24C02-EEPROM. Was darauf wohl gespeichert ist?
Nach oben

Eigenes Controllerboard

Also muss jetzt tats├Ąchlich von Grund auf eine eigene Steuerung f├╝r die Komponenten der Kaffeemaschine entworfen werden, die da w├Ąren:

Pumpe – In der Kaffeemaschine findet sich eine Vibrationspumpe, die den n├Âtigen Druck erzeugt, um das Wasser von unten durch den Boiler und durch das Kaffeepad zu pressen.

Zur Entzifferung des Typenschilds habe ich im Forum ├╝brigens einen Thread er├Âffnet; dort finden sich mehr Infos.

Boiler – Der Boiler wird direkt an 230V betrieben und bringt das Wasser auf Betriebstemperatur.

Der Boiler ist oben am Kaffeemaschinenturm angeclippt und kann mit etwas Fummelei und einem Schraubenzieher abgenommen werden.
Achtung beim Entfernen der Schl├Ąuche! Im Boiler befindet sich immer noch Wasser, welches abgelassen werden muss.

NTC – Direkt auf dem Boiler sitzt ein NTC (Hei├čleiter), ├╝ber den der Controller die Wassertemperatur erfassen kann.

Hallschalter – Zur Erfassung des Wasserstands findet ein Hallschalter Verwendung, der auf seiner eigenen kleinen Platine sitzt. Im abnehmbaren Wassertank der Maschine befindet sich ein Magnet, der bei gen├╝gend hohem Wasserstand schwimmt, bei zu wenig Wasser im Tank aber herabsinkt und den Hallschalter triggert.

Schaltplan

Nach viel Herumprobieren und ersten Experimenten mit TRIACs (siehe Foto rechts) entstand folgender Schaltplan. Beim Aufbau der Schaltung ist penibel auf saubere Trennung der 5V- und 230V-Sektionen zu achten. (Gut, mein Aufbau ist auch kein Musterbeispiel. Aber das passt schon.)



Sollte ich erw├Ąhnen, dass auch meine finale Platine, die nun in der Maschine sitzt, vor Fertigstellung einmal hochgegangen ist? Hat gl├╝cklicherweise nur den AVR gekillt. :-D Entweder Hochspannung oder 5V...alles dazwischen hat mir erstmal Kopfzerbrechen bereitet. xD

Schaltplan

Platine

Aufgebaut sieht die ganze Geschichte so aus:



Beim Aufbau der Schaltung musste besonderes Augenmerk auf die Bauh├Âhe der verwendeten Bauteile gerichtet werden, da der Platz in der Kaffeemaschine doch recht knapp bemessen ist. Ich musste sogar an einigen Stellen zuerst mit dem Cuttermesser kleine Plastikpartien abs├Ąbeln, bevor alles genau passte.

Die korrekte Position der Taster auf der Platine muss durch Ausprobieren gefunden werden. Au├čerdem musste der Plastikb├╝gel, der die beiden ├Ąu├čeren Kn├Âpfe innen verband, durchgeknipst werden, damit genug Platz f├╝r die RGB-LED bleibt. Diese strahlt in einen am Power-Knopf befestigten Lichtleiter und bringt diesen damit zum leuchten.

Es sei hiermit ├╝brigens angemerkt, dass die K├╝hlk├Ârper ma├člos ├╝berdimensioniert sind.

Das Manual zum Auseinanderbauen der Maschine findet sich hier.

Oben am Wassercontainer gibt es einen kleinen Auslass, mit dessen Funktion ich mich nicht n├Ąher besch├Ąftigt habe. Auf jeden Fall kommt aus selbigem manchmal etwas Wasser heraus. Da der ehemals auf dem Auslass sitzende "Wasserhahn" (nur ein kleines Plastikteil) im Laufe des Projektes abhandengekommen ist, sitzt oben nun einfach ein St├╝ck schwarzer Schrumpfschlauch.

Nach oben

Funktionsweise

Der Ablauf des Programms ist relativ simpel; F├╝llstand und Temperatur werden als Spannungspegel vom Hallschalter- und NTC per ADC erfasst und in Software ausgewertet. Bei niedrigem Wasserstand passiert nichts; die LED blinkt lediglich rot. Ist gen├╝gend Wasser vorhanden, wird der Heizungs-TRIAC durchgesteuert und das Wasser wird erw├Ąrmt.

Der "Kaffeewunsch" kann dabei jederzeit durch Druck auf einen der beiden Schalter (eine Tasse/zwei Tassen) ge├Ąu├čert werden, bleibt gespeichert und wird bei Erreichen der Betriebsbereitschaft (genug Wasser im Tank, Wassertemperatur erreicht) sofort ausgef├╝hrt. Der Pumpen-TRIAC wird f├╝r eine festgelegte Zeitdauer (18 Sekunden pro Tasse) so gez├╝ndet, dass nur Halbwellen gleicher Polarit├Ąt durch die Spule der Pumpe flie├čen, der Z├╝ndungszeitpunkt wird mithilfe der Nulldurchgangserkennung ermittelt. W├╝rde man die Pumpe mit der vollen Wechselspannung betreiben, ist das F├Ârdervolumen - aus welchen Gr├╝nden auch immer, ich kenne mich damit noch nicht so gut aus - reduziert.

Nachdem das Lebenselixier geflossen ist wird der gespeicherte Kaffeewunsch gel├Âscht und das Spiel beginnt von vorn.

Nach oben

Fertig





Nach oben

Download

Den C-Sourcecode, mein Linux-Makefile und die brennfertige hex-Datei gibt es hier zum Download.

Download: kaffeecontroller-1.0.zip [6.30 kiB]
[1145 Downloads]

Nach oben