Mikrocontroller Programmierung in MicroPython SoSe 2026

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

Breites Logoband.png


Mikrocontroller Programmierung in MicroPython Sommersemester 2026

Für die Projekte zur labortechnischen Espressomaschine (und weiteren Derivaten) ist die Mikrokontroller-Programmierung einer Steuerungselektronik erforderlich.

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.

Das Projekt wurde bereits durch eine Projektgruppe bearbeitet und hat einen Projektstand, der jedoch noch nicht die gesamte erforderliche Steuerungsfunktionalität umfasst.

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.

Aufgabenanalyse

UART-Kommunikation

Es soll eine Stern-Topologie implementiert werden, welche die UART-Kommunikation zu einem separaten Display-Controller, dem Maschinensimulator und der Wartungs- 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 neuen Token festzulegen.

Mehrkernnutzung und/oder Multitasking

Es gibt bestimmte Vorgänge, welche regelmäßig zur Unterbrechung des Pro- grammablaufs führen. Es gilt, diese Vorgänge zu identifizieren und umzuleiten, damit diese den Programmablauf nicht mehr unterbrechen. Die Möglichkeit der Mehrkernnutzung fällt dabei aus, da der STM32H753ZI nur über einen M7-Kern verfügt. Dank der Hardware-Unterstützung DMA sowie der Nutzung der uasyncio-Library besteht die Möglichkeit, die Vorgänge umzuleiten. Somit können die Unterbrechungen des Programmablaufs reduziert werden.

Maschinensimulator

Füllstandsregler

Die Füllstandsregelung erkennt den Füllstand über eine Kurzschlussdetektion. Liegt kein Kurzschluss vor, wird dies als zu niedriger Füllstand interpretiert und der Boilerdruckregler zur Vermeidung von Trockenheizen gesperrt. Beim Erreichen des Sollfüllstands erfolgt eine gezielte Überfüllung bei reduzierter Pumpenspannung, um ein periodisches Ein- und 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 wurde, liegt der Fokus hier auf der Validierung am Maschinensimulator sowie der Abstimmung mit den Schnittstellenpartnern.

Boilerdruckregelung

Ziel ist es, die bisher in der MATLAB®-GUI realisierte Boilerdruckregelung aus [114], die auf einem PD-Regler basiert, vollständig zu übertragen, sodass die Regelung unabhängig von der externen PC-Umgebung arbeitet.

Mischtemperaturregler

Der Mischtemperaturregler nach [114] dient zur Regelung der Kaffee- und Teewassertemperatur und wird als PID-Regler für das Mischventil umgesetzt. Die Stellgröße ist dabei die Verstellung des Mischventils. Der Temperatursollwert wird aus dem jeweils aktiven Rezept vorgegeben. Da die Regelung vom aktuellen Durchfluss abhängt, wird eine Kaskadenstruktur verwendet. In dieser Struktur arbeitet der Durchflussregler als innerer, schneller Regelkreis, während der Mischtemperaturregler den äußeren Regelkreis bildet und die Ergebnisse des inneren Kreises berücksichtigt. Daraus ergibt sich ein besonderes Augenmerk auf das Testen des Zusammenspiels der beiden Regler anhand des Maschinensimulators, um das Ziel – die Implementierung dieser Kaskadenregelung auf dem STM32 – zu erreichen.

Durchflussregler

Ein Durchflussregler, der in MATLAB® gemäß [114] vorliegt, wird als PID-Regler in MicroPython umgesetzt. Durch die Anpassung der Pumpendrehzahl über einen Spannungssollwert von 0–5 V kann ein konstanter oder ein profildefinierter Volumenstrom entsprechend der Sollwertvorgabe realisiert werden. Als innerer Regelkreis liefert er kontinuierlich Durchflusswerte an den Mischtemperaturregler. Daraus ergibt sich der Fokus auf der Implementierung und dem Test des Reglers sowie auf der Validierung seines Zusammenspiels mit dem übergeordneten Mischtemperaturregler im Maschinensimulator, um die Integration auf dem STM32 sicherzustellen.

Startprozedur

Display

STM32

Wartungs - APP

Leistungsvereinbarung

Besprechungsprotokolle und weitere Unterlagen