Systemsoftware

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

Breites Logoband.png


Die Systemsoftware lässt sich nicht ohne die Beachtung der Systemelektronik erstellen.

Für die Systemsoftware wurde ein mehrstufiger Entwicklungsprozess definiert:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Ob eine Portierung des MicroPython-Codes nach Microcontroller C durchgeführt wird, ist derzeit nicht entschieden.

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.

Projektdokumentationen und Beschreibungen

Programmcode

Aktueller Programmcode und Änderungsdokumentation ab Jan 2023

Software-Bugs

ToDo-Liste(n) Systemsoftware

Prioritätsangabe

Prio 1 - Abarbeitung zeitnah erforderlich
Prio 2 - Abarbeitung erforderlich
Prio 3 - Abarbeitung kann warten
Prio 99 - Abarbeitung erfordert Vorarbeiten

Status

10 - Erfasst
30 - in Bearbeitung
50 - Lösung definiert
70 - in Umsetzung
90 - Umsetzung abgeschlossen
99 - Abbruch per Beschluss (Dokumentation dazu erforderlich)
100 - Maßnahme bestätigt

ToDo-Liste: Allgemeines

Arbeitspaket Wer Prio Status WV
Sicherheitsfunktionen 99 50
Übersicht über verbaute Aktorik und Sensorik in Tabellenform 2 90
Stromsparmodus 99 10

ToDo-Liste: MCUs - Hardwarenahe Software

Arbeitspaket Wer Prio Status WV
Grundfunktionen der MCU und mehrere MCUs Armin Rohnen 1 70
UART-Kommunikation Multi-MCU 3 10
Basisboard: Schalten Magnetventile (Labor) STM32-Basisboard MATLAB®GUI 100
Basisboard: Pumpenansteuerung Basisboard Multi-MCU Noureddine Ait Ouhamou 1 90 08.06.2023
Basisboard: Schrittmotorsteuerungen Basisboard Multi-MCU Noureddine Ait Ouhamou 1 90 08.06.2023
Basisboard: Tastenerkennung Basisboard Multi-MCU Noureddine Ait Ouhamou 3 10
Basisboard: Füllstandserkennung Basisboard Multi-MCU Noureddine Ait Ouhamou 1 90 08.06.2023
Basisboard: Durchflussmessung Basisnoard Multi-MCU Noureddine Ait Ouhamou 1 90 08.06.2023
SSR-Platine: Schalten Magnetventile SSR-Platine Multi-MCU Noureddine Ait Ouhamou 1 90 08.06.2023
SSR-Platine: Schrittmotorsteuerungen SSR-Platine Multi-MCU Noureddine Ait Ouhamou 1 90 08.06.2023
Messplatine: Messdatenerfassung Multi-MCU Noureddine Ait Ouhamou 1 90 08.06.2023


ToDo-Liste: MCUs - Realisierung und Übernahme der Funktionen

Arbeitspaket Wer Prio Status WV
Füllstandsregler Basisboard Multi-MCU 2 10
Regler Boilerdruck Messplatine Multi-MCU 2 10
Mischregler Basisboard Multi-MCU 2 10
Durchflussregler Basisboard Multi-MCU 2 10
Preinfusion Basisboard Multi-MCU 2 10
einfacher (manueller) Kaffeebezug Basisboard Multi-MCU 2 10
Kaffeebezug Basisboard Multi-MCU 2 10
Wasserbezug Basisboard Multi-MCU 2 10
Dampfbezug Basisboard Multi-MCU 2 10
Spülvorgänge Basisboard Multi-MCU 2 10
Grundreinigung Basisboard Multi-MCU 2 10
Tastenbedienung Basisboard Multi-MCU 2 10

ToDo-Liste: MATLAB®-Funktionen und GUI

Arbeitspaket Wer Prio Status WV
MATLAB®-GUI Start der App Armin Rohnen 100
MATLAB®-GUI Initialisierung Multi-MCU Armin Rohnen 1 90
MATLAB®-GUI Schalten Magnetventile Armin Rohnen 100
MATLAB®-GUI Datensicherung Armin Rohnen 1 100
Messwerte erfassen Multi-MCU Armin Rohnen 1 90
Pumpenansteuerung Multi-MCU Armin Rohnen 100
Füllstandsregler Multi-MCU Armin Rohnen, Noureddine Ait Ouhamou 1 90 18.09.2023
Regler Boilerdruck Multi-MCU Noureddine Ait Ouhamou 1 30 18.09.2023
Mischregler Multi-MCU Noureddine Ait Ouhamou 1 30 18.09.2023
Durchflussregler Multi-MCU Noureddine Ait Ouhamou 1 30 02.1ß.2023
Preinfusion Multi-MCU 99 10
einfacher Kaffeebezug Multi-MCU Armin Rohnen 100
Kaffeebezug Multi-MCU Armin Rohnen 1 70
Wasserbezug Multi-MCU Armin Rohnen 1 70
Dampfbezug Multi-MCU Armin Rohnen 3 30
Spülvorgänge Multi-MCU Armin Rohnen 1 50
Grundreinigung Multi-MCU 1 10
Tastenbedienung Multi-MCU 2 10
Display Multi-MCU 3 10
Glasboiler Abtropfwanne 3 10
Schrittmotorensteuerung Bypass Armin Rohnen 1 70
Schrittmotorensteuerung Mischer Armin Rohnen 1 70
Schrittmotorensteuerung Brühgruppendrossel Armin Rohnen 1 70
Adaption an Multi-MCU - Neuprogrammierung MATLAB® GUI 1 100
Dokumentation der Software mit STM32-Elektronik.
Ein Betrieb dieser wird nicht mehr weiter verfolgt.
Messwerte erfassen (Labor)
Pumpenansteuerung (Labor)
Füllstandsregler (Labor)
Regler Boilerdruck (Labor)
Mischregler (Labor)
Durchflussregler (Labor)
einfacher Kaffeebezug (Labor)
Kaffeebezug (Labor)
Wasserbezug (Labor)
Dampfbezug
Spülvorgänge (Labor)
Tastenbedienung (Labor)
Anpassungen für Schrittmotorensteuerung

ToDo-Liste: APP

Arbeitspaket Wer Prio Status WV
APP - Konzept 2 10
Messwerte erfassen APP 99 10
Preset / Profilverwaltung 99 10