Kaffeebezug Multi-MCU

Aus Technische Beeinflussbarkeit der Geschmacksache Kaffee
Zur Navigation springen Zur Suche springen

Armin Rohnen, 15.08.2023

Das ursprüngliche Ziel für die labortechnische Espressomaschine war die Simulation aller auf dem Markt befindlichen Siebträger-Espressomaschinen. Beschrieben wird die Simulation durch die Parameter Menge des verwendeten Kaffeemehls, Tamperdruck, Temperatur des Kaffeebezugswassers, Durchflussrate, sich einstellender Brühgruppendruck und das bezigenen Kaffeevolumen bzw. Kaffeemenge.

Mit hinzu gehört die Simulation der Preinfusion. Diese wird in einem weiteren Entwicklungsschritt realisiert und findet daher aktuell keine Beachtung.

Die Simulation anderer Espressomaschinen kann auch dazu verwendet werden, ein optimales (was auch immer darunter verstanden wird) Kaffeebezugsprogramm zu erstellen.

Eingabeparameter

Im Tab "Kaffeebezug" sind für drei Kaffeprogramme, eigentlich Kaffeerezepte, die Eingabefelder der zugehörigen Parameter hinterlegt. Die Eingabefelder orientieren sich am üblichen Sprachgebrauch in der Beschreibung von Kaffeebezügen der Baristas.

  • In beschreibt die Menge Kaffeemehl in Gramm
  • Out beschreibt die Bezugsmenge an Kaffee in Gramm, was dem Bezugsvolumen in cm3 gleichgeseitzt wird.
  • Zeit beschreibt die Bezugszeit in Sekunden.
  • Temperatur beschreibt die Wassertemperatur des Kaffeebezugswassers

Aus den Angaben der Bezugsmenge und der Bezugszeit wird die erforderliche Durchflussrate berechnet und als Sollwert in "app.FlowSollwert" der GUI abgelegt. "app.TSollwert" enthält die direkt übernommene Eingabe der Wassertemperatur.

Neben den Eingabeparametern des Kaffeerezepts werden die Stellgrößen

  • Einstellung des Bypass (Y99) in 1/2-Schritte
  • Einstellung des Dosierventile KAltwasser (Y98) in 1/2-Schritte
  • Steuerspannung im Pumpenvorlauf in mV
  • Steuerspannung der Pumpe in mV

eingegeben. Dies dient der Vorsteuerung für die Regelkreise des Kaffeebezugs.

Kaffeebezug starten

Im Tab "Kaffeebezug" und im Tab "manueller Modus" befinden sich drei Buttons (Kaffee 1, Kaffee 2, Kaffee 3) welche den Kaffeebezug des zugehörigen Programms auslösen. Ein Kaffeebezug wird nur dann ausgelöst, wenn der Boiler aufgeheizt ist, was über "app._Entschichtung == 1" festgestellt wird. Im Weiteren muss der Boilerfüllstand definiert sein, also "str2num(app.Boilerfüllstand.Text) == 1" und es darf kein Kaffeebezugsprogramm aktiv sein (app.flag_Kaffeebezug == 1).

Wird ein Kaffeebezugsprogramm aktiviert, wird "app.flag_Kaffeebezug" auf die Nr des Kaffeebezugsprogramms gesetzt. Es wird "app.flag_Aktivitaet = 1" gesetzt um die Kollision der Funktionen Boilerbefüllung mit dem Kaffeebezug zu verhindern. Es wird "app.FlowSollwert" berechnet und "app.TSollwert" übernommen. Die Buttons der anderen Kaffeebezüge werden deaktiviert (.Enable = 0) und der Button des gewählten Kaffeebezugs wird rot eingefärbt. Das Dosierventil Mischwasser und der Pumpenbypass werden auf die Vorsteuerparameter des Kaffeerezepts eingestellt. Die Magnetventile Y01 und Y06 werden geschaltet während Y07 und Y08 zur Sicherheit in den Ruhezustand gebracht werden. Die Pumpensteuerspannung wird auf den Wert des Pumpenvorlaufs gesetzt und es wird eine Statusmeldung ausgegeben. Ab hier übernimmt der in der Funktion "mwp_verarbeitung" hinterlegte Anweisung für den Kaffeeregler die weitere Regelung des Kaffeebezugs.

Kaffeebezug beenden

Als tatsächlicher Start des Kaffeebezugs wird der Zeitpunkt betrachtet an dem der erste Tropfen Kaffee aus dem Siebträger heraustropft. Aktuell ist noch ungeklärt wie das festgestellt werden kann. Daher endet der Kaffeebezug, wenn der Button des betreffenden Kaffeeprogramms zum zweiten Male gedrückt wurde. Es werden dann die von den Regelkreisen in die direkten Eingabefelder eingetragenen Werte für Mischwasser Dosierventil (Y98) und Pumpenbypass (Y99) in die technischen Eingabefelder des Kaffeebezugsprogramms übernommen. Die letzte Pumpensteuerspannung wird aktuell nicht übernommen. Dies könnte durch einfügen der Zeilen

         app.Pumpenvorlauf<x>.Value =  app.Pumpenleistung.Value;

und / oder

         app.Pumpe<x>.Value =  app.Pumpenleistung.Value;

erfolgen. <x> ist dabei durch die Nummer des Kaffeebezugsprogramms zu ersetzen.

Das Kaffeebezugsprogramm wird beendet durch setzen der Pumpensteuerspannung auf 0 mV, schalten der Ventile Y01, Y06 und Y07 in den Ruhezustand sowie öffnen von Y08. Y08 sollte nach dem Druckabbau manuell in den Ruhezustand gebracht werden. Die für die Softwaresteuerung erforderlichen Steuervariablen werden zurück gesetzt (app.flag_Kaffeebezug = 0, app.flag_Aktivitaet = 0) die Buttons für den Kaffeebezug werden freigegeben (.Enable = 1) und der Button des Kaffeebezugs wird wieder grün eingefärbt.

Steuerung des Kaffeebezugs

In der mit Reglerprogramme kommentierten Sektion der Funktion "mwp_verarbeitung" wird die Funktion "app.kaffeeregler" unter der Bedingung aufgerufen, dass ein Kaffeebezug aktiviert ist (if app.flag_Kaffeebezug > 0).

Die Funktion "kaffeeregler" dient der Steuerung des Kaffeebezugs. Es wird überprüft, ob die Mischwassertemperatur sich in einem Toleranzfenster um den Sollwert befindet. Ist dies der Fall, wird das Mischwasserventil (Y07) geschaltet und damit der eigentliche Kaffeebezug gestartet. Diese Überprüfung findet nur bei Ableitung des Mischwassers in den Überlauf (Y07 ungeschaltet) statt.

Für das Kaffeebezugsprogramm 1 (if app.flag_Kaffeebezug == 1) erfolgen die Aufrufe des Mischwasserreglers (Funktion "app.mischregler") und bei geschalteten Mischwasserventil (Y07) den Durchflussregler (Funktion "app.durchflussregler").

Für den aktuellen Entwicklungsstand der Betriebssoftware ermöglicht die Reduzierung des tatsächlich geregelten Kaffeebezugs auf das Kaffeerezept 1, die erforderlichen Versuche für die Programmierung der Regelkreise.

Armin Rohnen, 16.02.2023

Die bisherigen Aktivitäten zur Realisierung des Kaffeebezugs sind für die Multi-MCU-Elektronik zu übernehmen und weiter zu führen. Bitte dabei beachten, dass bisher die Begrifflichkeit "Preinfusion" falsch interpretiert wurde. Unter "Preinfusion" wird eine gezielte Wasserinfusion des Kaffeepucks verstanden, ohne dass es dabei zum Kaffeebezug (Auslauf oder Auströpfeln von Kaffee aus dem Siebträger) kommt.

Übernahme aus Kaffeebezug (Labor)

Jan Budnick, 10.06.2022 (Abschlussbemerkung)

(Anmerkung Armin Rohnen: Es wurde die Begrifflichkeit Preinfusion gegen Vorlauf ausgetauscht)

Der derzeitige Kaffeebezug läuft folgendermaßen ab: 1. Vorlauf: Um die Bezogene Kaffeemenge mitzählen zu können gibt es einen Zustand vor dem Kaffeebezug, in der App, der als Vorlauf bezeichnet wird. Dieser kann durch Knopfdruck oder nach 25 ml beendet werden und setzt dabei den Flowzähler zurück. Derzeit wird der "Vorlauf" auch genutzt, um die Mischertemperatur über die Solltemperatur zu überhöhen (+10°C), um Wärmeverlust (vor allem Wärmekapazitäten) zu kompensieren. Während des Vorlaufs wird Wasser erst mit einem statischen Dosierventilwert über den Rückfluss bezogen, um die Solltemperatur zu erreichen. Danach wird auf die Brühgruppe umgeschaltet und Flow- und Temperaturregler zugeschaltet.

Der statische Drosselwert wird vor allem aufgrund der Verzögerung der Regelstrecke verwendet, um Wind-Up zu verhindern. Sobald der Regler weniger träge wird, sollte dieser für mehr Geschwindigkeit auch im Rückfluss bereits verwendet werden.

2. Nach Umschalten zum tatsächlichen Kaffeebezug wird der Flowzähler zurückgesetzt und die Regeltemperatur auf +5°C über Solltemperatur abgesenkt, um Wärmeverluste abzudecken. Alles andere bleibt gleich.

Mögliche Implementierung: Um Gaggia anzunähern könnte die Preinfusion mit hohem statischem Motorwert angefahren werden (Hoher Flow am Anfang, der mit steigendem Gegendruck absinkt) bis ein Druck von etwa 6 bar erreicht wird. Anschließend könnte entweder mit einer Flowregelung von 1.5-2 ml gearbeitet werden oder es müsste eine Druckregelung implementiert werden.

Jan Budnick, 28.05.2022

Es wurde der halbautomatisierte Kaffeebezug erprobt (nur Durchflussregler). Dabei konnte dank der Abdichtung der Siebträgerhalterung endlich ein Druck über 4 bar erreicht werden. Die Dichtehit konnte durch eine seitliche Abstützung der Siebträgerdichtung in der Siebträgeraufnahme erreicht werden.

Die Untersuchungen hatten einen Probiercharakter/Voruntersuchungscharakte, es lassen sich jedoch beruhend darauf einige Hypothese erstellen:

Edit: folgende Erkenntnisse sind stark abhängig von dem Mahlgrad des Kaffees, dieser lag auf der verfügbaren Mühle bei 2,5.

1. Höherer Druck ergibt mehr Crema.

2. Schnellerer Durchfluss ergibt einen höheren Gegendruck

3. Ein schnellerer Vorlauf (Vorlauf mit höherem Durchfluss) bei anschließend niedriger Infusiongeschwindigkeit (geringerer Durchfluss) führt zu höherem Gegendruck

4. Bei langsamen Vorlauf (geringerer Durchfluss - 1 ml/s -) wird oftmals der "normale" Druck von 9 bar bei der anschließenden Infusion nicht erreicht

5. Bei schnellerem Vorlauf (höherer Durchfluss -2 ml/s-) kann es zu einem Druck von über 9 bar bei weniger als 1 ml/s Infusion kommen

Eine weitere störende Beobachtung: Es scheint, dass wenn die Verstelldrossel warm wird, der Durchfluss bei anlaufender Pumpe wesentlich Instabiler ist, als wenn diese kalt ist.

Jan Budnick, 21.02.2022

Ventilstellungen für den Kaffeebezug in der GUI implementieren.

Armin Rohnen, 21.02.2022

Der Kaffeebezug wird beschrieben durch die Angabe der Abgabemenge in cm3 oder Gramm, der Bezugszeit und der Kaffeebezugswassertemperatur. Im weiteren Entwicklungsverlauf müssen diese Paramter als Zeitverläufe in Form eines Profils behandelt werden können. Es kommt dann auch eine Preinfusion hinzu.