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.

Fertig.

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.

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 sogenannten DoLü- 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 :)

 
 Zur Erklärung: Beide Leitungen sind Litzenleitungen. Ich habe also sowohl über das Schirmgeflecht als auch über die kurze Leitung zum USB Stecker jeweils eine Aderendhülse gecrimpt und diese dann in der Dosenklemme zusammen geschraubt. Offenbar sind die Oberflächen der Aderendhülsen über die Zeit korrodiert, die elektrische Verbindung wurde so schlecht, dass die Störungen vom Mühlenmotor nicht mehr sicher gegen Masse abgeleitet sondern stattdessen in die Verbindung zum Display eingekoppelt wurden. Durch das Nachziehen der Schraube ist die Verbindung jetzt wieder niederohmig und die Schirmung funktioniert, wie sie soll - alles ist in Butter.


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.

 


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