Evaluation STM32H7: Unterschied zwischen den Versionen

Aus Technische Beeinflussbarkeit der Geschmacksache Kaffee
Zur Navigation springen Zur Suche springen
 
Zeile 9: Zeile 9:
! Bemerkung !! Belegung !! Nutzung !! Name !! PIN !! PIN !! Name !! Nutzung !! Belegung !! Bemerkung
! Bemerkung !! Belegung !! Nutzung !! Name !! PIN !! PIN !! Name !! Nutzung !! Belegung !! Bemerkung
|-
|-
| || Dosierventil 1. BG A-|| I/O|| D16|| 1 || 2 || D15|| I/O|| Dosierventil 1. BG A+||
| DIG_A-|| Dosierventil 1. BG A-|| I/O|| D16|| 1 || 2 || D15|| I/O|| Dosierventil 1. BG A+||DIG_A+
|-
|-
|  || Dosierventil 1. BG B-|| I/O|| D17|| 3 || 4 || D14|| I/O||  Dosierventil 1. BG B+||
DIG_B-|| Dosierventil 1. BG B-|| I/O|| D17|| 3 || 4 || D14|| I/O||  Dosierventil 1. BG B+||DIG_B+
|-
|-
|  || || I/O||  D18|| 5 || 6 || || || ||
|  || || I/O||  D18|| 5 || 6 || || || ||
|-
|-
| || Tank Füllstand min.|| I/O|| D19|| 7 || 8 || || || ||
| FUELL1|| Tank Füllstand min.|| I/O|| D19|| 7 || 8 || || || ||
|-
|-
| || || I/O|| D20|| 9 || 10 || D13|| DAC|| (Pumpe 2. BG)||DAC(2), 0 ... 3,3 V
| || || I/O|| D20|| 9 || 10 || D13|| DAC|| (Pumpe 2. BG)||DAC(2), 0 ... 3,3 V
|-
|-
| || Tank Füllstand max.|| I/O|| D21|| 11 || 12 || D12|| ADC|| Brühgruppendruck 1. BG||0,5 ... 4,5 V, 0 ... 12 bar
| FUELL2|| Tank Füllstand max.|| I/O|| D21|| 11 || 12 || D12|| ADC|| Brühgruppendruck 1. BG||SIG7
0,5 ... 4,5 V, 0 ... 12 bar
|-
|-
| || Füllstand Abtropfschale|| I/O|| D22|| 13 || 14 || D11|| I/O|| Heizelement 1. BG||8 Hz PWM
| FUELL3|| Füllstand Abtropfschale|| I/O|| D22|| 13 || 14 || D11|| I/O|| Heizelement 1. BG||D-SSR15, 8 Hz PWM
|-
|-
| || (Boilerfüllstand 2. BG)|| I/O|| D23|| 15 || 16 || D10|| I/O|| Heizelement Tassenwärmer||8 Hz PWM
| || (Boilerfüllstand 2. BG)|| I/O|| D23|| 15 || 16 || D10|| I/O|| Heizelement Tassenwärmer||D-SSR16, 8 Hz PWM
|-
|-
| DAC(1), 0 ... 3,3 V|| Pumpe 1. BG|| DAC|| D24|| 17 || 18 || D9|| I/O|| (Heizelement 2. BG)||8 Hz PWM
| DAC_PUMPE
DAC(1), 0 ... 3,3 V
| Pumpe 1. BG|| DAC|| D24|| 17 || 18 || D9|| I/O|| (Heizelement 2. BG)||8 Hz PWM
|-
|-
| || Boilerfüllstand 1. BG|| I/O|| D25|| 19 || 20 || D8|| ADC|| Boilerdruck||0,5 ... 4,5 V, 0 ... 4 bar
| FUELL4|| Boilerfüllstand 1. BG|| I/O|| D25|| 19 || 20 || D8|| ADC|| Boilerdruck||SIG5
0,5 ... 4,5 V, 0 ... 4 bar
|}
|}


Zeile 43: Zeile 47:
| U+ für aktive Filter der Messplatine|| || || 3,3 V|| 7 || 8 || D46|| I/O|| ||
| U+ für aktive Filter der Messplatine|| || || 3,3 V|| 7 || 8 || D46|| I/O|| ||
|-
|-
| Spannungsversorgung|| || || 5 V|| 9 || 10 || D47|| I/O|| ||
| || || || 5 V|| 9 || 10 || D47|| I/O|| ||
|-
|-
| || || || GND|| 11 || 12 || D48|| I/O|| ||
| || || || GND|| 11 || 12 || D48|| I/O|| ||
Zeile 49: Zeile 53:
| || || || GND|| 13 || 14 || D49|| I/O|| ||
| || || || GND|| 13 || 14 || D49|| I/O|| ||
|-
|-
| || || || VIN|| 15 || 16 || D50|| I/O|| ||
| Spannungsversorgung 5 V|| || || VIN|| 15 || 16 || D50|| I/O|| ||
|}
|}


Zeile 57: Zeile 61:
! Bemerkung !! Belegung !! Nutzung !! Name !! PIN !! PIN !! Name !! Nutzung !! Belegung !! Bemerkung
! Bemerkung !! Belegung !! Nutzung !! Name !! PIN !! PIN !! Name !! Nutzung !! Belegung !! Bemerkung
|-
|-
| || Leitwert|| ADC|| A0|| 1 || 2 || D51|| UART|| ||USART_B_SCLK
| SIG8|| Leitwert|| ADC|| A0|| 1 || 2 || D51|| USART_B_SCLK|| ||
|-
|-
|  0,5 ... 4,5 V, 0 ... 16 bar|| Leitungsdruck 1. BG|| ADC|| A1|| 3 || 4 || D52|| UART||  UART zu Display|| USART_B_RX, Messplatine
SIG6
0,5 ... 4,5 V, 0 ... 16 bar
| Leitungsdruck 1. BG|| ADC|| A1|| 3 || 4 || D52|| USART_B_RX||  UART zu Display|| Tx_D
|-
|-
|  NTC|| Boiler 1. BG|| ADC||  A2|| 5 || 6 || D53|| UART|| UART zu Display||USART_B_TX, Messplatine
SIG1, NTC|| Boiler 1. BG|| ADC||  A2|| 5 || 6 || D53|| USART_B_TX|| UART zu Display||Rx_D
|-
|-
| NTC|| Brühgruppe 1. BG|| ADC|| A3|| 7 || 8 || D54|| UART|| ||USART_B_RTS
| SIG2, NTC|| Brühgruppe 1. BG|| ADC|| A3|| 7 || 8 || D54|| USART_B_RTS|| ||
|-
|-
| NTC|| Mischer 1. BG|| ADC|| A4|| 9 || 10 || D55|| UART|| ||USART_B_CTS
| SIG3, NTC|| Mischer 1. BG|| ADC|| A4|| 9 || 10 || D55|| USART_B_CTS|| ||
|-
|-
| NTC|| Tassenwärmer|| ADC|| A5|| 11 || 12 || GND|| || ||
| SIG4, NTC|| Tassenwärmer|| ADC|| A5|| 11 || 12 || GND|| || ||
|-
|-
| || (Y221)|| I/O|| D72|| 13 || 14 || D56|| I/O|| (Dosierventil 2. BG A+)||
| || (Y221)|| I/O|| D72|| 13 || 14 || D56|| I/O|| (Dosierventil 2. BG A+)||
Zeile 77: Zeile 83:
| || || I/O|| D69|| 19 || 20 || D59|| I/O|| ||
| || || I/O|| D69|| 19 || 20 || D59|| I/O|| ||
|-
|-
| || Flowmeter 1. BG|| I/O|| D68|| 21 || 22 || D60|| I/O|| Flowmeter 2. BG||
| FLOWMETER|| Flowmeter 1. BG|| I/O|| D68|| 21 || 22 || D60|| I/O|| Flowmeter 2. BG||
|-
|-
| || || || GND|| 23 || 24 || D61|| ADC|| (Leitungsdruck 2. BG)||0,5 ... 4,5 V, 0 ... 16 bar
| || || || GND|| 23 || 24 || D61|| ADC|| (Leitungsdruck 2. BG)||0,5 ... 4,5 V, 0 ... 16 bar
Zeile 93: Zeile 99:
! Bemerkung !! Belegung !! Nutzung !! Name !! PIN !! PIN !! Name !! Nutzung !! Belegung !! Bemerkung
! Bemerkung !! Belegung !! Nutzung !! Name !! PIN !! PIN !! Name !! Nutzung !! Belegung !! Bemerkung
|-
|-
| || || || AVDD|| 1 || 2 || D7|| I/O|| Y101||
| || || || AVDD|| 1 || 2 || D7|| I/O|| Y101||D-SSR1
|-
|-
|  || || || AGND|| 3 || 4 || D6|| I/O||  Y102||
|  || || || AGND|| 3 || 4 || D6|| I/O||  Y102||D-SSR2
|-
|-
|  || || ||  GND|| 5 || 6 || D5|| I/O|| Y103||
|  || || ||  GND|| 5 || 6 || D5|| I/O|| Y103||D-SSR3
|-
|-
| 0,5 ... 4,5 V, 0 ... 16 bar|| (Brügruppendruck 2. BG)|| ADC|| A6|| 7 || 8 || D4|| I/O|| Y104||
| 0,5 ... 4,5 V, 0 ... 16 bar|| (Brügruppendruck 2. BG)|| ADC|| A6|| 7 || 8 || D4|| I/O|| Y104||D-SSR4
|-
|-
| NTC|| (Mischer 2. BG)|| ADC|| A7|| 9 || 10 || D3|| I/O|| Y105||
| NTC|| (Mischer 2. BG)|| ADC|| A7|| 9 || 10 || D3|| I/O|| Y105||D-SSR5
|-
|-
| || || ADC|| A8|| 11 || 12 || D2|| I/O|| Y106||
| U_FLOW|| Durchfluss 0 ... 3 V, 0 ... 10 ml/s|| ADC|| A8|| 11 || 12 || D2|| I/O|| Y106||D-SSR6
|-
|-
| || Y107|| I/O|| D26|| 13 || 14 || D1|| UART|| UART zu Maschinensimulator||USART_A_TX, SSR
| D-SSR7|| Y107|| I/O|| D26|| 13 || 14 || D1|| UART|| UART zu MS||Rx_MS
|-
|-
| || || I/O|| D27|| 15 || 16 || D0|| UART|| UART zu Maschinensimulator||USART_A_RX, SSR
| || || I/O|| D27|| 15 || 16 || D0|| UART|| UART zu MS||Tx_MS
|-
|-
| || || || GND|| 17 || 18 || D42|| I/O|| Y108||
| || || || GND|| 17 || 18 || D42|| I/O|| Y108||D-SSR8
|-
|-
| || Y109|| I/O|| D28|| 19 || 20 || D41|| I/O|| Y110||
| D-SSR9|| Y109|| I/O|| D28|| 19 || 20 || D41|| I/O|| Y110||D-SSR10
|-
|-
| || Y111|| I/O|| D29|| 21 || 22 || GND|| || ||
| D-SSR11|| Y111|| I/O|| D29|| 21 || 22 || GND|| || ||
|-
|-
| || Y112|| I/O|| D30|| 23 || 24 || D40|| I/O|| Y113||
| D-SSR12|| Y112|| I/O|| D30|| 23 || 24 || D40|| I/O|| Y113||D-SSR13
|-
|-
| || (Y214)|| I/O|| D31|| 25 || 26 || D39|| I/O|| (Y215)||
| D-SSR14|| (Y214)|| I/O|| D31|| 25 || 26 || D39|| I/O|| (Y215)||
|-
|-
| || || || GND|| 27 || 28 || D38|| I/O|| (Y216)||
| || || || GND|| 27 || 28 || D38|| I/O|| (Y216)||
|-
|-
| || || ADC|| D32|| 29 || 30 || D37|| I/O|| (Y217)||
| U_PUMPE|| N-Pumpe 0 ... 3 V, 0 ... 5000/min|| ADC|| D32|| 29 || 30 || D37|| I/O|| (Y217)||
|-
|-
| LED 1|| || || D33|| 31 || 32 || D36|| I/O|| (Y218)||
| LED 1|| || || D33|| 31 || 32 || D36|| I/O|| (Y218)||

Aktuelle Version vom 20. August 2026, 14:50 Uhr

Armin Rohnen, 04.08.2026
Umstellung auf STM32H753ZI - Definitionen

Für die Umstellung der Steuerungselektronik auf eine Steuerungsplatine mit einer STM32H753 MUC und je Brühgruppe eine integrierte Display-MCU-Einheit wurden aus den vorhandenen Platinen der Multi-MCU-Steuerung zwei Prototypensteuerungen erstellt. Diese dienen zur Programmierung und für die erforderlichen Testst der Steuerungsfunktionalität. Die Belegung der Anschlussstecker ist daher identisch zu der Multi-MCU-Steuerung und soll bei der finalen Steuerungsplatine weitestgehend übernommen werden.

Für die Programmierung endscheident ist die PIN-Belegung des Nucleo STM32H753ZI Boards. Verwendet werden die bereits durchkantaktierten ZIO-Stecker CN/, CN8, CN9 und CN10. Die angaben in Klmmern () werden für die zweigruppige Variante benötigt und sind aus diesem Grund vorgehalten, sind aber in den Testprototypen nicht umgesetzt. Die Pinbelegung befindet sich etwas anders aufbereitet nochmals in der Systemelektronik.

PIN Finktionalität SMT32H753ZI - ZIO CN7
Bemerkung Belegung Nutzung Name PIN PIN Name Nutzung Belegung Bemerkung
DIG_A- Dosierventil 1. BG A- I/O D16 1 2 D15 I/O Dosierventil 1. BG A+ DIG_A+
DIG_B- Dosierventil 1. BG B- I/O D17 3 4 D14 I/O Dosierventil 1. BG B+ DIG_B+
I/O D18 5 6
FUELL1 Tank Füllstand min. I/O D19 7 8
I/O D20 9 10 D13 DAC (Pumpe 2. BG) DAC(2), 0 ... 3,3 V
FUELL2 Tank Füllstand max. I/O D21 11 12 D12 ADC Brühgruppendruck 1. BG SIG7

0,5 ... 4,5 V, 0 ... 12 bar

FUELL3 Füllstand Abtropfschale I/O D22 13 14 D11 I/O Heizelement 1. BG D-SSR15, 8 Hz PWM
(Boilerfüllstand 2. BG) I/O D23 15 16 D10 I/O Heizelement Tassenwärmer D-SSR16, 8 Hz PWM
DAC_PUMPE

DAC(1), 0 ... 3,3 V

Pumpe 1. BG DAC D24 17 18 D9 I/O (Heizelement 2. BG) 8 Hz PWM
FUELL4 Boilerfüllstand 1. BG I/O D25 19 20 D8 ADC Boilerdruck SIG5

0,5 ... 4,5 V, 0 ... 4 bar

PIN Finktionalität SMT32H753ZI - ZIO CN8
Bemerkung Belegung Nutzung Name PIN PIN Name Nutzung Belegung Bemerkung
NC 1 2 D43 I/O
IOREF 3 4 D44 I/O
NRST 5 6 D45 I/O
U+ für aktive Filter der Messplatine 3,3 V 7 8 D46 I/O
5 V 9 10 D47 I/O
GND 11 12 D48 I/O
GND 13 14 D49 I/O
Spannungsversorgung 5 V VIN 15 16 D50 I/O
PIN Finktionalität SMT32H753ZI - ZIO CN9
Bemerkung Belegung Nutzung Name PIN PIN Name Nutzung Belegung Bemerkung
SIG8 Leitwert ADC A0 1 2 D51 USART_B_SCLK
SIG6

0,5 ... 4,5 V, 0 ... 16 bar

Leitungsdruck 1. BG ADC A1 3 4 D52 USART_B_RX UART zu Display Tx_D
SIG1, NTC Boiler 1. BG ADC A2 5 6 D53 USART_B_TX UART zu Display Rx_D
SIG2, NTC Brühgruppe 1. BG ADC A3 7 8 D54 USART_B_RTS
SIG3, NTC Mischer 1. BG ADC A4 9 10 D55 USART_B_CTS
SIG4, NTC Tassenwärmer ADC A5 11 12 GND
(Y221) I/O D72 13 14 D56 I/O (Dosierventil 2. BG A+)
(Y222) I/O D71 15 16 D57 I/O (Dosierventil 2. BG B+)
I/O D70 17 18 D58 I/O
I/O D69 19 20 D59 I/O
FLOWMETER Flowmeter 1. BG I/O D68 21 22 D60 I/O Flowmeter 2. BG
GND 23 24 D61 ADC (Leitungsdruck 2. BG) 0,5 ... 4,5 V, 0 ... 16 bar
CAN_RX UART D67 25 26 D62 ADC (Noiler 2. BG) NTC
CAN_TX UART D66 27 28 D63 ADC (Brühgruppe 2. BG) NTC
(Dosierventil 2. BG A-) I/O D65 29 30 Dd64 I/O (Dosierventil 2. BG B-)
PIN Finktionalität SMT32H753ZI - ZIO CN10
Bemerkung Belegung Nutzung Name PIN PIN Name Nutzung Belegung Bemerkung
AVDD 1 2 D7 I/O Y101 D-SSR1
AGND 3 4 D6 I/O Y102 D-SSR2
GND 5 6 D5 I/O Y103 D-SSR3
0,5 ... 4,5 V, 0 ... 16 bar (Brügruppendruck 2. BG) ADC A6 7 8 D4 I/O Y104 D-SSR4
NTC (Mischer 2. BG) ADC A7 9 10 D3 I/O Y105 D-SSR5
U_FLOW Durchfluss 0 ... 3 V, 0 ... 10 ml/s ADC A8 11 12 D2 I/O Y106 D-SSR6
D-SSR7 Y107 I/O D26 13 14 D1 UART UART zu MS Rx_MS
I/O D27 15 16 D0 UART UART zu MS Tx_MS
GND 17 18 D42 I/O Y108 D-SSR8
D-SSR9 Y109 I/O D28 19 20 D41 I/O Y110 D-SSR10
D-SSR11 Y111 I/O D29 21 22 GND
D-SSR12 Y112 I/O D30 23 24 D40 I/O Y113 D-SSR13
D-SSR14 (Y214) I/O D31 25 26 D39 I/O (Y215)
GND 27 28 D38 I/O (Y216)
U_PUMPE N-Pumpe 0 ... 3 V, 0 ... 5000/min ADC D32 29 30 D37 I/O (Y217)
LED 1 D33 31 32 D36 I/O (Y218)
(Y219) I/O D34 33 34 D35 I/O (Y219)

Armin Rohnen, 22.03.2026
Problembeschreibung

Die aktelle Steuerungselektronik besteht aus den drei Platinen (und Mikrocontrollern) Basisplatine, Messplatine und SSR-Platine. Hinzu kommt noch mindestens eine weitere Platine in Verbindung mit dem Display und ggf. eine weitere zur Kommunikation über WLAN oder Bluetooth. Dies ergibt mindestens 4 Mikrocontroller im Gesamtsystem, welche kontinuierlich über UART miteinander Daten austauschen. Darunter auch zeit- und sicherheitsrelevante Informationen.

Warum sind es so viele Mikroconroller

Zu Beginn der Steuerungsentwicklung ergab sich aufgrund der Corona-Krise das Problem, dass Mikrocontroller-Board schwer verfügbar waren. In diesem Zeitraum ist mit dem Raspberry Pi Pico (RP2040) ein kostengünstiger und sehr gut verfügbarer Mikrocontroller in den Markt gebracht worden. Mit dieser MCU entwickelte sich auch die Idee die Steuerung mit MicroPython zu programmieren. Der Nachteil des RP2040 ist jedoch seine Baugröße, er verfügt über relativ wenige PINs und hat keinen programmierbaren DAC (digital analog converter) zur Sollsignalgenerierung. Im Zuge der Steuerungsentwicklung hat sich zudem herausgestellt, dass für die Spannungsmessung der Sensorsignale (Drücke und Temperaturen) eine 16Bit-Auflösung benötigt wird, um die angestrebte Genauigkeit erreichen zu können.

Alternativen

Gerade die Problematik mit der erforderlichen Auflösung von 16Bit für die Spannungsmessung der Druck- und Temperatursignale führt auf die STM32H7-MCU. Diese ist als NUCLEO STM32H753ZI relativ gut im Markt verfügbar. Allerdings gibt es hierzu kein evaluiertes MicroPython-Derivat.

Von einer weiteren Variante, dem NUCLEO STM32H743ZI2-Board sind im Labor 3 Stück verfügbar. Der Unterschied zwischen STM32H743ZI2 und STM32H753ZI ist die Krypto-Unterstützung im H753, welche gänzlich nicht benötigt wird. Darüber hinaus sind beide Boards PIN-gleich und grundsätzlich sollte das vorhandene 16Bit-ADC optimierte MicroPython-Derivat des STM32H743ZI2 auch auf dem STM32H753ZI funktionieren. Nur gesichert ist dies allerdings nicht. Das wäre zu überprüfen.

Allerdings würden für den aktuell anstehenden Bedarf an mximal 3 Systemsteuerungen, die vorhandenen drei STM32H743ZI2-Boards ausreichen.

Was zu tun ist

  • Lauffähigkeit des 16Bit-ADC optimierten MicroPython-Derivat des STM32H743ZI2 auf dem STM32H753ZI
  • Nutzbare ADC-PINs
  • Nutzbare UART PINs
  • Nutzbare PWM-Pins bzw. MicroPython-Algorithmus für 8 Hz PWM-Signal mit 0 bis 100% einstellbaren Tastverhältnis
  • Nutzbare Dig-Out-PINs
  • Nutzbare Dig-In-PINs

Die Überprüfung der PINs soll sich auf die bereits bestückten Kontaktleisten CN7, CN8, CN9 und CN10 beschränken. Nur wenn diese für die Anforderungen der Steuerungselektronik nicht ausreichen, darf auf die im Default unbestückten Kontaktleisten CN11 und CN12 ausgewichen werden.