MicroPythonMCU¶
Un microcontrôleur programmable en Python, à poser dans un schéma OpenModelica.
MicroPythonMCU est une bibliothèque OpenModelica dont le bloc MCU exécute un vrai script Python, écrit avec l'API MicroPython (machine, time), celle du Raspberry Pi Pico. Ses broches sont de vrais nœuds électriques : le script pilote et mesure le circuit Modelica qui l'entoure. On met ainsi au point un programme embarqué sur le jumeau numérique d'un système, avant de le téléverser sur la carte réelle.

-
Guide utilisateur
Installer la bibliothèque, simuler un premier exemple, écrire son propre programme et brancher des périphériques. Aucune connaissance du fonctionnement interne n'est nécessaire.
Premiers pas · Le bloc MCU · API · Exemples
-
Référence interne
Pour qui fait évoluer la bibliothèque : architecture, intégration de CPython, protocole de synchronisation avec le solveur, moteurs série et I2C, suite de vérification, livraisons.
Ce que sait faire le microcontrôleur¶
| Fonction | API côté script | Détails |
|---|---|---|
| Entrées / sorties numériques, interruptions, bit-banging | Pin, Pin.irq() |
API |
| Entrée analogique, sortie PWM | ADC, PWM |
API |
| Minuteurs, attentes | Timer, time.sleep() |
API |
| Liaison série électrique | UART |
Appareils série |
| Bus I2C maître en drain ouvert | I2C |
Périphériques I2C |
Système de fichiers façon flash, boot.py / main.py |
open(), os |
API |
| Import de modules, drivers du commerce | import |
Le bloc MCU |
Un time.sleep(1) ne coûte aucun temps réel : le solveur avance directement à l'échéance. Une heure simulée s'exécute en une fraction de seconde.
Périphériques fournis¶
LED, afficheur pédagogique, appareils série (écho, capteur de température, GPS, afficheur 20x2, appareil générique), périphériques I2C (écran Grove LCD RGB, écho, périphérique générique) et une chaîne de pesée complète (corps d'épreuve, pont de jauges, convertisseur HX711). Les 38 exemples les mettent tous en œuvre, jusqu'à une balance de cuisine qui exécute sans modification des drivers MicroPython du commerce.
Limites actuelles¶
Windows uniquement, pas de SPI. Un modèle peut contenir plusieurs microcontrôleurs, qui dialoguent par leurs broches, une liaison série ou un bus I2C. Liste complète : Limites et dépannage.
Contexte¶
Bibliothèque conçue par Benoit Delaup, professeur de sciences de l'ingénieur, pour que des élèves testent leur code de pilotage sur le système numérique avant de le déployer sur un prototype réel, et utilisable pour un jumeau numérique de logiciel embarqué dans un cadre industriel. Code source et suivi : dépôt GitLab. Les choix d'architecture et leurs alternatives sont consignés dans requirements.md.