<?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=Francis+Booth</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=Francis+Booth"/>
	<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Spezial:Beitr%C3%A4ge/Francis_Booth"/>
	<updated>2026-06-24T08:39:23Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.2</generator>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Mikrocontroller_Programmierung_in_MicroPython_SoSe_2026&amp;diff=4903</id>
		<title>Mikrocontroller Programmierung in MicroPython SoSe 2026</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Mikrocontroller_Programmierung_in_MicroPython_SoSe_2026&amp;diff=4903"/>
		<updated>2026-05-03T10:44:25Z</updated>

		<summary type="html">&lt;p&gt;Francis Booth: /* Maschinensimulator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;htmltag tagname=&amp;quot;img&amp;quot; src=&amp;quot;https://vg07.met.vgwort.de/na/3e58d840a91b42ac97ee493cdd085245&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;
&lt;br /&gt;
= Mikrocontroller Programmierung in MicroPython Sommersemester 2026 =&lt;br /&gt;
Für die Projekte zur labortechnischen Espressomaschine (und weiteren Derivaten) ist die Mikrokontroller-Programmierung einer Steuerungselektronik erforderlich.&lt;br /&gt;
&lt;br /&gt;
Die Programmierung der Mikrocontroller erfolgt in MicroPython und die übergeordnete Steuerung ist eine MATLAB®-APP mit einem Prozessschaubild. Die Grundfunktionalität dieses Vorgehensweise ist in der Quellenliste unter [40] (MATLAB® meets MicroPython) beschrieben.&lt;br /&gt;
&lt;br /&gt;
Das Projekt wurde bereits durch eine Projektgruppe bearbeitet und hat einen Projektstand, der jedoch noch nicht die gesamte erforderliche Steuerungsfunktionalität umfasst.&lt;br /&gt;
&lt;br /&gt;
Es wird angestrebt eine Steuerung auf Basis eines Nucleo STM32H743ZI2 zu erstellen. Dies würde die aktuell drei Steuerungsplatinen und Mikrocontroller auf einen reduzieren. Kommunikation wäre dann lediglich zum Displaycontroller erforderlich.&lt;br /&gt;
&lt;br /&gt;
= Aufgabenanalyse =&lt;br /&gt;
==UART-Kommunikation==&lt;br /&gt;
Es soll eine Stern-Topologie implementiert werden, welche die UART-Kommunikation&lt;br /&gt;
zu einem separaten Display-Controller, dem Maschinensimulator und der Wartungs-&lt;br /&gt;
App herstellt. Dabei sind Sende- und Empfangs-Token für das Display, die Wartungs-App und den Maschinensimulator einzuführen. Es gilt dabei, den Umfang und Takt der&lt;br /&gt;
neuen Token festzulegen.&lt;br /&gt;
&lt;br /&gt;
==Mehrkernnutzung und/oder Multitasking==&lt;br /&gt;
&lt;br /&gt;
Es gibt bestimmte Vorgänge, welche regelmäßig zur Unterbrechung des Pro-&lt;br /&gt;
grammablaufs führen. Es gilt, diese Vorgänge zu identifizieren und umzuleiten,&lt;br /&gt;
damit diese den Programmablauf nicht mehr unterbrechen. Die Möglichkeit&lt;br /&gt;
der Mehrkernnutzung fällt dabei aus, da der STM32H753ZI nur über einen&lt;br /&gt;
M7-Kern verfügt. Dank der Hardware-Unterstützung DMA sowie der Nutzung&lt;br /&gt;
der uasyncio-Library besteht die Möglichkeit, die Vorgänge umzuleiten. Somit&lt;br /&gt;
können die Unterbrechungen des Programmablaufs reduziert werden.&lt;br /&gt;
&lt;br /&gt;
== Maschinensimulator ==&lt;br /&gt;
Die Hauptaufgabe des Maschinensimulators ist die Nachbildung aller Sensordaten der Kaffeemaschine. Dies ermöglicht die Programmentwicklung der Steuerungselektronik ohne die reale Hardware. Die für die Simulation benötigte Hardware ist bereits rudimentär vorhanden, muss aber für einen zuverlässigen und störungsfreien Betrieb optimiert werden. Zudem muss für die Umsetzung der Durchflusssimulation noch eine entsprechende Hardware-Modellierung erfolgen. Softwareseitig ist der Python-Code für die Datengenerierung größtenteils fertiggestellt [http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Maschinensimulator &amp;lt;nowiki&amp;gt;[ToDo Maschinensimulator - Funktionsnutzung]&amp;lt;/nowiki&amp;gt;]. Es fehlen aktuell noch die Flowmetersimulation sowie die Aufheizsimulation, welche für die Validierung der Druck- und Temperaturregelung benötigt wird. Die vom Maschinensimulator gelieferten Temperatur- und Druckwerte müssen validiert werden. Dabei soll ein bereits bekannter Messfehler bei den Temperaturwerten durch die Anpassung der Einstellwerte behoben werden. Für den Programmablauf des Simulators wird eine MATLAB®-App entwickelt, die parallel zum Ablauf des STM32 arbeitet. Für die UART-Kommunikation in der Sterntopologie zwischen dem Maschinensimulator und dem STM32 müssen zudem spezifische Sende- und Empfangs- Token implementiert sowie deren Taktung und Datenumfang definiert werden. Zusätzlich wird ein Gateway als Kommunikationsschnittstelle zwischen dem Maschinensimulator und der Wartungs-App implementiert. Des Weiteren muss während der Ausarbeitung des Maschinensimulators eine Projektfortschrittsdokumentation erfolgen. Die Ausarbeitung erfolgt in einem ein- bis zweiwöchigen Turnus.&lt;br /&gt;
&lt;br /&gt;
== Füllstandsregler ==&lt;br /&gt;
Die Füllstandsregelung erkennt den Füllstand über eine Kurzschlussdetektion. Liegt kein &lt;br /&gt;
Kurzschluss vor, wird dies als zu niedriger Füllstand interpretiert und der Boilerdruckregler &lt;br /&gt;
zur Vermeidung von Trockenheizen gesperrt. Beim Erreichen des Sollfüllstands erfolgt eine &lt;br /&gt;
gezielte Überfüllung bei reduzierter Pumpenspannung, um ein periodisches Ein- und &lt;br /&gt;
Ausschalten der Regelung zu vermeiden. Da die in der MATLAB®-GUI realisierte Boiler Füllstandsregelung aus [114] bereits in einem ersten Stand in MicroPython übertragen &lt;br /&gt;
wurde, liegt der Fokus hier auf der Validierung am Maschinensimulator sowie der &lt;br /&gt;
Abstimmung mit den Schnittstellenpartnern.&lt;br /&gt;
&lt;br /&gt;
== Boilerdruckregelung ==&lt;br /&gt;
Ziel ist es, die bisher in der MATLAB®-GUI realisierte Boilerdruckregelung aus [114], die auf &lt;br /&gt;
einem PD-Regler basiert, vollständig zu übertragen, sodass die Regelung unabhängig von der &lt;br /&gt;
externen PC-Umgebung arbeitet.&lt;br /&gt;
&lt;br /&gt;
== Mischtemperaturregler ==&lt;br /&gt;
Der Mischtemperaturregler nach [114] dient zur Regelung der Kaffee- und &lt;br /&gt;
Teewassertemperatur und wird als PID-Regler für das Mischventil umgesetzt. Die Stellgröße &lt;br /&gt;
ist dabei die Verstellung des Mischventils. Der Temperatursollwert wird aus dem jeweils &lt;br /&gt;
aktiven Rezept vorgegeben. Da die Regelung vom aktuellen Durchfluss abhängt, wird eine &lt;br /&gt;
Kaskadenstruktur verwendet. In dieser Struktur arbeitet der Durchflussregler als innerer, &lt;br /&gt;
schneller Regelkreis, während der Mischtemperaturregler den äußeren Regelkreis bildet und &lt;br /&gt;
die Ergebnisse des inneren Kreises berücksichtigt. Daraus ergibt sich ein besonderes &lt;br /&gt;
Augenmerk auf das Testen des Zusammenspiels der beiden Regler anhand des &lt;br /&gt;
Maschinensimulators, um das Ziel – die Implementierung dieser Kaskadenregelung auf dem &lt;br /&gt;
STM32 – zu erreichen.&lt;br /&gt;
&lt;br /&gt;
== Durchflussregler ==&lt;br /&gt;
Ein Durchflussregler, der in MATLAB® gemäß [114] vorliegt, wird als PID-Regler in &lt;br /&gt;
MicroPython umgesetzt. Durch die Anpassung der Pumpendrehzahl über einen &lt;br /&gt;
Spannungssollwert von 0–5 V kann ein konstanter oder ein profildefinierter Volumenstrom &lt;br /&gt;
entsprechend der Sollwertvorgabe realisiert werden. Als innerer Regelkreis liefert er &lt;br /&gt;
kontinuierlich Durchflusswerte an den Mischtemperaturregler. Daraus ergibt sich der Fokus &lt;br /&gt;
auf der Implementierung und dem Test des Reglers sowie auf der Validierung seines &lt;br /&gt;
Zusammenspiels mit dem übergeordneten Mischtemperaturregler im Maschinensimulator, &lt;br /&gt;
um die Integration auf dem STM32 sicherzustellen.&lt;br /&gt;
&lt;br /&gt;
== Startprozedur ==&lt;br /&gt;
Das Ziel ist es, eine Startprozedur zu definieren. Beim Einschalten der Stromversorgung starten die Prozessoren der Maschine. Ohne eine festgelegte Ablauflogik würden die einzelnen Systemteile jedoch unkoordiniert anlaufen. Daraus ergibt sich der technische Bedarf, eine eindeutige Reihenfolge für den Start festzulegen und die zugehörigen Ausgaben auf dem Display so zu definieren, dass der Startprozess nachvollziehbar verfolgt werden kann.&lt;br /&gt;
&lt;br /&gt;
Dafür müssen zunächst die relevanten Inhalte der Startprozedur identifiziert werden. Außerdem sind die beteiligten Schnittstellen zu erkennen und die Reihenfolge der einzelnen Startschritte so festzulegen, dass ein geordneter und technisch sinnvoller Maschinenstart möglich ist.&lt;br /&gt;
&lt;br /&gt;
== Display ==&lt;br /&gt;
Ziel ist eine kompakte und benutzerfreundliche Displaylösung, die sich nahtlos in das Gesamtsystem integriert. Das Display mit Touchfunktion dient als Schnittstelle zur Interaktion zwischen Bediener und Maschine. Messwerte müssen strukturiert darzustellen sowie die Auswahl von Funktionen wie Kaffeerezepten, Teewasser- oder Dampfbezug zu ermöglichen. Zusätzlich übernimmt das Display die Visualisierung der Startprozedur, relevanter Betriebszustände und der Sicherheitsfunktionen.&lt;br /&gt;
&lt;br /&gt;
Zunächst werden die benötigten Funktionalitäten analysiert und definiert, darunter Messwertanzeige, Benutzerführung und Sicherheitsmeldungen. Parallel dazu werden drei unterschiedliche Displaytypen (rundes Display, LCD2 und 1,69Display) auf ihre Eignung hin untersucht, um anschließend die, am besten passende, Variante auszuwählen. Die MCU der Displayplatine erhält die benötigten Informationen über die UART-Kommunikation aus dem System und muss in die bestehende Gesamtarchitektur integriert werden. Der Vertikalhebel dient zur Vorgabe von Sollwerten, während die beiden Anschlagtaster die Funktionen Kaffeebezug und Flush beziehungsweise Reinigung auslösen. Diese Bedienelemente sind mit der Displayplatine zu verbinden, damit das Display die zugehörigen Informationen und Zustände für den Benutzer darstellen kann.&lt;br /&gt;
&lt;br /&gt;
== STM32 ==&lt;br /&gt;
Als Haupt-MCU soll ein STM32H753ZI-Controller verwendet werden. Es soll sichergestellt &lt;br /&gt;
werden, dass die vorinstallierten Steckerleisten CN7 bis CN10 ausreichend Pins für &lt;br /&gt;
Definition der benötigten UART-, ADC-, DAC- und GPIO-Pins aufweisen.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Boilerdruck-, die Wassertemperatur-, die Durchfluss- und die Füllstandsregelung des &lt;br /&gt;
Boilers müssen implementiert werden. Es soll ebenfalls eine UART-Kommunikation für ein &lt;br /&gt;
Touch-Display, einen Maschinensimulator sowie eine Möglichkeit zum Anschließen einer &lt;br /&gt;
Wartungs-App programmiert werden. Um einen geordneten Ablauf der einzelnen &lt;br /&gt;
Komponenten bei Inbetriebnahme der Maschine zu gewährleisten, soll eine Startprozedur &lt;br /&gt;
programmiert werden&lt;br /&gt;
&lt;br /&gt;
== Wartungs - APP ==&lt;br /&gt;
Es müssen der Inhalt des Wartungs-Token definiert werden, ein GUI-Layout erstellt werden, ein Kommunikationsaufbau mit dem Maschinensimulator hergestellt werden, die Darstellung der Messwerte, eine manuelle Startprozedur, das Schalten von Magnetventilen, die Einstellung von Sollwertvorgaben (Boilerdruck, Bezugswassertemperatur, Durchfluss) und manuellen Stellwerten für das PWM-Heizelement, die Pumpenansteuerung und die Stellung des Dosierventils sowie die Messwertspeicherung und das Logging programmiert werden. Die App ist bis zu einem funktionsfähigen Prototypen erforderlich.&lt;br /&gt;
&lt;br /&gt;
= Leistungsvereinbarung =&lt;br /&gt;
&lt;br /&gt;
== Startprozedur ==&lt;br /&gt;
Es wird eine definierte und nachvollziehbare Startprozedur für die Maschine erarbeitet. Das Ergebnis umfasst eine festgelegte Reihenfolge der Startschritte, die Berücksichtigung der relevanten Schnittstellen sowie ein Konzept für die Ausgaben auf dem Display, damit der Startprozess strukturiert abläuft und für den Benutzer verfolgbar ist.&lt;br /&gt;
&lt;br /&gt;
== Maschinensimulator ==&lt;br /&gt;
Das Ziel dieser Arbeit ist die Entwicklung eines voll funktionsfähigen Maschinensimulators, der das Testen der auf den STM32 zu verlagernden Regelkreisen ermöglicht. Hierfür werden physikalische Größen wie Temperatur und Druck simuliert und über die Digital- Potentiometer MCP4151 als elektrische Signale an die Steuerungselektronik ausgegeben. Der Maschinensimulator wird in einer MATLAB®-App implementiert, sodass der Maschinensimulators parallel zu einer weiteern MCU an einem PC betrieben werden kann. Die App soll sowohl den Betrieb des Simulators als solches als auch die Nutzung als Wartungs-App ermöglichen.&lt;br /&gt;
&lt;br /&gt;
== Wartungs - APP ==&lt;br /&gt;
Die aktuelle MATLAB®-GUI soll in eine komfortable Bedienoberfläche für Wartungs- und Einstellarbeiten überführt werden. Bei aktivierter Wartungs-App sollen sämtliche Tastenfunktionen und die Vertikalhebelfunktion nutzbar sein und zudem alle Aktoren (Magnetventile, Pumpenleistung und Schrittmotorverstellungen) über diese App angesteuert werden können. Des Weiteren soll die bisherige Visualisierung der Messwerte und Schaltzustände erhalten bleiben. Dies allerdings mit einer geringeren Aktualisierungsrate, da vier Aktualisierungen pro Sekunde als ausreichend angesehen werden.&lt;br /&gt;
&lt;br /&gt;
==UART-Kommunikation==&lt;br /&gt;
Um die spezifischen Daten von dem STM32H7 auf das Display zu übertragen, sowie &lt;br /&gt;
Steuerbefehle des Displays für den STM32H7, wird ein neue UART-Schnittstelle mit Display-Token eingeführt. Ebenfalls wird eine UART-Kommunikation mit entsprechendem Token für &lt;br /&gt;
Maschinensimulator und der Wartungs-App implementiert. Dabei soll ein Gateway den &lt;br /&gt;
Zugriff für die Wartungs-App integriert werden.&lt;br /&gt;
&lt;br /&gt;
==Multitasking==&lt;br /&gt;
Die direkte Hardware-Unterstützung über DMA gestaltet sich schwierig in MicroPython, da &lt;br /&gt;
sie von MicroPython automatisch verwendet wird (bspw. bei Buffern) und nur über &lt;br /&gt;
Registeraccess direkt ausgeführt werden kann. Daher wird die Nutzung der uasyncio-Library&lt;br /&gt;
bevorzugt, welche die Vorgänge, die den Programmablauf verzögern, umleitet. Dadurch soll &lt;br /&gt;
das Programm reibungsfreier ablaufen.&lt;br /&gt;
&lt;br /&gt;
==STM32H7==&lt;br /&gt;
Die bestehenden Regelkreise, Füllstandsregelung (Boiler und Tanks), Boilerdruckregelung, &lt;br /&gt;
Mischtemperaturregelung und Durchflussregelung werden von den drei Microcontroller auf &lt;br /&gt;
den STM32H7 verlagert. Ebenfalls erfolgt die Migration der Messwerterfassung aller &lt;br /&gt;
verbauten Sensoren auf die neue STM32H7-Plattform.&amp;lt;br&amp;gt;&lt;br /&gt;
Zusätzlich wird eine UART-Kommunikation implementiert, die die Anbindung des Displays, &lt;br /&gt;
eines Maschinensimulators sowie für den Zugriff durch eine externe Wartungs-App über &lt;br /&gt;
einem Gateway ermöglicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Um einen geordneten Ablauf der einzelnen Komponenten bei Inbetriebnahme der Maschine &lt;br /&gt;
zu gewährleisten, wird eine Startprozedur programmiert.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Hardware-Umsetzung wird von LfbA Armin Rohnen übernommen.&lt;br /&gt;
&lt;br /&gt;
== Display ==&lt;br /&gt;
Es wird eine geeignete Displaylösung ausgewählt und in das Gesamtsystem integriert. Das Ergebnis umfasst die Darstellung relevanter Messwerte, Betriebszustände, Sicherheitsmeldungen und der Startprozedur sowie die Einbindung der Bedienfunktionen über Touch, Vertikalhebel und Anschlagtaster.&lt;br /&gt;
&lt;br /&gt;
== Vertikalhebel ==&lt;br /&gt;
Der Vertikalhebel wird als Bedienelement technisch und funktional in das System integriert. Das Ergebnis umfasst die Erfassung und Verarbeitung der Hebelstellung als Sollwertvorgabe für den Durchflussregler, die Einbindung der Anschlagtaster als zusätzliche Bedienfunktionen sowie die Anzeige der relevanten Informationen auf dem Display.&lt;br /&gt;
&lt;br /&gt;
== Verlagerung der Regler Syntax ==&lt;br /&gt;
Ziel dieser Arbeit ist die vollständige Übertragung der in MATLAB® implementierten Regelalgorithmen aus [114] in MicroPython sowie deren Vorbereitung für die Implementierung auf einer STM32‑MCU. Die Umsetzung erfolgt entlang der bestehenden Reglerstruktur: Füllstandsregler, Boilerdruckregelung, Mischtemperaturregler und Durchflussregler.&lt;br /&gt;
&lt;br /&gt;
= Besprechungsprotokolle und weitere Unterlagen =&lt;br /&gt;
* [[:Datei:20260214 Abschlusspraesentation.pdf|Übergabepräsentation Vorgänger]]&lt;br /&gt;
* [[:Datei:20260326 Projektstart.pdf|Aktueller Projektstand]]&lt;br /&gt;
* [[Projektstart 26.03.2026]]&lt;br /&gt;
* [[Projektrücksprache 02.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 09.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 17.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 24.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 08.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 15.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 22.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 29.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 05.06.2026]]&lt;br /&gt;
* [[Projektrücksprache 12.06.2026]]&lt;br /&gt;
* [[Projektrücksprache 19.06.2026]]&lt;br /&gt;
* [[Projektrücksprache 03.07.2026]]&lt;br /&gt;
* [[Projektrücksprache 10.07.2026]]&lt;br /&gt;
* [[Abschlusspräsentation 24.07.2026]]&lt;/div&gt;</summary>
		<author><name>Francis Booth</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Mikrocontroller_Programmierung_in_MicroPython_SoSe_2026&amp;diff=4896</id>
		<title>Mikrocontroller Programmierung in MicroPython SoSe 2026</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Mikrocontroller_Programmierung_in_MicroPython_SoSe_2026&amp;diff=4896"/>
		<updated>2026-04-26T08:55:44Z</updated>

		<summary type="html">&lt;p&gt;Francis Booth: /* Maschinensimulator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;htmltag tagname=&amp;quot;img&amp;quot; src=&amp;quot;https://vg07.met.vgwort.de/na/3e58d840a91b42ac97ee493cdd085245&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;
&lt;br /&gt;
= Mikrocontroller Programmierung in MicroPython Sommersemester 2026 =&lt;br /&gt;
Für die Projekte zur labortechnischen Espressomaschine (und weiteren Derivaten) ist die Mikrokontroller-Programmierung einer Steuerungselektronik erforderlich.&lt;br /&gt;
&lt;br /&gt;
Die Programmierung der Mikrocontroller erfolgt in MicroPython und die übergeordnete Steuerung ist eine MATLAB®-APP mit einem Prozessschaubild. Die Grundfunktionalität dieses Vorgehensweise ist in der Quellenliste unter [40] (MATLAB® meets MicroPython) beschrieben.&lt;br /&gt;
&lt;br /&gt;
Das Projekt wurde bereits durch eine Projektgruppe bearbeitet und hat einen Projektstand, der jedoch noch nicht die gesamte erforderliche Steuerungsfunktionalität umfasst.&lt;br /&gt;
&lt;br /&gt;
Es wird angestrebt eine Steuerung auf Basis eines Nucleo STM32H743ZI2 zu erstellen. Dies würde die aktuell drei Steuerungsplatinen und Mikrocontroller auf einen reduzieren. Kommunikation wäre dann lediglich zum Displaycontroller erforderlich.&lt;br /&gt;
&lt;br /&gt;
= Aufgabenanalyse =&lt;br /&gt;
==UART-Kommunikation==&lt;br /&gt;
Es soll eine Stern-Topologie implementiert werden, welche die UART-Kommunikation&lt;br /&gt;
zu einem separaten Display-Controller, dem Maschinensimulator und der Wartungs-&lt;br /&gt;
App herstellt. Dabei sind Sende- und Empfangs-Token f¨ ur das Display, die Wartungs-App und den Maschinensimulator einzuf¨ uhren. Es gilt dabei, den Umfang und Takt der&lt;br /&gt;
neuen Token festzulegen.&lt;br /&gt;
&lt;br /&gt;
==Mehrkernnutzung und/oder Multitasking==&lt;br /&gt;
&lt;br /&gt;
Es gibt bestimmte Vorgänge, welche regelmäßig zur Unterbrechung des Pro-&lt;br /&gt;
grammablaufs führen. Es gilt, diese Vorgänge zu identifizieren und umzuleiten,&lt;br /&gt;
damit diese den Programmablauf nicht mehr unterbrechen. Die Möglichkeit&lt;br /&gt;
der Mehrkernnutzung fällt dabei aus, da der STM32H753ZI nur über einen&lt;br /&gt;
M7-Kern verfügt. Dank der Hardware-Unterstützung DMA sowie der Nutzung&lt;br /&gt;
der uasyncio-Library besteht die Möglichkeit, die Vorgänge umzuleiten. Somit&lt;br /&gt;
können die Unterbrechungen des Programmablaufs reduziert werden.&lt;br /&gt;
&lt;br /&gt;
== Maschinensimulator ==&lt;br /&gt;
Die Hauptaufgabe des Maschinensimulators ist die Nachbildung aller Sensordaten der Kaffeemaschine. Dies ermöglicht die Programmentwicklung der Steuerungselektronik ohne die reale Hardware. Die für die Simulation benötigte Hardware ist bereits rudimentär vorhanden, muss aber für einen zuverlässigen und störungsfreien Betrieb optimiert werden. Zudem muss für die Umsetzung der Durchflusssimulation noch eine entsprechende Hardware-Modellierung erfolgen. Softwareseitig ist der Python-Code für die Datengenerierung größtenteils fertiggestellt [http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Maschinensimulator &amp;lt;nowiki&amp;gt;[ToDo Maschinensimulator - Funktionsnutzung]&amp;lt;/nowiki&amp;gt;]. Es fehlen aktuell noch die Flowmetersimulation sowie die Aufheizsimulation, welche für die Validierung der Druck- und Temperaturregelung benötigt wird. Die vom Maschinensimulator gelieferten Temperatur- und Druckwerte müssen validiert werden. Dabei wird soll ein bereits bekannter Messfehler bei den Temperaturwerten durch die Anpassung der Einstellwerte behoben werden. Für den Programmablauf des Simulators wird eine MATLAB®-App entwickelt, die parallel zum Ablauf des STM32 arbeitet. Für die UART-Kommunikation in der Sterntopologie zwischen dem Maschinensimulator und dem STM32 müssen zudem spezifische Sende- und Empfangs- Token implementiert sowie deren Taktung und Datenumfang definiert werden. Zusätzlich wird ein Gateway als Kommunikationsschnittstelle zwischen dem Maschinensimulator und der Wartungs-App implementiert. Des Weiteren muss während der Ausarbeitung des Maschinensimulators eine Projektfortschrittsdokumentation erfolgen. Die Ausarbeitung erfolgt in einem ein- bis zweiwöchigen Turnus.&lt;br /&gt;
&lt;br /&gt;
== Füllstandsregler ==&lt;br /&gt;
Die Füllstandsregelung erkennt den Füllstand über eine Kurzschlussdetektion. Liegt kein &lt;br /&gt;
Kurzschluss vor, wird dies als zu niedriger Füllstand interpretiert und der Boilerdruckregler &lt;br /&gt;
zur Vermeidung von Trockenheizen gesperrt. Beim Erreichen des Sollfüllstands erfolgt eine &lt;br /&gt;
gezielte Überfüllung bei reduzierter Pumpenspannung, um ein periodisches Ein- und &lt;br /&gt;
Ausschalten der Regelung zu vermeiden. Da die in der MATLAB®-GUI realisierte Boiler Füllstandsregelung aus [114] bereits in einem ersten Stand in MicroPython übertragen &lt;br /&gt;
wurde, liegt der Fokus hier auf der Validierung am Maschinensimulator sowie der &lt;br /&gt;
Abstimmung mit den Schnittstellenpartnern.&lt;br /&gt;
&lt;br /&gt;
== Boilerdruckregelung ==&lt;br /&gt;
Ziel ist es, die bisher in der MATLAB®-GUI realisierte Boilerdruckregelung aus [114], die auf &lt;br /&gt;
einem PD-Regler basiert, vollständig zu übertragen, sodass die Regelung unabhängig von der &lt;br /&gt;
externen PC-Umgebung arbeitet.&lt;br /&gt;
&lt;br /&gt;
== Mischtemperaturregler ==&lt;br /&gt;
Der Mischtemperaturregler nach [114] dient zur Regelung der Kaffee- und &lt;br /&gt;
Teewassertemperatur und wird als PID-Regler für das Mischventil umgesetzt. Die Stellgröße &lt;br /&gt;
ist dabei die Verstellung des Mischventils. Der Temperatursollwert wird aus dem jeweils &lt;br /&gt;
aktiven Rezept vorgegeben. Da die Regelung vom aktuellen Durchfluss abhängt, wird eine &lt;br /&gt;
Kaskadenstruktur verwendet. In dieser Struktur arbeitet der Durchflussregler als innerer, &lt;br /&gt;
schneller Regelkreis, während der Mischtemperaturregler den äußeren Regelkreis bildet und &lt;br /&gt;
die Ergebnisse des inneren Kreises berücksichtigt. Daraus ergibt sich ein besonderes &lt;br /&gt;
Augenmerk auf das Testen des Zusammenspiels der beiden Regler anhand des &lt;br /&gt;
Maschinensimulators, um das Ziel – die Implementierung dieser Kaskadenregelung auf dem &lt;br /&gt;
STM32 – zu erreichen.&lt;br /&gt;
&lt;br /&gt;
== Durchflussregler ==&lt;br /&gt;
Ein Durchflussregler, der in MATLAB® gemäß [114] vorliegt, wird als PID-Regler in &lt;br /&gt;
MicroPython umgesetzt. Durch die Anpassung der Pumpendrehzahl über einen &lt;br /&gt;
Spannungssollwert von 0–5 V kann ein konstanter oder ein profildefinierter Volumenstrom &lt;br /&gt;
entsprechend der Sollwertvorgabe realisiert werden. Als innerer Regelkreis liefert er &lt;br /&gt;
kontinuierlich Durchflusswerte an den Mischtemperaturregler. Daraus ergibt sich der Fokus &lt;br /&gt;
auf der Implementierung und dem Test des Reglers sowie auf der Validierung seines &lt;br /&gt;
Zusammenspiels mit dem übergeordneten Mischtemperaturregler im Maschinensimulator, &lt;br /&gt;
um die Integration auf dem STM32 sicherzustellen.&lt;br /&gt;
&lt;br /&gt;
== Startprozedur ==&lt;br /&gt;
Das Ziel ist es, eine Startprozedur zu definieren. Beim Einschalten der Stromversorgung starten die Prozessoren der Maschine. Ohne eine festgelegte Ablauflogik würden die einzelnen Systemteile jedoch unkoordiniert anlaufen. Daraus ergibt sich der technische Bedarf, eine eindeutige Reihenfolge für den Start festzulegen und die zugehörigen Ausgaben auf dem Display so zu definieren, dass der Startprozess nachvollziehbar verfolgt werden kann.&lt;br /&gt;
&lt;br /&gt;
Dafür müssen zunächst die relevanten Inhalte der Startprozedur identifiziert werden. Außerdem sind die beteiligten Schnittstellen zu erkennen und die Reihenfolge der einzelnen Startschritte so festzulegen, dass ein geordneter und technisch sinnvoller Maschinenstart möglich ist.&lt;br /&gt;
&lt;br /&gt;
== Display ==&lt;br /&gt;
Ziel ist eine kompakte und benutzerfreundliche Displaylösung, die sich nahtlos in das Gesamtsystem integriert. Das Display mit Touchfunktion dient als Schnittstelle zur Interaktion zwischen Bediener und Maschine. Messwerte müssen strukturiert darzustellen sowie die Auswahl von Funktionen wie Kaffeerezepten, Teewasser- oder Dampfbezug zu ermöglichen. Zusätzlich übernimmt das Display die Visualisierung der Startprozedur, relevanter Betriebszustände und der Sicherheitsfunktionen.&lt;br /&gt;
&lt;br /&gt;
Zunächst werden die benötigten Funktionalitäten analysiert und definiert, darunter Messwertanzeige, Benutzerführung und Sicherheitsmeldungen. Parallel dazu werden drei unterschiedliche Displaytypen (rundes Display, LCD2 und 1,69Display) auf ihre Eignung hin untersucht, um anschließend die, am besten passende, Variante auszuwählen. Die MCU der Displayplatine erhält die benötigten Informationen über die UART-Kommunikation aus dem System und muss in die bestehende Gesamtarchitektur integriert werden. Der Vertikalhebel dient zur Vorgabe von Sollwerten, während die beiden Anschlagtaster die Funktionen Kaffeebezug und Flush beziehungsweise Reinigung auslösen. Diese Bedienelemente sind mit der Displayplatine zu verbinden, damit das Display die zugehörigen Informationen und Zustände für den Benutzer darstellen kann.&lt;br /&gt;
&lt;br /&gt;
== STM32 ==&lt;br /&gt;
Als Haupt-MCU soll ein STM32H753ZI-Controller verwendet werden. Es soll sichergestellt &lt;br /&gt;
werden, dass die vorinstallierten Steckerleisten CN7 bis CN10 ausreichend Pins für &lt;br /&gt;
Definition der benötigten UART-, ADC-, DAC- und GPIO-Pins aufweisen.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Boilerdruck-, die Wassertemperatur-, die Durchfluss- und die Füllstandsregelung des &lt;br /&gt;
Boilers müssen implementiert werden. Es soll ebenfalls eine UART-Kommunikation für ein &lt;br /&gt;
Touch-Display, einen Maschinensimulator sowie eine Möglichkeit zum Anschließen einer &lt;br /&gt;
Wartungs-App programmiert werden. Um einen geordneten Ablauf der einzelnen &lt;br /&gt;
Komponenten bei Inbetriebnahme der Maschine zu gewährleisten, soll eine Startprozedur &lt;br /&gt;
programmiert werden&lt;br /&gt;
&lt;br /&gt;
== Wartungs - APP ==&lt;br /&gt;
Es müssen der Inhalt des Wartungs-Token definiert werden, ein GUI-Layout erstellt werden, ein Kommunikationsaufbau mit dem Maschinensimulator hergestellt werden, die Darstellung der Messwerte, eine manuelle Startprozedur, das Schalten von Magnetventilen, die Einstellung von Sollwertvorgaben (Boilerdruck, Bezugswassertemperatur, Durchfluss) und manuellen Stellwerten für das PWM-Heizelement, die Pumpenansteuerung und die Stellung des Dosierventils sowie die Messwertspeicherung und das Logging programmiert werden. Die App ist bis zu einem funktionsfähigen Prototypen erforderlich.&lt;br /&gt;
&lt;br /&gt;
= Leistungsvereinbarung =&lt;br /&gt;
&lt;br /&gt;
== Startprozedur ==&lt;br /&gt;
Es wird eine definierte und nachvollziehbare Startprozedur für die Maschine erarbeitet. Das Ergebnis umfasst eine festgelegte Reihenfolge der Startschritte, die Berücksichtigung der relevanten Schnittstellen sowie ein Konzept für die Ausgaben auf dem Display, damit der Startprozess strukturiert abläuft und für den Benutzer verfolgbar ist.&lt;br /&gt;
&lt;br /&gt;
== Maschinensimulator ==&lt;br /&gt;
Das Ziel dieser Arbeit ist die Entwicklung eines voll funktionsfähigen Maschinensimulators, der das Testen der auf den STM32 zu verlagernden Regelkreisen ermöglicht. Hierfür werden physikalische Größen wie Temperatur und Druck simuliert und über die Digital- Potentiometer MCP4151 als elektrische Signale an die Steuerungselektronik ausgegeben. Der Maschinensimulator wird in einer MATLAB®-App implementiert, sodass der Maschinensimulators parallel zu einer weiteern MCU an einem PC betrieben werden kann. Die App soll sowohl den Betrieb des Simulators als solches als auch die Nutzung als Wartungs-App ermöglichen.&lt;br /&gt;
&lt;br /&gt;
== Wartungs - APP ==&lt;br /&gt;
Die aktuelle MATLAB®-GUI soll in eine komfortable Bedienoberfläche für Wartungs- und Einstellarbeiten überführt werden. Bei aktivierter Wartungs-App sollen sämtliche Tastenfunktionen und die Vertikalhebelfunktion nutzbar sein und zudem alle Aktoren (Magnetventile, Pumpenleistung und Schrittmotorverstellungen) über diese App angesteuert werden können. Des Weiteren soll die bisherige Visualisierung der Messwerte und Schaltzustände erhalten bleiben. Dies allerdings mit einer geringeren Aktualisierungsrate, da vier Aktualisierungen pro Sekunde als ausreichend angesehen werden.&lt;br /&gt;
&lt;br /&gt;
==UART-Kommunikation==&lt;br /&gt;
Um die spezifischen Daten von dem STM32H7 auf das Display zu übertragen, sowie &lt;br /&gt;
Steuerbefehle des Displays für den STM32H7, wird ein neue UART-Schnittstelle mit Display-Token eingeführt. Ebenfalls wird eine UART-Kommunikation mit entsprechendem Token für &lt;br /&gt;
Maschinensimulator und der Wartungs-App implementiert. Dabei soll ein Gateway den &lt;br /&gt;
Zugriff für die Wartungs-App integriert werden.&lt;br /&gt;
&lt;br /&gt;
==Multitasking==&lt;br /&gt;
Die direkte Hardware-Unterstützung über DMA gestaltet sich schwierig in MicroPython, da &lt;br /&gt;
sie von MicroPython automatisch verwendet wird (bspw. bei Buffern) und nur über &lt;br /&gt;
Registeraccess direkt ausgeführt werden kann. Daher wird die Nutzung der uasyncio-Library&lt;br /&gt;
bevorzugt, welche die Vorgänge, die den Programmablauf verzögern, umleitet. Dadurch soll &lt;br /&gt;
das Programm reibungsfreier ablaufen.&lt;br /&gt;
&lt;br /&gt;
==STM32H7==&lt;br /&gt;
Die bestehenden Regelkreise, Füllstandsregelung (Boiler und Tanks), Boilerdruckregelung, &lt;br /&gt;
Mischtemperaturregelung und Durchflussregelung werden von den drei Microcontroller auf &lt;br /&gt;
den STM32H7 verlagert. Ebenfalls erfolgt die Migration der Messwerterfassung aller &lt;br /&gt;
verbauten Sensoren auf die neue STM32H7-Plattform.&amp;lt;br&amp;gt;&lt;br /&gt;
Zusätzlich wird eine UART-Kommunikation implementiert, die die Anbindung des Displays, &lt;br /&gt;
eines Maschinensimulators sowie für den Zugriff durch eine externe Wartungs-App über &lt;br /&gt;
einem Gateway ermöglicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Um einen geordneten Ablauf der einzelnen Komponenten bei Inbetriebnahme der Maschine &lt;br /&gt;
zu gewährleisten, wird eine Startprozedur programmiert.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Hardware-Umsetzung wird von LfbA Armin Rohnen übernommen.&lt;br /&gt;
&lt;br /&gt;
== Display ==&lt;br /&gt;
Es wird eine geeignete Displaylösung ausgewählt und in das Gesamtsystem integriert. Das Ergebnis umfasst die Darstellung relevanter Messwerte, Betriebszustände, Sicherheitsmeldungen und der Startprozedur sowie die Einbindung der Bedienfunktionen über Touch, Vertikalhebel und Anschlagtaster.&lt;br /&gt;
&lt;br /&gt;
== Vertikalhebel ==&lt;br /&gt;
Der Vertikalhebel wird als Bedienelement technisch und funktional in das System integriert. Das Ergebnis umfasst die Erfassung und Verarbeitung der Hebelstellung als Sollwertvorgabe für den Durchflussregler, die Einbindung der Anschlagtaster als zusätzliche Bedienfunktionen sowie die Anzeige der relevanten Informationen auf dem Display.&lt;br /&gt;
&lt;br /&gt;
== Verlagerung der Regler Syntax ==&lt;br /&gt;
Ziel dieser Arbeit ist die vollständige Übertragung der in MATLAB® implementierten Regelalgorithmen aus [114] in MicroPython sowie deren Vorbereitung für die Implementierung auf einer STM32‑MCU. Die Umsetzung erfolgt entlang der bestehenden Reglerstruktur: Füllstandsregler, Boilerdruckregelung, Mischtemperaturregler und Durchflussregler.&lt;br /&gt;
&lt;br /&gt;
= Besprechungsprotokolle und weitere Unterlagen =&lt;br /&gt;
* [[:Datei:20260214 Abschlusspraesentation.pdf|Übergabepräsentation Vorgänger]]&lt;br /&gt;
* [[:Datei:20260326 Projektstart.pdf|Aktueller Projektstand]]&lt;br /&gt;
* [[Projektstart 26.03.2026]]&lt;br /&gt;
* [[Projektrücksprache 02.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 09.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 17.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 24.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 08.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 15.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 22.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 29.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 05.06.2026]]&lt;br /&gt;
* [[Projektrücksprache 12.06.2026]]&lt;br /&gt;
* [[Projektrücksprache 19.06.2026]]&lt;br /&gt;
* [[Projektrücksprache 03.07.2026]]&lt;br /&gt;
* [[Projektrücksprache 10.07.2026]]&lt;br /&gt;
* [[Abschlusspräsentation 24.07.2026]]&lt;/div&gt;</summary>
		<author><name>Francis Booth</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Mikrocontroller_Programmierung_in_MicroPython_SoSe_2026&amp;diff=4895</id>
		<title>Mikrocontroller Programmierung in MicroPython SoSe 2026</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Mikrocontroller_Programmierung_in_MicroPython_SoSe_2026&amp;diff=4895"/>
		<updated>2026-04-26T08:51:58Z</updated>

		<summary type="html">&lt;p&gt;Francis Booth: /* Maschinensimulator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;htmltag tagname=&amp;quot;img&amp;quot; src=&amp;quot;https://vg07.met.vgwort.de/na/3e58d840a91b42ac97ee493cdd085245&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;
&lt;br /&gt;
= Mikrocontroller Programmierung in MicroPython Sommersemester 2026 =&lt;br /&gt;
Für die Projekte zur labortechnischen Espressomaschine (und weiteren Derivaten) ist die Mikrokontroller-Programmierung einer Steuerungselektronik erforderlich.&lt;br /&gt;
&lt;br /&gt;
Die Programmierung der Mikrocontroller erfolgt in MicroPython und die übergeordnete Steuerung ist eine MATLAB®-APP mit einem Prozessschaubild. Die Grundfunktionalität dieses Vorgehensweise ist in der Quellenliste unter [40] (MATLAB® meets MicroPython) beschrieben.&lt;br /&gt;
&lt;br /&gt;
Das Projekt wurde bereits durch eine Projektgruppe bearbeitet und hat einen Projektstand, der jedoch noch nicht die gesamte erforderliche Steuerungsfunktionalität umfasst.&lt;br /&gt;
&lt;br /&gt;
Es wird angestrebt eine Steuerung auf Basis eines Nucleo STM32H743ZI2 zu erstellen. Dies würde die aktuell drei Steuerungsplatinen und Mikrocontroller auf einen reduzieren. Kommunikation wäre dann lediglich zum Displaycontroller erforderlich.&lt;br /&gt;
&lt;br /&gt;
= Aufgabenanalyse =&lt;br /&gt;
==UART-Kommunikation==&lt;br /&gt;
Es soll eine Stern-Topologie implementiert werden, welche die UART-Kommunikation&lt;br /&gt;
zu einem separaten Display-Controller, dem Maschinensimulator und der Wartungs-&lt;br /&gt;
App herstellt. Dabei sind Sende- und Empfangs-Token f¨ ur das Display, die Wartungs-App und den Maschinensimulator einzuf¨ uhren. Es gilt dabei, den Umfang und Takt der&lt;br /&gt;
neuen Token festzulegen.&lt;br /&gt;
&lt;br /&gt;
==Mehrkernnutzung und/oder Multitasking==&lt;br /&gt;
&lt;br /&gt;
Es gibt bestimmte Vorgänge, welche regelmäßig zur Unterbrechung des Pro-&lt;br /&gt;
grammablaufs führen. Es gilt, diese Vorgänge zu identifizieren und umzuleiten,&lt;br /&gt;
damit diese den Programmablauf nicht mehr unterbrechen. Die Möglichkeit&lt;br /&gt;
der Mehrkernnutzung fällt dabei aus, da der STM32H753ZI nur über einen&lt;br /&gt;
M7-Kern verfügt. Dank der Hardware-Unterstützung DMA sowie der Nutzung&lt;br /&gt;
der uasyncio-Library besteht die Möglichkeit, die Vorgänge umzuleiten. Somit&lt;br /&gt;
können die Unterbrechungen des Programmablaufs reduziert werden.&lt;br /&gt;
&lt;br /&gt;
== Maschinensimulator ==&lt;br /&gt;
Die Hauptaufgabe des Maschinensimulators ist die Nachbildung aller Sensordaten der Kaffeemaschine. Dies ermöglicht die Programmentwicklung der Steuerungselektronik ohne die reale Hardware. Die für die Simulation benötigte Hardware ist bereits rudimentär vorhanden, muss aber für einen zuverlässigen und störungsfreien Betrieb optimiert werden. Zudem muss für die Umsetzung der Durchflusssimulation noch eine entsprechende Hardware-Modellierung erfolgen. Softwareseitig ist der Python-Code für die Datengenerierung größtenteils fertiggestellt [http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Maschinensimulator &amp;lt;nowiki&amp;gt;[Quelle: Wiki ToDo Maschinensimulator - Funktionsnutzung]&amp;lt;/nowiki&amp;gt;]. Es fehlen aktuell noch die Flowmetersimulation sowie die Aufheizsimulation, welche für die Validierung der Druck- und Temperaturregelung benötigt wird. Die vom Maschinensimulator gelieferten Temperatur- und Druckwerte müssen validiert werden. Dabei wird soll ein bereits bekannter Messfehler bei den Temperaturwerten durch die Anpassung der Einstellwerte behoben werden. Für den Programmablauf des Simulators wird eine MATLAB®-App entwickelt, die parallel zum Ablauf des STM32 arbeitet. Für die UART-Kommunikation in der Sterntopologie zwischen dem Maschinensimulator und dem STM32 müssen zudem spezifische Sende- und Empfangs- Token implementiert sowie deren Taktung und Datenumfang definiert werden. Zusätzlich wird ein Gateway als Kommunikationsschnittstelle zwischen dem Maschinensimulator und der Wartungs-App implementiert. Des Weiteren muss während der Ausarbeitung des Maschinensimulators eine Projektfortschrittsdokumentation erfolgen. Die Ausarbeitung erfolgt in einem ein- bis zweiwöchigen Turnus.&lt;br /&gt;
&lt;br /&gt;
== Füllstandsregler ==&lt;br /&gt;
Die Füllstandsregelung erkennt den Füllstand über eine Kurzschlussdetektion. Liegt kein &lt;br /&gt;
Kurzschluss vor, wird dies als zu niedriger Füllstand interpretiert und der Boilerdruckregler &lt;br /&gt;
zur Vermeidung von Trockenheizen gesperrt. Beim Erreichen des Sollfüllstands erfolgt eine &lt;br /&gt;
gezielte Überfüllung bei reduzierter Pumpenspannung, um ein periodisches Ein- und &lt;br /&gt;
Ausschalten der Regelung zu vermeiden. Da die in der MATLAB®-GUI realisierte Boiler Füllstandsregelung aus [114] bereits in einem ersten Stand in MicroPython übertragen &lt;br /&gt;
wurde, liegt der Fokus hier auf der Validierung am Maschinensimulator sowie der &lt;br /&gt;
Abstimmung mit den Schnittstellenpartnern.&lt;br /&gt;
&lt;br /&gt;
== Boilerdruckregelung ==&lt;br /&gt;
Ziel ist es, die bisher in der MATLAB®-GUI realisierte Boilerdruckregelung aus [114], die auf &lt;br /&gt;
einem PD-Regler basiert, vollständig zu übertragen, sodass die Regelung unabhängig von der &lt;br /&gt;
externen PC-Umgebung arbeitet.&lt;br /&gt;
&lt;br /&gt;
== Mischtemperaturregler ==&lt;br /&gt;
Der Mischtemperaturregler nach [114] dient zur Regelung der Kaffee- und &lt;br /&gt;
Teewassertemperatur und wird als PID-Regler für das Mischventil umgesetzt. Die Stellgröße &lt;br /&gt;
ist dabei die Verstellung des Mischventils. Der Temperatursollwert wird aus dem jeweils &lt;br /&gt;
aktiven Rezept vorgegeben. Da die Regelung vom aktuellen Durchfluss abhängt, wird eine &lt;br /&gt;
Kaskadenstruktur verwendet. In dieser Struktur arbeitet der Durchflussregler als innerer, &lt;br /&gt;
schneller Regelkreis, während der Mischtemperaturregler den äußeren Regelkreis bildet und &lt;br /&gt;
die Ergebnisse des inneren Kreises berücksichtigt. Daraus ergibt sich ein besonderes &lt;br /&gt;
Augenmerk auf das Testen des Zusammenspiels der beiden Regler anhand des &lt;br /&gt;
Maschinensimulators, um das Ziel – die Implementierung dieser Kaskadenregelung auf dem &lt;br /&gt;
STM32 – zu erreichen.&lt;br /&gt;
&lt;br /&gt;
== Durchflussregler ==&lt;br /&gt;
Ein Durchflussregler, der in MATLAB® gemäß [114] vorliegt, wird als PID-Regler in &lt;br /&gt;
MicroPython umgesetzt. Durch die Anpassung der Pumpendrehzahl über einen &lt;br /&gt;
Spannungssollwert von 0–5 V kann ein konstanter oder ein profildefinierter Volumenstrom &lt;br /&gt;
entsprechend der Sollwertvorgabe realisiert werden. Als innerer Regelkreis liefert er &lt;br /&gt;
kontinuierlich Durchflusswerte an den Mischtemperaturregler. Daraus ergibt sich der Fokus &lt;br /&gt;
auf der Implementierung und dem Test des Reglers sowie auf der Validierung seines &lt;br /&gt;
Zusammenspiels mit dem übergeordneten Mischtemperaturregler im Maschinensimulator, &lt;br /&gt;
um die Integration auf dem STM32 sicherzustellen.&lt;br /&gt;
&lt;br /&gt;
== Startprozedur ==&lt;br /&gt;
Das Ziel ist es, eine Startprozedur zu definieren. Beim Einschalten der Stromversorgung starten die Prozessoren der Maschine. Ohne eine festgelegte Ablauflogik würden die einzelnen Systemteile jedoch unkoordiniert anlaufen. Daraus ergibt sich der technische Bedarf, eine eindeutige Reihenfolge für den Start festzulegen und die zugehörigen Ausgaben auf dem Display so zu definieren, dass der Startprozess nachvollziehbar verfolgt werden kann.&lt;br /&gt;
&lt;br /&gt;
Dafür müssen zunächst die relevanten Inhalte der Startprozedur identifiziert werden. Außerdem sind die beteiligten Schnittstellen zu erkennen und die Reihenfolge der einzelnen Startschritte so festzulegen, dass ein geordneter und technisch sinnvoller Maschinenstart möglich ist.&lt;br /&gt;
&lt;br /&gt;
== Display ==&lt;br /&gt;
Ziel ist eine kompakte und benutzerfreundliche Displaylösung, die sich nahtlos in das Gesamtsystem integriert. Das Display mit Touchfunktion dient als Schnittstelle zur Interaktion zwischen Bediener und Maschine. Messwerte müssen strukturiert darzustellen sowie die Auswahl von Funktionen wie Kaffeerezepten, Teewasser- oder Dampfbezug zu ermöglichen. Zusätzlich übernimmt das Display die Visualisierung der Startprozedur, relevanter Betriebszustände und der Sicherheitsfunktionen.&lt;br /&gt;
&lt;br /&gt;
Zunächst werden die benötigten Funktionalitäten analysiert und definiert, darunter Messwertanzeige, Benutzerführung und Sicherheitsmeldungen. Parallel dazu werden drei unterschiedliche Displaytypen (rundes Display, LCD2 und 1,69Display) auf ihre Eignung hin untersucht, um anschließend die, am besten passende, Variante auszuwählen. Die MCU der Displayplatine erhält die benötigten Informationen über die UART-Kommunikation aus dem System und muss in die bestehende Gesamtarchitektur integriert werden. Der Vertikalhebel dient zur Vorgabe von Sollwerten, während die beiden Anschlagtaster die Funktionen Kaffeebezug und Flush beziehungsweise Reinigung auslösen. Diese Bedienelemente sind mit der Displayplatine zu verbinden, damit das Display die zugehörigen Informationen und Zustände für den Benutzer darstellen kann.&lt;br /&gt;
&lt;br /&gt;
== STM32 ==&lt;br /&gt;
Als Haupt-MCU soll ein STM32H753ZI-Controller verwendet werden. Es soll sichergestellt &lt;br /&gt;
werden, dass die vorinstallierten Steckerleisten CN7 bis CN10 ausreichend Pins für &lt;br /&gt;
Definition der benötigten UART-, ADC-, DAC- und GPIO-Pins aufweisen.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Boilerdruck-, die Wassertemperatur-, die Durchfluss- und die Füllstandsregelung des &lt;br /&gt;
Boilers müssen implementiert werden. Es soll ebenfalls eine UART-Kommunikation für ein &lt;br /&gt;
Touch-Display, einen Maschinensimulator sowie eine Möglichkeit zum Anschließen einer &lt;br /&gt;
Wartungs-App programmiert werden. Um einen geordneten Ablauf der einzelnen &lt;br /&gt;
Komponenten bei Inbetriebnahme der Maschine zu gewährleisten, soll eine Startprozedur &lt;br /&gt;
programmiert werden&lt;br /&gt;
&lt;br /&gt;
== Wartungs - APP ==&lt;br /&gt;
Es müssen der Inhalt des Wartungs-Token definiert werden, ein GUI-Layout erstellt werden, ein Kommunikationsaufbau mit dem Maschinensimulator hergestellt werden, die Darstellung der Messwerte, eine manuelle Startprozedur, das Schalten von Magnetventilen, die Einstellung von Sollwertvorgaben (Boilerdruck, Bezugswassertemperatur, Durchfluss) und manuellen Stellwerten für das PWM-Heizelement, die Pumpenansteuerung und die Stellung des Dosierventils sowie die Messwertspeicherung und das Logging programmiert werden. Die App ist bis zu einem funktionsfähigen Prototypen erforderlich.&lt;br /&gt;
&lt;br /&gt;
= Leistungsvereinbarung =&lt;br /&gt;
&lt;br /&gt;
== Startprozedur ==&lt;br /&gt;
Es wird eine definierte und nachvollziehbare Startprozedur für die Maschine erarbeitet. Das Ergebnis umfasst eine festgelegte Reihenfolge der Startschritte, die Berücksichtigung der relevanten Schnittstellen sowie ein Konzept für die Ausgaben auf dem Display, damit der Startprozess strukturiert abläuft und für den Benutzer verfolgbar ist.&lt;br /&gt;
&lt;br /&gt;
== Maschinensimulator ==&lt;br /&gt;
Das Ziel dieser Arbeit ist die Entwicklung eines voll funktionsfähigen Maschinensimulators, der das Testen der auf den STM32 zu verlagernden Regelkreisen ermöglicht. Hierfür werden physikalische Größen wie Temperatur und Druck simuliert und über die Digital- Potentiometer MCP4151 als elektrische Signale an die Steuerungselektronik ausgegeben. Der Maschinensimulator wird in einer MATLAB®-App implementiert, sodass der Maschinensimulators parallel zu einer weiteern MCU an einem PC betrieben werden kann. Die App soll sowohl den Betrieb des Simulators als solches als auch die Nutzung als Wartungs-App ermöglichen.&lt;br /&gt;
&lt;br /&gt;
== Wartungs - APP ==&lt;br /&gt;
Die aktuelle MATLAB®-GUI soll in eine komfortable Bedienoberfläche für Wartungs- und Einstellarbeiten überführt werden. Bei aktivierter Wartungs-App sollen sämtliche Tastenfunktionen und die Vertikalhebelfunktion nutzbar sein und zudem alle Aktoren (Magnetventile, Pumpenleistung und Schrittmotorverstellungen) über diese App angesteuert werden können. Des Weiteren soll die bisherige Visualisierung der Messwerte und Schaltzustände erhalten bleiben. Dies allerdings mit einer geringeren Aktualisierungsrate, da vier Aktualisierungen pro Sekunde als ausreichend angesehen werden.&lt;br /&gt;
&lt;br /&gt;
==UART-Kommunikation==&lt;br /&gt;
Um die spezifischen Daten von dem STM32H7 auf das Display zu übertragen, sowie &lt;br /&gt;
Steuerbefehle des Displays für den STM32H7, wird ein neue UART-Schnittstelle mit Display-Token eingeführt. Ebenfalls wird eine UART-Kommunikation mit entsprechendem Token für &lt;br /&gt;
Maschinensimulator und der Wartungs-App implementiert. Dabei soll ein Gateway den &lt;br /&gt;
Zugriff für die Wartungs-App integriert werden.&lt;br /&gt;
&lt;br /&gt;
==Multitasking==&lt;br /&gt;
Die direkte Hardware-Unterstützung über DMA gestaltet sich schwierig in MicroPython, da &lt;br /&gt;
sie von MicroPython automatisch verwendet wird (bspw. bei Buffern) und nur über &lt;br /&gt;
Registeraccess direkt ausgeführt werden kann. Daher wird die Nutzung der uasyncio-Library&lt;br /&gt;
bevorzugt, welche die Vorgänge, die den Programmablauf verzögern, umleitet. Dadurch soll &lt;br /&gt;
das Programm reibungsfreier ablaufen.&lt;br /&gt;
&lt;br /&gt;
==STM32H7==&lt;br /&gt;
Die bestehenden Regelkreise, Füllstandsregelung (Boiler und Tanks), Boilerdruckregelung, &lt;br /&gt;
Mischtemperaturregelung und Durchflussregelung werden von den drei Microcontroller auf &lt;br /&gt;
den STM32H7 verlagert. Ebenfalls erfolgt die Migration der Messwerterfassung aller &lt;br /&gt;
verbauten Sensoren auf die neue STM32H7-Plattform.&amp;lt;br&amp;gt;&lt;br /&gt;
Zusätzlich wird eine UART-Kommunikation implementiert, die die Anbindung des Displays, &lt;br /&gt;
eines Maschinensimulators sowie für den Zugriff durch eine externe Wartungs-App über &lt;br /&gt;
einem Gateway ermöglicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Um einen geordneten Ablauf der einzelnen Komponenten bei Inbetriebnahme der Maschine &lt;br /&gt;
zu gewährleisten, wird eine Startprozedur programmiert.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Hardware-Umsetzung wird von LfbA Armin Rohnen übernommen.&lt;br /&gt;
&lt;br /&gt;
== Display ==&lt;br /&gt;
Es wird eine geeignete Displaylösung ausgewählt und in das Gesamtsystem integriert. Das Ergebnis umfasst die Darstellung relevanter Messwerte, Betriebszustände, Sicherheitsmeldungen und der Startprozedur sowie die Einbindung der Bedienfunktionen über Touch, Vertikalhebel und Anschlagtaster.&lt;br /&gt;
&lt;br /&gt;
== Vertikalhebel ==&lt;br /&gt;
Der Vertikalhebel wird als Bedienelement technisch und funktional in das System integriert. Das Ergebnis umfasst die Erfassung und Verarbeitung der Hebelstellung als Sollwertvorgabe für den Durchflussregler, die Einbindung der Anschlagtaster als zusätzliche Bedienfunktionen sowie die Anzeige der relevanten Informationen auf dem Display.&lt;br /&gt;
&lt;br /&gt;
== Verlagerung der Regler Syntax ==&lt;br /&gt;
Ziel dieser Arbeit ist die vollständige Übertragung der in MATLAB® implementierten Regelalgorithmen aus [114] in MicroPython sowie deren Vorbereitung für die Implementierung auf einer STM32‑MCU. Die Umsetzung erfolgt entlang der bestehenden Reglerstruktur: Füllstandsregler, Boilerdruckregelung, Mischtemperaturregler und Durchflussregler.&lt;br /&gt;
&lt;br /&gt;
= Besprechungsprotokolle und weitere Unterlagen =&lt;br /&gt;
* [[:Datei:20260214 Abschlusspraesentation.pdf|Übergabepräsentation Vorgänger]]&lt;br /&gt;
* [[:Datei:20260326 Projektstart.pdf|Aktueller Projektstand]]&lt;br /&gt;
* [[Projektstart 26.03.2026]]&lt;br /&gt;
* [[Projektrücksprache 02.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 09.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 17.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 24.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 08.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 15.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 22.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 29.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 05.06.2026]]&lt;br /&gt;
* [[Projektrücksprache 12.06.2026]]&lt;br /&gt;
* [[Projektrücksprache 19.06.2026]]&lt;br /&gt;
* [[Projektrücksprache 03.07.2026]]&lt;br /&gt;
* [[Projektrücksprache 10.07.2026]]&lt;br /&gt;
* [[Abschlusspräsentation 24.07.2026]]&lt;/div&gt;</summary>
		<author><name>Francis Booth</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Mikrocontroller_Programmierung_in_MicroPython_SoSe_2026&amp;diff=4893</id>
		<title>Mikrocontroller Programmierung in MicroPython SoSe 2026</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Mikrocontroller_Programmierung_in_MicroPython_SoSe_2026&amp;diff=4893"/>
		<updated>2026-04-26T08:49:02Z</updated>

		<summary type="html">&lt;p&gt;Francis Booth: /* Maschinensimulator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;htmltag tagname=&amp;quot;img&amp;quot; src=&amp;quot;https://vg07.met.vgwort.de/na/3e58d840a91b42ac97ee493cdd085245&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;
&lt;br /&gt;
= Mikrocontroller Programmierung in MicroPython Sommersemester 2026 =&lt;br /&gt;
Für die Projekte zur labortechnischen Espressomaschine (und weiteren Derivaten) ist die Mikrokontroller-Programmierung einer Steuerungselektronik erforderlich.&lt;br /&gt;
&lt;br /&gt;
Die Programmierung der Mikrocontroller erfolgt in MicroPython und die übergeordnete Steuerung ist eine MATLAB®-APP mit einem Prozessschaubild. Die Grundfunktionalität dieses Vorgehensweise ist in der Quellenliste unter [40] (MATLAB® meets MicroPython) beschrieben.&lt;br /&gt;
&lt;br /&gt;
Das Projekt wurde bereits durch eine Projektgruppe bearbeitet und hat einen Projektstand, der jedoch noch nicht die gesamte erforderliche Steuerungsfunktionalität umfasst.&lt;br /&gt;
&lt;br /&gt;
Es wird angestrebt eine Steuerung auf Basis eines Nucleo STM32H743ZI2 zu erstellen. Dies würde die aktuell drei Steuerungsplatinen und Mikrocontroller auf einen reduzieren. Kommunikation wäre dann lediglich zum Displaycontroller erforderlich.&lt;br /&gt;
&lt;br /&gt;
= Aufgabenanalyse =&lt;br /&gt;
==UART-Kommunikation==&lt;br /&gt;
Es soll eine Stern-Topologie implementiert werden, welche die UART-Kommunikation&lt;br /&gt;
zu einem separaten Display-Controller, dem Maschinensimulator und der Wartungs-&lt;br /&gt;
App herstellt. Dabei sind Sende- und Empfangs-Token f¨ ur das Display, die Wartungs-App und den Maschinensimulator einzuf¨ uhren. Es gilt dabei, den Umfang und Takt der&lt;br /&gt;
neuen Token festzulegen.&lt;br /&gt;
&lt;br /&gt;
==Mehrkernnutzung und/oder Multitasking==&lt;br /&gt;
&lt;br /&gt;
Es gibt bestimmte Vorgänge, welche regelmäßig zur Unterbrechung des Pro-&lt;br /&gt;
grammablaufs führen. Es gilt, diese Vorgänge zu identifizieren und umzuleiten,&lt;br /&gt;
damit diese den Programmablauf nicht mehr unterbrechen. Die Möglichkeit&lt;br /&gt;
der Mehrkernnutzung fällt dabei aus, da der STM32H753ZI nur über einen&lt;br /&gt;
M7-Kern verfügt. Dank der Hardware-Unterstützung DMA sowie der Nutzung&lt;br /&gt;
der uasyncio-Library besteht die Möglichkeit, die Vorgänge umzuleiten. Somit&lt;br /&gt;
können die Unterbrechungen des Programmablaufs reduziert werden.&lt;br /&gt;
&lt;br /&gt;
== Maschinensimulator ==&lt;br /&gt;
Die Hauptaufgabe des Maschinensimulators ist die Nachbildung aller Sensordaten der Kaffeemaschine. Dies ermöglicht die Programmentwicklung der Steuerungselektronik ohne die reale Hardware. Die für die Simulation benötigte Hardware ist bereits rudimentär vorhanden, muss aber für einen zuverlässigen und störungsfreien Betrieb optimiert werden. Zudem muss für die Umsetzung der Durchflusssimulation noch eine entsprechende Hardware-Modellierung erfolgen. Softwareseitig ist der Python-Code für die Datengenerierung größtenteils fertiggestellt [Quelle: Wiki ToDo Maschinensimulator - Funktionsnutzung]. Es fehlen aktuell noch die Flowmetersimulation sowie die Aufheizsimulation, welche für die Validierung der Druck- und Temperaturregelung benötigt wird. Die vom Maschinensimulator gelieferten Temperatur- und Druckwerte müssen validiert werden. Dabei wird soll ein bereits bekannter Messfehler bei den Temperaturwerten durch die Anpassung der Einstellwerte behoben werden. Für den Programmablauf des Simulators wird eine MATLAB®-App entwickelt, die parallel zum Ablauf des STM32 arbeitet. Für die UART-Kommunikation in der Sterntopologie zwischen dem Maschinensimulator und dem STM32 müssen zudem spezifische Sende- und Empfangs- Token implementiert sowie deren Taktung und Datenumfang definiert werden. Zusätzlich wird ein Gateway als Kommunikationsschnittstelle zwischen dem Maschinensimulator und der Wartungs-App implementiert. Des Weiteren muss während der Ausarbeitung des Maschinensimulators eine Projektfortschrittsdokumentation erfolgen. Die Ausarbeitung erfolgt in einem ein- bis zweiwöchigen Turnus.&lt;br /&gt;
&lt;br /&gt;
== Füllstandsregler ==&lt;br /&gt;
Die Füllstandsregelung erkennt den Füllstand über eine Kurzschlussdetektion. Liegt kein &lt;br /&gt;
Kurzschluss vor, wird dies als zu niedriger Füllstand interpretiert und der Boilerdruckregler &lt;br /&gt;
zur Vermeidung von Trockenheizen gesperrt. Beim Erreichen des Sollfüllstands erfolgt eine &lt;br /&gt;
gezielte Überfüllung bei reduzierter Pumpenspannung, um ein periodisches Ein- und &lt;br /&gt;
Ausschalten der Regelung zu vermeiden. Da die in der MATLAB®-GUI realisierte Boiler Füllstandsregelung aus [114] bereits in einem ersten Stand in MicroPython übertragen &lt;br /&gt;
wurde, liegt der Fokus hier auf der Validierung am Maschinensimulator sowie der &lt;br /&gt;
Abstimmung mit den Schnittstellenpartnern.&lt;br /&gt;
&lt;br /&gt;
== Boilerdruckregelung ==&lt;br /&gt;
Ziel ist es, die bisher in der MATLAB®-GUI realisierte Boilerdruckregelung aus [114], die auf &lt;br /&gt;
einem PD-Regler basiert, vollständig zu übertragen, sodass die Regelung unabhängig von der &lt;br /&gt;
externen PC-Umgebung arbeitet.&lt;br /&gt;
&lt;br /&gt;
== Mischtemperaturregler ==&lt;br /&gt;
Der Mischtemperaturregler nach [114] dient zur Regelung der Kaffee- und &lt;br /&gt;
Teewassertemperatur und wird als PID-Regler für das Mischventil umgesetzt. Die Stellgröße &lt;br /&gt;
ist dabei die Verstellung des Mischventils. Der Temperatursollwert wird aus dem jeweils &lt;br /&gt;
aktiven Rezept vorgegeben. Da die Regelung vom aktuellen Durchfluss abhängt, wird eine &lt;br /&gt;
Kaskadenstruktur verwendet. In dieser Struktur arbeitet der Durchflussregler als innerer, &lt;br /&gt;
schneller Regelkreis, während der Mischtemperaturregler den äußeren Regelkreis bildet und &lt;br /&gt;
die Ergebnisse des inneren Kreises berücksichtigt. Daraus ergibt sich ein besonderes &lt;br /&gt;
Augenmerk auf das Testen des Zusammenspiels der beiden Regler anhand des &lt;br /&gt;
Maschinensimulators, um das Ziel – die Implementierung dieser Kaskadenregelung auf dem &lt;br /&gt;
STM32 – zu erreichen.&lt;br /&gt;
&lt;br /&gt;
== Durchflussregler ==&lt;br /&gt;
Ein Durchflussregler, der in MATLAB® gemäß [114] vorliegt, wird als PID-Regler in &lt;br /&gt;
MicroPython umgesetzt. Durch die Anpassung der Pumpendrehzahl über einen &lt;br /&gt;
Spannungssollwert von 0–5 V kann ein konstanter oder ein profildefinierter Volumenstrom &lt;br /&gt;
entsprechend der Sollwertvorgabe realisiert werden. Als innerer Regelkreis liefert er &lt;br /&gt;
kontinuierlich Durchflusswerte an den Mischtemperaturregler. Daraus ergibt sich der Fokus &lt;br /&gt;
auf der Implementierung und dem Test des Reglers sowie auf der Validierung seines &lt;br /&gt;
Zusammenspiels mit dem übergeordneten Mischtemperaturregler im Maschinensimulator, &lt;br /&gt;
um die Integration auf dem STM32 sicherzustellen.&lt;br /&gt;
&lt;br /&gt;
== Startprozedur ==&lt;br /&gt;
Das Ziel ist es, eine Startprozedur zu definieren. Beim Einschalten der Stromversorgung starten die Prozessoren der Maschine. Ohne eine festgelegte Ablauflogik würden die einzelnen Systemteile jedoch unkoordiniert anlaufen. Daraus ergibt sich der technische Bedarf, eine eindeutige Reihenfolge für den Start festzulegen und die zugehörigen Ausgaben auf dem Display so zu definieren, dass der Startprozess nachvollziehbar verfolgt werden kann.&lt;br /&gt;
&lt;br /&gt;
Dafür müssen zunächst die relevanten Inhalte der Startprozedur identifiziert werden. Außerdem sind die beteiligten Schnittstellen zu erkennen und die Reihenfolge der einzelnen Startschritte so festzulegen, dass ein geordneter und technisch sinnvoller Maschinenstart möglich ist.&lt;br /&gt;
&lt;br /&gt;
== Display ==&lt;br /&gt;
Ziel ist eine kompakte und benutzerfreundliche Displaylösung, die sich nahtlos in das Gesamtsystem integriert. Das Display mit Touchfunktion dient als Schnittstelle zur Interaktion zwischen Bediener und Maschine. Messwerte müssen strukturiert darzustellen sowie die Auswahl von Funktionen wie Kaffeerezepten, Teewasser- oder Dampfbezug zu ermöglichen. Zusätzlich übernimmt das Display die Visualisierung der Startprozedur, relevanter Betriebszustände und der Sicherheitsfunktionen.&lt;br /&gt;
&lt;br /&gt;
Zunächst werden die benötigten Funktionalitäten analysiert und definiert, darunter Messwertanzeige, Benutzerführung und Sicherheitsmeldungen. Parallel dazu werden drei unterschiedliche Displaytypen (rundes Display, LCD2 und 1,69Display) auf ihre Eignung hin untersucht, um anschließend die, am besten passende, Variante auszuwählen. Die MCU der Displayplatine erhält die benötigten Informationen über die UART-Kommunikation aus dem System und muss in die bestehende Gesamtarchitektur integriert werden. Der Vertikalhebel dient zur Vorgabe von Sollwerten, während die beiden Anschlagtaster die Funktionen Kaffeebezug und Flush beziehungsweise Reinigung auslösen. Diese Bedienelemente sind mit der Displayplatine zu verbinden, damit das Display die zugehörigen Informationen und Zustände für den Benutzer darstellen kann.&lt;br /&gt;
&lt;br /&gt;
== STM32 ==&lt;br /&gt;
Als Haupt-MCU soll ein STM32H753ZI-Controller verwendet werden. Es soll sichergestellt &lt;br /&gt;
werden, dass die vorinstallierten Steckerleisten CN7 bis CN10 ausreichend Pins für &lt;br /&gt;
Definition der benötigten UART-, ADC-, DAC- und GPIO-Pins aufweisen.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Boilerdruck-, die Wassertemperatur-, die Durchfluss- und die Füllstandsregelung des &lt;br /&gt;
Boilers müssen implementiert werden. Es soll ebenfalls eine UART-Kommunikation für ein &lt;br /&gt;
Touch-Display, einen Maschinensimulator sowie eine Möglichkeit zum Anschließen einer &lt;br /&gt;
Wartungs-App programmiert werden. Um einen geordneten Ablauf der einzelnen &lt;br /&gt;
Komponenten bei Inbetriebnahme der Maschine zu gewährleisten, soll eine Startprozedur &lt;br /&gt;
programmiert werden&lt;br /&gt;
&lt;br /&gt;
== Wartungs - APP ==&lt;br /&gt;
Es müssen der Inhalt des Wartungs-Token definiert werden, ein GUI-Layout erstellt werden, ein Kommunikationsaufbau mit dem Maschinensimulator hergestellt werden, die Darstellung der Messwerte, eine manuelle Startprozedur, das Schalten von Magnetventilen, die Einstellung von Sollwertvorgaben (Boilerdruck, Bezugswassertemperatur, Durchfluss) und manuellen Stellwerten für das PWM-Heizelement, die Pumpenansteuerung und die Stellung des Dosierventils sowie die Messwertspeicherung und das Logging programmiert werden. Die App ist bis zu einem funktionsfähigen Prototypen erforderlich.&lt;br /&gt;
&lt;br /&gt;
= Leistungsvereinbarung =&lt;br /&gt;
&lt;br /&gt;
== Startprozedur ==&lt;br /&gt;
Es wird eine definierte und nachvollziehbare Startprozedur für die Maschine erarbeitet. Das Ergebnis umfasst eine festgelegte Reihenfolge der Startschritte, die Berücksichtigung der relevanten Schnittstellen sowie ein Konzept für die Ausgaben auf dem Display, damit der Startprozess strukturiert abläuft und für den Benutzer verfolgbar ist.&lt;br /&gt;
&lt;br /&gt;
== Maschinensimulator ==&lt;br /&gt;
Das Ziel dieser Arbeit ist die Entwicklung eines voll funktionsfähigen Maschinensimulators, der das Testen der auf den STM32 zu verlagernden Regelkreisen ermöglicht. Hierfür werden physikalische Größen wie Temperatur und Druck simuliert und über die Digital- Potentiometer MCP4151 als elektrische Signale an die Steuerungselektronik ausgegeben. Der Maschinensimulator wird in einer MATLAB®-App implementiert, sodass ein Programmablauf des Maschinensimulators parallel zum Hauptprogramm (main.py) ablaufen kann. Die App soll sowohl den Betrieb des Simulators als solches als auch die Nutzung als Wartungs-App ermöglichen.&lt;br /&gt;
&lt;br /&gt;
== Wartungs - APP ==&lt;br /&gt;
Die aktuelle MATLAB®-GUI soll in eine komfortable Bedienoberfläche für Wartungs- und Einstellarbeiten überführt werden. Bei aktivierter Wartungs-App sollen sämtliche Tastenfunktionen und die Vertikalhebelfunktion nutzbar sein und zudem alle Aktoren (Magnetventile, Pumpenleistung und Schrittmotorverstellungen) über diese App angesteuert werden können. Des Weiteren soll die bisherige Visualisierung der Messwerte und Schaltzustände erhalten bleiben. Dies allerdings mit einer geringeren Aktualisierungsrate, da vier Aktualisierungen pro Sekunde als ausreichend angesehen werden.&lt;br /&gt;
&lt;br /&gt;
==UART-Kommunikation==&lt;br /&gt;
Um die spezifischen Daten von dem STM32H7 auf das Display zu übertragen, sowie &lt;br /&gt;
Steuerbefehle des Displays für den STM32H7, wird ein neue UART-Schnittstelle mit Display-Token eingeführt. Ebenfalls wird eine UART-Kommunikation mit entsprechendem Token für &lt;br /&gt;
Maschinensimulator und der Wartungs-App implementiert. Dabei soll ein Gateway den &lt;br /&gt;
Zugriff für die Wartungs-App integriert werden.&lt;br /&gt;
&lt;br /&gt;
==Multitasking==&lt;br /&gt;
Die direkte Hardware-Unterstützung über DMA gestaltet sich schwierig in MicroPython, da &lt;br /&gt;
sie von MicroPython automatisch verwendet wird (bspw. bei Buffern) und nur über &lt;br /&gt;
Registeraccess direkt ausgeführt werden kann. Daher wird die Nutzung der uasyncio-Library&lt;br /&gt;
bevorzugt, welche die Vorgänge, die den Programmablauf verzögern, umleitet. Dadurch soll &lt;br /&gt;
das Programm reibungsfreier ablaufen.&lt;br /&gt;
&lt;br /&gt;
==STM32H7==&lt;br /&gt;
Die bestehenden Regelkreise, Füllstandsregelung (Boiler und Tanks), Boilerdruckregelung, &lt;br /&gt;
Mischtemperaturregelung und Durchflussregelung werden von den drei Microcontroller auf &lt;br /&gt;
den STM32H7 verlagert. Ebenfalls erfolgt die Migration der Messwerterfassung aller &lt;br /&gt;
verbauten Sensoren auf die neue STM32H7-Plattform.&amp;lt;br&amp;gt;&lt;br /&gt;
Zusätzlich wird eine UART-Kommunikation implementiert, die die Anbindung des Displays, &lt;br /&gt;
eines Maschinensimulators sowie für den Zugriff durch eine externe Wartungs-App über &lt;br /&gt;
einem Gateway ermöglicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Um einen geordneten Ablauf der einzelnen Komponenten bei Inbetriebnahme der Maschine &lt;br /&gt;
zu gewährleisten, wird eine Startprozedur programmiert.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Hardware-Umsetzung wird von LfbA Armin Rohnen übernommen.&lt;br /&gt;
&lt;br /&gt;
== Display ==&lt;br /&gt;
Es wird eine geeignete Displaylösung ausgewählt und in das Gesamtsystem integriert. Das Ergebnis umfasst die Darstellung relevanter Messwerte, Betriebszustände, Sicherheitsmeldungen und der Startprozedur sowie die Einbindung der Bedienfunktionen über Touch, Vertikalhebel und Anschlagtaster.&lt;br /&gt;
&lt;br /&gt;
== Vertikalhebel ==&lt;br /&gt;
Der Vertikalhebel wird als Bedienelement technisch und funktional in das System integriert. Das Ergebnis umfasst die Erfassung und Verarbeitung der Hebelstellung als Sollwertvorgabe für den Durchflussregler, die Einbindung der Anschlagtaster als zusätzliche Bedienfunktionen sowie die Anzeige der relevanten Informationen auf dem Display.&lt;br /&gt;
&lt;br /&gt;
== Verlagerung der Regler Syntax ==&lt;br /&gt;
Ziel dieser Arbeit ist die vollständige Übertragung der in MATLAB® implementierten Regelalgorithmen aus [114] in MicroPython sowie deren Vorbereitung für die Implementierung auf einer STM32‑MCU. Die Umsetzung erfolgt entlang der bestehenden Reglerstruktur: Füllstandsregler, Boilerdruckregelung, Mischtemperaturregler und Durchflussregler.&lt;br /&gt;
&lt;br /&gt;
= Besprechungsprotokolle und weitere Unterlagen =&lt;br /&gt;
* [[:Datei:20260214 Abschlusspraesentation.pdf|Übergabepräsentation Vorgänger]]&lt;br /&gt;
* [[:Datei:20260326 Projektstart.pdf|Aktueller Projektstand]]&lt;br /&gt;
* [[Projektstart 26.03.2026]]&lt;br /&gt;
* [[Projektrücksprache 02.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 09.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 17.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 24.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 08.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 15.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 22.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 29.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 05.06.2026]]&lt;br /&gt;
* [[Projektrücksprache 12.06.2026]]&lt;br /&gt;
* [[Projektrücksprache 19.06.2026]]&lt;br /&gt;
* [[Projektrücksprache 03.07.2026]]&lt;br /&gt;
* [[Projektrücksprache 10.07.2026]]&lt;br /&gt;
* [[Abschlusspräsentation 24.07.2026]]&lt;/div&gt;</summary>
		<author><name>Francis Booth</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Mikrocontroller_Programmierung_in_MicroPython_SoSe_2026&amp;diff=4892</id>
		<title>Mikrocontroller Programmierung in MicroPython SoSe 2026</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Mikrocontroller_Programmierung_in_MicroPython_SoSe_2026&amp;diff=4892"/>
		<updated>2026-04-26T08:48:28Z</updated>

		<summary type="html">&lt;p&gt;Francis Booth: /* Maschinensimulator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;htmltag tagname=&amp;quot;img&amp;quot; src=&amp;quot;https://vg07.met.vgwort.de/na/3e58d840a91b42ac97ee493cdd085245&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;
&lt;br /&gt;
= Mikrocontroller Programmierung in MicroPython Sommersemester 2026 =&lt;br /&gt;
Für die Projekte zur labortechnischen Espressomaschine (und weiteren Derivaten) ist die Mikrokontroller-Programmierung einer Steuerungselektronik erforderlich.&lt;br /&gt;
&lt;br /&gt;
Die Programmierung der Mikrocontroller erfolgt in MicroPython und die übergeordnete Steuerung ist eine MATLAB®-APP mit einem Prozessschaubild. Die Grundfunktionalität dieses Vorgehensweise ist in der Quellenliste unter [40] (MATLAB® meets MicroPython) beschrieben.&lt;br /&gt;
&lt;br /&gt;
Das Projekt wurde bereits durch eine Projektgruppe bearbeitet und hat einen Projektstand, der jedoch noch nicht die gesamte erforderliche Steuerungsfunktionalität umfasst.&lt;br /&gt;
&lt;br /&gt;
Es wird angestrebt eine Steuerung auf Basis eines Nucleo STM32H743ZI2 zu erstellen. Dies würde die aktuell drei Steuerungsplatinen und Mikrocontroller auf einen reduzieren. Kommunikation wäre dann lediglich zum Displaycontroller erforderlich.&lt;br /&gt;
&lt;br /&gt;
= Aufgabenanalyse =&lt;br /&gt;
==UART-Kommunikation==&lt;br /&gt;
Es soll eine Stern-Topologie implementiert werden, welche die UART-Kommunikation&lt;br /&gt;
zu einem separaten Display-Controller, dem Maschinensimulator und der Wartungs-&lt;br /&gt;
App herstellt. Dabei sind Sende- und Empfangs-Token f¨ ur das Display, die Wartungs-App und den Maschinensimulator einzuf¨ uhren. Es gilt dabei, den Umfang und Takt der&lt;br /&gt;
neuen Token festzulegen.&lt;br /&gt;
&lt;br /&gt;
==Mehrkernnutzung und/oder Multitasking==&lt;br /&gt;
&lt;br /&gt;
Es gibt bestimmte Vorgänge, welche regelmäßig zur Unterbrechung des Pro-&lt;br /&gt;
grammablaufs führen. Es gilt, diese Vorgänge zu identifizieren und umzuleiten,&lt;br /&gt;
damit diese den Programmablauf nicht mehr unterbrechen. Die Möglichkeit&lt;br /&gt;
der Mehrkernnutzung fällt dabei aus, da der STM32H753ZI nur über einen&lt;br /&gt;
M7-Kern verfügt. Dank der Hardware-Unterstützung DMA sowie der Nutzung&lt;br /&gt;
der uasyncio-Library besteht die Möglichkeit, die Vorgänge umzuleiten. Somit&lt;br /&gt;
können die Unterbrechungen des Programmablaufs reduziert werden.&lt;br /&gt;
&lt;br /&gt;
== Maschinensimulator ==&lt;br /&gt;
Die Hauptaufgabe des Maschinensimulators ist die Nachbildung aller Sensordaten der Kaffeemaschine. Dies ermöglicht die Programmentwicklung der Steuerungselektronik ohne die reale Hardware. Die für die Simulation benötigte Hardware ist bereits rudimentär vorhanden, muss aber für einen zuverlässigen und störungsfreien Betrieb optimiert werden. Zudem muss für die Umsetzung der Durchflusssimulation noch eine entsprechende Hardware-Modellierung erfolgen. Softwareseitig ist der Python-Code für die Datengenerierung größtenteils fertiggestellt [Quelle: Wiki ToDo Maschinensimulator - Funktionsnutzung]. Es fehlen aktuell noch die Flowmetersimulation sowie die Aufheizsimulation, welche für die Validierung der Druck- und Temperaturregelung benötigt wird. Die vom Maschinensimulator gelieferten Temperatur- und Druckwerte müssen validiert werden. Dabei wird soll ein bereits bekannter Messfehler bei den Temperaturwerten durch die Anpassung der Einstellwerte behoben werden. Für den Programmablauf des Simulators wird eine MATLAB®-App entwickelt, die parallel zum Ablauf des STM32 arbeitet. Für die UART-Kommunikation in der Sterntopologie zwischen dem Maschinensimulator und dem STM32 müssen zudem spezifische Sende- und Empfangs- Token implementiert sowie deren Taktung und Datenumfang definiert werden. Zusätzlich wird ein Gateway als Kommunikationsschnittstelle zwischen dem Maschinensimulator und der Wartungs-App implementiert. Des Weiteren muss während der Ausarbeitung des Maschinensimulators eine Projektfortschrittsdokumentation erfolgen. Die Ausarbeitung erfolgt in einem ein- bis zweiwöchigen Turnus.&lt;br /&gt;
&lt;br /&gt;
== Füllstandsregler ==&lt;br /&gt;
Die Füllstandsregelung erkennt den Füllstand über eine Kurzschlussdetektion. Liegt kein &lt;br /&gt;
Kurzschluss vor, wird dies als zu niedriger Füllstand interpretiert und der Boilerdruckregler &lt;br /&gt;
zur Vermeidung von Trockenheizen gesperrt. Beim Erreichen des Sollfüllstands erfolgt eine &lt;br /&gt;
gezielte Überfüllung bei reduzierter Pumpenspannung, um ein periodisches Ein- und &lt;br /&gt;
Ausschalten der Regelung zu vermeiden. Da die in der MATLAB®-GUI realisierte Boiler Füllstandsregelung aus [114] bereits in einem ersten Stand in MicroPython übertragen &lt;br /&gt;
wurde, liegt der Fokus hier auf der Validierung am Maschinensimulator sowie der &lt;br /&gt;
Abstimmung mit den Schnittstellenpartnern.&lt;br /&gt;
&lt;br /&gt;
== Boilerdruckregelung ==&lt;br /&gt;
Ziel ist es, die bisher in der MATLAB®-GUI realisierte Boilerdruckregelung aus [114], die auf &lt;br /&gt;
einem PD-Regler basiert, vollständig zu übertragen, sodass die Regelung unabhängig von der &lt;br /&gt;
externen PC-Umgebung arbeitet.&lt;br /&gt;
&lt;br /&gt;
== Mischtemperaturregler ==&lt;br /&gt;
Der Mischtemperaturregler nach [114] dient zur Regelung der Kaffee- und &lt;br /&gt;
Teewassertemperatur und wird als PID-Regler für das Mischventil umgesetzt. Die Stellgröße &lt;br /&gt;
ist dabei die Verstellung des Mischventils. Der Temperatursollwert wird aus dem jeweils &lt;br /&gt;
aktiven Rezept vorgegeben. Da die Regelung vom aktuellen Durchfluss abhängt, wird eine &lt;br /&gt;
Kaskadenstruktur verwendet. In dieser Struktur arbeitet der Durchflussregler als innerer, &lt;br /&gt;
schneller Regelkreis, während der Mischtemperaturregler den äußeren Regelkreis bildet und &lt;br /&gt;
die Ergebnisse des inneren Kreises berücksichtigt. Daraus ergibt sich ein besonderes &lt;br /&gt;
Augenmerk auf das Testen des Zusammenspiels der beiden Regler anhand des &lt;br /&gt;
Maschinensimulators, um das Ziel – die Implementierung dieser Kaskadenregelung auf dem &lt;br /&gt;
STM32 – zu erreichen.&lt;br /&gt;
&lt;br /&gt;
== Durchflussregler ==&lt;br /&gt;
Ein Durchflussregler, der in MATLAB® gemäß [114] vorliegt, wird als PID-Regler in &lt;br /&gt;
MicroPython umgesetzt. Durch die Anpassung der Pumpendrehzahl über einen &lt;br /&gt;
Spannungssollwert von 0–5 V kann ein konstanter oder ein profildefinierter Volumenstrom &lt;br /&gt;
entsprechend der Sollwertvorgabe realisiert werden. Als innerer Regelkreis liefert er &lt;br /&gt;
kontinuierlich Durchflusswerte an den Mischtemperaturregler. Daraus ergibt sich der Fokus &lt;br /&gt;
auf der Implementierung und dem Test des Reglers sowie auf der Validierung seines &lt;br /&gt;
Zusammenspiels mit dem übergeordneten Mischtemperaturregler im Maschinensimulator, &lt;br /&gt;
um die Integration auf dem STM32 sicherzustellen.&lt;br /&gt;
&lt;br /&gt;
== Startprozedur ==&lt;br /&gt;
Das Ziel ist es, eine Startprozedur zu definieren. Beim Einschalten der Stromversorgung starten die Prozessoren der Maschine. Ohne eine festgelegte Ablauflogik würden die einzelnen Systemteile jedoch unkoordiniert anlaufen. Daraus ergibt sich der technische Bedarf, eine eindeutige Reihenfolge für den Start festzulegen und die zugehörigen Ausgaben auf dem Display so zu definieren, dass der Startprozess nachvollziehbar verfolgt werden kann.&lt;br /&gt;
&lt;br /&gt;
Dafür müssen zunächst die relevanten Inhalte der Startprozedur identifiziert werden. Außerdem sind die beteiligten Schnittstellen zu erkennen und die Reihenfolge der einzelnen Startschritte so festzulegen, dass ein geordneter und technisch sinnvoller Maschinenstart möglich ist.&lt;br /&gt;
&lt;br /&gt;
== Display ==&lt;br /&gt;
Ziel ist eine kompakte und benutzerfreundliche Displaylösung, die sich nahtlos in das Gesamtsystem integriert. Das Display mit Touchfunktion dient als Schnittstelle zur Interaktion zwischen Bediener und Maschine. Messwerte müssen strukturiert darzustellen sowie die Auswahl von Funktionen wie Kaffeerezepten, Teewasser- oder Dampfbezug zu ermöglichen. Zusätzlich übernimmt das Display die Visualisierung der Startprozedur, relevanter Betriebszustände und der Sicherheitsfunktionen.&lt;br /&gt;
&lt;br /&gt;
Zunächst werden die benötigten Funktionalitäten analysiert und definiert, darunter Messwertanzeige, Benutzerführung und Sicherheitsmeldungen. Parallel dazu werden drei unterschiedliche Displaytypen (rundes Display, LCD2 und 1,69Display) auf ihre Eignung hin untersucht, um anschließend die, am besten passende, Variante auszuwählen. Die MCU der Displayplatine erhält die benötigten Informationen über die UART-Kommunikation aus dem System und muss in die bestehende Gesamtarchitektur integriert werden. Der Vertikalhebel dient zur Vorgabe von Sollwerten, während die beiden Anschlagtaster die Funktionen Kaffeebezug und Flush beziehungsweise Reinigung auslösen. Diese Bedienelemente sind mit der Displayplatine zu verbinden, damit das Display die zugehörigen Informationen und Zustände für den Benutzer darstellen kann.&lt;br /&gt;
&lt;br /&gt;
== STM32 ==&lt;br /&gt;
Als Haupt-MCU soll ein STM32H753ZI-Controller verwendet werden. Es soll sichergestellt &lt;br /&gt;
werden, dass die vorinstallierten Steckerleisten CN7 bis CN10 ausreichend Pins für &lt;br /&gt;
Definition der benötigten UART-, ADC-, DAC- und GPIO-Pins aufweisen.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Boilerdruck-, die Wassertemperatur-, die Durchfluss- und die Füllstandsregelung des &lt;br /&gt;
Boilers müssen implementiert werden. Es soll ebenfalls eine UART-Kommunikation für ein &lt;br /&gt;
Touch-Display, einen Maschinensimulator sowie eine Möglichkeit zum Anschließen einer &lt;br /&gt;
Wartungs-App programmiert werden. Um einen geordneten Ablauf der einzelnen &lt;br /&gt;
Komponenten bei Inbetriebnahme der Maschine zu gewährleisten, soll eine Startprozedur &lt;br /&gt;
programmiert werden&lt;br /&gt;
&lt;br /&gt;
== Wartungs - APP ==&lt;br /&gt;
Es müssen der Inhalt des Wartungs-Token definiert werden, ein GUI-Layout erstellt werden, ein Kommunikationsaufbau mit dem Maschinensimulator hergestellt werden, die Darstellung der Messwerte, eine manuelle Startprozedur, das Schalten von Magnetventilen, die Einstellung von Sollwertvorgaben (Boilerdruck, Bezugswassertemperatur, Durchfluss) und manuellen Stellwerten für das PWM-Heizelement, die Pumpenansteuerung und die Stellung des Dosierventils sowie die Messwertspeicherung und das Logging programmiert werden. Die App ist bis zu einem funktionsfähigen Prototypen erforderlich.&lt;br /&gt;
&lt;br /&gt;
= Leistungsvereinbarung =&lt;br /&gt;
&lt;br /&gt;
== Startprozedur ==&lt;br /&gt;
Es wird eine definierte und nachvollziehbare Startprozedur für die Maschine erarbeitet. Das Ergebnis umfasst eine festgelegte Reihenfolge der Startschritte, die Berücksichtigung der relevanten Schnittstellen sowie ein Konzept für die Ausgaben auf dem Display, damit der Startprozess strukturiert abläuft und für den Benutzer verfolgbar ist.&lt;br /&gt;
&lt;br /&gt;
== Maschinensimulator ==&lt;br /&gt;
Das Ziel dieser Arbeit ist die Entwicklung eines voll funktionsfähigen Maschinensimulators,&lt;br /&gt;
&lt;br /&gt;
der das Testen der auf den STM32 zu verlagernden Regelkreisen ermöglicht. Hierfür werden&lt;br /&gt;
&lt;br /&gt;
physikalische Größen wie Temperatur und Druck simuliert und über die Digital-&lt;br /&gt;
&lt;br /&gt;
Potentiometer MCP4151 als elektrische Signale an die Steuerungselektronik ausgegeben.&lt;br /&gt;
&lt;br /&gt;
Der Maschinensimulator wird in einer MATLAB®-App implementiert, sodass ein&lt;br /&gt;
&lt;br /&gt;
Programmablauf des Maschinensimulators parallel zum Hauptprogramm (main.py)&lt;br /&gt;
&lt;br /&gt;
ablaufen kann. Die App soll sowohl den Betrieb des Simulators als solches als auch die&lt;br /&gt;
&lt;br /&gt;
Nutzung als Wartungs-App ermöglichen.&lt;br /&gt;
&lt;br /&gt;
== Wartungs - APP ==&lt;br /&gt;
Die aktuelle MATLAB®-GUI soll in eine komfortable Bedienoberfläche für Wartungs- und Einstellarbeiten überführt werden. Bei aktivierter Wartungs-App sollen sämtliche Tastenfunktionen und die Vertikalhebelfunktion nutzbar sein und zudem alle Aktoren (Magnetventile, Pumpenleistung und Schrittmotorverstellungen) über diese App angesteuert werden können. Des Weiteren soll die bisherige Visualisierung der Messwerte und Schaltzustände erhalten bleiben. Dies allerdings mit einer geringeren Aktualisierungsrate, da vier Aktualisierungen pro Sekunde als ausreichend angesehen werden.&lt;br /&gt;
&lt;br /&gt;
==UART-Kommunikation==&lt;br /&gt;
Um die spezifischen Daten von dem STM32H7 auf das Display zu übertragen, sowie &lt;br /&gt;
Steuerbefehle des Displays für den STM32H7, wird ein neue UART-Schnittstelle mit Display-Token eingeführt. Ebenfalls wird eine UART-Kommunikation mit entsprechendem Token für &lt;br /&gt;
Maschinensimulator und der Wartungs-App implementiert. Dabei soll ein Gateway den &lt;br /&gt;
Zugriff für die Wartungs-App integriert werden.&lt;br /&gt;
&lt;br /&gt;
==Multitasking==&lt;br /&gt;
Die direkte Hardware-Unterstützung über DMA gestaltet sich schwierig in MicroPython, da &lt;br /&gt;
sie von MicroPython automatisch verwendet wird (bspw. bei Buffern) und nur über &lt;br /&gt;
Registeraccess direkt ausgeführt werden kann. Daher wird die Nutzung der uasyncio-Library&lt;br /&gt;
bevorzugt, welche die Vorgänge, die den Programmablauf verzögern, umleitet. Dadurch soll &lt;br /&gt;
das Programm reibungsfreier ablaufen.&lt;br /&gt;
&lt;br /&gt;
==STM32H7==&lt;br /&gt;
Die bestehenden Regelkreise, Füllstandsregelung (Boiler und Tanks), Boilerdruckregelung, &lt;br /&gt;
Mischtemperaturregelung und Durchflussregelung werden von den drei Microcontroller auf &lt;br /&gt;
den STM32H7 verlagert. Ebenfalls erfolgt die Migration der Messwerterfassung aller &lt;br /&gt;
verbauten Sensoren auf die neue STM32H7-Plattform.&amp;lt;br&amp;gt;&lt;br /&gt;
Zusätzlich wird eine UART-Kommunikation implementiert, die die Anbindung des Displays, &lt;br /&gt;
eines Maschinensimulators sowie für den Zugriff durch eine externe Wartungs-App über &lt;br /&gt;
einem Gateway ermöglicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Um einen geordneten Ablauf der einzelnen Komponenten bei Inbetriebnahme der Maschine &lt;br /&gt;
zu gewährleisten, wird eine Startprozedur programmiert.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Hardware-Umsetzung wird von LfbA Armin Rohnen übernommen.&lt;br /&gt;
&lt;br /&gt;
== Display ==&lt;br /&gt;
Es wird eine geeignete Displaylösung ausgewählt und in das Gesamtsystem integriert. Das Ergebnis umfasst die Darstellung relevanter Messwerte, Betriebszustände, Sicherheitsmeldungen und der Startprozedur sowie die Einbindung der Bedienfunktionen über Touch, Vertikalhebel und Anschlagtaster.&lt;br /&gt;
&lt;br /&gt;
== Vertikalhebel ==&lt;br /&gt;
Der Vertikalhebel wird als Bedienelement technisch und funktional in das System integriert. Das Ergebnis umfasst die Erfassung und Verarbeitung der Hebelstellung als Sollwertvorgabe für den Durchflussregler, die Einbindung der Anschlagtaster als zusätzliche Bedienfunktionen sowie die Anzeige der relevanten Informationen auf dem Display.&lt;br /&gt;
&lt;br /&gt;
== Verlagerung der Regler Syntax ==&lt;br /&gt;
Ziel dieser Arbeit ist die vollständige Übertragung der in MATLAB® implementierten Regelalgorithmen aus [114] in MicroPython sowie deren Vorbereitung für die Implementierung auf einer STM32‑MCU. Die Umsetzung erfolgt entlang der bestehenden Reglerstruktur: Füllstandsregler, Boilerdruckregelung, Mischtemperaturregler und Durchflussregler.&lt;br /&gt;
&lt;br /&gt;
= Besprechungsprotokolle und weitere Unterlagen =&lt;br /&gt;
* [[:Datei:20260214 Abschlusspraesentation.pdf|Übergabepräsentation Vorgänger]]&lt;br /&gt;
* [[:Datei:20260326 Projektstart.pdf|Aktueller Projektstand]]&lt;br /&gt;
* [[Projektstart 26.03.2026]]&lt;br /&gt;
* [[Projektrücksprache 02.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 09.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 17.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 24.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 08.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 15.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 22.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 29.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 05.06.2026]]&lt;br /&gt;
* [[Projektrücksprache 12.06.2026]]&lt;br /&gt;
* [[Projektrücksprache 19.06.2026]]&lt;br /&gt;
* [[Projektrücksprache 03.07.2026]]&lt;br /&gt;
* [[Projektrücksprache 10.07.2026]]&lt;br /&gt;
* [[Abschlusspräsentation 24.07.2026]]&lt;/div&gt;</summary>
		<author><name>Francis Booth</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Mikrocontroller_Programmierung_in_MicroPython_SoSe_2026&amp;diff=4885</id>
		<title>Mikrocontroller Programmierung in MicroPython SoSe 2026</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Mikrocontroller_Programmierung_in_MicroPython_SoSe_2026&amp;diff=4885"/>
		<updated>2026-04-24T20:34:43Z</updated>

		<summary type="html">&lt;p&gt;Francis Booth: /* Leistungsvereinbarung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;htmltag tagname=&amp;quot;img&amp;quot; src=&amp;quot;https://vg07.met.vgwort.de/na/3e58d840a91b42ac97ee493cdd085245&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;
&lt;br /&gt;
= Mikrocontroller Programmierung in MicroPython Sommersemester 2026 =&lt;br /&gt;
Für die Projekte zur labortechnischen Espressomaschine (und weiteren Derivaten) ist die Mikrokontroller-Programmierung einer Steuerungselektronik erforderlich.&lt;br /&gt;
&lt;br /&gt;
Die Programmierung der Mikrocontroller erfolgt in MicroPython und die übergeordnete Steuerung ist eine MATLAB®-APP mit einem Prozessschaubild. Die Grundfunktionalität dieses Vorgehensweise ist in der Quellenliste unter [40] (MATLAB® meets MicroPython) beschrieben.&lt;br /&gt;
&lt;br /&gt;
Das Projekt wurde bereits durch eine Projektgruppe bearbeitet und hat einen Projektstand, der jedoch noch nicht die gesamte erforderliche Steuerungsfunktionalität umfasst.&lt;br /&gt;
&lt;br /&gt;
Es wird angestrebt eine Steuerung auf Basis eines Nucleo STM32H743ZI2 zu erstellen. Dies würde die aktuell drei Steuerungsplatinen und Mikrocontroller auf einen reduzieren. Kommunikation wäre dann lediglich zum Displaycontroller erforderlich.&lt;br /&gt;
&lt;br /&gt;
= Aufgabenanalyse =&lt;br /&gt;
==UART-Kommunikation==&lt;br /&gt;
Es soll eine Stern-Topologie implementiert werden, welche die UART-Kommunikation&lt;br /&gt;
zu einem separaten Display-Controller, dem Maschinensimulator und der Wartungs-&lt;br /&gt;
App herstellt. Dabei sind Sende- und Empfangs-Token f¨ ur das Display, die Wartungs-App und den Maschinensimulator einzuf¨ uhren. Es gilt dabei, den Umfang und Takt der&lt;br /&gt;
neuen Token festzulegen.&lt;br /&gt;
&lt;br /&gt;
==Mehrkernnutzung und/oder Multitasking==&lt;br /&gt;
&lt;br /&gt;
Es gibt bestimmte Vorgänge, welche regelmäßig zur Unterbrechung des Pro-&lt;br /&gt;
grammablaufs führen. Es gilt, diese Vorgänge zu identifizieren und umzuleiten,&lt;br /&gt;
damit diese den Programmablauf nicht mehr unterbrechen. Die Möglichkeit&lt;br /&gt;
der Mehrkernnutzung fällt dabei aus, da der STM32H753ZI nur über einen&lt;br /&gt;
M7-Kern verfügt. Dank der Hardware-Unterstützung DMA sowie der Nutzung&lt;br /&gt;
der uasyncio-Library besteht die Möglichkeit, die Vorgänge umzuleiten. Somit&lt;br /&gt;
können die Unterbrechungen des Programmablaufs reduziert werden.&lt;br /&gt;
&lt;br /&gt;
== Maschinensimulator ==&lt;br /&gt;
Die Hauptaufgabe des Maschinensimulators ist die Nachbildung aller Sensordaten der&lt;br /&gt;
&lt;br /&gt;
Kaffeemaschine. Dies ermöglicht die Programmentwicklung der Steuerungselektronik ohne&lt;br /&gt;
&lt;br /&gt;
die reale Hardware. Die für die Simulation benötigte Hardware ist bereits rudimentär&lt;br /&gt;
&lt;br /&gt;
vorhanden, muss aber für einen zuverlässigen und störungsfreien Betrieb optimiert werden.&lt;br /&gt;
&lt;br /&gt;
Zudem muss für die Umsetzung der Durchflusssimulation noch eine entsprechende&lt;br /&gt;
&lt;br /&gt;
Hardware-Modellierung erfolgen. Softwareseitig ist der Python-Code für die&lt;br /&gt;
&lt;br /&gt;
Datengenerierung größtenteils fertiggestellt [Quelle: Wiki ToDo Maschinensimulator -&lt;br /&gt;
&lt;br /&gt;
Funktionsnutzung]. Es fehlen aktuell noch die Flowmetersimulation sowie die&lt;br /&gt;
&lt;br /&gt;
Aufheizsimulation, welche für die Validierung der Druck- und Temperaturregelung benötigt&lt;br /&gt;
&lt;br /&gt;
wird. Die vom Maschinensimulator gelieferten Temperatur- und Druckwerte müssen&lt;br /&gt;
&lt;br /&gt;
validiert werden. Dabei wird soll ein bereits bekannter Messfehler bei den&lt;br /&gt;
&lt;br /&gt;
Temperaturwerten durch die Anpassung der Einstellwerte behoben werden. Für den&lt;br /&gt;
&lt;br /&gt;
Programmablauf des Simulators wird eine MATLAB®-App entwickelt, die parallel zum Ablauf&lt;br /&gt;
&lt;br /&gt;
des STM32 arbeitet. Für die UART-Kommunikation in der Sterntopologie zwischen dem&lt;br /&gt;
&lt;br /&gt;
Maschinensimulator und dem STM32 müssen zudem spezifische Sende- und Empfangs-&lt;br /&gt;
&lt;br /&gt;
Token implementiert sowie deren Taktung und Datenumfang definiert werden. Zusätzlich&lt;br /&gt;
&lt;br /&gt;
wird ein Gateway als Kommunikationsschnittstelle zwischen dem Maschinensimulator und&lt;br /&gt;
&lt;br /&gt;
der Wartungs-App implementiert. Des Weiteren muss während der Ausarbeitung des&lt;br /&gt;
&lt;br /&gt;
Maschinensimulators eine Projektfortschrittsdokumentation erfolgen. Die Ausarbeitung&lt;br /&gt;
&lt;br /&gt;
erfolgt in einem ein- bis zweiwöchigen Turnus.&lt;br /&gt;
&lt;br /&gt;
== Füllstandsregler ==&lt;br /&gt;
Die Füllstandsregelung erkennt den Füllstand über eine Kurzschlussdetektion. Liegt kein &lt;br /&gt;
Kurzschluss vor, wird dies als zu niedriger Füllstand interpretiert und der Boilerdruckregler &lt;br /&gt;
zur Vermeidung von Trockenheizen gesperrt. Beim Erreichen des Sollfüllstands erfolgt eine &lt;br /&gt;
gezielte Überfüllung bei reduzierter Pumpenspannung, um ein periodisches Ein- und &lt;br /&gt;
Ausschalten der Regelung zu vermeiden. Da die in der MATLAB®-GUI realisierte Boiler Füllstandsregelung aus [114] bereits in einem ersten Stand in MicroPython übertragen &lt;br /&gt;
wurde, liegt der Fokus hier auf der Validierung am Maschinensimulator sowie der &lt;br /&gt;
Abstimmung mit den Schnittstellenpartnern.&lt;br /&gt;
&lt;br /&gt;
== Boilerdruckregelung ==&lt;br /&gt;
Ziel ist es, die bisher in der MATLAB®-GUI realisierte Boilerdruckregelung aus [114], die auf &lt;br /&gt;
einem PD-Regler basiert, vollständig zu übertragen, sodass die Regelung unabhängig von der &lt;br /&gt;
externen PC-Umgebung arbeitet.&lt;br /&gt;
&lt;br /&gt;
== Mischtemperaturregler ==&lt;br /&gt;
Der Mischtemperaturregler nach [114] dient zur Regelung der Kaffee- und &lt;br /&gt;
Teewassertemperatur und wird als PID-Regler für das Mischventil umgesetzt. Die Stellgröße &lt;br /&gt;
ist dabei die Verstellung des Mischventils. Der Temperatursollwert wird aus dem jeweils &lt;br /&gt;
aktiven Rezept vorgegeben. Da die Regelung vom aktuellen Durchfluss abhängt, wird eine &lt;br /&gt;
Kaskadenstruktur verwendet. In dieser Struktur arbeitet der Durchflussregler als innerer, &lt;br /&gt;
schneller Regelkreis, während der Mischtemperaturregler den äußeren Regelkreis bildet und &lt;br /&gt;
die Ergebnisse des inneren Kreises berücksichtigt. Daraus ergibt sich ein besonderes &lt;br /&gt;
Augenmerk auf das Testen des Zusammenspiels der beiden Regler anhand des &lt;br /&gt;
Maschinensimulators, um das Ziel – die Implementierung dieser Kaskadenregelung auf dem &lt;br /&gt;
STM32 – zu erreichen.&lt;br /&gt;
&lt;br /&gt;
== Durchflussregler ==&lt;br /&gt;
Ein Durchflussregler, der in MATLAB® gemäß [114] vorliegt, wird als PID-Regler in &lt;br /&gt;
MicroPython umgesetzt. Durch die Anpassung der Pumpendrehzahl über einen &lt;br /&gt;
Spannungssollwert von 0–5 V kann ein konstanter oder ein profildefinierter Volumenstrom &lt;br /&gt;
entsprechend der Sollwertvorgabe realisiert werden. Als innerer Regelkreis liefert er &lt;br /&gt;
kontinuierlich Durchflusswerte an den Mischtemperaturregler. Daraus ergibt sich der Fokus &lt;br /&gt;
auf der Implementierung und dem Test des Reglers sowie auf der Validierung seines &lt;br /&gt;
Zusammenspiels mit dem übergeordneten Mischtemperaturregler im Maschinensimulator, &lt;br /&gt;
um die Integration auf dem STM32 sicherzustellen.&lt;br /&gt;
&lt;br /&gt;
== Startprozedur ==&lt;br /&gt;
&lt;br /&gt;
== Display ==&lt;br /&gt;
&lt;br /&gt;
== STM32 ==&lt;br /&gt;
Als Haupt-MCU soll ein STM32H753ZI-Controller verwendet werden. Es soll sichergestellt &lt;br /&gt;
werden, dass die vorinstallierten Steckerleisten CN7 bis CN10 ausreichend Pins für &lt;br /&gt;
Definition der benötigten UART-, ADC-, DAC- und GPIO-Pins aufweisen.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Boilerdruck-, die Wassertemperatur-, die Durchfluss- und die Füllstandsregelung des &lt;br /&gt;
Boilers müssen implementiert werden. Es soll ebenfalls eine UART-Kommunikation für ein &lt;br /&gt;
Touch-Display, einen Maschinensimulator sowie eine Möglichkeit zum Anschließen einer &lt;br /&gt;
Wartungs-App programmiert werden. Um einen geordneten Ablauf der einzelnen &lt;br /&gt;
Komponenten bei Inbetriebnahme der Maschine zu gewährleisten, soll eine Startprozedur &lt;br /&gt;
programmiert werden&lt;br /&gt;
&lt;br /&gt;
== Wartungs - APP ==&lt;br /&gt;
Es müssen der Inhalt des Wartungs-Token definiert werden, ein GUI-Layout erstellt werden, ein Kommunikationsaufbau mit dem Maschinensimulator hergestellt werden, die Darstellung der Messwerte, eine manuelle Startprozedur, das Schalten von Magnetventilen, die Einstellung von Sollwertvorgaben (Boilerdruck, Bezugswassertemperatur, Durchfluss) und manuellen Stellwerten für das PWM-Heizelement, die Pumpenansteuerung und die Stellung des Dosierventils sowie die Messwertspeicherung und das Logging programmiert werden. Die App ist bis zu einem funktionsfähigen Prototypen erforderlich.&lt;br /&gt;
&lt;br /&gt;
= Leistungsvereinbarung =&lt;br /&gt;
&lt;br /&gt;
== Maschinensimulator ==&lt;br /&gt;
Das Ziel dieser Arbeit ist die Entwicklung eines voll funktionsfähigen Maschinensimulators,&lt;br /&gt;
&lt;br /&gt;
der das Testen der auf den STM32 zu verlagernden Regelkreisen ermöglicht. Hierfür werden&lt;br /&gt;
&lt;br /&gt;
physikalische Größen wie Temperatur und Druck simuliert und über die Digital-&lt;br /&gt;
&lt;br /&gt;
Potentiometer MCP4151 als elektrische Signale an die Steuerungselektronik ausgegeben.&lt;br /&gt;
&lt;br /&gt;
Der Maschinensimulator wird in einer MATLAB®-App implementiert, sodass ein&lt;br /&gt;
&lt;br /&gt;
Programmablauf des Maschinensimulators parallel zum Hauptprogramm (main.py)&lt;br /&gt;
&lt;br /&gt;
ablaufen kann. Die App soll sowohl den Betrieb des Simulators als solches als auch die&lt;br /&gt;
&lt;br /&gt;
Nutzung als Wartungs-App ermöglichen.&lt;br /&gt;
&lt;br /&gt;
== Wartungs - APP ==&lt;br /&gt;
Die aktuelle MATLAB®-GUI soll in eine komfortable Bedienoberfläche für Wartungs- und Einstellarbeiten überführt werden. Bei aktivierter Wartungs-App sollen sämtliche Tastenfunktionen und die Vertikalhebelfunktion nutzbar sein und zudem alle Aktoren (Magnetventile, Pumpenleistung und Schrittmotorverstellungen) über diese App angesteuert werden können. Des Weiteren soll die bisherige Visualisierung der Messwerte und Schaltzustände erhalten bleiben. Dies allerdings mit einer geringeren Aktualisierungsrate, da vier Aktualisierungen pro Sekunde als ausreichend angesehen werden.&lt;br /&gt;
&lt;br /&gt;
==UART-Kommunikation==&lt;br /&gt;
Um die spezifischen Daten von dem STM32H7 auf das Display zu übertragen, sowie &lt;br /&gt;
Steuerbefehle des Displays für den STM32H7, wird ein neue UART-Schnittstelle mit Display-Token eingeführt. Ebenfalls wird eine UART-Kommunikation mit entsprechendem Token für &lt;br /&gt;
Maschinensimulator und der Wartungs-App implementiert. Dabei soll ein Gateway den &lt;br /&gt;
Zugriff für die Wartungs-App integriert werden.&lt;br /&gt;
&lt;br /&gt;
==Multitasking==&lt;br /&gt;
Die direkte Hardware-Unterstützung über DMA gestaltet sich schwierig in MicroPython, da &lt;br /&gt;
sie von MicroPython automatisch verwendet wird (bspw. bei Buffern) und nur über &lt;br /&gt;
Registeraccess direkt ausgeführt werden kann. Daher wird die Nutzung der uasyncio-Library&lt;br /&gt;
bevorzugt, welche die Vorgänge, die den Programmablauf verzögern, umleitet. Dadurch soll &lt;br /&gt;
das Programm reibungsfreier ablaufen.&lt;br /&gt;
&lt;br /&gt;
==STM32H7==&lt;br /&gt;
Die bestehenden Regelkreise, Füllstandsregelung (Boiler und Tanks), Boilerdruckregelung, &lt;br /&gt;
Mischtemperaturregelung und Durchflussregelung werden von den drei Microcontroller auf &lt;br /&gt;
den STM32H7 verlagert. Ebenfalls erfolgt die Migration der Messwerterfassung aller &lt;br /&gt;
verbauten Sensoren auf die neue STM32H7-Plattform.&amp;lt;br&amp;gt;&lt;br /&gt;
Zusätzlich wird eine UART-Kommunikation implementiert, die die Anbindung des Displays, &lt;br /&gt;
eines Maschinensimulators sowie für den Zugriff durch eine externe Wartungs-App über &lt;br /&gt;
einem Gateway ermöglicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Um einen geordneten Ablauf der einzelnen Komponenten bei Inbetriebnahme der Maschine &lt;br /&gt;
zu gewährleisten, wird eine Startprozedur programmiert.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Hardware-Umsetzung wird von LfbA Armin Rohnen übernommen.&lt;br /&gt;
&lt;br /&gt;
== Verlagerung der Regler Syntax ==&lt;br /&gt;
Ziel dieser Arbeit ist die vollständige Übertragung der in MATLAB® implementierten Regelalgorithmen aus [114] in MicroPython sowie deren Vorbereitung für die Implementierung auf einer STM32‑MCU. Die Umsetzung erfolgt entlang der bestehenden Reglerstruktur: Füllstandsregler, Boilerdruckregelung, Mischtemperaturregler und Durchflussregler.&lt;br /&gt;
&lt;br /&gt;
= Besprechungsprotokolle und weitere Unterlagen =&lt;br /&gt;
* [[:Datei:20260214 Abschlusspraesentation.pdf|Übergabepräsentation Vorgänger]]&lt;br /&gt;
* [[:Datei:20260326 Projektstart.pdf|Aktueller Projektstand]]&lt;br /&gt;
* [[Projektstart 26.03.2026]]&lt;br /&gt;
* [[Projektrücksprache 02.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 09.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 17.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 24.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 08.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 15.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 22.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 29.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 05.06.2026]]&lt;br /&gt;
* [[Projektrücksprache 12.06.2026]]&lt;br /&gt;
* [[Projektrücksprache 19.06.2026]]&lt;br /&gt;
* [[Projektrücksprache 03.07.2026]]&lt;br /&gt;
* [[Projektrücksprache 10.07.2026]]&lt;br /&gt;
* [[Projektrücksprache 24.07.2026]]&lt;br /&gt;
* [[Abschlusspräsentation 31.07.2026]]&lt;/div&gt;</summary>
		<author><name>Francis Booth</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Mikrocontroller_Programmierung_in_MicroPython_SoSe_2026&amp;diff=4884</id>
		<title>Mikrocontroller Programmierung in MicroPython SoSe 2026</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Mikrocontroller_Programmierung_in_MicroPython_SoSe_2026&amp;diff=4884"/>
		<updated>2026-04-24T20:31:51Z</updated>

		<summary type="html">&lt;p&gt;Francis Booth: /* Maschinensimulator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;htmltag tagname=&amp;quot;img&amp;quot; src=&amp;quot;https://vg07.met.vgwort.de/na/3e58d840a91b42ac97ee493cdd085245&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;
&lt;br /&gt;
= Mikrocontroller Programmierung in MicroPython Sommersemester 2026 =&lt;br /&gt;
Für die Projekte zur labortechnischen Espressomaschine (und weiteren Derivaten) ist die Mikrokontroller-Programmierung einer Steuerungselektronik erforderlich.&lt;br /&gt;
&lt;br /&gt;
Die Programmierung der Mikrocontroller erfolgt in MicroPython und die übergeordnete Steuerung ist eine MATLAB®-APP mit einem Prozessschaubild. Die Grundfunktionalität dieses Vorgehensweise ist in der Quellenliste unter [40] (MATLAB® meets MicroPython) beschrieben.&lt;br /&gt;
&lt;br /&gt;
Das Projekt wurde bereits durch eine Projektgruppe bearbeitet und hat einen Projektstand, der jedoch noch nicht die gesamte erforderliche Steuerungsfunktionalität umfasst.&lt;br /&gt;
&lt;br /&gt;
Es wird angestrebt eine Steuerung auf Basis eines Nucleo STM32H743ZI2 zu erstellen. Dies würde die aktuell drei Steuerungsplatinen und Mikrocontroller auf einen reduzieren. Kommunikation wäre dann lediglich zum Displaycontroller erforderlich.&lt;br /&gt;
&lt;br /&gt;
= Aufgabenanalyse =&lt;br /&gt;
==UART-Kommunikation==&lt;br /&gt;
Es soll eine Stern-Topologie implementiert werden, welche die UART-Kommunikation&lt;br /&gt;
zu einem separaten Display-Controller, dem Maschinensimulator und der Wartungs-&lt;br /&gt;
App herstellt. Dabei sind Sende- und Empfangs-Token f¨ ur das Display, die Wartungs-App und den Maschinensimulator einzuf¨ uhren. Es gilt dabei, den Umfang und Takt der&lt;br /&gt;
neuen Token festzulegen.&lt;br /&gt;
&lt;br /&gt;
==Mehrkernnutzung und/oder Multitasking==&lt;br /&gt;
&lt;br /&gt;
Es gibt bestimmte Vorgänge, welche regelmäßig zur Unterbrechung des Pro-&lt;br /&gt;
grammablaufs führen. Es gilt, diese Vorgänge zu identifizieren und umzuleiten,&lt;br /&gt;
damit diese den Programmablauf nicht mehr unterbrechen. Die Möglichkeit&lt;br /&gt;
der Mehrkernnutzung fällt dabei aus, da der STM32H753ZI nur über einen&lt;br /&gt;
M7-Kern verfügt. Dank der Hardware-Unterstützung DMA sowie der Nutzung&lt;br /&gt;
der uasyncio-Library besteht die Möglichkeit, die Vorgänge umzuleiten. Somit&lt;br /&gt;
können die Unterbrechungen des Programmablaufs reduziert werden.&lt;br /&gt;
&lt;br /&gt;
== Maschinensimulator ==&lt;br /&gt;
Die Hauptaufgabe des Maschinensimulators ist die Nachbildung aller Sensordaten der&lt;br /&gt;
&lt;br /&gt;
Kaffeemaschine. Dies ermöglicht die Programmentwicklung der Steuerungselektronik ohne&lt;br /&gt;
&lt;br /&gt;
die reale Hardware. Die für die Simulation benötigte Hardware ist bereits rudimentär&lt;br /&gt;
&lt;br /&gt;
vorhanden, muss aber für einen zuverlässigen und störungsfreien Betrieb optimiert werden.&lt;br /&gt;
&lt;br /&gt;
Zudem muss für die Umsetzung der Durchflusssimulation noch eine entsprechende&lt;br /&gt;
&lt;br /&gt;
Hardware-Modellierung erfolgen. Softwareseitig ist der Python-Code für die&lt;br /&gt;
&lt;br /&gt;
Datengenerierung größtenteils fertiggestellt [Quelle: Wiki ToDo Maschinensimulator -&lt;br /&gt;
&lt;br /&gt;
Funktionsnutzung]. Es fehlen aktuell noch die Flowmetersimulation sowie die&lt;br /&gt;
&lt;br /&gt;
Aufheizsimulation, welche für die Validierung der Druck- und Temperaturregelung benötigt&lt;br /&gt;
&lt;br /&gt;
wird. Die vom Maschinensimulator gelieferten Temperatur- und Druckwerte müssen&lt;br /&gt;
&lt;br /&gt;
validiert werden. Dabei wird soll ein bereits bekannter Messfehler bei den&lt;br /&gt;
&lt;br /&gt;
Temperaturwerten durch die Anpassung der Einstellwerte behoben werden. Für den&lt;br /&gt;
&lt;br /&gt;
Programmablauf des Simulators wird eine MATLAB®-App entwickelt, die parallel zum Ablauf&lt;br /&gt;
&lt;br /&gt;
des STM32 arbeitet. Für die UART-Kommunikation in der Sterntopologie zwischen dem&lt;br /&gt;
&lt;br /&gt;
Maschinensimulator und dem STM32 müssen zudem spezifische Sende- und Empfangs-&lt;br /&gt;
&lt;br /&gt;
Token implementiert sowie deren Taktung und Datenumfang definiert werden. Zusätzlich&lt;br /&gt;
&lt;br /&gt;
wird ein Gateway als Kommunikationsschnittstelle zwischen dem Maschinensimulator und&lt;br /&gt;
&lt;br /&gt;
der Wartungs-App implementiert. Des Weiteren muss während der Ausarbeitung des&lt;br /&gt;
&lt;br /&gt;
Maschinensimulators eine Projektfortschrittsdokumentation erfolgen. Die Ausarbeitung&lt;br /&gt;
&lt;br /&gt;
erfolgt in einem ein- bis zweiwöchigen Turnus.&lt;br /&gt;
&lt;br /&gt;
== Füllstandsregler ==&lt;br /&gt;
Die Füllstandsregelung erkennt den Füllstand über eine Kurzschlussdetektion. Liegt kein &lt;br /&gt;
Kurzschluss vor, wird dies als zu niedriger Füllstand interpretiert und der Boilerdruckregler &lt;br /&gt;
zur Vermeidung von Trockenheizen gesperrt. Beim Erreichen des Sollfüllstands erfolgt eine &lt;br /&gt;
gezielte Überfüllung bei reduzierter Pumpenspannung, um ein periodisches Ein- und &lt;br /&gt;
Ausschalten der Regelung zu vermeiden. Da die in der MATLAB®-GUI realisierte Boiler Füllstandsregelung aus [114] bereits in einem ersten Stand in MicroPython übertragen &lt;br /&gt;
wurde, liegt der Fokus hier auf der Validierung am Maschinensimulator sowie der &lt;br /&gt;
Abstimmung mit den Schnittstellenpartnern.&lt;br /&gt;
&lt;br /&gt;
== Boilerdruckregelung ==&lt;br /&gt;
Ziel ist es, die bisher in der MATLAB®-GUI realisierte Boilerdruckregelung aus [114], die auf &lt;br /&gt;
einem PD-Regler basiert, vollständig zu übertragen, sodass die Regelung unabhängig von der &lt;br /&gt;
externen PC-Umgebung arbeitet.&lt;br /&gt;
&lt;br /&gt;
== Mischtemperaturregler ==&lt;br /&gt;
Der Mischtemperaturregler nach [114] dient zur Regelung der Kaffee- und &lt;br /&gt;
Teewassertemperatur und wird als PID-Regler für das Mischventil umgesetzt. Die Stellgröße &lt;br /&gt;
ist dabei die Verstellung des Mischventils. Der Temperatursollwert wird aus dem jeweils &lt;br /&gt;
aktiven Rezept vorgegeben. Da die Regelung vom aktuellen Durchfluss abhängt, wird eine &lt;br /&gt;
Kaskadenstruktur verwendet. In dieser Struktur arbeitet der Durchflussregler als innerer, &lt;br /&gt;
schneller Regelkreis, während der Mischtemperaturregler den äußeren Regelkreis bildet und &lt;br /&gt;
die Ergebnisse des inneren Kreises berücksichtigt. Daraus ergibt sich ein besonderes &lt;br /&gt;
Augenmerk auf das Testen des Zusammenspiels der beiden Regler anhand des &lt;br /&gt;
Maschinensimulators, um das Ziel – die Implementierung dieser Kaskadenregelung auf dem &lt;br /&gt;
STM32 – zu erreichen.&lt;br /&gt;
&lt;br /&gt;
== Durchflussregler ==&lt;br /&gt;
Ein Durchflussregler, der in MATLAB® gemäß [114] vorliegt, wird als PID-Regler in &lt;br /&gt;
MicroPython umgesetzt. Durch die Anpassung der Pumpendrehzahl über einen &lt;br /&gt;
Spannungssollwert von 0–5 V kann ein konstanter oder ein profildefinierter Volumenstrom &lt;br /&gt;
entsprechend der Sollwertvorgabe realisiert werden. Als innerer Regelkreis liefert er &lt;br /&gt;
kontinuierlich Durchflusswerte an den Mischtemperaturregler. Daraus ergibt sich der Fokus &lt;br /&gt;
auf der Implementierung und dem Test des Reglers sowie auf der Validierung seines &lt;br /&gt;
Zusammenspiels mit dem übergeordneten Mischtemperaturregler im Maschinensimulator, &lt;br /&gt;
um die Integration auf dem STM32 sicherzustellen.&lt;br /&gt;
&lt;br /&gt;
== Startprozedur ==&lt;br /&gt;
&lt;br /&gt;
== Display ==&lt;br /&gt;
&lt;br /&gt;
== STM32 ==&lt;br /&gt;
Als Haupt-MCU soll ein STM32H753ZI-Controller verwendet werden. Es soll sichergestellt &lt;br /&gt;
werden, dass die vorinstallierten Steckerleisten CN7 bis CN10 ausreichend Pins für &lt;br /&gt;
Definition der benötigten UART-, ADC-, DAC- und GPIO-Pins aufweisen.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Boilerdruck-, die Wassertemperatur-, die Durchfluss- und die Füllstandsregelung des &lt;br /&gt;
Boilers müssen implementiert werden. Es soll ebenfalls eine UART-Kommunikation für ein &lt;br /&gt;
Touch-Display, einen Maschinensimulator sowie eine Möglichkeit zum Anschließen einer &lt;br /&gt;
Wartungs-App programmiert werden. Um einen geordneten Ablauf der einzelnen &lt;br /&gt;
Komponenten bei Inbetriebnahme der Maschine zu gewährleisten, soll eine Startprozedur &lt;br /&gt;
programmiert werden&lt;br /&gt;
&lt;br /&gt;
== Wartungs - APP ==&lt;br /&gt;
Es müssen der Inhalt des Wartungs-Token definiert werden, ein GUI-Layout erstellt werden, ein Kommunikationsaufbau mit dem Maschinensimulator hergestellt werden, die Darstellung der Messwerte, eine manuelle Startprozedur, das Schalten von Magnetventilen, die Einstellung von Sollwertvorgaben (Boilerdruck, Bezugswassertemperatur, Durchfluss) und manuellen Stellwerten für das PWM-Heizelement, die Pumpenansteuerung und die Stellung des Dosierventils sowie die Messwertspeicherung und das Logging programmiert werden. Die App ist bis zu einem funktionsfähigen Prototypen erforderlich.&lt;br /&gt;
&lt;br /&gt;
= Leistungsvereinbarung =&lt;br /&gt;
&lt;br /&gt;
== Wartungs - APP ==&lt;br /&gt;
Die aktuelle MATLAB®-GUI soll in eine komfortable Bedienoberfläche für Wartungs- und Einstellarbeiten überführt werden. Bei aktivierter Wartungs-App sollen sämtliche Tastenfunktionen und die Vertikalhebelfunktion nutzbar sein und zudem alle Aktoren (Magnetventile, Pumpenleistung und Schrittmotorverstellungen) über diese App angesteuert werden können. Des Weiteren soll die bisherige Visualisierung der Messwerte und Schaltzustände erhalten bleiben. Dies allerdings mit einer geringeren Aktualisierungsrate, da vier Aktualisierungen pro Sekunde als ausreichend angesehen werden.&lt;br /&gt;
&lt;br /&gt;
==UART-Kommunikation==&lt;br /&gt;
Um die spezifischen Daten von dem STM32H7 auf das Display zu übertragen, sowie &lt;br /&gt;
Steuerbefehle des Displays für den STM32H7, wird ein neue UART-Schnittstelle mit Display-Token eingeführt. Ebenfalls wird eine UART-Kommunikation mit entsprechendem Token für &lt;br /&gt;
Maschinensimulator und der Wartungs-App implementiert. Dabei soll ein Gateway den &lt;br /&gt;
Zugriff für die Wartungs-App integriert werden.&lt;br /&gt;
&lt;br /&gt;
==Multitasking==&lt;br /&gt;
Die direkte Hardware-Unterstützung über DMA gestaltet sich schwierig in MicroPython, da &lt;br /&gt;
sie von MicroPython automatisch verwendet wird (bspw. bei Buffern) und nur über &lt;br /&gt;
Registeraccess direkt ausgeführt werden kann. Daher wird die Nutzung der uasyncio-Library&lt;br /&gt;
bevorzugt, welche die Vorgänge, die den Programmablauf verzögern, umleitet. Dadurch soll &lt;br /&gt;
das Programm reibungsfreier ablaufen.&lt;br /&gt;
&lt;br /&gt;
==STM32H7==&lt;br /&gt;
Die bestehenden Regelkreise, Füllstandsregelung (Boiler und Tanks), Boilerdruckregelung, &lt;br /&gt;
Mischtemperaturregelung und Durchflussregelung werden von den drei Microcontroller auf &lt;br /&gt;
den STM32H7 verlagert. Ebenfalls erfolgt die Migration der Messwerterfassung aller &lt;br /&gt;
verbauten Sensoren auf die neue STM32H7-Plattform.&amp;lt;br&amp;gt;&lt;br /&gt;
Zusätzlich wird eine UART-Kommunikation implementiert, die die Anbindung des Displays, &lt;br /&gt;
eines Maschinensimulators sowie für den Zugriff durch eine externe Wartungs-App über &lt;br /&gt;
einem Gateway ermöglicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Um einen geordneten Ablauf der einzelnen Komponenten bei Inbetriebnahme der Maschine &lt;br /&gt;
zu gewährleisten, wird eine Startprozedur programmiert.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Hardware-Umsetzung wird von LfbA Armin Rohnen übernommen.&lt;br /&gt;
&lt;br /&gt;
== Verlagerung der Regler Syntax ==&lt;br /&gt;
Ziel dieser Arbeit ist die vollständige Übertragung der in MATLAB® implementierten Regelalgorithmen aus [114] in MicroPython sowie deren Vorbereitung für die Implementierung auf einer STM32‑MCU. Die Umsetzung erfolgt entlang der bestehenden Reglerstruktur: Füllstandsregler, Boilerdruckregelung, Mischtemperaturregler und Durchflussregler.&lt;br /&gt;
&lt;br /&gt;
= Besprechungsprotokolle und weitere Unterlagen =&lt;br /&gt;
* [[:Datei:20260214 Abschlusspraesentation.pdf|Übergabepräsentation Vorgänger]]&lt;br /&gt;
* [[:Datei:20260326 Projektstart.pdf|Aktueller Projektstand]]&lt;br /&gt;
* [[Projektstart 26.03.2026]]&lt;br /&gt;
* [[Projektrücksprache 02.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 09.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 17.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 24.04.2026]]&lt;br /&gt;
* [[Projektrücksprache 08.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 15.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 22.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 29.05.2026]]&lt;br /&gt;
* [[Projektrücksprache 05.06.2026]]&lt;br /&gt;
* [[Projektrücksprache 12.06.2026]]&lt;br /&gt;
* [[Projektrücksprache 19.06.2026]]&lt;br /&gt;
* [[Projektrücksprache 03.07.2026]]&lt;br /&gt;
* [[Projektrücksprache 10.07.2026]]&lt;br /&gt;
* [[Projektrücksprache 24.07.2026]]&lt;br /&gt;
* [[Abschlusspräsentation 31.07.2026]]&lt;/div&gt;</summary>
		<author><name>Francis Booth</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Projektr%C3%BCcksprache_02.04.2026&amp;diff=4869</id>
		<title>Projektrücksprache 02.04.2026</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Projektr%C3%BCcksprache_02.04.2026&amp;diff=4869"/>
		<updated>2026-04-18T13:20:34Z</updated>

		<summary type="html">&lt;p&gt;Francis Booth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Besprechungsprotokoll-02.04.2026 =&lt;br /&gt;
Besprechungsprotokoll&lt;br /&gt;
&lt;br /&gt;
Projektarbeit – Rücksprachetermin&lt;br /&gt;
&lt;br /&gt;
Ort: Zoom-Meeting&lt;br /&gt;
&lt;br /&gt;
Datum: 02.04.2026&lt;br /&gt;
&lt;br /&gt;
Teilnehmer: Konstantin Rupprecht, Loic Aboufiras, Felix Kerner, Tillmann Haas, Armin Rohnen, Francis Booth&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Moderator: Loic Aboufiras&lt;br /&gt;
&lt;br /&gt;
Protokollant: Francis Booth&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zu Beginn der Besprechung stellte sich Felix Kerner nachträglich vor und äußerte seine Affinität zum Projektthema, sowie seine Motivation für das Projekt.&lt;br /&gt;
&lt;br /&gt;
== Top 1) Präsentation der ersten Arbeitspakete ==&lt;br /&gt;
Konstantin Rupprecht schlug vor, die Evaluierung der STM32-Plattform zu übernehmen. In diesem Zuge würde die bisherige Umsetzung mit drei separaten Steuerungsplatinen wegfallen. Für den Aspekt der operativen Steuerung erklärte Loic Aboufiras sich bereit die Integration eines Displays zu übernehmen. Bezüglich der Displayauswahl besteht die Möglichkeit, zwischen drei verschiedenen Varianten zu wählen. Die Entscheidung für die runde Version setzt eine Umsetzung mittels C-Programmierung voraus, die finale Festlegung auf das zu verwendende Display muss jedoch erst bis Juli erfolgen. Weitere Aufgabenbereiche sollen definiert werden, sobald den übrigen Beteiligten die notwendigen Detailinformationen für ihre Planung vorliegen.&lt;br /&gt;
&lt;br /&gt;
== Top 2) Hardware-Anbindung Vertikalhebel und Endlagenschalter ==&lt;br /&gt;
Der Vertikalhebel wird zur Signalerfassung an einen ADC-Eingang der Displayplatine angeschlossen. Die beiden zugehörigen Endlagenschalter werden entweder ebenfalls über ADC-Werte oder als direkte digitale Eingänge erfasst. Diese flexible Anbindung ermöglicht eine effiziente Nutzung der verfügbaren Pins am Mikrocontroller der Displayplatine.&lt;br /&gt;
&lt;br /&gt;
== Top 3) Maschinensimulator ==&lt;br /&gt;
Im Zuge der präsentierten Aufgabenpakete und Vorschläge der anderen Beteiligten die u.a. die Verlegungen der Regelkreise auf den Microcontroller umfassten, wies Herr Rohnen darauf hin, dass die Ausarbeitung des Maschinensimulators essenziell für den Erfolg des Projekts wäre. Dieser ist bereits vorhanden, bedarf allerdings einer finalen Ausarbeitung.&lt;br /&gt;
&lt;br /&gt;
== Top 4) Übernahme der Koordinationsrolle ==&lt;br /&gt;
Da Konstantin Rupprecht die Umstellung der Platinen auf die STM32 MCU verantwortet und dabei auf Schnittstellen zu anderen Projektbeteiligten angewiesen ist, wird er maßgeblich die Projektkoordination übernehmen. Ein sorgfältig gepflegter und transparenter Austausch innerhalb der Gruppe ist daher unerlässlich.&lt;br /&gt;
&lt;br /&gt;
== Top 5) Definition und Implementierung der Startprozedur ==&lt;br /&gt;
Die Definition der Startprozedur für die Kaffeemaschine ist aufgrund der Umstellung auf den STM32-Mikrocontroller zwingend erforderlich. Die detaillierte Aufteilung dieses Aufgabenpaketes erfolgt zu einem späteren Zeitpunkt. Diese ist eine Teamaufgabe und ist maßgeblich von der noch auszuarbeitenden Leistungsvereinbarung des Projekts abhängig.&lt;br /&gt;
&lt;br /&gt;
== Top 6) UART-Kommunikation ==&lt;br /&gt;
Für die Kommunikation zwischen Mikrocontroller, Display und Maschinensimulator wird eine Stern-Topologie angestrebt, bei der der STM32-Mikrocontroller im Zentrum der Kommunikation stehen wird. Dabei wurde kritisch angemerkt, dass das aktuell verwendete STM-Board keinen vollwertigen zweiten Kern verfügt. Deswegen sollte der Sekundärkern für den Austausch von Daten genutzt werden, die die UART-Kommunikation verzögern würden.&lt;br /&gt;
&lt;br /&gt;
== Top 7) Initialisierung des Schrittmotors des Dosierventils ==&lt;br /&gt;
Der Schrittmotor des Dosierventils muss beim Start der Kaffeemaschine initialisiert werden. Für alle anderen Software-Komponenten ist ein fester Definitionsbereich vorgesehen. Diese Maßnahmen stellen sicher, dass alle Systemteile in einem gültigen Zustand starten.&lt;br /&gt;
&lt;br /&gt;
== Top 8) Interne Kommunikation und Schnittstellenabstimmung ==&lt;br /&gt;
Herr Rohnen betonte in der Rücksprache die Bedeutung eines kontinuierlichen Informationsaustauschs innerhalb der Gruppe. Da zahlreiche Arbeitspakete über mehrere Schnittstellen verfügen, ist eine sorgfältige Abstimmung unerlässlich, um den Erfolg des Projekts zu gewährleisten.&lt;br /&gt;
&lt;br /&gt;
== Top 9) vorhandene Projektdokumentationen und Referenzquellen ==&lt;br /&gt;
Herr Rohnen empfahl außerdem, sich zur Information über das Gesamtprojekt und den aktuellen Stand an der „MATLAB® meets Micropython“-Dokumentation sowie an der Abschlusspräsentation der vorherigen Gruppe zu orientieren. Darüber hinaus bot er an, jederzeit für Rückfragen zur Verfügung zu stehen.&lt;br /&gt;
&lt;br /&gt;
== Top 10) Vorbereitung und Roadmap für den Folgetermin am 09. April ==&lt;br /&gt;
Für den nächsten Termin am 09. April hat Herr Rohnen eine klare Roadmap festgelegt. Jeder Teilnehmer erstellt eine schriftliche Analyse seines Aufgabenpakets und stellt diese persönlich vor. Zusätzlich erarbeitet die gesamte Gruppe einen Vorschlag für die Zielvereinbarung des Projekts. Herr Rohnen betonte hierbei erneut die Wichtigkeit der internen Abstimmung. Zur Vermeidung unrealistischer Erwartungen soll die Gruppe ihre Ziele zudem mit denen des Vorgängerprojekts vergleichen.&lt;/div&gt;</summary>
		<author><name>Francis Booth</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Projektr%C3%BCcksprache_02.04.2026&amp;diff=4868</id>
		<title>Projektrücksprache 02.04.2026</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Projektr%C3%BCcksprache_02.04.2026&amp;diff=4868"/>
		<updated>2026-04-18T13:15:43Z</updated>

		<summary type="html">&lt;p&gt;Francis Booth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Besprechungsprotokoll-02.04.2026 =&lt;br /&gt;
Besprechungsprotokoll&lt;br /&gt;
&lt;br /&gt;
Projektarbeit – Rücksprachetermin&lt;br /&gt;
&lt;br /&gt;
Ort: Zoom-Meeting&lt;br /&gt;
&lt;br /&gt;
Datum: 02.04.2026&lt;br /&gt;
&lt;br /&gt;
Teilnehmer: Konstantin Rupprecht, Loic Aboufiras, Felix Kerner, Tillmann Haas, Armin Rohnen, Francis Booth&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Moderator: Loic Aboufiras&lt;br /&gt;
&lt;br /&gt;
Protokollant: Francis Booth&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zu Beginn der Besprechung stellte sich Felix Kerner nachträglich vor und äußerte seine Affinität zum Projektthema, sowie seine Motivation für das Projekt.&lt;br /&gt;
&lt;br /&gt;
== Top 1) Präsentation der ersten Arbeitspakete ==&lt;br /&gt;
Konstantin Rupprecht schlug vor, die Evaluierung der STM32-Plattform zu übernehmen. In diesem Zuge würde die bisherige Umsetzung mit drei separaten Steuerungsplatinen wegfallen. Für den Aspekt der operativen Steuerung erklärte Loic Aboufiras sich bereit die Integration eines Displays zu übernehmen. Bezüglich der Displayauswahl besteht die Möglichkeit, zwischen drei verschiedenen Varianten zu wählen. Die Entscheidung für die runde Version setzt eine Umsetzung mittels C-Programmierung voraus, die finale Festlegung auf das zu verwendende Display muss jedoch erst bis Juli erfolgen. Weitere Aufgabenbereiche sollen definiert werden, sobald den übrigen Beteiligten die notwendigen Detailinformationen für ihre Planung vorliegen.&lt;br /&gt;
&lt;br /&gt;
=  Top 2) Hardware-Anbindung Vertikalhebel und Endlagenschalter =&lt;br /&gt;
Der Vertikalhebel wird zur Signalerfassung an einen ADC-Eingang der Displayplatine angeschlossen. Die beiden zugehörigen Endlagenschalter werden entweder ebenfalls über ADC-Werte oder als direkte digitale Eingänge erfasst. Diese flexible Anbindung ermöglicht eine effiziente Nutzung der verfügbaren Pins am Mikrocontroller der Displayplatine.&lt;br /&gt;
&lt;br /&gt;
=  Top 3) Maschinensimulator =&lt;br /&gt;
Im Zuge der präsentierten Aufgabenpakete und Vorschläge der anderen Beteiligten die u.a. die Verlegungen der Regelkreise auf den Microcontroller umfassten, wies Herr Rohnen darauf hin, dass die Ausarbeitung des Maschinensimulators essenziell für den Erfolg des Projekts wäre. Dieser ist bereits vorhanden, bedarf allerdings einer finalen Ausarbeitung.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top 4) Übernahme der Koordinationsrolle&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Da Konstantin Rupprecht die Umstellung der Platinen auf die STM32 MCU verantwortet und dabei auf Schnittstellen zu anderen Projektbeteiligten angewiesen ist, wird er maßgeblich die Projektkoordination übernehmen. Ein sorgfältig gepflegter und transparenter Austausch innerhalb der Gruppe ist daher unerlässlich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top 5) Definition und Implementierung der Startprozedur&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Die Definition der Startprozedur für die Kaffeemaschine ist aufgrund der Umstellung auf den STM32-Mikrocontroller zwingend erforderlich. Die detaillierte Aufteilung dieses Aufgabenpaketes erfolgt zu einem späteren Zeitpunkt. Diese ist eine Teamaufgabe und ist maßgeblich von der noch auszuarbeitenden Leistungsvereinbarung des Projekts abhängig.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top 6) UART-Kommunikation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Für die Kommunikation zwischen Mikrocontroller, Display und Maschinensimulator wird eine Stern-Topologie angestrebt, bei der der STM32-Mikrocontroller im Zentrum der Kommunikation stehen wird. Dabei wurde kritisch angemerkt, dass das aktuell verwendete STM-Board keinen vollwertigen zweiten Kern verfügt. Deswegen sollte der Sekundärkern für den Austausch von Daten genutzt werden, die die UART-Kommunikation verzögern würden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top 7) Initialisierung des Schrittmotors des Dosierventils&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Der Schrittmotor des Dosierventils muss beim Start der Kaffeemaschine initialisiert werden. Für alle anderen Software-Komponenten ist ein fester Definitionsbereich vorgesehen. Diese Maßnahmen stellen sicher, dass alle Systemteile in einem gültigen Zustand starten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top 8) Interne Kommunikation und Schnittstellenabstimmung&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Herr Rohnen betonte in der Rücksprache die Bedeutung eines kontinuierlichen Informationsaustauschs innerhalb der Gruppe. Da zahlreiche Arbeitspakete über mehrere Schnittstellen verfügen, ist eine sorgfältige Abstimmung unerlässlich, um den Erfolg des Projekts zu gewährleisten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top 9) vorhandene Projektdokumentationen und Referenzquellen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Herr Rohnen empfahl außerdem, sich zur Information über das Gesamtprojekt und den aktuellen Stand an der „MATLAB® meets Micropython“-Dokumentation sowie an der Abschlusspräsentation der vorherigen Gruppe zu orientieren. Darüber hinaus bot er an, jederzeit für Rückfragen zur Verfügung zu stehen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top 10) Vorbereitung und Roadmap für den Folgetermin am 09. April&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Für den nächsten Termin am 09. April hat Herr Rohnen eine klare Roadmap festgelegt. Jeder Teilnehmer erstellt eine schriftliche Analyse seines Aufgabenpakets und stellt diese persönlich vor. Zusätzlich erarbeitet die gesamte Gruppe einen Vorschlag für die Zielvereinbarung des Projekts. Herr Rohnen betonte hierbei erneut die Wichtigkeit der internen Abstimmung. Zur Vermeidung unrealistischer Erwartungen soll die Gruppe ihre Ziele zudem mit denen des Vorgängerprojekts vergleichen.&lt;/div&gt;</summary>
		<author><name>Francis Booth</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Projektr%C3%BCcksprache_02.04.2026&amp;diff=4867</id>
		<title>Projektrücksprache 02.04.2026</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Projektr%C3%BCcksprache_02.04.2026&amp;diff=4867"/>
		<updated>2026-04-18T13:12:56Z</updated>

		<summary type="html">&lt;p&gt;Francis Booth: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Besprechungsprotokoll&lt;br /&gt;
&lt;br /&gt;
Projektarbeit – Rücksprachetermin&lt;br /&gt;
&lt;br /&gt;
Ort: Zoom-Meeting&lt;br /&gt;
&lt;br /&gt;
Datum: 02.04.2026&lt;br /&gt;
&lt;br /&gt;
Teilnehmer: Konstantin Rupprecht, Loic Aboufiras, Felix Kerner, Tillmann Haas, Armin Rohnen, Francis Booth&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Moderator: Loic Aboufiras&lt;br /&gt;
&lt;br /&gt;
Protokollant: Francis Booth&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zu Beginn der Besprechung stellte sich Felix Kerner nachträglich vor und äußerte seine Affinität zum Projektthema, sowie seine Motivation für das Projekt.&lt;br /&gt;
&lt;br /&gt;
==  &#039;&#039;&#039;Top 1) Präsentation der ersten Arbeitspakete&#039;&#039;&#039; ==&lt;br /&gt;
Konstantin Rupprecht schlug vor, die Evaluierung der STM32-Plattform zu übernehmen. In diesem Zuge würde die bisherige Umsetzung mit drei separaten Steuerungsplatinen wegfallen. Für den Aspekt der operativen Steuerung erklärte Loic Aboufiras sich bereit die Integration eines Displays zu übernehmen. Bezüglich der Displayauswahl besteht die Möglichkeit, zwischen drei verschiedenen Varianten zu wählen. Die Entscheidung für die runde Version setzt eine Umsetzung mittels C-Programmierung voraus, die finale Festlegung auf das zu verwendende Display muss jedoch erst bis Juli erfolgen. Weitere Aufgabenbereiche sollen definiert werden, sobald den übrigen Beteiligten die notwendigen Detailinformationen für ihre Planung vorliegen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top 2) Hardware-Anbindung Vertikalhebel und Endlagenschalter&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Der Vertikalhebel wird zur Signalerfassung an einen ADC-Eingang der Displayplatine angeschlossen. Die beiden zugehörigen Endlagenschalter werden entweder ebenfalls über ADC-Werte oder als direkte digitale Eingänge erfasst. Diese flexible Anbindung ermöglicht eine effiziente Nutzung der verfügbaren Pins am Mikrocontroller der Displayplatine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top 3) Maschinensimulator&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Im Zuge der präsentierten Aufgabenpakete und Vorschläge der anderen Beteiligten die u.a. die Verlegungen der Regelkreise auf den Microcontroller umfassten, wies Herr Rohnen darauf hin, dass die Ausarbeitung des Maschinensimulators essenziell für den Erfolg des Projekts wäre. Dieser ist bereits vorhanden, bedarf allerdings einer finalen Ausarbeitung.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top 4) Übernahme der Koordinationsrolle&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Da Konstantin Rupprecht die Umstellung der Platinen auf die STM32 MCU verantwortet und dabei auf Schnittstellen zu anderen Projektbeteiligten angewiesen ist, wird er maßgeblich die Projektkoordination übernehmen. Ein sorgfältig gepflegter und transparenter Austausch innerhalb der Gruppe ist daher unerlässlich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top 5) Definition und Implementierung der Startprozedur&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Die Definition der Startprozedur für die Kaffeemaschine ist aufgrund der Umstellung auf den STM32-Mikrocontroller zwingend erforderlich. Die detaillierte Aufteilung dieses Aufgabenpaketes erfolgt zu einem späteren Zeitpunkt. Diese ist eine Teamaufgabe und ist maßgeblich von der noch auszuarbeitenden Leistungsvereinbarung des Projekts abhängig.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top 6) UART-Kommunikation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Für die Kommunikation zwischen Mikrocontroller, Display und Maschinensimulator wird eine Stern-Topologie angestrebt, bei der der STM32-Mikrocontroller im Zentrum der Kommunikation stehen wird. Dabei wurde kritisch angemerkt, dass das aktuell verwendete STM-Board keinen vollwertigen zweiten Kern verfügt. Deswegen sollte der Sekundärkern für den Austausch von Daten genutzt werden, die die UART-Kommunikation verzögern würden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top 7) Initialisierung des Schrittmotors des Dosierventils&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Der Schrittmotor des Dosierventils muss beim Start der Kaffeemaschine initialisiert werden. Für alle anderen Software-Komponenten ist ein fester Definitionsbereich vorgesehen. Diese Maßnahmen stellen sicher, dass alle Systemteile in einem gültigen Zustand starten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top 8) Interne Kommunikation und Schnittstellenabstimmung&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Herr Rohnen betonte in der Rücksprache die Bedeutung eines kontinuierlichen Informationsaustauschs innerhalb der Gruppe. Da zahlreiche Arbeitspakete über mehrere Schnittstellen verfügen, ist eine sorgfältige Abstimmung unerlässlich, um den Erfolg des Projekts zu gewährleisten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top 9) vorhandene Projektdokumentationen und Referenzquellen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Herr Rohnen empfahl außerdem, sich zur Information über das Gesamtprojekt und den aktuellen Stand an der „MATLAB® meets Micropython“-Dokumentation sowie an der Abschlusspräsentation der vorherigen Gruppe zu orientieren. Darüber hinaus bot er an, jederzeit für Rückfragen zur Verfügung zu stehen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top 10) Vorbereitung und Roadmap für den Folgetermin am 09. April&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Für den nächsten Termin am 09. April hat Herr Rohnen eine klare Roadmap festgelegt. Jeder Teilnehmer erstellt eine schriftliche Analyse seines Aufgabenpakets und stellt diese persönlich vor. Zusätzlich erarbeitet die gesamte Gruppe einen Vorschlag für die Zielvereinbarung des Projekts. Herr Rohnen betonte hierbei erneut die Wichtigkeit der internen Abstimmung. Zur Vermeidung unrealistischer Erwartungen soll die Gruppe ihre Ziele zudem mit denen des Vorgängerprojekts vergleichen.&lt;/div&gt;</summary>
		<author><name>Francis Booth</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Projektr%C3%BCcksprache_02.04.2026&amp;diff=4861</id>
		<title>Projektrücksprache 02.04.2026</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Projektr%C3%BCcksprache_02.04.2026&amp;diff=4861"/>
		<updated>2026-04-15T06:08:56Z</updated>

		<summary type="html">&lt;p&gt;Francis Booth: Die Seite wurde neu angelegt: „Besprechungsprotokoll  Projektarbeit – Rücksprachetermin  Ort: Zoom-Meeting  Datum: 02.04.2026  Teilnehmer: Konstantin Rupprecht, Loic Aboufiras, Felix Kerner, Tillmann Haas, Armin Rohnen, Francis Booth   Moderator: Loic Aboufiras  Protokollant: Francis Booth   Zu Beginn der Besprechung stellte sich Felix Kerner nachträglich vor und äußerte seine Affinität zum Projektthema, sowie seine Motivation für das Projekt.   &amp;#039;&amp;#039;&amp;#039;Top 1) Präsentation der erst…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Besprechungsprotokoll&lt;br /&gt;
&lt;br /&gt;
Projektarbeit – Rücksprachetermin&lt;br /&gt;
&lt;br /&gt;
Ort: Zoom-Meeting&lt;br /&gt;
&lt;br /&gt;
Datum: 02.04.2026&lt;br /&gt;
&lt;br /&gt;
Teilnehmer: Konstantin Rupprecht, Loic Aboufiras, Felix Kerner, Tillmann Haas, Armin Rohnen, Francis Booth&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Moderator: Loic Aboufiras&lt;br /&gt;
&lt;br /&gt;
Protokollant: Francis Booth&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zu Beginn der Besprechung stellte sich Felix Kerner nachträglich vor und äußerte seine Affinität zum Projektthema, sowie seine Motivation für das Projekt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top 1) Präsentation der ersten Arbeitspakete&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Konstantin Rupprecht schlug vor, die Evaluierung der STM32-Plattform zu übernehmen. In diesem Zuge würde die bisherige Umsetzung mit drei separaten Steuerungsplatinen wegfallen. Für den Aspekt der operativen Steuerung erklärte Loic Aboufiras sich bereit die Integration eines Displays zu übernehmen. Bezüglich der Displayauswahl besteht die Möglichkeit, zwischen drei verschiedenen Varianten zu wählen. Die Entscheidung für die runde Version setzt eine Umsetzung mittels C-Programmierung voraus, die finale Festlegung auf das zu verwendende Display muss jedoch erst bis Juli erfolgen. Weitere Aufgabenbereiche sollen definiert werden, sobald den übrigen Beteiligten die notwendigen Detailinformationen für ihre Planung vorliegen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top 2) Hardware-Anbindung Vertikalhebel und Endlagenschalter&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Der Vertikalhebel wird zur Signalerfassung an einen ADC-Eingang der Displayplatine angeschlossen. Die beiden zugehörigen Endlagenschalter werden entweder ebenfalls über ADC-Werte oder als direkte digitale Eingänge erfasst. Diese flexible Anbindung ermöglicht eine effiziente Nutzung der verfügbaren Pins am Mikrocontroller der Displayplatine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top 3) Maschinensimulator&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Im Zuge der präsentierten Aufgabenpakete und Vorschläge der anderen Beteiligten die u.a. die Verlegungen der Regelkreise auf den Microcontroller umfassten, wies Herr Rohnen darauf hin, dass die Ausarbeitung des Maschinensimulators essenziell für den Erfolg des Projekts wäre. Dieser ist bereits vorhanden, bedarf allerdings einer finalen Ausarbeitung.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top 4) Übernahme der Koordinationsrolle&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Da Konstantin Rupprecht die Umstellung der Platinen auf die STM32 MCU verantwortet und dabei auf Schnittstellen zu anderen Projektbeteiligten angewiesen ist, wird er maßgeblich die Projektkoordination übernehmen. Ein sorgfältig gepflegter und transparenter Austausch innerhalb der Gruppe ist daher unerlässlich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top 5) Definition und Implementierung der Startprozedur&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Die Definition der Startprozedur für die Kaffeemaschine ist aufgrund der Umstellung auf den STM32-Mikrocontroller zwingend erforderlich. Die detaillierte Aufteilung dieses Aufgabenpaketes erfolgt zu einem späteren Zeitpunkt. Diese ist eine Teamaufgabe und ist maßgeblich von der noch auszuarbeitenden Leistungsvereinbarung des Projekts abhängig.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top 6) UART-Kommunikation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Für die Kommunikation zwischen Mikrocontroller, Display und Maschinensimulator wird eine Stern-Topologie angestrebt, bei der der STM32-Mikrocontroller im Zentrum der Kommunikation stehen wird. Dabei wurde kritisch angemerkt, dass das aktuell verwendete STM-Board keinen vollwertigen zweiten Kern verfügt. Deswegen sollte der Sekundärkern für den Austausch von Daten genutzt werden, die die UART-Kommunikation verzögern würden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top 7) Initialisierung des Schrittmotors des Dosierventils&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Der Schrittmotor des Dosierventils muss beim Start der Kaffeemaschine initialisiert werden. Für alle anderen Software-Komponenten ist ein fester Definitionsbereich vorgesehen. Diese Maßnahmen stellen sicher, dass alle Systemteile in einem gültigen Zustand starten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top 8) Interne Kommunikation und Schnittstellenabstimmung&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Herr Rohnen betonte in der Rücksprache die Bedeutung eines kontinuierlichen Informationsaustauschs innerhalb der Gruppe. Da zahlreiche Arbeitspakete über mehrere Schnittstellen verfügen, ist eine sorgfältige Abstimmung unerlässlich, um den Erfolg des Projekts zu gewährleisten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top 9) vorhandene Projektdokumentationen und Referenzquellen&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Herr Rohnen empfahl außerdem, sich zur Information über das Gesamtprojekt und den aktuellen Stand an der „MATLAB® meets Micropython“-Dokumentation sowie an der Abschlusspräsentation der vorherigen Gruppe zu orientieren. Darüber hinaus bot er an, jederzeit für Rückfragen zur Verfügung zu stehen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Top 10) Vorbereitung und Roadmap für den Folgetermin am 09. April&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Für den nächsten Termin am 09. April hat Herr Rohnen eine klare Roadmap festgelegt. Jeder Teilnehmer erstellt eine schriftliche Analyse seines Aufgabenpakets und stellt diese persönlich vor. Zusätzlich erarbeitet die gesamte Gruppe einen Vorschlag für die Zielvereinbarung des Projekts. Herr Rohnen betonte hierbei erneut die Wichtigkeit der internen Abstimmung. Zur Vermeidung unrealistischer Erwartungen soll die Gruppe ihre Ziele zudem mit denen des Vorgängerprojekts vergleichen.&lt;/div&gt;</summary>
		<author><name>Francis Booth</name></author>
	</entry>
</feed>