Systemelektronik

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

Breites Logoband.png


Armin Rohnen, 05.10.2023

Auf Basis der bisherigen Erfahrungen und der Anforderung(en) durch mehrgruppige Maschinentypen wie z. B. die 2-Zylinder Glasboilermaschine ist das finale Elektronik-Konzept [104] entsanden.

Für die Prototypen nach 10.2023 soll diese Elektronik entwickelt und verbaut werden. Diese Elektronik stellt den final angestrebten modularen Stand dar.

SSR-Platine - Kennung ssr

Alle Magnetventile werden über die SSR-Platine geschaltet. Diese verfügt über eine Raspberry Pi Pico MCU. 12 SSRs (z. B. VOR1121) für die Schaltung der 11 Magnetventile der Maschinenbasisvariante sowie ein SSR zur Reserve befinden sich auf der Platinenbasis. Jeweils 6 weitere SSRs werden über Aufsteckplatinen für die Erweiterung auf 2 Brühgruppen bzw. 3 Brühgruppen untergebracht.

Diese Platine beinhaltet die 230 V AC und die 24 V DC Verteilung.

Auf dieser MCU werden keine Regelkreise gerechnet.

Die Platinenmaße dürfen 162 x 75 mm nicht überschreiten. Die Positionierung ist in der 1-Zylinder- Glasboilermaschine stehend in Bauraum 1 als letzte Platine vorgesehen.

Schrittmotorplatine - Kennung sch

Alle Schrittmotoren werden über die Schrittmotorplatine angesteuert. Diese verfügt über eine Raspberry Pi Pico MCU. Die Platine wird für den maximalbedarf an Schrittmotoren ausgelegt jedoch nur soweit wie der Bedarf ist bestückt. Dies ermöglicht im Prototypenbau die Ansteuerung der zusätzlich erforderlichen Schrittmotoren.

Auf dieser MCU werden keine Regelkreise gerechnet. Um mehrere Schrittmotoren gleichzeitig stellen zu können muss die MicroPython-Funktion asyncio verwendet werden. Durch die erforderlichen Pausen während der einzelnen Schrittmotoransteuerungen ergeben sich nutzbare Wartezeiten für die verschachtelte Ausführung.

Die Platinenmaße dürfen 162 x 75 mm nicht überschreiten. Die Positionierung ist in der 1-Zylinder-Glasboilermaschine stehend in Bauraum 1 als vorletzte Platine vorgesehen. Die Bohrungen für die Platinenbefestigung müssen im gleichen Raster wie bei der SSR-Platine gesetzt werden.

Basisplatine - Kennung bas

Die Basisplatine umfasst die gesamten Funktionssteuerungen, Regelungen und Messdatenerfassung für den Maschinenbetrieb. Um dies leisten zu können wird ein NUCLEO STM32H743ZI2 MCU-Board verwendet. Das Board kann mit MicroPython betrieben werden, verfügt über 140 PINs, 12-Bit-DACs und 16-Bit-ADCs.

Die Basisplatine wird aufgrund des großen Schaltungsaufwandes ein Platinenpaket werden. Eine Mutterplatine, welche die Maße 164 x 98 mm nicht überschreiten darf, wird durch weitere Aufsteckund Ansteck-Platinen zu einem gesamthaften Platinenpaket. Die Maximaldimensionen des Platinenpaketes sind durch die verfügbaren Bauräume limitiert. In der Variante für eine Brühgruppe darf der Bauraum 45 x 164 x 98 mm nicht überschritten werden.

Die Grundvariante der Basisplatine wird für Maschinen mit 1 Brühgruppe ausgelegt. Dies umfasst die digitale Verarbeitung des Flowmeters und der Drehknöpfe, 4 Füllstandsdetektionen, 4 NTCMesswerte und 4 Spannungsmesswerte. Es werden 2 PWM Signale welche wahlweise die 1000 W Heizelemente über 5 A SSRs steuern oder SSRs für höhere Leistungen ansteuern. Die Platine enthält ebenso die Ansteuerung eines Displays mit Touch-Funktion und für die Kommunikation mit den beiden anderen Platinen werden 2 UART-Schnittstellen verwendet.

Um die Störungssicherheit zu erhöhen werden die Display- und Touch-Schnittstellen für die Varianten mit 2 und 3 Brühgruppen in der Grundvariante angelegt jedoch nur bei Bedarf bestückt. Reicht das Platinenmaß 164 x 98 mm nicht aus, muss durch eine Aufsteckplatine die nutzbare Platinenfläche erweitert werden.

Die Grundvariante kann um bis zu 2 Ansteck- oder Aufsteck-Platinen für den Erweiterungsbedarf der mehrgruppigen Varianten erweitert werden. Der Erweiterungsumfang ist für die 2. oder die 3. Brühgruppe jeweils identisch und umfasst je eine Platine mit den Schaltungen für

  • 1 Flowmeter
  • 1 Füllstand
  • 1 Signalaufbereitung Tasten
  • 3 Signalaufbereitungen für NTC-Messwerte
  • 2 Signalaufbereitungen für Spannungsmesswerte
  • 1 Signalverstärkung für die Pumpensteuerspannung
  • 1 Leistungs SSR 5 A oder höher

Durch die Steckbaren Zusatzplatinen und die Grundauslegung der Basisplatine für die Erfassung der Messdaten im Gesamtumfang kann für Erprobungs- und Forschungszwecke eine eingruppige Maschine mit einer Steuerung für eine mehrgruppige Maschine betrieben werden. Was den Bedarf an zusätzlicher Sensorik abdecken dürfte.

Als Alternative für die Leistungs-SSRs (XSSRs) bietet sich u.u. eine eigenständige Leistungsplatine an, welche dann auch den Verteiler des 230 V AC vornimmt. Hierzu ergibt sich allerdings die Fragestellung des in der 1-Zylinder Glasboilermaschine vorhandenen Bauraums.

Kommunikation der Platinen untereinander

Die Kommunikation geht von der Basisplatine aus. Es werden über UART an die SSR-Platine und Schrittmotorplatine kurze Kommandosequenzen gesendet.

Bauräume

1-Gruppige Maschinen

  • Bauraum 1: 80 x 164 x 77 mm
  • Bauraum 2: 80 x 164 x 98 mm, davon 33 x 164 x 98 mm vom Netzteil belegt.

2-Gruppige Maschinen

Es stehen unter der Abtropfschale drei Bauräume zur Verfügung

  • 2 Bauräume zu je 282 x 180 x 65 mm
  • 1 Bauraum 92 x 78 x 65 mm

Armin Rohnen, 23.02.2023 - STEP-Dateien der Platinen

In den STEP-Dateien der Platinen sind einige Bauelemente, insb. die Federklemmen nicht in der waren Größe abgebildet. In den einzelnen Wiki-Seiten sind die relevanten Datenblätter verlinkt, bzw. hier:

Armin Rohnen, 07.02.2023

Grundlegend kann die Systemelektronik nicht ohne die Systemsoftware betrachtet werden.

Die aktuell verwendete und leider nur sehr gering dokumentierte Elektronik wird aus mehreren Gründen auf eine Multi-MCU-Elektronik umgestellt. Zum einen bestehen immer wieder Lieferengpässe bei verfügbaren MCU-Evaluationsboards, was dazu geführt hat, dass sich für das am wahrscheinlichsten verfügbare und obendrein auch relativ kostengünstige Raspberry Pi Pico Board endschieden wurde. Dies ist mit und ohne W-Lan verfügbar.

Zum Anderen erfordert ein MCU-Wechsel auch immer eine Anpassung der Systemelektronik, so dass die Überlegung nach der wahrscheinlich verfügbarsten MCU wichtig für die Projektweiterführung ist.

Als weiterer technischer Aspekt für die Entscheidung der überarbeiteten Systemelektronik ist die Entscheidung bezüglich einiger steuerbarer Ventile in den Maschinen. Es werden nun mehrere Schrittmotorsteuerungen benötigt, welche den Ausführungstask auf dem jeweiligen Prozessor(kern) bis zu 1 Sekunde blockieren können. Dies würde die Systemsteuerung nicht unerheblich blockieren.

Schema der Systemsteuerung

Abbildung 1) Schema der Multi-MCU-Systemelektronik
Abbildung 1) Schema der Multi-MCU-Systemelektronik

Die Multi-MCU-Elektronik (Abbildung 1) besteht im Kern aus drei Systemboards, welche jeweils mit einem Raspberry Pi Pico als MCU bestückt sind. Während der Entwicklungsphase erfolgt für jedes der drei Boards eine eigenständige USB-Verbindung zu einem übergeordneten PC mit einer MATLAB®-GUI. Im Produktivbetrieb soll dies für die Labormaschine lediglich über das Basisboard erfolgen. Eventuell kann im Produktivbetrieb gänzlich auf eine USB-Verbindung verzichtet werden, wenn per W-LAN oder Bluetooth ein Datenaustausch ermöglicht werden kann. Prinzipiell ist ein Datenaustausch im Produktivbetrieb via MQTT darstellbar.

Unterschied Entwicklungsbetrieb / Produktivbetrieb

Für die Systemsoftware wurde ein mehrstufiger Entwicklungsprozess definiert:

  1. Nutzung von MCUs welche mit MicroPython programmiert werden können.
  2. Auf den MCUs werden lediglich die elementaren Grundfunktionen (GPIO schalten und erfassen, Messwert erfassen, PWM Ausgeben, Sollwert ausgeben, etc.) realisiert und über die MATLAB® meets MicroPython - 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.
  4. Nach Abschluss der Testphase der MATLAB® Bedienung wird schrittweise die Betriebssoftware in MicroPython auf der MCU implementiert, so dass am Ende dieses Prozessschrittes ein Produktivbetrieb ohne MATLAB®-Verbindung möglich ist. Die MATLAB®-Verbindung dient dann lediglich für weiterführende Datenerfassung, grafische Darstellungen, welche nicht mit dem Display der Maschine möglich ist oder dort nicht dargestellt werden soll und Servicefunktionen.

Eine Portierung der Software nach C ist nicht vorgesehen.

Basisboard

Die für den Betrieb der Kaffeemaschine wichtigen Steuerungen und Regelungen

  • Pumpensteuerung
  • Füllstandsregler
  • Durchflussregler
  • Mischtemperaturregler

und die Funktionssteuerung mit

  • Preinfusion
  • Kaffeebezug
  • Wasserbezug
  • Dampfbezug
  • Spülen (Rückspülreinigung)
  • Grundreinigung

werden auf der MCU des Basisboards durchgeführt. Die Verwaltung von Presets kann für wenige Presets auf diesem Board stattfinden, umfangreichere Datensammlungen müssen jedoch auf einem übergeordnetem System stattfinden.

Ziel ist, dass im Produktivbetrieb eine MATLAB®-Verbindung nicht erforderlich ist. Optional soll im Produktivbetrieb über USB eine MATLAB®-GUI angesschlossen werden können.

Über die UART1-Schnittstelle werden die Anweisungen zum Magnetventilschalten, die Initialisierungen von Dampfhahn und Dosierventil sowie die Positionierung von Dampfhahn und Dosierventil übermittelt.

Die UART2-Schnittstelle dient der Kommunikation mit der Messplatine. Die Messplatine sendet in einem definierten Takt kontinuierlich die Messdaten an das Basisboard. Umgekehrt erfolgt lediglich eine Kommunikation bei Änderung der Sollwerteinstellungen für den Boilerdruck und der Solltemperatur am Tassenwärmer.

Das Basisboard verfügt über einen 24 V Spannungsverteiler sowie über den 5 V Spannungsregler und Spannungsverteiler. Es dient zur Ermittlung der Flowrate über das Flowmeter, der Erkennung der Füllstände (Tank min., Tank max. Abwasser max., Boiler max.) und der Bedientastenerkennung inkl. Drehinkrementerkennung. Es werden die selten zu betätigenden Schrittmotoren der Brühgruppendrossel und des Pumpenbypasses angesteuert sowie der Pumpensollwert (0 - 5 V) ausgegeben.

SSR-Platine

Die SSR-Platine schaltet die Magnetventile mit 24 V DC Magnetspulen, die beiden 230 V AC XSSRs sowie die Schrittmotorsteuerung für das Dosierventil und den Dampfhahn.

Schaltkommandos dazu erfolgen über die UART1-Schnittstelle von der Basisplatine für die Schrittmotoren und die Magnetventile, während für die XSSRs das Steuersignal, üblich PWM, über eine Kabelverbindung von der Messplatine erfolgt.


Messplatine

Auf der Messplatine werden an insgesamt 8 Eingängen über einen 16-Bit-ADS1115 ADC mit vorgeschaltetem Multiplexer kontinuierlich Messdaten erfasst. Die Messdaten werden über die UART1-Schnittstelle an das Basisboard zur Weiterverarbeitung übermittelt.

Die Messplatine führt die Regelungen für den Boilerdruck und den Tassenwärmer durch. Die Sollwerte hierzu werden über die UART1-Schnittstelle vom Basisboard übermittelt. Wert 0 bedeutet dabei die Deaktivierung des Reglers. Initial sind die Regler mit Sollwert = 0 deaktiviert. Die Stellwerte der regler sind PWM-Signale, welche an die SSR-Platine per Hardwareleitung übertragen werden, um dort XSSRs zu steuern.

Bisherige Steuerungselektronik(en)

Eine Dokumentation der bisherigen Varianten der Steuerungselektronik wird im Wiki nicht mehr nagezogen.


Armin Rohnen, 15.01.2022

Telefonat mit einem Dienstleister zur Elektronikentwicklung

Manfred Eggersdorf, eggersdorf.com, 033233 40 94 70

Seiner Einschätzung nach wären 3 bis 4 Entwicklungsschleifen erforderlich- Aufgrund der aktuellen Situation in der Bauelementeverfügbarkeit müssen dafür 12 bis 18 Monate Entwicklungszeitraum einkalkuliert werden.

Er schätzt die Entwicklungskosten (ohne Platinen, Bauelemente etc.) auf ca. 40 k€.

Die Kosten kommen aus einem Vergleich mit einem anderen Projekt. Schaltpläne sowie Infos zu bekannten Fehlern, Verbesserungsvorschläge, etc. werden natürlich benötigt.

Vor der nächsten Entwicklungsschleife der Elektronik muss der Funktionsumfang, Sensoreingänge, Ausgänge, etc. fix definiert sein.

Die Elektronik muss eigenständig CE geprüft sein. Die Kosten dazu betragen ca. 5 k€.

Armin Rohnen, 15.01.2022

Einschätzung zur weiteren Elektronikentwicklung von Marius Ghica, der die aktuelle Elektronik entwickelt hat. Es sind noch drei weitere Entwicklungsschleifen erforderlich. Je Entwicklungsschleife würde er ca. 50 Arbeitsstunden benötigen. Ein neu beauftragter Dienstleister sollte für seine erste Entwciklungsschleife mit der doppelten Arbeitszeit zurecht kommen. Daraus leitet sich sich ab:

  1. Entwicklungsschleife 15 k€
  2. Entwicklungsschleife 7,5 k€
  3. Entwicklungsschleife 7,5 k€
  4. CE 5 k€

ergibt in Summe: 35 k€

Auch Marius Ghica weist darauf hin, dass zur nächsten Entwicklungsschleife die Ein- und Ausgänge zur Elektronik definiert sein müssen und es danach keine Veränderungen in der Spezifikation mehr geben darf.

ToDo Systemelektronik

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 Systemelektronik

lfd-Nr. Arbeitspaket ToDo Wer Status WV
1 Basisboard Basisboard 100
2 Messplatine Messplatine 100
3 SSR-Platine SSR-Platine 100
4 Schrittmotor Schrittmotor-Treiber 100
========== Finalisierung ==========
5 Basisboard Basisboard 2. Version 10
6 SSR-Platine SSR-Platine 2. Version 10
7 Schrittmotor Schrittmotorsteuerung 2. Version 10