Maschinensimulator: Unterschied zwischen den Versionen
(Dokumentation: Simulation von Temperatur- und Druckwerten) |
|||
| (9 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
= Armin Rohnen, 19.10.2025 - Konzept des Maschinensimulators = | = Philipp Schiebel, 02.02.2026 - Simulation von Temperatur- und Druckwerten = | ||
== Einleitung und Zielsetzung== | |||
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. | |||
== Problemstellung und Lösungsansatz== | |||
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. | |||
Um eine präzise Simulation physikalischer Werte zu ermöglichen, wurde ein Software-Modell implementiert, das folgende Komponenten umfasst: | |||
'''Konfigurierbare physikalische Modellierung:''' Abstraktion verschiedener Sensortypen durch hinterlegte Kennlinien-Profile (z. B. 4 bar vs. 16 bar Sensoren). | |||
'''Linearisierung:''' Kompensation der Hardware-Nichtlinearität des Potentiometers durch empirisch ermittelte Stützstellen. | |||
'''Sicherheitslogik:''' Automatische Begrenzung der elektrischen Ausgabewerte zum Schutz der Hardware vor Kurzschlüssen. | |||
==Implementierungsdetails == | |||
===Simulation der Temperatursensoren (NTC)=== | |||
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): | |||
<math>R(T) = R_0 \cdot e^{B \cdot (\frac{1}{T} - \frac{1}{T_0})}</math> | |||
Aktuell implementierte Sensortypen: | |||
'''Standard-NTC (Typ 1):''' 𝑅<sub>25</sub> = 10𝑘Ω ,𝐵 = 3977K | |||
'''Tabellen-basierter NTC (Typ 2):''' 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. | |||
Der berechnete Widerstandswert wird anschließend durch die Interpolationsfunktion in den korrekten Digitalwert für den MCP4151 übersetzt. | |||
===Linearisierung durch Interpolation=== | |||
Da keine geschlossene mathematische Funktion für das Verhalten der beschalteten Potentiometer vorliegt, wird eine Look-Up Table (LUT) mit linearer Interpolation verwendet. | |||
Der Algorithmus prüft, zwischen welchen zwei Stützstellen (P1 , P2 ) der angeforderte physikalische Wert (P<sub>target</sub>) liegt und berechnet den zugehörigen digitalen Steuerwert (D<sub>out</sub>): | |||
<math>D_{out} = D_1 + \frac{P_{target} - P_1}{P_2 - P_1} \cdot (D_2 - D_1)</math> | |||
Diese Logik ist in der internen Funktion _interpolate() implementiert. | |||
Die Stützstellen basieren auf Messreihen des realen Aufbaus. | |||
'''Widerstandssimulation (NTC):''' 6 Stützstellen im Bereich 96 Ω bis 9180 Ω | |||
'''Spannungssimulation:''' 5 Stützstellen im Bereich 144 mV bis 4060 mV | |||
===Simulation analoger Spannungssensoren === | |||
Für Drucksensoren (Kanäle 4–7) wird der MCP4151 als Spannungsteiler betrieben. | |||
Die Umrechnung von Druck p (bar) in Spannung U (Volt) berücksichtigt den sensorspezifischen Maximaldruck p<sub>𝑚𝑎𝑥</sub>. | |||
<math>U_{target} = U_{offset} + \frac{p}{p_{max}} \cdot (U_{max} - U_{min})</math> | |||
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. | |||
===Robustheit (Defensive Programmierung)=== | |||
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: | |||
value = max(0, min(255, int(value))) | |||
Dies verhindert, dass Berechnungsfehler oder Überläufe einen Programmabsturz verursachen könnten. | |||
==Funktionsnutzung== | |||
Über die folgenden Funktionen sollen Druck und Temperatur simuliert werden: | |||
*'''set_temperature(ch, temp_celsius)''' | |||
**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. | |||
**Parameter: ch (Kanal 0-3), temp_celsius (Zieltemperatur in Celsius). | |||
**Rückgabe: Berechneter Widerstand in Ohm (für Debugging). | |||
*'''set_pressure(ch, pressure_bar)''' | |||
**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. | |||
**Parameter: ch (Kanal 4-7), pressure_bar (Zieldruck in bar). | |||
**Rückgabe: Berechnete Zielspannung in Volt (für Debugging). | |||
*'''set_poti(ch, value)''' | |||
**Beschreibung: Low-Level Zugriff zum direkten Setzen des Digitalwertes (0- 255). Umgeht die physikalischen Modelle. Sollte nur für Debugging-Zwecke genutzt werden. | |||
==Weiteres Vorgehen== | |||
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. | |||
=Armin Rohnen, 29.10.2025 - Funktionstest MCP4151 (digitaler Widerstand)= | |||
Über den Programmcode | |||
def set_poti(ch, value): <br> | |||
if not 0 <= ch < len(cs):<br> | |||
raise ValueError('Ungültiger Kanal (0–7)')<br> | |||
if not 0 <= value <= 255:<br> | |||
raise ValueError('Wert muss zwischen 0 und 255 liegen')<br> | |||
<br> | |||
cs[ch].value(0)<br> | |||
spi.write(bytearray([CMD_WRITE << 4, value]))<br> | |||
cs[ch].value(1)<br> | |||
<br> | |||
spi = SPI(0, baudrate=400000, sck=Pin(2), mosi=Pin(3), miso=Pin(4))<br> | |||
cs = [Pin(pin, Pin.OUT, value=1) for pin in (5, 6, 7, 8, 9, 10, 11, 12)]<br> | |||
werden die Widerstandswerte für die einzelnen simulierten Sensoren eingestellt. Konkret führt die Anweisung | |||
set_poti(ch, value) | |||
zur Verstellung des Widerstandswertes im MCP4151. Darin ist ch die Kanalnummer (0 bis 7) und value der Digitalwet ( 0 bis 255). | |||
Für die Kanäle 0 bis 3 wird über den Widerstandswert jeweils ein NTC simuliert. Die Abhängigkeit ist jedoch nicht linear. | |||
{| class="wikitable" | |||
|+Wertetabelle für den simulierten NTC-Widerstand | |||
|- | |||
!Digitalwert!!Widerstand in Ohm | |||
|- | |||
|0||96 | |||
|- | |||
|50||1550 | |||
|- | |||
|100||3740 | |||
|- | |||
|150||5490 | |||
|- | |||
|200||7240 | |||
|- | |||
|255||9180 | |||
|} | |||
Der Zusammenhang zwischen Digitalwert und simulierte Temperatur muss noch ermittelt werden. | |||
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.<br> | |||
Aufgrund des nichtlinearen Widerstandsverlaufs ergibt sich ein ebenso nichtlinearer Spannungsverlauf. | |||
{| class="wikitable" | |||
|+Wertetabelle für den simulierten Sensorwert (Spannung) | |||
|- | |||
!Digitalwert!!Spannung in mV | |||
|- | |||
|50||4060 | |||
|- | |||
|100||3740 | |||
|- | |||
|150||2102 | |||
|- | |||
|200||1122 | |||
|- | |||
|255||144 | |||
|} | |||
Der Zusammenhang zwischen Digitalwert und dem zu simulierenden Sensorwert muss noch ermittelt werden. | |||
=Armin Rohnen, 29.10.2025 - Schaltungsaufbau= | |||
Der Schaltplan für den Maschinensimulator ist soweit erstellt. Inhaltlich fehlt die Transistorfolgeschaltung für die Simulation des Flowmetersignals.<br> | |||
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. | |||
=Armin Rohnen, 19.10.2025 - Konzept des Maschinensimulators= | |||
Für die Steuerungselektronik besteht die Siebträger Espressomaschine aus Messwerten. Dies sind in der aktuellen Form | Für die Steuerungselektronik besteht die Siebträger Espressomaschine aus Messwerten. Dies sind in der aktuellen Form | ||
* 4 NTC Temperatursensoren mit 10 kOhm | *4 NTC Temperatursensoren mit 10 kOhm | ||
* 2 Druckmesswerte im Spannungsbereich 0,5 bis 4,5 V | *2 Druckmesswerte im Spannungsbereich 0,5 bis 4,5 V | ||
* Leitwert und Temperatur des zufließenden Wassers im Spannungsbereich 0 bis 5 V | *Leitwert und Temperatur des zufließenden Wassers im Spannungsbereich 0 bis 5 V | ||
* Flowmeter mit 39,9 Impulsen je ccm | *Flowmeter mit 39,9 Impulsen je ccm | ||
* 4 Füllstandssensoren über Kurzschlussdetektion | *4 Füllstandssensoren über Kurzschlussdetektion | ||
Angedacht ist eine Hardware herzustellen, welche diese Messwerte simuliert. | Angedacht ist eine Hardware herzustellen, welche diese Messwerte simuliert. | ||
Bei dem Bauelement | 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. | ||
Der Kurzschluss für die Füllstandssensoren soll über das Bauelement DG 411 DJZ und das Flowmeter über eine Transistorschaltung erzeugt werden. | Der Kurzschluss für die Füllstandssensoren soll über das Bauelement DG 411 DJZ und das Flowmeter über eine Transistorschaltung erzeugt werden. | ||
| Zeile 17: | Zeile 165: | ||
Es ist zu überlegen, ob der Simulator mit in den Kommunikations-Ring des Systems eingebunden wird. | Es ist zu überlegen, ob der Simulator mit in den Kommunikations-Ring des Systems eingebunden wird. | ||
Der Maschinensimulator wird zunächst auf | Der Maschinensimulator wird zunächst auf einem Breadboard realisiert um nach erfolgreichem Test die Schaltung in ein Platinenlayout zu überführen. | ||
Aktuelle Version vom 2. Februar 2026, 17:08 Uhr
Philipp Schiebel, 02.02.2026 - Simulation von Temperatur- und Druckwerten
Einleitung und Zielsetzung
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.
Problemstellung und Lösungsansatz
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.
Um eine präzise Simulation physikalischer Werte zu ermöglichen, wurde ein Software-Modell implementiert, das folgende Komponenten umfasst:
Konfigurierbare physikalische Modellierung: Abstraktion verschiedener Sensortypen durch hinterlegte Kennlinien-Profile (z. B. 4 bar vs. 16 bar Sensoren).
Linearisierung: Kompensation der Hardware-Nichtlinearität des Potentiometers durch empirisch ermittelte Stützstellen.
Sicherheitslogik: Automatische Begrenzung der elektrischen Ausgabewerte zum Schutz der Hardware vor Kurzschlüssen.
Implementierungsdetails
Simulation der Temperatursensoren (NTC)
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):
Aktuell implementierte Sensortypen:
Standard-NTC (Typ 1): 𝑅25 = 10𝑘Ω ,𝐵 = 3977K
Tabellen-basierter NTC (Typ 2): 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.
Der berechnete Widerstandswert wird anschließend durch die Interpolationsfunktion in den korrekten Digitalwert für den MCP4151 übersetzt.
Linearisierung durch Interpolation
Da keine geschlossene mathematische Funktion für das Verhalten der beschalteten Potentiometer vorliegt, wird eine Look-Up Table (LUT) mit linearer Interpolation verwendet.
Der Algorithmus prüft, zwischen welchen zwei Stützstellen (P1 , P2 ) der angeforderte physikalische Wert (Ptarget) liegt und berechnet den zugehörigen digitalen Steuerwert (Dout):
Diese Logik ist in der internen Funktion _interpolate() implementiert.
Die Stützstellen basieren auf Messreihen des realen Aufbaus.
Widerstandssimulation (NTC): 6 Stützstellen im Bereich 96 Ω bis 9180 Ω
Spannungssimulation: 5 Stützstellen im Bereich 144 mV bis 4060 mV
Simulation analoger Spannungssensoren
Für Drucksensoren (Kanäle 4–7) wird der MCP4151 als Spannungsteiler betrieben.
Die Umrechnung von Druck p (bar) in Spannung U (Volt) berücksichtigt den sensorspezifischen Maximaldruck p𝑚𝑎𝑥.
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.
Robustheit (Defensive Programmierung)
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:
value = max(0, min(255, int(value)))
Dies verhindert, dass Berechnungsfehler oder Überläufe einen Programmabsturz verursachen könnten.
Funktionsnutzung
Über die folgenden Funktionen sollen Druck und Temperatur simuliert werden:
- set_temperature(ch, temp_celsius)
- 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.
- Parameter: ch (Kanal 0-3), temp_celsius (Zieltemperatur in Celsius).
- Rückgabe: Berechneter Widerstand in Ohm (für Debugging).
- set_pressure(ch, pressure_bar)
- 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.
- Parameter: ch (Kanal 4-7), pressure_bar (Zieldruck in bar).
- Rückgabe: Berechnete Zielspannung in Volt (für Debugging).
- set_poti(ch, value)
- Beschreibung: Low-Level Zugriff zum direkten Setzen des Digitalwertes (0- 255). Umgeht die physikalischen Modelle. Sollte nur für Debugging-Zwecke genutzt werden.
Weiteres Vorgehen
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.
Armin Rohnen, 29.10.2025 - Funktionstest MCP4151 (digitaler Widerstand)
Über den Programmcode
def set_poti(ch, value):
if not 0 <= ch < len(cs):
raise ValueError('Ungültiger Kanal (0–7)')
if not 0 <= value <= 255:
raise ValueError('Wert muss zwischen 0 und 255 liegen')
cs[ch].value(0)
spi.write(bytearray([CMD_WRITE << 4, value]))
cs[ch].value(1)
spi = SPI(0, baudrate=400000, sck=Pin(2), mosi=Pin(3), miso=Pin(4))
cs = [Pin(pin, Pin.OUT, value=1) for pin in (5, 6, 7, 8, 9, 10, 11, 12)]
werden die Widerstandswerte für die einzelnen simulierten Sensoren eingestellt. Konkret führt die Anweisung
set_poti(ch, value)
zur Verstellung des Widerstandswertes im MCP4151. Darin ist ch die Kanalnummer (0 bis 7) und value der Digitalwet ( 0 bis 255).
Für die Kanäle 0 bis 3 wird über den Widerstandswert jeweils ein NTC simuliert. Die Abhängigkeit ist jedoch nicht linear.
| Digitalwert | Widerstand in Ohm |
|---|---|
| 0 | 96 |
| 50 | 1550 |
| 100 | 3740 |
| 150 | 5490 |
| 200 | 7240 |
| 255 | 9180 |
Der Zusammenhang zwischen Digitalwert und simulierte Temperatur muss noch ermittelt werden.
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.
Aufgrund des nichtlinearen Widerstandsverlaufs ergibt sich ein ebenso nichtlinearer Spannungsverlauf.
| Digitalwert | Spannung in mV |
|---|---|
| 50 | 4060 |
| 100 | 3740 |
| 150 | 2102 |
| 200 | 1122 |
| 255 | 144 |
Der Zusammenhang zwischen Digitalwert und dem zu simulierenden Sensorwert muss noch ermittelt werden.
Armin Rohnen, 29.10.2025 - Schaltungsaufbau
Der Schaltplan für den Maschinensimulator ist soweit erstellt. Inhaltlich fehlt die Transistorfolgeschaltung für die Simulation des Flowmetersignals.
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.
Armin Rohnen, 19.10.2025 - Konzept des Maschinensimulators
Für die Steuerungselektronik besteht die Siebträger Espressomaschine aus Messwerten. Dies sind in der aktuellen Form
- 4 NTC Temperatursensoren mit 10 kOhm
- 2 Druckmesswerte im Spannungsbereich 0,5 bis 4,5 V
- Leitwert und Temperatur des zufließenden Wassers im Spannungsbereich 0 bis 5 V
- Flowmeter mit 39,9 Impulsen je ccm
- 4 Füllstandssensoren über Kurzschlussdetektion
Angedacht ist eine Hardware herzustellen, welche diese Messwerte simuliert.
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.
Der Kurzschluss für die Füllstandssensoren soll über das Bauelement DG 411 DJZ und das Flowmeter über eine Transistorschaltung erzeugt werden.
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.
Es ist zu überlegen, ob der Simulator mit in den Kommunikations-Ring des Systems eingebunden wird.
Der Maschinensimulator wird zunächst auf einem Breadboard realisiert um nach erfolgreichem Test die Schaltung in ein Platinenlayout zu überführen.