Evaluation STM32H7: Unterschied zwischen den Versionen
| 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 | | 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|| || | ||
|- | |- | ||
| | | || || || 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|| | | SIG8|| Leitwert|| ADC|| A0|| 1 || 2 || D51|| USART_B_SCLK|| || | ||
|- | |- | ||
| 0,5 ... 4,5 V, 0 ... 16 bar | | 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|| | | 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|| | | SIG2, NTC|| Brühgruppe 1. BG|| ADC|| A3|| 7 || 8 || D54|| USART_B_RTS|| || | ||
|- | |- | ||
| NTC|| Mischer 1. BG|| ADC|| A4|| 9 || 10 || D55|| | | 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 | | D-SSR7|| Y107|| I/O|| D26|| 13 || 14 || D1|| UART|| UART zu MS||Rx_MS | ||
|- | |- | ||
| || || I/O|| D27|| 15 || 16 || D0|| UART|| UART zu | | || || 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.
| 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 |
| 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 |
| 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-) |
| 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.