<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hendrik+Wegjan</id>
	<title>Technische Beeinflussbarkeit der Geschmacksache Kaffee - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hendrik+Wegjan"/>
	<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Spezial:Beitr%C3%A4ge/Hendrik_Wegjan"/>
	<updated>2026-06-30T04:42:40Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.2</generator>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Schrittmotorensteuerung_Mischer&amp;diff=1590</id>
		<title>Schrittmotorensteuerung Mischer</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Schrittmotorensteuerung_Mischer&amp;diff=1590"/>
		<updated>2023-07-31T09:33:15Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: /* Hendrik Wegjan, 28.07.2023 - ergänzende Abschlussbemerkung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Hendrik Wegjan, 28.07.2023 - ergänzende Abschlussbemerkung =&lt;br /&gt;
Ergänzend zu den Aufgaben für zukünftige Projektgruppen (s. Eintrag vom 23.05.2023) sind weitere Probleme aufgetreten:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1) Ergänzung zur Problemstellung: „Verhaken“ des Dosierventils in Endpositionen&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
Es wurde von AVS Römer bestätigt, dass sich das Dosierventil in der offenen Endlage je nach Anzahl der „überfahrenen“ Halbschritte aushängt. Außerdem verklebt das Ventil in geschlossener Endlage, sofern es länger nicht bewegt wird.&amp;lt;br&amp;gt;&lt;br /&gt;
Dementsprechend muss das Ventil beim Ausschalten der Maschine in eine Art „Mittelposition“ gefahren werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Routine ist in der MATLAB®-Funktion uifigure.close() niederzuschreiben.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2) Problemstellung Sequenzposition&amp;lt;br&amp;gt;&#039;&#039;&#039; In der Initialisierung wird aktuell die Position in der Sequenzmatrix immer auf -1 gesetzt. Dadurch wird nach einem Neustart beim erstmaligen Verfahren der Schrittmotoren (und somit meistens bei der Initialisierung) immer mit der ersten Sequenz gestartet (Bei Verständnisfragen s. Kommentierung Schrittmotor-Python-Code).&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Annahme passt aber nicht zum realen Bild, bei dem der Schrittmotor vor dem Ausschalten/Neustarten der Kaffeemaschine in jeder beliebigen Sequenz stehengeblieben sein kann.&lt;br /&gt;
Dadurch ist ein Springen des Schrittmotors zu Beginn quasi garantiert.&amp;lt;br&amp;gt;&lt;br /&gt;
Ein Lösungsvorschlag wäre, die Ausschalt-Routine (aus 1)) dahingehend zu programmieren, dass die Schrittmotoren so verfahren werden, dass sie genau bei der letzen Stellsequenz („seq8“) stehenbleiben. Bei einem Neustart würde dann richtigerweise die erste Stellsequenz („seq1“) gefahren werden.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3) Problemstellung Überfahren der Endlagen&amp;lt;br&amp;gt;&#039;&#039;&#039; Es ist die Problematik aufgetreten, dass beim Erreichen einer Endlage (vor allem bei einer vollständigen Schließung der Drossel) der Schrittmotor physisch logischerweise nicht mehr weiterfährt, die Stellsequenzen aber weiter durchlaufen werden (da immer die aus MATLAB® übergebene Halbschrittanzahl gefahren wird).&amp;lt;br&amp;gt;&lt;br /&gt;
Auch hieraus ergibt sich die Problematik, dass der Schrittmotor anfängt zu springen, sobald er aus dieser Endlage hinaus dann erneut angesteuert wird. Dadurch gehen Schritte verloren, was vor allem in der Initialisierung nicht erlaubt ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Es muss erarbeitet werden, ob dieses Problem z.B. durch eine geschicktere Ansteuerung lösbar ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Ansonsten muss eine Alternative definiert werden (z.B. ein Erhöhen der übermittelten Halbschrittanzahl um einen Sequenzdurchlauf (+8), sofern bekannt ist, dass in eine Endlage gefahren wird. Damit wird ein eventuelles Springen des Schrittmotors kompensiert, aber die Stellgenauigkeit leidet natürlich darunter).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Simon Thrainer, 23.05.2023 - vorläufige Abschlussbemerkung =&lt;br /&gt;
[[Datei:20230522 Mischwassertemperatur Dosierventil Zeit.png|500px|thumb|gerahmt|rechts|alternativtext=Abbildung 3: Temperaturverlauf des Mischwassers (blau) über der Versuchsdauer|Abbildung 3: Temperaturverlauf des Mischwassers (blau) über der Versuchsdauer]]&lt;br /&gt;
[[Datei:20230522 Kennlinie Mischwassertemperatur Dosierventilstellung.png|500px|thumb|gerahmt|rechts|alternativtext=Abbildung 2: Kennlinie der Mischwassertemperatur in Abhängigkeit von der Dosierventilstellung|Abbildung 2: Kennlinie der Mischwassertemperatur in Abhängigkeit von der Dosierventilstellung]]&lt;br /&gt;
==Änderungen an der aktuellen GUI==&lt;br /&gt;
In die aktuelle MATLAB®-GUI (EspressoMenu_20230118) im Ordner Betriebssoftware wurde die Funktion „KennlinieDosierventil“ implementiert. Sie öffnet das Dosierventil schrittweise durch Verstellen des Schrittmotors alle 10 s um 40 Halbschritte. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Versuchsdurchführung und Erstellung der Kennlinie==&lt;br /&gt;
Der Versuchsablauf wurde mit einer Pumpenleistung von 3000 mV, einer Bypass-Stellung von 50 Halbschritten und vollständig aufgeheiztem Boiler (1300 mbar Boilerdruck) durchgeführt. Zuerst wurde das Dosierventil vollständig geschlossen und dann mithilfe der Funktion langsam geöffnet, was das Diagramm in Abbildung 3 ergab. Aus den Temperaturen, auf die sich das Mischwasser nach jedem Verstellen einpendelt, wurde die Kennlinie der Mischwassertemperatur in Abhängigkeit von der Dosierventilstellung erstellt (s. Abbildung 2). &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Problemstellungen==&lt;br /&gt;
Bei der Erstellung der Kennlinie traten mehrere Probleme auf:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
•	Die Mischwassertemperatur ist trotz geschlossenem Dosierventil anfangs nicht über 60 °C angestiegen. Das kann nach einem Hinweis von Armin Rohnen daran liegen, dass der Schrittmotor in einer Endposition „verklebt“ bzw. „verhakt“ und erst frei gefahren werden muss, bis er gesichert jeden Schritt fährt.&lt;br /&gt;
Dieses Problem kann für eine gewisse Zeit lang umgangen werden, indem der Schrittmotor bei der Initialisierung mit verlängerter Pausenzeit und einer größeren Anzahl von zu fahrenden Schritten gesichert geöffnet und geschlossen wird.&lt;br /&gt;
Armin Rohnen hat vorgeschlagen, dass die Schrittmotoren nicht in einer Endposition verweilen sollten, sondern in Ruhezeiten in einer mittleren Position stehen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
•	Die Vermutung, dass die Schrittmotoren mehr als 560 Halbschritte fahren können, hat sich bestätigt. In Abbildung 1 sind mehr als 14 Temperatursprünge zu sehen. Da die Pausenzeit, bei der sicher alle Schritte gefahren werden, mit 2000 µs bereits ermittelt wurde, kann davon ausgegangen werden, dass für jeden Temperatursprung tatsächlich 40 Halbschritte gefahren wurden.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Aufgaben für zukünftige Projektgruppen==&lt;br /&gt;
•	Es soll ermittelt werden, unter welchen Umständen es dazu kommen kann, dass die Schrittmotoren in einer Endposition hängen bleiben und wie dieses Problem effektiv vermieden werden kann.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
•	Es soll ermittelt werden, wie viele Schritte die Schrittmotoren tatsächlich fahren können.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Versuchstaten können [http://www.institut-fuer-kaffeetechnologie.de/Intern/index.php?title=Versuchsdaten_Labormaschine#23.05.2023_Simon_Thrainer_-_Mischwassertemperatur-Druck hier]heruntergeladen werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Hendrik Wegjan, 12.05.2023 =&lt;br /&gt;
[[Datei:20231205 Schrittmotor Pausenzeiten.png|500px|thumb|rechts|Abbildung 1: Darstellung Brühgruppendruckentwicklung bei verschiedenen Stell-Pausenzeiten]] &amp;lt;br&amp;gt;&lt;br /&gt;
In die aktuelle MATLAB®-GUI (EspressoMenu_20230118) im Ordner Betriebssoftware wurde die Funktion Schrittmotor_Auto implementiert. Sie enthält ein zeitgesteuertes Schließen der Bypass-Drossel. Aktuell werden alle 5 Sekunden 40 Schritte gestellt.&lt;br /&gt;
&lt;br /&gt;
Mit dieser Funktion wurde die Versuchsreihe zur Ermittlung der minimal möglichen Stell-Pausenzeit durchgeführt.&lt;br /&gt;
Dabei wurde die Pausenzeit zwischen den Schritten variiert (genaue Werte s. Abbildung 1) und dann immer derselbe Ablauf gefahren:&lt;br /&gt;
&lt;br /&gt;
1.	Bypass-Drossel gesichert vollständig öffnen (z.B. mit Thonny-Programm „Schrittmotor_gesicherter_Reset“)&lt;br /&gt;
&lt;br /&gt;
2.	Wasserzufuhr auf Brühgruppe schalten (Y1 + Y6 + Y7 ON)&lt;br /&gt;
&lt;br /&gt;
3.	Pumpe einschalten (Leistung: 3000 mV)&lt;br /&gt;
&lt;br /&gt;
4.	In Tab „Tests“ wechseln und „Schrittmotor Auto“ anklicken&lt;br /&gt;
&lt;br /&gt;
5.	Warten, bis Maximaldruck (ca. 13 bar) erreicht ist, dann Messwertpuffer speichern und Pumpe ausschalten, evtl. Brühgruppe entlüften (Y08 ON)&lt;br /&gt;
&lt;br /&gt;
Aus Abbildung 1 ist erkennbar, dass ab einer Pausenzeit von 2000 µs (lila) ein annähernd gleicher Verlauf des Brühgruppendrucks entsteht.&lt;br /&gt;
Es kann also angenommen werden, dass bei einer Stell-Pausenzeit größer/gleich 2000 µs keine Schritte übersprungen werden.&lt;br /&gt;
&lt;br /&gt;
Im nächsten Schritt wird mit den neuen Pausenzeiten gearbeitet und die Kennlinie Mischwassertemperatur/Dosierventilstellung generiert.&lt;br /&gt;
&lt;br /&gt;
Eine Anwendung der neuen Pausenzeiten auf die Schrittmotorinitialisierung muss ebenfalls stattfinden. Dort können die aktuellen Schrittzahlen (meistens 1200) durch die realen Werte (560) ersetzt werden, da jetzt bestätigt ist, dass jeder Schritt erkannt und gefahren wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Hendrik Wegjan, 05.05.2023 =&lt;br /&gt;
Die aktuelle Initialisierung und Ansteuerung der Schrittmotoren wurde im Zuge der Einarbeitung getestet. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beim Start der Kaffeemaschine werden die drei Schrittmotoren (Dosierventil Mischer, Dosierventil Bypass, Brühgruppendrossel) durch die Funktion init_mcus() identifiziert und initialisiert.&amp;lt;br&amp;gt;&lt;br /&gt;
Nach dieser erstmaligen Initialisierung sind jedem Schrittmotor seine individuellen vier Pins zugeordnet (Durch den Aufruf der schrittmotor.setup-Funktion).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Weiterhin wird die Funktion schrittmotor.sequenz() aufgerufen und dessen return-Wert der Variablen seq zugewiesen. Dadurch ist die Sequenzreihenfolge definiert, in der die Pins der Schrittmotoren bestromt werden müssen, damit er eindeutig fährt.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Info: Ein Schrittmotor besitzt einen dauermagnetischen Rotor, der durch wechselnde Magnetfelder in den Statorspulen angetrieben wird.&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Statorspulen können über die Pins bestromt werden. Jede Stellsequenz erzeugt demnach durch die unterschiedliche Ansteuerung der Pins ein individuelles Magnetfeld, das immer genau zu einer Stellung des Rotors passt.&amp;lt;br&amp;gt;&lt;br /&gt;
Wird diese Sequenz-Reihenfolge nicht eingehalten, so fängt der Schrittmotor an, zu springen.&amp;lt;br&amp;gt;&lt;br /&gt;
Genauere Informationen zur Funktionsweise sind in [40] niedergeschrieben.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Außerdem wird für jeden Schrittmotor in einer Variable xxx_pos (z.B. dosierventil_pos fürs Dosierventil) der aktuelle Stand in der Schrittmotor-Stellsequenzreihenfolge auf -1 gesetzt. Dadurch startet der Schrittmotor beim Ersten Verfahren automatisch mit Sequenz 1 (Genaueres im nächsten Absatz).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Eine Ansteuerung erfolgt immer in der gleichen Reihenfolge:&amp;lt;br&amp;gt;&lt;br /&gt;
a) Aufruf der Python-Funktion (forwardStep für ein Öffnen, backwardStep für ein Schließen des jeweiligen Ventils) in der MATLAB® GUI &amp;lt;br&amp;gt;&lt;br /&gt;
b) Abarbeiten der Python-Funktion forwardStep()/backwardStep() auf der MCU &amp;lt;br&amp;gt;&lt;br /&gt;
Die exakten Funktionalitäten können der Programmcode-Kommentierung entnommen werden (s. Programmcode/schrittmotor.py).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese Ansteuerungsmethodik wird auch für die erste Initialisierung der Schrittmotoren beim Verbinden der Platinen verwendet. Alle Schrittmotoren werden aktuell mit 800 Halbschritten zuerst geöffnet (forwardStep) und dann geschlossen (backwardStep).&amp;lt;br&amp;gt;&lt;br /&gt;
In Bezug auf die von AVS Römer angegebenen 560 Halbschritte ist das deutlich zu viel.&amp;lt;br&amp;gt;&lt;br /&gt;
Das liegt primär an der noch nicht getesteten Stell-Pausenzeit der setStepper-Funktion.&amp;lt;br&amp;gt;&lt;br /&gt;
Aktuell werden 2500 µs verwendet.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sobald die korrekte Pausenzeit definiert ist, soll mit einer Halbschrittanzahl von 560 initialisiert werden.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Armin Rohnen, 07.04.2023 =&lt;br /&gt;
Für den Mischer ist eine zweifelsfreie Initialisierung zu Maschinenstart zu realisieren.&lt;br /&gt;
&lt;br /&gt;
Der Mischer ist über ein AVS Römer elektronisches Dosierventil mit 280 Schritten (lt. Herstellerangabe) realisiert.&lt;br /&gt;
&lt;br /&gt;
Es ist zu klären, mit welchen Pausenzeiten das Dosierventil zuverlässig betrieben werden kann. Im Weiteren wird eine Kennlinie für die Mischwassertemperatur in Abhängigkeit der Dosierventilstellung benötigt. Die Kennlinie soll für die übliche Boilertemperatur bei 1300 mbar Boilerdruck Gültigkeit aufweisen.&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Adaption_an_Multi-MCU_-_Neuprogrammierung_MATLAB%C2%AE_GUI&amp;diff=1589</id>
		<title>Adaption an Multi-MCU - Neuprogrammierung MATLAB® GUI</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Adaption_an_Multi-MCU_-_Neuprogrammierung_MATLAB%C2%AE_GUI&amp;diff=1589"/>
		<updated>2023-07-31T09:26:49Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: /* Madita vom Stein, 27.07.2023 - Abschlussbemerkung MATLAB®-GUI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Madita vom Stein, 27.07.2023 - Abschlussbemerkung MATLAB®-GUI =&lt;br /&gt;
[[Datei:Startseite der alten GUI.png|thumb|500px|rechts|Abbildung 8: Startseite der alten GUI]]&lt;br /&gt;
[[Datei:Startseite der neuen GUI.png|thumb|500px|rechts|Abbildung 7: Startseite der neuen GUI]]&lt;br /&gt;
[[Datei:Programme der alten GUI.png|thumb|500px|rechts|Abbildung 6: Programme der alten GUI]]&lt;br /&gt;
[[Datei:Programme der neuen GUI.png|thumb|500px|rechts|Abbildung 5: Programme der neuen GUI]]&lt;br /&gt;
[[Datei:Manueller Modus der alten GUI.png|thumb|500px|rechts|Abbildung 4: manueller Modus der alten GUI]]&lt;br /&gt;
[[Datei:Manueller Modus der neuen GUI.png|thumb|500px|rechts|Abbildung 3: manueller Modus der neuen GUI]]&lt;br /&gt;
[[Datei:Reinigungsprogramm (neue GUI).png|thumb|500px|rechts|Abbildung 2: Reinigungsprogramm (neue GUI)]]&lt;br /&gt;
&lt;br /&gt;
Die MATLAB®-GUI ist die graphische Bedieneroberfläche der Laborsiebträgermaschine. Die in der GUI durch den Anwender eingegebenen Befehle, beispielsweise das Schalten eines Ventils, werden über den im Hintergrund laufenden MATLAB®-Programmcode an eine Schnittstelle weitergegeben. Diese Schnittstelle steuert die Multi-MCUs an, die direkt auf die Maschine zugreifen. &amp;lt;br&amp;gt;&lt;br /&gt;
Als Anwender gelten Studierende, sowie Lehrende, die im Rahmen der „Geschmackssache Kaffee“ an der Labormaschine arbeiten; also Testversuche fahren oder die Maschine weiterentwickeln. Die MATLAB®-GUI ist demnach nicht für den Endanwender der Maschine gedacht. Das verkaufsfähige Endprodukt soll, wie auf dem Markt üblich, mit Schaltern und Knöpfen ausgestattet sein. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Zeitpunkt des Projektstartes lag bereits eine MATLAB®-App inklusive GUI vor [85]. Statt einer Einarbeitung und Weiterentwicklung in den bestehenden Code, erschien eine vollständige Neuaufsetzung der MATLAB®-App und GUI sinnvoller. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Hinblick auf die oben genannten Anwender wurde bei der Zielsetzung die Erleichterung der Arbeit im Labor priorisiert. Da die studentischen Arbeitskräfte zum Großteil einer hohen Fluktuation unterliegen, wurde außerdem auf eine intuitive Bedienbarkeit und eine hohe Übersichtlichkeit geachtet. Dadurch soll das Einfinden in die MATLAB®-GUI erleichtert, und folglich die Einarbeitungszeit verkürzt werden. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sowohl die alte als auch die neue MATLAB®-GUI ist in Tabs unterteilt. Diese gliedern sich in die Startseite, einen manuellen Modus und einen automatischen Modus für Bezugsprogramme. Die neue MATLAB®-GUI beinhaltet zusätzlich einen Tab für das Reinigungsprogramm, welches im Rahmen der Projektarbeit entstanden ist. &amp;lt;br&amp;gt;&lt;br /&gt;
Die bisherige MATLAB®-GUI weist zudem Verbesserungspotenzial auf. So war der gesamte Laptop-Bildschirm durch die GUI ausgefüllt. In der neuen GUI wurde bewusst ein Format von 1720 x 880 Pixeln gewählt, sodass wahlweise am oberen oder unteren Rand der GUI ein im Hintergrund liegendes Programm sichtbar ist. Im Falle der Weiterentwicklung der Systemsoftware könnte dies das Command Window von MATLAB® sein, sodass Fehlermeldungen sofort zur Kenntnis genommen werden. &amp;lt;br&amp;gt;&lt;br /&gt;
Ebenfalls neu ist, dass die Tabs nicht die gesamte Oberfläche der GUI einnehmen, sondern es einen immer sichtbaren Bereich gibt. Dieser bringt vier Vorteile mit sich. Erstens wird nicht für jeden Tab ein eigener Button für das Speichern des Messwertepuffers benötigt. Stattdessen gibt es diesen Button ein einziges Mal, aber in dem Bereich, auf den ein Zugriff jederzeit möglich ist. Ein zweiter Vorteil ist, dass die für das Geschmackserlebnis besonders relevanten Messwerte Leitungsdruck [mbar] und Durchflussrate [ml / s] ständig sichtbar sind. Auch der Error-Button, sowie der zugehörige Reset-Error-Button, ist in allen Tabs relevant. Die Verschiebung in den immer sichtbaren Bereich brachte auch hier eine erhöhte Reaktionsgeschwindigkeit auf Probleme mit sich, worin der dritte Vorteil liegt. Bei der Reaktion auf Probleme ist auch der Notaus-Button von Bedeutung. Hier können durch schnelles Handeln Schäden an Menschen und Maschine vermieden werden. Ebenfalls in dem immer sichtbaren Bereich ist der jeweilige&lt;br /&gt;
Programmstatus der einzelnen Platinen. Das hat den Vorteil, dass immer erkennbar ist, ob diese verbunden sind; nicht nur auf der Startseite. &amp;lt;br&amp;gt;&lt;br /&gt;
An der Startseite selbst hat sich kaum etwas verändert. Es gibt hier nach wie vor die Buttons „manueller Modus“, „Verbinden“, sowie „Debug“. Weiterhin gibt es Eingabefelder für Daten wie beispielsweise das Datum, die Kaffeesorte oder den Mahlgrad, die den Messwerten zugeordnet werden. Es ist außerdem einstellbar, wie oft die Daten gesichert werden sollen. &amp;lt;br&amp;gt;&lt;br /&gt;
Während der Tab „Programme“ in der alten MATLAB®-GUI neben drei Schalter für Kaffeebezug, Teewasserbezug und Dampfbezug auch noch sehr viele andere Inhalte, die nicht direkt den Programmen zuordbar sind, wie beispielsweise die k-Faktoren der Regler, beinhaltet, ist dieser Tab in der neuen GUI minimalistischer gehalten. Da die Programme bisher gar nicht existieren,&lt;br /&gt;
gibt es hier lediglich vier Buttons als Platzhalter. Ein Programm wird über diese gestartet und gestoppt. Der aktuelle Programmstatus ist an dem jeweils nebenstehenden Lämpchen erkennbar, wobei „rot“ bedeutet, dass das Programm in dem Moment aktiv ist. Während ein Programm durchläuft, sind Ventilschaltungen und Zustandsparameter in dem manuellen Modus nachverfolgbar. &amp;lt;br&amp;gt;&lt;br /&gt;
Ansonsten ist der manuelle Modus primär dazu gedacht, dass Ventile einzeln geschaltet, Parameter einzeln geändert, und dadurch Programme entwickelt und getestet werden können. Das Prozessbild der alten GUI ist sehr detailliert und informativ, dadurch aber leider auch sehr unübersichtlich. Es sind auch die Wege des Brauchwassers hin zur Abtropfschale dargestellt. Dies ist bei Hydraulikplänen unüblich und verbraucht zusätzlichen Platz. Durch die vielen Farben und&lt;br /&gt;
Formen wird die Aufmerksamkeit des Benutzers immer wieder hin zu anderen Stellen gelenkt. Dadurch, dass die Messwerte recht klein und an wenig intuitiven Stellen dargestellt sind, sind diese schwierig zu finden. Die Schalter für die Grundeinstellungen stehen nicht gesammelt und in keiner sinnvollen Reihenfolge. &amp;lt;br&amp;gt;&lt;br /&gt;
In der neuen GUI dagegen sind diese Schalter in schlüssiger Reihenfolge, gesammelt oben links abgebildet. Die Bezeichnungen der Messwerte sind größer und fett gedruckt geschrieben. Die Messwerte selbst sind grau hinterlegt. Die Positionierung der Werte ist im Vergleich zu vorher logisch. Die Mischtemperatur befindet sich zum Beispiel an der Stelle, wo gedrosseltes Kalt- und in der Heizwendel erhitztes Warmwasser zusammentreffen. Die Brühgruppenwerte sind direkt in der angedeuteten Brühgruppe zu finden. Insgesamt ist das neue Prozessbild deutlich ruhiger. Es sind nur die wichtigsten Stränge dargestellt. Die Brauchwasserleitungen sind angedeutet. &amp;lt;br&amp;gt;&lt;br /&gt;
Ein Hauptunterschied der neuen zur alten GUI liegt in der Ventildarstellung. Während zuvor durch Lämpchen in den Ventilen signalisiert wurde, ob, beziehungsweise wie, ein Ventil geschaltet ist, wird dies in der neuen GUI durch einen Bildwechsel deutlich. Klickt der Benutzer auf das Ventil im Prozessbild, ändert sich das im MATLAB®-Code hinterlegte Ventilbild und das Ventil wird geschaltet. &amp;lt;br&amp;gt;&lt;br /&gt;
Da vor Beginn des Projektstartes noch kein Reinigungsprogramm existierte, gibt es den betreffenden Tab lediglich in der neuen GUI. Hier gibt es einen Button zum Start des Programmes, sowie eine Anzeige zum aktuellen Status. Es ist außerdem eine Beschreibung des Ablaufs und Hinweise dazu eingefügt. &amp;lt;br&amp;gt;&lt;br /&gt;
Durch die zuvor angesprochenen Maßnahmen ist die neue MATLAB®-GUI übersichtlicher und intuitiver zu bedienen als die alte GUI. Sie ist außerdem auf dem neusten Stand des Hydraulikplans und bildet somit die Labormaschine treffend ab. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Melina Scherf, 25.07.2023, offene Themen =&lt;br /&gt;
Von zukünftige Bearbeitende sind noch Verbesserungen vorzunehmen.&lt;br /&gt;
Eine Statusmeldung am Ende der Initialisierung, dass diese beendet wurde, ist nicht der letzte Eintrag in der Statusleiste. Hier muss eine künstliche Verlangsamung vorgenommen werden.&lt;br /&gt;
Die Initialisierungsfunktion wird häufiger als 4x aufgerufen. Dies liegt daran, dass durch den Import des ident-Programmes, vor Aufruf der ident()-Funktion, bereits ein Terminator gesendet wird.&lt;br /&gt;
Die im Reiter „manueller Modus“ angelegten Schalter sind noch nicht auf Funktionalität überprüft worden. &lt;br /&gt;
Die Messwerte starten beim letzten Testdurchlauf des Programms automatisch mit der Initialisierung der MWP. Dieses sollte erst durch Betätigung eines Schalters geschehen. Zudem war das Signalwort der einkommenden Messwerte nicht gleichermaßen definiert (M und B!).&lt;br /&gt;
Die Abspeicherung der Messwerte in den Messwertpuffer erfolgt nach einer nicht mehr passenden Logik. Da dies Auswirkungen auf die Regler hat und diese thematisch nicht Teil der Projektgruppe SoSe2023 waren, wurde dies nicht angepasst.&lt;br /&gt;
Die Anzeige der Messwerte ist, wie unten beschrieben, noch fehlerhaft oder kein entsprechendes Anzeigelabel mehr in der Oberfläche vorhanden (Messwert 11-15). Hier sollte die Sinnhaftigkeit dieser Messwerte überprüft werden.&lt;br /&gt;
Es sollte überprüft werden, ob es während einer Verarbeitungsroutine der Messwerte durch eine neu eingelesene Antwort zu Fehlern kommt. In der Praxis ist dies vermutlich nie aufgetreten, der Code bietet jedoch die Option.&lt;br /&gt;
Die Schaltung der Heizung ist aktuell fehlerhaft. Der Aufruf muss als PWM-Signal übermittelt werden.&lt;br /&gt;
Die Zuordnung der Ventile erwies sich als fehlerhaft, sodass manche Ventile nicht oder falsch angesteuert wurden.&lt;br /&gt;
Die angepasste Ventilschaltung, insbesondere der Icon-Wechsel, bietet Potentiale zur Verbesserung und Vereinfachung. Zusätzlich müssen die geänderten Stellungsaufrufe in den Programm- und Regleraufruf eingepflegt werden.&lt;br /&gt;
&lt;br /&gt;
= Melina Scherf, 23.07.2023, Ventilschaltung automatischer Wechsel =&lt;br /&gt;
Um bei der Magnetventilschaltung zu verhindern, dass mit jedem Funktionsaufruf der Icon-Wechsel angelegt werden muss und bei zukünftigen Programmabläufen die Schaltung der Ventile auf der Oberfläche zu beobachten ist, wurde dies der Funktion zur Ventilschaltung hinzugefügt. Im manuellen Modus wird anhand der Statusflag das Bild gewechselt. Im automatischen Modus werden alle Icons der in der Übergabe enthaltenden Ventile zur geöffneten Position gewechselt, alle anderen zur geschlossenen.&lt;br /&gt;
Somit wird auch der Aufruf in den Callbacks bei Klick auf das Bild vereinfacht.&lt;br /&gt;
app.ventile_stellen(&amp;quot;&#039;Yxx&#039;&amp;quot;); &lt;br /&gt;
&lt;br /&gt;
= Melina Scherf, 14.06.2023, Ventilschaltung (Python) =&lt;br /&gt;
Der MicroPython-Code für die Ventilschaltung ab August 2023 wurde erstellt und auf der Seite zum [[Schalten Magnetventile SSR-Platine Multi-MCU]] erklärt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Melina Scherf, 07.06.2023, Ventilschaltung (MATLAB) =&lt;br /&gt;
Um die Schaltung der Aktoren übersichtlicher zu gestalten, sollen direkt in den Programmen (automatischer Modus) oder bei Wertänderung (manueller Modus) Funktionen aufgerufen werden. &lt;br /&gt;
Die Schaltung der Ventile erfolgte im Januar 2023 über die Festlegung der Sollwerte:&lt;br /&gt;
     app.ventileSollIntern=[0 1 0 1 0 0 0 0 0 0]; &lt;br /&gt;
Dieser Vektor wird anschließend im SOLL/IST-Vergleich verarbeitet.&lt;br /&gt;
Dies ist in der Handhabung sehr umständlich, da zu einem die Zuordnung der Ventile schwerfällt und zum anderen die Position der Ventile im Vektor nicht mehr zum aktuellen Stand der Maschine passt, was zukünftig verhindert werden soll. Aktuelle Schaltung: [Y01, Y03, Y04, Y05, Y13, Y06, Y07, Y08, Y09, Y00] &lt;br /&gt;
Daher wurde die neue Funktion ventile_stellen() programmiert, die in der Lage ist eine unbekannte Anzahl an Eingaben zu verarbeiten. &lt;br /&gt;
    Aufruf:  app.ventile_stellen(&amp;quot;‘Y01‘&amp;quot;, &amp;quot;‘Y13‘&amp;quot;, &amp;quot;‘Y07‘&amp;quot;);&lt;br /&gt;
Die doppelten Anführungszeichen werden benötigt, da bei der Übertragung an Python eines gelöscht wird (Indikator String).&lt;br /&gt;
Im automatischen Modus werden alle Ventile, die in dieser Funktion genannt werden, geöffnet, alle nicht genannten geschlossen. Im manuellen Modus werden die geschlossenen Ventile geöffnet und andersherum. &lt;br /&gt;
Theoretisch würde es im manuellen Modus reichen nur einen Wert zu übergeben, denn manuell ist es bisher nur möglich, ein Ventil gleichzeitig zu schalten. Um aber zukünftigen Komplikationen aus dem Weg zu gehen und für zukünftige Bearbeiter eine bessere Übersichtlichkeit und Anpassungsmöglichkeit zu garantieren, wurde sich für dafür entschieden, einen Mehrfach-Aufruf trotzdem anzulegen.&lt;br /&gt;
&lt;br /&gt;
= Madita vom Stein, 06.06.2023 =&lt;br /&gt;
&#039;&#039;&#039;Beschreibung Prozessbild manueller Modus der GUI&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:20230512 Prozessbild manueller Modus GUI.png|thumb|1000px|gerahmt|zentriert|Abbildung 1: Prozessbild manueller Modus der GUI]]&lt;br /&gt;
Auf dem Prozessbild sind die wesentlichen Zusammenhänge der im Mai 2023 aktuellen Labormaschine dargestellt. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Das Magnetventil Y01 ist das Ventil für den Festwasseranschluss. &amp;lt;br&amp;gt;&lt;br /&gt;
Es wird eine Fluid-O-tech Pumpe verwendet. Parallel gibt es einen steuerbaren Bypass, der über ein Drosselventil mit Schrittmotor hergestellt wird. &amp;lt;br&amp;gt;&lt;br /&gt;
Über das Magnetventil Y03 (Entschichtungsventil) wird der Boiler durch Umpumpen entschichtet oder durch Abpumpen entleert. Schmutzwasser kann über Y05 (Entwässerungsventil) abgeführt werden und über Y04 (Boilerbefüllung) wird der Boiler befüllt. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Kaffee- bzw. Teewasserbezug wird über Y06 (Bezugsventil) geschaltet. Es führt ein ungedrosselter Wasserstrang durch die Wasserwendel im Boiler zum Mischer. Ein weiterer Wasserstrang, der durch ein Dosierventil gedrosselt wird, führt ebenfalls zum Mischer. Der Mischer selbst ist derzeit als T-Stück realisiert. &amp;lt;br&amp;gt;&lt;br /&gt;
Das 3/2-Wegeventil Y07 (Mischventil) führt im nicht-geschalteten Zustand in die Abtropfwanne. &amp;lt;br&amp;gt;&lt;br /&gt;
Das Magnetventil Y09 (Umschaltventil) schaltet zwischen Kaffeebezug und Teewasserbezug um. Es steht im nicht-geschalteten Zustand auf Kaffeebezug. &amp;lt;br&amp;gt;&lt;br /&gt;
Vor der Brühgruppe befindet sich eine Drossel mit Schrittmotor. &amp;lt;br&amp;gt;&lt;br /&gt;
Über das Ventil Y08 (Rückspülventil) wird die halbautomatisierte Rückspülreinigung der Brühgruppe realisiert. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Dampfhahn ist als 3/2-Wege-Magnetventil Y13 ausgeführt. Im nicht-geschalteten Zustand wird das Kondenswasser zwischen Dampfhahn und -lanze in die Abtropfschale abgeleitet. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Stahlboiler der Labormaschine weist 3,6 Liter Gesamtvolumen auf und wird auf 2,4 Liter befüllt. Mit einem 1800 Watt leistungsgeregeltem Heizelement wurden 12 Minuten Aufheizzeit ermittelt. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Melina Scherf, 26.05.2023, Ventilschaltung =&lt;br /&gt;
Die Schaltung der Ventile im automatischen Modus wurde angepasst. Im Januar 2023 wurde eine Abfrage der IST- und SOLL-Stellwerte der Ventile durchgeführt und bei detektierten Abweichungen ein Vektor an die STM32 geschickt, die die Ventile entsprechend geschaltet hat. &lt;br /&gt;
Der Vergleich bleibt vorläufig bestehen, welcher bei abweichenden Werten einer neu eingeführten Statusflag ab August 2023 eine Funktion &amp;quot;Yxx__on&amp;quot; bzw. &amp;quot;Yxx_off&amp;quot; direkt aufgerufen. Die Zuordnung der Pins zu den jeweiligen Ventilen erfolgt bereits in der Initialisierungsfunktion der SSR.&lt;br /&gt;
Je nach Stellung des Ventils wird das Icon in der Oberfläche im Reiter „manueller Modus“ angepasst. Die Änderung der Icons wurde zusätzlich bei einer manuellen Schaltung der Ventile eingefügt.&lt;br /&gt;
&lt;br /&gt;
= Melina Scherf, 24.05.2023, Initialisierung BAS, SSR, MWP; Aktorenstellung: Pumpe, Heizung, Dosierventil =&lt;br /&gt;
Es erfolgte die erstmalige Zusammenführung der Elektronik mit der Software. Im Zuge dessen wurden die Initialisierungen auf den neu geschriebenen Python-Code angepasst. &lt;br /&gt;
Auf der SSR werden zusätzlich die Heizung und Ventile initialisiert. Letztere werden alle geschlossen, um einen gesicherten Zustand herzustellen.&lt;br /&gt;
Die Initialisierung der Pumpe findet auf der BAS statt.&lt;br /&gt;
Die zuvor verwendete MWP-Initialisierung der simulierten Messwerte wurde zum Import der realen Messwerterfassung geändert.&lt;br /&gt;
&lt;br /&gt;
= Melina Scherf, 22.05.2023, neue GUI =&lt;br /&gt;
Der Programmcode wurde in die von Madita vom Stein erstellte GUI importiert.&lt;br /&gt;
&lt;br /&gt;
= Melina Scherf, 20.05.2023, Verarbeitung BAS, SSR =&lt;br /&gt;
Die RPI-Platine entfällt, sodass deren Funktionen zur Schrittmotorsteuerung auf die BAS- und SSR-Platine verteilt werden.&lt;br /&gt;
In der gesendeten Antwort wird nach den Signalwörtern der Schrittmotoren („endDrossel“,  „endBypass“,  „endDosier“) gesucht, welche am Ende einer Schrittmotor-Stellung übermittelt werden. Werden diese erkannt, werden die Schrittmotoren stromlos geschaltet.&lt;br /&gt;
&lt;br /&gt;
= Melina Scherf, 18.05.2023, Messwerte anzeigen =&lt;br /&gt;
Die Messwerte werden kontinuierlich auf der Oberfläche angezeigt und etwa jede Sekunde aktualisiert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Melina Scherf, 28.04.2023 =&lt;br /&gt;
Während der Neuprogrammierung der MATLAB® GUI ist so vorzugehen, dass jeder hinzugefügte Codeabschnitt zunächst mit Versuchs-Microcontrollern getestet wird. Dazu wurden Melina Scherf 4 Versuchs-Microcontroller übergeben. &amp;lt;br&amp;gt;&lt;br /&gt;
Es wird bis zur Fertigstellung der neuen GUI durch Madita vom Stein mit einer Testumgebung gearbeitet, in der nach und nach alle für die Programmierung notwendigen Oberflächenelemente angelegt werden. Nach der Fertigstellung werden diese dann in die neue Oberfläche übertragen. &amp;lt;br&amp;gt;&lt;br /&gt;
Um die Kommunikation zwischen MATLAB® und MicroPython zu ermöglichen, müssen die MCUs initialisiert werden. Dazu wurde mit Armin Rohnen eine Workshop durchgeführt, in welchem das Vorgehen zur Initialisierung vorgestellt wurde. Anschließend wurde von Melina Scherf diese in den neuen Code eingepflegt. Die MCUs heißen im Code ssr_platine, bas_platine, mwp_platine, rpi_platine nach zuvor festgelegten Definition der Benennungen. So wird die Ansprache der alten STM32 zukünftig auf unterschiedliche MCUs aufgeteilt werden.&lt;br /&gt;
&lt;br /&gt;
= Melina Scherf, 16.04.2023 =&lt;br /&gt;
Als Vereinfachungspotential wurde zum einen die generelle Übersichtlichkeit des Codes festgestellt. Um dies zu verbessern, wird mit größeren Einzügen gearbeitet, um die übergeordneten Funktionen auf einen Blick zu erkennen. Die Reihenfolge der functions wird zudem thematisch sinnvoll gegliedert, vorläufig in:&lt;br /&gt;
* Programme&lt;br /&gt;
* Regler&lt;br /&gt;
* Kommunikation mit MCU&lt;br /&gt;
* Aktoren&lt;br /&gt;
Dazu wurde am Anfang der methods im Code ein Inhaltsverzeichnis und über den jeweiligen Abschnitten Überschriften eingefügt. &amp;lt;br&amp;gt;&lt;br /&gt;
Das Programm des Mischwasserbezugs besteht im vorhanden Code aus 8 Funktionen, diese sollen zusammengekürzt und (sofern möglich) in einer Funktion zusammengefasst werden.&lt;br /&gt;
&lt;br /&gt;
= Melina Scherf, 01.04.2023 =&lt;br /&gt;
Die Neuprogrammierung der MATLAB® GUI wird von Madita vom Stein und Melina Scherf durchgeführt. &amp;lt;br&amp;gt;&lt;br /&gt;
Dabei wird Madita vom Stein die graphische Oberfläche der App erstellen. Es soll versucht werden eine übersichtlichere und ansprechendere Ansicht insbesondere des manuellen Modus&#039; zu erarbeiten. &amp;lt;br&amp;gt;&lt;br /&gt;
Melina Scherf wird sich in den bereits bestehenden Code einarbeiten und Vereinfachungs- und Verbesserungspotentiale identifizieren. Diese sollen in die neue MATLAB® GUI einfließen.&lt;br /&gt;
&lt;br /&gt;
= Melina Scherf, 31.03.2023 =&lt;br /&gt;
Um den aktuellen Projektteilnehmern einen besseren Überblick zu gewähren, wurde beschlossen die MATLAB® GUI neu zu programmieren. Dies soll dazu beitragen die Lesbarkeit des Codes zu erhöhen.&lt;br /&gt;
&lt;br /&gt;
= Melina Scherf, 24.03.2023 =&lt;br /&gt;
Ein Einführungsworkshop wurde durch Armin Rohnen durchgeführt. Dieser diente dazu, den Projektteilnehmern einen ersten Einblick in die Programmierung von MATLAB® in Kombination mit MicroPython zu geben. &amp;lt;br&amp;gt;&lt;br /&gt;
Es wurde die generelle Funktion des MATLAB® App Designers vorgestellt und dafür eine erste Testoberfläche erstellt, welche einen Raspberry Pi initialisiert und eine Lampe per Schalter an- und ausschaltet. &amp;lt;br&amp;gt;&lt;br /&gt;
Der dabei entstandene Code wurde von Melina Scherf kommentiert, um den anderen Projektteilnehmern, die zuvor noch nicht mit (Micro)Python gearbeitet hatten, eine eigenständige Nacharbeitung zu ermöglichen&lt;br /&gt;
&lt;br /&gt;
= Armin Rohnen, 16.02.2023 =&lt;br /&gt;
Für die Inbetriebnahme der Multi-MCU-Elektronik muss der Programmcode der MATLAB®-GUI entsprechend angepasst werden. Die bisherige Datenverarbeitung der STM32-MCU wird dabei auf drei Datenverarbeitungen aufgeteilt. Die angeschlossenen MCUs müssen dabei eindeutig identifiziert werden.&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Adaption_an_Multi-MCU_-_Neuprogrammierung_MATLAB%C2%AE_GUI&amp;diff=1588</id>
		<title>Adaption an Multi-MCU - Neuprogrammierung MATLAB® GUI</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Adaption_an_Multi-MCU_-_Neuprogrammierung_MATLAB%C2%AE_GUI&amp;diff=1588"/>
		<updated>2023-07-31T09:21:45Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: /* Madita vom Stein, 06.06.2023 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Madita vom Stein, 27.07.2023 - Abschlussbemerkung MATLAB®-GUI =&lt;br /&gt;
[[Datei:Startseite der alten GUI.png|thumb|500px|rechts]]&lt;br /&gt;
[[Datei:Startseite der neuen GUI.png|thumb|500px|rechts]]&lt;br /&gt;
[[Datei:Programme der alten GUI.png|thumb|500px|rechts]]&lt;br /&gt;
[[Datei:Programme der neuen GUI.png|thumb|500px|rechts]]&lt;br /&gt;
[[Datei:Manueller Modus der alten GUI.png|thumb|500px|rechts]]&lt;br /&gt;
[[Datei:Manueller Modus der neuen GUI.png|thumb|500px|rechts]]&lt;br /&gt;
[[Datei:Reinigungsprogramm (neue GUI).png|thumb|500px|rechts]]&lt;br /&gt;
&lt;br /&gt;
Die MATLAB®-GUI ist die graphische Bedieneroberfläche der Laborsiebträgermaschine. Die in der GUI durch den Anwender eingegebenen Befehle, beispielsweise das Schalten eines Ventils, werden über den im Hintergrund laufenden MATLAB®-Programmcode an eine Schnittstelle weitergegeben. Diese Schnittstelle steuert die Multi-MCUs an, die direkt auf die Maschine zugreifen. &amp;lt;br&amp;gt;&lt;br /&gt;
Als Anwender gelten Studierende, sowie Lehrende, die im Rahmen der „Geschmackssache Kaffee“ an der Labormaschine arbeiten; also Testversuche fahren oder die Maschine weiterentwickeln. Die MATLAB®-GUI ist demnach nicht für den Endanwender der Maschine gedacht. Das verkaufsfähige Endprodukt soll, wie auf dem Markt üblich, mit Schaltern und Knöpfen ausgestattet sein. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Zeitpunkt des Projektstartes lag bereits eine MATLAB®-App inklusive GUI vor [85]. Statt einer Einarbeitung und Weiterentwicklung in den bestehenden Code, erschien eine vollständige Neuaufsetzung der MATLAB®-App und GUI sinnvoller. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Hinblick auf die oben genannten Anwender wurde bei der Zielsetzung die Erleichterung der Arbeit im Labor priorisiert. Da die studentischen Arbeitskräfte zum Großteil einer hohen Fluktuation unterliegen, wurde außerdem auf eine intuitive Bedienbarkeit und eine hohe Übersichtlichkeit geachtet. Dadurch soll das Einfinden in die MATLAB®-GUI erleichtert, und folglich die Einarbeitungszeit verkürzt werden. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sowohl die alte als auch die neue MATLAB®-GUI ist in Tabs unterteilt. Diese gliedern sich in die Startseite, einen manuellen Modus und einen automatischen Modus für Bezugsprogramme. Die neue MATLAB®-GUI beinhaltet zusätzlich einen Tab für das Reinigungsprogramm, welches im Rahmen der Projektarbeit entstanden ist. &amp;lt;br&amp;gt;&lt;br /&gt;
Die bisherige MATLAB®-GUI weist zudem Verbesserungspotenzial auf. So war der gesamte Laptop-Bildschirm durch die GUI ausgefüllt. In der neuen GUI wurde bewusst ein Format von 1720 x 880 Pixeln gewählt, sodass wahlweise am oberen oder unteren Rand der GUI ein im Hintergrund liegendes Programm sichtbar ist. Im Falle der Weiterentwicklung der Systemsoftware könnte dies das Command Window von MATLAB® sein, sodass Fehlermeldungen sofort zur Kenntnis genommen werden. &amp;lt;br&amp;gt;&lt;br /&gt;
Ebenfalls neu ist, dass die Tabs nicht die gesamte Oberfläche der GUI einnehmen, sondern es einen immer sichtbaren Bereich gibt. Dieser bringt vier Vorteile mit sich. Erstens wird nicht für jeden Tab ein eigener Button für das Speichern des Messwertepuffers benötigt. Stattdessen gibt es diesen Button ein einziges Mal, aber in dem Bereich, auf den ein Zugriff jederzeit möglich ist. Ein zweiter Vorteil ist, dass die für das Geschmackserlebnis besonders relevanten Messwerte Leitungsdruck [mbar] und Durchflussrate [ml / s] ständig sichtbar sind. Auch der Error-Button, sowie der zugehörige Reset-Error-Button, ist in allen Tabs relevant. Die Verschiebung in den immer sichtbaren Bereich brachte auch hier eine erhöhte Reaktionsgeschwindigkeit auf Probleme mit sich, worin der dritte Vorteil liegt. Bei der Reaktion auf Probleme ist auch der Notaus-Button von Bedeutung. Hier können durch schnelles Handeln Schäden an Menschen und Maschine vermieden werden. Ebenfalls in dem immer sichtbaren Bereich ist der jeweilige&lt;br /&gt;
Programmstatus der einzelnen Platinen. Das hat den Vorteil, dass immer erkennbar ist, ob diese verbunden sind; nicht nur auf der Startseite. &amp;lt;br&amp;gt;&lt;br /&gt;
An der Startseite selbst hat sich kaum etwas verändert. Es gibt hier nach wie vor die Buttons „manueller Modus“, „Verbinden“, sowie „Debug“. Weiterhin gibt es Eingabefelder für Daten wie beispielsweise das Datum, die Kaffeesorte oder den Mahlgrad, die den Messwerten zugeordnet werden. Es ist außerdem einstellbar, wie oft die Daten gesichert werden sollen. &amp;lt;br&amp;gt;&lt;br /&gt;
Während der Tab „Programme“ in der alten MATLAB®-GUI neben drei Schalter für Kaffeebezug, Teewasserbezug und Dampfbezug auch noch sehr viele andere Inhalte, die nicht direkt den Programmen zuordbar sind, wie beispielsweise die k-Faktoren der Regler, beinhaltet, ist dieser Tab in der neuen GUI minimalistischer gehalten. Da die Programme bisher gar nicht existieren,&lt;br /&gt;
gibt es hier lediglich vier Buttons als Platzhalter. Ein Programm wird über diese gestartet und gestoppt. Der aktuelle Programmstatus ist an dem jeweils nebenstehenden Lämpchen erkennbar, wobei „rot“ bedeutet, dass das Programm in dem Moment aktiv ist. Während ein Programm durchläuft, sind Ventilschaltungen und Zustandsparameter in dem manuellen Modus nachverfolgbar. &amp;lt;br&amp;gt;&lt;br /&gt;
Ansonsten ist der manuelle Modus primär dazu gedacht, dass Ventile einzeln geschaltet, Parameter einzeln geändert, und dadurch Programme entwickelt und getestet werden können. Das Prozessbild der alten GUI ist sehr detailliert und informativ, dadurch aber leider auch sehr unübersichtlich. Es sind auch die Wege des Brauchwassers hin zur Abtropfschale dargestellt. Dies ist bei Hydraulikplänen unüblich und verbraucht zusätzlichen Platz. Durch die vielen Farben und&lt;br /&gt;
Formen wird die Aufmerksamkeit des Benutzers immer wieder hin zu anderen Stellen gelenkt. Dadurch, dass die Messwerte recht klein und an wenig intuitiven Stellen dargestellt sind, sind diese schwierig zu finden. Die Schalter für die Grundeinstellungen stehen nicht gesammelt und in keiner sinnvollen Reihenfolge. &amp;lt;br&amp;gt;&lt;br /&gt;
In der neuen GUI dagegen sind diese Schalter in schlüssiger Reihenfolge, gesammelt oben links abgebildet. Die Bezeichnungen der Messwerte sind größer und fett gedruckt geschrieben. Die Messwerte selbst sind grau hinterlegt. Die Positionierung der Werte ist im Vergleich zu vorher logisch. Die Mischtemperatur befindet sich zum Beispiel an der Stelle, wo gedrosseltes Kalt- und in der Heizwendel erhitztes Warmwasser zusammentreffen. Die Brühgruppenwerte sind direkt in der angedeuteten Brühgruppe zu finden. Insgesamt ist das neue Prozessbild deutlich ruhiger. Es sind nur die wichtigsten Stränge dargestellt. Die Brauchwasserleitungen sind angedeutet. &amp;lt;br&amp;gt;&lt;br /&gt;
Ein Hauptunterschied der neuen zur alten GUI liegt in der Ventildarstellung. Während zuvor durch Lämpchen in den Ventilen signalisiert wurde, ob, beziehungsweise wie, ein Ventil geschaltet ist, wird dies in der neuen GUI durch einen Bildwechsel deutlich. Klickt der Benutzer auf das Ventil im Prozessbild, ändert sich das im MATLAB®-Code hinterlegte Ventilbild und das Ventil wird geschaltet. &amp;lt;br&amp;gt;&lt;br /&gt;
Da vor Beginn des Projektstartes noch kein Reinigungsprogramm existierte, gibt es den betreffenden Tab lediglich in der neuen GUI. Hier gibt es einen Button zum Start des Programmes, sowie eine Anzeige zum aktuellen Status. Es ist außerdem eine Beschreibung des Ablaufs und Hinweise dazu eingefügt. &amp;lt;br&amp;gt;&lt;br /&gt;
Durch die zuvor angesprochenen Maßnahmen ist die neue MATLAB®-GUI übersichtlicher und intuitiver zu bedienen als die alte GUI. Sie ist außerdem auf dem neusten Stand des Hydraulikplans und bildet somit die Labormaschine treffend ab. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
= Melina Scherf, 25.07.2023, offene Themen =&lt;br /&gt;
Von zukünftige Bearbeitende sind noch Verbesserungen vorzunehmen.&lt;br /&gt;
Eine Statusmeldung am Ende der Initialisierung, dass diese beendet wurde, ist nicht der letzte Eintrag in der Statusleiste. Hier muss eine künstliche Verlangsamung vorgenommen werden.&lt;br /&gt;
Die Initialisierungsfunktion wird häufiger als 4x aufgerufen. Dies liegt daran, dass durch den Import des ident-Programmes, vor Aufruf der ident()-Funktion, bereits ein Terminator gesendet wird.&lt;br /&gt;
Die im Reiter „manueller Modus“ angelegten Schalter sind noch nicht auf Funktionalität überprüft worden. &lt;br /&gt;
Die Messwerte starten beim letzten Testdurchlauf des Programms automatisch mit der Initialisierung der MWP. Dieses sollte erst durch Betätigung eines Schalters geschehen. Zudem war das Signalwort der einkommenden Messwerte nicht gleichermaßen definiert (M und B!).&lt;br /&gt;
Die Abspeicherung der Messwerte in den Messwertpuffer erfolgt nach einer nicht mehr passenden Logik. Da dies Auswirkungen auf die Regler hat und diese thematisch nicht Teil der Projektgruppe SoSe2023 waren, wurde dies nicht angepasst.&lt;br /&gt;
Die Anzeige der Messwerte ist, wie unten beschrieben, noch fehlerhaft oder kein entsprechendes Anzeigelabel mehr in der Oberfläche vorhanden (Messwert 11-15). Hier sollte die Sinnhaftigkeit dieser Messwerte überprüft werden.&lt;br /&gt;
Es sollte überprüft werden, ob es während einer Verarbeitungsroutine der Messwerte durch eine neu eingelesene Antwort zu Fehlern kommt. In der Praxis ist dies vermutlich nie aufgetreten, der Code bietet jedoch die Option.&lt;br /&gt;
Die Schaltung der Heizung ist aktuell fehlerhaft. Der Aufruf muss als PWM-Signal übermittelt werden.&lt;br /&gt;
Die Zuordnung der Ventile erwies sich als fehlerhaft, sodass manche Ventile nicht oder falsch angesteuert wurden.&lt;br /&gt;
Die angepasste Ventilschaltung, insbesondere der Icon-Wechsel, bietet Potentiale zur Verbesserung und Vereinfachung. Zusätzlich müssen die geänderten Stellungsaufrufe in den Programm- und Regleraufruf eingepflegt werden.&lt;br /&gt;
&lt;br /&gt;
= Melina Scherf, 23.07.2023, Ventilschaltung automatischer Wechsel =&lt;br /&gt;
Um bei der Magnetventilschaltung zu verhindern, dass mit jedem Funktionsaufruf der Icon-Wechsel angelegt werden muss und bei zukünftigen Programmabläufen die Schaltung der Ventile auf der Oberfläche zu beobachten ist, wurde dies der Funktion zur Ventilschaltung hinzugefügt. Im manuellen Modus wird anhand der Statusflag das Bild gewechselt. Im automatischen Modus werden alle Icons der in der Übergabe enthaltenden Ventile zur geöffneten Position gewechselt, alle anderen zur geschlossenen.&lt;br /&gt;
Somit wird auch der Aufruf in den Callbacks bei Klick auf das Bild vereinfacht.&lt;br /&gt;
app.ventile_stellen(&amp;quot;&#039;Yxx&#039;&amp;quot;); &lt;br /&gt;
&lt;br /&gt;
= Melina Scherf, 14.06.2023, Ventilschaltung (Python) =&lt;br /&gt;
Der MicroPython-Code für die Ventilschaltung ab August 2023 wurde erstellt und auf der Seite zum [[Schalten Magnetventile SSR-Platine Multi-MCU]] erklärt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Melina Scherf, 07.06.2023, Ventilschaltung (MATLAB) =&lt;br /&gt;
Um die Schaltung der Aktoren übersichtlicher zu gestalten, sollen direkt in den Programmen (automatischer Modus) oder bei Wertänderung (manueller Modus) Funktionen aufgerufen werden. &lt;br /&gt;
Die Schaltung der Ventile erfolgte im Januar 2023 über die Festlegung der Sollwerte:&lt;br /&gt;
     app.ventileSollIntern=[0 1 0 1 0 0 0 0 0 0]; &lt;br /&gt;
Dieser Vektor wird anschließend im SOLL/IST-Vergleich verarbeitet.&lt;br /&gt;
Dies ist in der Handhabung sehr umständlich, da zu einem die Zuordnung der Ventile schwerfällt und zum anderen die Position der Ventile im Vektor nicht mehr zum aktuellen Stand der Maschine passt, was zukünftig verhindert werden soll. Aktuelle Schaltung: [Y01, Y03, Y04, Y05, Y13, Y06, Y07, Y08, Y09, Y00] &lt;br /&gt;
Daher wurde die neue Funktion ventile_stellen() programmiert, die in der Lage ist eine unbekannte Anzahl an Eingaben zu verarbeiten. &lt;br /&gt;
    Aufruf:  app.ventile_stellen(&amp;quot;‘Y01‘&amp;quot;, &amp;quot;‘Y13‘&amp;quot;, &amp;quot;‘Y07‘&amp;quot;);&lt;br /&gt;
Die doppelten Anführungszeichen werden benötigt, da bei der Übertragung an Python eines gelöscht wird (Indikator String).&lt;br /&gt;
Im automatischen Modus werden alle Ventile, die in dieser Funktion genannt werden, geöffnet, alle nicht genannten geschlossen. Im manuellen Modus werden die geschlossenen Ventile geöffnet und andersherum. &lt;br /&gt;
Theoretisch würde es im manuellen Modus reichen nur einen Wert zu übergeben, denn manuell ist es bisher nur möglich, ein Ventil gleichzeitig zu schalten. Um aber zukünftigen Komplikationen aus dem Weg zu gehen und für zukünftige Bearbeiter eine bessere Übersichtlichkeit und Anpassungsmöglichkeit zu garantieren, wurde sich für dafür entschieden, einen Mehrfach-Aufruf trotzdem anzulegen.&lt;br /&gt;
&lt;br /&gt;
= Madita vom Stein, 06.06.2023 =&lt;br /&gt;
&#039;&#039;&#039;Beschreibung Prozessbild manueller Modus der GUI&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:20230512 Prozessbild manueller Modus GUI.png|thumb|1000px|gerahmt|zentriert|Abbildung 1: Prozessbild manueller Modus der GUI]]&lt;br /&gt;
Auf dem Prozessbild sind die wesentlichen Zusammenhänge der im Mai 2023 aktuellen Labormaschine dargestellt. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Das Magnetventil Y01 ist das Ventil für den Festwasseranschluss. &amp;lt;br&amp;gt;&lt;br /&gt;
Es wird eine Fluid-O-tech Pumpe verwendet. Parallel gibt es einen steuerbaren Bypass, der über ein Drosselventil mit Schrittmotor hergestellt wird. &amp;lt;br&amp;gt;&lt;br /&gt;
Über das Magnetventil Y03 (Entschichtungsventil) wird der Boiler durch Umpumpen entschichtet oder durch Abpumpen entleert. Schmutzwasser kann über Y05 (Entwässerungsventil) abgeführt werden und über Y04 (Boilerbefüllung) wird der Boiler befüllt. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Kaffee- bzw. Teewasserbezug wird über Y06 (Bezugsventil) geschaltet. Es führt ein ungedrosselter Wasserstrang durch die Wasserwendel im Boiler zum Mischer. Ein weiterer Wasserstrang, der durch ein Dosierventil gedrosselt wird, führt ebenfalls zum Mischer. Der Mischer selbst ist derzeit als T-Stück realisiert. &amp;lt;br&amp;gt;&lt;br /&gt;
Das 3/2-Wegeventil Y07 (Mischventil) führt im nicht-geschalteten Zustand in die Abtropfwanne. &amp;lt;br&amp;gt;&lt;br /&gt;
Das Magnetventil Y09 (Umschaltventil) schaltet zwischen Kaffeebezug und Teewasserbezug um. Es steht im nicht-geschalteten Zustand auf Kaffeebezug. &amp;lt;br&amp;gt;&lt;br /&gt;
Vor der Brühgruppe befindet sich eine Drossel mit Schrittmotor. &amp;lt;br&amp;gt;&lt;br /&gt;
Über das Ventil Y08 (Rückspülventil) wird die halbautomatisierte Rückspülreinigung der Brühgruppe realisiert. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Dampfhahn ist als 3/2-Wege-Magnetventil Y13 ausgeführt. Im nicht-geschalteten Zustand wird das Kondenswasser zwischen Dampfhahn und -lanze in die Abtropfschale abgeleitet. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Stahlboiler der Labormaschine weist 3,6 Liter Gesamtvolumen auf und wird auf 2,4 Liter befüllt. Mit einem 1800 Watt leistungsgeregeltem Heizelement wurden 12 Minuten Aufheizzeit ermittelt. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Melina Scherf, 26.05.2023, Ventilschaltung =&lt;br /&gt;
Die Schaltung der Ventile im automatischen Modus wurde angepasst. Im Januar 2023 wurde eine Abfrage der IST- und SOLL-Stellwerte der Ventile durchgeführt und bei detektierten Abweichungen ein Vektor an die STM32 geschickt, die die Ventile entsprechend geschaltet hat. &lt;br /&gt;
Der Vergleich bleibt vorläufig bestehen, welcher bei abweichenden Werten einer neu eingeführten Statusflag ab August 2023 eine Funktion &amp;quot;Yxx__on&amp;quot; bzw. &amp;quot;Yxx_off&amp;quot; direkt aufgerufen. Die Zuordnung der Pins zu den jeweiligen Ventilen erfolgt bereits in der Initialisierungsfunktion der SSR.&lt;br /&gt;
Je nach Stellung des Ventils wird das Icon in der Oberfläche im Reiter „manueller Modus“ angepasst. Die Änderung der Icons wurde zusätzlich bei einer manuellen Schaltung der Ventile eingefügt.&lt;br /&gt;
&lt;br /&gt;
= Melina Scherf, 24.05.2023, Initialisierung BAS, SSR, MWP; Aktorenstellung: Pumpe, Heizung, Dosierventil =&lt;br /&gt;
Es erfolgte die erstmalige Zusammenführung der Elektronik mit der Software. Im Zuge dessen wurden die Initialisierungen auf den neu geschriebenen Python-Code angepasst. &lt;br /&gt;
Auf der SSR werden zusätzlich die Heizung und Ventile initialisiert. Letztere werden alle geschlossen, um einen gesicherten Zustand herzustellen.&lt;br /&gt;
Die Initialisierung der Pumpe findet auf der BAS statt.&lt;br /&gt;
Die zuvor verwendete MWP-Initialisierung der simulierten Messwerte wurde zum Import der realen Messwerterfassung geändert.&lt;br /&gt;
&lt;br /&gt;
= Melina Scherf, 22.05.2023, neue GUI =&lt;br /&gt;
Der Programmcode wurde in die von Madita vom Stein erstellte GUI importiert.&lt;br /&gt;
&lt;br /&gt;
= Melina Scherf, 20.05.2023, Verarbeitung BAS, SSR =&lt;br /&gt;
Die RPI-Platine entfällt, sodass deren Funktionen zur Schrittmotorsteuerung auf die BAS- und SSR-Platine verteilt werden.&lt;br /&gt;
In der gesendeten Antwort wird nach den Signalwörtern der Schrittmotoren („endDrossel“,  „endBypass“,  „endDosier“) gesucht, welche am Ende einer Schrittmotor-Stellung übermittelt werden. Werden diese erkannt, werden die Schrittmotoren stromlos geschaltet.&lt;br /&gt;
&lt;br /&gt;
= Melina Scherf, 18.05.2023, Messwerte anzeigen =&lt;br /&gt;
Die Messwerte werden kontinuierlich auf der Oberfläche angezeigt und etwa jede Sekunde aktualisiert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Melina Scherf, 28.04.2023 =&lt;br /&gt;
Während der Neuprogrammierung der MATLAB® GUI ist so vorzugehen, dass jeder hinzugefügte Codeabschnitt zunächst mit Versuchs-Microcontrollern getestet wird. Dazu wurden Melina Scherf 4 Versuchs-Microcontroller übergeben. &amp;lt;br&amp;gt;&lt;br /&gt;
Es wird bis zur Fertigstellung der neuen GUI durch Madita vom Stein mit einer Testumgebung gearbeitet, in der nach und nach alle für die Programmierung notwendigen Oberflächenelemente angelegt werden. Nach der Fertigstellung werden diese dann in die neue Oberfläche übertragen. &amp;lt;br&amp;gt;&lt;br /&gt;
Um die Kommunikation zwischen MATLAB® und MicroPython zu ermöglichen, müssen die MCUs initialisiert werden. Dazu wurde mit Armin Rohnen eine Workshop durchgeführt, in welchem das Vorgehen zur Initialisierung vorgestellt wurde. Anschließend wurde von Melina Scherf diese in den neuen Code eingepflegt. Die MCUs heißen im Code ssr_platine, bas_platine, mwp_platine, rpi_platine nach zuvor festgelegten Definition der Benennungen. So wird die Ansprache der alten STM32 zukünftig auf unterschiedliche MCUs aufgeteilt werden.&lt;br /&gt;
&lt;br /&gt;
= Melina Scherf, 16.04.2023 =&lt;br /&gt;
Als Vereinfachungspotential wurde zum einen die generelle Übersichtlichkeit des Codes festgestellt. Um dies zu verbessern, wird mit größeren Einzügen gearbeitet, um die übergeordneten Funktionen auf einen Blick zu erkennen. Die Reihenfolge der functions wird zudem thematisch sinnvoll gegliedert, vorläufig in:&lt;br /&gt;
* Programme&lt;br /&gt;
* Regler&lt;br /&gt;
* Kommunikation mit MCU&lt;br /&gt;
* Aktoren&lt;br /&gt;
Dazu wurde am Anfang der methods im Code ein Inhaltsverzeichnis und über den jeweiligen Abschnitten Überschriften eingefügt. &amp;lt;br&amp;gt;&lt;br /&gt;
Das Programm des Mischwasserbezugs besteht im vorhanden Code aus 8 Funktionen, diese sollen zusammengekürzt und (sofern möglich) in einer Funktion zusammengefasst werden.&lt;br /&gt;
&lt;br /&gt;
= Melina Scherf, 01.04.2023 =&lt;br /&gt;
Die Neuprogrammierung der MATLAB® GUI wird von Madita vom Stein und Melina Scherf durchgeführt. &amp;lt;br&amp;gt;&lt;br /&gt;
Dabei wird Madita vom Stein die graphische Oberfläche der App erstellen. Es soll versucht werden eine übersichtlichere und ansprechendere Ansicht insbesondere des manuellen Modus&#039; zu erarbeiten. &amp;lt;br&amp;gt;&lt;br /&gt;
Melina Scherf wird sich in den bereits bestehenden Code einarbeiten und Vereinfachungs- und Verbesserungspotentiale identifizieren. Diese sollen in die neue MATLAB® GUI einfließen.&lt;br /&gt;
&lt;br /&gt;
= Melina Scherf, 31.03.2023 =&lt;br /&gt;
Um den aktuellen Projektteilnehmern einen besseren Überblick zu gewähren, wurde beschlossen die MATLAB® GUI neu zu programmieren. Dies soll dazu beitragen die Lesbarkeit des Codes zu erhöhen.&lt;br /&gt;
&lt;br /&gt;
= Melina Scherf, 24.03.2023 =&lt;br /&gt;
Ein Einführungsworkshop wurde durch Armin Rohnen durchgeführt. Dieser diente dazu, den Projektteilnehmern einen ersten Einblick in die Programmierung von MATLAB® in Kombination mit MicroPython zu geben. &amp;lt;br&amp;gt;&lt;br /&gt;
Es wurde die generelle Funktion des MATLAB® App Designers vorgestellt und dafür eine erste Testoberfläche erstellt, welche einen Raspberry Pi initialisiert und eine Lampe per Schalter an- und ausschaltet. &amp;lt;br&amp;gt;&lt;br /&gt;
Der dabei entstandene Code wurde von Melina Scherf kommentiert, um den anderen Projektteilnehmern, die zuvor noch nicht mit (Micro)Python gearbeitet hatten, eine eigenständige Nacharbeitung zu ermöglichen&lt;br /&gt;
&lt;br /&gt;
= Armin Rohnen, 16.02.2023 =&lt;br /&gt;
Für die Inbetriebnahme der Multi-MCU-Elektronik muss der Programmcode der MATLAB®-GUI entsprechend angepasst werden. Die bisherige Datenverarbeitung der STM32-MCU wird dabei auf drei Datenverarbeitungen aufgeteilt. Die angeschlossenen MCUs müssen dabei eindeutig identifiziert werden.&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Sp%C3%BClvorg%C3%A4nge_(Labor)&amp;diff=1587</id>
		<title>Spülvorgänge (Labor)</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Sp%C3%BClvorg%C3%A4nge_(Labor)&amp;diff=1587"/>
		<updated>2023-07-31T09:17:45Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: /* Hendrik Wegjan, 23.05.23 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Hendrik Wegjan, 23.05.23 - Abschlussbemerkung =&lt;br /&gt;
&lt;br /&gt;
Der Programmcode für die Spülvorgänge wurde erprobt und funktioniert.&lt;br /&gt;
Die Schrittmotorproblematik (s. 09.05.2023) konnte gelöst werden.&lt;br /&gt;
Bei der Pumpenansteuerung musste im Python-Code auf der STM32-Elektronik (main-Programm) ein Sicherheitsmechanismus umgangen werden, damit die Pumpe auch bei einem durchschnittlichen Druck &amp;gt; 12 bar eingeschaltet werden kann. Dies ist für die Rückspülreinigung notwendig.&lt;br /&gt;
Langfristig muss ein neues Konzept erarbeitet werden, wie der Sicherheitsmechanismus zu gestalten ist, damit sowohl die Sicherheits-, als auch die Reinigungsfunktion gegeben ist. Denkbar wäre z.B. das Übernehmen des Sicherheitsmechanismus in den GUI-Code, um ihn dort mittels einer Flag temporär auszuschalten, sollte eine Reinigung gestartet werden.&lt;br /&gt;
&lt;br /&gt;
Es wurde eine weitere Property (Check_Reinigung) eingefügt, die den gesicherten Durchlauf eines Reinigungsprogramms (Flush/Rückspülung) garantiert.&lt;br /&gt;
&lt;br /&gt;
Die Rückspülung wurde angepasst, es wird nun nur noch das Ventil Y07 verschlossen, Y01 und Y06 verbleiben geöffnet.&lt;br /&gt;
Im Vergleich zum Eintrag vom 09.05.2023 hat sich zudem die „Durchspülzeit“ auf 15 Sekunden verringert.&lt;br /&gt;
&lt;br /&gt;
Der Flush wurde angepasst, es findet nun kein Öffnen des Y08 am Ende des Vorgangs statt, da sich über Versuche gezeigt hat, dass kein Restdruck im Siebträger entsteht.&lt;br /&gt;
&lt;br /&gt;
Die Parameter bei der Rückspülreinigung sind noch nicht auf ihre Wirksamkeit erprobt und müssen sehr wahrscheinlich noch angepasst werden.&lt;br /&gt;
Diese Versuchsreihe wird, wenn möglich, zu Projektende noch gefahren. Ansonsten ist dies die Aufgabe der kommenden Versuchsgruppe.&lt;br /&gt;
&lt;br /&gt;
=Simon Thrainer, 09.05.23=&lt;br /&gt;
&lt;br /&gt;
Der vorhandene Programmcode wurde getestet und weiterentwickelt, sodass die durch die Fallunterscheidung erkannten Fälle „Flush“ und Fehlerfall wie geplant ablaufen: &amp;lt;br&amp;gt;&lt;br /&gt;
Der Ablauf ist zum Softwarestand 09.05.23 bei beiden Fällen beiden Fällen gleich: nach der Fallunterscheidung wird als einziges Ventil das Rückspülventil Y08 geöffnet, um einen eventuell vorhandenen Druck aus der Brühgruppe abzulassen. &amp;lt;br&amp;gt;&lt;br /&gt;
Da der Flush aber eigentlich ohne Siebträger stattfinden soll, wird dieser Fall zukünftig sofort nach der Fallerkennung durch Schließen aller Ventile und Abschaltung der Pumpe beendet. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Für die Rückspülung wurde ein Test-Ablauf geschrieben, bei dem nach Erkennung des Falls 3x 10 s gewartet und dazwischen je 2 s Wasser nachgefördert werden soll. Anschließend soll die Brühgruppe 20 s durchgespült werden. Die Schaltung der Ventile funktioniert dabei zuverlässig, die Pumpe wird aber beim Nachfördern teilweise nicht eingeschaltet.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Die Ansteuerung der Schrittmotoren im Reinigungsprogramm zur Einstellung der Bypass- und Dosierventilstellung funktioniert noch nicht und muss, bei Bedarf mit Unterstützung von Armin Rohnen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Simon Thrainer, 08.05.23=&lt;br /&gt;
&lt;br /&gt;
==Bisheriger Stand==&lt;br /&gt;
Ausgehend von den vorherigen Untersuchungsergebnissen wurde der Grundaufbau des Programmcodes für die Spülvorgänge geschrieben. Zunächst wurde nur mit Statusausgaben geprüft, ob der Ablauf und die Erkennung des Fehlerfalls funktionieren.&amp;lt;br&amp;gt;&lt;br /&gt;
Durch Nachfrage bei der Kaffeewerkstatt München ist nun bekannt, dass für das verwendete Reinigungsmittel eine Reinigungstemperatur von ca. 90…95 °C optimal ist.&lt;br /&gt;
==Aktueller Stand==&lt;br /&gt;
Es wurden die Ansteuerung der Ventile, Pumpenleistung und Drosselventile in den Programmcode aufgenommen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit Softwarestand 08.05.23 funktioniert die Fallunterscheidung von &amp;quot;Flush&amp;quot;, Rückspülung und Fehlerfall über die bereits beschriebene Doppelabfrage von Durchfluss und Brühgruppendruck in einer if-elseif-else-Bedingung. Alternativ könnte dies mithilfe von switch-case-Bedingungen umgesetzt werden, was evtl. zu besserer Übersichtlichkeit führen könnte, aber nicht unbedingt zweckdienlicher sein muss.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Reinigungs-Button im GUI wird bei Betätigung inaktiviert und nach Abschluss eines der Programme wieder aktiviert.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Zum Programmstart werden zuerst die Ventile Y01, Y06, Y07 geöffnet, der Pumpenbypass auf 0 geschlossen und die Pumpenleistung auf 2000 mV eingestellt, sodass Mischwasser in die Brühgruppe gefördert wird. Da die vorgeschlagene Reinigungstemperatur von 90…95 °C zum letzten Labortag noch nicht bekannt war muss die Einstellung des Dosierventils neu erprobt werden.&amp;lt;br&amp;gt; &lt;br /&gt;
Nach 15 s (, die sich als nötig bzw. ausreichend herausgestellt haben, um die Fälle unterscheiden zu können) wird die im Wiki-Eintrag vom 21.04.23 bereits beschriebene Doppelabfrage von Durchflussrate und Brühgruppendruck durchgeführt. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Bei Erkennung des &amp;quot;Flush&amp;quot; bei einer Durchflussrate &amp;gt; 3 cm3/s und Druck &amp;lt; 1bar werden die Pumpenleistung auf 0 mV und alle Ventile bis auf das Rückspülventil Y08 geschlossen, ü&amp;lt;br&amp;gt;ber das der Druck aus der Brühgruppe für eine Sekunde abgelassen wird. Am Ende sind alle Ventile geschlossen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Bei Erkennung der Rückspülung werden aktuell alle Ventile geschlossen, 100 s gewartet, damit sich das Reinigungsmittel auflöst und in der Brühgruppe einwirken kann. Anschließend wird ca. 20 s lang bei Öffnung von Y01, Y06, Y07, Y08 durch die Rückspülleitung durchgespült, die Pumpenleistung abgeschaltet und alle Ventile geschlossen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Im Fehlerfall, d.h. wenn keiner der anderen beiden Fälle zutrifft, wird wie beim &amp;quot;Flush&amp;quot; zuerst die Pumpe abgeschaltet, über das Rückspülventil Y08 Druck abgelassen und dann alle Ventile geschlossen. &amp;lt;br&amp;gt;&lt;br /&gt;
==Zukünftige Aufgaben==&lt;br /&gt;
Das gesamte Reinigungsprogramm muss noch ausgiebig getestet werden. Außerdem gibt es noch keine Erkenntnisse, ob die bisher angenommen Reinigungsabläufe, besonders die Rückspülung, zur Reinigung ausreichen.&amp;lt;br&amp;gt;&lt;br /&gt;
Nach einer Demonstration des Rückspülvorgangs an einer normalen Siebträgermaschine durch Armin Rohnen könnte es nötig sein, mehrmals Druck aufzubauen bzw. Wasser nachzufördern, damit sich das Reinigungsmittel vollständig auflöst. &amp;lt;br&amp;gt;&lt;br /&gt;
Das Maß für eine ausreichende Rückspülung ist, dass sich das Reinigungspulver vollständig aufgelöst hat und restlos aus der Maschine gespült wurde. &amp;lt;br&amp;gt;&lt;br /&gt;
Eine Möglichkeit, die sich durch die Rückspülleitung ergibt, ist, bei geöffnetem Rückspülventil einen geringen Durchfluss in der Brühgruppe zu erzeugen, wodurch sich das Reinigungsmittel schneller lösen könnte. &amp;lt;br&amp;gt;&lt;br /&gt;
Eine Optimierung der Reinigungsabläufe wäre als ToDo für eine zukünftige Versuchsgruppe denkbar.&lt;br /&gt;
&lt;br /&gt;
= Madita vom Stein, 21.04.2023 =&lt;br /&gt;
[[Datei:20230417 Abbildung 4.png|thumb|500px|rechts|gerahmt|]]&lt;br /&gt;
Für die Einführung eines Reinigungsprogrammes wurden am 17.04.2023 weitere Versuche durchgeführt. &amp;lt;br&amp;gt;&lt;br /&gt;
Durch die Versuche sollte die Unterscheidbarkeit von Fehlerfällen zu den beiden Reinigungsoptionen (Flush oder Rückspülung) anhand des Brühgruppendruckes, sowie des Durchflusses quantifiziert werden. Die einzelnen Fälle sind im Eintrag vom 04.04.2023 näher erläutert. &amp;lt;br&amp;gt;&lt;br /&gt;
In den Versuchen wurde der Fehlerfall, also der Start des Reinigungsprogrammes bei eingespanntem Siebträger mit Kaffee, mit variierenden Parametern simuliert. Im Reinigungsprogramm wird voraussichtlich eine Wassertemperatur an der Brühgruppe um die 70 °C angestrebt, wobei der genaue Temperaturwert bei der Kaffeewerkstatt München erfragt wird. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Versuch mit den Parametern 2000 mV Pumpenleistung, Durchflussventil 80 % geschlossen, Pumpenbypass 0 % offen, Mahlgrad 4 hat ergeben, dass der in diesem Fall auftretende Maximaldruck in der Brühgruppe von 10,5 bar nach 20 Sekunden auftritt.&lt;br /&gt;
Dadurch, und durch die vorangegangenen Versuche mit Blindsieb und ohne Gegendruck, ist die Fallunterscheidung nach 15-20 Sekunden mit folgenden Werten für das Reinigungsprogramm denkbar. Vorausgesetzt ist aktuell ein Reinigungsprogramm, das mit 2000 mV Pumpenleistung, 80% geschlossenem Dosierventil und geschlossenem Pumpenbypass fährt [Diagramm 1]. &amp;lt;br&amp;gt;&lt;br /&gt;
Sind 15-20 Sekunden nach Start des Reinigungsprogrammes gleichzeitig der Durchfluss höher als 3 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s und der Boilerdruck kleiner als drei bar, so wird der Fall 1) Flush erkannt. Dieses Reinigungsprogramm wurde also korrekt durchlaufen und stoppt nun regulär. &amp;lt;br&amp;gt;&lt;br /&gt;
Werden nach Ablauf von 15-20 Sekunden nach Start der Reinigung hingegen ein Durchfluss von kleiner 1 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s, sowie ein Boilerdruck von über 12 bar gemessen, wird der Fall 2) Rückspülung erkannt. Aufgrund des Blindsiebs liegt ein hoher Druck vor, der wiederum das Abschalten der Pumpe herbeiführt und den Durchfluss stoppt. Es wird eine noch näher zu spezifizierende Zeit lang abgewartet, damit das Reinigungsmittel in das Blindsieb und in die Brühgruppe einwirken kann. Ob zusätzlich ein mehrmaliger Druckaufbau zur Reinigung notwendig ist, wird noch festgestellt. Anschließend wird die Pumpenleistung wieder auf 2000 mV gesetzt, um zu spülen. Hierfür wird das Rückspülventil (Y08) geöffnet. Hiernach stoppt der Durchfluss erneut, damit das Reinigungsmittel auch in den Schläuchen der Rückspülung einwirken kann. Zum Abschluss des Programmes wird die Pumpe noch einmal aktiviert und so die Maschine gespült. &amp;lt;br&amp;gt;&lt;br /&gt;
Liegt keiner der beiden beschriebenen Parameterkombinationen vor, liegt ein Fehlerfall vor. Sollte ein Siebträger mit Kaffee eingespannt sein und versehentlich die Reinigung gestartet werden, liegt ein Brühgruppendruck von ungefähr 10,5 bar vor und es gibt je nach Mahlgrad wenig bis keinen Durchfluss. Es wird eine Fehlermeldung ausgegeben. &amp;lt;br&amp;gt;&lt;br /&gt;
Mit den genannten drei Parameterkombinationen sind die beiden Reinigungsoptionen, sowie der vorstellbare Fehlerfall abgedeckt. Um auch auf weitere, nicht absehbare Fehler durch fehlerhafte Betätigung des Reinigungsprogrammes korrekt reagieren zu können, soll der Fehlerfall im Programmcode nicht als weitere If-Abfrage mit Parametern erkannt werden, sondern automatisch durch eine „else“-Anweisung eingeleitet werden, sollte keiner der beiden Reinigungszustände durch die Doppelwertprüfung erkannt werden. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Übersicht über die Versuchsdaten ==&lt;br /&gt;
* Pumpenleistung 2000 mV&lt;br /&gt;
* Dosierventilstellung 80&lt;br /&gt;
* Bypass 0, Mahlgrad 4&lt;br /&gt;
* Reinigungstemperatur (ca. 70 °C)&lt;br /&gt;
-&amp;gt; ca. 10,5 bar max. Brühgruppendruck nach ca. 20 sek.&lt;br /&gt;
&lt;br /&gt;
= Hendrik Wegjan, 04.04.2023 =&lt;br /&gt;
[[Datei:20230413 Reinigungsprogramm Blindsieb 2000mV BP0 DV30.png|500px|thumb|rechts|Abbildung 3: Erreichen des Maximaldrucks mit Blindsieb (Fall 2)]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:20230417 Reinigungsprogramm Kaffeebezug MG3 2000mV BP0 DV30 heiß.png|500px|thumb|rechts|Abbildung 2: Erreichen des Maximaldrucks bei Kaffeebezug mit Mahlgrad 3 (Fehlerfall)]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:20230417 Reinigungsprogramm Kaffeebezug MG4 2000mV BP0 DV30 heiß.png|500px|thumb|rechts|Abbildung 1: Kaffeebezug mit Mahlgrad 4, kein Erreichen d. Maximaldrucks]]&amp;lt;br&amp;gt;&lt;br /&gt;
Für die Umsetzung der Spülvorgänge wurden zunächst geeignete Prüfparameter zur Unterscheidung der einzelnen Prozesse definiert.&lt;br /&gt;
&lt;br /&gt;
Fall 1) Kein Siebträger oder Siebträger ohne Kaffeepuck&amp;lt;br&amp;gt;&lt;br /&gt;
Im Fall 1 bildet sich an der Brühgruppe kein/kaum Gegendruck auf, als erster Grenzwert wurde 1 bar festgehalten. Außerdem steigt der Durchfluss deutlich über 1cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s an. Bei Erkennung dieses Falles wird ein sogenannter „Flush“ (Durchspülung) aktiviert.&lt;br /&gt;
&lt;br /&gt;
Fall 2) Siebträger mit Blindsieb&amp;lt;br&amp;gt;&lt;br /&gt;
Hier entsteht der bei der vorgegebenen Pumpenleistung maximal mögliche Gegendruck in der Brühgruppe, zudem wird der Durchfluss 0. Bei Erkennung dieses Falles wird eine Rückspülreinigung initiiert.&lt;br /&gt;
&lt;br /&gt;
Fall 3) Siebträger mit Kaffeepuck (Fehlerfall)&amp;lt;br&amp;gt;&lt;br /&gt;
Bei einem regelkonformen Kaffeebezug entsteht ein Brühgruppendruck von ca 9 bar und ein Durchfluss von 1 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s. Diese Werte werden auch hier verwendet, um die fehlerhafte Eingabe zu erkennen. Bei Erkennung dieses Falles wird ein Fehler ausgegeben.&lt;br /&gt;
&lt;br /&gt;
Weiterhin wurde ein geschlossener Bypass für sämtliche Reinigungsprogramme definiert. Zielsetzung ist es, eine Reinigung mit möglichst hohem Druck (Fall 2) bzw. mit möglichst hohem Durchfluss (Fall 1) und somit in möglichst kurzer Zeit durchzuführen. Die Wirksamkeit dieser Parameter muss noch ermittelt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Direkt zu Beginn der Versuchsreihe wurde neues Kaffeepulver (Tanzania Coffee, Röstzeit 18:19 Minuten, T-Out 186 °C) geöffnet. Dies führte zu Problemen im parametrierten Kaffeebezug. Ferner ist auch die Bypass-Schließung als Problemfaktor zu notieren.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine Unterscheidung zwischen Fall 1 und 2 gelang sehr zügig, da beide Messwerte (Durchfluss und Brühgruppendruck) stark divergieren.&amp;lt;br&amp;gt;&lt;br /&gt;
Problematisch gestaltet sich die Erkennung des Fehlerfalls 3. Bei den gefahrenen Testreihen konnte zeitweise kein Unterschied zwischen Fall 2 und 3 erkannt werden, da sich in beiden Fällen ein Gegendruck von ca 13 bar und ein Durchfluss von 0 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s einstellte (s. Abb. 2 und 3).&amp;lt;br&amp;gt;&lt;br /&gt;
Eine Veränderung des Mahlgrades verbesserte die Differenzierung zwischen Fall 2 und 3, da nun ein Durchfluss (ca. 1,5 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s) sowie ein geringerer statischer Brühgruppendruck (9-11 bar je nach Mahlgrad) für Fall 3 festgestellt werden konnte (s. Abb. 1).&lt;br /&gt;
&lt;br /&gt;
Als erste Erkenntnis kann somit festgehalten werden, dass ein spezifischer Mahlgrad je nach Kaffeesorte eingehalten werden muss, um eine fehlerfreie Erkennung zwischen Fall 2 und 3 zu ermöglichen.&amp;lt;br&amp;gt;&lt;br /&gt;
Im aktuellen Fall (Pumpenleistung 2000 mV; Bypass 0; Dosierventil 30; Tanzania Coffee, Röstzeit 18:19 Minuten, T-Out 186 °C) ist dies der Mahlgrad 4.&amp;lt;br&amp;gt;&lt;br /&gt;
Folgeversuche sind jedoch notwendig, um eine gewisse Wiederholgenauigkeit erzielen zu können.&amp;lt;br&amp;gt;&lt;br /&gt;
Sind diese erfolgreich, so kann eine erste Programmierung der Fallunterscheidung vorgenommen werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Außerdem ist es sinnvoll, eine Kennlinie Maximaler Brühgruppendruck bei Bypass auf 0 Schritte/Pumpenleistung zu erstellen, um das Reinigungsprogramm auch für neue Parameter zu befähigen.&amp;lt;br&amp;gt;&lt;br /&gt;
Im weiteren Verlauf (voraussichtlich nach der initialen Programmierung und Testphase) muss geprüft werden, inwiefern der Parameter Durchfluss als Messwert zur frühzeitigen Erkennung des Falles 2 geeignet ist. In Testläufen dauerte es ca. 15 Sekunden, bis ein Durchfluss von 0 und somit das Vorliegen einer Rückspül-Reinigung festgestellt werden konnte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Umkehrschluss bedeutet dies, dass bei einer Miteinbeziehung dieses Wertes in die Fallunterscheidung frühestens nach 15-20 Sekunden erkannt werden kann, ob tatsächlich eine Rückspülreinigung stattfinden soll oder ob der Fehlerfall 3 eingetreten ist.&lt;br /&gt;
&lt;br /&gt;
= Armin Rohnen, 21.02.2022 =&lt;br /&gt;
Auf Tastendruck soll ein Spülvorgang ausgelöst werden.&lt;br /&gt;
Befindet sich kein Blindsieb im Siebträger ist bei definierter Pumpenleistung ein Durchfluss zu erkennen. Dabei sollte zwischen dem Zuständen &amp;quot;Siebträger mit Kaffeepuk&amp;quot;, &amp;quot;Siebträger ohne Kaffeepuk&amp;quot; und &amp;quot;ohne Siebträger&amp;quot; unterschieden werden können. Für die Fälle &amp;quot;Siebträger ohne Kaffeepuk&amp;quot; und &amp;quot;ohne Siebträger&amp;quot; soll ein Flush-Vorgang aktiviert werden. Für &amp;quot;Siebträger mit Kaffeepuk&amp;quot; wird eine Fehlbedienung angenommen.&lt;br /&gt;
&lt;br /&gt;
Befindet sich ein Blindsieb im Siebträger, dann stellt sich bei definierter Pumpenleistung ein statischer Druck ein und es erfolgt kein bzw. lediglich marginaler Durchfluss. Dieses Merkmal wird dazu verwendet eine halbautomatische Rückspülreinigung durch zu führen.&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Sp%C3%BClvorg%C3%A4nge_(Labor)&amp;diff=1586</id>
		<title>Spülvorgänge (Labor)</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Sp%C3%BClvorg%C3%A4nge_(Labor)&amp;diff=1586"/>
		<updated>2023-07-31T09:16:45Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: /* Madita vom Stein, 21.04.2023 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Hendrik Wegjan, 23.05.23=&lt;br /&gt;
&lt;br /&gt;
Der Programmcode für die Spülvorgänge wurde erprobt und funktioniert.&lt;br /&gt;
Die Schrittmotorproblematik (s. 09.05.2023) konnte gelöst werden.&lt;br /&gt;
Bei der Pumpenansteuerung musste im Python-Code auf der STM32-Elektronik (main-Programm) ein Sicherheitsmechanismus umgangen werden, damit die Pumpe auch bei einem durchschnittlichen Druck &amp;gt; 12 bar eingeschaltet werden kann. Dies ist für die Rückspülreinigung notwendig.&lt;br /&gt;
Langfristig muss ein neues Konzept erarbeitet werden, wie der Sicherheitsmechanismus zu gestalten ist, damit sowohl die Sicherheits-, als auch die Reinigungsfunktion gegeben ist. Denkbar wäre z.B. das Übernehmen des Sicherheitsmechanismus in den GUI-Code, um ihn dort mittels einer Flag temporär auszuschalten, sollte eine Reinigung gestartet werden.&lt;br /&gt;
&lt;br /&gt;
Es wurde eine weitere Property (Check_Reinigung) eingefügt, die den gesicherten Durchlauf eines Reinigungsprogramms (Flush/Rückspülung) garantiert.&lt;br /&gt;
&lt;br /&gt;
Die Rückspülung wurde angepasst, es wird nun nur noch das Ventil Y07 verschlossen, Y01 und Y06 verbleiben geöffnet.&lt;br /&gt;
Im Vergleich zum Eintrag vom 09.05.2023 hat sich zudem die „Durchspülzeit“ auf 15 Sekunden verringert.&lt;br /&gt;
&lt;br /&gt;
Der Flush wurde angepasst, es findet nun kein Öffnen des Y08 am Ende des Vorgangs statt, da sich über Versuche gezeigt hat, dass kein Restdruck im Siebträger entsteht.&lt;br /&gt;
&lt;br /&gt;
Die Parameter bei der Rückspülreinigung sind noch nicht auf ihre Wirksamkeit erprobt und müssen sehr wahrscheinlich noch angepasst werden.&lt;br /&gt;
Diese Versuchsreihe wird, wenn möglich, zu Projektende noch gefahren. Ansonsten ist dies die Aufgabe der kommenden Versuchsgruppe.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Simon Thrainer, 09.05.23=&lt;br /&gt;
&lt;br /&gt;
Der vorhandene Programmcode wurde getestet und weiterentwickelt, sodass die durch die Fallunterscheidung erkannten Fälle „Flush“ und Fehlerfall wie geplant ablaufen: &amp;lt;br&amp;gt;&lt;br /&gt;
Der Ablauf ist zum Softwarestand 09.05.23 bei beiden Fällen beiden Fällen gleich: nach der Fallunterscheidung wird als einziges Ventil das Rückspülventil Y08 geöffnet, um einen eventuell vorhandenen Druck aus der Brühgruppe abzulassen. &amp;lt;br&amp;gt;&lt;br /&gt;
Da der Flush aber eigentlich ohne Siebträger stattfinden soll, wird dieser Fall zukünftig sofort nach der Fallerkennung durch Schließen aller Ventile und Abschaltung der Pumpe beendet. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Für die Rückspülung wurde ein Test-Ablauf geschrieben, bei dem nach Erkennung des Falls 3x 10 s gewartet und dazwischen je 2 s Wasser nachgefördert werden soll. Anschließend soll die Brühgruppe 20 s durchgespült werden. Die Schaltung der Ventile funktioniert dabei zuverlässig, die Pumpe wird aber beim Nachfördern teilweise nicht eingeschaltet.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Die Ansteuerung der Schrittmotoren im Reinigungsprogramm zur Einstellung der Bypass- und Dosierventilstellung funktioniert noch nicht und muss, bei Bedarf mit Unterstützung von Armin Rohnen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Simon Thrainer, 08.05.23=&lt;br /&gt;
&lt;br /&gt;
==Bisheriger Stand==&lt;br /&gt;
Ausgehend von den vorherigen Untersuchungsergebnissen wurde der Grundaufbau des Programmcodes für die Spülvorgänge geschrieben. Zunächst wurde nur mit Statusausgaben geprüft, ob der Ablauf und die Erkennung des Fehlerfalls funktionieren.&amp;lt;br&amp;gt;&lt;br /&gt;
Durch Nachfrage bei der Kaffeewerkstatt München ist nun bekannt, dass für das verwendete Reinigungsmittel eine Reinigungstemperatur von ca. 90…95 °C optimal ist.&lt;br /&gt;
==Aktueller Stand==&lt;br /&gt;
Es wurden die Ansteuerung der Ventile, Pumpenleistung und Drosselventile in den Programmcode aufgenommen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit Softwarestand 08.05.23 funktioniert die Fallunterscheidung von &amp;quot;Flush&amp;quot;, Rückspülung und Fehlerfall über die bereits beschriebene Doppelabfrage von Durchfluss und Brühgruppendruck in einer if-elseif-else-Bedingung. Alternativ könnte dies mithilfe von switch-case-Bedingungen umgesetzt werden, was evtl. zu besserer Übersichtlichkeit führen könnte, aber nicht unbedingt zweckdienlicher sein muss.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Reinigungs-Button im GUI wird bei Betätigung inaktiviert und nach Abschluss eines der Programme wieder aktiviert.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Zum Programmstart werden zuerst die Ventile Y01, Y06, Y07 geöffnet, der Pumpenbypass auf 0 geschlossen und die Pumpenleistung auf 2000 mV eingestellt, sodass Mischwasser in die Brühgruppe gefördert wird. Da die vorgeschlagene Reinigungstemperatur von 90…95 °C zum letzten Labortag noch nicht bekannt war muss die Einstellung des Dosierventils neu erprobt werden.&amp;lt;br&amp;gt; &lt;br /&gt;
Nach 15 s (, die sich als nötig bzw. ausreichend herausgestellt haben, um die Fälle unterscheiden zu können) wird die im Wiki-Eintrag vom 21.04.23 bereits beschriebene Doppelabfrage von Durchflussrate und Brühgruppendruck durchgeführt. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Bei Erkennung des &amp;quot;Flush&amp;quot; bei einer Durchflussrate &amp;gt; 3 cm3/s und Druck &amp;lt; 1bar werden die Pumpenleistung auf 0 mV und alle Ventile bis auf das Rückspülventil Y08 geschlossen, ü&amp;lt;br&amp;gt;ber das der Druck aus der Brühgruppe für eine Sekunde abgelassen wird. Am Ende sind alle Ventile geschlossen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Bei Erkennung der Rückspülung werden aktuell alle Ventile geschlossen, 100 s gewartet, damit sich das Reinigungsmittel auflöst und in der Brühgruppe einwirken kann. Anschließend wird ca. 20 s lang bei Öffnung von Y01, Y06, Y07, Y08 durch die Rückspülleitung durchgespült, die Pumpenleistung abgeschaltet und alle Ventile geschlossen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Im Fehlerfall, d.h. wenn keiner der anderen beiden Fälle zutrifft, wird wie beim &amp;quot;Flush&amp;quot; zuerst die Pumpe abgeschaltet, über das Rückspülventil Y08 Druck abgelassen und dann alle Ventile geschlossen. &amp;lt;br&amp;gt;&lt;br /&gt;
==Zukünftige Aufgaben==&lt;br /&gt;
Das gesamte Reinigungsprogramm muss noch ausgiebig getestet werden. Außerdem gibt es noch keine Erkenntnisse, ob die bisher angenommen Reinigungsabläufe, besonders die Rückspülung, zur Reinigung ausreichen.&amp;lt;br&amp;gt;&lt;br /&gt;
Nach einer Demonstration des Rückspülvorgangs an einer normalen Siebträgermaschine durch Armin Rohnen könnte es nötig sein, mehrmals Druck aufzubauen bzw. Wasser nachzufördern, damit sich das Reinigungsmittel vollständig auflöst. &amp;lt;br&amp;gt;&lt;br /&gt;
Das Maß für eine ausreichende Rückspülung ist, dass sich das Reinigungspulver vollständig aufgelöst hat und restlos aus der Maschine gespült wurde. &amp;lt;br&amp;gt;&lt;br /&gt;
Eine Möglichkeit, die sich durch die Rückspülleitung ergibt, ist, bei geöffnetem Rückspülventil einen geringen Durchfluss in der Brühgruppe zu erzeugen, wodurch sich das Reinigungsmittel schneller lösen könnte. &amp;lt;br&amp;gt;&lt;br /&gt;
Eine Optimierung der Reinigungsabläufe wäre als ToDo für eine zukünftige Versuchsgruppe denkbar.&lt;br /&gt;
&lt;br /&gt;
= Madita vom Stein, 21.04.2023 =&lt;br /&gt;
[[Datei:20230417 Abbildung 4.png|thumb|500px|rechts|gerahmt|]]&lt;br /&gt;
Für die Einführung eines Reinigungsprogrammes wurden am 17.04.2023 weitere Versuche durchgeführt. &amp;lt;br&amp;gt;&lt;br /&gt;
Durch die Versuche sollte die Unterscheidbarkeit von Fehlerfällen zu den beiden Reinigungsoptionen (Flush oder Rückspülung) anhand des Brühgruppendruckes, sowie des Durchflusses quantifiziert werden. Die einzelnen Fälle sind im Eintrag vom 04.04.2023 näher erläutert. &amp;lt;br&amp;gt;&lt;br /&gt;
In den Versuchen wurde der Fehlerfall, also der Start des Reinigungsprogrammes bei eingespanntem Siebträger mit Kaffee, mit variierenden Parametern simuliert. Im Reinigungsprogramm wird voraussichtlich eine Wassertemperatur an der Brühgruppe um die 70 °C angestrebt, wobei der genaue Temperaturwert bei der Kaffeewerkstatt München erfragt wird. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Versuch mit den Parametern 2000 mV Pumpenleistung, Durchflussventil 80 % geschlossen, Pumpenbypass 0 % offen, Mahlgrad 4 hat ergeben, dass der in diesem Fall auftretende Maximaldruck in der Brühgruppe von 10,5 bar nach 20 Sekunden auftritt.&lt;br /&gt;
Dadurch, und durch die vorangegangenen Versuche mit Blindsieb und ohne Gegendruck, ist die Fallunterscheidung nach 15-20 Sekunden mit folgenden Werten für das Reinigungsprogramm denkbar. Vorausgesetzt ist aktuell ein Reinigungsprogramm, das mit 2000 mV Pumpenleistung, 80% geschlossenem Dosierventil und geschlossenem Pumpenbypass fährt [Diagramm 1]. &amp;lt;br&amp;gt;&lt;br /&gt;
Sind 15-20 Sekunden nach Start des Reinigungsprogrammes gleichzeitig der Durchfluss höher als 3 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s und der Boilerdruck kleiner als drei bar, so wird der Fall 1) Flush erkannt. Dieses Reinigungsprogramm wurde also korrekt durchlaufen und stoppt nun regulär. &amp;lt;br&amp;gt;&lt;br /&gt;
Werden nach Ablauf von 15-20 Sekunden nach Start der Reinigung hingegen ein Durchfluss von kleiner 1 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s, sowie ein Boilerdruck von über 12 bar gemessen, wird der Fall 2) Rückspülung erkannt. Aufgrund des Blindsiebs liegt ein hoher Druck vor, der wiederum das Abschalten der Pumpe herbeiführt und den Durchfluss stoppt. Es wird eine noch näher zu spezifizierende Zeit lang abgewartet, damit das Reinigungsmittel in das Blindsieb und in die Brühgruppe einwirken kann. Ob zusätzlich ein mehrmaliger Druckaufbau zur Reinigung notwendig ist, wird noch festgestellt. Anschließend wird die Pumpenleistung wieder auf 2000 mV gesetzt, um zu spülen. Hierfür wird das Rückspülventil (Y08) geöffnet. Hiernach stoppt der Durchfluss erneut, damit das Reinigungsmittel auch in den Schläuchen der Rückspülung einwirken kann. Zum Abschluss des Programmes wird die Pumpe noch einmal aktiviert und so die Maschine gespült. &amp;lt;br&amp;gt;&lt;br /&gt;
Liegt keiner der beiden beschriebenen Parameterkombinationen vor, liegt ein Fehlerfall vor. Sollte ein Siebträger mit Kaffee eingespannt sein und versehentlich die Reinigung gestartet werden, liegt ein Brühgruppendruck von ungefähr 10,5 bar vor und es gibt je nach Mahlgrad wenig bis keinen Durchfluss. Es wird eine Fehlermeldung ausgegeben. &amp;lt;br&amp;gt;&lt;br /&gt;
Mit den genannten drei Parameterkombinationen sind die beiden Reinigungsoptionen, sowie der vorstellbare Fehlerfall abgedeckt. Um auch auf weitere, nicht absehbare Fehler durch fehlerhafte Betätigung des Reinigungsprogrammes korrekt reagieren zu können, soll der Fehlerfall im Programmcode nicht als weitere If-Abfrage mit Parametern erkannt werden, sondern automatisch durch eine „else“-Anweisung eingeleitet werden, sollte keiner der beiden Reinigungszustände durch die Doppelwertprüfung erkannt werden. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Übersicht über die Versuchsdaten ==&lt;br /&gt;
* Pumpenleistung 2000 mV&lt;br /&gt;
* Dosierventilstellung 80&lt;br /&gt;
* Bypass 0, Mahlgrad 4&lt;br /&gt;
* Reinigungstemperatur (ca. 70 °C)&lt;br /&gt;
-&amp;gt; ca. 10,5 bar max. Brühgruppendruck nach ca. 20 sek.&lt;br /&gt;
&lt;br /&gt;
= Hendrik Wegjan, 04.04.2023 =&lt;br /&gt;
[[Datei:20230413 Reinigungsprogramm Blindsieb 2000mV BP0 DV30.png|500px|thumb|rechts|Abbildung 3: Erreichen des Maximaldrucks mit Blindsieb (Fall 2)]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:20230417 Reinigungsprogramm Kaffeebezug MG3 2000mV BP0 DV30 heiß.png|500px|thumb|rechts|Abbildung 2: Erreichen des Maximaldrucks bei Kaffeebezug mit Mahlgrad 3 (Fehlerfall)]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:20230417 Reinigungsprogramm Kaffeebezug MG4 2000mV BP0 DV30 heiß.png|500px|thumb|rechts|Abbildung 1: Kaffeebezug mit Mahlgrad 4, kein Erreichen d. Maximaldrucks]]&amp;lt;br&amp;gt;&lt;br /&gt;
Für die Umsetzung der Spülvorgänge wurden zunächst geeignete Prüfparameter zur Unterscheidung der einzelnen Prozesse definiert.&lt;br /&gt;
&lt;br /&gt;
Fall 1) Kein Siebträger oder Siebträger ohne Kaffeepuck&amp;lt;br&amp;gt;&lt;br /&gt;
Im Fall 1 bildet sich an der Brühgruppe kein/kaum Gegendruck auf, als erster Grenzwert wurde 1 bar festgehalten. Außerdem steigt der Durchfluss deutlich über 1cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s an. Bei Erkennung dieses Falles wird ein sogenannter „Flush“ (Durchspülung) aktiviert.&lt;br /&gt;
&lt;br /&gt;
Fall 2) Siebträger mit Blindsieb&amp;lt;br&amp;gt;&lt;br /&gt;
Hier entsteht der bei der vorgegebenen Pumpenleistung maximal mögliche Gegendruck in der Brühgruppe, zudem wird der Durchfluss 0. Bei Erkennung dieses Falles wird eine Rückspülreinigung initiiert.&lt;br /&gt;
&lt;br /&gt;
Fall 3) Siebträger mit Kaffeepuck (Fehlerfall)&amp;lt;br&amp;gt;&lt;br /&gt;
Bei einem regelkonformen Kaffeebezug entsteht ein Brühgruppendruck von ca 9 bar und ein Durchfluss von 1 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s. Diese Werte werden auch hier verwendet, um die fehlerhafte Eingabe zu erkennen. Bei Erkennung dieses Falles wird ein Fehler ausgegeben.&lt;br /&gt;
&lt;br /&gt;
Weiterhin wurde ein geschlossener Bypass für sämtliche Reinigungsprogramme definiert. Zielsetzung ist es, eine Reinigung mit möglichst hohem Druck (Fall 2) bzw. mit möglichst hohem Durchfluss (Fall 1) und somit in möglichst kurzer Zeit durchzuführen. Die Wirksamkeit dieser Parameter muss noch ermittelt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Direkt zu Beginn der Versuchsreihe wurde neues Kaffeepulver (Tanzania Coffee, Röstzeit 18:19 Minuten, T-Out 186 °C) geöffnet. Dies führte zu Problemen im parametrierten Kaffeebezug. Ferner ist auch die Bypass-Schließung als Problemfaktor zu notieren.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine Unterscheidung zwischen Fall 1 und 2 gelang sehr zügig, da beide Messwerte (Durchfluss und Brühgruppendruck) stark divergieren.&amp;lt;br&amp;gt;&lt;br /&gt;
Problematisch gestaltet sich die Erkennung des Fehlerfalls 3. Bei den gefahrenen Testreihen konnte zeitweise kein Unterschied zwischen Fall 2 und 3 erkannt werden, da sich in beiden Fällen ein Gegendruck von ca 13 bar und ein Durchfluss von 0 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s einstellte (s. Abb. 2 und 3).&amp;lt;br&amp;gt;&lt;br /&gt;
Eine Veränderung des Mahlgrades verbesserte die Differenzierung zwischen Fall 2 und 3, da nun ein Durchfluss (ca. 1,5 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s) sowie ein geringerer statischer Brühgruppendruck (9-11 bar je nach Mahlgrad) für Fall 3 festgestellt werden konnte (s. Abb. 1).&lt;br /&gt;
&lt;br /&gt;
Als erste Erkenntnis kann somit festgehalten werden, dass ein spezifischer Mahlgrad je nach Kaffeesorte eingehalten werden muss, um eine fehlerfreie Erkennung zwischen Fall 2 und 3 zu ermöglichen.&amp;lt;br&amp;gt;&lt;br /&gt;
Im aktuellen Fall (Pumpenleistung 2000 mV; Bypass 0; Dosierventil 30; Tanzania Coffee, Röstzeit 18:19 Minuten, T-Out 186 °C) ist dies der Mahlgrad 4.&amp;lt;br&amp;gt;&lt;br /&gt;
Folgeversuche sind jedoch notwendig, um eine gewisse Wiederholgenauigkeit erzielen zu können.&amp;lt;br&amp;gt;&lt;br /&gt;
Sind diese erfolgreich, so kann eine erste Programmierung der Fallunterscheidung vorgenommen werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Außerdem ist es sinnvoll, eine Kennlinie Maximaler Brühgruppendruck bei Bypass auf 0 Schritte/Pumpenleistung zu erstellen, um das Reinigungsprogramm auch für neue Parameter zu befähigen.&amp;lt;br&amp;gt;&lt;br /&gt;
Im weiteren Verlauf (voraussichtlich nach der initialen Programmierung und Testphase) muss geprüft werden, inwiefern der Parameter Durchfluss als Messwert zur frühzeitigen Erkennung des Falles 2 geeignet ist. In Testläufen dauerte es ca. 15 Sekunden, bis ein Durchfluss von 0 und somit das Vorliegen einer Rückspül-Reinigung festgestellt werden konnte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Umkehrschluss bedeutet dies, dass bei einer Miteinbeziehung dieses Wertes in die Fallunterscheidung frühestens nach 15-20 Sekunden erkannt werden kann, ob tatsächlich eine Rückspülreinigung stattfinden soll oder ob der Fehlerfall 3 eingetreten ist.&lt;br /&gt;
&lt;br /&gt;
= Armin Rohnen, 21.02.2022 =&lt;br /&gt;
Auf Tastendruck soll ein Spülvorgang ausgelöst werden.&lt;br /&gt;
Befindet sich kein Blindsieb im Siebträger ist bei definierter Pumpenleistung ein Durchfluss zu erkennen. Dabei sollte zwischen dem Zuständen &amp;quot;Siebträger mit Kaffeepuk&amp;quot;, &amp;quot;Siebträger ohne Kaffeepuk&amp;quot; und &amp;quot;ohne Siebträger&amp;quot; unterschieden werden können. Für die Fälle &amp;quot;Siebträger ohne Kaffeepuk&amp;quot; und &amp;quot;ohne Siebträger&amp;quot; soll ein Flush-Vorgang aktiviert werden. Für &amp;quot;Siebträger mit Kaffeepuk&amp;quot; wird eine Fehlbedienung angenommen.&lt;br /&gt;
&lt;br /&gt;
Befindet sich ein Blindsieb im Siebträger, dann stellt sich bei definierter Pumpenleistung ein statischer Druck ein und es erfolgt kein bzw. lediglich marginaler Durchfluss. Dieses Merkmal wird dazu verwendet eine halbautomatische Rückspülreinigung durch zu führen.&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Sp%C3%BClvorg%C3%A4nge_(Labor)&amp;diff=1585</id>
		<title>Spülvorgänge (Labor)</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Sp%C3%BClvorg%C3%A4nge_(Labor)&amp;diff=1585"/>
		<updated>2023-07-31T09:11:30Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: /* Hendrik Wegjan, 04.04.2023 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Hendrik Wegjan, 23.05.23=&lt;br /&gt;
&lt;br /&gt;
Der Programmcode für die Spülvorgänge wurde erprobt und funktioniert.&lt;br /&gt;
Die Schrittmotorproblematik (s. 09.05.2023) konnte gelöst werden.&lt;br /&gt;
Bei der Pumpenansteuerung musste im Python-Code auf der STM32-Elektronik (main-Programm) ein Sicherheitsmechanismus umgangen werden, damit die Pumpe auch bei einem durchschnittlichen Druck &amp;gt; 12 bar eingeschaltet werden kann. Dies ist für die Rückspülreinigung notwendig.&lt;br /&gt;
Langfristig muss ein neues Konzept erarbeitet werden, wie der Sicherheitsmechanismus zu gestalten ist, damit sowohl die Sicherheits-, als auch die Reinigungsfunktion gegeben ist. Denkbar wäre z.B. das Übernehmen des Sicherheitsmechanismus in den GUI-Code, um ihn dort mittels einer Flag temporär auszuschalten, sollte eine Reinigung gestartet werden.&lt;br /&gt;
&lt;br /&gt;
Es wurde eine weitere Property (Check_Reinigung) eingefügt, die den gesicherten Durchlauf eines Reinigungsprogramms (Flush/Rückspülung) garantiert.&lt;br /&gt;
&lt;br /&gt;
Die Rückspülung wurde angepasst, es wird nun nur noch das Ventil Y07 verschlossen, Y01 und Y06 verbleiben geöffnet.&lt;br /&gt;
Im Vergleich zum Eintrag vom 09.05.2023 hat sich zudem die „Durchspülzeit“ auf 15 Sekunden verringert.&lt;br /&gt;
&lt;br /&gt;
Der Flush wurde angepasst, es findet nun kein Öffnen des Y08 am Ende des Vorgangs statt, da sich über Versuche gezeigt hat, dass kein Restdruck im Siebträger entsteht.&lt;br /&gt;
&lt;br /&gt;
Die Parameter bei der Rückspülreinigung sind noch nicht auf ihre Wirksamkeit erprobt und müssen sehr wahrscheinlich noch angepasst werden.&lt;br /&gt;
Diese Versuchsreihe wird, wenn möglich, zu Projektende noch gefahren. Ansonsten ist dies die Aufgabe der kommenden Versuchsgruppe.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Simon Thrainer, 09.05.23=&lt;br /&gt;
&lt;br /&gt;
Der vorhandene Programmcode wurde getestet und weiterentwickelt, sodass die durch die Fallunterscheidung erkannten Fälle „Flush“ und Fehlerfall wie geplant ablaufen: &amp;lt;br&amp;gt;&lt;br /&gt;
Der Ablauf ist zum Softwarestand 09.05.23 bei beiden Fällen beiden Fällen gleich: nach der Fallunterscheidung wird als einziges Ventil das Rückspülventil Y08 geöffnet, um einen eventuell vorhandenen Druck aus der Brühgruppe abzulassen. &amp;lt;br&amp;gt;&lt;br /&gt;
Da der Flush aber eigentlich ohne Siebträger stattfinden soll, wird dieser Fall zukünftig sofort nach der Fallerkennung durch Schließen aller Ventile und Abschaltung der Pumpe beendet. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Für die Rückspülung wurde ein Test-Ablauf geschrieben, bei dem nach Erkennung des Falls 3x 10 s gewartet und dazwischen je 2 s Wasser nachgefördert werden soll. Anschließend soll die Brühgruppe 20 s durchgespült werden. Die Schaltung der Ventile funktioniert dabei zuverlässig, die Pumpe wird aber beim Nachfördern teilweise nicht eingeschaltet.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Die Ansteuerung der Schrittmotoren im Reinigungsprogramm zur Einstellung der Bypass- und Dosierventilstellung funktioniert noch nicht und muss, bei Bedarf mit Unterstützung von Armin Rohnen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Simon Thrainer, 08.05.23=&lt;br /&gt;
&lt;br /&gt;
==Bisheriger Stand==&lt;br /&gt;
Ausgehend von den vorherigen Untersuchungsergebnissen wurde der Grundaufbau des Programmcodes für die Spülvorgänge geschrieben. Zunächst wurde nur mit Statusausgaben geprüft, ob der Ablauf und die Erkennung des Fehlerfalls funktionieren.&amp;lt;br&amp;gt;&lt;br /&gt;
Durch Nachfrage bei der Kaffeewerkstatt München ist nun bekannt, dass für das verwendete Reinigungsmittel eine Reinigungstemperatur von ca. 90…95 °C optimal ist.&lt;br /&gt;
==Aktueller Stand==&lt;br /&gt;
Es wurden die Ansteuerung der Ventile, Pumpenleistung und Drosselventile in den Programmcode aufgenommen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit Softwarestand 08.05.23 funktioniert die Fallunterscheidung von &amp;quot;Flush&amp;quot;, Rückspülung und Fehlerfall über die bereits beschriebene Doppelabfrage von Durchfluss und Brühgruppendruck in einer if-elseif-else-Bedingung. Alternativ könnte dies mithilfe von switch-case-Bedingungen umgesetzt werden, was evtl. zu besserer Übersichtlichkeit führen könnte, aber nicht unbedingt zweckdienlicher sein muss.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Reinigungs-Button im GUI wird bei Betätigung inaktiviert und nach Abschluss eines der Programme wieder aktiviert.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Zum Programmstart werden zuerst die Ventile Y01, Y06, Y07 geöffnet, der Pumpenbypass auf 0 geschlossen und die Pumpenleistung auf 2000 mV eingestellt, sodass Mischwasser in die Brühgruppe gefördert wird. Da die vorgeschlagene Reinigungstemperatur von 90…95 °C zum letzten Labortag noch nicht bekannt war muss die Einstellung des Dosierventils neu erprobt werden.&amp;lt;br&amp;gt; &lt;br /&gt;
Nach 15 s (, die sich als nötig bzw. ausreichend herausgestellt haben, um die Fälle unterscheiden zu können) wird die im Wiki-Eintrag vom 21.04.23 bereits beschriebene Doppelabfrage von Durchflussrate und Brühgruppendruck durchgeführt. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Bei Erkennung des &amp;quot;Flush&amp;quot; bei einer Durchflussrate &amp;gt; 3 cm3/s und Druck &amp;lt; 1bar werden die Pumpenleistung auf 0 mV und alle Ventile bis auf das Rückspülventil Y08 geschlossen, ü&amp;lt;br&amp;gt;ber das der Druck aus der Brühgruppe für eine Sekunde abgelassen wird. Am Ende sind alle Ventile geschlossen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Bei Erkennung der Rückspülung werden aktuell alle Ventile geschlossen, 100 s gewartet, damit sich das Reinigungsmittel auflöst und in der Brühgruppe einwirken kann. Anschließend wird ca. 20 s lang bei Öffnung von Y01, Y06, Y07, Y08 durch die Rückspülleitung durchgespült, die Pumpenleistung abgeschaltet und alle Ventile geschlossen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Im Fehlerfall, d.h. wenn keiner der anderen beiden Fälle zutrifft, wird wie beim &amp;quot;Flush&amp;quot; zuerst die Pumpe abgeschaltet, über das Rückspülventil Y08 Druck abgelassen und dann alle Ventile geschlossen. &amp;lt;br&amp;gt;&lt;br /&gt;
==Zukünftige Aufgaben==&lt;br /&gt;
Das gesamte Reinigungsprogramm muss noch ausgiebig getestet werden. Außerdem gibt es noch keine Erkenntnisse, ob die bisher angenommen Reinigungsabläufe, besonders die Rückspülung, zur Reinigung ausreichen.&amp;lt;br&amp;gt;&lt;br /&gt;
Nach einer Demonstration des Rückspülvorgangs an einer normalen Siebträgermaschine durch Armin Rohnen könnte es nötig sein, mehrmals Druck aufzubauen bzw. Wasser nachzufördern, damit sich das Reinigungsmittel vollständig auflöst. &amp;lt;br&amp;gt;&lt;br /&gt;
Das Maß für eine ausreichende Rückspülung ist, dass sich das Reinigungspulver vollständig aufgelöst hat und restlos aus der Maschine gespült wurde. &amp;lt;br&amp;gt;&lt;br /&gt;
Eine Möglichkeit, die sich durch die Rückspülleitung ergibt, ist, bei geöffnetem Rückspülventil einen geringen Durchfluss in der Brühgruppe zu erzeugen, wodurch sich das Reinigungsmittel schneller lösen könnte. &amp;lt;br&amp;gt;&lt;br /&gt;
Eine Optimierung der Reinigungsabläufe wäre als ToDo für eine zukünftige Versuchsgruppe denkbar.&lt;br /&gt;
&lt;br /&gt;
= Madita vom Stein, 21.04.2023 =&lt;br /&gt;
[[Datei:20230417 Abbildung 4.png|thumb|500px|gerahmt|rechts|alternativtext=Abbildung 4: Bildunterschrift|Abbildung 4: Bildunterschrift]]&lt;br /&gt;
Für die Einführung eines Reinigungsprogrammes wurden am 17.04.2023 weitere Versuche durchgeführt. &amp;lt;br&amp;gt;&lt;br /&gt;
Durch die Versuche sollte die Unterscheidbarkeit von Fehlerfällen zu den beiden Reinigungsoptionen (Flush oder Rückspülung) anhand des Brühgruppendruckes, sowie des Durchflusses quantifiziert werden. Die einzelnen Fälle sind im Eintrag vom 04.04.2023 näher erläutert. &amp;lt;br&amp;gt;&lt;br /&gt;
In den Versuchen wurde der Fehlerfall, also der Start des Reinigungsprogrammes bei eingespanntem Siebträger mit Kaffee, mit variierenden Parametern simuliert. Im Reinigungsprogramm wird voraussichtlich eine Wassertemperatur an der Brühgruppe um die 70 °C angestrebt, wobei der genaue Temperaturwert bei der Kaffeewerkstatt München erfragt wird. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Versuch mit den Parametern 2000 mV Pumpenleistung, Durchflussventil 80 % geschlossen, Pumpenbypass 0 % offen, Mahlgrad 4 hat ergeben, dass der in diesem Fall auftretende Maximaldruck in der Brühgruppe von 10,5 bar nach 20 Sekunden auftritt.&lt;br /&gt;
Dadurch, und durch die vorangegangenen Versuche mit Blindsieb und ohne Gegendruck, ist die Fallunterscheidung nach 15-20 Sekunden mit folgenden Werten für das Reinigungsprogramm denkbar. Vorausgesetzt ist aktuell ein Reinigungsprogramm, das mit 2000 mV Pumpenleistung, 80% geschlossenem Dosierventil und geschlossenem Pumpenbypass fährt [Diagramm 1]. &amp;lt;br&amp;gt;&lt;br /&gt;
Sind 15-20 Sekunden nach Start des Reinigungsprogrammes gleichzeitig der Durchfluss höher als 3 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s und der Boilerdruck kleiner als drei bar, so wird der Fall 1) Flush erkannt. Dieses Reinigungsprogramm wurde also korrekt durchlaufen und stoppt nun regulär. &amp;lt;br&amp;gt;&lt;br /&gt;
Werden nach Ablauf von 15-20 Sekunden nach Start der Reinigung hingegen ein Durchfluss von kleiner 1 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s, sowie ein Boilerdruck von über 12 bar gemessen, wird der Fall 2) Rückspülung erkannt. Aufgrund des Blindsiebs liegt ein hoher Druck vor, der wiederum das Abschalten der Pumpe herbeiführt und den Durchfluss stoppt. Es wird eine noch näher zu spezifizierende Zeit lang abgewartet, damit das Reinigungsmittel in das Blindsieb und in die Brühgruppe einwirken kann. Ob zusätzlich ein mehrmaliger Druckaufbau zur Reinigung notwendig ist, wird noch festgestellt. Anschließend wird die Pumpenleistung wieder auf 2000 mV gesetzt, um zu spülen. Hierfür wird das Rückspülventil (Y08) geöffnet. Hiernach stoppt der Durchfluss erneut, damit das Reinigungsmittel auch in den Schläuchen der Rückspülung einwirken kann. Zum Abschluss des Programmes wird die Pumpe noch einmal aktiviert und so die Maschine gespült. &amp;lt;br&amp;gt;&lt;br /&gt;
Liegt keiner der beiden beschriebenen Parameterkombinationen vor, liegt ein Fehlerfall vor. Sollte ein Siebträger mit Kaffee eingespannt sein und versehentlich die Reinigung gestartet werden, liegt ein Brühgruppendruck von ungefähr 10,5 bar vor und es gibt je nach Mahlgrad wenig bis keinen Durchfluss. Es wird eine Fehlermeldung ausgegeben. &amp;lt;br&amp;gt;&lt;br /&gt;
Mit den genannten drei Parameterkombinationen sind die beiden Reinigungsoptionen, sowie der vorstellbare Fehlerfall abgedeckt. Um auch auf weitere, nicht absehbare Fehler durch fehlerhafte Betätigung des Reinigungsprogrammes korrekt reagieren zu können, soll der Fehlerfall im Programmcode nicht als weitere If-Abfrage mit Parametern erkannt werden, sondern automatisch durch eine „else“-Anweisung eingeleitet werden, sollte keiner der beiden Reinigungszustände durch die Doppelwertprüfung erkannt werden. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Übersicht über die Versuchsdaten ==&lt;br /&gt;
* Pumpenleistung 2000 mV&lt;br /&gt;
* Dosierventilstellung 80&lt;br /&gt;
* Bypass 0, Mahlgrad 4&lt;br /&gt;
* Reinigungstemperatur (ca. 70 °C)&lt;br /&gt;
-&amp;gt; ca. 10,5 bar max. Brühgruppendruck nach ca. 20 sek.&lt;br /&gt;
&lt;br /&gt;
= Hendrik Wegjan, 04.04.2023 =&lt;br /&gt;
[[Datei:20230413 Reinigungsprogramm Blindsieb 2000mV BP0 DV30.png|500px|thumb|rechts|Abbildung 3: Erreichen des Maximaldrucks mit Blindsieb (Fall 2)]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:20230417 Reinigungsprogramm Kaffeebezug MG3 2000mV BP0 DV30 heiß.png|500px|thumb|rechts|Abbildung 2: Erreichen des Maximaldrucks bei Kaffeebezug mit Mahlgrad 3 (Fehlerfall)]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:20230417 Reinigungsprogramm Kaffeebezug MG4 2000mV BP0 DV30 heiß.png|500px|thumb|rechts|Abbildung 1: Kaffeebezug mit Mahlgrad 4, kein Erreichen d. Maximaldrucks]]&amp;lt;br&amp;gt;&lt;br /&gt;
Für die Umsetzung der Spülvorgänge wurden zunächst geeignete Prüfparameter zur Unterscheidung der einzelnen Prozesse definiert.&lt;br /&gt;
&lt;br /&gt;
Fall 1) Kein Siebträger oder Siebträger ohne Kaffeepuck&amp;lt;br&amp;gt;&lt;br /&gt;
Im Fall 1 bildet sich an der Brühgruppe kein/kaum Gegendruck auf, als erster Grenzwert wurde 1 bar festgehalten. Außerdem steigt der Durchfluss deutlich über 1cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s an. Bei Erkennung dieses Falles wird ein sogenannter „Flush“ (Durchspülung) aktiviert.&lt;br /&gt;
&lt;br /&gt;
Fall 2) Siebträger mit Blindsieb&amp;lt;br&amp;gt;&lt;br /&gt;
Hier entsteht der bei der vorgegebenen Pumpenleistung maximal mögliche Gegendruck in der Brühgruppe, zudem wird der Durchfluss 0. Bei Erkennung dieses Falles wird eine Rückspülreinigung initiiert.&lt;br /&gt;
&lt;br /&gt;
Fall 3) Siebträger mit Kaffeepuck (Fehlerfall)&amp;lt;br&amp;gt;&lt;br /&gt;
Bei einem regelkonformen Kaffeebezug entsteht ein Brühgruppendruck von ca 9 bar und ein Durchfluss von 1 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s. Diese Werte werden auch hier verwendet, um die fehlerhafte Eingabe zu erkennen. Bei Erkennung dieses Falles wird ein Fehler ausgegeben.&lt;br /&gt;
&lt;br /&gt;
Weiterhin wurde ein geschlossener Bypass für sämtliche Reinigungsprogramme definiert. Zielsetzung ist es, eine Reinigung mit möglichst hohem Druck (Fall 2) bzw. mit möglichst hohem Durchfluss (Fall 1) und somit in möglichst kurzer Zeit durchzuführen. Die Wirksamkeit dieser Parameter muss noch ermittelt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Direkt zu Beginn der Versuchsreihe wurde neues Kaffeepulver (Tanzania Coffee, Röstzeit 18:19 Minuten, T-Out 186 °C) geöffnet. Dies führte zu Problemen im parametrierten Kaffeebezug. Ferner ist auch die Bypass-Schließung als Problemfaktor zu notieren.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine Unterscheidung zwischen Fall 1 und 2 gelang sehr zügig, da beide Messwerte (Durchfluss und Brühgruppendruck) stark divergieren.&amp;lt;br&amp;gt;&lt;br /&gt;
Problematisch gestaltet sich die Erkennung des Fehlerfalls 3. Bei den gefahrenen Testreihen konnte zeitweise kein Unterschied zwischen Fall 2 und 3 erkannt werden, da sich in beiden Fällen ein Gegendruck von ca 13 bar und ein Durchfluss von 0 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s einstellte (s. Abb. 2 und 3).&amp;lt;br&amp;gt;&lt;br /&gt;
Eine Veränderung des Mahlgrades verbesserte die Differenzierung zwischen Fall 2 und 3, da nun ein Durchfluss (ca. 1,5 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s) sowie ein geringerer statischer Brühgruppendruck (9-11 bar je nach Mahlgrad) für Fall 3 festgestellt werden konnte (s. Abb. 1).&lt;br /&gt;
&lt;br /&gt;
Als erste Erkenntnis kann somit festgehalten werden, dass ein spezifischer Mahlgrad je nach Kaffeesorte eingehalten werden muss, um eine fehlerfreie Erkennung zwischen Fall 2 und 3 zu ermöglichen.&amp;lt;br&amp;gt;&lt;br /&gt;
Im aktuellen Fall (Pumpenleistung 2000 mV; Bypass 0; Dosierventil 30; Tanzania Coffee, Röstzeit 18:19 Minuten, T-Out 186 °C) ist dies der Mahlgrad 4.&amp;lt;br&amp;gt;&lt;br /&gt;
Folgeversuche sind jedoch notwendig, um eine gewisse Wiederholgenauigkeit erzielen zu können.&amp;lt;br&amp;gt;&lt;br /&gt;
Sind diese erfolgreich, so kann eine erste Programmierung der Fallunterscheidung vorgenommen werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Außerdem ist es sinnvoll, eine Kennlinie Maximaler Brühgruppendruck bei Bypass auf 0 Schritte/Pumpenleistung zu erstellen, um das Reinigungsprogramm auch für neue Parameter zu befähigen.&amp;lt;br&amp;gt;&lt;br /&gt;
Im weiteren Verlauf (voraussichtlich nach der initialen Programmierung und Testphase) muss geprüft werden, inwiefern der Parameter Durchfluss als Messwert zur frühzeitigen Erkennung des Falles 2 geeignet ist. In Testläufen dauerte es ca. 15 Sekunden, bis ein Durchfluss von 0 und somit das Vorliegen einer Rückspül-Reinigung festgestellt werden konnte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Umkehrschluss bedeutet dies, dass bei einer Miteinbeziehung dieses Wertes in die Fallunterscheidung frühestens nach 15-20 Sekunden erkannt werden kann, ob tatsächlich eine Rückspülreinigung stattfinden soll oder ob der Fehlerfall 3 eingetreten ist.&lt;br /&gt;
&lt;br /&gt;
= Armin Rohnen, 21.02.2022 =&lt;br /&gt;
Auf Tastendruck soll ein Spülvorgang ausgelöst werden.&lt;br /&gt;
Befindet sich kein Blindsieb im Siebträger ist bei definierter Pumpenleistung ein Durchfluss zu erkennen. Dabei sollte zwischen dem Zuständen &amp;quot;Siebträger mit Kaffeepuk&amp;quot;, &amp;quot;Siebträger ohne Kaffeepuk&amp;quot; und &amp;quot;ohne Siebträger&amp;quot; unterschieden werden können. Für die Fälle &amp;quot;Siebträger ohne Kaffeepuk&amp;quot; und &amp;quot;ohne Siebträger&amp;quot; soll ein Flush-Vorgang aktiviert werden. Für &amp;quot;Siebträger mit Kaffeepuk&amp;quot; wird eine Fehlbedienung angenommen.&lt;br /&gt;
&lt;br /&gt;
Befindet sich ein Blindsieb im Siebträger, dann stellt sich bei definierter Pumpenleistung ein statischer Druck ein und es erfolgt kein bzw. lediglich marginaler Durchfluss. Dieses Merkmal wird dazu verwendet eine halbautomatische Rückspülreinigung durch zu führen.&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Sp%C3%BClvorg%C3%A4nge_(Labor)&amp;diff=1584</id>
		<title>Spülvorgänge (Labor)</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Sp%C3%BClvorg%C3%A4nge_(Labor)&amp;diff=1584"/>
		<updated>2023-07-31T09:10:48Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Hendrik Wegjan, 23.05.23=&lt;br /&gt;
&lt;br /&gt;
Der Programmcode für die Spülvorgänge wurde erprobt und funktioniert.&lt;br /&gt;
Die Schrittmotorproblematik (s. 09.05.2023) konnte gelöst werden.&lt;br /&gt;
Bei der Pumpenansteuerung musste im Python-Code auf der STM32-Elektronik (main-Programm) ein Sicherheitsmechanismus umgangen werden, damit die Pumpe auch bei einem durchschnittlichen Druck &amp;gt; 12 bar eingeschaltet werden kann. Dies ist für die Rückspülreinigung notwendig.&lt;br /&gt;
Langfristig muss ein neues Konzept erarbeitet werden, wie der Sicherheitsmechanismus zu gestalten ist, damit sowohl die Sicherheits-, als auch die Reinigungsfunktion gegeben ist. Denkbar wäre z.B. das Übernehmen des Sicherheitsmechanismus in den GUI-Code, um ihn dort mittels einer Flag temporär auszuschalten, sollte eine Reinigung gestartet werden.&lt;br /&gt;
&lt;br /&gt;
Es wurde eine weitere Property (Check_Reinigung) eingefügt, die den gesicherten Durchlauf eines Reinigungsprogramms (Flush/Rückspülung) garantiert.&lt;br /&gt;
&lt;br /&gt;
Die Rückspülung wurde angepasst, es wird nun nur noch das Ventil Y07 verschlossen, Y01 und Y06 verbleiben geöffnet.&lt;br /&gt;
Im Vergleich zum Eintrag vom 09.05.2023 hat sich zudem die „Durchspülzeit“ auf 15 Sekunden verringert.&lt;br /&gt;
&lt;br /&gt;
Der Flush wurde angepasst, es findet nun kein Öffnen des Y08 am Ende des Vorgangs statt, da sich über Versuche gezeigt hat, dass kein Restdruck im Siebträger entsteht.&lt;br /&gt;
&lt;br /&gt;
Die Parameter bei der Rückspülreinigung sind noch nicht auf ihre Wirksamkeit erprobt und müssen sehr wahrscheinlich noch angepasst werden.&lt;br /&gt;
Diese Versuchsreihe wird, wenn möglich, zu Projektende noch gefahren. Ansonsten ist dies die Aufgabe der kommenden Versuchsgruppe.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Simon Thrainer, 09.05.23=&lt;br /&gt;
&lt;br /&gt;
Der vorhandene Programmcode wurde getestet und weiterentwickelt, sodass die durch die Fallunterscheidung erkannten Fälle „Flush“ und Fehlerfall wie geplant ablaufen: &amp;lt;br&amp;gt;&lt;br /&gt;
Der Ablauf ist zum Softwarestand 09.05.23 bei beiden Fällen beiden Fällen gleich: nach der Fallunterscheidung wird als einziges Ventil das Rückspülventil Y08 geöffnet, um einen eventuell vorhandenen Druck aus der Brühgruppe abzulassen. &amp;lt;br&amp;gt;&lt;br /&gt;
Da der Flush aber eigentlich ohne Siebträger stattfinden soll, wird dieser Fall zukünftig sofort nach der Fallerkennung durch Schließen aller Ventile und Abschaltung der Pumpe beendet. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Für die Rückspülung wurde ein Test-Ablauf geschrieben, bei dem nach Erkennung des Falls 3x 10 s gewartet und dazwischen je 2 s Wasser nachgefördert werden soll. Anschließend soll die Brühgruppe 20 s durchgespült werden. Die Schaltung der Ventile funktioniert dabei zuverlässig, die Pumpe wird aber beim Nachfördern teilweise nicht eingeschaltet.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Die Ansteuerung der Schrittmotoren im Reinigungsprogramm zur Einstellung der Bypass- und Dosierventilstellung funktioniert noch nicht und muss, bei Bedarf mit Unterstützung von Armin Rohnen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Simon Thrainer, 08.05.23=&lt;br /&gt;
&lt;br /&gt;
==Bisheriger Stand==&lt;br /&gt;
Ausgehend von den vorherigen Untersuchungsergebnissen wurde der Grundaufbau des Programmcodes für die Spülvorgänge geschrieben. Zunächst wurde nur mit Statusausgaben geprüft, ob der Ablauf und die Erkennung des Fehlerfalls funktionieren.&amp;lt;br&amp;gt;&lt;br /&gt;
Durch Nachfrage bei der Kaffeewerkstatt München ist nun bekannt, dass für das verwendete Reinigungsmittel eine Reinigungstemperatur von ca. 90…95 °C optimal ist.&lt;br /&gt;
==Aktueller Stand==&lt;br /&gt;
Es wurden die Ansteuerung der Ventile, Pumpenleistung und Drosselventile in den Programmcode aufgenommen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit Softwarestand 08.05.23 funktioniert die Fallunterscheidung von &amp;quot;Flush&amp;quot;, Rückspülung und Fehlerfall über die bereits beschriebene Doppelabfrage von Durchfluss und Brühgruppendruck in einer if-elseif-else-Bedingung. Alternativ könnte dies mithilfe von switch-case-Bedingungen umgesetzt werden, was evtl. zu besserer Übersichtlichkeit führen könnte, aber nicht unbedingt zweckdienlicher sein muss.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Reinigungs-Button im GUI wird bei Betätigung inaktiviert und nach Abschluss eines der Programme wieder aktiviert.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Zum Programmstart werden zuerst die Ventile Y01, Y06, Y07 geöffnet, der Pumpenbypass auf 0 geschlossen und die Pumpenleistung auf 2000 mV eingestellt, sodass Mischwasser in die Brühgruppe gefördert wird. Da die vorgeschlagene Reinigungstemperatur von 90…95 °C zum letzten Labortag noch nicht bekannt war muss die Einstellung des Dosierventils neu erprobt werden.&amp;lt;br&amp;gt; &lt;br /&gt;
Nach 15 s (, die sich als nötig bzw. ausreichend herausgestellt haben, um die Fälle unterscheiden zu können) wird die im Wiki-Eintrag vom 21.04.23 bereits beschriebene Doppelabfrage von Durchflussrate und Brühgruppendruck durchgeführt. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Bei Erkennung des &amp;quot;Flush&amp;quot; bei einer Durchflussrate &amp;gt; 3 cm3/s und Druck &amp;lt; 1bar werden die Pumpenleistung auf 0 mV und alle Ventile bis auf das Rückspülventil Y08 geschlossen, ü&amp;lt;br&amp;gt;ber das der Druck aus der Brühgruppe für eine Sekunde abgelassen wird. Am Ende sind alle Ventile geschlossen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Bei Erkennung der Rückspülung werden aktuell alle Ventile geschlossen, 100 s gewartet, damit sich das Reinigungsmittel auflöst und in der Brühgruppe einwirken kann. Anschließend wird ca. 20 s lang bei Öffnung von Y01, Y06, Y07, Y08 durch die Rückspülleitung durchgespült, die Pumpenleistung abgeschaltet und alle Ventile geschlossen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Im Fehlerfall, d.h. wenn keiner der anderen beiden Fälle zutrifft, wird wie beim &amp;quot;Flush&amp;quot; zuerst die Pumpe abgeschaltet, über das Rückspülventil Y08 Druck abgelassen und dann alle Ventile geschlossen. &amp;lt;br&amp;gt;&lt;br /&gt;
==Zukünftige Aufgaben==&lt;br /&gt;
Das gesamte Reinigungsprogramm muss noch ausgiebig getestet werden. Außerdem gibt es noch keine Erkenntnisse, ob die bisher angenommen Reinigungsabläufe, besonders die Rückspülung, zur Reinigung ausreichen.&amp;lt;br&amp;gt;&lt;br /&gt;
Nach einer Demonstration des Rückspülvorgangs an einer normalen Siebträgermaschine durch Armin Rohnen könnte es nötig sein, mehrmals Druck aufzubauen bzw. Wasser nachzufördern, damit sich das Reinigungsmittel vollständig auflöst. &amp;lt;br&amp;gt;&lt;br /&gt;
Das Maß für eine ausreichende Rückspülung ist, dass sich das Reinigungspulver vollständig aufgelöst hat und restlos aus der Maschine gespült wurde. &amp;lt;br&amp;gt;&lt;br /&gt;
Eine Möglichkeit, die sich durch die Rückspülleitung ergibt, ist, bei geöffnetem Rückspülventil einen geringen Durchfluss in der Brühgruppe zu erzeugen, wodurch sich das Reinigungsmittel schneller lösen könnte. &amp;lt;br&amp;gt;&lt;br /&gt;
Eine Optimierung der Reinigungsabläufe wäre als ToDo für eine zukünftige Versuchsgruppe denkbar.&lt;br /&gt;
&lt;br /&gt;
= Madita vom Stein, 21.04.2023 =&lt;br /&gt;
[[Datei:20230417 Abbildung 4.png|thumb|500px|gerahmt|rechts|alternativtext=Abbildung 4: Bildunterschrift|Abbildung 4: Bildunterschrift]]&lt;br /&gt;
Für die Einführung eines Reinigungsprogrammes wurden am 17.04.2023 weitere Versuche durchgeführt. &amp;lt;br&amp;gt;&lt;br /&gt;
Durch die Versuche sollte die Unterscheidbarkeit von Fehlerfällen zu den beiden Reinigungsoptionen (Flush oder Rückspülung) anhand des Brühgruppendruckes, sowie des Durchflusses quantifiziert werden. Die einzelnen Fälle sind im Eintrag vom 04.04.2023 näher erläutert. &amp;lt;br&amp;gt;&lt;br /&gt;
In den Versuchen wurde der Fehlerfall, also der Start des Reinigungsprogrammes bei eingespanntem Siebträger mit Kaffee, mit variierenden Parametern simuliert. Im Reinigungsprogramm wird voraussichtlich eine Wassertemperatur an der Brühgruppe um die 70 °C angestrebt, wobei der genaue Temperaturwert bei der Kaffeewerkstatt München erfragt wird. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Versuch mit den Parametern 2000 mV Pumpenleistung, Durchflussventil 80 % geschlossen, Pumpenbypass 0 % offen, Mahlgrad 4 hat ergeben, dass der in diesem Fall auftretende Maximaldruck in der Brühgruppe von 10,5 bar nach 20 Sekunden auftritt.&lt;br /&gt;
Dadurch, und durch die vorangegangenen Versuche mit Blindsieb und ohne Gegendruck, ist die Fallunterscheidung nach 15-20 Sekunden mit folgenden Werten für das Reinigungsprogramm denkbar. Vorausgesetzt ist aktuell ein Reinigungsprogramm, das mit 2000 mV Pumpenleistung, 80% geschlossenem Dosierventil und geschlossenem Pumpenbypass fährt [Diagramm 1]. &amp;lt;br&amp;gt;&lt;br /&gt;
Sind 15-20 Sekunden nach Start des Reinigungsprogrammes gleichzeitig der Durchfluss höher als 3 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s und der Boilerdruck kleiner als drei bar, so wird der Fall 1) Flush erkannt. Dieses Reinigungsprogramm wurde also korrekt durchlaufen und stoppt nun regulär. &amp;lt;br&amp;gt;&lt;br /&gt;
Werden nach Ablauf von 15-20 Sekunden nach Start der Reinigung hingegen ein Durchfluss von kleiner 1 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s, sowie ein Boilerdruck von über 12 bar gemessen, wird der Fall 2) Rückspülung erkannt. Aufgrund des Blindsiebs liegt ein hoher Druck vor, der wiederum das Abschalten der Pumpe herbeiführt und den Durchfluss stoppt. Es wird eine noch näher zu spezifizierende Zeit lang abgewartet, damit das Reinigungsmittel in das Blindsieb und in die Brühgruppe einwirken kann. Ob zusätzlich ein mehrmaliger Druckaufbau zur Reinigung notwendig ist, wird noch festgestellt. Anschließend wird die Pumpenleistung wieder auf 2000 mV gesetzt, um zu spülen. Hierfür wird das Rückspülventil (Y08) geöffnet. Hiernach stoppt der Durchfluss erneut, damit das Reinigungsmittel auch in den Schläuchen der Rückspülung einwirken kann. Zum Abschluss des Programmes wird die Pumpe noch einmal aktiviert und so die Maschine gespült. &amp;lt;br&amp;gt;&lt;br /&gt;
Liegt keiner der beiden beschriebenen Parameterkombinationen vor, liegt ein Fehlerfall vor. Sollte ein Siebträger mit Kaffee eingespannt sein und versehentlich die Reinigung gestartet werden, liegt ein Brühgruppendruck von ungefähr 10,5 bar vor und es gibt je nach Mahlgrad wenig bis keinen Durchfluss. Es wird eine Fehlermeldung ausgegeben. &amp;lt;br&amp;gt;&lt;br /&gt;
Mit den genannten drei Parameterkombinationen sind die beiden Reinigungsoptionen, sowie der vorstellbare Fehlerfall abgedeckt. Um auch auf weitere, nicht absehbare Fehler durch fehlerhafte Betätigung des Reinigungsprogrammes korrekt reagieren zu können, soll der Fehlerfall im Programmcode nicht als weitere If-Abfrage mit Parametern erkannt werden, sondern automatisch durch eine „else“-Anweisung eingeleitet werden, sollte keiner der beiden Reinigungszustände durch die Doppelwertprüfung erkannt werden. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Übersicht über die Versuchsdaten ==&lt;br /&gt;
* Pumpenleistung 2000 mV&lt;br /&gt;
* Dosierventilstellung 80&lt;br /&gt;
* Bypass 0, Mahlgrad 4&lt;br /&gt;
* Reinigungstemperatur (ca. 70 °C)&lt;br /&gt;
-&amp;gt; ca. 10,5 bar max. Brühgruppendruck nach ca. 20 sek.&lt;br /&gt;
&lt;br /&gt;
= Hendrik Wegjan, 04.04.2023 =&lt;br /&gt;
[[Datei:20230413 Reinigungsprogramm Blindsieb 2000mV BP0 DV30.png|500px|thumb|rechts|Abbildung 3: Erreichen des Maximaldrucks mit Blindsieb (Fall 2)]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:20230417 Reinigungsprogramm Kaffeebezug MG3 2000mV BP0 DV30 heiß.png|500px|thumb|rechts|Abbildung 2: Erreichen des Maximaldrucks bei Kaffeebezug mit Mahlgrad 3 (Fehlerfall)]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:20230417 Reinigungsprogramm Kaffeebezug MG4 2000mV BP0 DV30 heiß.png|500px|thumb|rechts|Abbildung 1: Kaffeebezug mit Mahlgrad 4, kein Erreichen d. Maximaldrucks]]&amp;lt;br&amp;gt;&lt;br /&gt;
Für die Umsetzung der Spülvorgänge wurden zunächst geeignete Prüfparameter zur Unterscheidung der einzelnen Prozesse definiert.&lt;br /&gt;
&lt;br /&gt;
Fall 1) Kein Siebträger oder Siebträger ohne Kaffeepuck&amp;lt;br&amp;gt;&lt;br /&gt;
Im Fall 1 bildet sich an der Brühgruppe kein/kaum Gegendruck auf, als erster Grenzwert wurde 1 bar festgehalten. Außerdem steigt der Durchfluss deutlich über 1cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s an. Bei Erkennung dieses Falles wird ein sogenannter „Flush“ (Durchspülung) aktiviert.&lt;br /&gt;
&lt;br /&gt;
Fall 2) Siebträger mit Blindsieb&amp;lt;br&amp;gt;&lt;br /&gt;
Hier entsteht der bei der vorgegebenen Pumpenleistung maximal mögliche Gegendruck in der Brühgruppe, zudem wird der Durchfluss 0. Bei Erkennung dieses Falles wird eine Rückspülreinigung initiiert.&lt;br /&gt;
&lt;br /&gt;
Fall 3) Siebträger mit Kaffeepuck (Fehlerfall)&amp;lt;br&amp;gt;&lt;br /&gt;
Bei einem regelkonformen Kaffeebezug entsteht ein Brühgruppendruck von ca 9 bar und ein Durchfluss von 1 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s. Diese Werte werden auch hier verwendet, um die fehlerhafte Eingabe zu erkennen. Bei Erkennung dieses Falles wird ein Fehler ausgegeben.&lt;br /&gt;
&lt;br /&gt;
Weiterhin wurde ein geschlossener Bypass für sämtliche Reinigungsprogramme definiert. Zielsetzung ist es, eine Reinigung mit möglichst hohem Druck (Fall 2) bzw. mit möglichst hohem Durchfluss (Fall 1) und somit in möglichst kurzer Zeit durchzuführen. Die Wirksamkeit dieser Parameter muss noch ermittelt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Direkt zu Beginn der Versuchsreihe wurde neues Kaffeepulver (Tanzania Coffee, Röstzeit 18:19 Minuten, T-Out 186 °C) geöffnet. Dies führte zu Problemen im parametrierten Kaffeebezug. Ferner ist auch die Bypass-Schließung als Problemfaktor zu notieren.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine Unterscheidung zwischen Fall 1 und 2 gelang sehr zügig, da beide Messwerte (Durchfluss und Brühgruppendruck) stark divergieren.&amp;lt;br&amp;gt;&lt;br /&gt;
Problematisch gestaltet sich die Erkennung des Fehlerfalls 3. Bei den gefahrenen Testreihen konnte zeitweise kein Unterschied zwischen Fall 2 und 3 erkannt werden, da sich in beiden Fällen ein Gegendruck von ca 13 bar und ein Durchfluss von 0 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s einstellte (s. Abb. 1 und 2).&amp;lt;br&amp;gt;&lt;br /&gt;
Eine Veränderung des Mahlgrades verbesserte die Differenzierung zwischen Fall 2 und 3, da nun ein Durchfluss (ca. 1,5 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s) sowie ein geringerer statischer Brühgruppendruck (9-11 bar je nach Mahlgrad) für Fall 3 festgestellt werden konnte (s. Abb. 3).&lt;br /&gt;
&lt;br /&gt;
Als erste Erkenntnis kann somit festgehalten werden, dass ein spezifischer Mahlgrad je nach Kaffeesorte eingehalten werden muss, um eine fehlerfreie Erkennung zwischen Fall 2 und 3 zu ermöglichen.&amp;lt;br&amp;gt;&lt;br /&gt;
Im aktuellen Fall (Pumpenleistung 2000 mV; Bypass 0; Dosierventil 30; Tanzania Coffee, Röstzeit 18:19 Minuten, T-Out 186 °C) ist dies der Mahlgrad 4.&amp;lt;br&amp;gt;&lt;br /&gt;
Folgeversuche sind jedoch notwendig, um eine gewisse Wiederholgenauigkeit erzielen zu können.&amp;lt;br&amp;gt;&lt;br /&gt;
Sind diese erfolgreich, so kann eine erste Programmierung der Fallunterscheidung vorgenommen werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Außerdem ist es sinnvoll, eine Kennlinie Maximaler Brühgruppendruck bei Bypass auf 0 Schritte/Pumpenleistung zu erstellen, um das Reinigungsprogramm auch für neue Parameter zu befähigen.&amp;lt;br&amp;gt;&lt;br /&gt;
Im weiteren Verlauf (voraussichtlich nach der initialen Programmierung und Testphase) muss geprüft werden, inwiefern der Parameter Durchfluss als Messwert zur frühzeitigen Erkennung des Falles 2 geeignet ist. In Testläufen dauerte es ca. 15 Sekunden, bis ein Durchfluss von 0 und somit das Vorliegen einer Rückspül-Reinigung festgestellt werden konnte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Umkehrschluss bedeutet dies, dass bei einer Miteinbeziehung dieses Wertes in die Fallunterscheidung frühestens nach 15-20 Sekunden erkannt werden kann, ob tatsächlich eine Rückspülreinigung stattfinden soll oder ob der Fehlerfall 3 eingetreten ist.&lt;br /&gt;
&lt;br /&gt;
= Armin Rohnen, 21.02.2022 =&lt;br /&gt;
Auf Tastendruck soll ein Spülvorgang ausgelöst werden.&lt;br /&gt;
Befindet sich kein Blindsieb im Siebträger ist bei definierter Pumpenleistung ein Durchfluss zu erkennen. Dabei sollte zwischen dem Zuständen &amp;quot;Siebträger mit Kaffeepuk&amp;quot;, &amp;quot;Siebträger ohne Kaffeepuk&amp;quot; und &amp;quot;ohne Siebträger&amp;quot; unterschieden werden können. Für die Fälle &amp;quot;Siebträger ohne Kaffeepuk&amp;quot; und &amp;quot;ohne Siebträger&amp;quot; soll ein Flush-Vorgang aktiviert werden. Für &amp;quot;Siebträger mit Kaffeepuk&amp;quot; wird eine Fehlbedienung angenommen.&lt;br /&gt;
&lt;br /&gt;
Befindet sich ein Blindsieb im Siebträger, dann stellt sich bei definierter Pumpenleistung ein statischer Druck ein und es erfolgt kein bzw. lediglich marginaler Durchfluss. Dieses Merkmal wird dazu verwendet eine halbautomatische Rückspülreinigung durch zu führen.&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Zielvereinbarung&amp;diff=1583</id>
		<title>Zielvereinbarung</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Zielvereinbarung&amp;diff=1583"/>
		<updated>2023-07-31T07:26:18Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#   Der Projektplan wird durch Hendrik Wegjan geführt.&lt;br /&gt;
# 	Die Implementierung der einzelnen Ergebnisse der Aufgaben erfolgen in Absprache mit Melina Scherf.&lt;br /&gt;
#	Der aktuell erfasste Leitwert des Wassers soll durch den Leitungsdruck ersetzt werden. Der Sensor ist bereits in der Maschine verbaut, muss jedoch anstelle des Leitwertsensors angeschlossen werden.&amp;lt;br&amp;gt; Bearbeitende: Madita vom Stein, Noureddine Ait Ouhamou&amp;lt;br&amp;gt;&lt;br /&gt;
#	Der Code für den Mischregler wurde bereits geschrieben, die Reglung muss jedoch noch praktisch getestet werden.&amp;lt;br&amp;gt; Bearbeitende: Hendrik Wegjan, Simon Thrainer&lt;br /&gt;
#	Der Code für den Durchflussregler wurde bereits geschrieben, die Reglung muss jedoch noch praktisch getestet werden.&amp;lt;br&amp;gt; Bearbeitende: Hendrik Wegjan, Simon Thrainer&lt;br /&gt;
#	Mehrere verschiedene Kaffeebezüge sollen in der GUI durch Drucktasten simuliert werden. Der Bediener soll dazu einen Bezug auswählen, die Parameter selbst eingeben können und automatisch sein Getränk erhalten. Es ist jedoch zu beachten, dass aktuell bei gewünschter Füllmenge der Kaffeebezug manuell beendet werden muss, da die Maschine nicht registriert, wann die Flüssigkeit beginnt in die Tasse zu fließen. In der Industrie sind bereits Lösungen für dieses Problem umgesetzt, dies soll aber kein Teil dieser Projektarbeit sein.&amp;lt;br&amp;gt; Bearbeitende: Madita vom Stein, Melina Scherf&lt;br /&gt;
#	Es soll ein Wasserbezug realisiert werden, dazu werden vom Bediener manuell Bezugstemperatur und Durchfluss angegeben und anschließend automatisch auf den Wasserstrang umgeschaltet. &amp;lt;br&amp;gt; Bearbeitende: Madita vom Stein, Melina Scherf&lt;br /&gt;
#	Für den Dampfbezug ist ein Soft Open geplant: Eine Drossel oder das elektronische Dosierventil soll anstelle des Magnetventils als Dampfhahn fungieren, sodass der Querschnitt nicht zwingend 100% öffnet. Dieses Vorhaben ist für die Projektarbeit zunächst zweitrangig.&lt;br /&gt;
#	Eine Reinigung der Maschine auf Knopfdruck soll durch Spülvorgänge ermöglicht werden. Dazu werden zwei unterschiedliche Vorgänge unterschieden: &amp;lt;br&amp;gt; Zum einen der nach jeder Benutzung ausgeführte Flush ohne Gegendruck, da sich kein Blindsieb im Siebträger befindet.&amp;lt;br&amp;gt; Zum anderen eine tägliche Rückspülung vor dem Abschalten der Maschine, um die hartnäckigen Verschmuzungn durch die ätherischen Öle im Kaffee zu entfernen. Dazu soll ein Blindsieb eingebaut werden, sodass theoretisch ein Druckaufbau möglich ist. Es muss jedoch getestet werden, wie es sich in der Praxis verhält und ob Probleme mit dem Durchflussregler auftreten, der wo-möglich fälschlicherweise einen Durchfluss erfasst. &amp;lt;br&amp;gt; Das Reinigungsmittel wird in das Blindsieb gegeben und es wird die Brühgruppe gereinigt, anschließend ist eine Durchspülung erforderlich. Das Maschinenkonzept verfügt über eine sogenannte Rückspülleitung, welche mit einem Magnetventil geöffnet wird, um dieses zu ermöglichen.&amp;lt;br&amp;gt; Dieses Programm ist entwickelbar auf Thonny-Basis.&amp;lt;br&amp;gt; Bearbeitende: Hendrik Wegjan, Simon Thrainer, Madita vom Stein&lt;br /&gt;
#	Der Schrittmotor des Bypasses muss initialisiert werden. Am Bypass ist ein elektronisches Dosierventil von AVS Römer verbaut, welches zweifelsfrei initialisiert werden muss. Ungeklärt bei den elektronischen Dosierventil ist die Schrittgeschwindigkeit des Schrittmotors. Aktuell sind je ½-Schritt 2500 us Pause. Es muss ermittelt werden, welcher maximale statische Druck bei welcher Bypass-½-Schrittzahl erreicht werden kann.&amp;lt;br&amp;gt; Es wird dadurch jedoch die Fördermenge eingeschränkt, es muss also beach-tet werden, dass der Teewasserbezug in akzeptabler Geschwindigkeit erfolgen kann. &amp;lt;br&amp;gt; Dieses Thema kann bereits vor dem Umbau der Multi-MCU bearbeitet werden. &amp;lt;br&amp;gt; Bearbeitende: Madita vom Stein, Melina Scherf, Hendrik Wegjan &lt;br /&gt;
#	Das elektronische Dosierventil wird als Schrittmotor betrieben. Laut Hersteller sind es bei diesem 280 Schritte (560 ½-Schritte) über den gesamten Verstell-weg. Eine Labormessung hingegen hat 480 ½-Schritte ergeben. Eventuell muss hier die Pausenzeit von 2500 us erhöht werden. Das Thema ist zu prüfen.  &amp;lt;br&amp;gt; Für den Bypass wird eine Kennlinie des maximalen statischen Druckes in ½-Schritten benötigt.&amp;lt;br&amp;gt; Für den Mischer wird eine Kennlinie der Mischtemperatur in ½-Schritten für die Boilertemperatur der üblichen 1300 mbar Boilerdruck als Vorsteuerung für die Mischerreglung benötigt.&amp;lt;br&amp;gt; Alle Schrittmotoren müssen zum Start der Maschine initialisiert werden. &amp;lt;br&amp;gt; Bearbeitende: Simon Thrainer, Hendrik Wegjan&lt;br /&gt;
#	Die Brühgruppendrossel besteht aus eine, Schrittmotor mit Getriebe und ei-ner manuellen Drossel mit 1,5 mm Querschnitt. Die Drossel sollte mit einer Querschnittsangabe eingestellt werden. &amp;lt;br&amp;gt; Derzeit ist unklar, ob diese Drossel dauerhaft benötigt wird oder dies durch Reglung ersetzt werden kann. &amp;lt;br&amp;gt; Bearbeitende: Simon Thrainer, Hendrik Wegjan &lt;br /&gt;
#	Es wurde abgestimmt, die GUI in MATLAB® inklusive des absolut manuellen Modus‘ neu zu erstellen, da der Aufwand einer Neuerstellung durch die Projektteilnehmer kleiner eingeschätzt wird als die Einarbeitung in die alte GUI. Zusätzlich dient dies dem genaueren Verständnis, wie die Kaffeemaschine arbeitet.  &amp;lt;br&amp;gt; Um den Umstieg auf die Multi-MCU möglichst reibungslos zu gestalten, sollen die Devices (Platinen) durch Variablen im Code angesteuert werden können. &amp;lt;br&amp;gt; Bearbeitende: Madita vom Stein, Melina Scherf&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Schrittmotorensteuerung_Mischer&amp;diff=1579</id>
		<title>Schrittmotorensteuerung Mischer</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Schrittmotorensteuerung_Mischer&amp;diff=1579"/>
		<updated>2023-07-30T18:07:03Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Hendrik Wegjan, 28.07.2023 - ergänzende Abschlussbemerkung =&lt;br /&gt;
Ergänzend zu den Aufgaben für zukünftige Projektgruppen (s. Eintrag vom 23.05.2023) sind weitere Probleme aufgetreten:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1) Ergänzung zur Problemstellung: „Verhaken“ des Dosierventils in Endpositionen&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
Es wurde von AVS Römer bestätigt, dass sich das Dosierventil in der offenen Endlage je nach Anzahl der „überfahrenen“ Halbschritte aushängt. Außerdem verklebt das Ventil in geschlossener Endlage, sofern es länger nicht bewegt wird.&amp;lt;br&amp;gt;&lt;br /&gt;
Dementsprechend muss das Ventil beim Ausschalten der Maschine in eine Art „Mittelposition“ gefahren werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Routine ist in der MATLAB®-Funktion uifigure.close() niederzuschreiben.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039; In der Initialisierung wird aktuell die Position in der Sequenzmatrix immer auf -1 gesetzt. Dadurch wird nach einem Neustart beim erstmaligen Verfahren der Schrittmotoren (und somit meistens bei der Initialisierung) immer mit der ersten Sequenz gestartet (Bei Verständnisfragen s. Kommentierung Schrittmotor-Python-Code).&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Annahme passt aber nicht zum realen Bild, bei dem der Schrittmotor vor dem Ausschalten/Neustarten der Kaffeemaschine in jeder beliebigen Sequenz stehengeblieben sein kann.&lt;br /&gt;
Dadurch ist ein Springen des Schrittmotors zu Beginn quasi garantiert.&amp;lt;br&amp;gt;&lt;br /&gt;
Ein Lösungsvorschlag wäre, die Ausschalt-Routine (aus 1)) dahingehend zu programmieren, dass die Schrittmotoren so verfahren werden, dass sie genau bei der letzen Stellsequenz („seq8“) stehenbleiben. Bei einem Neustart würde dann richtigerweise die erste Stellsequenz („seq1“) gefahren werden.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039; Es ist die Problematik aufgetreten, dass beim Erreichen einer Endlage (vor allem bei einer vollständigen Schließung der Drossel) der Schrittmotor physisch logischerweise nicht mehr weiterfährt, die Stellsequenzen aber weiter durchlaufen werden (da immer die aus MATLAB® übergebene Halbschrittanzahl gefahren wird).&amp;lt;br&amp;gt;&lt;br /&gt;
Auch hieraus ergibt sich die Problematik, dass der Schrittmotor anfängt zu springen, sobald er aus dieser Endlage hinaus dann erneut angesteuert wird. Dadurch gehen Schritte verloren, was vor allem in der Initialisierung nicht erlaubt ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Es muss erarbeitet werden, ob dieses Problem z.B. durch eine geschicktere Ansteuerung lösbar ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Ansonsten muss eine Alternative definiert werden (z.B. ein Erhöhen der übermittelten Halbschrittanzahl um einen Sequenzdurchlauf (+8), sofern bekannt ist, dass in eine Endlage gefahren wird. Damit wird ein eventuelles Springen des Schrittmotors kompensiert, aber die Stellgenauigkeit leidet natürlich darunter).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Simon Thrainer, 23.05.2023 - vorläufige Abschlussbemerkung =&lt;br /&gt;
[[Datei:20230522 Mischwassertemperatur Dosierventil Zeit.png|500px|thumb|gerahmt|rechts|alternativtext=Abbildung 3: Temperaturverlauf des Mischwassers (blau) über der Versuchsdauer|Abbildung 3: Temperaturverlauf des Mischwassers (blau) über der Versuchsdauer]]&lt;br /&gt;
[[Datei:20230522 Kennlinie Mischwassertemperatur Dosierventilstellung.png|500px|thumb|gerahmt|rechts|alternativtext=Abbildung 2: Kennlinie der Mischwassertemperatur in Abhängigkeit von der Dosierventilstellung|Abbildung 2: Kennlinie der Mischwassertemperatur in Abhängigkeit von der Dosierventilstellung]]&lt;br /&gt;
==Änderungen an der aktuellen GUI==&lt;br /&gt;
In die aktuelle MATLAB®-GUI (EspressoMenu_20230118) im Ordner Betriebssoftware wurde die Funktion „KennlinieDosierventil“ implementiert. Sie öffnet das Dosierventil schrittweise durch Verstellen des Schrittmotors alle 10 s um 40 Halbschritte. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Versuchsdurchführung und Erstellung der Kennlinie==&lt;br /&gt;
Der Versuchsablauf wurde mit einer Pumpenleistung von 3000 mV, einer Bypass-Stellung von 50 Halbschritten und vollständig aufgeheiztem Boiler (1300 mbar Boilerdruck) durchgeführt. Zuerst wurde das Dosierventil vollständig geschlossen und dann mithilfe der Funktion langsam geöffnet, was das Diagramm in Abbildung 3 ergab. Aus den Temperaturen, auf die sich das Mischwasser nach jedem Verstellen einpendelt, wurde die Kennlinie der Mischwassertemperatur in Abhängigkeit von der Dosierventilstellung erstellt (s. Abbildung 2). &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Problemstellungen==&lt;br /&gt;
Bei der Erstellung der Kennlinie traten mehrere Probleme auf:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
•	Die Mischwassertemperatur ist trotz geschlossenem Dosierventil anfangs nicht über 60 °C angestiegen. Das kann nach einem Hinweis von Armin Rohnen daran liegen, dass der Schrittmotor in einer Endposition „verklebt“ bzw. „verhakt“ und erst frei gefahren werden muss, bis er gesichert jeden Schritt fährt.&lt;br /&gt;
Dieses Problem kann für eine gewisse Zeit lang umgangen werden, indem der Schrittmotor bei der Initialisierung mit verlängerter Pausenzeit und einer größeren Anzahl von zu fahrenden Schritten gesichert geöffnet und geschlossen wird.&lt;br /&gt;
Armin Rohnen hat vorgeschlagen, dass die Schrittmotoren nicht in einer Endposition verweilen sollten, sondern in Ruhezeiten in einer mittleren Position stehen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
•	Die Vermutung, dass die Schrittmotoren mehr als 560 Halbschritte fahren können, hat sich bestätigt. In Abbildung 1 sind mehr als 14 Temperatursprünge zu sehen. Da die Pausenzeit, bei der sicher alle Schritte gefahren werden, mit 2000 µs bereits ermittelt wurde, kann davon ausgegangen werden, dass für jeden Temperatursprung tatsächlich 40 Halbschritte gefahren wurden.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Aufgaben für zukünftige Projektgruppen==&lt;br /&gt;
•	Es soll ermittelt werden, unter welchen Umständen es dazu kommen kann, dass die Schrittmotoren in einer Endposition hängen bleiben und wie dieses Problem effektiv vermieden werden kann.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
•	Es soll ermittelt werden, wie viele Schritte die Schrittmotoren tatsächlich fahren können.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Versuchstaten können [http://www.institut-fuer-kaffeetechnologie.de/Intern/index.php?title=Versuchsdaten_Labormaschine#23.05.2023_Simon_Thrainer_-_Mischwassertemperatur-Druck hier]heruntergeladen werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Hendrik Wegjan, 12.05.2023 =&lt;br /&gt;
[[Datei:20231205 Schrittmotor Pausenzeiten.png|500px|thumb|rechts|Abbildung 1: Darstellung Brühgruppendruckentwicklung bei verschiedenen Stell-Pausenzeiten]] &amp;lt;br&amp;gt;&lt;br /&gt;
In die aktuelle MATLAB®-GUI (EspressoMenu_20230118) im Ordner Betriebssoftware wurde die Funktion Schrittmotor_Auto implementiert. Sie enthält ein zeitgesteuertes Schließen der Bypass-Drossel. Aktuell werden alle 5 Sekunden 40 Schritte gestellt.&lt;br /&gt;
&lt;br /&gt;
Mit dieser Funktion wurde die Versuchsreihe zur Ermittlung der minimal möglichen Stell-Pausenzeit durchgeführt.&lt;br /&gt;
Dabei wurde die Pausenzeit zwischen den Schritten variiert (genaue Werte s. Abbildung 1) und dann immer derselbe Ablauf gefahren:&lt;br /&gt;
&lt;br /&gt;
1.	Bypass-Drossel gesichert vollständig öffnen (z.B. mit Thonny-Programm „Schrittmotor_gesicherter_Reset“)&lt;br /&gt;
&lt;br /&gt;
2.	Wasserzufuhr auf Brühgruppe schalten (Y1 + Y6 + Y7 ON)&lt;br /&gt;
&lt;br /&gt;
3.	Pumpe einschalten (Leistung: 3000 mV)&lt;br /&gt;
&lt;br /&gt;
4.	In Tab „Tests“ wechseln und „Schrittmotor Auto“ anklicken&lt;br /&gt;
&lt;br /&gt;
5.	Warten, bis Maximaldruck (ca. 13 bar) erreicht ist, dann Messwertpuffer speichern und Pumpe ausschalten, evtl. Brühgruppe entlüften (Y08 ON)&lt;br /&gt;
&lt;br /&gt;
Aus Abbildung 1 ist erkennbar, dass ab einer Pausenzeit von 2000 µs (lila) ein annähernd gleicher Verlauf des Brühgruppendrucks entsteht.&lt;br /&gt;
Es kann also angenommen werden, dass bei einer Stell-Pausenzeit größer/gleich 2000 µs keine Schritte übersprungen werden.&lt;br /&gt;
&lt;br /&gt;
Im nächsten Schritt wird mit den neuen Pausenzeiten gearbeitet und die Kennlinie Mischwassertemperatur/Dosierventilstellung generiert.&lt;br /&gt;
&lt;br /&gt;
Eine Anwendung der neuen Pausenzeiten auf die Schrittmotorinitialisierung muss ebenfalls stattfinden. Dort können die aktuellen Schrittzahlen (meistens 1200) durch die realen Werte (560) ersetzt werden, da jetzt bestätigt ist, dass jeder Schritt erkannt und gefahren wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Hendrik Wegjan, 05.05.2023 =&lt;br /&gt;
Die aktuelle Initialisierung und Ansteuerung der Schrittmotoren wurde im Zuge der Einarbeitung getestet. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beim Start der Kaffeemaschine werden die drei Schrittmotoren (Dosierventil Mischer, Dosierventil Bypass, Brühgruppendrossel) durch die Funktion init_mcus() identifiziert und initialisiert.&amp;lt;br&amp;gt;&lt;br /&gt;
Nach dieser erstmaligen Initialisierung sind jedem Schrittmotor seine individuellen vier Pins zugeordnet (Durch den Aufruf der schrittmotor.setup-Funktion).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Weiterhin wird die Funktion schrittmotor.sequenz() aufgerufen und dessen return-Wert der Variablen seq zugewiesen. Dadurch ist die Sequenzreihenfolge definiert, in der die Pins der Schrittmotoren bestromt werden müssen, damit er eindeutig fährt.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Info: Ein Schrittmotor besitzt einen dauermagnetischen Rotor, der durch wechselnde Magnetfelder in den Statorspulen angetrieben wird.&amp;lt;br&amp;gt;&lt;br /&gt;
Diese Statorspulen können über die Pins bestromt werden. Jede Stellsequenz erzeugt demnach durch die unterschiedliche Ansteuerung der Pins ein individuelles Magnetfeld, das immer genau zu einer Stellung des Rotors passt.&amp;lt;br&amp;gt;&lt;br /&gt;
Wird diese Sequenz-Reihenfolge nicht eingehalten, so fängt der Schrittmotor an, zu springen.&amp;lt;br&amp;gt;&lt;br /&gt;
Genauere Informationen zur Funktionsweise sind in [40] niedergeschrieben.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Außerdem wird für jeden Schrittmotor in einer Variable xxx_pos (z.B. dosierventil_pos fürs Dosierventil) der aktuelle Stand in der Schrittmotor-Stellsequenzreihenfolge auf -1 gesetzt. Dadurch startet der Schrittmotor beim Ersten Verfahren automatisch mit Sequenz 1 (Genaueres im nächsten Absatz).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Eine Ansteuerung erfolgt immer in der gleichen Reihenfolge:&amp;lt;br&amp;gt;&lt;br /&gt;
a) Aufruf der Python-Funktion (forwardStep für ein Öffnen, backwardStep für ein Schließen des jeweiligen Ventils) in der MATLAB® GUI &amp;lt;br&amp;gt;&lt;br /&gt;
b) Abarbeiten der Python-Funktion forwardStep()/backwardStep() auf der MCU &amp;lt;br&amp;gt;&lt;br /&gt;
Die exakten Funktionalitäten können der Programmcode-Kommentierung entnommen werden (s. Programmcode/schrittmotor.py).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese Ansteuerungsmethodik wird auch für die erste Initialisierung der Schrittmotoren beim Verbinden der Platinen verwendet. Alle Schrittmotoren werden aktuell mit 800 Halbschritten zuerst geöffnet (forwardStep) und dann geschlossen (backwardStep).&amp;lt;br&amp;gt;&lt;br /&gt;
In Bezug auf die von AVS Römer angegebenen 560 Halbschritte ist das deutlich zu viel.&amp;lt;br&amp;gt;&lt;br /&gt;
Das liegt primär an der noch nicht getesteten Stell-Pausenzeit der setStepper-Funktion.&amp;lt;br&amp;gt;&lt;br /&gt;
Aktuell werden 2500 µs verwendet.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sobald die korrekte Pausenzeit definiert ist, soll mit einer Halbschrittanzahl von 560 initialisiert werden.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Armin Rohnen, 07.04.2023 =&lt;br /&gt;
Für den Mischer ist eine zweifelsfreie Initialisierung zu Maschinenstart zu realisieren.&lt;br /&gt;
&lt;br /&gt;
Der Mischer ist über ein AVS Römer elektronisches Dosierventil mit 280 Schritten (lt. Herstellerangabe) realisiert.&lt;br /&gt;
&lt;br /&gt;
Es ist zu klären, mit welchen Pausenzeiten das Dosierventil zuverlässig betrieben werden kann. Im Weiteren wird eine Kennlinie für die Mischwassertemperatur in Abhängigkeit der Dosierventilstellung benötigt. Die Kennlinie soll für die übliche Boilertemperatur bei 1300 mbar Boilerdruck Gültigkeit aufweisen.&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=R%C3%BCcksprache_Labormaschine_20.07.2023&amp;diff=1539</id>
		<title>Rücksprache Labormaschine 20.07.2023</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=R%C3%BCcksprache_Labormaschine_20.07.2023&amp;diff=1539"/>
		<updated>2023-07-26T13:04:50Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: Die Seite wurde neu angelegt: „= Besprechungsprotokoll = Abschlussbesprechung&amp;lt;br&amp;gt; Ort: Zoom-Link s. Moodle-Kurs&amp;lt;br&amp;gt; Datum: 27.07.2023&amp;lt;br&amp;gt; Teilnehmer: Madita vom Stein, Simon Lorenz Thrainer, Melina Scherf, Hendrik Wegjan, Armin Rohnen&amp;lt;br&amp;gt; Moderator: Hendrik Wegjan&amp;lt;br&amp;gt; Protokollführer: Hendrik Wegjan  =Thema 1) Einholen der Zustimmung zum letzten Protokoll (27.06.2023); wer: alle= Das letzte Protokoll wurde von allen Teilnehmern akzeptiert.  =Thema 2) Vorbesprechung Abschlusspräsentat…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Besprechungsprotokoll =&lt;br /&gt;
Abschlussbesprechung&amp;lt;br&amp;gt;&lt;br /&gt;
Ort: Zoom-Link s. Moodle-Kurs&amp;lt;br&amp;gt;&lt;br /&gt;
Datum: 27.07.2023&amp;lt;br&amp;gt;&lt;br /&gt;
Teilnehmer: Madita vom Stein, Simon Lorenz Thrainer, Melina Scherf, Hendrik Wegjan, Armin Rohnen&amp;lt;br&amp;gt;&lt;br /&gt;
Moderator: Hendrik Wegjan&amp;lt;br&amp;gt;&lt;br /&gt;
Protokollführer: Hendrik Wegjan&lt;br /&gt;
&lt;br /&gt;
=Thema 1) Einholen der Zustimmung zum letzten Protokoll (27.06.2023); wer: alle=&lt;br /&gt;
Das letzte Protokoll wurde von allen Teilnehmern akzeptiert.&lt;br /&gt;
&lt;br /&gt;
=Thema 2) Vorbesprechung Abschlusspräsentation (Präsentationserstellung); wer: alle=&lt;br /&gt;
Es wurde der allgemeine Ablauf der Präsentation, sowie der Aufbau der einzelnen Teilpräsentationen besprochen.&amp;lt;br&amp;gt;&lt;br /&gt;
LbA Armin Rohnen wird den Kaffeemaschinen-Montag (24.07.2023) mit einer Einführungspräsentation beginnen und mit einem Ausblick beenden. Dazwischen stellen die Projektteilnehmer ihre Themen vor.&amp;lt;br&amp;gt;&lt;br /&gt;
Alle Präsentationen laufen über das Microsoft Surface von LbA Armin Rohnen, dafür müssen diese bis zum 23.07.2023 23:59 Uhr an ihn übermittelt werden. Für eine mögliche Demonstration von Teilfunktionen (z.B. das dynamische Verhalten der GUI-Oberfläche) kann die aktuelle GUI auf dem Microsoft Surface verwendet werden. Diese wird von Melina Scherf bereitgestellt, sobald sie vollständig kommentiert ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Im Anschluss an die Besprechung schickt LbA Armin Rohnen seinen Einführungsvortrag an alle Projektteilnehmer.&lt;br /&gt;
&lt;br /&gt;
=Thema 3) Messwerte erfassen Multi-MCU; wer: Melina Scherf, Noureddine Ait Ouhamou=&lt;br /&gt;
Seit der letzten Besprechung (27.06. 2023) wurde an diesem ToDo nicht&lt;br /&gt;
weitergearbeitet. Es steht noch eine Abschlussbemerkung aus, um die Thematik für&lt;br /&gt;
die aktuelle Projektgruppe zu beenden. Diese muss von LbA Armin Rohnen genehmigt&lt;br /&gt;
werden.&lt;br /&gt;
&lt;br /&gt;
=Thema 4) Pumpenansteuerung Multi-MCU; wer: Melina Scherf, Noureddine Ait Ouhamou=&lt;br /&gt;
s. Thema 3)&lt;br /&gt;
&lt;br /&gt;
=Thema 5) Mischregler Multi-MCU; wer: Simon Thrainer, Madita vom Stein=&lt;br /&gt;
Es wurde ein grundlegendes Reglerprinzip erarbeitet. Dieses wird in den Folgetagen&lt;br /&gt;
zusammen mit einer Abschlussbemerkung im Wiki hochgeladen.&lt;br /&gt;
&lt;br /&gt;
=Thema 6) Durchflussregler Multi-MCU; wer: Simon Thrainer, Madita vom Stein=&lt;br /&gt;
s. Thema 5)&lt;br /&gt;
&lt;br /&gt;
=Thema 7) Neuprogrammierung MATLAB®-GUI; wer: Melina Scherf, Madita vom Stein=&lt;br /&gt;
Melina Scherf wird in den nächsten Tagen die Kommentierung der von ihr erstellten&lt;br /&gt;
MATLAB®-GUI fertigstellen. Eine Abschlussbemerkung für das Wiki steht noch aus.&lt;br /&gt;
&lt;br /&gt;
=Thema 8) Kaffeebezug + Spülvorgänge Multi-MCU; wer: Noureddine Ait Ouhamou=&lt;br /&gt;
Es gibt zu diesem Zeitpunkt keine neuen Informationen zu diesem Thema.&lt;br /&gt;
&lt;br /&gt;
=Thema 9) Projektbericht; wer: alle=&lt;br /&gt;
Der Projektbericht sollte bis spätestens Mitte August fertiggestellt werden, da LbA Armin Rohnen unter anderem darauf basierend Aufgabenpakete für Folgegruppen entwickeln wird. Eine harte Deadline existiert zunächst nicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Hendrik Wegjan wird in den kommenden Tagen ein neues Inhaltsverzeichnis erstellen, in dem alle ToDos mit ihren Zuständigkeiten aufgelistet sind.&amp;lt;br&amp;gt;&lt;br /&gt;
Sofern dieses Verzeichnis von allen Teilnehmenden akzeptiert wird, erstellt jede Person den ihr/ihm zugewiesenen Teil des Projektberichts. Dabei liegt das Hauptaugenmerk auf einer genauen technischen Beschreibung der Problemstellung, sowie der von der Projektgruppe entwickelten Lösung und einem Ausblick für kommende Gruppen.&amp;lt;br&amp;gt;&lt;br /&gt;
Abschließend werden die Teildokumente in einem Bericht zusammengeführt und an LbA Armin Rohnen zur Korrektur übergeben.&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Entwicklung_Systemsoftware_SoSe2023&amp;diff=1538</id>
		<title>Entwicklung Systemsoftware SoSe2023</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Entwicklung_Systemsoftware_SoSe2023&amp;diff=1538"/>
		<updated>2023-07-26T12:43:05Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: /* Rückspracheprotokolle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Leistungsvereinbarung Projektgruppe =&lt;br /&gt;
Hendrik Wegjan, Simon Thrainer, Melina Scherf, Madita vom Stein&lt;br /&gt;
&lt;br /&gt;
[[Zielvereinbarung]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Leistungsvereinbarung Abschlussarbeit =&lt;br /&gt;
Noureddine Ait Ouhamou&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
- Aufbau der Platinen&amp;lt;br&amp;gt;&lt;br /&gt;
- Basisfunktionen in MicroPython&amp;lt;br&amp;gt;&lt;br /&gt;
- Regler in MATLAB GUI&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Ausführung der Globalen Arbeitspakete]]&lt;br /&gt;
&lt;br /&gt;
= Rückspracheprotokolle =&lt;br /&gt;
[[Projektstart 09.03.2023]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Rücksprache Labormaschine 13.03.2023]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Rücksprache Labormaschine 21.03.2023]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Rücksprache Labormaschine 31.03.2023]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Rücksprache Labormaschine 14.04.2023]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Rücksprache Labormaschine 27.04.2023]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Rücksprache Labormaschine 11.05.2023]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Rücksprache Labormaschine 25.05.2023]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Rücksprache Labormaschine 08.06.2023]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Rücksprache Labormaschine 27.06.2023]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Rücksprache Labormaschine 20.07.2023]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Projektdokumentation =&lt;br /&gt;
[[Arbeitsplan Zusammenführung Soft- und Hardware 25.05.2023]]&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Durchflussregler_Multi-MCU&amp;diff=1434</id>
		<title>Durchflussregler Multi-MCU</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Durchflussregler_Multi-MCU&amp;diff=1434"/>
		<updated>2023-07-21T11:30:19Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: /* Madita vom Stein, 21.07.2023 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Madita vom Stein, 21.07.2023 =&lt;br /&gt;
[[Datei:Durchflussreglerauslegung.png|500px|thumb|rechts]]&lt;br /&gt;
Durch den Durchflussregler soll sich die empfohlene Durchflussrate einstellen. Für einen einfachen Espresso sollte diese bei 1 ml/s liegen [85]. &amp;lt;br&amp;gt;&lt;br /&gt;
Aktuell ist der Durchflussregler als PID-Regler programmiert, wobei der kD-Anteil momentan gleich null ist, also ein PI_Regler vorliegt. Bei Bedarf kann ein differenzierender Anteil zusätzlich berücksichtigt, und damit auf einen PID-Regler gewechselt, werden. &amp;lt;br&amp;gt;&lt;br /&gt;
Ein kP-Anteil reagiert ohne Verzögerung auf den Regelfehler; hinterlässt aber bleibende Abweichungen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der integrative Anteil eines PID-Reglers sorgt für stationäre Genauigkeit; verzögert die Regelung jedoch. &amp;lt;br&amp;gt;&lt;br /&gt;
Durch den kD-Anteil wird die Wahl eines größeren kP-Faktors ermöglicht, da das System weniger schnell zum Schwingen beginnt. &amp;lt;br&amp;gt; &lt;br /&gt;
Die quantitativen Ziele für die Einschwingdauer und Überschwinger sind festzulegen. Der Regler soll stationär eine Abweichung kleiner gleich +-0,1 ml/s aufweisen [85]. &amp;lt;br&amp;gt;&lt;br /&gt;
Zum Erreichen dieser Ziele sollen kP-, kI- und kD-Faktoren, beziehungsweise sinnvolle Kombinationen eben dieser, optimiert werden. &lt;br /&gt;
Ein von uns vorgeschlagener Lösungsansatz ist, den Durchflussverlauf (Massen- bzw. Volumenstrom) über der Zeit mittels der Ziegler und Nichols Methode auszuwerten, und so mögliche Kombinationen der Reglerparameter zu bestimmen. Der Durchflussverlauf ergibt sich aufgrund von Eingangssprüngen, also Sprüngen der Ansteuerspannung der Pumpe. Diese liegt im Bereich von 0 - 5000 mV. Zu beachten ist dabei der zur Pumpe parallel geschaltete Bypass, durch den der Maximaldruck im System limitiert werden kann. Es gilt zu prüfen, ob dieser Bypass veränderlich sein soll oder nicht. &lt;br /&gt;
Der Durchfluss wird mittels einer Durchflussmessung hinter Pumpe und Bypass festgestellt. Der grundlegende Gedanke dieses Ansatzes ist in nebenstehender Abbildung visualisiert. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Armin Rohnen, 19.06.2023 =&lt;br /&gt;
Der Regler soll durch Verbesserung der Messwerte schneller gemacht werden. Des Weiteren müssen die Reglerverstärkungen ermittelt werden.&lt;br /&gt;
&lt;br /&gt;
= Armin Rohnen, 16.02.2023 =&lt;br /&gt;
Auf Basis der Abschlussarbeit von Jan Budnick [85] bzw. des Durchflussreglers (Labor) ist für die Multi-MCU-Elektronik der Durchflussregler zu realisieren. Dabei ist zu beachten, dass die Pumpenteuerung auf die Steuerspannung 0 bis 5 V angepasst wurde.&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Mischregler_Multi-MCU&amp;diff=1430</id>
		<title>Mischregler Multi-MCU</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Mischregler_Multi-MCU&amp;diff=1430"/>
		<updated>2023-07-20T14:25:13Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: /* Madita vom Stein, 20.07.2023 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Madita vom Stein, 20.07.2023 =&lt;br /&gt;
[[Datei:Mischreglerauslegung.png|500px|thumb|rechts]] &amp;lt;br&amp;gt;&lt;br /&gt;
Die quantitativen Ziele für die Einschwingdauer, Überschwinger und stationäre Genauigkeit sind festzulegen. Zum Erreichen dieser Ziele sollen k&amp;lt;small&amp;gt;P&amp;lt;/small&amp;gt;-, k&amp;lt;small&amp;gt;I&amp;lt;/small&amp;gt;- und k&amp;lt;small&amp;gt;D&amp;lt;/small&amp;gt;-Faktoren, beziehungsweise sinnvolle Kombinationen eben dieser, optimiert werden. &amp;lt;br&amp;gt;&lt;br /&gt;
Ein von uns vorgeschlagener Lösungsansatz ist, den Temperaturverlauf über der Zeit mittels der Ziegler und Nichols Methode auszuwerten, und so mögliche Kombinationen der Reglerparameter zu bestimmen. Der Temperaturverlauf ergibt sich aufgrund von Eingangssprüngen, also Sprüngen der Halbschrittanzahl des Schrittmotors. Der grundlegende Gedanke dieses Ansatzes ist in nebenstehender Abbildung visualisiert.&lt;br /&gt;
&lt;br /&gt;
= Madita vom Stein, 19.06.2023 =&lt;br /&gt;
Ziel des Mischreglers ist die Dosierung des Kaltwassers, um die Soll-Temperatur innerhalb einer möglichst kurzen Einschwingdauer, mit möglichst geringen Überschwingern, möglichst stationär genau zu erreichen. &amp;lt;br&amp;gt;&lt;br /&gt;
Hierfür werden Versuche mit variierenden k&amp;lt;small&amp;gt;P&amp;lt;/small&amp;gt;-, k&amp;lt;small&amp;gt;I&amp;lt;/small&amp;gt;- und gegebenenfalls k&amp;lt;small&amp;gt;D&amp;lt;/small&amp;gt;-Faktoren durchgeführt, und jeweils die Temperatur über der Zeit visualisiert. &amp;lt;br&amp;gt;&lt;br /&gt;
Aktuell ist der Mischregler als PID-Regler programmiert, wobei der k&amp;lt;small&amp;gt;D&amp;lt;/small&amp;gt;-Anteil momentan gleich null ist, also ein PI_Regler vorliegt. Bei Bedarf kann ein differenzierender Anteil zusätzlich berücksichtigt, und damit auf einen PID-Regler gewechselt werden. &amp;lt;br&amp;gt;&lt;br /&gt;
Ein k&amp;lt;small&amp;gt;P&amp;lt;/small&amp;gt;-Anteil reagiert ohne Verzögerung auf den Regelfehler; hinterlässt aber bleibende Abweichungen. &amp;lt;br&amp;gt;&lt;br /&gt;
Der integrative Anteil eines PID-Reglers sorgt für stationäre Genauigkeit; verzögert die Regelung jedoch. &amp;lt;br&amp;gt;&lt;br /&gt;
Durch den k&amp;lt;small&amp;gt;D&amp;lt;/small&amp;gt;-Anteil wird die Wahl eines größeren k&amp;lt;small&amp;gt;P&amp;lt;/small&amp;gt;-Faktors ermöglicht, da das System weniger schnell zum Schwingen beginnt. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Armin Rohnen, 19.06.2023 =&lt;br /&gt;
Der Regler für die Mischtemperatur in der Betriebssoftware wurde dem elektronischen Dosierventil angepasst, muss aber noch getestet werden.&lt;br /&gt;
&lt;br /&gt;
= Armin Rohnen, 16.02.2023 =&lt;br /&gt;
Der für die STM32-Elektronik realisierte Regler für die Mischwassertemperatur ist für die Multi-MCU-Elektronik zu realisieren.&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=1420</id>
		<title>Systemsoftware</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=1420"/>
		<updated>2023-07-19T17:22:32Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: /* ToDo-Liste: MATLAB®-Funktionen und GUI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;htmltag tagname=&amp;quot;img&amp;quot; src=&amp;quot;http://vg04.met.vgwort.de/na/4531f1734b324b72b2d7e566cdf639f0&amp;quot;  width=&amp;quot;1&amp;quot; height=&amp;quot;1&amp;quot; alt=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
[[Datei:Breites Logoband.png|mini|zentriert|hochkant=2.5]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die Systemsoftware lässt sich nicht ohne die Beachtung der Systemelektronik erstellen.&lt;br /&gt;
&lt;br /&gt;
Für die Systemsoftware wurde ein mehrstufiger Entwicklungsprozess definiert:&lt;br /&gt;
# Nutzung einer MCU auf der MicroPython verwendet werden kann. Dies ist durch das STM32F411 nucleo Board der Basiselektronik bzw. durch den Raspberry Pi Pico der Multi-MCU-Elektronik gegeben.&lt;br /&gt;
# Auf der MCU werden lediglich die elementaren Grundfunktionen (GPIO schalten und erfassen, Messwert erfassen, PWM Ausgeben, Sollwert ausgeben, etc.) realisiert und über eine MicroPython zu MATLAB® Schnittstelle [41] wird die Funktionalität in einer MATLAB® GUI hergestellt.&lt;br /&gt;
# Die Softwareentwicklung startet mit der labortechnischen Espressomaschine und wird auf die weiteren Projekte schrittweise transportiert. Dazu ist die Maschinenelektronik gleich zu halten und es sind die gleichen Anschluss-Pins zu verwenden.&lt;br /&gt;
# Nach Abschluss der Testphase der MATLAB® Bedienung wird schrittweise die Betriebssoftware in MicroPython auf der MCU implementiert, so dass am Ende dieses Prozessschrittes die MATLAB®-Verbindung lediglich für weiterführende Datenerfassung und grafische Darstellungen verwendet wird, welche nicht mit dem Display der Maschine möglich ist oder dort nicht dargestellt werden soll.&lt;br /&gt;
# Ob eine Portierung des MicroPython-Codes nach Microcontroller C durchgeführt wird, ist derzeit nicht entschieden.&lt;br /&gt;
&lt;br /&gt;
Es wurden mehrere, die Softwareentwicklung vorbereitende FMEAs durchgeführt.  Die hierdurch entstandenen Dokumentation befinden sich in der Dokumentationsauflistung. Im weiteren wurde eine Projektarbeit zur Konzeptfindung für die Badienung durchgeführt. Auch die hierdurch entstandenen, teilweise auf die FMEA aufbauenden Dokumente befinden sich in der Dokumentationsliste.&lt;br /&gt;
&lt;br /&gt;
= Projektdokumentationen und Beschreibungen =&lt;br /&gt;
* [[:Datei:20210228 Konzept Systemelektronik.pdf|Konzeptbeschreibung Systemelektronik]]&lt;br /&gt;
* [[:Datei:20210605 Workflow Embedded Systems.pdf|Workflow Embedded Systems]]&lt;br /&gt;
* [[:Datei:20200521 Bericht1 NerminArbi.pdf|Funktionsanalyse Boilerbefüllung, Tassenwärmung, Milchschäumen]]&lt;br /&gt;
* [[:Datei:20200518 Bericht halbauto Entkalkung Egger Alexander.pdf|Funktionsanalyse zur halbautomatischen Entkalkung]]&lt;br /&gt;
* [[:Datei:20200518 V0 4 Bericht Funktionsanalyse Rückspulung-Spulung Sladoje.pdf|Funktionsanalyse Rückspülung und Spülung]]&lt;br /&gt;
* [[:Datei:20200521 Bericht Espresso-Teewasserbezug Urbin.pdf|Funktionsanalyse Espresso und Teewasserbezug]]&lt;br /&gt;
* [[:Datei:20200522 Bericht Funktionsanalyse Energieeffizienz Egger Alexander.pdf|Funktionsanalyse Energieeffizienz]]&lt;br /&gt;
* [[:Datei:20200521 V2 Bericht Funktionsanalyse Bedienung Sladoje.pdf|Funktionsanalyse Bedienung]]&lt;br /&gt;
* [[:Datei:20200525 Bericht Abbildung aller Maschinen Urbin V2.pdf|Funktionsanalyse Abbildung aller Maschinen]]&lt;br /&gt;
* [[:Datei:20200609 Bericht Fehleranalyse Entschichtung.pdf|Fehleranalyse Entschichtung]]&lt;br /&gt;
* [[:Datei:20200610 Fehleranalyse Dampf Brühgruppe Sladoje.pdf|Fehleranalyse Brühgruppe und Dampfbezug]]&lt;br /&gt;
* [[:Datei:20200613 Bericht Fehleranalyse Mischer;Magnetventile V2.pdf|Fehleranalyse Mischer und Magnetventile]]&lt;br /&gt;
* [[:Datei:20200611 Bericht3 NerminArbi.pdf|Fehleranalyse Boiler]]&lt;br /&gt;
* [[:Datei:20200705 Dichtheitsprüfung.pdf|Dichtheitsprüfung]]&lt;br /&gt;
* [[:Datei:20200704 Massnahmen Urbin.pdf|Prüfkonzepte Magnetventile und Mischer]]&lt;br /&gt;
* [[:Datei:20200701 Maßnahmenanalyse NerminArbi.pdf|Maßnahmen Boiler]]&lt;br /&gt;
* [[:Datei:20200628 Maßnahmen Entschichtung zweiter Stand.pdf|Maßnahmen Entschichtung]]&lt;br /&gt;
* [[:Datei:20200627 Maßnahmenkonzept Brühguppe Dampf Sladoje.pdf|Maßnahmen Brühgruppe und Dampf]]&lt;br /&gt;
* [[:Datei:20200707_FMEA.xlsx|FMEA Tabelle]]&lt;br /&gt;
* [[:Datei:20201207_Bedienkonzept.pptx|PPT Simulation des Bedienkonzeptes]]&lt;br /&gt;
* [[:Datei:20210207_Bedienkonzept_Funktionsliste.xlsx|Bedienkonzept Funktionsliste]]&lt;br /&gt;
* [[:Datei:20210219_Bedienkonzept_Projektdokumentation.pdf|Bedienkonzept Projektdokumentation]]&lt;br /&gt;
* [[:Datei:HMProjektBedienoberflaecheEspresso.zip|MATLAB® GUI]]&lt;br /&gt;
* [[Entwicklung Systemsoftware SoSe2022]]&lt;br /&gt;
* [[Entwicklung Systemsoftware SoSe2023]]&lt;br /&gt;
&lt;br /&gt;
= [http://www.institut-fuer-kaffeetechnologie.de/Intern/index.php?title=Programmcode Programmcode] =&lt;br /&gt;
Aktueller Programmcode und Änderungsdokumentation ab Jan 2023&lt;br /&gt;
&lt;br /&gt;
= [http://www.institut-fuer-kaffeetechnologie.de/Intern/index.php?title=Software-Bugs Software-Bugs] =&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste(n) Systemsoftware =&lt;br /&gt;
&lt;br /&gt;
== Prioritätsangabe ==&lt;br /&gt;
Prio 1 - Abarbeitung zeitnah erforderlich&amp;lt;br&amp;gt;&lt;br /&gt;
Prio 2 - Abarbeitung erforderlich&amp;lt;br&amp;gt;&lt;br /&gt;
Prio 3 - Abarbeitung kann warten&amp;lt;br&amp;gt;&lt;br /&gt;
Prio 99 - Abarbeitung erfordert Vorarbeiten&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
10 - Erfasst&amp;lt;br&amp;gt;&lt;br /&gt;
30 - in Bearbeitung&amp;lt;br&amp;gt;&lt;br /&gt;
50 - Lösung definiert&amp;lt;br&amp;gt;&lt;br /&gt;
70 - in Umsetzung&amp;lt;br&amp;gt;&lt;br /&gt;
90 - Umsetzung abgeschlossen&amp;lt;br&amp;gt;&lt;br /&gt;
99 - Abbruch per Beschluss (Dokumentation dazu erforderlich)&amp;lt;br&amp;gt;&lt;br /&gt;
100 - Maßnahme bestätigt&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: Allgemeines =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Sicherheitsfunktionen]] || || 99 || 50 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[ Übersicht über verbaute Aktorik und Sensorik in Tabellenform]] || || 2 || 90 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Stromsparmodus]] || || 99 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: MCUs - Hardwarenahe Software =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Grundfunktionen der MCU und mehrere MCUs]] || Armin Rohnen || 1	|| 70 || &lt;br /&gt;
|-	&lt;br /&gt;
| [[UART-Kommunikation Multi-MCU]] || || 3	|| 10 || 	 &lt;br /&gt;
|-&lt;br /&gt;
| Basisboard: [[Schalten Magnetventile (Labor) STM32-Basisboard]] MATLAB®GUI || || || 100&lt;br /&gt;
|-&lt;br /&gt;
| Basisboard: [[Pumpenansteuerung Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 70 || 08.06.2023&lt;br /&gt;
|- 	 &lt;br /&gt;
| Basisboard: [[Schrittmotorsteuerungen Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 70 ||  	 08.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| Basisboard: [[Tastenerkennung Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 3 || 10 || &lt;br /&gt;
|- 	 &lt;br /&gt;
| Basisboard: [[Füllstandserkennung Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 70 || 08.06.2023&lt;br /&gt;
|- 	 &lt;br /&gt;
| Basisboard: [[Durchflussmessung Basisnoard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 70 || 08.06.2023&lt;br /&gt;
|- 	  	 	  	 &lt;br /&gt;
| SSR-Platine: [[Schalten Magnetventile SSR-Platine Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 70 || 08.06.2023&lt;br /&gt;
|- 	 &lt;br /&gt;
| SSR-Platine: [[Schrittmotorsteuerungen SSR-Platine Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 70 ||  	 	 	  	 08.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| Messplatine: [[Messdatenerfassung Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 70 || 08.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: MCUs - Realisierung und Übernahme der Funktionen =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Füllstandsregler Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Regler Boilerdruck Messplatine Multi-MCU]] || ||  2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Mischregler Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|- &lt;br /&gt;
| [[Durchflussregler Basisboard Multi-MCU]] || || 2 || 10 ||  	 &lt;br /&gt;
|-&lt;br /&gt;
| [[Preinfusion Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[einfacher (manueller) Kaffeebezug Basisboard Multi-MCU]] || || 2 || 10 ||  	 &lt;br /&gt;
|-&lt;br /&gt;
| [[Kaffeebezug Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Wasserbezug Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Dampfbezug Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Spülvorgänge Basisboard Multi-MCU]] || || 2 || 10 || 	 &lt;br /&gt;
|-&lt;br /&gt;
| [[Grundreinigung Basisboard Multi-MCU]] || || 2 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Tastenbedienung Basisboard Multi-MCU]] || || 2 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: MATLAB®-Funktionen und GUI =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Messwerte erfassen (Labor)]] || || || 99 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Messwerte erfassen Multi-MCU]] || Noureddine Ait Ouhamou, Melina Scherf|| 1 || 70 || 20.07.2023&lt;br /&gt;
|- &lt;br /&gt;
| [[Pumpenansteuerung (Labor)]] || ||  || 100 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Pumpenansteuerung Multi-MCU]] || Noureddine Ait Ouhamou, Melina Scherf|| 1 || 70 ||  20.07.2023&lt;br /&gt;
|- &lt;br /&gt;
| [[Füllstandsregler (Labor)]] || ||  || 100  || &lt;br /&gt;
|-&lt;br /&gt;
| [[Füllstandsregler Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  27.07.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Regler Boilerdruck (Labor)]] || ||  || 100 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Regler Boilerdruck Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  14.09.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Mischregler (Labor)]] || || || 99 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Mischregler Multi-MCU]] || Madita vom Stein, Simon Thrainer|| 1 || 30 ||  20.07.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Durchflussregler (Labor)]] || || || 99 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Durchflussregler Multi-MCU]] || Madita vom Stein, Simon Thrainer|| 1 || 30 ||  20.07.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Preinfusion Multi-MCU]] || || 99 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[einfacher Kaffeebezug (Labor)]] || ||  || 100 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[einfacher Kaffeebezug Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Kaffeebezug (Labor)]] || || || 99 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Kaffeebezug Multi-MCU]] || Noureddine Ait Ouhamou|| 2 || 10 ||  20.07.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Wasserbezug (Labor)]] || || || 99 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Wasserbezug Multi-MCU]] || Melina Scherf, Hendrik Wegjan|| 1 || 30 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Dampfbezug]] || ||  || 100 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Dampfbezug Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  04.08.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Spülvorgänge (Labor)]] || || || 100 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Spülvorgänge Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  20.07.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Grundreinigung Multi-MCU]] || || 2 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Tastenbedienung (Labor)]] || || || 99 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Tastenbedienung Multi-MCU]] ||  Noureddine Ait Ouhamou|| 3 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Display Multi-MCU]] || || 3 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Glasboiler Abtropfwanne]] || || 3 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Anpassungen für Schrittmotorensteuerung]] || || || 99 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Schrittmotorensteuerung Bypass]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Schrittmotorensteuerung Mischer]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Schrittmotorensteuerung Brühgruppendrossel]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Adaption an Multi-MCU - Neuprogrammierung MATLAB® GUI]] || Madita vom Stein, Melina Scherf|| 1 || 70 ||  20.07.2023&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: APP =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[APP - Konzept]] || || 2 || 10 || &lt;br /&gt;
|- 	 &lt;br /&gt;
| [[Messwerte erfassen APP]] || || 99 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Preset / Profilverwaltung]] || || 99 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=1379</id>
		<title>Systemsoftware</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=1379"/>
		<updated>2023-06-26T11:42:11Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: /* ToDo-Liste: MATLAB®-Funktionen und GUI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;htmltag tagname=&amp;quot;img&amp;quot; src=&amp;quot;http://vg04.met.vgwort.de/na/4531f1734b324b72b2d7e566cdf639f0&amp;quot;  width=&amp;quot;1&amp;quot; height=&amp;quot;1&amp;quot; alt=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
[[Datei:Breites Logoband.png|mini|zentriert|hochkant=2.5]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die Systemsoftware lässt sich nicht ohne die Beachtung der Systemelektronik erstellen.&lt;br /&gt;
&lt;br /&gt;
Für die Systemsoftware wurde ein mehrstufiger Entwicklungsprozess definiert:&lt;br /&gt;
# Nutzung einer MCU auf der MicroPython verwendet werden kann. Dies ist durch das STM32F411 nucleo Board der Basiselektronik bzw. durch den Raspberry Pi Pico der Multi-MCU-Elektronik gegeben.&lt;br /&gt;
# Auf der MCU werden lediglich die elementaren Grundfunktionen (GPIO schalten und erfassen, Messwert erfassen, PWM Ausgeben, Sollwert ausgeben, etc.) realisiert und über eine MicroPython zu MATLAB® Schnittstelle [41] wird die Funktionalität in einer MATLAB® GUI hergestellt.&lt;br /&gt;
# Die Softwareentwicklung startet mit der labortechnischen Espressomaschine und wird auf die weiteren Projekte schrittweise transportiert. Dazu ist die Maschinenelektronik gleich zu halten und es sind die gleichen Anschluss-Pins zu verwenden.&lt;br /&gt;
# Nach Abschluss der Testphase der MATLAB® Bedienung wird schrittweise die Betriebssoftware in MicroPython auf der MCU implementiert, so dass am Ende dieses Prozessschrittes die MATLAB®-Verbindung lediglich für weiterführende Datenerfassung und grafische Darstellungen verwendet wird, welche nicht mit dem Display der Maschine möglich ist oder dort nicht dargestellt werden soll.&lt;br /&gt;
# Ob eine Portierung des MicroPython-Codes nach Microcontroller C durchgeführt wird, ist derzeit nicht entschieden.&lt;br /&gt;
&lt;br /&gt;
Es wurden mehrere, die Softwareentwicklung vorbereitende FMEAs durchgeführt.  Die hierdurch entstandenen Dokumentation befinden sich in der Dokumentationsauflistung. Im weiteren wurde eine Projektarbeit zur Konzeptfindung für die Badienung durchgeführt. Auch die hierdurch entstandenen, teilweise auf die FMEA aufbauenden Dokumente befinden sich in der Dokumentationsliste.&lt;br /&gt;
&lt;br /&gt;
= Projektdokumentationen und Beschreibungen =&lt;br /&gt;
* [[:Datei:20210228 Konzept Systemelektronik.pdf|Konzeptbeschreibung Systemelektronik]]&lt;br /&gt;
* [[:Datei:20210605 Workflow Embedded Systems.pdf|Workflow Embedded Systems]]&lt;br /&gt;
* [[:Datei:20200521 Bericht1 NerminArbi.pdf|Funktionsanalyse Boilerbefüllung, Tassenwärmung, Milchschäumen]]&lt;br /&gt;
* [[:Datei:20200518 Bericht halbauto Entkalkung Egger Alexander.pdf|Funktionsanalyse zur halbautomatischen Entkalkung]]&lt;br /&gt;
* [[:Datei:20200518 V0 4 Bericht Funktionsanalyse Rückspulung-Spulung Sladoje.pdf|Funktionsanalyse Rückspülung und Spülung]]&lt;br /&gt;
* [[:Datei:20200521 Bericht Espresso-Teewasserbezug Urbin.pdf|Funktionsanalyse Espresso und Teewasserbezug]]&lt;br /&gt;
* [[:Datei:20200522 Bericht Funktionsanalyse Energieeffizienz Egger Alexander.pdf|Funktionsanalyse Energieeffizienz]]&lt;br /&gt;
* [[:Datei:20200521 V2 Bericht Funktionsanalyse Bedienung Sladoje.pdf|Funktionsanalyse Bedienung]]&lt;br /&gt;
* [[:Datei:20200525 Bericht Abbildung aller Maschinen Urbin V2.pdf|Funktionsanalyse Abbildung aller Maschinen]]&lt;br /&gt;
* [[:Datei:20200609 Bericht Fehleranalyse Entschichtung.pdf|Fehleranalyse Entschichtung]]&lt;br /&gt;
* [[:Datei:20200610 Fehleranalyse Dampf Brühgruppe Sladoje.pdf|Fehleranalyse Brühgruppe und Dampfbezug]]&lt;br /&gt;
* [[:Datei:20200613 Bericht Fehleranalyse Mischer;Magnetventile V2.pdf|Fehleranalyse Mischer und Magnetventile]]&lt;br /&gt;
* [[:Datei:20200611 Bericht3 NerminArbi.pdf|Fehleranalyse Boiler]]&lt;br /&gt;
* [[:Datei:20200705 Dichtheitsprüfung.pdf|Dichtheitsprüfung]]&lt;br /&gt;
* [[:Datei:20200704 Massnahmen Urbin.pdf|Prüfkonzepte Magnetventile und Mischer]]&lt;br /&gt;
* [[:Datei:20200701 Maßnahmenanalyse NerminArbi.pdf|Maßnahmen Boiler]]&lt;br /&gt;
* [[:Datei:20200628 Maßnahmen Entschichtung zweiter Stand.pdf|Maßnahmen Entschichtung]]&lt;br /&gt;
* [[:Datei:20200627 Maßnahmenkonzept Brühguppe Dampf Sladoje.pdf|Maßnahmen Brühgruppe und Dampf]]&lt;br /&gt;
* [[:Datei:20200707_FMEA.xlsx|FMEA Tabelle]]&lt;br /&gt;
* [[:Datei:20201207_Bedienkonzept.pptx|PPT Simulation des Bedienkonzeptes]]&lt;br /&gt;
* [[:Datei:20210207_Bedienkonzept_Funktionsliste.xlsx|Bedienkonzept Funktionsliste]]&lt;br /&gt;
* [[:Datei:20210219_Bedienkonzept_Projektdokumentation.pdf|Bedienkonzept Projektdokumentation]]&lt;br /&gt;
* [[:Datei:HMProjektBedienoberflaecheEspresso.zip|MATLAB® GUI]]&lt;br /&gt;
* [[Entwicklung Systemsoftware SoSe2022]]&lt;br /&gt;
* [[Entwicklung Systemsoftware SoSe2023]]&lt;br /&gt;
&lt;br /&gt;
= [http://www.institut-fuer-kaffeetechnologie.de/Intern/index.php?title=Programmcode Programmcode] =&lt;br /&gt;
Aktueller Programmcode und Änderungsdokumentation ab Jan 2023&lt;br /&gt;
&lt;br /&gt;
= [http://www.institut-fuer-kaffeetechnologie.de/Intern/index.php?title=Software-Bugs Software-Bugs] =&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste(n) Systemsoftware =&lt;br /&gt;
&lt;br /&gt;
== Prioritätsangabe ==&lt;br /&gt;
Prio 1 - Abarbeitung zeitnah erforderlich&amp;lt;br&amp;gt;&lt;br /&gt;
Prio 2 - Abarbeitung erforderlich&amp;lt;br&amp;gt;&lt;br /&gt;
Prio 3 - Abarbeitung kann warten&amp;lt;br&amp;gt;&lt;br /&gt;
Prio 99 - Abarbeitung erfordert Vorarbeiten&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
10 - Erfasst&amp;lt;br&amp;gt;&lt;br /&gt;
30 - in Bearbeitung&amp;lt;br&amp;gt;&lt;br /&gt;
50 - Lösung definiert&amp;lt;br&amp;gt;&lt;br /&gt;
70 - in Umsetzung&amp;lt;br&amp;gt;&lt;br /&gt;
90 - Umsetzung abgeschlossen&amp;lt;br&amp;gt;&lt;br /&gt;
99 - Abbruch per Beschluss (Dokumentation dazu erforderlich)&amp;lt;br&amp;gt;&lt;br /&gt;
100 - Maßnahme bestätigt&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: Allgemeines =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Sicherheitsfunktionen]] || || 99 || 50 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[ Übersicht über verbaute Aktorik und Sensorik in Tabellenform]] || || 2 || 90 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Stromsparmodus]] || || 99 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: MCUs - Hardwarenahe Software =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Grundfunktionen der MCU und mehrere MCUs]] || Armin Rohnen || 1	|| 70 || &lt;br /&gt;
|-	&lt;br /&gt;
| [[UART-Kommunikation Multi-MCU]] || || 3	|| 10 || 	 &lt;br /&gt;
|-&lt;br /&gt;
| Basisboard: [[Schalten Magnetventile (Labor) STM32-Basisboard]] MATLAB®GUI || || || 100&lt;br /&gt;
|-&lt;br /&gt;
| Basisboard: [[Pumpenansteuerung Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 70 || 08.06.2023&lt;br /&gt;
|- 	 &lt;br /&gt;
| Basisboard: [[Schrittmotorsteuerungen Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 70 ||  	 08.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| Basisboard: [[Tastenerkennung Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 3 || 10 || &lt;br /&gt;
|- 	 &lt;br /&gt;
| Basisboard: [[Füllstandserkennung Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 70 || 08.06.2023&lt;br /&gt;
|- 	 &lt;br /&gt;
| Basisboard: [[Durchflussmessung Basisnoard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 70 || 08.06.2023&lt;br /&gt;
|- 	  	 	  	 &lt;br /&gt;
| SSR-Platine: [[Schalten Magnetventile SSR-Platine Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 70 || 08.06.2023&lt;br /&gt;
|- 	 &lt;br /&gt;
| SSR-Platine: [[Schrittmotorsteuerungen SSR-Platine Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 70 ||  	 	 	  	 08.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| Messplatine: [[Messdatenerfassung Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 70 || 08.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: MCUs - Realisierung und Übernahme der Funktionen =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Füllstandsregler Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Regler Boilerdruck Messplatine Multi-MCU]] || ||  2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Mischregler Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|- &lt;br /&gt;
| [[Durchflussregler Basisboard Multi-MCU]] || || 2 || 10 ||  	 &lt;br /&gt;
|-&lt;br /&gt;
| [[Preinfusion Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[einfacher (manueller) Kaffeebezug Basisboard Multi-MCU]] || || 2 || 10 ||  	 &lt;br /&gt;
|-&lt;br /&gt;
| [[Kaffeebezug Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Wasserbezug Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Dampfbezug Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Spülvorgänge Basisboard Multi-MCU]] || || 2 || 10 || 	 &lt;br /&gt;
|-&lt;br /&gt;
| [[Grundreinigung Basisboard Multi-MCU]] || || 2 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Tastenbedienung Basisboard Multi-MCU]] || || 2 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: MATLAB®-Funktionen und GUI =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Messwerte erfassen (Labor)]] || || || 99 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Messwerte erfassen Multi-MCU]] || Noureddine Ait Ouhamou, Melina Scherf|| 1 || 70 || 27.06.2023&lt;br /&gt;
|- &lt;br /&gt;
| [[Pumpenansteuerung (Labor)]] || ||  || 100 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Pumpenansteuerung Multi-MCU]] || Noureddine Ait Ouhamou, Melina Scherf|| 1 || 70 ||  27.06.2023&lt;br /&gt;
|- &lt;br /&gt;
| [[Füllstandsregler (Labor)]] || ||  || 100  || &lt;br /&gt;
|-&lt;br /&gt;
| [[Füllstandsregler Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  27.07.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Regler Boilerdruck (Labor)]] || ||  || 100 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Regler Boilerdruck Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  14.09.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Mischregler (Labor)]] || || || 99 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Mischregler Multi-MCU]] || Madita vom Stein, Simon Thrainer|| 1 || 30 ||  27.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Durchflussregler (Labor)]] || || || 99 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Durchflussregler Multi-MCU]] || Madita vom Stein, Simon Thrainer|| 1 || 30 ||  27.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Preinfusion Multi-MCU]] || || 99 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[einfacher Kaffeebezug (Labor)]] || ||  || 100 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[einfacher Kaffeebezug Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Kaffeebezug (Labor)]] || || || 99 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Kaffeebezug Multi-MCU]] || Noureddine Ait Ouhamou|| 2 || 10 ||  20.07.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Wasserbezug (Labor)]] || || || 99 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Wasserbezug Multi-MCU]] || Melina Scherf, Hendrik Wegjan|| 1 || 30 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Dampfbezug]] || ||  || 100 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Dampfbezug Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  04.08.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Spülvorgänge (Labor)]] || || || 100 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Spülvorgänge Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  20.07.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Grundreinigung Multi-MCU]] || || 2 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Tastenbedienung (Labor)]] || || || 99 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Tastenbedienung Multi-MCU]] ||  Noureddine Ait Ouhamou|| 3 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Anpassungen für Schrittmotorensteuerung]] || || || 99 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Schrittmotorensteuerung Bypass]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Schrittmotorensteuerung Mischer]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Schrittmotorensteuerung Brühgruppendrossel]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Adaption an Multi-MCU - Neuprogrammierung MATLAB® GUI]] || Madita vom Stein, Melina Scherf|| 1 || 70 ||  27.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: APP =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[APP - Konzept]] || || 2 || 10 || &lt;br /&gt;
|- 	 &lt;br /&gt;
| [[Messwerte erfassen APP]] || || 99 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Preset / Profilverwaltung]] || || 99 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=1378</id>
		<title>Systemsoftware</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=1378"/>
		<updated>2023-06-26T11:41:56Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: /* ToDo-Liste: MATLAB®-Funktionen und GUI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;htmltag tagname=&amp;quot;img&amp;quot; src=&amp;quot;http://vg04.met.vgwort.de/na/4531f1734b324b72b2d7e566cdf639f0&amp;quot;  width=&amp;quot;1&amp;quot; height=&amp;quot;1&amp;quot; alt=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
[[Datei:Breites Logoband.png|mini|zentriert|hochkant=2.5]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die Systemsoftware lässt sich nicht ohne die Beachtung der Systemelektronik erstellen.&lt;br /&gt;
&lt;br /&gt;
Für die Systemsoftware wurde ein mehrstufiger Entwicklungsprozess definiert:&lt;br /&gt;
# Nutzung einer MCU auf der MicroPython verwendet werden kann. Dies ist durch das STM32F411 nucleo Board der Basiselektronik bzw. durch den Raspberry Pi Pico der Multi-MCU-Elektronik gegeben.&lt;br /&gt;
# Auf der MCU werden lediglich die elementaren Grundfunktionen (GPIO schalten und erfassen, Messwert erfassen, PWM Ausgeben, Sollwert ausgeben, etc.) realisiert und über eine MicroPython zu MATLAB® Schnittstelle [41] wird die Funktionalität in einer MATLAB® GUI hergestellt.&lt;br /&gt;
# Die Softwareentwicklung startet mit der labortechnischen Espressomaschine und wird auf die weiteren Projekte schrittweise transportiert. Dazu ist die Maschinenelektronik gleich zu halten und es sind die gleichen Anschluss-Pins zu verwenden.&lt;br /&gt;
# Nach Abschluss der Testphase der MATLAB® Bedienung wird schrittweise die Betriebssoftware in MicroPython auf der MCU implementiert, so dass am Ende dieses Prozessschrittes die MATLAB®-Verbindung lediglich für weiterführende Datenerfassung und grafische Darstellungen verwendet wird, welche nicht mit dem Display der Maschine möglich ist oder dort nicht dargestellt werden soll.&lt;br /&gt;
# Ob eine Portierung des MicroPython-Codes nach Microcontroller C durchgeführt wird, ist derzeit nicht entschieden.&lt;br /&gt;
&lt;br /&gt;
Es wurden mehrere, die Softwareentwicklung vorbereitende FMEAs durchgeführt.  Die hierdurch entstandenen Dokumentation befinden sich in der Dokumentationsauflistung. Im weiteren wurde eine Projektarbeit zur Konzeptfindung für die Badienung durchgeführt. Auch die hierdurch entstandenen, teilweise auf die FMEA aufbauenden Dokumente befinden sich in der Dokumentationsliste.&lt;br /&gt;
&lt;br /&gt;
= Projektdokumentationen und Beschreibungen =&lt;br /&gt;
* [[:Datei:20210228 Konzept Systemelektronik.pdf|Konzeptbeschreibung Systemelektronik]]&lt;br /&gt;
* [[:Datei:20210605 Workflow Embedded Systems.pdf|Workflow Embedded Systems]]&lt;br /&gt;
* [[:Datei:20200521 Bericht1 NerminArbi.pdf|Funktionsanalyse Boilerbefüllung, Tassenwärmung, Milchschäumen]]&lt;br /&gt;
* [[:Datei:20200518 Bericht halbauto Entkalkung Egger Alexander.pdf|Funktionsanalyse zur halbautomatischen Entkalkung]]&lt;br /&gt;
* [[:Datei:20200518 V0 4 Bericht Funktionsanalyse Rückspulung-Spulung Sladoje.pdf|Funktionsanalyse Rückspülung und Spülung]]&lt;br /&gt;
* [[:Datei:20200521 Bericht Espresso-Teewasserbezug Urbin.pdf|Funktionsanalyse Espresso und Teewasserbezug]]&lt;br /&gt;
* [[:Datei:20200522 Bericht Funktionsanalyse Energieeffizienz Egger Alexander.pdf|Funktionsanalyse Energieeffizienz]]&lt;br /&gt;
* [[:Datei:20200521 V2 Bericht Funktionsanalyse Bedienung Sladoje.pdf|Funktionsanalyse Bedienung]]&lt;br /&gt;
* [[:Datei:20200525 Bericht Abbildung aller Maschinen Urbin V2.pdf|Funktionsanalyse Abbildung aller Maschinen]]&lt;br /&gt;
* [[:Datei:20200609 Bericht Fehleranalyse Entschichtung.pdf|Fehleranalyse Entschichtung]]&lt;br /&gt;
* [[:Datei:20200610 Fehleranalyse Dampf Brühgruppe Sladoje.pdf|Fehleranalyse Brühgruppe und Dampfbezug]]&lt;br /&gt;
* [[:Datei:20200613 Bericht Fehleranalyse Mischer;Magnetventile V2.pdf|Fehleranalyse Mischer und Magnetventile]]&lt;br /&gt;
* [[:Datei:20200611 Bericht3 NerminArbi.pdf|Fehleranalyse Boiler]]&lt;br /&gt;
* [[:Datei:20200705 Dichtheitsprüfung.pdf|Dichtheitsprüfung]]&lt;br /&gt;
* [[:Datei:20200704 Massnahmen Urbin.pdf|Prüfkonzepte Magnetventile und Mischer]]&lt;br /&gt;
* [[:Datei:20200701 Maßnahmenanalyse NerminArbi.pdf|Maßnahmen Boiler]]&lt;br /&gt;
* [[:Datei:20200628 Maßnahmen Entschichtung zweiter Stand.pdf|Maßnahmen Entschichtung]]&lt;br /&gt;
* [[:Datei:20200627 Maßnahmenkonzept Brühguppe Dampf Sladoje.pdf|Maßnahmen Brühgruppe und Dampf]]&lt;br /&gt;
* [[:Datei:20200707_FMEA.xlsx|FMEA Tabelle]]&lt;br /&gt;
* [[:Datei:20201207_Bedienkonzept.pptx|PPT Simulation des Bedienkonzeptes]]&lt;br /&gt;
* [[:Datei:20210207_Bedienkonzept_Funktionsliste.xlsx|Bedienkonzept Funktionsliste]]&lt;br /&gt;
* [[:Datei:20210219_Bedienkonzept_Projektdokumentation.pdf|Bedienkonzept Projektdokumentation]]&lt;br /&gt;
* [[:Datei:HMProjektBedienoberflaecheEspresso.zip|MATLAB® GUI]]&lt;br /&gt;
* [[Entwicklung Systemsoftware SoSe2022]]&lt;br /&gt;
* [[Entwicklung Systemsoftware SoSe2023]]&lt;br /&gt;
&lt;br /&gt;
= [http://www.institut-fuer-kaffeetechnologie.de/Intern/index.php?title=Programmcode Programmcode] =&lt;br /&gt;
Aktueller Programmcode und Änderungsdokumentation ab Jan 2023&lt;br /&gt;
&lt;br /&gt;
= [http://www.institut-fuer-kaffeetechnologie.de/Intern/index.php?title=Software-Bugs Software-Bugs] =&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste(n) Systemsoftware =&lt;br /&gt;
&lt;br /&gt;
== Prioritätsangabe ==&lt;br /&gt;
Prio 1 - Abarbeitung zeitnah erforderlich&amp;lt;br&amp;gt;&lt;br /&gt;
Prio 2 - Abarbeitung erforderlich&amp;lt;br&amp;gt;&lt;br /&gt;
Prio 3 - Abarbeitung kann warten&amp;lt;br&amp;gt;&lt;br /&gt;
Prio 99 - Abarbeitung erfordert Vorarbeiten&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
10 - Erfasst&amp;lt;br&amp;gt;&lt;br /&gt;
30 - in Bearbeitung&amp;lt;br&amp;gt;&lt;br /&gt;
50 - Lösung definiert&amp;lt;br&amp;gt;&lt;br /&gt;
70 - in Umsetzung&amp;lt;br&amp;gt;&lt;br /&gt;
90 - Umsetzung abgeschlossen&amp;lt;br&amp;gt;&lt;br /&gt;
99 - Abbruch per Beschluss (Dokumentation dazu erforderlich)&amp;lt;br&amp;gt;&lt;br /&gt;
100 - Maßnahme bestätigt&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: Allgemeines =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Sicherheitsfunktionen]] || || 99 || 50 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[ Übersicht über verbaute Aktorik und Sensorik in Tabellenform]] || || 2 || 90 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Stromsparmodus]] || || 99 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: MCUs - Hardwarenahe Software =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Grundfunktionen der MCU und mehrere MCUs]] || Armin Rohnen || 1	|| 70 || &lt;br /&gt;
|-	&lt;br /&gt;
| [[UART-Kommunikation Multi-MCU]] || || 3	|| 10 || 	 &lt;br /&gt;
|-&lt;br /&gt;
| Basisboard: [[Schalten Magnetventile (Labor) STM32-Basisboard]] MATLAB®GUI || || || 100&lt;br /&gt;
|-&lt;br /&gt;
| Basisboard: [[Pumpenansteuerung Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 70 || 08.06.2023&lt;br /&gt;
|- 	 &lt;br /&gt;
| Basisboard: [[Schrittmotorsteuerungen Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 70 ||  	 08.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| Basisboard: [[Tastenerkennung Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 3 || 10 || &lt;br /&gt;
|- 	 &lt;br /&gt;
| Basisboard: [[Füllstandserkennung Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 70 || 08.06.2023&lt;br /&gt;
|- 	 &lt;br /&gt;
| Basisboard: [[Durchflussmessung Basisnoard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 70 || 08.06.2023&lt;br /&gt;
|- 	  	 	  	 &lt;br /&gt;
| SSR-Platine: [[Schalten Magnetventile SSR-Platine Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 70 || 08.06.2023&lt;br /&gt;
|- 	 &lt;br /&gt;
| SSR-Platine: [[Schrittmotorsteuerungen SSR-Platine Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 70 ||  	 	 	  	 08.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| Messplatine: [[Messdatenerfassung Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 70 || 08.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: MCUs - Realisierung und Übernahme der Funktionen =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Füllstandsregler Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Regler Boilerdruck Messplatine Multi-MCU]] || ||  2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Mischregler Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|- &lt;br /&gt;
| [[Durchflussregler Basisboard Multi-MCU]] || || 2 || 10 ||  	 &lt;br /&gt;
|-&lt;br /&gt;
| [[Preinfusion Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[einfacher (manueller) Kaffeebezug Basisboard Multi-MCU]] || || 2 || 10 ||  	 &lt;br /&gt;
|-&lt;br /&gt;
| [[Kaffeebezug Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Wasserbezug Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Dampfbezug Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Spülvorgänge Basisboard Multi-MCU]] || || 2 || 10 || 	 &lt;br /&gt;
|-&lt;br /&gt;
| [[Grundreinigung Basisboard Multi-MCU]] || || 2 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Tastenbedienung Basisboard Multi-MCU]] || || 2 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: MATLAB®-Funktionen und GUI =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Messwerte erfassen (Labor)]] || || || 99 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Messwerte erfassen Multi-MCU]] || Noureddine Ait Ouhamou, Melina Scherf|| 1 || 70 || 27.06.2023&lt;br /&gt;
|- &lt;br /&gt;
| [[Pumpenansteuerung (Labor)]] || ||  || 100 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Pumpenansteuerung Multi-MCU]] || Noureddine Ait Ouhamou, Melina Scherf|| 1 || 70 ||  27.06.2023&lt;br /&gt;
|- &lt;br /&gt;
| [[Füllstandsregler (Labor)]] || ||  || 100  || &lt;br /&gt;
|-&lt;br /&gt;
| [[Füllstandsregler Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  27.07.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Regler Boilerdruck (Labor)]] || ||  || 100 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Regler Boilerdruck Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  14.09.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Mischregler (Labor)]] || || || 99 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Mischregler Multi-MCU]] || Madita vom Stein, Simon Thrainer|| 1 || 30 ||  27.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Durchflussregler (Labor)]] || || || 99 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Durchflussregler Multi-MCU]] || Madita vom Stein, Simon Thrainer|| 1 || 30 ||  29.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Preinfusion Multi-MCU]] || || 99 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[einfacher Kaffeebezug (Labor)]] || ||  || 100 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[einfacher Kaffeebezug Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Kaffeebezug (Labor)]] || || || 99 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Kaffeebezug Multi-MCU]] || Noureddine Ait Ouhamou|| 2 || 10 ||  20.07.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Wasserbezug (Labor)]] || || || 99 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Wasserbezug Multi-MCU]] || Melina Scherf, Hendrik Wegjan|| 1 || 30 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Dampfbezug]] || ||  || 100 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Dampfbezug Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  04.08.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Spülvorgänge (Labor)]] || || || 100 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Spülvorgänge Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  20.07.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Grundreinigung Multi-MCU]] || || 2 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Tastenbedienung (Labor)]] || || || 99 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Tastenbedienung Multi-MCU]] ||  Noureddine Ait Ouhamou|| 3 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Anpassungen für Schrittmotorensteuerung]] || || || 99 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Schrittmotorensteuerung Bypass]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Schrittmotorensteuerung Mischer]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Schrittmotorensteuerung Brühgruppendrossel]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Adaption an Multi-MCU - Neuprogrammierung MATLAB® GUI]] || Madita vom Stein, Melina Scherf|| 1 || 70 ||  27.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: APP =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[APP - Konzept]] || || 2 || 10 || &lt;br /&gt;
|- 	 &lt;br /&gt;
| [[Messwerte erfassen APP]] || || 99 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Preset / Profilverwaltung]] || || 99 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=1208</id>
		<title>Systemsoftware</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=1208"/>
		<updated>2023-06-05T20:51:17Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: /* ToDo-Liste: MATLAB®-Funktionen und GUI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;htmltag tagname=&amp;quot;img&amp;quot; src=&amp;quot;http://vg04.met.vgwort.de/na/4531f1734b324b72b2d7e566cdf639f0&amp;quot;  width=&amp;quot;1&amp;quot; height=&amp;quot;1&amp;quot; alt=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
[[Datei:Breites Logoband.png|mini|zentriert|hochkant=2.5]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die Systemsoftware lässt sich nicht ohne die Beachtung der Systemelektronik erstellen.&lt;br /&gt;
&lt;br /&gt;
Für die Systemsoftware wurde ein mehrstufiger Entwicklungsprozess definiert:&lt;br /&gt;
# Nutzung einer MCU auf der MicroPython verwendet werden kann. Dies ist durch das STM32F411 nucleo Board der Basiselektronik bzw. durch den Raspberry Pi Pico der Multi-MCU-Elektronik gegeben.&lt;br /&gt;
# Auf der MCU werden lediglich die elementaren Grundfunktionen (GPIO schalten und erfassen, Messwert erfassen, PWM Ausgeben, Sollwert ausgeben, etc.) realisiert und über eine MicroPython zu MATLAB® Schnittstelle [41] wird die Funktionalität in einer MATLAB® GUI hergestellt.&lt;br /&gt;
# Die Softwareentwicklung startet mit der labortechnischen Espressomaschine und wird auf die weiteren Projekte schrittweise transportiert. Dazu ist die Maschinenelektronik gleich zu halten und es sind die gleichen Anschluss-Pins zu verwenden.&lt;br /&gt;
# Nach Abschluss der Testphase der MATLAB® Bedienung wird schrittweise die Betriebssoftware in MicroPython auf der MCU implementiert, so dass am Ende dieses Prozessschrittes die MATLAB®-Verbindung lediglich für weiterführende Datenerfassung und grafische Darstellungen verwendet wird, welche nicht mit dem Display der Maschine möglich ist oder dort nicht dargestellt werden soll.&lt;br /&gt;
# Ob eine Portierung des MicroPython-Codes nach Microcontroller C durchgeführt wird, ist derzeit nicht entschieden.&lt;br /&gt;
&lt;br /&gt;
Es wurden mehrere, die Softwareentwicklung vorbereitende FMEAs durchgeführt.  Die hierdurch entstandenen Dokumentation befinden sich in der Dokumentationsauflistung. Im weiteren wurde eine Projektarbeit zur Konzeptfindung für die Badienung durchgeführt. Auch die hierdurch entstandenen, teilweise auf die FMEA aufbauenden Dokumente befinden sich in der Dokumentationsliste.&lt;br /&gt;
&lt;br /&gt;
= Projektdokumentationen und Beschreibungen =&lt;br /&gt;
* [[:Datei:20210228 Konzept Systemelektronik.pdf|Konzeptbeschreibung Systemelektronik]]&lt;br /&gt;
* [[:Datei:20210605 Workflow Embedded Systems.pdf|Workflow Embedded Systems]]&lt;br /&gt;
* [[:Datei:20200521 Bericht1 NerminArbi.pdf|Funktionsanalyse Boilerbefüllung, Tassenwärmung, Milchschäumen]]&lt;br /&gt;
* [[:Datei:20200518 Bericht halbauto Entkalkung Egger Alexander.pdf|Funktionsanalyse zur halbautomatischen Entkalkung]]&lt;br /&gt;
* [[:Datei:20200518 V0 4 Bericht Funktionsanalyse Rückspulung-Spulung Sladoje.pdf|Funktionsanalyse Rückspülung und Spülung]]&lt;br /&gt;
* [[:Datei:20200521 Bericht Espresso-Teewasserbezug Urbin.pdf|Funktionsanalyse Espresso und Teewasserbezug]]&lt;br /&gt;
* [[:Datei:20200522 Bericht Funktionsanalyse Energieeffizienz Egger Alexander.pdf|Funktionsanalyse Energieeffizienz]]&lt;br /&gt;
* [[:Datei:20200521 V2 Bericht Funktionsanalyse Bedienung Sladoje.pdf|Funktionsanalyse Bedienung]]&lt;br /&gt;
* [[:Datei:20200525 Bericht Abbildung aller Maschinen Urbin V2.pdf|Funktionsanalyse Abbildung aller Maschinen]]&lt;br /&gt;
* [[:Datei:20200609 Bericht Fehleranalyse Entschichtung.pdf|Fehleranalyse Entschichtung]]&lt;br /&gt;
* [[:Datei:20200610 Fehleranalyse Dampf Brühgruppe Sladoje.pdf|Fehleranalyse Brühgruppe und Dampfbezug]]&lt;br /&gt;
* [[:Datei:20200613 Bericht Fehleranalyse Mischer;Magnetventile V2.pdf|Fehleranalyse Mischer und Magnetventile]]&lt;br /&gt;
* [[:Datei:20200611 Bericht3 NerminArbi.pdf|Fehleranalyse Boiler]]&lt;br /&gt;
* [[:Datei:20200705 Dichtheitsprüfung.pdf|Dichtheitsprüfung]]&lt;br /&gt;
* [[:Datei:20200704 Massnahmen Urbin.pdf|Prüfkonzepte Magnetventile und Mischer]]&lt;br /&gt;
* [[:Datei:20200701 Maßnahmenanalyse NerminArbi.pdf|Maßnahmen Boiler]]&lt;br /&gt;
* [[:Datei:20200628 Maßnahmen Entschichtung zweiter Stand.pdf|Maßnahmen Entschichtung]]&lt;br /&gt;
* [[:Datei:20200627 Maßnahmenkonzept Brühguppe Dampf Sladoje.pdf|Maßnahmen Brühgruppe und Dampf]]&lt;br /&gt;
* [[:Datei:20200707_FMEA.xlsx|FMEA Tabelle]]&lt;br /&gt;
* [[:Datei:20201207_Bedienkonzept.pptx|PPT Simulation des Bedienkonzeptes]]&lt;br /&gt;
* [[:Datei:20210207_Bedienkonzept_Funktionsliste.xlsx|Bedienkonzept Funktionsliste]]&lt;br /&gt;
* [[:Datei:20210219_Bedienkonzept_Projektdokumentation.pdf|Bedienkonzept Projektdokumentation]]&lt;br /&gt;
* [[:Datei:HMProjektBedienoberflaecheEspresso.zip|MATLAB® GUI]]&lt;br /&gt;
* [[Entwicklung Systemsoftware SoSe2022]]&lt;br /&gt;
* [[Entwicklung Systemsoftware SoSe2023]]&lt;br /&gt;
&lt;br /&gt;
= [http://www.institut-fuer-kaffeetechnologie.de/Intern/index.php?title=Programmcode Programmcode] =&lt;br /&gt;
Aktueller Programmcode und Änderungsdokumentation ab Jan 2023&lt;br /&gt;
&lt;br /&gt;
= [http://www.institut-fuer-kaffeetechnologie.de/Intern/index.php?title=Software-Bugs Software-Bugs] =&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste(n) Systemsoftware =&lt;br /&gt;
&lt;br /&gt;
== Prioritätsangabe ==&lt;br /&gt;
Prio 1 - Abarbeitung zeitnah erforderlich&amp;lt;br&amp;gt;&lt;br /&gt;
Prio 2 - Abarbeitung erforderlich&amp;lt;br&amp;gt;&lt;br /&gt;
Prio 3 - Abarbeitung kann warten&amp;lt;br&amp;gt;&lt;br /&gt;
Prio 99 - Abarbeitung erfordert Vorarbeiten&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
10 - Erfasst&amp;lt;br&amp;gt;&lt;br /&gt;
30 - in Bearbeitung&amp;lt;br&amp;gt;&lt;br /&gt;
50 - Lösung definiert&amp;lt;br&amp;gt;&lt;br /&gt;
70 - in Umsetzung&amp;lt;br&amp;gt;&lt;br /&gt;
90 - Umsetzung abgeschlossen&amp;lt;br&amp;gt;&lt;br /&gt;
99 - Abbruch per Beschluss (Dokumentation dazu erforderlich)&amp;lt;br&amp;gt;&lt;br /&gt;
100 - Maßnahme bestätigt&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: Allgemeines =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Sicherheitsfunktionen]] || || 99 || 50 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[ Übersicht über verbaute Aktorik und Sensorik in Tabellenform]] || || 2 || 90 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Stromsparmodus]] || || 99 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: MCUs - Hardwarenahe Software =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Grundfunktionen der MCU und mehrere MCUs]] || Armin Rohnen || 1	|| 70 || &lt;br /&gt;
|-	&lt;br /&gt;
| [[UART-Kommunikation Multi-MCU]] || || 3	|| 10 || 	 &lt;br /&gt;
|-&lt;br /&gt;
| Basisboard: [[Schalten Magnetventile (Labor) STM32-Basisboard]] MATLAB®GUI || || || 100&lt;br /&gt;
|-&lt;br /&gt;
| Basisboard: [[Pumpenansteuerung Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 30 || 08.06.2023&lt;br /&gt;
|- 	 &lt;br /&gt;
| Basisboard: [[Schrittmotorsteuerungen Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 30 ||  	 08.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| Basisboard: [[Tastenerkennung Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 3 || 10 || &lt;br /&gt;
|- 	 &lt;br /&gt;
| Basisboard: [[Füllstandserkennung Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 30 || 08.06.2023&lt;br /&gt;
|- 	 &lt;br /&gt;
| Basisboard: [[Durchflussmessung Basisnoard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 30 || 08.06.2023&lt;br /&gt;
|- 	  	 	  	 &lt;br /&gt;
| SSR-Platine: [[Schalten Magnetventile SSR-Platine Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 70 || 08.06.2023&lt;br /&gt;
|- 	 &lt;br /&gt;
| SSR-Platine: [[Schrittmotorsteuerungen SSR-Platine Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 70 ||  	 	 	  	 08.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| Messplatine: [[Messdatenerfassung Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 70 || 08.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: MCUs - Realisierung und Übernahme der Funktionen =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Füllstandsregler Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Regler Boilerdruck Messplatine Multi-MCU]] || ||  2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Mischregler Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|- &lt;br /&gt;
| [[Durchflussregler Basisboard Multi-MCU]] || || 2 || 10 ||  	 &lt;br /&gt;
|-&lt;br /&gt;
| [[Preinfusion Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[einfacher (manueller) Kaffeebezug Basisboard Multi-MCU]] || || 2 || 10 ||  	 &lt;br /&gt;
|-&lt;br /&gt;
| [[Kaffeebezug Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Wasserbezug Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Dampfbezug Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Spülvorgänge Basisboard Multi-MCU]] || || 2 || 10 || 	 &lt;br /&gt;
|-&lt;br /&gt;
| [[Grundreinigung Basisboard Multi-MCU]] || || 2 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Tastenbedienung Basisboard Multi-MCU]] || || 2 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: MATLAB®-Funktionen und GUI =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Messwerte erfassen (Labor)]] || Melina Scherf, Noureddine Ait Ouhamou|| 1 || 30 || 08.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Messwerte erfassen Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 || 04.08.2023&lt;br /&gt;
|- &lt;br /&gt;
| [[Pumpenansteuerung (Labor)]] || ||  || 100 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Pumpenansteuerung Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  04.08.2023&lt;br /&gt;
|- &lt;br /&gt;
| [[Füllstandsregler (Labor)]] || ||  || 100  || &lt;br /&gt;
|-&lt;br /&gt;
| [[Füllstandsregler Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  27.07.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Regler Boilerdruck (Labor)]] || ||  || 100 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Regler Boilerdruck Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  14.09.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Mischregler (Labor)]] || Madita vom Stein, Simon Thrainer|| 1 || 30 ||  08.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Mischregler Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  22.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Durchflussregler (Labor)]] || Madita vom Stein, Simon Thrainer|| 1 || 30 ||  08.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Durchflussregler Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  22.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Preinfusion Multi-MCU]] || || 99 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[einfacher Kaffeebezug (Labor)]] || ||  || 100 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[einfacher Kaffeebezug Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  04.08.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Kaffeebezug (Labor)]] || Melina Scherf, Hendrik Wegjan|| || 30 ||  06.07.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Kaffeebezug Multi-MCU]] || Noureddine Ait Ouhamou|| 2 || 10 ||  20.07.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Wasserbezug (Labor)]] || Melina Scherf, Hendrik Wegjan|| || 30 ||  08.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Wasserbezug Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  06.07.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Dampfbezug]] || ||  || 100 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Dampfbezug Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  04.08.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Spülvorgänge (Labor)]] || Hendrik Wegjan, Simon Thrainer, Madita vom Stein|| || 30 ||  08.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Spülvorgänge Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  20.07.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Grundreinigung Multi-MCU]] || || 2 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Tastenbedienung (Labor)]] || || || 99 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Tastenbedienung Multi-MCU]] ||  Noureddine Ait Ouhamou|| 3 || 10 ||  18.08.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Anpassungen für Schrittmotorensteuerung]] || Madita vom Stein, Melina Scherf, Hendrik Wegjan|| 1 || 70 ||  08.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Schrittmotorensteuerung Bypass]] || Madita vom Stein, Melina Scherf, Hendrik Wegjan|| 1 || 30 ||  08.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Schrittmotorensteuerung Mischer]] || Simon Thrainer, Hendrik Wegjan|| 1 || 30 ||  08.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Schrittmotorensteuerung Brühgruppendrossel]] || Simon Thrainer, Hendrik Wegjan|| 1 || 30 ||  08.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Adaption an Multi-MCU - Neuprogrammierung MATLAB® GUI]] || Madita vom Stein, Melina Scherf|| 1 || 30 ||  08.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: APP =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[APP - Konzept]] || || 2 || 10 || &lt;br /&gt;
|- 	 &lt;br /&gt;
| [[Messwerte erfassen APP]] || || 99 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Preset / Profilverwaltung]] || || 99 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Sp%C3%BClvorg%C3%A4nge_(Labor)&amp;diff=1107</id>
		<title>Spülvorgänge (Labor)</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Sp%C3%BClvorg%C3%A4nge_(Labor)&amp;diff=1107"/>
		<updated>2023-05-24T16:50:53Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Hendrik Wegjan, 23.05.23=&lt;br /&gt;
&lt;br /&gt;
Der Programmcode für die Spülvorgänge wurde erprobt und funktioniert.&lt;br /&gt;
Die Schrittmotorproblematik (s. 09.05.2023) konnte gelöst werden.&lt;br /&gt;
Bei der Pumpenansteuerung musste im Python-Code auf der STM32-Elektronik (main-Programm) ein Sicherheitsmechanismus umgangen werden, damit die Pumpe auch bei einem durchschnittlichen Druck &amp;gt; 12 bar eingeschaltet werden kann. Dies ist für die Rückspülreinigung notwendig.&lt;br /&gt;
Langfristig muss ein neues Konzept erarbeitet werden, wie der Sicherheitsmechanismus zu gestalten ist, damit sowohl die Sicherheits-, als auch die Reinigungsfunktion gegeben ist. Denkbar wäre z.B. das Übernehmen des Sicherheitsmechanismus in den GUI-Code, um ihn dort mittels einer Flag temporär auszuschalten, sollte eine Reinigung gestartet werden.&lt;br /&gt;
&lt;br /&gt;
Es wurde eine weitere Property (Check_Reinigung) eingefügt, die den gesicherten Durchlauf eines Reinigungsprogramms (Flush/Rückspülung) garantiert.&lt;br /&gt;
&lt;br /&gt;
Die Rückspülung wurde angepasst, es wird nun nur noch das Ventil Y07 verschlossen, Y01 und Y06 verbleiben geöffnet.&lt;br /&gt;
Im Vergleich zum Eintrag vom 09.05.2023 hat sich zudem die „Durchspülzeit“ auf 15 Sekunden verringert.&lt;br /&gt;
&lt;br /&gt;
Der Flush wurde angepasst, es findet nun kein Öffnen des Y08 am Ende des Vorgangs statt, da sich über Versuche gezeigt hat, dass kein Restdruck im Siebträger entsteht.&lt;br /&gt;
&lt;br /&gt;
Die Parameter bei der Rückspülreinigung sind noch nicht auf ihre Wirksamkeit erprobt und müssen sehr wahrscheinlich noch angepasst werden.&lt;br /&gt;
Diese Versuchsreihe wird, wenn möglich, zu Projektende noch gefahren. Ansonsten ist dies die Aufgabe der kommenden Versuchsgruppe.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Simon Thrainer, 09.05.23=&lt;br /&gt;
&lt;br /&gt;
Der vorhandene Programmcode wurde getestet und weiterentwickelt, sodass die durch die Fallunterscheidung erkannten Fälle „Flush“ und Fehlerfall wie geplant ablaufen: &amp;lt;br&amp;gt;&lt;br /&gt;
Der Ablauf ist zum Softwarestand 09.05.23 bei beiden Fällen beiden Fällen gleich: nach der Fallunterscheidung wird als einziges Ventil das Rückspülventil Y08 geöffnet, um einen eventuell vorhandenen Druck aus der Brühgruppe abzulassen. &amp;lt;br&amp;gt;&lt;br /&gt;
Da der Flush aber eigentlich ohne Siebträger stattfinden soll, wird dieser Fall zukünftig sofort nach der Fallerkennung durch Schließen aller Ventile und Abschaltung der Pumpe beendet. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Für die Rückspülung wurde ein Test-Ablauf geschrieben, bei dem nach Erkennung des Falls 3x 10 s gewartet und dazwischen je 2 s Wasser nachgefördert werden soll. Anschließend soll die Brühgruppe 20 s durchgespült werden. Die Schaltung der Ventile funktioniert dabei zuverlässig, die Pumpe wird aber beim Nachfördern teilweise nicht eingeschaltet.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Die Ansteuerung der Schrittmotoren im Reinigungsprogramm zur Einstellung der Bypass- und Dosierventilstellung funktioniert noch nicht und muss, bei Bedarf mit Unterstützung von Armin Rohnen umgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Simon Thrainer, 08.05.23=&lt;br /&gt;
&lt;br /&gt;
==Bisheriger Stand==&lt;br /&gt;
Ausgehend von den vorherigen Untersuchungsergebnissen wurde der Grundaufbau des Programmcodes für die Spülvorgänge geschrieben. Zunächst wurde nur mit Statusausgaben geprüft, ob der Ablauf und die Erkennung des Fehlerfalls funktionieren.&amp;lt;br&amp;gt;&lt;br /&gt;
Durch Nachfrage bei der Kaffeewerkstatt München ist nun bekannt, dass für das verwendete Reinigungsmittel eine Reinigungstemperatur von ca. 90…95 °C optimal ist.&lt;br /&gt;
==Aktueller Stand==&lt;br /&gt;
Es wurden die Ansteuerung der Ventile, Pumpenleistung und Drosselventile in den Programmcode aufgenommen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit Softwarestand 08.05.23 funktioniert die Fallunterscheidung von &amp;quot;Flush&amp;quot;, Rückspülung und Fehlerfall über die bereits beschriebene Doppelabfrage von Durchfluss und Brühgruppendruck in einer if-elseif-else-Bedingung. Alternativ könnte dies mithilfe von switch-case-Bedingungen umgesetzt werden, was evtl. zu besserer Übersichtlichkeit führen könnte, aber nicht unbedingt zweckdienlicher sein muss.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Reinigungs-Button im GUI wird bei Betätigung inaktiviert und nach Abschluss eines der Programme wieder aktiviert.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Zum Programmstart werden zuerst die Ventile Y01, Y06, Y07 geöffnet, der Pumpenbypass auf 0 geschlossen und die Pumpenleistung auf 2000 mV eingestellt, sodass Mischwasser in die Brühgruppe gefördert wird. Da die vorgeschlagene Reinigungstemperatur von 90…95 °C zum letzten Labortag noch nicht bekannt war muss die Einstellung des Dosierventils neu erprobt werden.&amp;lt;br&amp;gt; &lt;br /&gt;
Nach 15 s (, die sich als nötig bzw. ausreichend herausgestellt haben, um die Fälle unterscheiden zu können) wird die im Wiki-Eintrag vom 21.04.23 bereits beschriebene Doppelabfrage von Durchflussrate und Brühgruppendruck durchgeführt. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Bei Erkennung des &amp;quot;Flush&amp;quot; bei einer Durchflussrate &amp;gt; 3 cm3/s und Druck &amp;lt; 1bar werden die Pumpenleistung auf 0 mV und alle Ventile bis auf das Rückspülventil Y08 geschlossen, ü&amp;lt;br&amp;gt;ber das der Druck aus der Brühgruppe für eine Sekunde abgelassen wird. Am Ende sind alle Ventile geschlossen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Bei Erkennung der Rückspülung werden aktuell alle Ventile geschlossen, 100 s gewartet, damit sich das Reinigungsmittel auflöst und in der Brühgruppe einwirken kann. Anschließend wird ca. 20 s lang bei Öffnung von Y01, Y06, Y07, Y08 durch die Rückspülleitung durchgespült, die Pumpenleistung abgeschaltet und alle Ventile geschlossen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Im Fehlerfall, d.h. wenn keiner der anderen beiden Fälle zutrifft, wird wie beim &amp;quot;Flush&amp;quot; zuerst die Pumpe abgeschaltet, über das Rückspülventil Y08 Druck abgelassen und dann alle Ventile geschlossen. &amp;lt;br&amp;gt;&lt;br /&gt;
==Zukünftige Aufgaben==&lt;br /&gt;
Das gesamte Reinigungsprogramm muss noch ausgiebig getestet werden. Außerdem gibt es noch keine Erkenntnisse, ob die bisher angenommen Reinigungsabläufe, besonders die Rückspülung, zur Reinigung ausreichen.&amp;lt;br&amp;gt;&lt;br /&gt;
Nach einer Demonstration des Rückspülvorgangs an einer normalen Siebträgermaschine durch Armin Rohnen könnte es nötig sein, mehrmals Druck aufzubauen bzw. Wasser nachzufördern, damit sich das Reinigungsmittel vollständig auflöst. &amp;lt;br&amp;gt;&lt;br /&gt;
Das Maß für eine ausreichende Rückspülung ist, dass sich das Reinigungspulver vollständig aufgelöst hat und restlos aus der Maschine gespült wurde. &amp;lt;br&amp;gt;&lt;br /&gt;
Eine Möglichkeit, die sich durch die Rückspülleitung ergibt, ist, bei geöffnetem Rückspülventil einen geringen Durchfluss in der Brühgruppe zu erzeugen, wodurch sich das Reinigungsmittel schneller lösen könnte. &amp;lt;br&amp;gt;&lt;br /&gt;
Eine Optimierung der Reinigungsabläufe wäre als ToDo für eine zukünftige Versuchsgruppe denkbar.&lt;br /&gt;
&lt;br /&gt;
= Madita vom Stein, 21.04.2023 =&lt;br /&gt;
[[Datei:20230417 Abbildung 4.png|thumb|500px|gerahmt|rechts|alternativtext=Abbildung 4: Bildunterschrift|Abbildung 4: Bildunterschrift]]&lt;br /&gt;
Für die Einführung eines Reinigungsprogrammes wurden am 17.04.2023 weitere Versuche durchgeführt. &amp;lt;br&amp;gt;&lt;br /&gt;
Durch die Versuche sollte die Unterscheidbarkeit von Fehlerfällen zu den beiden Reinigungsoptionen (Flush oder Rückspülung) anhand des Brühgruppendruckes, sowie des Durchflusses quantifiziert werden. Die einzelnen Fälle sind im Eintrag vom 04.04.2023 näher erläutert. &amp;lt;br&amp;gt;&lt;br /&gt;
In den Versuchen wurde der Fehlerfall, also der Start des Reinigungsprogrammes bei eingespanntem Siebträger mit Kaffee, mit variierenden Parametern simuliert. Im Reinigungsprogramm wird voraussichtlich eine Wassertemperatur an der Brühgruppe um die 70 °C angestrebt, wobei der genaue Temperaturwert bei der Kaffeewerkstatt München erfragt wird. &amp;lt;br&amp;gt;&lt;br /&gt;
Der Versuch mit den Parametern 2000 mV Pumpenleistung, Durchflussventil 80 % geschlossen, Pumpenbypass 0 % offen, Mahlgrad 4 hat ergeben, dass der in diesem Fall auftretende Maximaldruck in der Brühgruppe von 10,5 bar nach 20 Sekunden auftritt.&lt;br /&gt;
Dadurch, und durch die vorangegangenen Versuche mit Blindsieb und ohne Gegendruck, ist die Fallunterscheidung nach 15-20 Sekunden mit folgenden Werten für das Reinigungsprogramm denkbar. Vorausgesetzt ist aktuell ein Reinigungsprogramm, das mit 2000 mV Pumpenleistung, 80% geschlossenem Dosierventil und geschlossenem Pumpenbypass fährt [Diagramm 1]. &amp;lt;br&amp;gt;&lt;br /&gt;
Sind 15-20 Sekunden nach Start des Reinigungsprogrammes gleichzeitig der Durchfluss höher als 3 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s und der Boilerdruck kleiner als drei bar, so wird der Fall 1) Flush erkannt. Dieses Reinigungsprogramm wurde also korrekt durchlaufen und stoppt nun regulär. &amp;lt;br&amp;gt;&lt;br /&gt;
Werden nach Ablauf von 15-20 Sekunden nach Start der Reinigung hingegen ein Durchfluss von kleiner 1 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s, sowie ein Boilerdruck von über 12 bar gemessen, wird der Fall 2) Rückspülung erkannt. Aufgrund des Blindsiebs liegt ein hoher Druck vor, der wiederum das Abschalten der Pumpe herbeiführt und den Durchfluss stoppt. Es wird eine noch näher zu spezifizierende Zeit lang abgewartet, damit das Reinigungsmittel in das Blindsieb und in die Brühgruppe einwirken kann. Ob zusätzlich ein mehrmaliger Druckaufbau zur Reinigung notwendig ist, wird noch festgestellt. Anschließend wird die Pumpenleistung wieder auf 2000 mV gesetzt, um zu spülen. Hierfür wird das Rückspülventil (Y08) geöffnet. Hiernach stoppt der Durchfluss erneut, damit das Reinigungsmittel auch in den Schläuchen der Rückspülung einwirken kann. Zum Abschluss des Programmes wird die Pumpe noch einmal aktiviert und so die Maschine gespült. &amp;lt;br&amp;gt;&lt;br /&gt;
Liegt keiner der beiden beschriebenen Parameterkombinationen vor, liegt ein Fehlerfall vor. Sollte ein Siebträger mit Kaffee eingespannt sein und versehentlich die Reinigung gestartet werden, liegt ein Brühgruppendruck von ungefähr 10,5 bar vor und es gibt je nach Mahlgrad wenig bis keinen Durchfluss. Es wird eine Fehlermeldung ausgegeben. &amp;lt;br&amp;gt;&lt;br /&gt;
Mit den genannten drei Parameterkombinationen sind die beiden Reinigungsoptionen, sowie der vorstellbare Fehlerfall abgedeckt. Um auch auf weitere, nicht absehbare Fehler durch fehlerhafte Betätigung des Reinigungsprogrammes korrekt reagieren zu können, soll der Fehlerfall im Programmcode nicht als weitere If-Abfrage mit Parametern erkannt werden, sondern automatisch durch eine „else“-Anweisung eingeleitet werden, sollte keiner der beiden Reinigungszustände durch die Doppelwertprüfung erkannt werden. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Übersicht über die Versuchsdaten ==&lt;br /&gt;
* Pumpenleistung 2000 mV&lt;br /&gt;
* Dosierventilstellung 80&lt;br /&gt;
* Bypass 0, Mahlgrad 4&lt;br /&gt;
* Reinigungstemperatur (ca. 70 °C)&lt;br /&gt;
-&amp;gt; ca. 10,5 bar max. Brühgruppendruck nach ca. 20 sek.&lt;br /&gt;
&lt;br /&gt;
= Hendrik Wegjan, 04.04.2023 =&lt;br /&gt;
[[Datei:20230413 Reinigungsprogramm Blindsieb 2000mV BP0 DV30.png|500px|thumb|rechts|Abbildung 1: Erreichen des Maximaldrucks mit Blindsieb (Fall 2)]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:20230417 Reinigungsprogramm Kaffeebezug MG3 2000mV BP0 DV30 heiß.png|500px|thumb|rechts|Abbildung 2: Erreichen des Maximaldrucks bei Kaffeebezug mit Mahlgrad 3 (Fehlerfall)]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:20230417 Reinigungsprogramm Kaffeebezug MG4 2000mV BP0 DV30 heiß.png|500px|thumb|rechts|Abbildung 3: Kaffeebezug mit Mahlgrad 4, kein Erreichen d. Maximaldrucks]]&amp;lt;br&amp;gt;&lt;br /&gt;
Für die Umsetzung der Spülvorgänge wurden zunächst geeignete Prüfparameter zur Unterscheidung der einzelnen Prozesse definiert.&lt;br /&gt;
&lt;br /&gt;
Fall 1) Kein Siebträger oder Siebträger ohne Kaffeepuck&amp;lt;br&amp;gt;&lt;br /&gt;
Im Fall 1 bildet sich an der Brühgruppe kein/kaum Gegendruck auf, als erster Grenzwert wurde 1 bar festgehalten. Außerdem steigt der Durchfluss deutlich über 1cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s an. Bei Erkennung dieses Falles wird ein sogenannter „Flush“ (Durchspülung) aktiviert.&lt;br /&gt;
&lt;br /&gt;
Fall 2) Siebträger mit Blindsieb&amp;lt;br&amp;gt;&lt;br /&gt;
Hier entsteht der bei der vorgegebenen Pumpenleistung maximal mögliche Gegendruck in der Brühgruppe, zudem wird der Durchfluss 0. Bei Erkennung dieses Falles wird eine Rückspülreinigung initiiert.&lt;br /&gt;
&lt;br /&gt;
Fall 3) Siebträger mit Kaffeepuck (Fehlerfall)&amp;lt;br&amp;gt;&lt;br /&gt;
Bei einem regelkonformen Kaffeebezug entsteht ein Brühgruppendruck von ca 9 bar und ein Durchfluss von 1 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s. Diese Werte werden auch hier verwendet, um die fehlerhafte Eingabe zu erkennen. Bei Erkennung dieses Falles wird ein Fehler ausgegeben.&lt;br /&gt;
&lt;br /&gt;
Weiterhin wurde ein geschlossener Bypass für sämtliche Reinigungsprogramme definiert. Zielsetzung ist es, eine Reinigung mit möglichst hohem Druck (Fall 2) bzw. mit möglichst hohem Durchfluss (Fall 1) und somit in möglichst kurzer Zeit durchzuführen. Die Wirksamkeit dieser Parameter muss noch ermittelt werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Direkt zu Beginn der Versuchsreihe wurde neues Kaffeepulver (Tanzania Coffee, Röstzeit 18:19 Minuten, T-Out 186 °C) geöffnet. Dies führte zu Problemen im parametrierten Kaffeebezug. Ferner ist auch die Bypass-Schließung als Problemfaktor zu notieren.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine Unterscheidung zwischen Fall 1 und 2 gelang sehr zügig, da beide Messwerte (Durchfluss und Brühgruppendruck) stark divergieren.&amp;lt;br&amp;gt;&lt;br /&gt;
Problematisch gestaltet sich die Erkennung des Fehlerfalls 3. Bei den gefahrenen Testreihen konnte zeitweise kein Unterschied zwischen Fall 2 und 3 erkannt werden, da sich in beiden Fällen ein Gegendruck von ca 13 bar und ein Durchfluss von 0 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s einstellte (s. Abb. 1 und 2).&amp;lt;br&amp;gt;&lt;br /&gt;
Eine Veränderung des Mahlgrades verbesserte die Differenzierung zwischen Fall 2 und 3, da nun ein Durchfluss (ca. 1,5 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;/s) sowie ein geringerer statischer Brühgruppendruck (9-11 bar je nach Mahlgrad) für Fall 3 festgestellt werden konnte (s. Abb. 3).&lt;br /&gt;
&lt;br /&gt;
Als erste Erkenntnis kann somit festgehalten werden, dass ein spezifischer Mahlgrad je nach Kaffeesorte eingehalten werden muss, um eine fehlerfreie Erkennung zwischen Fall 2 und 3 zu ermöglichen.&amp;lt;br&amp;gt;&lt;br /&gt;
Im aktuellen Fall (Pumpenleistung 2000 mV; Bypass 0; Dosierventil 30; Tanzania Coffee, Röstzeit 18:19 Minuten, T-Out 186 °C) ist dies der Mahlgrad 4.&amp;lt;br&amp;gt;&lt;br /&gt;
Folgeversuche sind jedoch notwendig, um eine gewisse Wiederholgenauigkeit erzielen zu können.&amp;lt;br&amp;gt;&lt;br /&gt;
Sind diese erfolgreich, so kann eine erste Programmierung der Fallunterscheidung vorgenommen werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Außerdem ist es sinnvoll, eine Kennlinie Maximaler Brühgruppendruck bei Bypass auf 0 Schritte/Pumpenleistung zu erstellen, um das Reinigungsprogramm auch für neue Parameter zu befähigen.&amp;lt;br&amp;gt;&lt;br /&gt;
Im weiteren Verlauf (voraussichtlich nach der initialen Programmierung und Testphase) muss geprüft werden, inwiefern der Parameter Durchfluss als Messwert zur frühzeitigen Erkennung des Falles 2 geeignet ist. In Testläufen dauerte es ca. 15 Sekunden, bis ein Durchfluss von 0 und somit das Vorliegen einer Rückspül-Reinigung festgestellt werden konnte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Umkehrschluss bedeutet dies, dass bei einer Miteinbeziehung dieses Wertes in die Fallunterscheidung frühestens nach 15-20 Sekunden erkannt werden kann, ob tatsächlich eine Rückspülreinigung stattfinden soll oder ob der Fehlerfall 3 eingetreten ist.&lt;br /&gt;
&lt;br /&gt;
= Armin Rohnen, 21.02.2022 =&lt;br /&gt;
Auf Tastendruck soll ein Spülvorgang ausgelöst werden.&lt;br /&gt;
Befindet sich kein Blindsieb im Siebträger ist bei definierter Pumpenleistung ein Durchfluss zu erkennen. Dabei sollte zwischen dem Zuständen &amp;quot;Siebträger mit Kaffeepuk&amp;quot;, &amp;quot;Siebträger ohne Kaffeepuk&amp;quot; und &amp;quot;ohne Siebträger&amp;quot; unterschieden werden können. Für die Fälle &amp;quot;Siebträger ohne Kaffeepuk&amp;quot; und &amp;quot;ohne Siebträger&amp;quot; soll ein Flush-Vorgang aktiviert werden. Für &amp;quot;Siebträger mit Kaffeepuk&amp;quot; wird eine Fehlbedienung angenommen.&lt;br /&gt;
&lt;br /&gt;
Befindet sich ein Blindsieb im Siebträger, dann stellt sich bei definierter Pumpenleistung ein statischer Druck ein und es erfolgt kein bzw. lediglich marginaler Durchfluss. Dieses Merkmal wird dazu verwendet eine halbautomatische Rückspülreinigung durch zu führen.&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=R%C3%BCcksprache_Labormaschine_11.05.2023&amp;diff=1050</id>
		<title>Rücksprache Labormaschine 11.05.2023</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=R%C3%BCcksprache_Labormaschine_11.05.2023&amp;diff=1050"/>
		<updated>2023-05-19T15:53:14Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: Die Seite wurde neu angelegt: „= Besprechungsprotokoll = Rücksprache Regeltermin 27.04.2023, 15:50 Uhr&amp;lt;br&amp;gt; Ort: Hybrid, R4.068 und Zoom-Link s. Moodle-Kurs Datum: 27.04.2023&amp;lt;br&amp;gt; Teilnehmer: Madita vom Stein, Simon Lorenz Thrainer, Melina Scherf, Hendrik Wegjan, Noureddine Ait Ouhamou, Armin Rohnen&amp;lt;br&amp;gt; Moderator: Hendrik Wegjan&amp;lt;br&amp;gt; Protokollführer: Hendrik Wegjan&amp;lt;br&amp;gt;  = Thema 1) Einholen der Zustimmung zum letzten Protokoll (27.04.2023); wer: alle = Das letzte Protokoll wurde von alle…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Besprechungsprotokoll =&lt;br /&gt;
Rücksprache Regeltermin 27.04.2023, 15:50 Uhr&amp;lt;br&amp;gt;&lt;br /&gt;
Ort: Hybrid, R4.068 und Zoom-Link s. Moodle-Kurs&lt;br /&gt;
Datum: 27.04.2023&amp;lt;br&amp;gt;&lt;br /&gt;
Teilnehmer: Madita vom Stein, Simon Lorenz Thrainer, Melina Scherf, Hendrik Wegjan, Noureddine Ait Ouhamou, Armin Rohnen&amp;lt;br&amp;gt;&lt;br /&gt;
Moderator: Hendrik Wegjan&amp;lt;br&amp;gt;&lt;br /&gt;
Protokollführer: Hendrik Wegjan&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Thema 1) Einholen der Zustimmung zum letzten Protokoll (27.04.2023); wer: alle =&lt;br /&gt;
Das letzte Protokoll wurde von allen Teilnehmern akzeptiert.&lt;br /&gt;
&lt;br /&gt;
= Thema 2) Reinigungsvorgänge; wer: Madita vom Stein, Simon Thrainer, Hendrik Wegjan =&lt;br /&gt;
Es konnte gemessen werden, dass die interne Wartezeit genau den gewollten 15 Sekunden entspricht.&lt;br /&gt;
&lt;br /&gt;
Die existierende Funktion im Code wurde um die Ansteuerung der für die Reinigung&lt;br /&gt;
notwendigen Ventile erweitert. Eine Pumpenansteuerung wurde ebenfalls&lt;br /&gt;
implementiert. Hier bestehen jedoch noch Probleme in der zuverlässigen Ansteuerung.&lt;br /&gt;
Die Schrittmotorsteuerung für Bypass und Dosierventil funktioniert noch nicht.&lt;br /&gt;
&lt;br /&gt;
Sobald das Programm samt aller Ansteuerungen funktioniert, muss zudem die Rückspülreinigung getestet werden, um den genauen Ablauf dieses Falls zu definieren. Es ist zu erwarten, dass die Pumpe hier mehrfach kurz Wasser nachfördern und dann warten muss.&lt;br /&gt;
&lt;br /&gt;
LbA Armin Rohnen hat auf die Dokumentationspflicht für die Systemsoftware hingewiesen. Sämtliche Änderungen müssen in dem der eigentlichen Software vorangestellten Fließtext genannt und erläutert werden.&lt;br /&gt;
&lt;br /&gt;
= Thema 3) MATLAB&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-GUI; wer: Melina Scherf, Madita vom Stein =&lt;br /&gt;
Madita vom Stein hat den aktuellen Stand des Hydraulik-Plans auf das neue Schaltbild&lt;br /&gt;
der MATLAB®-GUI angewandt.&lt;br /&gt;
&lt;br /&gt;
Melina Scherf konnte Jan Budnick erreichen und ihre Fragen bezüglich des&lt;br /&gt;
Verzögerungscounters stellen.&lt;br /&gt;
In Absprache mit Noureddine Ait Ouhamou wurde der 24.05. als Termin zum ersten Verbinden von Hard- und Software festgelegt. Bis zu diesem Zeitpunkt sollen alle Einzelkomponenten (GUI-Oberfläche, Backend-Programmierung, Hardware/Platinen) fertiggestellt werden.&lt;br /&gt;
Am Folgetag (25.05.) beginnt zusammen mit LbA Armin Rohnen die Behebung der am 24.05. entstandenen Fehler.&lt;br /&gt;
Für den 25.05. ist von der gesamten Projektgruppe ein Arbeitsplan zu erstellen, um zu klären, welche Aufgaben von welchen Teilnehmern an diesem Tag erledigt werden müssen.&lt;br /&gt;
&lt;br /&gt;
= Thema 4) Schrittmotorensteuerung Mischer; wer: Simon Thrainer, Hendrik Wegjan =&lt;br /&gt;
Es wurde ein Thonny-Programm geschrieben, das den Schrittmotor der Bypass-&lt;br /&gt;
Drossel gesichert vollständig öffnet.&lt;br /&gt;
Als nächster Schritt ist die Durchführung einer Versuchsreihe zur Ermittlung der&lt;br /&gt;
Mindest-Stell-Pausenzeit geplant.&lt;br /&gt;
Sobald diese Pausenzeit ermittelt wurde, kann mit der eigentlichen Erstellung der&lt;br /&gt;
Kennlinie Mischtemperatur/Dosierventilstellung begonnen werden.&lt;br /&gt;
&lt;br /&gt;
Von LbA Armin Rohnen wurde vorgeschlagen, die Pausenzeit als weiteren&lt;br /&gt;
Übergabeparameter in die Schrittmotorsteuerung („forwardStep“ bzw.&lt;br /&gt;
backwardStep“ im Programmcode) aufzunehmen. Dies erleichtert das Testen von&lt;br /&gt;
verschiedenen Pausenzeiten.&lt;br /&gt;
&lt;br /&gt;
= Thema 5) SSR-Platine: Schalten Magnetventile SSR-Platine Multi-MCU; wer: Noureddine Ait Ouhamou =&lt;br /&gt;
Die SSR-Platine ist fertiggestellt und funktioniert. Die Dokumentation inklusive Python&lt;br /&gt;
Programme fehlt noch, wird aber nachgereicht.&lt;br /&gt;
&lt;br /&gt;
= Thema 6) SSR-Platine: Schrittmotorsteuerung SSR-Platine Multi-MCU; wer: Noureddine Ait Ouhamou =&lt;br /&gt;
s. Thema 5)&lt;br /&gt;
&lt;br /&gt;
= Thema 7) Messplatine: Messdatenerfassung Multi-MCU; wer: Noureddine Ait Ouhamou =&lt;br /&gt;
Die Messplatine ist fertiggestellt und funktioniert. Die Dokumentation inklusive Python&lt;br /&gt;
Programme fehlt noch, wird aber nachgereicht.&lt;br /&gt;
&lt;br /&gt;
= Thema 8) Hilfestellung Statusbericht Projektmitte; wer: Armin Rohnen =&lt;br /&gt;
Der Statusbericht ist, ähnlich dem finalen Bericht, mit vorgefertigter Struktur zu&lt;br /&gt;
erstellen.&lt;br /&gt;
Dies beinhaltet ein Deckblatt und einen Abstract (beides zweisprachig), sowie eine&lt;br /&gt;
Standard-Formatierung im Sinne einer wissenschaftlichen Arbeit (Formel-/&lt;br /&gt;
Abkürzungsverzeichnis, Inhaltsverzeichnis, Einleitung, Hauptteil, Fazit,&lt;br /&gt;
Literaturverzeichnis).&lt;br /&gt;
&lt;br /&gt;
= Thema 9) Terminfindung Abschlusspräsentation; wer: Melina Scherf =&lt;br /&gt;
Es wurde gemeinsam ein neuer Termin für die Abschlusspräsentation festgelegt. Diese findet jetzt am 24.07.2023 um 16:00 Uhr statt. Dadurch kann Patricia Viebke als Moderatorin teilnehmen.&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Entwicklung_Systemsoftware_SoSe2023&amp;diff=1049</id>
		<title>Entwicklung Systemsoftware SoSe2023</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Entwicklung_Systemsoftware_SoSe2023&amp;diff=1049"/>
		<updated>2023-05-19T15:43:36Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: /* Rückspracheprotokolle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Leistungsvereinbarung Projektgruppe =&lt;br /&gt;
Hendrik Wegjan, Simon Thrainer, Melina Scherf, Madita vom Stein&lt;br /&gt;
&lt;br /&gt;
[[Zielvereinbarung]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Leistungsvereinbarung Abschlussarbeit =&lt;br /&gt;
Noureddine Ait Ouhamou&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
- Aufbau der Platinen&amp;lt;br&amp;gt;&lt;br /&gt;
- Basisfunktionen in MicroPython&amp;lt;br&amp;gt;&lt;br /&gt;
- Regler in MATLAB GUI&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Ausführung der Globalen Arbeitspakete]]&lt;br /&gt;
&lt;br /&gt;
= Rückspracheprotokolle =&lt;br /&gt;
[[Projektstart 09.03.2023]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Rücksprache Labormaschine 13.03.2023]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Rücksprache Labormaschine 21.03.2023]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Rücksprache Labormaschine 31.03.2023]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Rücksprache Labormaschine 14.04.2023]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Rücksprache Labormaschine 27.04.2023]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Rücksprache Labormaschine 11.05.2023]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Projektdokumentation =&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Schrittmotorensteuerung_Mischer&amp;diff=1037</id>
		<title>Schrittmotorensteuerung Mischer</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Schrittmotorensteuerung_Mischer&amp;diff=1037"/>
		<updated>2023-05-14T11:30:29Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: /* Hendrik Wegjan, 12.05.2023 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Hendrik Wegjan, 12.05.2023 =&lt;br /&gt;
[[Datei:20231205 Schrittmotor Pausenzeiten.png|500px|thumb|rechts|Abbildung 1: Darstellung Brühgruppendruckentwicklung bei verschiedenen Stell-Pausenzeiten]] &amp;lt;br&amp;gt;&lt;br /&gt;
In die aktuelle MATLAB®-GUI (EspressoMenu_20230118) im Ordner Betriebssoftware wurde die Funktion Schrittmotor_Auto implementiert. Sie enthält ein zeitgesteuertes Schließen der Bypass-Drossel. Aktuell werden alle 5 Sekunden 40 Schritte gestellt.&lt;br /&gt;
&lt;br /&gt;
Mit dieser Funktion wurde die Versuchsreihe zur Ermittlung der minimal möglichen Stell-Pausenzeit durchgeführt.&lt;br /&gt;
Dabei wurde die Pausenzeit zwischen den Schritten variiert (genaue Werte s. Abbildung 1) und dann immer derselbe Ablauf gefahren:&lt;br /&gt;
&lt;br /&gt;
1.	Bypass-Drossel gesichert vollständig öffnen (z.B. mit Thonny-Programm „Schrittmotor_gesicherter_Reset“)&lt;br /&gt;
&lt;br /&gt;
2.	Wasserzufuhr auf Brühgruppe schalten (Y1 + Y6 + Y7 ON)&lt;br /&gt;
&lt;br /&gt;
3.	Pumpe einschalten (Leistung: 3000 mV)&lt;br /&gt;
&lt;br /&gt;
4.	In Tab „Tests“ wechseln und „Schrittmotor Auto“ anklicken&lt;br /&gt;
&lt;br /&gt;
5.	Warten, bis Maximaldruck (ca. 13 bar) erreicht ist, dann Messwertpuffer speichern und Pumpe ausschalten, evtl. Brühgruppe entlüften (Y08 ON)&lt;br /&gt;
&lt;br /&gt;
Aus Abbildung 1 ist erkennbar, dass ab einer Pausenzeit von 2000 µs (lila) ein annähernd gleicher Verlauf des Brühgruppendrucks entsteht.&lt;br /&gt;
Es kann also angenommen werden, dass bei einer Stell-Pausenzeit größer/gleich 2000 µs keine Schritte übersprungen werden.&lt;br /&gt;
&lt;br /&gt;
Im nächsten Schritt wird mit den neuen Pausenzeiten gearbeitet und die Kennlinie Mischwassertemperatur/Dosierventilstellung generiert.&lt;br /&gt;
&lt;br /&gt;
Eine Anwendung der neuen Pausenzeiten auf die Schrittmotorinitialisierung muss ebenfalls stattfinden. Dort können die aktuellen Schrittzahlen (meistens 1200) durch die realen Werte (560) ersetzt werden, da jetzt bestätigt ist, dass jeder Schritt erkannt und gefahren wird.&lt;br /&gt;
&lt;br /&gt;
= Armin Rohnen, 07.04.2023 =&lt;br /&gt;
Für den Mischer ist eine zweifelfreie Initialisierung zu Maschinenstart zu realisieren.&lt;br /&gt;
&lt;br /&gt;
Der Mischer ist über ein AVS Römer elektronisches Dosierventil mit 280 Schritten (lt. Herstellerangabe) realisiert.&lt;br /&gt;
&lt;br /&gt;
Es ist zu klären mit welchen Pasuenzeiten das Dosierventil zuverlässig betreiben werden kann. Im weiteren wird eine Kennlinie für die Mischwassertemperatur in Abhängigkeit der Dosierventilstellung benötigt. Die Kennlinie soll für die übliche Boilertemperatur bei 1300 mbar Boilerdruck Gültigkeit aufweisen.&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Schrittmotorensteuerung_Mischer&amp;diff=1036</id>
		<title>Schrittmotorensteuerung Mischer</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Schrittmotorensteuerung_Mischer&amp;diff=1036"/>
		<updated>2023-05-14T11:29:08Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: /* Hendrik Wegjan, 12.05.2023 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Hendrik Wegjan, 12.05.2023 =&lt;br /&gt;
[[Datei:20231205 Schrittmotor Pausenzeiten.png|500px|thumb|rechts|Abbildung 1: Darstellung Brühgruppendruckentwicklung bei verschiedenen Stell-Pausenzeiten]] &amp;lt;br&amp;gt;&lt;br /&gt;
In die aktuelle MATLAB®-GUI (EspressoMenu_20230118) im Ordner Betriebssoftware wurde die Funktion Schrittmotor_Auto implementiert. Sie enthält ein zeitgesteuertes Schließen der Bypass-Drossel. Aktuell werden alle 5 Sekunden 40 Schritte gestellt.&lt;br /&gt;
&lt;br /&gt;
Mit dieser Funktion wurde die Versuchsreihe zur Ermittlung der minimal möglichen Stell-Pausenzeit durchgeführt.&lt;br /&gt;
Dabei wurde die Pausenzeit zwischen den Schritten variiert (genaue Werte s. Abbildung 1) und dann immer derselbe Ablauf gefahren:&lt;br /&gt;
&lt;br /&gt;
1.	Bypass-Drossel gesichert vollständig öffnen (z.B. mit Thonny-Programm „Schrittmotor_gesicherter_Reset“)&lt;br /&gt;
2.	Wasserzufuhr auf Brühgruppe schalten (Y1 + Y6 + Y7 ON)&lt;br /&gt;
3.	Pumpe einschalten (Leistung: 3000 mV)&lt;br /&gt;
4.	In Tab „Tests“ wechseln und „Schrittmotor Auto“ anklicken&lt;br /&gt;
5.	Warten, bis Maximaldruck (ca. 13 bar) erreicht ist, dann Messwertpuffer speichern und Pumpe ausschalten, evtl. Brühgruppe entlüften (Y08 ON)&lt;br /&gt;
&lt;br /&gt;
Aus Abbildung 1 ist erkennbar, dass ab einer Pausenzeit von 2000 µs (lila) ein annähernd gleicher Verlauf des Brühgruppendrucks entsteht.&lt;br /&gt;
Es kann also angenommen werden, dass bei einer Stell-Pausenzeit größer/gleich 2000 µs keine Schritte übersprungen werden.&lt;br /&gt;
&lt;br /&gt;
Im nächsten Schritt wird mit den neuen Pausenzeiten gearbeitet und die Kennlinie Mischwassertemperatur/Dosierventilstellung generiert.&lt;br /&gt;
&lt;br /&gt;
Eine Anwendung der neuen Pausenzeiten auf die Schrittmotorinitialisierung muss ebenfalls stattfinden. Dort können die aktuellen Schrittzahlen (meistens 1200) durch die realen Werte (560) ersetzt werden, da jetzt bestätigt ist, dass jeder Schritt erkannt und gefahren wird.&lt;br /&gt;
&lt;br /&gt;
= Armin Rohnen, 07.04.2023 =&lt;br /&gt;
Für den Mischer ist eine zweifelfreie Initialisierung zu Maschinenstart zu realisieren.&lt;br /&gt;
&lt;br /&gt;
Der Mischer ist über ein AVS Römer elektronisches Dosierventil mit 280 Schritten (lt. Herstellerangabe) realisiert.&lt;br /&gt;
&lt;br /&gt;
Es ist zu klären mit welchen Pasuenzeiten das Dosierventil zuverlässig betreiben werden kann. Im weiteren wird eine Kennlinie für die Mischwassertemperatur in Abhängigkeit der Dosierventilstellung benötigt. Die Kennlinie soll für die übliche Boilertemperatur bei 1300 mbar Boilerdruck Gültigkeit aufweisen.&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Schrittmotorensteuerung_Mischer&amp;diff=1035</id>
		<title>Schrittmotorensteuerung Mischer</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Schrittmotorensteuerung_Mischer&amp;diff=1035"/>
		<updated>2023-05-14T11:28:01Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Hendrik Wegjan, 12.05.2023 =&lt;br /&gt;
[[Datei:20231205 Schrittmotor Pausenzeiten.png|500px|thumb|rechts|Abbildung 1: Darstellung Brühgruppendruckentwicklung bei verschiedenen Stell-Pausenzeiten]] &amp;lt;br&amp;gt;]]&lt;br /&gt;
In die aktuelle MATLAB®-GUI (EspressoMenu_20230118) im Ordner Betriebssoftware wurde die Funktion Schrittmotor_Auto implementiert. Sie enthält ein zeitgesteuertes Schließen der Bypass-Drossel. Aktuell werden alle 5 Sekunden 40 Schritte gestellt.&lt;br /&gt;
&lt;br /&gt;
Mit dieser Funktion wurde die Versuchsreihe zur Ermittlung der minimal möglichen Stell-Pausenzeit durchgeführt.&lt;br /&gt;
Dabei wurde die Pausenzeit zwischen den Schritten variiert (genaue Werte s. Abbildung 1) und dann immer derselbe Ablauf gefahren:&lt;br /&gt;
&lt;br /&gt;
1.	Bypass-Drossel gesichert vollständig öffnen (z.B. mit Thonny-Programm „Schrittmotor_gesicherter_Reset“)&lt;br /&gt;
2.	Wasserzufuhr auf Brühgruppe schalten (Y1 + Y6 + Y7 ON)&lt;br /&gt;
3.	Pumpe einschalten (Leistung: 3000 mV)&lt;br /&gt;
4.	In Tab „Tests“ wechseln und „Schrittmotor Auto“ anklicken&lt;br /&gt;
5.	Warten, bis Maximaldruck (ca. 13 bar) erreicht ist, dann Messwertpuffer speichern und Pumpe ausschalten, evtl. Brühgruppe entlüften (Y08 ON)&lt;br /&gt;
&lt;br /&gt;
Aus Abbildung 1 ist erkennbar, dass ab einer Pausenzeit von 2000 µs (lila) ein annähernd gleicher Verlauf des Brühgruppendrucks entsteht.&lt;br /&gt;
Es kann also angenommen werden, dass bei einer Stell-Pausenzeit größer/gleich 2000 µs keine Schritte übersprungen werden.&lt;br /&gt;
&lt;br /&gt;
Im nächsten Schritt wird mit den neuen Pausenzeiten gearbeitet und die Kennlinie Mischwassertemperatur/Dosierventilstellung generiert.&lt;br /&gt;
&lt;br /&gt;
Eine Anwendung der neuen Pausenzeiten auf die Schrittmotorinitialisierung muss ebenfalls stattfinden. Dort können die aktuellen Schrittzahlen (meistens 1200) durch die realen Werte (560) ersetzt werden, da jetzt bestätigt ist, dass jeder Schritt erkannt und gefahren wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Armin Rohnen, 07.04.2023 =&lt;br /&gt;
Für den Mischer ist eine zweifelfreie Initialisierung zu Maschinenstart zu realisieren.&lt;br /&gt;
&lt;br /&gt;
Der Mischer ist über ein AVS Römer elektronisches Dosierventil mit 280 Schritten (lt. Herstellerangabe) realisiert.&lt;br /&gt;
&lt;br /&gt;
Es ist zu klären mit welchen Pasuenzeiten das Dosierventil zuverlässig betreiben werden kann. Im weiteren wird eine Kennlinie für die Mischwassertemperatur in Abhängigkeit der Dosierventilstellung benötigt. Die Kennlinie soll für die übliche Boilertemperatur bei 1300 mbar Boilerdruck Gültigkeit aufweisen.&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Datei:20231205_Schrittmotor_Pausenzeiten.png&amp;diff=1034</id>
		<title>Datei:20231205 Schrittmotor Pausenzeiten.png</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Datei:20231205_Schrittmotor_Pausenzeiten.png&amp;diff=1034"/>
		<updated>2023-05-14T11:20:59Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=1033</id>
		<title>Systemsoftware</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=1033"/>
		<updated>2023-05-14T11:01:51Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: /* ToDo-Liste: MCUs - Hardwarenahe Software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;htmltag tagname=&amp;quot;img&amp;quot; src=&amp;quot;http://vg04.met.vgwort.de/na/4531f1734b324b72b2d7e566cdf639f0&amp;quot;  width=&amp;quot;1&amp;quot; height=&amp;quot;1&amp;quot; alt=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
[[Datei:Breites Logoband.png|mini|zentriert|hochkant=2.5]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die Systemsoftware lässt sich nicht ohne die Beachtung der Systemelektronik erstellen.&lt;br /&gt;
&lt;br /&gt;
Für die Systemsoftware wurde ein mehrstufiger Entwicklungsprozess definiert:&lt;br /&gt;
# Nutzung einer MCU auf der MicroPython verwendet werden kann. Dies ist durch das STM32F411 nucleo Board der Basiselektronik bzw. durch den Raspberry Pi Pico der Multi-MCU-Elektronik gegeben.&lt;br /&gt;
# Auf der MCU werden lediglich die elementaren Grundfunktionen (GPIO schalten und erfassen, Messwert erfassen, PWM Ausgeben, Sollwert ausgeben, etc.) realisiert und über eine MicroPython zu MATLAB® Schnittstelle [41] wird die Funktionalität in einer MATLAB® GUI hergestellt.&lt;br /&gt;
# Die Softwareentwicklung startet mit der labortechnischen Espressomaschine und wird auf die weiteren Projekte schrittweise transportiert. Dazu ist die Maschinenelektronik gleich zu halten und es sind die gleichen Anschluss-Pins zu verwenden.&lt;br /&gt;
# Nach Abschluss der Testphase der MATLAB® Bedienung wird schrittweise die Betriebssoftware in MicroPython auf der MCU implementiert, so dass am Ende dieses Prozessschrittes die MATLAB®-Verbindung lediglich für weiterführende Datenerfassung und grafische Darstellungen verwendet wird, welche nicht mit dem Display der Maschine möglich ist oder dort nicht dargestellt werden soll.&lt;br /&gt;
# Ob eine Portierung des MicroPython-Codes nach Microcontroller C durchgeführt wird, ist derzeit nicht entschieden.&lt;br /&gt;
&lt;br /&gt;
Es wurden mehrere, die Softwareentwicklung vorbereitende FMEAs durchgeführt.  Die hierdurch entstandenen Dokumentation befinden sich in der Dokumentationsauflistung. Im weiteren wurde eine Projektarbeit zur Konzeptfindung für die Badienung durchgeführt. Auch die hierdurch entstandenen, teilweise auf die FMEA aufbauenden Dokumente befinden sich in der Dokumentationsliste.&lt;br /&gt;
&lt;br /&gt;
= Projektdokumentationen und Beschreibungen =&lt;br /&gt;
* [[:Datei:20210228 Konzept Systemelektronik.pdf|Konzeptbeschreibung Systemelektronik]]&lt;br /&gt;
* [[:Datei:20210605 Workflow Embedded Systems.pdf|Workflow Embedded Systems]]&lt;br /&gt;
* [[:Datei:20200521 Bericht1 NerminArbi.pdf|Funktionsanalyse Boilerbefüllung, Tassenwärmung, Milchschäumen]]&lt;br /&gt;
* [[:Datei:20200518 Bericht halbauto Entkalkung Egger Alexander.pdf|Funktionsanalyse zur halbautomatischen Entkalkung]]&lt;br /&gt;
* [[:Datei:20200518 V0 4 Bericht Funktionsanalyse Rückspulung-Spulung Sladoje.pdf|Funktionsanalyse Rückspülung und Spülung]]&lt;br /&gt;
* [[:Datei:20200521 Bericht Espresso-Teewasserbezug Urbin.pdf|Funktionsanalyse Espresso und Teewasserbezug]]&lt;br /&gt;
* [[:Datei:20200522 Bericht Funktionsanalyse Energieeffizienz Egger Alexander.pdf|Funktionsanalyse Energieeffizienz]]&lt;br /&gt;
* [[:Datei:20200521 V2 Bericht Funktionsanalyse Bedienung Sladoje.pdf|Funktionsanalyse Bedienung]]&lt;br /&gt;
* [[:Datei:20200525 Bericht Abbildung aller Maschinen Urbin V2.pdf|Funktionsanalyse Abbildung aller Maschinen]]&lt;br /&gt;
* [[:Datei:20200609 Bericht Fehleranalyse Entschichtung.pdf|Fehleranalyse Entschichtung]]&lt;br /&gt;
* [[:Datei:20200610 Fehleranalyse Dampf Brühgruppe Sladoje.pdf|Fehleranalyse Brühgruppe und Dampfbezug]]&lt;br /&gt;
* [[:Datei:20200613 Bericht Fehleranalyse Mischer;Magnetventile V2.pdf|Fehleranalyse Mischer und Magnetventile]]&lt;br /&gt;
* [[:Datei:20200611 Bericht3 NerminArbi.pdf|Fehleranalyse Boiler]]&lt;br /&gt;
* [[:Datei:20200705 Dichtheitsprüfung.pdf|Dichtheitsprüfung]]&lt;br /&gt;
* [[:Datei:20200704 Massnahmen Urbin.pdf|Prüfkonzepte Magnetventile und Mischer]]&lt;br /&gt;
* [[:Datei:20200701 Maßnahmenanalyse NerminArbi.pdf|Maßnahmen Boiler]]&lt;br /&gt;
* [[:Datei:20200628 Maßnahmen Entschichtung zweiter Stand.pdf|Maßnahmen Entschichtung]]&lt;br /&gt;
* [[:Datei:20200627 Maßnahmenkonzept Brühguppe Dampf Sladoje.pdf|Maßnahmen Brühgruppe und Dampf]]&lt;br /&gt;
* [[:Datei:20200707_FMEA.xlsx|FMEA Tabelle]]&lt;br /&gt;
* [[:Datei:20201207_Bedienkonzept.pptx|PPT Simulation des Bedienkonzeptes]]&lt;br /&gt;
* [[:Datei:20210207_Bedienkonzept_Funktionsliste.xlsx|Bedienkonzept Funktionsliste]]&lt;br /&gt;
* [[:Datei:20210219_Bedienkonzept_Projektdokumentation.pdf|Bedienkonzept Projektdokumentation]]&lt;br /&gt;
* [[:Datei:HMProjektBedienoberflaecheEspresso.zip|MATLAB® GUI]]&lt;br /&gt;
* [[Entwicklung Systemsoftware SoSe2022]]&lt;br /&gt;
* [[Entwicklung Systemsoftware SoSe2023]]&lt;br /&gt;
&lt;br /&gt;
= [http://www.institut-fuer-kaffeetechnologie.de/Intern/index.php?title=Programmcode Programmcode] =&lt;br /&gt;
Aktueller Programmcode und Änderungsdokumentation ab Jan 2023&lt;br /&gt;
&lt;br /&gt;
= [http://www.institut-fuer-kaffeetechnologie.de/Intern/index.php?title=Software-Bugs Software-Bugs] =&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste(n) Systemsoftware =&lt;br /&gt;
&lt;br /&gt;
== Prioritätsangabe ==&lt;br /&gt;
Prio 1 - Abarbeitung zeitnah erforderlich&amp;lt;br&amp;gt;&lt;br /&gt;
Prio 2 - Abarbeitung erforderlich&amp;lt;br&amp;gt;&lt;br /&gt;
Prio 3 - Abarbeitung kann warten&amp;lt;br&amp;gt;&lt;br /&gt;
Prio 99 - Abarbeitung erfordert Vorarbeiten&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
10 - Erfasst&amp;lt;br&amp;gt;&lt;br /&gt;
30 - in Bearbeitung&amp;lt;br&amp;gt;&lt;br /&gt;
50 - Lösung definiert&amp;lt;br&amp;gt;&lt;br /&gt;
70 - in Umsetzung&amp;lt;br&amp;gt;&lt;br /&gt;
90 - Umsetzung abgeschlossen&amp;lt;br&amp;gt;&lt;br /&gt;
99 - Abbruch per Beschluss (Dokumentation dazu erforderlich)&amp;lt;br&amp;gt;&lt;br /&gt;
100 - Maßnahme bestätigt&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: Allgemeines =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Sicherheitsfunktionen]] || || 99 || 50 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[ Übersicht über verbaute Aktorik und Sensorik in Tabellenform]] || || 2 || 90 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Stromsparmodus]] || || 99 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: MCUs - Hardwarenahe Software =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Grundfunktionen der MCU und mehrere MCUs]] || Armin Rohnen || 1	|| 70 || &lt;br /&gt;
|-	&lt;br /&gt;
| [[UART-Kommunikation Multi-MCU]] || || 3	|| 10 || 	 &lt;br /&gt;
|-&lt;br /&gt;
| Basisboard: [[Schalten Magnetventile (Labor) STM32-Basisboard]] MATLAB®GUI || || || 100&lt;br /&gt;
|-&lt;br /&gt;
| Basisboard: [[Pumpenansteuerung Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 30 || 25.05.2023&lt;br /&gt;
|- 	 &lt;br /&gt;
| Basisboard: [[Schrittmotorsteuerungen Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 30 ||  	 25.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| Basisboard: [[Tastenerkennung Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 3 || 10 || &lt;br /&gt;
|- 	 &lt;br /&gt;
| Basisboard: [[Füllstandserkennung Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 30 || 25.05.2023&lt;br /&gt;
|- 	 &lt;br /&gt;
| Basisboard: [[Durchflussmessung Basisnoard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 30 || 25.05.2023&lt;br /&gt;
|- 	  	 	  	 &lt;br /&gt;
| SSR-Platine: [[Schalten Magnetventile SSR-Platine Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 70 || 25.05.2023&lt;br /&gt;
|- 	 &lt;br /&gt;
| SSR-Platine: [[Schrittmotorsteuerungen SSR-Platine Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 70 ||  	 	 	  	 25.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| Messplatine: [[Messdatenerfassung Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 70 || 25.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: MCUs - Realisierung und Übernahme der Funktionen =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Füllstandsregler Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Regler Boilerdruck Messplatine Multi-MCU]] || ||  2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Mischregler Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|- &lt;br /&gt;
| [[Durchflussregler Basisboard Multi-MCU]] || || 2 || 10 ||  	 &lt;br /&gt;
|-&lt;br /&gt;
| [[Preinfusion Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[einfacher (manueller) Kaffeebezug Basisboard Multi-MCU]] || || 2 || 10 ||  	 &lt;br /&gt;
|-&lt;br /&gt;
| [[Kaffeebezug Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Wasserbezug Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Dampfbezug Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Spülvorgänge Basisboard Multi-MCU]] || || 2 || 10 || 	 &lt;br /&gt;
|-&lt;br /&gt;
| [[Grundreinigung Basisboard Multi-MCU]] || || 2 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Tastenbedienung Basisboard Multi-MCU]] || || 2 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: MATLAB®-Funktionen und GUI =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Messwerte erfassen (Labor)]] || Madita vom Stein, Noureddine Ait Ouhamou|| 1 || 30 || 25.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Messwerte erfassen Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 || 04.08.2023&lt;br /&gt;
|- &lt;br /&gt;
| [[Pumpenansteuerung (Labor)]] || ||  || 100 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Pumpenansteuerung Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  04.08.2023&lt;br /&gt;
|- &lt;br /&gt;
| [[Füllstandsregler (Labor)]] || ||  || 100  || &lt;br /&gt;
|-&lt;br /&gt;
| [[Füllstandsregler Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  27.07.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Regler Boilerdruck (Labor)]] || ||  || 100 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Regler Boilerdruck Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  14.09.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Mischregler (Labor)]] || Madita vom Stein, Simon Thrainer|| 1 || 30 ||  25.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Mischregler Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  22.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Durchflussregler (Labor)]] || Madita vom Stein, Simon Thrainer|| 1 || 30 ||  25.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Durchflussregler Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  22.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Preinfusion Multi-MCU]] || || 99 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[einfacher Kaffeebezug (Labor)]] || ||  || 100 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[einfacher Kaffeebezug Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  04.08.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Kaffeebezug (Labor)]] || Melina Scherf, Hendrik Wegjan|| || 30 ||  06.07.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Kaffeebezug Multi-MCU]] || Noureddine Ait Ouhamou|| 2 || 10 ||  20.07.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Wasserbezug (Labor)]] || Melina Scherf, Hendrik Wegjan|| || 30 ||  25.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Wasserbezug Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  06.07.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Dampfbezug]] || ||  || 100 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Dampfbezug Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  04.08.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Spülvorgänge (Labor)]] || Hendrik Wegjan, Simon Thrainer, Madita vom Stein|| || 30 ||  25.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Spülvorgänge Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  20.07.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Grundreinigung Multi-MCU]] || || 2 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Tastenbedienung (Labor)]] || || || 99 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Tastenbedienung Multi-MCU]] ||  Noureddine Ait Ouhamou|| 3 || 10 ||  18.08.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Anpassungen für Schrittmotorensteuerung]] || Madita vom Stein, Melina Scherf, Hendrik Wegjan|| 1 || 70 ||  25.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Schrittmotorensteuerung Bypass]] || Madita vom Stein, Melina Scherf, Hendrik Wegjan|| 1 || 30 ||  25.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Schrittmotorensteuerung Mischer]] || Simon Thrainer, Hendrik Wegjan|| 1 || 30 ||  25.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Schrittmotorensteuerung Brühgruppendrossel]] || Simon Thrainer, Hendrik Wegjan|| 1 || 30 ||  08.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Adaption an Multi-MCU - Neuprogrammierung MATLAB® GUI]] || Madita vom Stein, Melina Scherf|| 1 || 30 ||  25.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: APP =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[APP - Konzept]] || || 2 || 10 || &lt;br /&gt;
|- 	 &lt;br /&gt;
| [[Messwerte erfassen APP]] || || 99 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Preset / Profilverwaltung]] || || 99 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=983</id>
		<title>Systemsoftware</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=983"/>
		<updated>2023-05-10T06:42:05Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: /* ToDo-Liste: MATLAB®-Funktionen und GUI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;htmltag tagname=&amp;quot;img&amp;quot; src=&amp;quot;http://vg04.met.vgwort.de/na/4531f1734b324b72b2d7e566cdf639f0&amp;quot;  width=&amp;quot;1&amp;quot; height=&amp;quot;1&amp;quot; alt=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
[[Datei:Breites Logoband.png|mini|zentriert|hochkant=2.5]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die Systemsoftware lässt sich nicht ohne die Beachtung der Systemelektronik erstellen.&lt;br /&gt;
&lt;br /&gt;
Für die Systemsoftware wurde ein mehrstufiger Entwicklungsprozess definiert:&lt;br /&gt;
# Nutzung einer MCU auf der MicroPython verwendet werden kann. Dies ist durch das STM32F411 nucleo Board der Basiselektronik bzw. durch den Raspberry Pi Pico der Multi-MCU-Elektronik gegeben.&lt;br /&gt;
# Auf der MCU werden lediglich die elementaren Grundfunktionen (GPIO schalten und erfassen, Messwert erfassen, PWM Ausgeben, Sollwert ausgeben, etc.) realisiert und über eine MicroPython zu MATLAB® Schnittstelle [41] wird die Funktionalität in einer MATLAB® GUI hergestellt.&lt;br /&gt;
# Die Softwareentwicklung startet mit der labortechnischen Espressomaschine und wird auf die weiteren Projekte schrittweise transportiert. Dazu ist die Maschinenelektronik gleich zu halten und es sind die gleichen Anschluss-Pins zu verwenden.&lt;br /&gt;
# Nach Abschluss der Testphase der MATLAB® Bedienung wird schrittweise die Betriebssoftware in MicroPython auf der MCU implementiert, so dass am Ende dieses Prozessschrittes die MATLAB®-Verbindung lediglich für weiterführende Datenerfassung und grafische Darstellungen verwendet wird, welche nicht mit dem Display der Maschine möglich ist oder dort nicht dargestellt werden soll.&lt;br /&gt;
# Ob eine Portierung des MicroPython-Codes nach Microcontroller C durchgeführt wird, ist derzeit nicht entschieden.&lt;br /&gt;
&lt;br /&gt;
Es wurden mehrere, die Softwareentwicklung vorbereitende FMEAs durchgeführt.  Die hierdurch entstandenen Dokumentation befinden sich in der Dokumentationsauflistung. Im weiteren wurde eine Projektarbeit zur Konzeptfindung für die Badienung durchgeführt. Auch die hierdurch entstandenen, teilweise auf die FMEA aufbauenden Dokumente befinden sich in der Dokumentationsliste.&lt;br /&gt;
&lt;br /&gt;
= Projektdokumentationen und Beschreibungen =&lt;br /&gt;
* [[:Datei:20210228 Konzept Systemelektronik.pdf|Konzeptbeschreibung Systemelektronik]]&lt;br /&gt;
* [[:Datei:20210605 Workflow Embedded Systems.pdf|Workflow Embedded Systems]]&lt;br /&gt;
* [[:Datei:20200521 Bericht1 NerminArbi.pdf|Funktionsanalyse Boilerbefüllung, Tassenwärmung, Milchschäumen]]&lt;br /&gt;
* [[:Datei:20200518 Bericht halbauto Entkalkung Egger Alexander.pdf|Funktionsanalyse zur halbautomatischen Entkalkung]]&lt;br /&gt;
* [[:Datei:20200518 V0 4 Bericht Funktionsanalyse Rückspulung-Spulung Sladoje.pdf|Funktionsanalyse Rückspülung und Spülung]]&lt;br /&gt;
* [[:Datei:20200521 Bericht Espresso-Teewasserbezug Urbin.pdf|Funktionsanalyse Espresso und Teewasserbezug]]&lt;br /&gt;
* [[:Datei:20200522 Bericht Funktionsanalyse Energieeffizienz Egger Alexander.pdf|Funktionsanalyse Energieeffizienz]]&lt;br /&gt;
* [[:Datei:20200521 V2 Bericht Funktionsanalyse Bedienung Sladoje.pdf|Funktionsanalyse Bedienung]]&lt;br /&gt;
* [[:Datei:20200525 Bericht Abbildung aller Maschinen Urbin V2.pdf|Funktionsanalyse Abbildung aller Maschinen]]&lt;br /&gt;
* [[:Datei:20200609 Bericht Fehleranalyse Entschichtung.pdf|Fehleranalyse Entschichtung]]&lt;br /&gt;
* [[:Datei:20200610 Fehleranalyse Dampf Brühgruppe Sladoje.pdf|Fehleranalyse Brühgruppe und Dampfbezug]]&lt;br /&gt;
* [[:Datei:20200613 Bericht Fehleranalyse Mischer;Magnetventile V2.pdf|Fehleranalyse Mischer und Magnetventile]]&lt;br /&gt;
* [[:Datei:20200611 Bericht3 NerminArbi.pdf|Fehleranalyse Boiler]]&lt;br /&gt;
* [[:Datei:20200705 Dichtheitsprüfung.pdf|Dichtheitsprüfung]]&lt;br /&gt;
* [[:Datei:20200704 Massnahmen Urbin.pdf|Prüfkonzepte Magnetventile und Mischer]]&lt;br /&gt;
* [[:Datei:20200701 Maßnahmenanalyse NerminArbi.pdf|Maßnahmen Boiler]]&lt;br /&gt;
* [[:Datei:20200628 Maßnahmen Entschichtung zweiter Stand.pdf|Maßnahmen Entschichtung]]&lt;br /&gt;
* [[:Datei:20200627 Maßnahmenkonzept Brühguppe Dampf Sladoje.pdf|Maßnahmen Brühgruppe und Dampf]]&lt;br /&gt;
* [[:Datei:20200707_FMEA.xlsx|FMEA Tabelle]]&lt;br /&gt;
* [[:Datei:20201207_Bedienkonzept.pptx|PPT Simulation des Bedienkonzeptes]]&lt;br /&gt;
* [[:Datei:20210207_Bedienkonzept_Funktionsliste.xlsx|Bedienkonzept Funktionsliste]]&lt;br /&gt;
* [[:Datei:20210219_Bedienkonzept_Projektdokumentation.pdf|Bedienkonzept Projektdokumentation]]&lt;br /&gt;
* [[:Datei:HMProjektBedienoberflaecheEspresso.zip|MATLAB® GUI]]&lt;br /&gt;
* [[Entwicklung Systemsoftware SoSe2022]]&lt;br /&gt;
* [[Entwicklung Systemsoftware SoSe2023]]&lt;br /&gt;
&lt;br /&gt;
= [http://www.institut-fuer-kaffeetechnologie.de/Intern/index.php?title=Programmcode Programmcode] =&lt;br /&gt;
Aktueller Programmcode und Änderungsdokumentation ab Jan 2023&lt;br /&gt;
&lt;br /&gt;
= [http://www.institut-fuer-kaffeetechnologie.de/Intern/index.php?title=Software-Bugs Software-Bugs] =&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste(n) Systemsoftware =&lt;br /&gt;
&lt;br /&gt;
== Prioritätsangabe ==&lt;br /&gt;
Prio 1 - Abarbeitung zeitnah erforderlich&amp;lt;br&amp;gt;&lt;br /&gt;
Prio 2 - Abarbeitung erforderlich&amp;lt;br&amp;gt;&lt;br /&gt;
Prio 3 - Abarbeitung kann warten&amp;lt;br&amp;gt;&lt;br /&gt;
Prio 99 - Abarbeitung erfordert Vorarbeiten&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
10 - Erfasst&amp;lt;br&amp;gt;&lt;br /&gt;
30 - in Bearbeitung&amp;lt;br&amp;gt;&lt;br /&gt;
50 - Lösung definiert&amp;lt;br&amp;gt;&lt;br /&gt;
70 - in Umsetzung&amp;lt;br&amp;gt;&lt;br /&gt;
90 - Umsetzung abgeschlossen&amp;lt;br&amp;gt;&lt;br /&gt;
99 - Abbruch per Beschluss (Dokumentation dazu erforderlich)&amp;lt;br&amp;gt;&lt;br /&gt;
100 - Maßnahme bestätigt&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: Allgemeines =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Sicherheitsfunktionen]] || || 99 || 50 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[ Übersicht über verbaute Aktorik und Sensorik in Tabellenform]] || || 2 || 90 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Stromsparmodus]] || || 99 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: MCUs - Hardwarenahe Software =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Grundfunktionen der MCU und mehrere MCUs]] || Armin Rohnen || 1	|| 70 || &lt;br /&gt;
|-	&lt;br /&gt;
| [[UART-Kommunikation Multi-MCU]] || || 3	|| 10 || 	 &lt;br /&gt;
|-&lt;br /&gt;
| Basisboard: [[Schalten Magnetventile (Labor) STM32-Basisboard]] MATLAB®GUI || || || 100&lt;br /&gt;
|-&lt;br /&gt;
| Basisboard: [[Pumpenansteuerung Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 || 27.05.2023&lt;br /&gt;
|- 	 &lt;br /&gt;
| Basisboard: [[Schrittmotorsteuerungen Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  	 27.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| Basisboard: [[Tastenerkennung Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 3 || 10 || &lt;br /&gt;
|- 	 &lt;br /&gt;
| Basisboard: [[Füllstandserkennung Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 || 27.05.2023&lt;br /&gt;
|- 	 &lt;br /&gt;
| Basisboard: [[Durchflussmessung Basisnoard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 || 27.05.2023&lt;br /&gt;
|- 	  	 	  	 &lt;br /&gt;
| SSR-Platine: [[Schalten Magnetventile SSR-Platine Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 || 13.05.2023&lt;br /&gt;
|- 	 &lt;br /&gt;
| SSR-Platine: [[Schrittmotorsteuerungen SSR-Platine Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  	 	 	  	 13.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| Messplatine: [[Messdatenerfassung Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 || 13.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: MCUs - Realisierung und Übernahme der Funktionen =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Füllstandsregler Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Regler Boilerdruck Messplatine Multi-MCU]] || ||  2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Mischregler Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|- &lt;br /&gt;
| [[Durchflussregler Basisboard Multi-MCU]] || || 2 || 10 ||  	 &lt;br /&gt;
|-&lt;br /&gt;
| [[Preinfusion Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[einfacher (manueller) Kaffeebezug Basisboard Multi-MCU]] || || 2 || 10 ||  	 &lt;br /&gt;
|-&lt;br /&gt;
| [[Kaffeebezug Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Wasserbezug Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Dampfbezug Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Spülvorgänge Basisboard Multi-MCU]] || || 2 || 10 || 	 &lt;br /&gt;
|-&lt;br /&gt;
| [[Grundreinigung Basisboard Multi-MCU]] || || 2 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Tastenbedienung Basisboard Multi-MCU]] || || 2 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: MATLAB®-Funktionen und GUI =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Messwerte erfassen (Labor)]] || Madita vom Stein, Noureddine Ait Ouhamou|| 1 || 30 || 25.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Messwerte erfassen Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 || 04.08.2023&lt;br /&gt;
|- &lt;br /&gt;
| [[Pumpenansteuerung (Labor)]] || ||  || 100 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Pumpenansteuerung Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  04.08.2023&lt;br /&gt;
|- &lt;br /&gt;
| [[Füllstandsregler (Labor)]] || ||  || 100  || &lt;br /&gt;
|-&lt;br /&gt;
| [[Füllstandsregler Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  27.07.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Regler Boilerdruck (Labor)]] || ||  || 100 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Regler Boilerdruck Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  14.09.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Mischregler (Labor)]] || Madita vom Stein, Simon Thrainer|| 1 || 30 ||  25.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Mischregler Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  22.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Durchflussregler (Labor)]] || Madita vom Stein, Simon Thrainer|| 1 || 30 ||  25.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Durchflussregler Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  22.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Preinfusion Multi-MCU]] || || 99 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[einfacher Kaffeebezug (Labor)]] || ||  || 100 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[einfacher Kaffeebezug Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  04.08.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Kaffeebezug (Labor)]] || Melina Scherf, Hendrik Wegjan|| || 30 ||  06.07.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Kaffeebezug Multi-MCU]] || Noureddine Ait Ouhamou|| 2 || 10 ||  20.07.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Wasserbezug (Labor)]] || Melina Scherf, Hendrik Wegjan|| || 30 ||  25.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Wasserbezug Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  06.07.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Dampfbezug]] || ||  || 100 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Dampfbezug Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  04.08.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Spülvorgänge (Labor)]] || Hendrik Wegjan, Simon Thrainer, Madita vom Stein|| || 30 ||  11.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Spülvorgänge Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  20.07.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Grundreinigung Multi-MCU]] || || 2 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Tastenbedienung (Labor)]] || || || 99 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Tastenbedienung Multi-MCU]] ||  Noureddine Ait Ouhamou|| 3 || 10 ||  18.08.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Anpassungen für Schrittmotorensteuerung]] || Madita vom Stein, Melina Scherf, Hendrik Wegjan|| 1 || 70 ||  25.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Schrittmotorensteuerung Bypass]] || Madita vom Stein, Melina Scherf, Hendrik Wegjan|| 1 || 30 ||  25.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Schrittmotorensteuerung Mischer]] || Simon Thrainer, Hendrik Wegjan|| 1 || 30 ||  11.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Schrittmotorensteuerung Brühgruppendrossel]] || Simon Thrainer, Hendrik Wegjan|| 1 || 30 ||  08.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Adaption an Multi-MCU]] || Madita vom Stein, Melina Scherf|| 1 || 30 ||  11.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: APP =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[APP - Konzept]] || || 2 || 10 || &lt;br /&gt;
|- 	 &lt;br /&gt;
| [[Messwerte erfassen APP]] || || 99 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Preset / Profilverwaltung]] || || 99 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Sp%C3%BClvorg%C3%A4nge_(Labor)&amp;diff=790</id>
		<title>Spülvorgänge (Labor)</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Sp%C3%BClvorg%C3%A4nge_(Labor)&amp;diff=790"/>
		<updated>2023-04-22T16:09:13Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: /* Laboreintrag 21.04.2023 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Madita vom Stein, 21.04.2023 =&lt;br /&gt;
Für die Einführung eines Reinigungsprogrammes wurden am 17.04.2023 weitere Versuche durchgeführt.&lt;br /&gt;
Durch die Versuche sollte die Unterscheidbarkeit von Fehlerfällen zu den beiden Reinigungsoptionen (Flush oder Rückspülung) anhand des Brühgruppendruckes, sowie des Durchflusses quantifiziert werden. Die einzelnen Fälle sind im Eintrag vom 04.04.2023 näher erläutert.&lt;br /&gt;
In den Versuchen wurde der Fehlerfall, also der Start des Reinigungsprogrammes bei eingespanntem Siebträger mit Kaffee, mit variierenden Parametern simuliert. Im Reinigungsprogramm wird voraussichtlich eine Wassertemperatur an der Brühgruppe um die 70 °C angestrebt, wobei der genaue Temperaturwert bei der Kaffeewerkstatt München erfragt wird.&lt;br /&gt;
Der Versuch mit den Parametern 2000 mV Pumpenleistung, Durchflussventil 80 % geschlossen, Pumpenbypass 0 % offen, Mahlgrad 4 hat ergeben, dass der in diesem Fall auftretende Maximaldruck in der Brühgruppe von 10,5 bar nach 20 Sekunden auftritt.&lt;br /&gt;
Dadurch, und durch die vorangegangenen Versuche mit Blindsieb und ohne Gegendruck, ist die Fallunterscheidung nach 15-20 Sekunden mit folgenden Werten für das Reinigungsprogramm denkbar. Vorausgesetzt ist aktuell ein Reinigungsprogramm, das mit 2000 mV Pumpenleistung, 80% geschlossenem Dosierventil und geschlossenem Pumpenbypass fährt [Diagramm 1].&lt;br /&gt;
Sind 15-20 Sekunden nach Start des Reinigungsprogrammes gleichzeitig der Durchfluss höher als 3 ccm/s und der Boilerdruck kleiner als drei bar, so wird der Fall 1) Flush erkannt. Dieses Reinigungsprogramm wurde also korrekt durchlaufen und stoppt nun regulär.&lt;br /&gt;
Werden nach Ablauf von 15-20 Sekunden nach Start der Reinigung hingegen ein Durchfluss von kleiner 1 ccm/s, sowie ein Boilerdruck von über 12 bar gemessen, wird der Fall 2) Rückspülung erkannt. Aufgrund des Blindsiebs liegt ein hoher Druck vor, der wiederum das Abschalten der Pumpe herbeiführt und den Durchfluss stoppt. Es wird eine noch näher zu spezifizierende Zeit lang abgewartet, damit das Reinigungsmittel in das Blindsieb und in die Brühgruppe einwirken kann. Ob zusätzlich ein mehrmaliger Druckaufbau zur Reinigung notwendig ist, wird noch festgestellt. Anschließend wird die Pumpenleistung wieder auf 2000 mV gesetzt, um zu spülen. Hierfür wird das Rückspülventil (Y08) geöffnet. Hiernach stoppt der Durchfluss erneut, damit das Reinigungsmittel auch in den Schläuchen der Rückspülung einwirken kann. Zum Abschluss des Programmes wird die Pumpe noch einmal aktiviert und so die Maschine gespült.&lt;br /&gt;
Liegt keiner der beiden beschriebenen Parameterkombinationen vor, liegt ein Fehlerfall vor. Sollte ein Siebträger mit Kaffee eingespannt sein und versehentlich die Reinigung gestartet werden, liegt ein Brühgruppendruck von ungefähr 10,5 bar vor und es gibt je nach Mahlgrad wenig bis keinen Durchfluss. Es wird eine Fehlermeldung ausgegeben.&lt;br /&gt;
Mit den genannten drei Parameterkombinationen sind die beiden Reinigungsoptionen, sowie der vorstellbare Fehlerfall abgedeckt. Um auch auf weitere, nicht absehbare Fehler durch fehlerhafte Betätigung des Reinigungsprogrammes korrekt reagieren zu können, soll der Fehlerfall im Programmcode nicht als weitere If-Abfrage mit Parametern erkannt werden, sondern automatisch durch eine „else“-Anweisung eingeleitet werden, sollte keiner der beiden Reinigungszustände durch die Doppelwertprüfung erkannt werden.&lt;br /&gt;
&lt;br /&gt;
= Übersicht über die Versuchsdaten =&lt;br /&gt;
Pumpenleistung 2000 mV, Dosierventilstellung 80, Bypass 0, Mahlgrad 4, Reinigungstemperatur (ca. 70 °C)&lt;br /&gt;
-&amp;gt; ca. 10,5 bar max. Brühgruppendruck nach ca. 20 sek.&lt;br /&gt;
[[Datei:Diagramm 1.png|500px|thumb|none]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Hendrik Wegjan, 04.04.2023 =&lt;br /&gt;
Für die Umsetzung der Spülvorgänge wurden zunächst geeignete Prüfparameter zur Unterscheidung der einzelnen Prozesse definiert.&lt;br /&gt;
Fall 1) Kein Siebträger oder Siebträger ohne Kaffeepuck&lt;br /&gt;
Im Fall 1 bildet sich an der Brühgruppe kein/kaum Gegendruck auf, als erster Grenzwert wurde 1 bar festgehalten. Außerdem steigt der Durchfluss deutlich über 1cm3/s an. Bei Erkennung dieses Falles wird ein sogenannter „Flush“ (Durchspülung) aktiviert.&lt;br /&gt;
Fall 2) Siebträger mit Blindsieb&lt;br /&gt;
Hier entsteht der bei der vorgegebenen Pumpenleistung maximal mögliche Gegendruck in der Brühgruppe, zudem wird der Durchfluss 0. Bei Erkennung dieses Falles wird eine Rückspülreinigung initiiert.&lt;br /&gt;
Fall 3) Siebträger mit Kaffeepuck (Fehlerfall)&lt;br /&gt;
Bei einem regelkonformen Kaffeebezug entsteht ein Brühgruppendruck von ca 9 bar und ein Durchfluss von 1ccm/s. Diese Werte werden auch hier verwendet, um die fehlerhafte Eingabe zu erkennen. Bei Erkennung dieses Falles wird ein Fehler ausgegeben.&lt;br /&gt;
Weiterhin wurde ein geschlossener Bypass für sämtliche Reinigungsprogramme definiert. Zielsetzung ist es, eine Reinigung mit möglichst hohem Druck (Fall 2) bzw. mit möglichst hohem Durchfluss (Fall 1) und somit in möglichst kurzer Zeit durchzuführen. Die Wirksamkeit dieser Parameter muss noch ermittelt werden.&lt;br /&gt;
Direkt zu Beginn der Versuchsreihe wurde neues Kaffeepulver (Tanzania Coffee, Röstzeit 18:19 Minuten, T-Out 186 °C) geöffnet. Dies führte zu Problemen im parametrierten Kaffeebezug. Ferner ist auch die Bypass-Schließung als Problemfaktor zu notieren.&lt;br /&gt;
Eine Unterscheidung zwischen Fall 1 und 2 gelang sehr zügig, da beide Messwerte (Durchfluss und Brühgruppendruck) stark divergieren.&lt;br /&gt;
Problematisch gestaltet sich die Erkennung des Fehlerfalls 3. Bei den gefahrenen Testreihen konnte zeitweise kein Unterschied zwischen Fall 2 und 3 erkannt werden, da sich in beiden Fällen ein Gegendruck von ca 13 bar und ein Durchfluss von 0 cm3/s einstellte (s. Abb. 1 und 2).&lt;br /&gt;
Eine Veränderung des Mahlgrades verbesserte die Differenzierung zwischen Fall 2 und 3, da nun ein Durchfluss (ca. 1,5 cm3/s) sowie ein geringerer statischer Brühgruppendruck (9-11 bar je nach Mahlgrad) für Fall 3 festgestellt werden konnte (s. Abb. 3).&lt;br /&gt;
Als erste Erkenntnis kann somit festgehalten werden, dass ein spezifischer Mahlgrad je nach Kaffeesorte eingehalten werden muss, um eine fehlerfreie Erkennung zwischen Fall 2 und 3 zu ermöglichen.&lt;br /&gt;
Im aktuellen Fall (Pumpenleistung 2000 mV; Bypass 0; Dosierventil 30; Tanzania Coffee, Röstzeit 18:19 Minuten, T-Out 186 °C) ist dies der Mahlgrad 4.&lt;br /&gt;
Folgeversuche sind jedoch notwendig, um eine gewisse Wiederholgenauigkeit erzielen zu können.&lt;br /&gt;
Sind diese erfolgreich, so kann eine erste Programmierung der Fallunterscheidung vorgenommen werden.&lt;br /&gt;
Außerdem ist es sinnvoll, eine Kennlinie Maximaler Brühgruppendruck bei Bypass auf 0 Schritte/Pumpenleistung zu erstellen, um das Reinigungsprogramm auch für neue Parameter zu befähigen.&lt;br /&gt;
Im weiteren Verlauf (voraussichtlich nach der initialen Programmierung und Testphase) muss geprüft werden, inwiefern der Parameter Durchfluss als Messwert zur frühzeitigen Erkennung des Falles 2 geeignet ist. In Testläufen dauerte es ca. 15 Sekunden, bis ein Durchfluss von 0 und somit das Vorliegen einer Rückspül-Reinigung festgestellt werden konnte.&lt;br /&gt;
&lt;br /&gt;
Im Umkehrschluss bedeutet dies, dass bei einer Miteinbeziehung dieses Wertes in die Fallunterscheidung frühestens nach 15-20 Sekunden erkannt werden kann, ob tatsächlich eine Rückspülreinigung stattfinden soll oder ob der Fehlerfall 3 eingetreten ist.&lt;br /&gt;
&lt;br /&gt;
[[Datei:20230413 Reinigungsprogramm Blindsieb 2000mV BP0 DV30.png|500px|thumb|none|Abbildung 1: Erreichen des Maximaldrucks mit Blindsieb (Fall 2)]] &lt;br /&gt;
[[Datei:20230417 Reinigungsprogramm Kaffeebezug MG3 2000mV BP0 DV30 heiß.png|500px|thumb|none|Abbildung 2: Erreichen des Maximaldrucks bei Kaffeebezug mit MG3 (Fehlerfall)]]&lt;br /&gt;
[[Datei:20230417 Reinigungsprogramm Kaffeebezug MG4 2000mV BP0 DV30 heiß.png|500px|thumb|none|Abbildung 3: Kaffeebezug mit MG4, kein Erreichen d. Maximaldrucks]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Armin Rohnen, 21.02.2022 =&lt;br /&gt;
Auf Tastendruck soll ein Spülvorgang ausgelöst werden.&lt;br /&gt;
Befindet sich kein Blindsieb im Siebträger ist bei definierter Pumpenleistung ein Durchfluss zu erkennen. Dabei sollte zwischen dem Zuständen &amp;quot;Siebträger mit Kaffeepuk&amp;quot;, &amp;quot;Siebträger ohne Kaffeepuk&amp;quot; und &amp;quot;ohne Siebträger&amp;quot; unterschieden werden können. Für die Fälle &amp;quot;Siebträger ohne Kaffeepuk&amp;quot; und &amp;quot;ohne Siebträger&amp;quot; soll ein Flush-Vorgang aktiviert werden. Für &amp;quot;Siebträger mit Kaffeepuk&amp;quot; wird eine Fehlbedienung angenommen.&lt;br /&gt;
&lt;br /&gt;
Befindet sich ein Blindsieb im Siebträger, dann stellt sich bei definierter Pumpenleistung ein statischer Druck ein und es erfolgt kein bzw. lediglich marginaler Durchfluss. Dieses Merkmal wird dazu verwendet eine halbautomatische Rückspülreinigung durch zu führen.&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Sp%C3%BClvorg%C3%A4nge_(Labor)&amp;diff=789</id>
		<title>Spülvorgänge (Labor)</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Sp%C3%BClvorg%C3%A4nge_(Labor)&amp;diff=789"/>
		<updated>2023-04-22T16:08:26Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Laboreintrag 21.04.2023 ==&lt;br /&gt;
Für die Einführung eines Reinigungsprogrammes wurden am 17.04.2023 weitere Versuche durchgeführt.&lt;br /&gt;
Durch die Versuche sollte die Unterscheidbarkeit von Fehlerfällen zu den beiden Reinigungsoptionen (Flush oder Rückspülung) anhand des Brühgruppendruckes, sowie des Durchflusses quantifiziert werden. Die einzelnen Fälle sind im Eintrag vom 04.04.2023 näher erläutert.&lt;br /&gt;
In den Versuchen wurde der Fehlerfall, also der Start des Reinigungsprogrammes bei eingespanntem Siebträger mit Kaffee, mit variierenden Parametern simuliert. Im Reinigungsprogramm wird voraussichtlich eine Wassertemperatur an der Brühgruppe um die 70 °C angestrebt, wobei der genaue Temperaturwert bei der Kaffeewerkstatt München erfragt wird.&lt;br /&gt;
Der Versuch mit den Parametern 2000 mV Pumpenleistung, Durchflussventil 80 % geschlossen, Pumpenbypass 0 % offen, Mahlgrad 4 hat ergeben, dass der in diesem Fall auftretende Maximaldruck in der Brühgruppe von 10,5 bar nach 20 Sekunden auftritt.&lt;br /&gt;
Dadurch, und durch die vorangegangenen Versuche mit Blindsieb und ohne Gegendruck, ist die Fallunterscheidung nach 15-20 Sekunden mit folgenden Werten für das Reinigungsprogramm denkbar. Vorausgesetzt ist aktuell ein Reinigungsprogramm, das mit 2000 mV Pumpenleistung, 80% geschlossenem Dosierventil und geschlossenem Pumpenbypass fährt [Diagramm 1].&lt;br /&gt;
Sind 15-20 Sekunden nach Start des Reinigungsprogrammes gleichzeitig der Durchfluss höher als 3 ccm/s und der Boilerdruck kleiner als drei bar, so wird der Fall 1) Flush erkannt. Dieses Reinigungsprogramm wurde also korrekt durchlaufen und stoppt nun regulär.&lt;br /&gt;
Werden nach Ablauf von 15-20 Sekunden nach Start der Reinigung hingegen ein Durchfluss von kleiner 1 ccm/s, sowie ein Boilerdruck von über 12 bar gemessen, wird der Fall 2) Rückspülung erkannt. Aufgrund des Blindsiebs liegt ein hoher Druck vor, der wiederum das Abschalten der Pumpe herbeiführt und den Durchfluss stoppt. Es wird eine noch näher zu spezifizierende Zeit lang abgewartet, damit das Reinigungsmittel in das Blindsieb und in die Brühgruppe einwirken kann. Ob zusätzlich ein mehrmaliger Druckaufbau zur Reinigung notwendig ist, wird noch festgestellt. Anschließend wird die Pumpenleistung wieder auf 2000 mV gesetzt, um zu spülen. Hierfür wird das Rückspülventil (Y08) geöffnet. Hiernach stoppt der Durchfluss erneut, damit das Reinigungsmittel auch in den Schläuchen der Rückspülung einwirken kann. Zum Abschluss des Programmes wird die Pumpe noch einmal aktiviert und so die Maschine gespült.&lt;br /&gt;
Liegt keiner der beiden beschriebenen Parameterkombinationen vor, liegt ein Fehlerfall vor. Sollte ein Siebträger mit Kaffee eingespannt sein und versehentlich die Reinigung gestartet werden, liegt ein Brühgruppendruck von ungefähr 10,5 bar vor und es gibt je nach Mahlgrad wenig bis keinen Durchfluss. Es wird eine Fehlermeldung ausgegeben.&lt;br /&gt;
Mit den genannten drei Parameterkombinationen sind die beiden Reinigungsoptionen, sowie der vorstellbare Fehlerfall abgedeckt. Um auch auf weitere, nicht absehbare Fehler durch fehlerhafte Betätigung des Reinigungsprogrammes korrekt reagieren zu können, soll der Fehlerfall im Programmcode nicht als weitere If-Abfrage mit Parametern erkannt werden, sondern automatisch durch eine „else“-Anweisung eingeleitet werden, sollte keiner der beiden Reinigungszustände durch die Doppelwertprüfung erkannt werden.&lt;br /&gt;
&lt;br /&gt;
= Übersicht über die Versuchsdaten =&lt;br /&gt;
Pumpenleistung 2000 mV, Dosierventilstellung 80, Bypass 0, Mahlgrad 4, Reinigungstemperatur (ca. 70 °C)&lt;br /&gt;
-&amp;gt; ca. 10,5 bar max. Brühgruppendruck nach ca. 20 sek.&lt;br /&gt;
[[Datei:Diagramm 1.png|500px|thumb|none]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Hendrik Wegjan, 04.04.2023 =&lt;br /&gt;
Für die Umsetzung der Spülvorgänge wurden zunächst geeignete Prüfparameter zur Unterscheidung der einzelnen Prozesse definiert.&lt;br /&gt;
Fall 1) Kein Siebträger oder Siebträger ohne Kaffeepuck&lt;br /&gt;
Im Fall 1 bildet sich an der Brühgruppe kein/kaum Gegendruck auf, als erster Grenzwert wurde 1 bar festgehalten. Außerdem steigt der Durchfluss deutlich über 1cm3/s an. Bei Erkennung dieses Falles wird ein sogenannter „Flush“ (Durchspülung) aktiviert.&lt;br /&gt;
Fall 2) Siebträger mit Blindsieb&lt;br /&gt;
Hier entsteht der bei der vorgegebenen Pumpenleistung maximal mögliche Gegendruck in der Brühgruppe, zudem wird der Durchfluss 0. Bei Erkennung dieses Falles wird eine Rückspülreinigung initiiert.&lt;br /&gt;
Fall 3) Siebträger mit Kaffeepuck (Fehlerfall)&lt;br /&gt;
Bei einem regelkonformen Kaffeebezug entsteht ein Brühgruppendruck von ca 9 bar und ein Durchfluss von 1ccm/s. Diese Werte werden auch hier verwendet, um die fehlerhafte Eingabe zu erkennen. Bei Erkennung dieses Falles wird ein Fehler ausgegeben.&lt;br /&gt;
Weiterhin wurde ein geschlossener Bypass für sämtliche Reinigungsprogramme definiert. Zielsetzung ist es, eine Reinigung mit möglichst hohem Druck (Fall 2) bzw. mit möglichst hohem Durchfluss (Fall 1) und somit in möglichst kurzer Zeit durchzuführen. Die Wirksamkeit dieser Parameter muss noch ermittelt werden.&lt;br /&gt;
Direkt zu Beginn der Versuchsreihe wurde neues Kaffeepulver (Tanzania Coffee, Röstzeit 18:19 Minuten, T-Out 186 °C) geöffnet. Dies führte zu Problemen im parametrierten Kaffeebezug. Ferner ist auch die Bypass-Schließung als Problemfaktor zu notieren.&lt;br /&gt;
Eine Unterscheidung zwischen Fall 1 und 2 gelang sehr zügig, da beide Messwerte (Durchfluss und Brühgruppendruck) stark divergieren.&lt;br /&gt;
Problematisch gestaltet sich die Erkennung des Fehlerfalls 3. Bei den gefahrenen Testreihen konnte zeitweise kein Unterschied zwischen Fall 2 und 3 erkannt werden, da sich in beiden Fällen ein Gegendruck von ca 13 bar und ein Durchfluss von 0 cm3/s einstellte (s. Abb. 1 und 2).&lt;br /&gt;
Eine Veränderung des Mahlgrades verbesserte die Differenzierung zwischen Fall 2 und 3, da nun ein Durchfluss (ca. 1,5 cm3/s) sowie ein geringerer statischer Brühgruppendruck (9-11 bar je nach Mahlgrad) für Fall 3 festgestellt werden konnte (s. Abb. 3).&lt;br /&gt;
Als erste Erkenntnis kann somit festgehalten werden, dass ein spezifischer Mahlgrad je nach Kaffeesorte eingehalten werden muss, um eine fehlerfreie Erkennung zwischen Fall 2 und 3 zu ermöglichen.&lt;br /&gt;
Im aktuellen Fall (Pumpenleistung 2000 mV; Bypass 0; Dosierventil 30; Tanzania Coffee, Röstzeit 18:19 Minuten, T-Out 186 °C) ist dies der Mahlgrad 4.&lt;br /&gt;
Folgeversuche sind jedoch notwendig, um eine gewisse Wiederholgenauigkeit erzielen zu können.&lt;br /&gt;
Sind diese erfolgreich, so kann eine erste Programmierung der Fallunterscheidung vorgenommen werden.&lt;br /&gt;
Außerdem ist es sinnvoll, eine Kennlinie Maximaler Brühgruppendruck bei Bypass auf 0 Schritte/Pumpenleistung zu erstellen, um das Reinigungsprogramm auch für neue Parameter zu befähigen.&lt;br /&gt;
Im weiteren Verlauf (voraussichtlich nach der initialen Programmierung und Testphase) muss geprüft werden, inwiefern der Parameter Durchfluss als Messwert zur frühzeitigen Erkennung des Falles 2 geeignet ist. In Testläufen dauerte es ca. 15 Sekunden, bis ein Durchfluss von 0 und somit das Vorliegen einer Rückspül-Reinigung festgestellt werden konnte.&lt;br /&gt;
&lt;br /&gt;
Im Umkehrschluss bedeutet dies, dass bei einer Miteinbeziehung dieses Wertes in die Fallunterscheidung frühestens nach 15-20 Sekunden erkannt werden kann, ob tatsächlich eine Rückspülreinigung stattfinden soll oder ob der Fehlerfall 3 eingetreten ist.&lt;br /&gt;
&lt;br /&gt;
[[Datei:20230413 Reinigungsprogramm Blindsieb 2000mV BP0 DV30.png|500px|thumb|none|Abbildung 1: Erreichen des Maximaldrucks mit Blindsieb (Fall 2)]] &lt;br /&gt;
[[Datei:20230417 Reinigungsprogramm Kaffeebezug MG3 2000mV BP0 DV30 heiß.png|500px|thumb|none|Abbildung 2: Erreichen des Maximaldrucks bei Kaffeebezug mit MG3 (Fehlerfall)]]&lt;br /&gt;
[[Datei:20230417 Reinigungsprogramm Kaffeebezug MG4 2000mV BP0 DV30 heiß.png|500px|thumb|none|Abbildung 3: Kaffeebezug mit MG4, kein Erreichen d. Maximaldrucks]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Armin Rohnen, 21.02.2022 =&lt;br /&gt;
Auf Tastendruck soll ein Spülvorgang ausgelöst werden.&lt;br /&gt;
Befindet sich kein Blindsieb im Siebträger ist bei definierter Pumpenleistung ein Durchfluss zu erkennen. Dabei sollte zwischen dem Zuständen &amp;quot;Siebträger mit Kaffeepuk&amp;quot;, &amp;quot;Siebträger ohne Kaffeepuk&amp;quot; und &amp;quot;ohne Siebträger&amp;quot; unterschieden werden können. Für die Fälle &amp;quot;Siebträger ohne Kaffeepuk&amp;quot; und &amp;quot;ohne Siebträger&amp;quot; soll ein Flush-Vorgang aktiviert werden. Für &amp;quot;Siebträger mit Kaffeepuk&amp;quot; wird eine Fehlbedienung angenommen.&lt;br /&gt;
&lt;br /&gt;
Befindet sich ein Blindsieb im Siebträger, dann stellt sich bei definierter Pumpenleistung ein statischer Druck ein und es erfolgt kein bzw. lediglich marginaler Durchfluss. Dieses Merkmal wird dazu verwendet eine halbautomatische Rückspülreinigung durch zu führen.&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Datei:20230417_Reinigungsprogramm_Kaffeebezug_MG4_2000mV_BP0_DV30_hei%C3%9F.png&amp;diff=788</id>
		<title>Datei:20230417 Reinigungsprogramm Kaffeebezug MG4 2000mV BP0 DV30 heiß.png</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Datei:20230417_Reinigungsprogramm_Kaffeebezug_MG4_2000mV_BP0_DV30_hei%C3%9F.png&amp;diff=788"/>
		<updated>2023-04-22T15:45:47Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Datei:20230417_Reinigungsprogramm_Kaffeebezug_MG3_2000mV_BP0_DV30_hei%C3%9F.png&amp;diff=787</id>
		<title>Datei:20230417 Reinigungsprogramm Kaffeebezug MG3 2000mV BP0 DV30 heiß.png</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Datei:20230417_Reinigungsprogramm_Kaffeebezug_MG3_2000mV_BP0_DV30_hei%C3%9F.png&amp;diff=787"/>
		<updated>2023-04-22T15:45:19Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Datei:20230413_Reinigungsprogramm_Blindsieb_2000mV_BP0_DV30.png&amp;diff=786</id>
		<title>Datei:20230413 Reinigungsprogramm Blindsieb 2000mV BP0 DV30.png</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Datei:20230413_Reinigungsprogramm_Blindsieb_2000mV_BP0_DV30.png&amp;diff=786"/>
		<updated>2023-04-22T15:44:48Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=620</id>
		<title>Systemsoftware</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=620"/>
		<updated>2023-04-13T16:09:05Z</updated>

		<summary type="html">&lt;p&gt;Hendrik Wegjan: /* ToDo-Liste: MATLAB®-Funktionen und GUI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;htmltag tagname=&amp;quot;img&amp;quot; src=&amp;quot;http://vg04.met.vgwort.de/na/4531f1734b324b72b2d7e566cdf639f0&amp;quot;  width=&amp;quot;1&amp;quot; height=&amp;quot;1&amp;quot; alt=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
[[Datei:Breites Logoband.png|mini|zentriert|hochkant=2.5]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die Systemsoftware lässt sich nicht ohne die Beachtung der Systemelektronik erstellen.&lt;br /&gt;
&lt;br /&gt;
Für die Systemsoftware wurde ein mehrstufiger Entwicklungsprozess definiert:&lt;br /&gt;
# Nutzung einer MCU auf der MicroPython verwendet werden kann. Dies ist durch das STM32F411 nucleo Board der Basiselektronik bzw. durch den Raspberry Pi Pico der Multi-MCU-Elektronik gegeben.&lt;br /&gt;
# Auf der MCU werden lediglich die elementaren Grundfunktionen (GPIO schalten und erfassen, Messwert erfassen, PWM Ausgeben, Sollwert ausgeben, etc.) realisiert und über eine MicroPython zu MATLAB® Schnittstelle [41] wird die Funktionalität in einer MATLAB® GUI hergestellt.&lt;br /&gt;
# Die Softwareentwicklung startet mit der labortechnischen Espressomaschine und wird auf die weiteren Projekte schrittweise transportiert. Dazu ist die Maschinenelektronik gleich zu halten und es sind die gleichen Anschluss-Pins zu verwenden.&lt;br /&gt;
# Nach Abschluss der Testphase der MATLAB® Bedienung wird schrittweise die Betriebssoftware in MicroPython auf der MCU implementiert, so dass am Ende dieses Prozessschrittes die MATLAB®-Verbindung lediglich für weiterführende Datenerfassung und grafische Darstellungen verwendet wird, welche nicht mit dem Display der Maschine möglich ist oder dort nicht dargestellt werden soll.&lt;br /&gt;
# Ob eine Portierung des MicroPython-Codes nach Microcontroller C durchgeführt wird, ist derzeit nicht entschieden.&lt;br /&gt;
&lt;br /&gt;
Es wurden mehrere, die Softwareentwicklung vorbereitende FMEAs durchgeführt.  Die hierdurch entstandenen Dokumentation befinden sich in der Dokumentationsauflistung. Im weiteren wurde eine Projektarbeit zur Konzeptfindung für die Badienung durchgeführt. Auch die hierdurch entstandenen, teilweise auf die FMEA aufbauenden Dokumente befinden sich in der Dokumentationsliste.&lt;br /&gt;
&lt;br /&gt;
= Projektdokumentationen und Beschreibungen =&lt;br /&gt;
* [[:Datei:20210228 Konzept Systemelektronik.pdf|Konzeptbeschreibung Systemelektronik]]&lt;br /&gt;
* [[:Datei:20210605 Workflow Embedded Systems.pdf|Workflow Embedded Systems]]&lt;br /&gt;
* [[:Datei:20200521 Bericht1 NerminArbi.pdf|Funktionsanalyse Boilerbefüllung, Tassenwärmung, Milchschäumen]]&lt;br /&gt;
* [[:Datei:20200518 Bericht halbauto Entkalkung Egger Alexander.pdf|Funktionsanalyse zur halbautomatischen Entkalkung]]&lt;br /&gt;
* [[:Datei:20200518 V0 4 Bericht Funktionsanalyse Rückspulung-Spulung Sladoje.pdf|Funktionsanalyse Rückspülung und Spülung]]&lt;br /&gt;
* [[:Datei:20200521 Bericht Espresso-Teewasserbezug Urbin.pdf|Funktionsanalyse Espresso und Teewasserbezug]]&lt;br /&gt;
* [[:Datei:20200522 Bericht Funktionsanalyse Energieeffizienz Egger Alexander.pdf|Funktionsanalyse Energieeffizienz]]&lt;br /&gt;
* [[:Datei:20200521 V2 Bericht Funktionsanalyse Bedienung Sladoje.pdf|Funktionsanalyse Bedienung]]&lt;br /&gt;
* [[:Datei:20200525 Bericht Abbildung aller Maschinen Urbin V2.pdf|Funktionsanalyse Abbildung aller Maschinen]]&lt;br /&gt;
* [[:Datei:20200609 Bericht Fehleranalyse Entschichtung.pdf|Fehleranalyse Entschichtung]]&lt;br /&gt;
* [[:Datei:20200610 Fehleranalyse Dampf Brühgruppe Sladoje.pdf|Fehleranalyse Brühgruppe und Dampfbezug]]&lt;br /&gt;
* [[:Datei:20200613 Bericht Fehleranalyse Mischer;Magnetventile V2.pdf|Fehleranalyse Mischer und Magnetventile]]&lt;br /&gt;
* [[:Datei:20200611 Bericht3 NerminArbi.pdf|Fehleranalyse Boiler]]&lt;br /&gt;
* [[:Datei:20200705 Dichtheitsprüfung.pdf|Dichtheitsprüfung]]&lt;br /&gt;
* [[:Datei:20200704 Massnahmen Urbin.pdf|Prüfkonzepte Magnetventile und Mischer]]&lt;br /&gt;
* [[:Datei:20200701 Maßnahmenanalyse NerminArbi.pdf|Maßnahmen Boiler]]&lt;br /&gt;
* [[:Datei:20200628 Maßnahmen Entschichtung zweiter Stand.pdf|Maßnahmen Entschichtung]]&lt;br /&gt;
* [[:Datei:20200627 Maßnahmenkonzept Brühguppe Dampf Sladoje.pdf|Maßnahmen Brühgruppe und Dampf]]&lt;br /&gt;
* [[:Datei:20200707_FMEA.xlsx|FMEA Tabelle]]&lt;br /&gt;
* [[:Datei:20201207_Bedienkonzept.pptx|PPT Simulation des Bedienkonzeptes]]&lt;br /&gt;
* [[:Datei:20210207_Bedienkonzept_Funktionsliste.xlsx|Bedienkonzept Funktionsliste]]&lt;br /&gt;
* [[:Datei:20210219_Bedienkonzept_Projektdokumentation.pdf|Bedienkonzept Projektdokumentation]]&lt;br /&gt;
* [[:Datei:HMProjektBedienoberflaecheEspresso.zip|MATLAB® GUI]]&lt;br /&gt;
* [[Entwicklung Systemsoftware SoSe2022]]&lt;br /&gt;
* [[Entwicklung Systemsoftware SoSe2023]]&lt;br /&gt;
&lt;br /&gt;
= [http://www.institut-fuer-kaffeetechnologie.de/Intern/index.php?title=Programmcode Programmcode] =&lt;br /&gt;
Aktueller Programmcode und Änderungsdokumentation ab Jan 2023&lt;br /&gt;
&lt;br /&gt;
= [http://www.institut-fuer-kaffeetechnologie.de/Intern/index.php?title=Software-Bugs Software-Bugs] =&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste(n) Systemsoftware =&lt;br /&gt;
&lt;br /&gt;
== Prioritätsangabe ==&lt;br /&gt;
Prio 1 - Abarbeitung zeitnah erforderlich&amp;lt;br&amp;gt;&lt;br /&gt;
Prio 2 - Abarbeitung erforderlich&amp;lt;br&amp;gt;&lt;br /&gt;
Prio 3 - Abarbeitung kann warten&amp;lt;br&amp;gt;&lt;br /&gt;
Prio 99 - Abarbeitung erfordert Vorarbeiten&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
10 - Erfasst&amp;lt;br&amp;gt;&lt;br /&gt;
30 - in Bearbeitung&amp;lt;br&amp;gt;&lt;br /&gt;
50 - Lösung definiert&amp;lt;br&amp;gt;&lt;br /&gt;
70 - in Umsetzung&amp;lt;br&amp;gt;&lt;br /&gt;
90 - Umsetzung abgeschlossen&amp;lt;br&amp;gt;&lt;br /&gt;
99 - Abbruch per Beschluss (Dokumentation dazu erforderlich)&amp;lt;br&amp;gt;&lt;br /&gt;
100 - Maßnahme bestätigt&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: Allgemeines =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Sicherheitsfunktionen]] || || 99 || 50 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[ Übersicht über verbaute Aktorik und Sensorik in Tabellenform]] || || 2 || 90 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Stromsparmodus]] || || 99 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: MCUs - Hardwarenahe Software =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Grundfunktionen der MCU und mehrere MCUs]] || Armin Rohnen || 1	|| 70 || &lt;br /&gt;
|-	&lt;br /&gt;
| [[UART-Kommunikation Multi-MCU]] || || 3	|| 10 || 	 &lt;br /&gt;
|-&lt;br /&gt;
| Basisboard: [[Schalten Magnetventile (Labor) STM32-Basisboard]] MATLAB®GUI || || || 100&lt;br /&gt;
|-&lt;br /&gt;
| Basisboard: [[Pumpenansteuerung Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 || &lt;br /&gt;
|- 	 &lt;br /&gt;
| Basisboard: [[Schrittmotorsteuerungen Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  	 &lt;br /&gt;
|-&lt;br /&gt;
| Basisboard: [[Tastenerkennung Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 3 || 10 || &lt;br /&gt;
|- 	 &lt;br /&gt;
| Basisboard: [[Füllstandserkennung Basisboard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 || &lt;br /&gt;
|- 	 &lt;br /&gt;
| Basisboard: [[Durchflussmessung Basisnoard Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 || &lt;br /&gt;
|- 	  	 	  	 &lt;br /&gt;
| SSR-Platine: [[Schalten Magnetventile SSR-Platine Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 || &lt;br /&gt;
|- 	 &lt;br /&gt;
| SSR-Platine: [[Schrittmotorsteuerungen SSR-Platine Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  	 	 	  	 &lt;br /&gt;
|-&lt;br /&gt;
| Messplatine: [[Messdatenerfassung Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: MCUs - Realisierung und Übernahme der Funktionen =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Füllstandsregler Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Regler Boilerdruck Messplatine Multi-MCU]] || ||  2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Mischregler Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|- &lt;br /&gt;
| [[Durchflussregler Basisboard Multi-MCU]] || || 2 || 10 ||  	 &lt;br /&gt;
|-&lt;br /&gt;
| [[Preinfusion Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[einfacher (manueller) Kaffeebezug Basisboard Multi-MCU]] || || 2 || 10 ||  	 &lt;br /&gt;
|-&lt;br /&gt;
| [[Kaffeebezug Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Wasserbezug Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Dampfbezug Basisboard Multi-MCU]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Spülvorgänge Basisboard Multi-MCU]] || || 2 || 10 || 	 &lt;br /&gt;
|-&lt;br /&gt;
| [[Grundreinigung Basisboard Multi-MCU]] || || 2 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Tastenbedienung Basisboard Multi-MCU]] || || 2 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: MATLAB®-Funktionen und GUI =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Messwerte erfassen (Labor)]] || Madita vom Stein, Noureddine Ait Ouhamou|| 1 || 30 || 25.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Messwerte erfassen Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 || &lt;br /&gt;
|- &lt;br /&gt;
| [[Pumpenansteuerung (Labor)]] || ||  || 100 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Pumpenansteuerung Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  &lt;br /&gt;
|- &lt;br /&gt;
| [[Füllstandsregler (Labor)]] || ||  || 100  || &lt;br /&gt;
|-&lt;br /&gt;
| [[Füllstandsregler Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Regler Boilerdruck (Labor)]] || ||  || 100 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Regler Boilerdruck Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Mischregler (Labor)]] || Madita vom Stein, Simon Thrainer|| 1 || 30 ||  11.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Mischregler Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Durchflussregler (Labor)]] || Madita vom Stein, Simon Thrainer|| 1 || 30 ||  11.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Durchflussregler Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Preinfusion Multi-MCU]] || || 99 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[einfacher Kaffeebezug (Labor)]] || ||  || 100 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[einfacher Kaffeebezug Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Kaffeebezug (Labor)]] || Melina Scherf, Hendrik Wegjan|| || 30 ||  11.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Kaffeebezug Multi-MCU]] || Noureddine Ait Ouhamou|| 2 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Wasserbezug (Labor)]] || Melina Scherf, Hendrik Wegjan|| || 30 ||  11.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Wasserbezug Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Dampfbezug]] || ||  || 100 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Dampfbezug Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Spülvorgänge (Labor)]] || Hendrik Wegjan, Simon Thrainer, Madita vom Stein|| || 30 ||  27.04.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Spülvorgänge Multi-MCU]] || Noureddine Ait Ouhamou|| 1 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Grundreinigung Multi-MCU]] || || 2 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Tastenbedienung (Labor)]] || || || 99 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Tastenbedienung Multi-MCU]] ||  Noureddine Ait Ouhamou|| 3 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Anpassungen für Schrittmotorensteuerung]] || Madita vom Stein, Melina Scherf, Hendrik Wegjan|| 1 || 70 ||  25.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Schrittmotorensteuerung Bypass]] || Madita vom Stein, Melina Scherf, Hendrik Wegjan|| 1 || 30 ||  25.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Schrittmotorensteuerung Mischer]] || Simon Thrainer, Hendrik Wegjan|| 1 || 30 ||  25.05.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Schrittmotorensteuerung Brühgruppendrossel]] || Simon Thrainer, Hendrik Wegjan|| 1 || 30 ||  08.06.2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Adaption an Multi-MCU]] || Madita vom Stein, Melina Scherf|| 1 || 30 ||  27.04.2023&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: APP =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[APP - Konzept]] || || 2 || 10 || &lt;br /&gt;
|- 	 &lt;br /&gt;
| [[Messwerte erfassen APP]] || || 99 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Preset / Profilverwaltung]] || || 99 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Hendrik Wegjan</name></author>
	</entry>
</feed>