Ik heb veel ervaring met de SmartEVSE code; daar lezen we meerdere signalen tegelijkertijd uit:_JGC_ schreef op woensdag 26 november 2025 @ 13:59:
[...]
Maargoed, waar je even mee zit: de buitenunit wil een constant signaal krijgen van de controller, anders slaat 'ie af. Als je 1 controller gebruikt voor Wifi/MQTT, buitenunit communicatie en OpenTherm, kom je met je timings in de problemen zodra je MQTT niet lekker reageert of je wifi signaal slecht is.
-LCD scherm via SPI
-modbus via UART
-CP lijn via GPIO
....en dat gaat allemaal prima, zelfs onder zware HTTPS belasting, tegelijkertijd met MQTT. Geen problemen als de wifi wegvalt, die reconnect bij hersteld AP signaal gewoon weer netjes terug.
In een prototype communiceren we zelfs met een andere chip via UART2, bovenop al het hierboven genoemde, en dat gaat tot 1Mbps nog foutloos....
Dit zou dus gemakkelijk met een single chip oplossing moeten kunnen. Ik ben zelf meer de software man, als je (een link naar) je schema hebt kan ik het wel eens aan de hardware specialist voorleggen, maar alleen als je echt van plan bent die route op te gaan.
EDIT: De truc zit m erin dat we drie loops hebben, een 10ms loop, een 100ms loop, en een 1000ms loop; de kunst is om de juiste routine in de juiste timingloop aan te roepen, en die de juiste FreeRTOS prio te geven.
EDIT2: De eerlijkheid gebied te melden dat het prototype op een ESP32-S3 draaide, de productie hardware is een "gewone" 4MB ESP32...
[ Voor 12% gewijzigd door dingo35 op 26-11-2025 14:55 ]
/f/image/t0vTNs8miWJAVHOMbJF7yNvL.png?f=fotoalbum_large)
:strip_exif()/f/image/bIXDNn6wiEcYOUWT8Xo3crSm.png?f=user_large)
:strip_exif()/f/image/74idTbAsTfrUIso6MC35ZYMI.jpg?f=fotoalbum_tile)
:strip_exif()/f/image/oQHFRkRggJiVzl50ofQpu72p.jpg?f=fotoalbum_large)
:strip_exif()/f/image/vU8NUCohHPNhDIxLZOdboNnz.jpg?f=fotoalbum_large)
:strip_exif()/f/image/oYJrILh4kXmXi5h8HASaALzR.jpg?f=fotoalbum_large)
/f/image/mp8hqxvbZBV9Vc9ttZc4ZARI.png?f=fotoalbum_large)
:strip_exif()/f/image/XnwgzRLrL8RxfTkrs9DKs51N.jpg?f=fotoalbum_large)
:strip_exif()/f/image/sQJb8Y3XPr41bIvvWkzZxHIa.jpg?f=fotoalbum_large)