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 MicroSD.

Flash SPI/QSPI

W25Q128 : exécution du firmware. Voir la feuille SPI-QSPI_Flash.

IHM

Boutons/LED embarqués. Voir la feuille IHM.

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.