La carte RatBot
La carte électronique du RatBot est une conception originale du
laboratoire, réalisée avec KiCad dans conception/kicad/kicad_ratbot/.
La carte WeAct MiniSTM32H7xx a uniquement servi d’inspiration pour
certains branchements autour du microcontrôleur (flash QSPI, USB…) : son
projet KiCad est conservé comme référence dans
conception/kicad/Kicad_weact_fork/, mais la carte du RatBot n’en est
pas une dérivée.
Microcontrôleur
STM32H750VBT6 (Cortex-M7).
La flash interne ne fait que 128 Ko : trop peu pour un firmware micro-ROS. Le code s’exécute donc depuis une flash QSPI externe W25Q128 (8 Mo), chargé par un bootloader placé en flash interne. Le bootloader du projet et la procédure de programmation sont décrits dans Bootloader et exécution depuis la flash externe.
Périphériques et interfaces
Interface |
Rôle |
|---|---|
USB OTG FS (CDC) |
Port série virtuel : flashage, débogage et transport micro-ROS pendant le développement. |
UART vers la Raspberry Pi |
Liaison série à 3 Mbaud avec la Pi embarquée : c’est le transport micro-ROS en fonctionnement nominal (voir Communication avec la carte STM32). TODO : préciser l’UART utilisé et le brochage. |
Bus dynamixel |
Deux bus indépendants, sur UART4 et UART8, à 1 Mbaud (protocole Dynamixel 1.0, AX-18A). Voir Les deux connecteurs dynamixel ci-dessous. TODO : préciser TTL/RS-485 et le circuit de half-duplex. |
MicroSD |
Stockage. Voir la feuille de schéma |
Flash SPI/QSPI |
W25Q128 : exécution du firmware. Voir la feuille |
IHM |
Boutons/LED embarqués. Voir la feuille |
Les deux connecteurs dynamixel
La carte porte deux bus séparés, chacun avec son UART et sa commande de half-duplex. Ils ne portent pas une roue chacun : les deux servos de roue sont en guirlande sur le même fil, et doivent donc avoir des identifiants différents.
Sérigraphie |
UART |
Usage |
|---|---|---|
groupe 2 |
UART4 |
La traction : les deux servos de roue. |
groupe 1 |
UART8 |
Réservé à un futur bras. Vide aujourd’hui. |
Warning
La sérigraphie est croisée par rapport aux UART. Le connecteur marqué « groupe 1 » est câblé sur UART8, et le « groupe 2 » sur UART4. Les noms des broches de validation suivent l’UART, pas la sérigraphie.
Le firmware le sait en un seul endroit : la table bus_cfg dans
App/drivers/dynamixel.c. Si la sérigraphie est corrigée sur une
prochaine révision de la carte, ce sont ces deux lignes, et elles seules,
qu’il faudra remettre dans l’ordre.
Note
Les roues sont sur le groupe 2 depuis le 2026-09-26, sur tous les robots du parc. Ce n’est pas un réglage par robot : c’est la convention, inscrite dans le firmware.
Si les servos répondent sur l’autre connecteur, la carte s’en accommode —
elle adopte le bus où ils répondent — mais l’annonce en avertissement
permanent dans /diagnostics, et le voyant passe à l’orange. Un voyant
orange en permanence ne peut plus signaler une vraie panne, alors autant
câbler comme prévu.
Encombrement et fixation
La carte mesure 120 × 120 mm, avec quatre trous de fixation Ø 4 mm aux
entraxes 110 × 100 mm. Le gabarit d’implantation dans le châssis est le plan
conception/2d/schema_carte.dxf (voir Châssis et mécanique).
Alimentation
TODO : tension batterie, régulateurs, alimentation des dynamixels et de la Raspberry Pi.