Elektronik_Header_3Lüftersteuerung mit ESP-01

 

Quickmill Saver V2

Nachdem unsere alte Quickmill 5000A vor kurzem den Heldentod gestorben ist, musste kurzfristig eine Neue her. Das hat Dank Fa. Kaffee24 erstaunlich schnell geklappt, aber die neue Maschine hat natĂŒrlich wieder keine Überwachung fĂŒr Wasser- und SatzbehĂ€lter. Meine Idee, die neue Überwachung ganz modern mit einem ESP8266 umzusetzen, hat sich als unpraktisch in mehreren Punkten erwiesen.


Nachdem das geklĂ€rt ist, teste ich zuerst mal die geĂ€nderte Firmware auf einem Arduino Nano und stelle erstaunt fest, dass das weiße Display nicht mit 3,3 V lĂ€uft, was das Blau/Gelb Display in der Vergangenheit klaglos absolviert hat. Also brauche ich einen geĂ€nderten Adapter fĂŒr den Arduino Nano, bei dem der I2C Anschluss zumindest wahlweise mit 5 V versorgt werden kann.

QuickmillSaver NanoAdapter V1.2        (Click auf das Bild fĂŒr grĂ¶ĂŸere Darstellung)

Das zusĂ€tzliche Element bedingt eine andere LeitungsfĂŒhrung auf der Platine.

QuickmillSaver NanoAdapter V1.2

Der “Umschalter” ist per Leiterbahn defaultmĂ€ĂŸig auf 5 V eingestellt. Soll ein Blau/Gelb Display eingesetzt werden, muss diese Leiterbahn mit einem Skalpell aufgetrennt und die Verbindung nach 3,3 V mit einem Lötklecks hergestellt werden.

Anmerkung
Das Blau/Gelb Display lĂ€uft natĂŒrlich ebenfalls völlig problemfrei mit 5 V, das Gefrickel mit dem Skalpell kann man sich also bei Einsatz eines solchen Displays sparen.

Nachtrag
Die externen PullUps auf SCL und SDA des IÂČC Bus mĂŒssen unbedingt eingebaut werden, die internen PullUps des Arduino sind zu hochohmig fĂŒr die lange, geschirmte Leitung zwischen Arduino und Display. Warum das bei der alten Maschine 17 Jahre lang ohne zusĂ€tzliche PullUps problemfrei funktionierte, ist ungeklĂ€rt. Bliebe  zu erwĂ€hnen, dass beim Update der Firmware in der alten Maschine auf den aktuellen Softwarestand das Display ebenfalls nicht mehr funktionierte - Hardwareaufbau natĂŒrlich unverĂ€ndert.
Erst nach Einbau der externen PullUps lĂ€uft auch hier wieder alles wie gewohnt. Offensichtlich ist fĂŒr das geĂ€nderte Verhalten eine Änderung in den eingezogenen Libraries verantwortlich. Dem bin ich nicht weiter auf den Grund gegangen.

Hier die Designfiles fĂŒr den Arduino Nano Adapter V1.2 zum Download.


Die Anzeige der Version Info im MenĂŒ habe ich noch schnell zentriert und die Firmware Version V2.2 erstellt. In invertierter Darstellung fiel auf, dass die Zeilen ohne Abstand am linken Rand klebten, was nicht gut aussah.

Aktualisierung
Inzwischen existiert die Version V2.6 der Quickmill Saver Firmware. Durch Umstellung einiger  Variablen von int auf char wurde Platz fĂŒr kleine Erweiterungen geschaffen. Die Anzeige der Gesamtanzahl aller gezapften Tassen wird jetzt vor jedem Zapfvorgang kurz angezeigt (das war schon mal realisiert, ist aber bei der Umstellung auf weißes Display verschĂŒtt’ gegangen). Weiterhin ist der grĂ€ssliche Grinse-Smiley rausgeflogen, da hat man ja Angst bekommen, wurde der angezeigt. Und da bei den neueren Versionen der Quickmill 5000A nach dem Zapfvorgang das in der Heizpatrone noch enthaltene Wasser nicht mehr in den WasserbehĂ€lter zurĂŒck, sondern in die Tropfschale abgeleitet wird, muss diese Auffangschale spĂ€testens beim Wasser nachfĂŒllen geleert werden. Jetzt werden also im Wechsel zwei verschiedene Texte angezeigt, wenn der WasserbehĂ€lter aufzufĂŒllen ist.

ZusĂ€tzlich wurde gegenĂŒber Version V2.5 die untere Grenze fĂŒr den Gesamt-TassenzĂ€hler von 5000 auf 1000 geĂ€ndert. Das hilft bei einer neuen Maschine mit nur ca. 1800 gezapften Tassen ungemein beim Setzen des ZĂ€hlers :)
Sollte Jemand eine ganz neue Maschine mit dem Quickmill Saver ausstatten, muss das Define TASSENLOW im Code z.B. auf Null gesetzt werden (erledigt in V2.7).

Aktualisierung
Und schon wieder eine Erweiterung fĂŒr die Quickmill Saver Firmware in Version V2.7.
Um den Zeitpunkt fĂŒr die nĂ€chste Entkalkung nicht zu verpassen, gibt es jetzt einen ZĂ€hler auf 500. Sind 500 Tassen durchgelaufen, wird eine Meldung eingeblendet, dass die Maschine zu entkalken ist. Da kaum noch Platz im Flash vorhanden ist, musste ich etwas tricksen. Den ZĂ€hlerstand bis zum nĂ€chsten Entkalken zeige ich auf der Seite mit der Version Info an. Wird die Version Info aufgerufen, wenn der ZĂ€hler 500 oder grĂ¶ĂŸer ist, wird er zurĂŒck gesetzt.

ZusĂ€tzlich habe ich den unteren Grenzwert fĂŒr den Gesamt-TassenzĂ€hler jetzt auf Null gesetzt, ein anderer Wert ist nicht wirklich sinnvoll. Diese untere Grenze habe ich ursprĂŒnglich nur so hoch eingestellt, weil unsere damalige Kaffeemaschine eben schon mehr als 8000 Tassen auf dem Buckel hatte und ich mir dadurch das mĂŒhsame Hochschrauben gespart habe. Beim ersten Aufruf der Einstellfunktion wurde der Wert im EEPROM automatisch auf diesen unteren Grenzwert eingestellt :)

Aktualisierung
Die Darstellung der Information, dass die Maschine zu entkalken ist, auf die gleiche Art und Weise wie die anderen Warnungen hat mich nicht ĂŒberzeugt, weshalb ich mir dafĂŒr etwas anderes ausgedacht habe. Hintergrund fĂŒr diese Entscheidung ist die Tatsache, dass Wasser sofort nachgefĂŒllt und der SatzbehĂ€lter zumindest sehr zeitnah geleert werden muss, das Entkalken aber ruhig fĂŒr ein paar Tage auf die lange Bank geschoben werden kann, ohne dass Gewaltiges passiert. Deshalb ist in Version V2.8b die Anzeige fĂŒr Entkalken jetzt als kleine Box quer ĂŒber die FĂŒllstandanzeige der beiden BehĂ€lter gelegt. Man sieht weiterhin wie voll oder leer die beiden BehĂ€lter jeweils sind, bekommt aber unmissverstĂ€ndlich angezeigt, dass eine Entkalkung ansteht. Wird die Aufforderung zum Entkalken ignoriert, fĂ€ngt nach weiteren 20 gezapften Tassen der Text in der Box an hektisch zu blinken, was dann schon gewaltig nervt und die Motivation zu entkalken in ungeahnte Höhen schraubt. Ziel erreicht :)

Aktualisierung
Die Automatik zur Ableitung des Erstellungsdatums zur Anzeige in der Versioninfo des Quickmill Saver hat in Monaten mit A immer den August ausgerechnet. Das ist im April natĂŒrlich unschön und wurde in Version V2.8c behoben.

Aktualisierung
Die neue Generation OLED Displays ist etwas schmÀler als die alten Ausgaben...

OLED Display, alte und neue Version

... allerdings bei gleicher Auflösung und gleicher FlÀche der aktiven Pixel.

Der aktive Bereich ist gleich groß

Es stellt sich heraus, dass die neuen Displays beim dimmen des Display mit der Einstellung 0 komplett aus gehen. Die alte Generation hat dabei immer noch etwas dargestellt. Deshalb gibt es noch eine neue Firmware V2.8d, die dieses Verhalten berĂŒcksichtigt.

Aufmerksamkeit verdient auch die geĂ€nderte Reihenfolge der AnschlĂŒsse. Aber da gab es auch frĂŒher schon Unterschiede.

Aktualisierung
Irgendwie komme ich gerade immer wieder mit neuen Ideen fĂŒr den Quickmill Saver um die Ecke... allerdings ist jetzt ziemlich endgĂŒltig Schluss, es sind nur noch wenige Byte Programmspeicher ĂŒbrig.

Der ZĂ€hler fĂŒr das Entkalken der Maschine wurde bisher sofort zurĂŒck gesetzt, wenn nach Überschreiten der Tassenzahl 500 in den Einstellungen die Version Info Seite aufgerufen wurde. Ab Firmware V2.9 muss zum ZurĂŒcksetzen des ZĂ€hlers auf der Seite der Version Info zusĂ€tzlich RECHTS gedrĂŒckt werden. Ansonsten wird nur die Anzahl restlicher Tassen bis zum Entkalken, oder, falls diese Anzahl bereits ĂŒberschritten wurde, die darĂŒber hinaus gezapften Tassen mit negativem Vorzeichen angezeigt.


Die Befestigung des Display auf der Innenseite des Deckels war bei der alten Maschine aus vier liebevoll zusammengestĂŒckelten Plastikstreifen gebastelt und erfĂŒllt ihre Aufgabe mit Bravour. Trotzdem habe ich mir fĂŒr die neue Quickmill einen ordentlichen Halter aus dem 3D-Drucker  gegönnt.

Quickmill Displayhalter

Das Design habe ich wie immer mit DesignSpark Mechanical (DSM) erstellt, das Modell stelle ich im Format RSDOC (Designfile fĂŒr DSM) und STL (fĂŒr 3D-Druck) zur VerfĂŒgung.

In Natura mit Display prÀsentiert sich der Halter so.

Quickmill Displayhalter

Die abgerundete Vorderseite schmiegt sich in den Deckel und wird angeklebt. Die Justierung des Halters zentriert im Ausschnitt erfolgt mit dem Testbild Rahmen, der sich ĂŒber das MenĂŒ des Quickmill-Saver aufrufen lĂ€sst.

Justagerahmen


Der Deckel wird auf der CNC-FrĂ€se bearbeitet und dazu mit fĂŒnf Spannpratzen und dem blauen POM-Klotz fixiert.

Fixierung auf der FrÀse

Zuerst wird der Ausschnitt komplett erstellt.

Ausschnitt gefrÀst

Der Innenteil bleibt mit vier dĂŒnnen Verbindungen mit dem Deckel verbunden, damit sich der ausgeschnittene Teil nicht zum Schluss mit dem FrĂ€ser verkantet.

Anbindungen

Die vier Anbindungen werden mit dem Skalpell gekappt, anschließend wird die Fase gefrĂ€st.

Ausschnitt angefast

Jetzt muss das Display mit dem Arduino verbunden werden, damit es im Rahmen zentriert eingebaut werden kann. Stichwort “Testbild”.

Testbild zum Zentrieren

Es ist etwas knifflig, den Displayhalter beim Trocknen des Klebers an Ort und Stelle zu halten, aber mit ein bisschen Geduld kann man das schaffen ;)

Nachdem der erste Kleber zwischen Halter und Deckel getrocknet ist, wird noch jeweils links und rechts eine Hohlkehle mit Kleber gelegt.

Displayhalter aufgeklebt

Zuletzt werden die SensorflÀchen aus selbstklebender Kupferfolie positioniert und der I2C Adapter mit Spiegeltape auf die Innenseite des Deckels geklebt.

Display und "Tasten"

Dabei ist darauf zu achten, dass der Adapter nicht zu weit außen angebracht wird, sonst kommt der Stecker bei geschlossenem Deckel dem Kaffeebohnenschieber in die Quere. So wie hier abgebildet, passt es nicht, die Platine muss schrĂ€g oberhalb der rechten KupferflĂ€che positioniert werden, wie bei der alten Quickmill realisiert.

Aktualisierung
Im Rahmen einer Fehlersuche und dessen Behebung wurde die Platzierung der Platine sowie die KabelfĂŒhrung fĂŒr die Sensoren ĂŒberarbeitet.

Die normale Darstellung im Betrieb:

Hauptbildschirm

Die Versioninfo:

Versioninfo


Auch die Befestigung des Tassensensors hat ein etwas professionelleres Aussehen bekommen. Dabei bin ich von der “Klebemethode” abgewichen, weil die eingebauten Sensorhalter der Maschine Isolierteile aus einem Silikon artigen Material haben, auf dem Kleber im weiteren Sinn wohl nicht halten wird. Der Adapter fĂŒr den zusĂ€tzlichen Sensor wird also mit der Schraube des unteren Originalsensors befestigt.

Tassensensorhalter

Der Hallsensor sitzt kopfĂŒber saugend in der Tasche, muss ggf. mit einem feinen Schraubendreher sanft an seinen Platz ĂŒberredet werden. Die Anschlusskabel sind mit einem Kabelbinder so fixiert, dass sie nicht in die Mechanik geraten können.

Der Zylinder unterhalb des Adapters stellt den passenden Abstand in Achsrichtung ein, die vorhandene M4 Schraube muss durch eine passender LĂ€nge ersetzt werden. Die rechteckigen Ausschnitte dienen nur der Reduzierung der Druckzeit, das ist schon die dritte Konstruktion... ;)

Tassensensorhalter mit Hallsensor

Die Lage des Sensors zum Magneten lĂ€sst sich ĂŒber den Winkel beim Befestigen genau einstellen, da das Loch mit etwas Übermaß gegenĂŒber der Schraube ausgefĂŒhrt ist.

Tassensensor eingebaut

Auch fĂŒr dieses SchmuckstĂŒck gibt es die Designfiles als RSDOC und STL.


Nach fast zwei Jahren anstandslosen Betriebs mit der Erweiterung im Bauch fĂ€ngt das Display an zu flackern und zu zucken, sobald die MĂŒhle lĂ€uft. Von Fall zu Fall wird dabei auch der Arduino rĂŒckgesetzt, und wenn der Neuanlauf mit dem Zeitpunkt der Erfassung des Zapfvorgangs zusammen fĂ€llt, wird dieser nicht gezĂ€hlt, der Hauptzweck des Quickmill Saver - Tassen zĂ€hlen und Maßnahmen davon ableiten - ist damit hinfĂ€llig.
Da vorher nichts dergleichen zu beobachten war, muss sich an den elektrischen Eigenschaften meiner Zusatzschaltung etwas verÀndert haben.

Bei der Fehlersuche falsch abgebogen...

Mein erster Gedanke war, dass einer der Stecker auf dem Weg vom Arduino zum Display sich gelockert haben könnte. Im Innern der FronttĂŒr gibt es deren zwei, die ich also ĂŒberprĂŒft und fĂŒr in Ordnung befunden habe. Dennoch habe ich beide Stecker mal abgezogen und wieder aufgesteckt. Leider ohne Erfolg, das Zappeln der Anzeige tritt immer noch auf. Also habe ich doch in den sauren Apfel gebissen und das GehĂ€use aufgeschraubt, um auch den Stecker am Arduino einer PrĂŒfung zu unterziehen. Auch der sitzt erwartungsgemĂ€ĂŸ fest und hat keine Kontaktprobleme.

Was bleibt ist die Verbindung der Abschirmung des Verbindungskabels zwischen Arduino und Display. Die habe ich mit einer sogenanntenDoLü- oder Dosenklemme , einer einpoligen LĂŒsterklemme mit nur einer Schraube, an ein kurzes StĂŒck Leitung, angelötet am USB Stecker des Arduino, angeschraubt. Auch diese Verbindung sitzt fest, lĂ€sst sich nicht auseinander ziehen.

Trotzdem habe ich die Schraube nachgezogen und sie ließ sich tatsĂ€chlich noch etwas fester anziehen. Bingo, die  Störungen der Anzeige sind verschwunden :)
... Dachte ich.

Das Bild-Popup fĂŒr die Dosenklemme musste ich NOF ĂŒbrigens manuell abtrotzen.

Nachtrag
Die oben beschriebenen Maßnahmen haben leider nur temporĂ€r Erfolg gezeitigt. Nach ein paar Tagen fing das Problem wieder an zu nerven :(

Ich habe darauf hin die Dosenklemme durch eine Klemmhebelklemme ersetzt...

Klemmhebelklemme fĂŒr Abschirmung

... und zusÀtzlich eine Verbindung zur nÀchsten Masse der Kaffeemaschine hergestellt.

Masseanschluss der Abschirmung

Auch diese Maßnahme scheint keine endgĂŒltige Lösung fĂŒr die Störungen zu sein, immer wieder kommt es zu Aussetzern des Quickmill Saver, wenn eine der Baugruppen der Kaffeemaschine anlĂ€uft oder abgeschaltet wird.

Ich habe mir daraufhin die im Keller stehende Ersatzmaschine intensiv angeschaut, die lief ja viele Jahre vollkommen problemlos. Einzig erkennbarer Unterschied ist die Anbindung des  Arduino an die Stromversorgung des Originalcontrollers. Hier habe ich die Plus-Leitung an eine frei gekratzte Leiterbahn auf der Oberseite der Platine und die Masse-Leitung auf der Unterseite an eine ebenfalls frei gekratzten Stelle einer großen MasseflĂ€che angelötet.

Bei der neuen Maschine habe ich mir die Sache einfacher gemacht und beide Leitungen an einem SMD Kondensator auf der Oberseite angelötet.

Plus-Anschluss vorher

Die Masse-Leitung ist hier bereits abgelötet.

Ich habe also die Stromversorgung entsprechend der Kontaktierung der alten Maschine umgelötet. Hier die neue Verbindung zu Plus:

Plus-Anschluss nachher

Die Masse-Leitung auf der Unterseite der Platine in der MasseflÀche:

Masse-Anschluss nachher

Jetzt sollten keine Störungen mehr auftreten - soweit zumindest die Theorie.

In der Praxis zeigen sich aber trotzdem, wenn auch nur noch sehr sporadisch, Störungen in Form von Auslassungen bestimmter Anzeigesequenzen. So wird z.B. die sich fĂŒllende Tasse oder der Dampf nach erfolgter Zapfung nicht mehr angezeigt, obwohl im MenĂŒ die entsprechende Option jeweils aktiviert ist.

Das hat sich erst geĂ€ndert, nachdem ich die Optionen aus- und wieder eingeschaltet bzw. die dafĂŒr vorgesehenen Zeiten geĂ€ndert hatte. Offenbar erwischten die Störungen auch mal Zeitpunkte, zu denen gerade das EEPROM beschrieben wurde, so dass keine korrekten Daten gespeichert wurden. Das wĂ€re zumindest eine denkbare ErklĂ€rung.

Etwas spÀter...
Wieder einmal zeigt sich, viel hilft nicht immer viel :(

Nach ein paar gezapften Tassen mit intensiver Beobachtung der AblĂ€ufe kristallisiert sich heraus, dass immer noch bei bestimmten Aktionen in der Maschine - irgendwelche Relais oder Ventile werden ein- oder ausgeschaltet - der Arduino rĂŒckgesetzt wird und dadurch der Eindruck entsteht, Sequenzen der Anzeige wĂŒrden ĂŒbersprungen bzw. nicht ausgefĂŒhrt.

Nachdem ich die Stromversorgung wie bei der alten Maschine umgebaut hatte, kommt als letzter Unterschied die zusĂ€tzlich eingefĂŒgte Erdung zu den Metallinnereien der Quickmill fĂŒr die Störungen in Frage. Und richtig, nachdem ich diese Verbindung entfernt habe, treten keine Störungen im Displayablauf mehr auf. Offenbar sind zusĂ€tzliche EMV -Störungen ĂŒber diese Verbindung in das Quickmill Saver System eingekoppelt worden anstelle anderswo eingekoppelte Störungen hier nach Erde abzufĂŒhren.

Wieder etwas spÀter...
Der Fehler tritt sporadisch immer noch auf :(


Nach einigen Irrwegen in Sachen Entstörung der Elektrik bin ich mit meiner Weisheit ziemlich am Ende und versuche den Status Quo zu akzeptieren.

Allerdings beobachte ich, dass das Gezappel auf dem Display und die RĂŒcksetzer des ”C offenbar auch durch mechanische Interaktion mit der Maschine provoziert werden können. Diese Erkenntnis ergab sich beim Verdichten der Satzpellets durch RĂŒtteln des SatzbehĂ€lters.

Eingehende Untersuchungen in diese Richtung erhÀrten den Verdacht, dass es einen Wackelkontakt im Deckel der Maschine, also im Bereich Sensorplatine oder Display, gibt.

Um das genauer untersuchen zu können, habe ich den Deckel ausgebaut und mit einem anderen aber ziemlich baugleichen Kabel einen Arduino Nano, geflasht mit der Quickmill Saver Firmware, mit der Sensorplatine verbunden. Es stellt sich heraus, dass alleine die vorsichtige BerĂŒhrung des Kabelmantels mit der Hand schon die beobachteten Fehler auf dem Display hervorrufen. Auch die einzelnen Adern, die das Touchsensor IC mit den KupferflĂ€chen verbinden, reagieren empfindlich auf BerĂŒhrung.

Zum Schluss war ich ziemlich sicher, dass es kein Wackelkontakt sein kann und habe durch eine geĂ€nderte Platzierung der Platine und neue KabelfĂŒhrung der Sensorleitungen das Problem offensichtlich in den Griff bekommen.

GeÀnderte Anordnung der Sensorplatine

Konkret wurde neben der Umplatzierung der Platine die geschirmte Leitung gekĂŒrzt bzw. weiter ins Innere der Maschine geschoben, so dass die hinter dem Deckel befindliche LĂ€nge deutlich reduziert ist.

Nach dieser Änderung verhĂ€lt sich die Quickmill jetzt seit LĂ€ngerem friedlich.

Die beiden Kabelclips sind 3D gedruckt, Frol hat auf Thingiverse ein passendes Design veröffentlicht.

Kabelclips

Kabelclips

Beide Clipse sind mit Universal Plastikkleber befestigt.


Vielleicht noch ein Wort zu der Verbindung zwischen Arduino Nano und Touchsensor IC und Display. Der verwendete IÂČC Bus ist ja ursprĂŒnglich als Verbindung zwischen ICs auf einer Platine (IÂČC - IIC - “IC-IC Communication”, auch “Inter IC Communication”) spezifiziert worden, er soll die Kommunikation zwischen nahe beieinander liegenden Bauteilen ermöglichen. Die gut 1 m lange Leitung in meiner Kaffeemaschine ist demnach als grenzwertig zu betrachten, was folgerichtig zu den beschriebenen Problemen fĂŒhrt.

 


Beim Aufruf dieser Funktion werden Daten an Google in USA ĂŒbermittelt. Neben Ihrer IP-Adresse wird auch die URL der besuchten Seite ĂŒbertragen.
Besucherzaehler

Besucher seit
25.11.2000