<?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=Philipp+Schiebel</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=Philipp+Schiebel"/>
	<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Spezial:Beitr%C3%A4ge/Philipp_Schiebel"/>
	<updated>2026-06-18T19:37:24Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.2</generator>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=4817</id>
		<title>Systemsoftware</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=4817"/>
		<updated>2026-02-03T16:18:39Z</updated>

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

		<summary type="html">&lt;p&gt;Philipp Schiebel: Dokumentation: Simulation von Temperatur- und Druckwerten&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Philipp Schiebel, 02.02.2026 - Simulation von Temperatur- und Druckwerten =&lt;br /&gt;
&lt;br /&gt;
== Einleitung und Zielsetzung==&lt;br /&gt;
Ziel ist die Simulation physikalischer Größen (Temperatur, Druck) gegenüber einer zu testenden Steuerungselektronik. Die physikalischen Sollwerte werden dabei in elektrische Signale umgewandelt, die von der Hardware (Digital-Potentiometer MCP4151) ausgegeben werden.&lt;br /&gt;
&lt;br /&gt;
== Problemstellung und Lösungsansatz==&lt;br /&gt;
Die eingesetzten Digital-Potentiometer (MCP4151) zeigen in der realen Beschaltung ein nicht-lineares Übertragungsverhalten Zudem variieren die Kennlinien der in der Kaffeemaschine verbauten Sensoren je nach Einsatzort (unterschiedliche Druckbereiche, verschiedene NTC-Beta-Werte). Des Weiteren besteht bei der Spannungssimulation (Kanäle 4–7) die Gefahr von Kurzschlüssen in den Randbereichen der Potentiometerstellung.&lt;br /&gt;
&lt;br /&gt;
Um eine präzise Simulation physikalischer Werte zu ermöglichen, wurde ein Software-Modell implementiert, das folgende Komponenten umfasst:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konfigurierbare physikalische Modellierung:&#039;&#039;&#039; Abstraktion verschiedener Sensortypen durch hinterlegte Kennlinien-Profile (z. B. 4 bar vs. 16 bar Sensoren).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linearisierung:&#039;&#039;&#039; Kompensation der Hardware-Nichtlinearität des Potentiometers durch empirisch ermittelte Stützstellen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sicherheitslogik:&#039;&#039;&#039; Automatische Begrenzung der elektrischen Ausgabewerte zum Schutz der Hardware vor Kurzschlüssen.&lt;br /&gt;
&lt;br /&gt;
==Implementierungsdetails ==&lt;br /&gt;
&lt;br /&gt;
===Simulation der Temperatursensoren (NTC)===&lt;br /&gt;
Die Simulation von NTC-Sensoren erfolgt auf den Kanälen 0 bis 3. Um unterschiedliche Sensortypen an verschiedenen Kanälen simulieren zu können, wurde eine dynamische Zuordnung implementiert. Die Umrechnung der Temperatur T (in °C) in den Widerstand R erfolgt mittels der vereinfachten Steinhart-Hart-Gleichung (Beta-Parameter-Gleichung):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;R(T) = R_0 \cdot e^{B \cdot (\frac{1}{T} - \frac{1}{T_0})}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aktuell implementierte Sensortypen:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Standard-NTC (Typ 1):&#039;&#039;&#039; 𝑅&amp;lt;sub&amp;gt;25&amp;lt;/sub&amp;gt; = 10𝑘Ω ,𝐵 = 3977K&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabellen-basierter NTC (Typ 2):&#039;&#039;&#039; Für Sensoren, deren Kennlinie nur tabellarisch vorlag, wurde ein optimierter Beta-Wert von B = 3964K errechnet. Dieser Wert erlaubt die Nutzung der Exponentialgleichung anstelle eines Lookup-Tables.&lt;br /&gt;
&lt;br /&gt;
Der berechnete Widerstandswert wird anschließend durch die Interpolationsfunktion in den korrekten Digitalwert für den MCP4151 übersetzt.&lt;br /&gt;
&lt;br /&gt;
===Linearisierung durch Interpolation===&lt;br /&gt;
Da keine geschlossene mathematische Funktion für das Verhalten der beschalteten Potentiometer vorliegt, wird eine Look-Up Table (LUT) mit linearer Interpolation verwendet.&lt;br /&gt;
&lt;br /&gt;
Der Algorithmus prüft, zwischen welchen zwei Stützstellen (P1 , P2 ) der angeforderte physikalische Wert (P&amp;lt;sub&amp;gt;target&amp;lt;/sub&amp;gt;) liegt und berechnet den zugehörigen digitalen Steuerwert (D&amp;lt;sub&amp;gt;out&amp;lt;/sub&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;D_{out} = D_1 + \frac{P_{target} - P_1}{P_2 - P_1} \cdot (D_2 - D_1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Logik ist in der internen Funktion _interpolate() implementiert.&lt;br /&gt;
&lt;br /&gt;
Die Stützstellen basieren auf Messreihen des realen Aufbaus.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Widerstandssimulation (NTC):&#039;&#039;&#039; 6 Stützstellen im Bereich 96 Ω bis 9180 Ω&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Spannungssimulation:&#039;&#039;&#039; 5 Stützstellen im Bereich 144 mV bis 4060 mV&lt;br /&gt;
&lt;br /&gt;
===Simulation analoger Spannungssensoren ===&lt;br /&gt;
Für Drucksensoren (Kanäle 4–7) wird der MCP4151 als Spannungsteiler betrieben.&lt;br /&gt;
&lt;br /&gt;
Die Umrechnung von Druck p (bar) in Spannung U (Volt) berücksichtigt den sensorspezifischen Maximaldruck p&amp;lt;sub&amp;gt;𝑚𝑎𝑥&amp;lt;/sub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;U_{target} = U_{offset} + \frac{p}{p_{max}} \cdot (U_{max} - U_{min})&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der digitale Stellwert darf den Bereich [50, 250] nicht verlassen, um Kurzschlüsse gegen 5V oder GND zu vermeiden. Dies wird durch die Kalibrierungstabelle TABLE_VOLT sichergestellt, die nur Werte in diesem sicheren Fenster definiert. Anforderungen außerhalb dieses Bereichs werden durch die Interpolationslogik automatisch auf die definierten Grenzwerte (ca. 0,14 V bis 4,06 V) begrenzt.&lt;br /&gt;
&lt;br /&gt;
===Robustheit (Defensive Programmierung)===&lt;br /&gt;
Zur Vermeidung von Laufzeitfehlern auf dem Mikrocontroller wird der finale Ausgabewert vor der Übergabe an das SPI-Interface auf den gültigen Byte-Wertebereich begrenzt:&lt;br /&gt;
&lt;br /&gt;
value = max(0, min(255, int(value)))&lt;br /&gt;
&lt;br /&gt;
Dies verhindert, dass Berechnungsfehler oder Überläufe einen Programmabsturz verursachen könnten.&lt;br /&gt;
&lt;br /&gt;
==Funktionsnutzung==&lt;br /&gt;
Über die folgenden Funktionen sollen Druck und Temperatur simuliert werden:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;set_temperature(ch, temp_celsius)&#039;&#039;&#039;&lt;br /&gt;
**Beschreibung: Simuliert einen NTC-Sensor am angegebenen Kanal. Die Funktion ermittelt anhand der Konfiguration (SENSOR_ASSIGNMENT), welcher Sensortyp (B-Wert, Nennwiderstand) für diesen Kanal verwendet werden soll.&lt;br /&gt;
**Parameter: ch (Kanal 0-3), temp_celsius (Zieltemperatur in Celsius).&lt;br /&gt;
**Rückgabe: Berechneter Widerstand in Ohm (für Debugging).&lt;br /&gt;
*&#039;&#039;&#039;set_pressure(ch, pressure_bar)&#039;&#039;&#039; &lt;br /&gt;
**Beschreibung: Simuliert einen Drucksensor. Die Funktion lädt die Kennlinie (z. B. 4 bar oder 16 bar Max-Druck) für den gewählten Kanal, berechnet die analoge Zielspannung und setzt das Potentiometer entsprechend. Beinhaltet automatische Begrenzung auf den sicheren Hardwarebereich.&lt;br /&gt;
**Parameter: ch (Kanal 4-7), pressure_bar (Zieldruck in bar).&lt;br /&gt;
**Rückgabe: Berechnete Zielspannung in Volt (für Debugging).&lt;br /&gt;
*&#039;&#039;&#039;set_poti(ch, value)&#039;&#039;&#039;&lt;br /&gt;
**Beschreibung: Low-Level Zugriff zum direkten Setzen des Digitalwertes (0- 255). Umgeht die physikalischen Modelle. Sollte nur für Debugging-Zwecke genutzt werden.&lt;br /&gt;
&lt;br /&gt;
==Weiteres Vorgehen==&lt;br /&gt;
Als nächsten Schritt müssen die simulierten Temperatur- und Druckwerte validiert werden und bei Bedarf die Berechnung weiter verfeinert werden. Zusätzlich muss überprüft werden, ob die Widerstände zum Schalten der Füllstände ausreichen.&lt;br /&gt;
&lt;br /&gt;
=Armin Rohnen, 29.10.2025 - Funktionstest MCP4151 (digitaler Widerstand)=&lt;br /&gt;
Über den Programmcode&lt;br /&gt;
&lt;br /&gt;
    def set_poti(ch, value): &amp;lt;br&amp;gt;&lt;br /&gt;
        if not 0 &amp;lt;= ch &amp;lt; len(cs):&amp;lt;br&amp;gt;&lt;br /&gt;
            raise ValueError(&#039;Ungültiger Kanal (0–7)&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
        if not 0 &amp;lt;= value &amp;lt;= 255:&amp;lt;br&amp;gt;&lt;br /&gt;
            raise ValueError(&#039;Wert muss zwischen 0 und 255 liegen&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
        &amp;lt;br&amp;gt;&lt;br /&gt;
        cs[ch].value(0)&amp;lt;br&amp;gt;&lt;br /&gt;
        spi.write(bytearray([CMD_WRITE &amp;lt;&amp;lt; 4, value]))&amp;lt;br&amp;gt;&lt;br /&gt;
        cs[ch].value(1)&amp;lt;br&amp;gt;&lt;br /&gt;
        &amp;lt;br&amp;gt;&lt;br /&gt;
    spi = SPI(0, baudrate=400000, sck=Pin(2), mosi=Pin(3), miso=Pin(4))&amp;lt;br&amp;gt;&lt;br /&gt;
    cs = [Pin(pin, Pin.OUT, value=1) for pin in (5, 6, 7, 8, 9, 10, 11, 12)]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
werden die Widerstandswerte für die einzelnen simulierten Sensoren eingestellt. Konkret führt die Anweisung&lt;br /&gt;
&lt;br /&gt;
    set_poti(ch, value)&lt;br /&gt;
&lt;br /&gt;
zur Verstellung des Widerstandswertes im MCP4151. Darin ist ch die Kanalnummer (0 bis 7) und value der Digitalwet ( 0 bis 255).&lt;br /&gt;
&lt;br /&gt;
Für die Kanäle 0 bis 3 wird über den Widerstandswert jeweils ein NTC simuliert. Die Abhängigkeit ist jedoch nicht linear.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Wertetabelle für den simulierten NTC-Widerstand&lt;br /&gt;
|-&lt;br /&gt;
!Digitalwert!!Widerstand in Ohm&lt;br /&gt;
|-&lt;br /&gt;
|0||96&lt;br /&gt;
|-&lt;br /&gt;
|50||1550&lt;br /&gt;
|-&lt;br /&gt;
|100||3740&lt;br /&gt;
|-&lt;br /&gt;
|150||5490&lt;br /&gt;
|-&lt;br /&gt;
|200||7240&lt;br /&gt;
|-&lt;br /&gt;
|255||9180&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Der Zusammenhang zwischen Digitalwert und simulierte Temperatur muss noch ermittelt werden.&lt;br /&gt;
&lt;br /&gt;
Für die Kanäle 4 bis 7 wird der MCP4151 als Spannungsteiler mit einer Speisespannung von 5 V eingesetzt. Dies simuliert einen analogen Sensorwert in einem Spannungsbereich von 0 bis 5 V. Allerdings darf der Spannungsendwert 5 V nicht angesteuert werden, dies würde u. U. zu einem Kurzschluss führen. Der Nutzbare digitale Wertebereich liegt hier zwischen 50 und 250. Damit bleibt auf jeder Seite des Spannungsteilers immer ein Restwiderstand, welcher den Stromfluss hinreichend begrenzt.&amp;lt;br&amp;gt;&lt;br /&gt;
Aufgrund des nichtlinearen Widerstandsverlaufs ergibt sich ein ebenso nichtlinearer Spannungsverlauf.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Wertetabelle für den simulierten Sensorwert (Spannung)&lt;br /&gt;
|-&lt;br /&gt;
!Digitalwert!!Spannung in mV&lt;br /&gt;
|-&lt;br /&gt;
|50||4060&lt;br /&gt;
|-&lt;br /&gt;
|100||3740&lt;br /&gt;
|-&lt;br /&gt;
|150||2102&lt;br /&gt;
|-&lt;br /&gt;
|200||1122&lt;br /&gt;
|-&lt;br /&gt;
|255||144&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Der Zusammenhang zwischen Digitalwert und dem zu simulierenden Sensorwert muss noch ermittelt werden.&lt;br /&gt;
&lt;br /&gt;
=Armin Rohnen, 29.10.2025 - Schaltungsaufbau=&lt;br /&gt;
Der Schaltplan für den Maschinensimulator ist soweit erstellt. Inhaltlich fehlt die Transistorfolgeschaltung für die Simulation des Flowmetersignals.&amp;lt;br&amp;gt;&lt;br /&gt;
Aktuell wird die Funktionalität des MCP4151-103E/P getestet. Dabei stellt sich heraus, dass sich der Widerstandswert nicht linear zum Einstellwert verhällt. Im Weiteren wurde festgestellt, dass auf dem Breadboard das erforderliche Durchschleifen der SPI-Schnittstelle nicht funktioniert. Damit ist bereits für die schnelle Übergangslösung eine gelötete Platine erforderlich.&lt;br /&gt;
&lt;br /&gt;
=Armin Rohnen, 19.10.2025 - Konzept des Maschinensimulators=&lt;br /&gt;
Für die Steuerungselektronik besteht die Siebträger Espressomaschine aus Messwerten. Dies sind in der aktuellen Form&lt;br /&gt;
*4 NTC Temperatursensoren mit 10 kOhm&lt;br /&gt;
*2 Druckmesswerte im Spannungsbereich 0,5 bis 4,5 V&lt;br /&gt;
*Leitwert und Temperatur des zufließenden Wassers im Spannungsbereich 0 bis 5 V&lt;br /&gt;
*Flowmeter mit 39,9 Impulsen je ccm&lt;br /&gt;
*4 Füllstandssensoren über Kurzschlussdetektion&lt;br /&gt;
&lt;br /&gt;
Angedacht ist eine Hardware herzustellen, welche diese Messwerte simuliert.&lt;br /&gt;
&lt;br /&gt;
Bei dem Bauelement MCP4151-103E/P handelt es sich um ein digitales 10 kOhm Potentiometer welches als Spannungsteiler eingesetzt werden kann und über SPI programmiert wird. Dieses Bauelement soll dazu dienen den Wiederstandswert der NTCs zu simmulieren und als Spannungsteiler die Druckmesswerte, Leitwert und Wassereingangstemperatur zu generieren.&lt;br /&gt;
&lt;br /&gt;
Der Kurzschluss für die Füllstandssensoren soll über das Bauelement DG 411 DJZ und das Flowmeter über eine Transistorschaltung erzeugt werden.&lt;br /&gt;
&lt;br /&gt;
Als Steuerung ist eine Raspberry Pi Pico MCU vorgesenen die u.U. mit einer übergeordneten MATLAB-GUI bedient werden kann. Für die Widerstandsabhängigen Sensorsimulationen wird eine SPI-Schnittstelle und insgesamt 8 PINs für CS benötigt. Die Kurzschlusserzeugung der Füllstandssensoren erfordert 4 PINs digital I/O und das Flowmetersignal einen PIN mit PWM-Signal.&lt;br /&gt;
&lt;br /&gt;
Es ist zu überlegen, ob der Simulator mit in den Kommunikations-Ring des Systems eingebunden wird.&lt;br /&gt;
&lt;br /&gt;
Der Maschinensimulator wird zunächst auf einem Breadboard realisiert um nach erfolgreichem Test die Schaltung in ein Platinenlayout zu überführen.&lt;/div&gt;</summary>
		<author><name>Philipp Schiebel</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Projektr%C3%BCcksprache_15.01.2026&amp;diff=4815</id>
		<title>Projektrücksprache 15.01.2026</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Projektr%C3%BCcksprache_15.01.2026&amp;diff=4815"/>
		<updated>2026-02-01T18:08:24Z</updated>

		<summary type="html">&lt;p&gt;Philipp Schiebel: Die Seite wurde neu angelegt: „=Besprechungsprotokoll – Projektrücksprache 15.01.2026= Ort: Online via ZOOM  Datum: 15.01.2026   Teilnehmer: Philipp Schiebel, Peter Vogginger, LfbA Armin Rohnen   Moderator: Peter Vogginger  Protokoll: Philipp Schiebel  ==Top 1) Protokollannahme==  Das Protokoll der vergangenen Sitzung wurde von allen Teilnehmenden angenommen.  ==Top 2) Status UART Kommunikation zwischen den einzelnen MCUs ==  Herr Vogginger stellte den aktuellen Status zur Initialis…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Besprechungsprotokoll – Projektrücksprache 15.01.2026=&lt;br /&gt;
Ort: Online via ZOOM&lt;br /&gt;
&lt;br /&gt;
Datum: 15.01.2026 &lt;br /&gt;
&lt;br /&gt;
Teilnehmer: Philipp Schiebel, Peter Vogginger, LfbA Armin Rohnen &lt;br /&gt;
&lt;br /&gt;
Moderator: Peter Vogginger&lt;br /&gt;
&lt;br /&gt;
Protokoll: Philipp Schiebel&lt;br /&gt;
&lt;br /&gt;
==Top 1) Protokollannahme== &lt;br /&gt;
Das Protokoll der vergangenen Sitzung wurde von allen Teilnehmenden angenommen.&lt;br /&gt;
&lt;br /&gt;
==Top 2) Status UART Kommunikation zwischen den einzelnen MCUs == &lt;br /&gt;
Herr Vogginger stellte den aktuellen Status zur Initialisierung der Basisplatine vor. Es ist eine weitere Rücksprache mit Herrn Rohnen zu planen, in der die Inhalte der Initialisierung der Basisplatine festgelegt werden sollen. Zusätzlich soll eine Bit-Vergleichsfunktion für den Vergleich der Füllstandsbits in die Setter- und Getter-Funktionen hinzugefügt werden. Die Bit-Positionen der Füllstände sollen auf der Basisplatine einfach vergeben und entsprechend in der Dokumentation festgehalten werden.&lt;br /&gt;
&lt;br /&gt;
==Top 3) Status Mehrkernnutzung und/oder Multitasking== &lt;br /&gt;
Herr Vogginger erläuterte, dass in der Dokumentation Links im Text eingebaut wurden, um einen schnellen Wechsel zu anderen Themen zu ermöglichen, was als sinnvoll erachtet wurde. Die Positionierung des Schrittmotors muss noch getestet werden, wobei geprüft werden muss, ob die Initialisierung der SSR-Platine zeitlich überhaupt noch abgeschlossen werden kann. Zunächst hat die Initialisierung der Basisplatine Vorrang und ist abzuschließen.&lt;br /&gt;
&lt;br /&gt;
==Top 4) Status Startprozedur==&lt;br /&gt;
Herr Schiebel präsentierte ein überarbeitetes Schaubild zur Startprozedur. Herr Rohnen merkte an, dass eine erneute Überarbeitung notwendig ist, da der aktuelle Stand der Initialisierung der Platinen sowie der aktuelle Programmierstand von Herrn Vogginger darin nicht berücksichtigt wurden. Bis zum 22.01.2026 soll eine Abstimmung mit Herrn&lt;br /&gt;
Vogginger erfolgen, da er schon einige Inhalte der Startprozedur, den&lt;br /&gt;
Kommunikationsaufbau und Teile der Platineninitialisierungen umgesetzt hat. Herr Rohnen stellt klar, dass eine Absprache zwischen Herrn Schiebel und Herrn Rohnen ist bei diesem Thema überfällig sei. Falls der Abschluss dieses Arbeitspakets nicht sichergestellt werden kann, soll es für die nachfolgende Gruppe offen gelassen werden.&lt;br /&gt;
&lt;br /&gt;
==Top 5) Status Verlagerung des Füllstandreglers auf das Basisboard == &lt;br /&gt;
Herr Schiebel stellte den alten Status erneut vor, wobei die Überarbeitung auf die gewünschte Struktur inklusive der Dokumentation noch aussteht. Bis zum 21.01.2026 soll eine Rückmeldung erfolgen, ob die Umsetzung und der Abschluss des Pakets möglich sind.&lt;br /&gt;
&lt;br /&gt;
==Top 6) Status Verlagerung der Boilerdruckregelung auf die Messplatine  == &lt;br /&gt;
Herr Schiebel zeigte ein Schaubild zum Boilerdruckregler. Herr Rohnen merkte an, dass der Ablauf zusätzlich textlich beschrieben und überarbeitet werden muss, um anschließend per E-Mail Feedback einzuholen. Das Aufheizen des Boilers wurde im Ablauf bisher nicht berücksichtigt. Hierbei wurde darauf hingewiesen, dass Zweikreis-Maschinen beim Aufheizen Eigenheiten aufweisen und eine Entschichtung notwendig ist. Es ist zu überlegen, ob der Abschluss bis zum 21.01.2026 noch umsetzbar ist. Der geplante Abschluss ist für den 09.02.2026 vorgesehen.&lt;br /&gt;
&lt;br /&gt;
==Top 7) Status Verlagerung des Mischtemperaturreglers auf das Basisboard == &lt;br /&gt;
Herr Schiebel teilte mit, dass dieses Arbeitspaket aufgrund von zeitlichen Engpässen nicht mehr umsetzbar ist.&lt;br /&gt;
&lt;br /&gt;
==Top 8) Status Verlagerung des Durchflussreglers auf das Basisboard&lt;br /&gt;
== &lt;br /&gt;
Herr Schiebel teilte mit, dass dieses Arbeitspaket aufgrund von zeitlichen Engpässen nicht mehr umsetzbar ist.&lt;br /&gt;
&lt;br /&gt;
==Top 9) Status Maschinensimulator == &lt;br /&gt;
Die Sensorarten wurden in die Messwertsimulation integriert. Die Dokumentation hierzu steht noch aus und soll bis zum 20.01.2026 erfolgen. Herr Rohnen merkte an, dass der Test, ob der Widerstand zum Schalten der Füllstände ausreicht, noch fehlt. Ebenso fehlen noch die Tests zur Simulation von Druck und Temperatur. Der Abschluss dieses&lt;br /&gt;
Arbeitspakets ist bis zum 26.01.2026 geplant.&lt;br /&gt;
&lt;br /&gt;
==Top 10) GANTT-Plan ==&lt;br /&gt;
Die Gantt-Planung entfällt aufgrund von Umstrukturierungen auf Seiten von Herrn Schiebel.&lt;br /&gt;
Die Besprechung in der kommenden Woche entfällt aufgrund von Prüfungen. Der nächste Termin für eine Rücksprache ist unter Vorbehalt für den 29.01.2026 angesetzt.&lt;/div&gt;</summary>
		<author><name>Philipp Schiebel</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=4814</id>
		<title>Systemsoftware</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=4814"/>
		<updated>2026-01-27T15:05:59Z</updated>

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

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

		<summary type="html">&lt;p&gt;Philipp Schiebel: Die Seite wurde neu angelegt: „=Besprechungsprotokoll – Projektrücksprache 11.12.2025= Ort: online via ZOOM   Datum: 11.12.2025   Teilnehmer: Philipp Schiebel, Peter Vogginger, LfbA Armin Rohnen   Moderator: Peter Vogginger   Protokollant: Philipp Schiebel    == Top 1) Protokollannahme == Das Protokoll der vergangenen Sitzung wurde von allen Teilnehmenden angenommen.   == Top 2) Status UART Kommunikation zwischen den einzelnen MCUs == Herr Vogginger stellte den aktuellen Status vor…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Besprechungsprotokoll – Projektrücksprache 11.12.2025=&lt;br /&gt;
Ort: online via ZOOM &lt;br /&gt;
&lt;br /&gt;
Datum: 11.12.2025 &lt;br /&gt;
&lt;br /&gt;
Teilnehmer: Philipp Schiebel, Peter Vogginger, LfbA Armin Rohnen &lt;br /&gt;
&lt;br /&gt;
Moderator: Peter Vogginger &lt;br /&gt;
&lt;br /&gt;
Protokollant: Philipp Schiebel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Top 1) Protokollannahme ==&lt;br /&gt;
Das Protokoll der vergangenen Sitzung wurde von allen Teilnehmenden angenommen. &lt;br /&gt;
&lt;br /&gt;
== Top 2) Status UART Kommunikation zwischen den einzelnen MCUs ==&lt;br /&gt;
Herr Vogginger stellte den aktuellen Status vor und berichtete, dass die chann_list auf der Messwertplatine implementiert und getestet wurde. Die Ausgabe der Daten erfolgt dabei im Takt des ADC. Herr Rohnen wies in diesem Zusammenhang auf folgendes hin.&lt;br /&gt;
Die Entwicklung fokussiert sich ab sofort strikt auf die Kernprobleme, um den Zeitplan einzuhalten.&lt;br /&gt;
&lt;br /&gt;
== Top 3) Dokumentation UART Kommunikation zwischen den einzelnen MCUs ==&lt;br /&gt;
Die Dokumentation und der Code wurden inklusive der entsprechenden Kommentierung vorgestellt. Zudem wurde auch der Stand der Setter- und Getter- Funktionen inklusive deren Dokumentation und Code gezeigt. Die formale Freigabe sowie die Übertragung ins Wiki stehen derzeit noch aus. &lt;br /&gt;
&lt;br /&gt;
== Top 4) Status Verlagerung des Füllstandreglers auf das Basisboard ==&lt;br /&gt;
Herr Schiebel stellte den Status vor. Herr Rohnen forderte, dass der Fokus jeweils auf einem Thema liegen soll, welches abgearbeitet und anschließend direkt mit der Dokumentation abgeschlossen wird. Des Weiteren wurde festgestellt, dass die Basisplatine aktuell noch leer ist und noch nicht initialisiert wurde, weshalb derzeit keine Prüfung des Füllstandsreglers möglich ist. Zusätzlich ist die Dokumentation hierzu&lt;br /&gt;
noch ausstehend und muss nachgeholt werden. &lt;br /&gt;
&lt;br /&gt;
== Top 5) Dokumentation Verlagerung des Füllstandreglers auf das Basisboard ==&lt;br /&gt;
Wurde in Top 4) bereits behandelt.&lt;br /&gt;
&lt;br /&gt;
== Top 6) Status Maschinensimulator ==&lt;br /&gt;
Herr Rohnen merkte an, dass der Maschinensimulator bis zum kommenden&lt;br /&gt;
Donnerstag, den 18.12.2025 fertigzustellen ist. Hierbei ist besonders auf die Nicht-Linearität bei den NTCs zu achten. Zusätzlich wird von Herrn Schiebel bis Dienstag, den 16.12.2025 eine gesamte Projektplanung bis zum Projektabschluss erwartet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Top 7) Dokumentation Maschinensimulator ==&lt;br /&gt;
Wurde in Top 6) bereits behandelt.&lt;br /&gt;
&lt;br /&gt;
== Top 8) GANTT-Plan ==&lt;br /&gt;
Herr Rohnen forderte eine Neuauflage des Plans bis kommenden Dienstag, den 16.12.2025, wobei der Fokus auf der Funktionalität liegen soll. Im Zuge dessen wurde erörtert, dass die Abarbeitung der Startprozedur früher erfolgen muss, da der Füllstandsregler erst abschließbar ist, wenn die Initialisierung der Basisplatine läuft. Der Simulator hat eine hohe Priorität, da nur damit die Regler testbar sind. Herr Vogginger gab an, dass er sich die Initialisierung der Basisplatine anschauen kann. Die Pumpe wird dabei mit dem Befehl dac_write angesteuert. Die main.py für die Basisplatine muss für die Initialisierung geschrieben werden.&lt;/div&gt;</summary>
		<author><name>Philipp Schiebel</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=4800</id>
		<title>Systemsoftware</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=4800"/>
		<updated>2025-12-15T23:01:47Z</updated>

		<summary type="html">&lt;p&gt;Philipp Schiebel: /* ToDo-Liste: MCUs - Verlagerung der Regelkreise aus der MATLAB®-GUI auf die Mikrocontroller der Steuerungselektronik */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;htmltag tagname=&amp;quot;img&amp;quot; src=&amp;quot;http://vg04.met.vgwort.de/na/4531f1734b324b72b2d7e566cdf639f0&amp;quot;  width=&amp;quot;1&amp;quot; height=&amp;quot;1&amp;quot; alt=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
[[Datei:Breites Logoband.png|mini|zentriert|hochkant=2.5]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die Systemsoftware lässt sich nicht ohne die Beachtung der Systemelektronik erstellen.&lt;br /&gt;
&lt;br /&gt;
Für die Systemsoftware wurde ein mehrstufiger Entwicklungsprozess definiert:&lt;br /&gt;
# Nutzung einer MCU auf der MicroPython verwendet werden kann. Dies ist durch das STM32F411 nucleo Board der Basiselektronik bzw. durch den Raspberry Pi Pico der Multi-MCU-Elektronik gegeben.&lt;br /&gt;
# Auf der MCU werden lediglich die elementaren Grundfunktionen (GPIO schalten und erfassen, Messwert erfassen, PWM Ausgeben, Sollwert ausgeben, etc.) realisiert und über eine MicroPython zu MATLAB® Schnittstelle [41] wird die Funktionalität in einer MATLAB® GUI hergestellt.&lt;br /&gt;
# Die Softwareentwicklung startet mit der labortechnischen Espressomaschine und wird auf die weiteren Projekte schrittweise transportiert. Dazu ist die Maschinenelektronik gleich zu halten und es sind die gleichen Anschluss-Pins zu verwenden.&lt;br /&gt;
# Nach Abschluss der Testphase der MATLAB® Bedienung wird schrittweise die Betriebssoftware in MicroPython auf der MCU implementiert, so dass am Ende dieses Prozessschrittes die MATLAB®-Verbindung lediglich für weiterführende Datenerfassung und grafische Darstellungen verwendet wird, welche nicht mit dem Display der Maschine möglich ist oder dort nicht dargestellt werden soll.&lt;br /&gt;
# Ob eine Portierung des MicroPython-Codes nach Microcontroller C durchgeführt wird, ist derzeit nicht entschieden.&lt;br /&gt;
&lt;br /&gt;
Es wurden mehrere, die Softwareentwicklung vorbereitende FMEAs durchgeführt.  Die hierdurch entstandenen Dokumentation befinden sich in der Dokumentationsauflistung. Im weiteren wurde eine Projektarbeit zur Konzeptfindung für die Badienung durchgeführt. Auch die hierdurch entstandenen, teilweise auf die FMEA aufbauenden Dokumente befinden sich in der Dokumentationsliste.&lt;br /&gt;
&lt;br /&gt;
= Projektdokumentationen und Beschreibungen =&lt;br /&gt;
* [[:Datei:20210228 Konzept Systemelektronik.pdf|Konzeptbeschreibung Systemelektronik]]&lt;br /&gt;
* [[:Datei:20210605 Workflow Embedded Systems.pdf|Workflow Embedded Systems]]&lt;br /&gt;
* [[:Datei:20200521 Bericht1 NerminArbi.pdf|Funktionsanalyse Boilerbefüllung, Tassenwärmung, Milchschäumen]]&lt;br /&gt;
* [[:Datei:20200518 Bericht halbauto Entkalkung Egger Alexander.pdf|Funktionsanalyse zur halbautomatischen Entkalkung]]&lt;br /&gt;
* [[:Datei:20200518 V0 4 Bericht Funktionsanalyse Rückspulung-Spulung Sladoje.pdf|Funktionsanalyse Rückspülung und Spülung]]&lt;br /&gt;
* [[:Datei:20200521 Bericht Espresso-Teewasserbezug Urbin.pdf|Funktionsanalyse Espresso und Teewasserbezug]]&lt;br /&gt;
* [[:Datei:20200522 Bericht Funktionsanalyse Energieeffizienz Egger Alexander.pdf|Funktionsanalyse Energieeffizienz]]&lt;br /&gt;
* [[:Datei:20200521 V2 Bericht Funktionsanalyse Bedienung Sladoje.pdf|Funktionsanalyse Bedienung]]&lt;br /&gt;
* [[:Datei:20200525 Bericht Abbildung aller Maschinen Urbin V2.pdf|Funktionsanalyse Abbildung aller Maschinen]]&lt;br /&gt;
* [[:Datei:20200609 Bericht Fehleranalyse Entschichtung.pdf|Fehleranalyse Entschichtung]]&lt;br /&gt;
* [[:Datei:20200610 Fehleranalyse Dampf Brühgruppe Sladoje.pdf|Fehleranalyse Brühgruppe und Dampfbezug]]&lt;br /&gt;
* [[:Datei:20200613 Bericht Fehleranalyse Mischer;Magnetventile V2.pdf|Fehleranalyse Mischer und Magnetventile]]&lt;br /&gt;
* [[:Datei:20200611 Bericht3 NerminArbi.pdf|Fehleranalyse Boiler]]&lt;br /&gt;
* [[:Datei:20200705 Dichtheitsprüfung.pdf|Dichtheitsprüfung]]&lt;br /&gt;
* [[:Datei:20200704 Massnahmen Urbin.pdf|Prüfkonzepte Magnetventile und Mischer]]&lt;br /&gt;
* [[:Datei:20200701 Maßnahmenanalyse NerminArbi.pdf|Maßnahmen Boiler]]&lt;br /&gt;
* [[:Datei:20200628 Maßnahmen Entschichtung zweiter Stand.pdf|Maßnahmen Entschichtung]]&lt;br /&gt;
* [[:Datei:20200627 Maßnahmenkonzept Brühguppe Dampf Sladoje.pdf|Maßnahmen Brühgruppe und Dampf]]&lt;br /&gt;
* [[:Datei:20200707_FMEA.xlsx|FMEA Tabelle]]&lt;br /&gt;
* [[:Datei:20201207_Bedienkonzept.pptx|PPT Simulation des Bedienkonzeptes]]&lt;br /&gt;
* [[:Datei:20210207_Bedienkonzept_Funktionsliste.xlsx|Bedienkonzept Funktionsliste]]&lt;br /&gt;
* [[:Datei:20210219_Bedienkonzept_Projektdokumentation.pdf|Bedienkonzept Projektdokumentation]]&lt;br /&gt;
* [[:Datei:HMProjektBedienoberflaecheEspresso.zip|MATLAB® GUI]]&lt;br /&gt;
* [[Entwicklung Systemsoftware SoSe2022]]&lt;br /&gt;
* [[Entwicklung Systemsoftware SoSe2023]]&lt;br /&gt;
* [[Mikrocontroller Programmierung in MicroPython WiSe 2025/26]]&lt;br /&gt;
&lt;br /&gt;
= [http://www.institut-fuer-kaffeetechnologie.de/Intern/index.php?title=Programmcode Programmcode] =&lt;br /&gt;
Aktueller Programmcode und Änderungsdokumentation ab Jan 2023&lt;br /&gt;
&lt;br /&gt;
= [http://www.institut-fuer-kaffeetechnologie.de/Intern/index.php?title=Software-Bugs Software-Bugs] =&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste(n) Systemsoftware =&lt;br /&gt;
&lt;br /&gt;
== Prioritätsangabe ==&lt;br /&gt;
Prio 1 - Abarbeitung zeitnah erforderlich&amp;lt;br&amp;gt;&lt;br /&gt;
Prio 2 - Abarbeitung erforderlich&amp;lt;br&amp;gt;&lt;br /&gt;
Prio 3 - Abarbeitung kann warten&amp;lt;br&amp;gt;&lt;br /&gt;
Prio 99 - Abarbeitung erfordert Vorarbeiten&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
10 - Erfasst&amp;lt;br&amp;gt;&lt;br /&gt;
30 - in Bearbeitung&amp;lt;br&amp;gt;&lt;br /&gt;
50 - Lösung definiert&amp;lt;br&amp;gt;&lt;br /&gt;
70 - in Umsetzung&amp;lt;br&amp;gt;&lt;br /&gt;
90 - Umsetzung abgeschlossen&amp;lt;br&amp;gt;&lt;br /&gt;
99 - Abbruch per Beschluss (Dokumentation dazu erforderlich)&amp;lt;br&amp;gt;&lt;br /&gt;
100 - Maßnahme bestätigt&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: Mechatronische Inbetriebnahme Glasboilermaschine =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Fehlerbehebungen]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Startprozedure]] || ||  1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Tankfüllstandsregelung]] || || 1 || 10 ||&lt;br /&gt;
|- &lt;br /&gt;
| [[Boilerfüllstandsregelung]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Boilerdruckregelung]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Mischwassertemperaturregelung]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Durchflussregelung]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Kaffeebezug]] || || 2 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Teebezug]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Temperatureinstellung über Vertikalhebel]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Simulation Handhebelmaschine]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Flush/Rückspülreinigung]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: MCUs - Verlagerung der Regelkreise aus der MATLAB®-GUI auf die Mikrocontroller der Steuerungselektronik =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Kommunikation per UART|UART Kommunikation zwischen den einzelnen MCUs]] || Peter Vogginger|| 1 || 30 || 18.12.2025&lt;br /&gt;
|-&lt;br /&gt;
| [[Mehrkernnutzung und/oder Multitasking]] || Peter Vogginger||  1 || 30 ||08.01.2025&lt;br /&gt;
|-&lt;br /&gt;
| [[Startprozedur]]&lt;br /&gt;
|Philipp Schiebel&lt;br /&gt;
|1&lt;br /&gt;
|30&lt;br /&gt;
|18.12.2025&lt;br /&gt;
|-&lt;br /&gt;
| [[Verlagerung des Füllstandsreglers auf das Basisboard]] || Philipp Schiebel|| 1 || 30 || (27.12.2025)&lt;br /&gt;
|- &lt;br /&gt;
| [[Verlagerung der Boilerdruckregelung auf die Messplatine]] || Philipp Schiebel|| 1 || 30 ||  	 (02.01.2026)&lt;br /&gt;
|-&lt;br /&gt;
| [[Verlagerung des Mischtemperaturreglers auf das Basisboard]] || Philipp Schiebel|| 1 || 10 || 15.01.2025&lt;br /&gt;
|-&lt;br /&gt;
| [[Verlagerung des Durchflussreglers auf das Basisboard]] || Philipp Schiebel|| 1 || 10 ||  	 29.01.2025&lt;br /&gt;
|-&lt;br /&gt;
| [[Erstellung der Funktionssteuerung - Preinfusion auf dem Basisboard]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Erstellung der Funktionssteuerung - Kaffeebezug auf dem Basisboard]] || || 1 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Erstellung der Funktionssteuerung - Wasserbezug auf dem Basisboard]] || || 1 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Erstellung der Funktionssteuerung - Dampfbezug auf dem Basisboard]] || || 1 || 10 || 	 &lt;br /&gt;
|-&lt;br /&gt;
| [[Erstellung der Funktionssteuerung - Spülen auf dem Basisboard]] || || 1 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Erstellung der Funktionssteuerung - Grundreinigung auf dem Basisboard]] || || 1 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Integration eines Displays mit Touchfunktion]] || || 1 || 30 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Integration eines Vertikalhebels]] || || 1 || 30 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Visualisierung und Interaktion über die MATLAB®-GUI]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Visualisierung und Interaktion über eine WEB-Anwendung]] || || 1 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Maschinensimulator]] || alle|| 1 || 30 ||18.12.2025&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: Allgemeines =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Sicherheitsfunktionen]] || || 99 || 50 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[ Übersicht über verbaute Aktorik und Sensorik in Tabellenform]] || || 2 || 90 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Stromsparmodus]] || || 99 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: MCUs - Hardwarenahe Software =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Grundfunktionen der MCU und mehrere MCUs]] || || || 100 ||&lt;br /&gt;
|-	&lt;br /&gt;
| Basisboard: [[Schalten Magnetventile (Labor) STM32-Basisboard]] MATLAB®GUI || || || 100&lt;br /&gt;
|-&lt;br /&gt;
| Basisboard: [[Pumpenansteuerung Basisboard Multi-MCU]] || || || 100 ||&lt;br /&gt;
|- 	 &lt;br /&gt;
| Basisboard: [[Schrittmotorsteuerungen Basisboard Multi-MCU]] || || || 100 ||&lt;br /&gt;
|-&lt;br /&gt;
| Basisboard: [[Tastenerkennung Basisboard Multi-MCU]] || || 1 || 10 || &lt;br /&gt;
|- 	 &lt;br /&gt;
| Basisboard: [[Füllstandserkennung Basisboard Multi-MCU]] || || || 100 ||&lt;br /&gt;
|- 	 &lt;br /&gt;
| Basisboard: [[Durchflussmessung Basisnoard Multi-MCU]] || || || 100 ||&lt;br /&gt;
|- 	  	 	  	 &lt;br /&gt;
| SSR-Platine: [[Schalten Magnetventile SSR-Platine Multi-MCU]] || || || 100 ||&lt;br /&gt;
|- 	 &lt;br /&gt;
| SSR-Platine: [[Schrittmotorsteuerungen SSR-Platine Multi-MCU]] || || || 100 ||&lt;br /&gt;
|-&lt;br /&gt;
| Messplatine: [[Messdatenerfassung Multi-MCU]] || || || 100 ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste der Grundlagenprogrammierung - MATLAB®-Funktionen und GUI =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[MATLAB®-GUI Start der App]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[MATLAB®-GUI Initialisierung Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[MATLAB®-GUI Schalten Magnetventile]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[MATLAB®-GUI Datensicherung]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Messwerte erfassen Multi-MCU]] || || || ||&lt;br /&gt;
|- &lt;br /&gt;
| [[Pumpenansteuerung Multi-MCU]] || || || ||&lt;br /&gt;
|- &lt;br /&gt;
| [[Füllstandsregler Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Regler Boilerdruck Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Mischregler Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Durchflussregler Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Misch-Durchfluss Kaskadenregelung Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Preinfusion Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[einfacher Kaffeebezug Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Kaffeebezug Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Wasserbezug Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Dampfbezug Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Spülvorgänge Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Grundreinigung Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Tastenbedienung Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Display Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Glasboiler Abtropfwanne]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Schrittmotorensteuerung Bypass]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Schrittmotorensteuerung Mischer]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Schrittmotorensteuerung Brühgruppendrossel]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Adaption an Multi-MCU - Neuprogrammierung MATLAB® GUI]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| Dokumentation der Software mit STM32-Elektronik. &amp;lt;br&amp;gt;Ein Betrieb dieser wird nicht mehr weiter verfolgt. || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Messwerte erfassen (Labor)]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Pumpenansteuerung (Labor)]] || ||  || || &lt;br /&gt;
|-&lt;br /&gt;
| [[Füllstandsregler (Labor)]] || ||  || || &lt;br /&gt;
|-&lt;br /&gt;
| [[Regler Boilerdruck (Labor)]] || ||  || ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Mischregler (Labor)]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Durchflussregler (Labor)]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[einfacher Kaffeebezug (Labor)]] || ||  || ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Kaffeebezug (Labor)]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Wasserbezug (Labor)]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Dampfbezug]] || ||  || ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Spülvorgänge (Labor)]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Tastenbedienung (Labor)]] || || || ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Anpassungen für Schrittmotorensteuerung]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: APP =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[APP - Konzept]] || || 2 || 10 || &lt;br /&gt;
|- 	 &lt;br /&gt;
| [[Messwerte erfassen APP]] || || 99 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Preset / Profilverwaltung]] || || 99 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Philipp Schiebel</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Projektr%C3%BCcksprache_27.11.2025&amp;diff=4786</id>
		<title>Projektrücksprache 27.11.2025</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Projektr%C3%BCcksprache_27.11.2025&amp;diff=4786"/>
		<updated>2025-12-02T18:07:39Z</updated>

		<summary type="html">&lt;p&gt;Philipp Schiebel: Die Seite wurde neu angelegt: „=Besprechungsprotokoll – Projektrücksprache 27.11.2025= Ort: online via ZOOM   Datum: 27.11.2025   Teilnehmer: Philipp Schiebel, Peter Vogginger, LfbA Armin Rohnen   Moderator: Peter Vogginger   Protokollant: Philipp Schiebel    == Top 1) Protokollannahme == Das Protokoll der vergangenen Sitzung wurde von allen Teilnehmenden angenommen.   == Top 2) Status UART Kommunikation zwischen den einzelnen MCUs == Herr Vogginger berichtete über die bisherige Vo…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Besprechungsprotokoll – Projektrücksprache 27.11.2025=&lt;br /&gt;
Ort: online via ZOOM &lt;br /&gt;
&lt;br /&gt;
Datum: 27.11.2025 &lt;br /&gt;
&lt;br /&gt;
Teilnehmer: Philipp Schiebel, Peter Vogginger, LfbA Armin Rohnen &lt;br /&gt;
&lt;br /&gt;
Moderator: Peter Vogginger &lt;br /&gt;
&lt;br /&gt;
Protokollant: Philipp Schiebel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Top 1) Protokollannahme ==&lt;br /&gt;
Das Protokoll der vergangenen Sitzung wurde von allen Teilnehmenden angenommen. &lt;br /&gt;
&lt;br /&gt;
== Top 2) Status UART Kommunikation zwischen den einzelnen MCUs ==&lt;br /&gt;
Herr Vogginger berichtete über die bisherige Vorgehensweise, das ADS durch Ziehen des Steckers zu stoppen. Herr Rohnen regte an, hierfür eine Stop-Funktion in die Library einzufügen oder eine andere Möglichkeit zu finden, den Interrupt zu löschen. Zum Testen des Tokens schlug Herr Rohnen vor, diesen anzunehmen und weiterzuschicken. Alternativ kann der Test über einen zweiten PC mit Print-Ausgabe oder über eine Anzeige mittels LED erfolgen. Es wurde festgelegt, dass die Kommunikation erst dann auf den zweiten Kern verlegt werden darf, wenn sie stabil steht. Bezüglich der Datenübertragung ist der Token einmalig aufzubauen, im Anschluss sollen nur noch die Änderungen im (empfangenen) Tokens eingetragen werden. &lt;br /&gt;
&lt;br /&gt;
== Top 3) Status Verlagerung des Füllstandreglers auf das Basisboard ==&lt;br /&gt;
Herr Schiebel hat die Logik zur Öffnung des Dampfventils Y113 implementiert. Diese sieht vor, dass das Ventil Y113 geöffnet wird, sobald der Boilerdruckwert unter 300 mbar fällt. Die Füllstandsregelung erfolgt über einen Zustandsautomaten mit den Zuständen IDLE, FÜLLEN und NACHLAUF. Die Dauer der Überfüllung wird mittels eines Zeitstempels erfasst. Herr Rohnen bestätigte in diesem Zusammenhang, dass die Time-Funktion als Zeitstempel fungiert und „unendlich“ hochzählt. Als nächste Schritte stehen die Dokumentation sowie das Testen mit der Platine an. &lt;br /&gt;
&lt;br /&gt;
== Top 4) Status Maschinensimulator ==&lt;br /&gt;
Herr Schiebel trug vor, dass die Programmierung des Maschinensimulators ab der kommenden Woche ansteht. Daraufhin soll zunächst ein Funktionstest des Simulators erfolgen, bevor anschließend die Regler getestet werden. &lt;br /&gt;
&lt;br /&gt;
== Top 5) GANTT-Plan ==&lt;br /&gt;
Peter und Philipp bestätigten die Aktualität der vorliegenden Projektplanung.&lt;/div&gt;</summary>
		<author><name>Philipp Schiebel</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=4785</id>
		<title>Systemsoftware</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=4785"/>
		<updated>2025-12-01T17:38:14Z</updated>

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

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

		<summary type="html">&lt;p&gt;Philipp Schiebel: Die Seite wurde neu angelegt: „=Besprechungsprotokoll – Projektrücksprache 13.11.2025= Ort: online via ZOOM   Datum: 13.11.2025   Teilnehmer: Philipp Schiebel, Peter Vogginger, LfbA Armin Rohnen   Moderator: Peter Vogginger   Protokollant: Philipp Schiebel   Zu Beginn der Besprechung wies Herr Rohnen darauf hin, dass Herr Schiebel sich einen Überblick verschaffen muss, welche Werte von der Displayplatine benötigt werden um eine Funktionsfähigkeit der Regler zu gewährleisten.  ==…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Besprechungsprotokoll – Projektrücksprache 13.11.2025=&lt;br /&gt;
Ort: online via ZOOM &lt;br /&gt;
&lt;br /&gt;
Datum: 13.11.2025 &lt;br /&gt;
&lt;br /&gt;
Teilnehmer: Philipp Schiebel, Peter Vogginger, LfbA Armin Rohnen &lt;br /&gt;
&lt;br /&gt;
Moderator: Peter Vogginger &lt;br /&gt;
&lt;br /&gt;
Protokollant: Philipp Schiebel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zu Beginn der Besprechung wies Herr Rohnen darauf hin, dass Herr Schiebel sich einen Überblick verschaffen muss, welche Werte von der Displayplatine benötigt werden um eine Funktionsfähigkeit der Regler zu gewährleisten.&lt;br /&gt;
&lt;br /&gt;
== Top 1) Protokollannahme ==&lt;br /&gt;
Die Protokolle der beiden vorherigen Sitzungen wurden von allen Teilnehmenden ohne Änderungen angenommen. &lt;br /&gt;
&lt;br /&gt;
== Top 2) Status UART Kommunikation zwischen den einzelnen MCUs ==&lt;br /&gt;
Herr Vogginger stellte Möglichkeiten zur Steigerung der Performance in der Kommunikation vor. Herr Rohnen merkte an, dass die Benutzung des Puffers (sofern möglich) schneller ist und daher bevorzugt zu verwenden ist. Es ist zusätzlich zu prüfen, wie Daten aus dem Puffer gesendet werden und das die vorgeschlagen Funktionen auch tatsächlich in Micropython vorhanden sind. &lt;br /&gt;
&lt;br /&gt;
== Top 3) Status Verlagerung des Füllstandsreglers auf das Basisboard ==&lt;br /&gt;
Herr Schiebel soll die von ihm erstellte Tokenliste mit der Liste im Wiki vergleichen und bei Bedarf das Team benachrichtigen. &lt;br /&gt;
&lt;br /&gt;
== Top 4) Status Integration eines Displays mit Touchfunktion ==&lt;br /&gt;
Top entfiel da das Arbeitspaket aufgrund Abbruchs gestrichen wird. &lt;br /&gt;
&lt;br /&gt;
== Top 5) Status Maschinensimulator ==&lt;br /&gt;
Herr Rohnen schätze eine Fertigstellung der Hardware in ca. 2 Wochen. Im Anschluss kümmert sich Herr Schiebel um die softwareseitige Programmierung. &lt;br /&gt;
&lt;br /&gt;
== Top 6) Abschluss Aufgabenanalyse ==&lt;br /&gt;
Die Aufgabenanalysen wurden angenommen. Ein Einfügen der jeweiligen Analysen sowie einer Kurzzusammenfassung im Wiki sei noch erforderlich. &lt;br /&gt;
&lt;br /&gt;
== Top 7) Verabschiedung Zielvereinbarung ==&lt;br /&gt;
Herr Rohnen merkt an, er aktualisiere die Zielvereinbarung unter Berücksichtigung des Ausscheidens von Herrn Högl. Zudem ist bis zur nächsten Rücksprache eine Projektplanung / GANTT zu erstellen.&lt;/div&gt;</summary>
		<author><name>Philipp Schiebel</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Mikrocontroller_Programmierung_in_MicroPython_WiSe_2025/26&amp;diff=4767</id>
		<title>Mikrocontroller Programmierung in MicroPython WiSe 2025/26</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Mikrocontroller_Programmierung_in_MicroPython_WiSe_2025/26&amp;diff=4767"/>
		<updated>2025-11-20T10:32:24Z</updated>

		<summary type="html">&lt;p&gt;Philipp Schiebel: /* Aufgabenanalyse */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;htmltag tagname=&amp;quot;img&amp;quot; src=&amp;quot;https://vg06.met.vgwort.de/na/c62555318b0346218dc23a5ada9f7726&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 Wintersemetser 2025/26 =&lt;br /&gt;
Für das Projekt der labortechnischen und Glasboiler Espressomaschine soll die vorhandene Master (MATLAB®-App) Client (RPi RP2040 MCUs in MicroPython) Steuerung auf eine autarke Multi-MCU-Steuerung mit mehreren RPi RP2040 und/oder RPi RP2350 mit einer MATLAB®-App als Service-Tool umgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Die Umstellung soll im ersten Schritt über Demonstratoren vorbereitet werden. Die erforderlichen Steuerungsplatinen sind in mehrfacher Ausfertigung vorhanden, so dass Teilaufgaben voneinander unabhängig abgearbeitet werden können.&lt;br /&gt;
&lt;br /&gt;
Die Programmcodes in MicroPython für die Realisierung der Grundfunktionen (Schalten, Messwerte erfassen, Display ansteuern, UART Kommunikation, MATLAB® Kommunikation) sind in MATLAB® meets MicroPython [40] vorhanden. Hierzu wird die zweite (noch nicht veröffentlichte) Ausgabe zur Verfügung gestellt.&lt;br /&gt;
&lt;br /&gt;
Diese Projektarbeit dient der Weiterentwicklung der modularisierten Systemsteuerung im Gesamtprojekt zur Entwicklung der Siebträger-Espressomaschinen.&lt;br /&gt;
&lt;br /&gt;
= Aufgabenanalyse =&lt;br /&gt;
== Startprozedur ==&lt;br /&gt;
Diese wird initialisiert durch die Aktivierung aller vier MCUs und dient der Gewährleistung einer korrekten Kommunikationsstruktur sowie dem sequenziellen Start von Füllstands- und Boilerdruckregelung. Die Betriebsbereitschaft wird signalisiert, sobald der Boilerdruck-Sollwert erreicht wird.&lt;br /&gt;
&lt;br /&gt;
== Füllstandsregelung ==&lt;br /&gt;
Ziel ist die vollständige Übertragung der bisher in der MATLAB®-GUI realisierten Boiler-Füllstandsregelung auf die Basisplatine, um eine PC-unabhängige Regelung zu ermöglichen. Die Regelung erkennt den Füllstand über eine Kurzschlussdetektion; liegt kein Kurzschluss vor, wird dies als unzureichender Füllstand interpretiert und der Boilerdruckregler zur Vermeidung von Trockenheizen gesperrt. Bei Erreichen des Sollfüllstands erfolgt eine gezielte Überfüllung bei reduzierter Pumpenspannung, um ein periodisches An- und Abschalten der Regelung vorzubeugen.&lt;br /&gt;
&lt;br /&gt;
== Boilerdruckregelung ==&lt;br /&gt;
Dieser PID-Regler wird auf die SSR-Platine übertragen und aktiviert sich aus Sicherheitsgründen erst dann, wenn ein korrekter Wasserstand im Boiler erkannt wurde. Parallel zur Druckhaltung steuert die Regelung die Entschichtungsfunktion, welche aktiv bleibt, bis die Boilertemperatur einen einstellbaren Grenzwert erreicht.&lt;br /&gt;
&lt;br /&gt;
== Mischtemperaturregelung ==&lt;br /&gt;
Um die Wassertemperatur für Kaffee und Tee zu steuern, wird ein PID-Regler für das Mischventil auf der Basisplatine implementiert. Dabei wird eine Kaskadenstruktur verwendet, in der die Mischtemperaturregelung den äußeren Kreis bildet und direkt vom inneren Durchflussregelkreis abhängig ist.&lt;br /&gt;
&lt;br /&gt;
== Durchflussregelung ==&lt;br /&gt;
Der auf das Basisboard verlagerte PID-Regler sorgt durch Anpassung der Pumpenspannung für einen konstanten Volumenstrom. Als innerer Regelkreis liefert er kontinuierlich Durchflusswerte an den Mischtemperaturregler, um die Temperaturstabilisierung zu gewährleisten&lt;br /&gt;
&lt;br /&gt;
== Maschinensimulator - Hardware ==&lt;br /&gt;
Für die Steuerungselektronik besteht die Siebträger Espressomaschine aus Messwerten. Dies sind in der aktuellen Form&lt;br /&gt;
* 4 NTC Temperatursensoren mit 10 kOhm&lt;br /&gt;
* 2 Druckmesswerte im Spannungsbereich 0,5 bis 4,5 V&lt;br /&gt;
* Leitwert und Temperatur des zufließenden Wassers im Spannungsbereich 0 bis 5 V&lt;br /&gt;
* Flowmeter mit 39,9 Impulsen je ccm&lt;br /&gt;
* 4 Füllstandssensoren über Kurzschlussdetektion&lt;br /&gt;
&lt;br /&gt;
Realisiert werden diese Messwerte über ein digitales Potentiometer MCP4151 mit 10 kOhm, welches über eine SPI-Schnittstelle eingestellt werden kann. Damit werden die 4 NTC Temperatursensoren und über die Spannungsteilerfunktion des Bauelements werden die Druckmesswerte, der Leitwert und die Temperatur des zufließenden Wassers simuliert.&lt;br /&gt;
&lt;br /&gt;
Die Kurzschlusserzeugung der Füllstandssensoren werden mit einem digitalen Analogschalter (DG411) realisiert und das Flowmetersignal wird über eine Transistorfolgeschaltung erzeugt.&lt;br /&gt;
&lt;br /&gt;
Die Schaltung benötigt eine MCU mit mindestens 17 für Kommunikation und Elektronikansteuerung verfügbaren PINs. Hierzu ist eine Raspberry Pi Pico MCU vorgesehen. &lt;br /&gt;
&lt;br /&gt;
== Maschinensimulator - Hardware ==&lt;br /&gt;
Auf der MCU selbst ist zwingend die SPI-Kommunikation zu den digitalen Potentiometer mit insgesamt 8 verschiedenen Chipselect erforderlich. Die digitalen Analogschalter benötigen lediglich ein PIN mit Digoutfunktion während das Flowmetersignal als PWM-Signal mit variabler Frequenz realisiert wird. Für die variable Frequenz kann über die Anweisung PWM.freq([Frequenz]) eingestellt werden.&lt;br /&gt;
&lt;br /&gt;
Die Einstellwerte für das digitale Potentiometer sollten für die 4 NTC Temperatursensoren als Temperaturwerte eingegeben werden. Aus dem Eingabewert wird und über die Beachtung der nichtlinearen Kennlinie der NTCs sowie dem nichtlinearen Zusammenhang aus Einstellwert und Widerstandswert der Einstellwert des jeweiligen digitalen Potentiometers. Die normierten Kennlinien der NTCs liegen vor. Eventuell lassen sich darüber die erforderlichen Einstellwerte ermitteln.&lt;br /&gt;
&lt;br /&gt;
Auch die Einstellwerte für die Simulation der Druckmesswerte sollten in bar für den Brühgruppendruck bzw. in mbar für den Boilerdruck erfolgen. Auch hier muss die nichtlinearität des digitalen Potentiometers berücksichtigt werden.&lt;br /&gt;
&lt;br /&gt;
Es erscheint sinnvoll, dass der Maschinensimulator in den Kommunikationsring eingebunden wird. Aus dem Token kann der Sollwert für die Pumpensteuerung entnommen werden, welches wiederum für die Generierung des Flowmetersignals verwendet werden kann. Ebenso können aus dem Token die Heizleistungen entnommen werden, was für die Temperatursignale sowei Boilerdrucksignal verwendet werden könnte.&lt;br /&gt;
&lt;br /&gt;
Für die einfachere Bedienung und um die Anzahl der benötigten PCs zu minimieren ist eine MATLAB®-GUI nützlich. In dieser sollten die simulierten Signale per numerischer Eingabe, Schalter oder Slider einstellbar sein. ebenso sollten darin Umschaltungen möglich sein, so dass die simulierten Signale in Abhängigkeit der Pumpensteuerung und Heizleistung erzeugt werden. Auch denkbar wären die generierung von Messwerten über bekannte Messwertverläufe von gemessenen Kaffeebezügen.&lt;br /&gt;
&lt;br /&gt;
= Leistungsvereinbarung =&lt;br /&gt;
== Kommunikation ==&lt;br /&gt;
Es wird eine Kommunikation zwischen den MCUs (Platinen) der Maschinensteuerung aufgebaut. Dazu wird die auf den einzelnen Platinen herausgeführte UART-Schnittstelle so verbunden, dass ein Kommunikationsring entsteht. Über den Kommunikationsring wird ein als Token bezeichnetes Datenpaket mit allen für den Maschinenbetrieb erforderlichen Messdaten, Stellgrößen, Anforderungen, Einstellparametern und Logging-Informationen im Kreis durchgereicht. Der Token wird so gestaltet, dass dieser dynamisch an spätere Anforderungen (2. Brühgruppe) angepasst werden kann. Der Token wird für eine möglichst kleine Anzahl an Kommunikations-Bytes binär ausgeführt. Es wird eine Definitionstabelle des Tokens im öffentlichen Wiki erstellt. Das Verfahren wird als Espressomaschinen-Kommunikations-Ring (EKR) bezeichnet.&lt;br /&gt;
&lt;br /&gt;
== Mehrkernnutzung ==&lt;br /&gt;
Es wird versucht, über die MicroPython-Funktionalität „_thread“ die Kommunikation von den anderweitigen Prozessaufgaben auf allen MCUs zu trennen und auf den zweiten Prozessorkern zu verlagern.&lt;br /&gt;
&lt;br /&gt;
== Verlagerung der Regelkreise ==&lt;br /&gt;
Die aktuell über die MATLAB®-GUI ausgeführten Regelkreise, Füllstandsregelung (Boiler und Tanks), Boilerdruckregelung, Mischtemperaturregelung und Durchflussregelung werden auf die dafür prädestinierten MCUs verlagert. Die Reglercodes dazu sind im Prinzip in MATLAB® vorhanden, müssen aber an das MCU-Umfeld und die Programmiersprache MicroPython angepasst werden. Funktionstest der Regler an einer realen Hardware sind nicht möglich, da diese soweit noch nicht vorhanden ist. Ziel ist die vollständige Implementierung der Reglerlogik in MicroPython einschließlich Schnittstellenanpassung und Variablenmanagement. Die Funktionsprüfung erfolgt auf Codeebene sowie über simulierte Testfälle.&lt;br /&gt;
&lt;br /&gt;
Für den Ablauf zwischen Einschalten der Maschine und Betriebsbereitschaft zum Kaffeebezug, im Weiteren Betriebsbereitschaft zum Dampfbezug, wird eine Startprozedur definiert und soweit es die vorhandene Hardware zulässt getestet.&lt;br /&gt;
&lt;br /&gt;
== Maschinensimulator ==&lt;br /&gt;
Zur Überprüfung des MCU-Verbunds, der implementierten Reglerlogik sowie der Startprozedur ohne vorhandene reale Maschinenhardware wird ein Maschinensimulator eingesetzt.&lt;br /&gt;
&lt;br /&gt;
Die Hardware für den Maschinensimulator wird bereitgestellt. Der Maschinensimulator generiert die Widerstandswerte der NTC-Temperatursensoren sowie die Spannungswerte der analogen Sensoren im Bereich von 0,5 V bis 4,5 V. Die Füllstandssensoren werden über Kurzschlussschalter simuliert, der Durchflusssensor über eine getaktete Transistorfolgeschaltung mit PWM-Ansteuerung. Zur Nachbildung der Temperatursensoren, Drucksensoren, Füllstandssensoren, Leitwert- und Durchflusssignale werden geeignete bereits festgelegte elektronische Komponenten verwendet. Die Ansteuerung der einzelnen Signalerzeuger ist dabei offen zu gestalten und kann im Verlauf der Implementierung festgelegt werden.&lt;br /&gt;
&lt;br /&gt;
Der Maschinensimulator wird in den bestehenden Kommunikationsring integriert. Dadurch können Sollwerte und Systemparameter aus dem Token ausgelesen und zur Erzeugung der simulierten Sensorsignale genutzt werden.&lt;br /&gt;
&lt;br /&gt;
= Besprechungsprotokolle =&lt;br /&gt;
* [[Projektstart 09.10.2025]]&lt;br /&gt;
* [[Projektrücksprache 15.10.2025]]&lt;br /&gt;
* [[Projektrücksprache 23.10.2025]]&lt;br /&gt;
* [[Projektrücksprache 30.10.2025]]&lt;br /&gt;
* [[Projektrücksprache 06.11.2025]]&lt;br /&gt;
* [[Projektrücksprache 13.11.2025]]&lt;br /&gt;
* [[Projektrücksprache 20.11.2025]]&lt;br /&gt;
* [[Projektrücksprache 27.11.2025]]&lt;br /&gt;
* [[Projektrücksprache 04.12.2025]]&lt;br /&gt;
* [[Projektrücksprache 11.12.2025]]&lt;br /&gt;
* [[Projektrücksprache 18.12.2025]]&lt;br /&gt;
* [[Projektrücksprache 08.01.2026]]&lt;br /&gt;
* [[Projektrücksprache 15.01.2026]]&lt;br /&gt;
* [[Projektrücksprache 05.02.2026]]&lt;br /&gt;
* [[Abschlusspräsentation 12.02.2026]]&lt;/div&gt;</summary>
		<author><name>Philipp Schiebel</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=4765</id>
		<title>Systemsoftware</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=4765"/>
		<updated>2025-11-17T18:05:56Z</updated>

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

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

		<summary type="html">&lt;p&gt;Philipp Schiebel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Philipp Schiebel, 13.11.2025 - Aufgabenanalyse =&lt;br /&gt;
Ziel ist die Implementierung der bestehenden MATLAB®-Regelung für die Mischwassertemperatur auf der Basisplatine, um eine PC-unabhängige Regelung zu ermöglichen.&lt;br /&gt;
&lt;br /&gt;
==Regelung und Stellgrößenberechnung==&lt;br /&gt;
Der Mischtemperaturregler dient der Regelung der Kaffee- und Teewassertemperatur im Bereich von 30 °C bis 98 °C. Die Regelung erfolgt über einen PID-Regler, der auf dem Basisboard implementiert wird. Stellgröße ist die Verstellung des Mischventils in ½-Schritten mit Richtungsvorzeichen. Der Sollwert entstammt aus dem aktiven Espressorezept.&lt;br /&gt;
&lt;br /&gt;
Da der Mischregler vom aktuell eingestellten Durchfluss abhängt, bietet sich die Umsetzung einer Kaskadenregelung an. In dieser Struktur arbeitet der Durchflussregler als innerer, schneller Regelkreis, während der Mischtemperaturregler den äußeren Regelkreis bildet. Das Ergebnis des inneren Durchflussreglers, also der aktuelle Durchfluss, wird dabei im Mischregler berücksichtigt.&lt;br /&gt;
&lt;br /&gt;
==Kommunikation und Signalübertragung==&lt;br /&gt;
Der Sollwert, der Stellwert sowie die Schaltbefehle der Magnetventile werden über den Token übermittelt. (Optional kann die aktuelle Mischwassertemperatur und der Reglerstatus auf der Displayplatine visualisiert werden.)&lt;br /&gt;
Dadurch wird die Synchronisation im MCU-Verbund gewährleistet und der Regelzustand kontinuierlich übermittelt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Armin Rohnen, 11.04.2024 =&lt;br /&gt;
Kaffee- und Teewasserbezug erfolgen mit geregelter Mischwassertemperatur. Die Regelung erfolgt für einen Sollwert aus der MATLAB®-GUI. Es soll zukünftig möglich sein auch einen Sollwertverlauf zu regeln. Der Wertebereich dazu liegt zwischen 80 °C und 96 °C. Die Regelung erfolgt nach [114] über einen PID-Regler. Die Stellgröße ist die Verstellung des Mischventils in Form von 1/2-Schritten mit Richtungsvorzeichen und wird von der MATLAB®-GUI an die SSR-Platine übermittelt.&lt;br /&gt;
&lt;br /&gt;
Das Einschwingen der Mischwassertemperatur erfolgt mit einem Vorsteuerwert für die Pumpensteuerung und der letzte Stellwert des Mischventils bleibt nach dem Kaffeebezug für den nächsten Kaffeebezug erhalten. Wenn die Mischwassertemperatur erreicht ist und der Mischwasserregler sich im eingeschwungenen Zustand befindet wird über Schaltung der Magnetventile vonWasserüberlauf auf Kaffee- oder Teewasserbezug umgeschaltet.&lt;br /&gt;
&lt;br /&gt;
Die Mischwassertemperaturregelung soll wie beschrieben auf das Basisboard verlagert werden. Die Auslösung für den Kaffee- bzw. Teewasserbezug erfolgt in der finalen Version über die Tasten. Bis zur Fertigstellung der finalen Version ist der Auslöser die MATLAB®-GUI. Die erforderlichen Stellvorgänge werden entweder auf der Platine selbst umgesetzt oder über den Token an die SSR-Platine übermittelt. &lt;br /&gt;
&lt;br /&gt;
Der Sollwert für die Mischwasserregelung wird über denTastendruck oder die Auslösung durch dieMATLAB®-GUI übermittelt. Im Zweifelsfall ist dies der Erstwert im Temperaturverlaufsprofil.&lt;br /&gt;
&lt;br /&gt;
Wenn die Mischwassertemperatur erreicht ist und der Mischwasserregler sich im eingeschwungenen Zustand befindet, wird über Schaltung der Magnetventile auf Kaffee- oder Teewasserbezug umgeschaltet und der Durchflussregler gestartet.&lt;br /&gt;
&lt;br /&gt;
Der Verstellwert der Stellgröße, die Anzahl der zu verstellenden 1/2-Schritte nebst Richtungsvorzeichen, werden über den Token an die SSR-Platine übermittelt. Ebenso werden die zu stellenden Magnetventile behandelt.&lt;/div&gt;</summary>
		<author><name>Philipp Schiebel</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Verlagerung_des_Durchflussreglers_auf_das_Basisboard&amp;diff=4761</id>
		<title>Verlagerung des Durchflussreglers auf das Basisboard</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Verlagerung_des_Durchflussreglers_auf_das_Basisboard&amp;diff=4761"/>
		<updated>2025-11-13T20:31:25Z</updated>

		<summary type="html">&lt;p&gt;Philipp Schiebel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Philipp Schiebel, 13.11.2025 - Aufgabenanalyse =&lt;br /&gt;
Der Durchflussregler steuert den Volumenstrom während eines Kaffee- oder Teewasserbezugs. Ziel ist eine konstante Durchflussrate von 1 ml/s für den Eintassenbezug, 2 ml/s für den Zweitassenbezug oder einen frei definierbaren zeitabhängigen Sollwert. Für den Teewasserbezug sind derzeit 10 ml/s festgelegt. Die tatsächlichen Werte ergeben sich aus dem Kaffeerezept.&lt;br /&gt;
&lt;br /&gt;
Der Regler wird von der bisherigen MATLAB®-Implementierung auf das Basisboard übertragen und arbeitet dort als PID-Regler mit Anti-Windup-Struktur. Der obere Grenzwert der Pumpensteuerspannung dient aktuell als Sicherheitslimit und soll in späteren Versuchsreihen genauer bestimmt werden.&lt;br /&gt;
Im Zusammenspiel mit der auf der Basisplatine implementierten Mischtemperaturregelung wird der Durchflussregler als innerer Regelkreis einer Kaskadenstruktur eingesetzt. Dabei liefert er dem äußeren Mischtemperaturregler kontinuierlich den aktuellen Durchflusswert, der zur Stabilisierung der Mischtemperaturregelung herangezogen wird.&lt;br /&gt;
&lt;br /&gt;
==Systemstart und Aktivierung==&lt;br /&gt;
Sobald der Mischtemperaturregler im Vorlauf eingeschwungen ist, wird danach das Ventil auf die Brühgruppe geschalten. Nach einer gewissen Dauer fängt der Durchflussregler an zu reagieren. Der Bezug endet, sobald die erfasste Sollfüllmenge erreicht ist.&lt;br /&gt;
Der Regler steuert den Durchfluss kontinuierlich auf den vorgegebenen Sollwert. Die Pumpenleistung wird dabei direkt auf der Basisplatine eingestellt, indem die Steuerspannung an den Pumpenausgang ausgegeben wird. Bei einem Pumpensollwert von 0 mV endet der Bezug automatisch.&lt;br /&gt;
&lt;br /&gt;
==Handhebelsimulation==&lt;br /&gt;
Zur Vorbereitung für die Funktionalität des Vertikalhebels, soll eine Handhebelsimulation implementiert werden. Dabei stellt die Stellung des Handhebels die zu fördernde Bezugswassermenge dar.&lt;br /&gt;
&lt;br /&gt;
==Logging==&lt;br /&gt;
Zur Überwachung werden Soll-, Ist- und Stellwerte kontinuierlich in den Token implementiert. &lt;br /&gt;
&lt;br /&gt;
= Armin Rohnen, 08.11.2025 =&lt;br /&gt;
Über die gezählten Impulse des (der) Flowmeter werden die Bezugsmengen ermittelt. Die Flowmeter liefern 39,9 Impulse je cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; bzw. jeder Impuls stellt die Fördermenge von 1/39,9 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; dar. Die Impuls-Counter werden als 2 Byte Integer abgespeichert. Damit können Bezugsmengen bis zu 1642 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; erfasst werden. Darüberhinaus, läuft der Zähler über.&lt;br /&gt;
&lt;br /&gt;
In der Programmierung des Durchflussreglers ist darauf zu achten, dass die Impuls-Counter nach jedem Bezugsvorgang korrekt auf 0 gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Im Weiteren ist darauf zu achten, dass Durchflussmengen größer 25 cm&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; technisch von der verwendeten Pumpe nicht darstellbar sind. Dementsprechend sind in der Programmierung die Eckwerte zu wählen.&lt;br /&gt;
&lt;br /&gt;
= Armin Rohnen, 11.04.2024 =&lt;br /&gt;
Der Durchflussregler stellt sicher dass bei einem Espressobezug 1 ml/s für den Eintassenbezug, 2 ml/s für den Zweitassenbezug bzw. ein beliebiger zeitabhängiger Sollwert geregelt wird. Für den Teewasserbezug sind aktuell 10 ml/s definert. Der Durchflussregler wird aktiv, wenn der Mischwasserregler eingeschwungen ist und seinen Sollwert erreicht hat. Der Durchflussregler ist nach [114] als PID-Regler mit Anti-Windup realisiert. Die Pumpensteuerspannung wird aktuell auf den Spannungsbereich 0 mV bis 2100 mV begrenzt. Der obere Wert stellt aktuell eine Absicherung dar und gilt über Versuchsreihen genauer zu definieren. Der Spannungssollwert wird von der MATLAB®-GUI an die Basis-Platine übermittelt. &lt;br /&gt;
&lt;br /&gt;
Durch Pumpensollwert 0 mV wird der Kaffee- bzw. Teewasserbezug beendet. Dies erfolgt aufgrund Interaktion mit der MATLAB®-GUI und soll in einer späteren Version aufgrund der erfassten Füllmenge erfolgen.&lt;br /&gt;
&lt;br /&gt;
Der Durchflussregler Mischwassertemperaturregelung soll in der Funktionalität wie beschrieben auf das Basisboard als Kaskadenregler zum Mischtempeaturregler verlagert werden. Ist der Durchflussregler aktiv ergibt sich u.u. für den Mischtemperaturregler ein Temperaturprofil. Auch für die einzuregelnde Durchflussrate sind Verlaufsprofile möglich.&lt;br /&gt;
&lt;br /&gt;
Die Sollwerte werden über den Tastendruck oder die Auslösung durch die MATLAB®-GUI übermittelt.&lt;br /&gt;
&lt;br /&gt;
Der Kaffee- bzw. Teewasserbezug wird durch Tastendruck aktuell durch die MATLAB®-GUI und zukünftig auch bei erreichen einer Bezugsmenge beendet.&lt;br /&gt;
&lt;br /&gt;
Die Pumpenleistung wird durch Stellen der Pumpensteuerspannung direkt auf dem Basisboard eingestellt. Alle anderen Stellgrößen werden über den Token an die SSR-Platine übermittelt.&lt;/div&gt;</summary>
		<author><name>Philipp Schiebel</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Verlagerung_des_Mischtemperaturreglers_auf_das_Basisboard&amp;diff=4760</id>
		<title>Verlagerung des Mischtemperaturreglers auf das Basisboard</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Verlagerung_des_Mischtemperaturreglers_auf_das_Basisboard&amp;diff=4760"/>
		<updated>2025-11-13T20:27:26Z</updated>

		<summary type="html">&lt;p&gt;Philipp Schiebel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Philipp Schiebel, 13.11.2025 =&lt;br /&gt;
Ziel ist die Implementierung der bestehenden MATLAB®-Regelung für die Mischwassertemperatur auf der Basisplatine, um eine PC-unabhängige Regelung zu ermöglichen.&lt;br /&gt;
&lt;br /&gt;
==Regelung und Stellgrößenberechnung==&lt;br /&gt;
Der Mischtemperaturregler dient der Regelung der Kaffee- und Teewassertemperatur im Bereich von 30 °C bis 98 °C. Die Regelung erfolgt über einen PID-Regler, der auf dem Basisboard implementiert wird. Stellgröße ist die Verstellung des Mischventils in ½-Schritten mit Richtungsvorzeichen. Der Sollwert entstammt aus dem aktiven Espressorezept.&lt;br /&gt;
&lt;br /&gt;
Da der Mischregler vom aktuell eingestellten Durchfluss abhängt, bietet sich die Umsetzung einer Kaskadenregelung an. In dieser Struktur arbeitet der Durchflussregler als innerer, schneller Regelkreis, während der Mischtemperaturregler den äußeren Regelkreis bildet. Das Ergebnis des inneren Durchflussreglers, also der aktuelle Durchfluss, wird dabei im Mischregler berücksichtigt.&lt;br /&gt;
&lt;br /&gt;
==Kommunikation und Signalübertragung==&lt;br /&gt;
Der Sollwert, der Stellwert sowie die Schaltbefehle der Magnetventile werden über den Token übermittelt. (Optional kann die aktuelle Mischwassertemperatur und der Reglerstatus auf der Displayplatine visualisiert werden.)&lt;br /&gt;
Dadurch wird die Synchronisation im MCU-Verbund gewährleistet und der Regelzustand kontinuierlich übermittelt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Armin Rohnen, 11.04.2024 =&lt;br /&gt;
Kaffee- und Teewasserbezug erfolgen mit geregelter Mischwassertemperatur. Die Regelung erfolgt für einen Sollwert aus der MATLAB®-GUI. Es soll zukünftig möglich sein auch einen Sollwertverlauf zu regeln. Der Wertebereich dazu liegt zwischen 80 °C und 96 °C. Die Regelung erfolgt nach [114] über einen PID-Regler. Die Stellgröße ist die Verstellung des Mischventils in Form von 1/2-Schritten mit Richtungsvorzeichen und wird von der MATLAB®-GUI an die SSR-Platine übermittelt.&lt;br /&gt;
&lt;br /&gt;
Das Einschwingen der Mischwassertemperatur erfolgt mit einem Vorsteuerwert für die Pumpensteuerung und der letzte Stellwert des Mischventils bleibt nach dem Kaffeebezug für den nächsten Kaffeebezug erhalten. Wenn die Mischwassertemperatur erreicht ist und der Mischwasserregler sich im eingeschwungenen Zustand befindet wird über Schaltung der Magnetventile vonWasserüberlauf auf Kaffee- oder Teewasserbezug umgeschaltet.&lt;br /&gt;
&lt;br /&gt;
Die Mischwassertemperaturregelung soll wie beschrieben auf das Basisboard verlagert werden. Die Auslösung für den Kaffee- bzw. Teewasserbezug erfolgt in der finalen Version über die Tasten. Bis zur Fertigstellung der finalen Version ist der Auslöser die MATLAB®-GUI. Die erforderlichen Stellvorgänge werden entweder auf der Platine selbst umgesetzt oder über den Token an die SSR-Platine übermittelt. &lt;br /&gt;
&lt;br /&gt;
Der Sollwert für die Mischwasserregelung wird über denTastendruck oder die Auslösung durch dieMATLAB®-GUI übermittelt. Im Zweifelsfall ist dies der Erstwert im Temperaturverlaufsprofil.&lt;br /&gt;
&lt;br /&gt;
Wenn die Mischwassertemperatur erreicht ist und der Mischwasserregler sich im eingeschwungenen Zustand befindet, wird über Schaltung der Magnetventile auf Kaffee- oder Teewasserbezug umgeschaltet und der Durchflussregler gestartet.&lt;br /&gt;
&lt;br /&gt;
Der Verstellwert der Stellgröße, die Anzahl der zu verstellenden 1/2-Schritte nebst Richtungsvorzeichen, werden über den Token an die SSR-Platine übermittelt. Ebenso werden die zu stellenden Magnetventile behandelt.&lt;/div&gt;</summary>
		<author><name>Philipp Schiebel</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Verlagerung_der_Boilerdruckregelung_auf_die_Messplatine&amp;diff=4759</id>
		<title>Verlagerung der Boilerdruckregelung auf die Messplatine</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Verlagerung_der_Boilerdruckregelung_auf_die_Messplatine&amp;diff=4759"/>
		<updated>2025-11-13T20:25:01Z</updated>

		<summary type="html">&lt;p&gt;Philipp Schiebel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Philipp Schiebel, 13.11.2025 - Aufgabenanalyse=&lt;br /&gt;
Ziel ist es, die bisher in der MATLAB®-GUI realisierte Boilerdruckregelung auf Basis eines PID-Reglers vollständig auf die SSR-platine zu übertragen, sodass die Regelung unabhängig von der externen PC-Umgebung arbeitet. &lt;br /&gt;
&lt;br /&gt;
==Systemstart und Aktivierung==&lt;br /&gt;
Der Boilerdruckregler ist aktiv, sobald ein gültiger Füllstand des Boilers erkannt wurde. Wird über die Kurzschlussdetektion ein negativer Füllstand erfasst, bleibt der Regler deaktiviert, um Trockenheizen zu verhindern.&lt;br /&gt;
Die Regelung wird beim Einschalten der Maschine automatisch initialisiert.&lt;br /&gt;
&lt;br /&gt;
==Betriebslogik und Zustände==&lt;br /&gt;
Darf nur aktiv sein bei kurschlussdetektiertem Füllstand des Boilers. Solange die Boilertemperatur kleiner als eine einstellbare Abschalttemperatur ist, erfolgt zusätzlich die Boilerentschichtung. Dabei wird die Pumpe angesteuert und die Magnetventile für die Entschichtung geschaltet. Beim Erreichen der einstellbaren Temperaturgrenze erfolgt die Abschaltung in umgekehrter Reihenfolge. (Solange die Entschichtung aktiv ist oder die Temperatur unter der Abschalttemperatur liegt, bleiben die Funktionssteuerungen verriegelt.)&lt;br /&gt;
&lt;br /&gt;
Die Boilerdruckregelung bleibt grundsätzlich dauerhaft aktiv und wird nur im Fehlerfall oder bei unzureichendem Füllstand deaktiviert. Nach Erreichen eines Boilerdrucksollwerts ist die Betriebsbereitschaft erreicht. Anschließend erfolgt bei Bedarf eine Nachregelung.&lt;br /&gt;
&lt;br /&gt;
==Kommunikation==&lt;br /&gt;
Die SSR-Platine erzeugt das PWM-Signal lokal. Messdaten, wie Temperatur oder Druck und der PWM-Stellwert werden über den Token mit den anderen MCUs ausgetauscht.&lt;br /&gt;
&lt;br /&gt;
==Glasboiler 2-Zylinder==&lt;br /&gt;
Für den Betrieb einer Glasboiler 2-Zylinder Maschine muss der Boilerdruckregler angepasst werden, um beide Boiler parallel aufzuheizen und dabei möglichst geringe Temperaturunterschiede entstehen lassen. Der schneller aufheizbare Boiler folgt in der Temperatur dem druckgeregelten, langsamer aufheizbaren Boiler.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Armin Rohnen, 11.04.2024 =&lt;br /&gt;
Bei kurzschlussdetektierten Füllstand des Boilers darf die Boilerdruckregelung aktiv sein. Solange die Boilertemperatur kleiner 95 °C ist, erfolgt zusätzlich die Boilerentschichtung. Zur Aktivierung der Boilerentschichtung wird die Pumpensteuerspannung auf 2500 mV eingestellt und die Magnetventile für die Entschichtung geschaltet. Bei Erreichen der Boilertemperatur von 95 °C erfolgt die Abschaltung in umgekehrter Reihenfolge.&lt;br /&gt;
&lt;br /&gt;
Ab Boilertemperatur 105 °C kann der Kaffee- bzw. Teewasserbezug freigegeben werden. Die Boilerdruckregelung erfolgt für einen Sollwert aus der MATLAB®-GUI. Dieser ist im Nennwert 1350 mbar und ist im Bereich von 1000 mbar bis 1500 mbar veränderlich. Nach [114] wird für die Boilerdruckregelung ein PID-Regler verwendet. Stellgröße ist ein PWM-Signal zwischen 0 und 100 % generiert. Beim geöffneten Dampfhahn wird der Sollwert pB,soll um 200 mbar nach unten korrigiert. Damit wird ein unnötiges Aufheizen des Boilers unterbunden. Der Stellwert des PWM-Signals wird an die SSR-Platine übermittelt.&lt;br /&gt;
&lt;br /&gt;
Die Boilerdruckregelung soll wie beschrieben auf die Messplatine verlagert werden. Das PWM-Signal für die Steuerung des Heizelements wird dabei auf der Messplatine erzeugt und über die Verdrahtung an die SSR-Platine weiter geleitet. Dabei muss das System zwischen Aufheizen und Normal-Regelung unterscheiden. In der Aufheizphase bis Boilertemperatur 105 °C müssen die Funktionssteuerungen deaktiviert bleiben.&lt;br /&gt;
&lt;br /&gt;
Auf dem Basisboard muss mit der Entschichtung durch Umpumpen eine weitere Funktionalität eingeführt werden. Die Entschichtung ist lediglich während der Aufheizphase aktiviert, solange die Boilertemperatur &amp;lt; 95 °C ist. Die aktive Entschichtung oder Boilertemperatur &amp;lt; 95 °C verriegelt die Funktionssteuerung.&lt;br /&gt;
&lt;br /&gt;
Die Boilerdruckregelung ist dauerhaft aktiv und wird lediglich durch die negative Kurzschkussdetektion des Boilerfüllstands zeitweilig deaktiviert.&lt;/div&gt;</summary>
		<author><name>Philipp Schiebel</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Verlagerung_des_F%C3%BCllstandsreglers_auf_das_Basisboard&amp;diff=4758</id>
		<title>Verlagerung des Füllstandsreglers auf das Basisboard</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Verlagerung_des_F%C3%BCllstandsreglers_auf_das_Basisboard&amp;diff=4758"/>
		<updated>2025-11-13T20:23:08Z</updated>

		<summary type="html">&lt;p&gt;Philipp Schiebel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Philipp Schiebel, 13.11.2025 - Aufgabenanalyse=&lt;br /&gt;
Ziel ist es, die bisher in der MATLAB®-GUI realisierte Füllstandsregelung des Boilers vollständig auf die Basisplatine zu übertragen, sodass die Regelung unabhängig von der externen PC-Umgebung arbeitet. Diese Regelgung ist kein klassischer Regler, da beim Erreichen des Füllstands die Befüllung aufhört.&lt;br /&gt;
&lt;br /&gt;
==Unzureichender Füllstand==&lt;br /&gt;
Die bestehende Regelung erkennt den Füllstand im Boiler über eine Kurschlussdetektion. Liegt kein Kurzschluss vor, interpretiert das System dies als unzureichenden Füllstand. Dabei wird intern der Boilerdruckregler gesperrt, um ein mögliches Trockenheizen auszuschließen. In Abhängigkeit eines vorhandenen Tanks werden die Magnetventile für die Boilerbefüllung geschaltet und die Pumpe angesteuert.&lt;br /&gt;
&lt;br /&gt;
==Erfolgreiche Befüllung==&lt;br /&gt;
Bei Erreichen des vorgegeben Füllstands, erfolgt eine gezielte Überfüllung um etwa 1,5 Sekunden bei reduzierter Pumpenspannung.[114] Dies beugt ein periodisches An- und Abschalten der Füllstandsregelung vor. Anschließend werden die Magnetventile geschlossen und die Pumpe abgeschaltet. (Wenn größere Mengen Wasser im kalten Zustand nachgefüllt werden, wird der Dampfhahn Y113 geöffnet, um Druckanstieg zu vermeiden.)&lt;br /&gt;
&lt;br /&gt;
==Glasboilermaschine==&lt;br /&gt;
Die Glasboilermaschine besitzt zwei Tanks, die den Boiler bei Bedarf füllen. Der Tankfüllstand wird je Tank über einen Füllstandssensor (Sensor für Minimum und Sensor für Maximum) erkannt und startet bei Unterschreiten des Minimumfüllstands. Die Befüllung stoppt, wenn der Maximalstand erkannt wurde. Die Befüllung findet bei Bedarf zum Maschinenstart und nach Befüllung des Glasboilers statt.&lt;br /&gt;
&lt;br /&gt;
==Implementierung==&lt;br /&gt;
Die bisherige externe Steuerung über die MATLAB®-GUI wird in MicroPython auf der Basisplatine umgesetzt. Erforderliche Messdaten für andere MCUs und das Logging werden in den Token implementiert. Der Füllstandsregler wird automatisch beim Start der Maschine innerhalb der Startprozedur aktiviert.&lt;br /&gt;
&lt;br /&gt;
= Armin Rohnen, 03.02.2025 =&lt;br /&gt;
Bei der Glasboilermaschine besteht die Füllstandsreeglung aus zwei unabhängigen Füllstandsreglern. Einer für den Boiler ein zweiter für die beiden Tanks.&lt;br /&gt;
&lt;br /&gt;
= Armin Rohnen, 11.04.2024 =&lt;br /&gt;
Der Boilerfüllstand wird über Kurzschlussdetektion erkannt. Es stehen 4 Kurzschlussdetektoren zur Verfügung, welche im Zusammenhang mit der Glasboilermaschine auch alle benötigt werden. In der labortechnisches Espressomaschine wird einer davon für den Boilerfüllstand benötigt.&lt;br /&gt;
&lt;br /&gt;
Wird kein Kurzschluss detektiert, wird dies als unzureichender und undefinierter Füllstand interpretiert. Dieser Zustand schaltet den Boilerdruckregler ab, da ggf. ein nicht gekühltes Heizelement vorliegen könnte. Es werden die erforderlichen Magnetventile für die Boilerbefüllung geschaltet und die Pumpe mit Steuerspannung 4000 mV auf eine definierte Pumpendrehzahl eingestellt. Ist der Sollfüllstand erreicht wird dieser um 1,5 Sekunden mit Pumpensteuerspannung 1000 mV überfüllt, um ein flattern der Befüllsteuerung zu unterbinden. Anschließend wird in der Reihenfolge Magnetventilschaltungen und Pumpenabschaltung der Vorgang beendet.&lt;br /&gt;
&lt;br /&gt;
Die Befüllung des Boilers führt zur Erhöhung des Boilerdrucks. Das wird beim kalten Boiler durch Öffnung des Dampfhahns zu verhindert. Es wird auch nur dann problematisch, wenn großeWassermengen nachgefüllt werden müssen. Was lediglich im kalten Zustand vorkommt.&lt;br /&gt;
&lt;br /&gt;
Diese Steuerung erfolgt in der MATLAB®-GUI und für die Verriegelung der Boilerdruckregelung wird ein Steuerungsflag verwendet.&lt;br /&gt;
&lt;br /&gt;
Der Füllstandsregler soll wie beschrieben aus der MATLAB®-GUI auf die Basisplatine verlagert werden. Negativer Füllstand verriegelt den Boilerdruckregler auf der Messplatine. Der Füllstandsregler wird durch den Maschinenstart aktiviert. Dieser wiederum wird über die MATLAB®-GUI durch Start der Messwerterfassung angestoßen. Im finalen Stand soll der Hauptschalter der Maschine die Messwerterfassung mit einer Zeitverzögerung starten.&lt;/div&gt;</summary>
		<author><name>Philipp Schiebel</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Startprozedur&amp;diff=4757</id>
		<title>Startprozedur</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Startprozedur&amp;diff=4757"/>
		<updated>2025-11-13T20:19:39Z</updated>

		<summary type="html">&lt;p&gt;Philipp Schiebel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Philipp Schiebel, 13.11.2025 - Aufgabenanalyse =&lt;br /&gt;
==Initialisierung der Systeme==&lt;br /&gt;
Nach dem Einschalten der Stromversorgung werden alle vier Mircocontroller (MCU) automatisch aktiviert und führen ihren Code in main.py aus. Darin wird die Kommunikation initialisiert.&lt;br /&gt;
&lt;br /&gt;
==Aufbau der Kommunikationsstruktur==&lt;br /&gt;
Nach einer definierten Startwertzeit stellt die Messwertplatine den Anfangstoken bereit. Aufgrund des Verbundes der Platinen (Messwertplatine -&amp;gt; Basisplatine -&amp;gt; SSR-Platine -&amp;gt; Displayplatine) kann die Displayplatine bei Erhalt des Anfangstokens auf eine korrekte Initialisierung aller Platinen schließen.&lt;br /&gt;
Jede Platine überprüft zusätzlich den Kommunikations-TimeOut und geht bei ausbleibendem Token in einen Sicherheitszustand über.&lt;br /&gt;
&lt;br /&gt;
==Start der Messwerterfassung==&lt;br /&gt;
Nach erfolgreichem Wiedererhalt des Initialisierungstokens startet die die Messplatine die Messwerterfassung, erstellt den ersten Messwertdatensatz und sendet anschließend kontinuierlich Messwert-Token. Die Basisplatine ergänzt die empfangenen Messwerttoken um eigene Messdaten. Dadurch wird ein kontinuierlicher Kommunikations- und Datenaustausch zwischen allen MCUs ermöglicht, bei dem die Messplatine den Takt vorgibt.&lt;br /&gt;
&lt;br /&gt;
==Reglerstart==&lt;br /&gt;
Mit Beginn der Messwerterfassung wird auch der Boilerfüllstand überprüft. Bei der Glasboilermaschine werden zusätzlich die Füllstände der beiden Tanks überprüft. Darauf reagiert die Füllstandsregelung. Solange der Sollwert noch nicht erreicht ist, bleibt der Boilerdruckregler deaktiviert. Erst wenn der Füllstand erreicht ist, wird dieser aktiviert. Dabei wird zusätzlich die Boilertemperatur überwacht, um die Entschichtungsfunktion zu steuern. Wird eine einstellbare Abschalttemperatur überschritten, wird die Entschichtung deaktiviert.&lt;br /&gt;
Die Startprozedur gilt als erfolgreich abgeschlossen, sobald der Sollwert des Boilerdrucks erstmals überschritten wird. In diesem Moment erkennt der Boilerdruckregler die Betriebsbereitschaft und sendet diese. Die Displayplatine reagiert darauf, indem sie die Betriebsbereitschaft zum Kaffeebezug signalisiert.&lt;br /&gt;
&lt;br /&gt;
==Anzeige und Fehlerausgabe==&lt;br /&gt;
Während des gesamten Ablaufs zeigt die Displayplatine den aktuellen Status der Startprozedur an. Dazu gehören Informationen über den Boilerfüllstand, den Boilerdruck und die Boilertemperatur. Bei Timeout oder Fehlern während des Startvorgangs erfolgt eine sichtbare Ausgabe am Display.&lt;br /&gt;
&lt;br /&gt;
= Armin Rohnen, 18.10.2025 - Vorschlag zur Startprozedur =&lt;br /&gt;
Wenn die aktuelle manuelle Startprozedur der labortechnischen Espressomaschine als Grundlage für die zukünftige Startprozedur dient, dann ergäbe sich für den Ablauf:&lt;br /&gt;
# alle MCUs starten, wenn die Stromversorgung eingeschaltet wird. Dadurch wird der Programmcode in main.py ausgeführt. In main.py wird als erstes die UART-Kommunikation initialisiert, wie es in der 2. Auflage von [40] beschrieben ist. Dabei wird uart.irq_rx mit einem uart_rx.handler verwendet sowie für ausreichend definierten Schreib- und Lesespeicher gesorgt.&lt;br /&gt;
# Alle MCUs warten auf die Initialisierung der Kommunikation&lt;br /&gt;
# Nach einer definierten Startwartezeit sendet die MCU der Messwertplatine einen Token zur Initialisierung der Kommunikation.&lt;br /&gt;
# Jede andere MCU arbeitet die Initialisierung ab und sendet den Token weiter.&lt;br /&gt;
# Der Token muss wieder bei der Messwertplatine ankommen. Erfolgt dies nicht innerhalb einer definierten Zeit (Timeout) dann erfolgt der Abbruch der Startprozedur mit einer entsprechenden Ausgabe am Display. Kommt der Token InTime bei der Messwertplatine wieder an, dann sendet die Messwertplatine einen Token zum Start der Messwerterfassung.&lt;br /&gt;
# Der Token wird von der Messplatine erstellt. Dort wird die Messwerterfassung gestartet und wenn der erste Messwertdatensatz zusammengestellt ist, der erste Token gesendet. Ab diesem Zeitpunkt wird immer dann, wenn ein Messwertdatensatz der Messplatine zusammengestellt ist, ein Token gesendet. Dadurch gibt die Messwertplatine den Kommunikationstakt vor.&lt;br /&gt;
# Die Basisplatine fügt dem Token die Messwerte der Basisplatine bei.&lt;br /&gt;
# Wenn die Displayplatine erstmalig alle Messwerte erhalten hat, sendet diese einen Token zum Start der Systemüberprüfung.&lt;br /&gt;
# Auf den Token der Systemüberprüfung reagiert als erstes die Basisplatine. Dort wird der Boilerfüllstand geprüft und so lange ein Boilerfüllstands-Flag 0 gesetzt, solange der Füllstand nicht erreicht ist. Das Boilerfüllstands-Flag muss Bestandteil des kontinuierlich umlaufenden Tokens sein. Solange der Füllstand nicht erreicht ist, darf der Boilerdruckregler nicht starten bzw. muss die Heizleistung = 0 sein.&lt;br /&gt;
# Wenn der Boilerfüllstand erreicht ist, wird auf der Messplatine der Boilerdruckregler aktiv. Durch Abgleich mit der Boilertemperatur (kleiner 95 ° C) wird entschieden ob die Entschichtungsfunktion aktiviert wird. Wird die Boilertemperatur von 95 °C überschritten wird die Entschichtung deaktiviert. Wird erstmalig der Sollwert des Boilerdrucks überschritten ist die Maschine betriebsbereit.&lt;br /&gt;
# Auf dem Display wird der jeweilige Stand der Startprozedur angezeigt. Während der Startprozedur ist, zumindest aktuell, ein sichtbares Logging sinnvoll.&lt;br /&gt;
# Der Zustand des Boilerfüllstandsreglers, des Druckreglers, die Boilertemperatur und der Boilerdruck werden kontinuierlich am Display visualisiert, ebenso wird bei Kaffeebezug die Durchflussrate und der Brühgruppendruck angezeigt. Die Displayplatine dient der Übertragung von Systemlogging und Messwerten zur MATLAB® Wartungs-App.&lt;br /&gt;
&lt;br /&gt;
= Armin Rohnen, 04.10.2025 =&lt;br /&gt;
Für den Systemstart der Espressomaschine muss der Funktionsablauf definiert werden. So ist z. B. zunächst die MCU-Kommunikation zu starten, die Messwerterfassung zu starten, es ist zu prüfen ob das Wartungstool angeschlossen ist, es sind die Füllstände zu kontrollieren usw.&lt;/div&gt;</summary>
		<author><name>Philipp Schiebel</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=4739</id>
		<title>Systemsoftware</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=4739"/>
		<updated>2025-11-10T18:36:51Z</updated>

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

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

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

		<summary type="html">&lt;p&gt;Philipp Schiebel: /* ToDo-Liste: MCUs - Verlagerung der Regelkreise aus der MATLAB®-GUI auf die Mikrocontroller der Steuerungselektronik */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;htmltag tagname=&amp;quot;img&amp;quot; src=&amp;quot;http://vg04.met.vgwort.de/na/4531f1734b324b72b2d7e566cdf639f0&amp;quot;  width=&amp;quot;1&amp;quot; height=&amp;quot;1&amp;quot; alt=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/htmltag&amp;gt;&lt;br /&gt;
[[Datei:Breites Logoband.png|mini|zentriert|hochkant=2.5]]&amp;lt;br&amp;gt;&lt;br /&gt;
Die Systemsoftware lässt sich nicht ohne die Beachtung der Systemelektronik erstellen.&lt;br /&gt;
&lt;br /&gt;
Für die Systemsoftware wurde ein mehrstufiger Entwicklungsprozess definiert:&lt;br /&gt;
# Nutzung einer MCU auf der MicroPython verwendet werden kann. Dies ist durch das STM32F411 nucleo Board der Basiselektronik bzw. durch den Raspberry Pi Pico der Multi-MCU-Elektronik gegeben.&lt;br /&gt;
# Auf der MCU werden lediglich die elementaren Grundfunktionen (GPIO schalten und erfassen, Messwert erfassen, PWM Ausgeben, Sollwert ausgeben, etc.) realisiert und über eine MicroPython zu MATLAB® Schnittstelle [41] wird die Funktionalität in einer MATLAB® GUI hergestellt.&lt;br /&gt;
# Die Softwareentwicklung startet mit der labortechnischen Espressomaschine und wird auf die weiteren Projekte schrittweise transportiert. Dazu ist die Maschinenelektronik gleich zu halten und es sind die gleichen Anschluss-Pins zu verwenden.&lt;br /&gt;
# Nach Abschluss der Testphase der MATLAB® Bedienung wird schrittweise die Betriebssoftware in MicroPython auf der MCU implementiert, so dass am Ende dieses Prozessschrittes die MATLAB®-Verbindung lediglich für weiterführende Datenerfassung und grafische Darstellungen verwendet wird, welche nicht mit dem Display der Maschine möglich ist oder dort nicht dargestellt werden soll.&lt;br /&gt;
# Ob eine Portierung des MicroPython-Codes nach Microcontroller C durchgeführt wird, ist derzeit nicht entschieden.&lt;br /&gt;
&lt;br /&gt;
Es wurden mehrere, die Softwareentwicklung vorbereitende FMEAs durchgeführt.  Die hierdurch entstandenen Dokumentation befinden sich in der Dokumentationsauflistung. Im weiteren wurde eine Projektarbeit zur Konzeptfindung für die Badienung durchgeführt. Auch die hierdurch entstandenen, teilweise auf die FMEA aufbauenden Dokumente befinden sich in der Dokumentationsliste.&lt;br /&gt;
&lt;br /&gt;
= Projektdokumentationen und Beschreibungen =&lt;br /&gt;
* [[:Datei:20210228 Konzept Systemelektronik.pdf|Konzeptbeschreibung Systemelektronik]]&lt;br /&gt;
* [[:Datei:20210605 Workflow Embedded Systems.pdf|Workflow Embedded Systems]]&lt;br /&gt;
* [[:Datei:20200521 Bericht1 NerminArbi.pdf|Funktionsanalyse Boilerbefüllung, Tassenwärmung, Milchschäumen]]&lt;br /&gt;
* [[:Datei:20200518 Bericht halbauto Entkalkung Egger Alexander.pdf|Funktionsanalyse zur halbautomatischen Entkalkung]]&lt;br /&gt;
* [[:Datei:20200518 V0 4 Bericht Funktionsanalyse Rückspulung-Spulung Sladoje.pdf|Funktionsanalyse Rückspülung und Spülung]]&lt;br /&gt;
* [[:Datei:20200521 Bericht Espresso-Teewasserbezug Urbin.pdf|Funktionsanalyse Espresso und Teewasserbezug]]&lt;br /&gt;
* [[:Datei:20200522 Bericht Funktionsanalyse Energieeffizienz Egger Alexander.pdf|Funktionsanalyse Energieeffizienz]]&lt;br /&gt;
* [[:Datei:20200521 V2 Bericht Funktionsanalyse Bedienung Sladoje.pdf|Funktionsanalyse Bedienung]]&lt;br /&gt;
* [[:Datei:20200525 Bericht Abbildung aller Maschinen Urbin V2.pdf|Funktionsanalyse Abbildung aller Maschinen]]&lt;br /&gt;
* [[:Datei:20200609 Bericht Fehleranalyse Entschichtung.pdf|Fehleranalyse Entschichtung]]&lt;br /&gt;
* [[:Datei:20200610 Fehleranalyse Dampf Brühgruppe Sladoje.pdf|Fehleranalyse Brühgruppe und Dampfbezug]]&lt;br /&gt;
* [[:Datei:20200613 Bericht Fehleranalyse Mischer;Magnetventile V2.pdf|Fehleranalyse Mischer und Magnetventile]]&lt;br /&gt;
* [[:Datei:20200611 Bericht3 NerminArbi.pdf|Fehleranalyse Boiler]]&lt;br /&gt;
* [[:Datei:20200705 Dichtheitsprüfung.pdf|Dichtheitsprüfung]]&lt;br /&gt;
* [[:Datei:20200704 Massnahmen Urbin.pdf|Prüfkonzepte Magnetventile und Mischer]]&lt;br /&gt;
* [[:Datei:20200701 Maßnahmenanalyse NerminArbi.pdf|Maßnahmen Boiler]]&lt;br /&gt;
* [[:Datei:20200628 Maßnahmen Entschichtung zweiter Stand.pdf|Maßnahmen Entschichtung]]&lt;br /&gt;
* [[:Datei:20200627 Maßnahmenkonzept Brühguppe Dampf Sladoje.pdf|Maßnahmen Brühgruppe und Dampf]]&lt;br /&gt;
* [[:Datei:20200707_FMEA.xlsx|FMEA Tabelle]]&lt;br /&gt;
* [[:Datei:20201207_Bedienkonzept.pptx|PPT Simulation des Bedienkonzeptes]]&lt;br /&gt;
* [[:Datei:20210207_Bedienkonzept_Funktionsliste.xlsx|Bedienkonzept Funktionsliste]]&lt;br /&gt;
* [[:Datei:20210219_Bedienkonzept_Projektdokumentation.pdf|Bedienkonzept Projektdokumentation]]&lt;br /&gt;
* [[:Datei:HMProjektBedienoberflaecheEspresso.zip|MATLAB® GUI]]&lt;br /&gt;
* [[Entwicklung Systemsoftware SoSe2022]]&lt;br /&gt;
* [[Entwicklung Systemsoftware SoSe2023]]&lt;br /&gt;
* [[Mikrocontroller Programmierung in MicroPython WiSe 2025/26]]&lt;br /&gt;
&lt;br /&gt;
= [http://www.institut-fuer-kaffeetechnologie.de/Intern/index.php?title=Programmcode Programmcode] =&lt;br /&gt;
Aktueller Programmcode und Änderungsdokumentation ab Jan 2023&lt;br /&gt;
&lt;br /&gt;
= [http://www.institut-fuer-kaffeetechnologie.de/Intern/index.php?title=Software-Bugs Software-Bugs] =&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste(n) Systemsoftware =&lt;br /&gt;
&lt;br /&gt;
== Prioritätsangabe ==&lt;br /&gt;
Prio 1 - Abarbeitung zeitnah erforderlich&amp;lt;br&amp;gt;&lt;br /&gt;
Prio 2 - Abarbeitung erforderlich&amp;lt;br&amp;gt;&lt;br /&gt;
Prio 3 - Abarbeitung kann warten&amp;lt;br&amp;gt;&lt;br /&gt;
Prio 99 - Abarbeitung erfordert Vorarbeiten&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
10 - Erfasst&amp;lt;br&amp;gt;&lt;br /&gt;
30 - in Bearbeitung&amp;lt;br&amp;gt;&lt;br /&gt;
50 - Lösung definiert&amp;lt;br&amp;gt;&lt;br /&gt;
70 - in Umsetzung&amp;lt;br&amp;gt;&lt;br /&gt;
90 - Umsetzung abgeschlossen&amp;lt;br&amp;gt;&lt;br /&gt;
99 - Abbruch per Beschluss (Dokumentation dazu erforderlich)&amp;lt;br&amp;gt;&lt;br /&gt;
100 - Maßnahme bestätigt&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: Mechatronische Inbetriebnahme Glasboilermaschine =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Fehlerbehebungen]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Startprozedure]] || ||  1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Tankfüllstandsregelung]] || || 1 || 10 ||&lt;br /&gt;
|- &lt;br /&gt;
| [[Boilerfüllstandsregelung]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Boilerdruckregelung]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Mischwassertemperaturregelung]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Durchflussregelung]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Kaffeebezug]] || || 2 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Teebezug]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Temperatureinstellung über Vertikalhebel]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Simulation Handhebelmaschine]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Flush/Rückspülreinigung]] || || 1 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: MCUs - Verlagerung der Regelkreise aus der MATLAB®-GUI auf die Mikrocontroller der Steuerungselektronik =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Kommunikation per UART|UART Kommunikation zwischen den einzelnen MCUs]] || Peter Vogginger|| 1 || 30 || WiSe2025/26&lt;br /&gt;
|-&lt;br /&gt;
| [[Mehrkernnutzung und/oder Multitasking]] || Peter Vogginger||  1 || 30 ||WiSe2025/26&lt;br /&gt;
|-&lt;br /&gt;
| [[Startprozedur]]&lt;br /&gt;
|Philipp Schiebel&lt;br /&gt;
|1&lt;br /&gt;
|30&lt;br /&gt;
|30.10.2025&lt;br /&gt;
|-&lt;br /&gt;
| [[Verlagerung des Füllstandsreglers auf das Basisboard]] || Philipp Schiebel|| 1 || 30 || 30.10.2025&lt;br /&gt;
|- &lt;br /&gt;
| [[Verlagerung der Boilerdruckregelung auf die Messplatine]] || Philipp Schiebel|| 1 || 30 ||  	 30.10.2025&lt;br /&gt;
|-&lt;br /&gt;
| [[Verlagerung des Mischtemperaturreglers auf das Basisboard]] || Philipp Schiebel|| 1 || 10 || 13.11.2025&lt;br /&gt;
|-&lt;br /&gt;
| [[Verlagerung des Durchflussreglers auf das Basisboard]] || Philipp Schiebel|| 1 || 10 ||  	 13.11.2025&lt;br /&gt;
|-&lt;br /&gt;
| [[Erstellung der Funktionssteuerung - Preinfusion auf dem Basisboard]] || || 2 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Erstellung der Funktionssteuerung - Kaffeebezug auf dem Basisboard]] || || 1 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Erstellung der Funktionssteuerung - Wasserbezug auf dem Basisboard]] || || 1 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Erstellung der Funktionssteuerung - Dampfbezug auf dem Basisboard]] || || 1 || 10 || 	 &lt;br /&gt;
|-&lt;br /&gt;
| [[Erstellung der Funktionssteuerung - Spülen auf dem Basisboard]] || || 1 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Erstellung der Funktionssteuerung - Grundreinigung auf dem Basisboard]] || || 1 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Integration eines Displays mit Touchfunktion]] || Jeremias Kögl|| 1 || 10 ||  WiSe2025/26&lt;br /&gt;
|-&lt;br /&gt;
| [[Integration eines Vertikalhebels]] || Jeremias Kögl|| 1 || 10 ||  WiSe2025/26&lt;br /&gt;
|-&lt;br /&gt;
| [[Visualisierung und Interaktion über die MATLAB®-GUI]] || Spyridon Sidiropoulos|| 1 || 10 ||WiSe2025/26&lt;br /&gt;
|-&lt;br /&gt;
| [[Visualisierung und Interaktion über eine WEB-Anwendung]] || || 1 || 10 ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Maschinensimulator]] || Peter Vogginger|| 1 || 10 ||WiSe2025/26&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: Allgemeines =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Sicherheitsfunktionen]] || || 99 || 50 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[ Übersicht über verbaute Aktorik und Sensorik in Tabellenform]] || || 2 || 90 ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Stromsparmodus]] || || 99 || 10 ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: MCUs - Hardwarenahe Software =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[Grundfunktionen der MCU und mehrere MCUs]] || || || 100 ||&lt;br /&gt;
|-	&lt;br /&gt;
| Basisboard: [[Schalten Magnetventile (Labor) STM32-Basisboard]] MATLAB®GUI || || || 100&lt;br /&gt;
|-&lt;br /&gt;
| Basisboard: [[Pumpenansteuerung Basisboard Multi-MCU]] || || || 100 ||&lt;br /&gt;
|- 	 &lt;br /&gt;
| Basisboard: [[Schrittmotorsteuerungen Basisboard Multi-MCU]] || || || 100 ||&lt;br /&gt;
|-&lt;br /&gt;
| Basisboard: [[Tastenerkennung Basisboard Multi-MCU]] || || 1 || 10 || &lt;br /&gt;
|- 	 &lt;br /&gt;
| Basisboard: [[Füllstandserkennung Basisboard Multi-MCU]] || || || 100 ||&lt;br /&gt;
|- 	 &lt;br /&gt;
| Basisboard: [[Durchflussmessung Basisnoard Multi-MCU]] || || || 100 ||&lt;br /&gt;
|- 	  	 	  	 &lt;br /&gt;
| SSR-Platine: [[Schalten Magnetventile SSR-Platine Multi-MCU]] || || || 100 ||&lt;br /&gt;
|- 	 &lt;br /&gt;
| SSR-Platine: [[Schrittmotorsteuerungen SSR-Platine Multi-MCU]] || || || 100 ||&lt;br /&gt;
|-&lt;br /&gt;
| Messplatine: [[Messdatenerfassung Multi-MCU]] || || || 100 ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste der Grundlagenprogrammierung - MATLAB®-Funktionen und GUI =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[MATLAB®-GUI Start der App]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[MATLAB®-GUI Initialisierung Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[MATLAB®-GUI Schalten Magnetventile]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[MATLAB®-GUI Datensicherung]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Messwerte erfassen Multi-MCU]] || || || ||&lt;br /&gt;
|- &lt;br /&gt;
| [[Pumpenansteuerung Multi-MCU]] || || || ||&lt;br /&gt;
|- &lt;br /&gt;
| [[Füllstandsregler Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Regler Boilerdruck Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Mischregler Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Durchflussregler Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Misch-Durchfluss Kaskadenregelung Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Preinfusion Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[einfacher Kaffeebezug Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Kaffeebezug Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Wasserbezug Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Dampfbezug Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Spülvorgänge Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Grundreinigung Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Tastenbedienung Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Display Multi-MCU]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Glasboiler Abtropfwanne]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Schrittmotorensteuerung Bypass]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Schrittmotorensteuerung Mischer]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Schrittmotorensteuerung Brühgruppendrossel]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Adaption an Multi-MCU - Neuprogrammierung MATLAB® GUI]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| Dokumentation der Software mit STM32-Elektronik. &amp;lt;br&amp;gt;Ein Betrieb dieser wird nicht mehr weiter verfolgt. || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Messwerte erfassen (Labor)]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Pumpenansteuerung (Labor)]] || ||  || || &lt;br /&gt;
|-&lt;br /&gt;
| [[Füllstandsregler (Labor)]] || ||  || || &lt;br /&gt;
|-&lt;br /&gt;
| [[Regler Boilerdruck (Labor)]] || ||  || ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Mischregler (Labor)]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Durchflussregler (Labor)]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[einfacher Kaffeebezug (Labor)]] || ||  || ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Kaffeebezug (Labor)]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Wasserbezug (Labor)]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Dampfbezug]] || ||  || ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Spülvorgänge (Labor)]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Tastenbedienung (Labor)]] || || || ||  &lt;br /&gt;
|-&lt;br /&gt;
| [[Anpassungen für Schrittmotorensteuerung]] || || || ||&lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= ToDo-Liste: APP =&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Arbeitspaket !! Wer !! Prio !! Status !! WV&lt;br /&gt;
|-&lt;br /&gt;
| [[APP - Konzept]] || || 2 || 10 || &lt;br /&gt;
|- 	 &lt;br /&gt;
| [[Messwerte erfassen APP]] || || 99 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| [[Preset / Profilverwaltung]] || || 99 || 10 || &lt;br /&gt;
|-&lt;br /&gt;
| || || || ||&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Philipp Schiebel</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Projektr%C3%BCcksprache_23.10.2025&amp;diff=4685</id>
		<title>Projektrücksprache 23.10.2025</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Projektr%C3%BCcksprache_23.10.2025&amp;diff=4685"/>
		<updated>2025-10-27T07:43:44Z</updated>

		<summary type="html">&lt;p&gt;Philipp Schiebel: Protokoll Projektrücksprache 23.10.2025&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Besprechungsprotokoll – Projektrücksprache 23.10.2025=&lt;br /&gt;
Ort: online via ZOOM &lt;br /&gt;
&lt;br /&gt;
Datum: 23.10.2025 &lt;br /&gt;
&lt;br /&gt;
Teilnehmer: Spyridon Sidiropoulos, Jeremias Kögl, Philipp Schiebel, Peter Vogginger, LfbA Armin Rohnen &lt;br /&gt;
&lt;br /&gt;
Moderator: Peter Vogginger &lt;br /&gt;
&lt;br /&gt;
Protokollant: Philipp Schiebel &lt;br /&gt;
&lt;br /&gt;
==Top 1) Annahme des Protokolls== &lt;br /&gt;
Das Protokoll wurde von allen Teilnehmenden unter Berücksichtigung der genannten Anmerkung angenommen. &lt;br /&gt;
&lt;br /&gt;
==Top 2) ToDo’s== &lt;br /&gt;
Herr Rohnen betonte, dass bereits erbrachte Vorarbeiten zwingend zu berücksichtigen sind. Einige Arbeitsschritte sind bereits im Dokument „matlab_meets_micropython.pdf“ beschrieben. &lt;br /&gt;
&lt;br /&gt;
==Top 3) Zuordnung der Aufgabenpakete== &lt;br /&gt;
Die Arbeitspakete wurden vorab zugeordnet. Alle Teilnehmenden aktualisieren Status und Wiedervorlage eigenständig in der ToDo-Liste im Wiki. &lt;br /&gt;
&lt;br /&gt;
==Top 4) Status Einarbeitung in die UART-Kommunikation (alle)==&lt;br /&gt;
Herr Vogginger stellte den aktuellen Stand zur Tokenstruktur vor. Die Verwendung eines Startzeichens sowie einer Prüfsumme erscheint zweckmäßig. Zusätzlich wurde die Verwendung von Python Funktionen diskutiert, um eine Einheitlichkeit bei der Kommunikation zu gewährleisten. &lt;br /&gt;
&lt;br /&gt;
==Top 5) Status Einarbeitung in die Startprozedur (alle)== &lt;br /&gt;
Herr Schiebel präsentierte ein Flowchart zur Startprozedur. Herr Rohnen wies darauf hin, dass diese Darstellungsstruktur zukünftig beibehalten werden soll. Zudem ist in jedem selbst geschriebenen Code der jeweilige Urheber anzugeben. &lt;br /&gt;
&lt;br /&gt;
==Top 6) Status Kommunikation (Peter Vogginger)== &lt;br /&gt;
Dieser Punkt wurde bereits in Top 4 behandelt. &lt;br /&gt;
&lt;br /&gt;
==Top 7) Status Regler-Implementierung (Philipp Schiebel)== &lt;br /&gt;
Herr Schiebel stellte den aktuellen Stand sowie die anstehenden Aufgaben vor. Herr Rohnen merkte an, dass die Abschlussarbeit [114] von Noureddine Ait Ouhamou als Grundlage genutzt werden soll, da die Reglercodes aus dieser Arbeit stammen. &lt;br /&gt;
&lt;br /&gt;
==Top 8) Status Display mit Touchfunktion (Jeremias Kögl)== &lt;br /&gt;
Herr Kögl stellte den aktuellen Fortschritt vor. Herr Rohnen betonte, dass zunächst die Integration des Displays sowie die grundlegende Visualisierung der Werte erfolgen soll. Als Hardware wird ein Adafruit-Display (Modell 2478, resistive Touchfunktion) verwendet. Die Ansteuerung erfolgt über eine zusätzliche MCU, vorgesehen ist ein Raspberry Pi Pico W. &lt;br /&gt;
&lt;br /&gt;
==Top 9) Status MATLAB®-GUI (Spyridon Sidiropoulos)== &lt;br /&gt;
Herr Sidiropoulos stellte seinen Fortschritt dar. Herr Rohnen empfahl, bei umfangreichen Rückfragen einen Termin zur mündlichen Abstimmung anzusetzen, um unnötig lange E-Mail-Ketten zu vermeiden. &lt;br /&gt;
&lt;br /&gt;
==Top 10) Bedarf an Hardware (Sidiropoulos, Kögl, Schiebel, Vogginger)== &lt;br /&gt;
Herr Kögl meldete Bedarf für das Display sowie die zugehörige MCU an. Herr Schiebel meldete zukünftigen Bedarf für vier verschiedene MCUs sowie den Maschinensimulator zur Testung an. Grundsätzlich gilt, dass Hardware-Bedarf rechtzeitig zu formulieren und Herrn Rohnen mitzuteilen ist. &lt;br /&gt;
Herr Rohnen kündigte an, in der kommenden Woche ein Statusupdate zum &lt;br /&gt;
Maschinensimulator zu geben. Die geschätzte Mindestdauer beträgt drei Wochen. &lt;br /&gt;
&lt;br /&gt;
==Top 11) Wöchentlicher Regeltermin: Donnerstag 18:00 Uhr==&lt;br /&gt;
Der regelmäßige Besprechungstermin findet donnerstags um 18:00 Uhr statt. Dieser wurde von allen Teilnehmenden bestätigt. &lt;br /&gt;
&lt;br /&gt;
==Top 12) Weitere Vorgehensweise (Armin Rohnen)== &lt;br /&gt;
Herr Rohnen verkündete mehrere nächste Schritte, die benannt werden. Nach der Aufteilung der Arbeitspakete überprüft jedes Teammitglied den gesamten Arbeitsumfang auf Vollständigkeit. Zu jedem Arbeitspaket wird eine schriftliche Beschreibung erstellt, welche das geplante Vorgehen erläutert. Nicht realisierbare Arbeitsschritte können aus dem Projektumfang ausgeschlossen werden. Die Beschreibung wird Herrn Rohnen zur Prüfung und zur Sicherstellung der Wiki-Tauglichkeit vorgelegt.&lt;br /&gt;
&lt;br /&gt;
Die ToDo-Liste ist fortlaufend aktuell zu halten. &lt;br /&gt;
Der Zugang zum Labor erfolgt über die Labormeister der Fakultätswerkstatt.&lt;/div&gt;</summary>
		<author><name>Philipp Schiebel</name></author>
	</entry>
	<entry>
		<id>http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=4684</id>
		<title>Systemsoftware</title>
		<link rel="alternate" type="text/html" href="http://www.institut-fuer-kaffeetechnologie.de/Wiki/index.php?title=Systemsoftware&amp;diff=4684"/>
		<updated>2025-10-27T07:35:55Z</updated>

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