Étape 3: La joie de Communication UART
Contrairement aux autres servos, le servomoteurs Dynamixel ne répond pas aux signaux PWM, mais un protocole un peu plus compliqué des instructions pour la lecture et l’écriture dans sa mémoire. Cette communication se passe via un port UART semi-duplex, en utilisant un seul fil d’origine et d’accueil.
Ce que cela signifie, c’est que nous devons construire un petit circuit qui convertit full duplex en semi-duplex, si nous voulons utiliser un Pi de framboise ou un Arduino (ou un autre microcontrôleur avec une interface série duplex intégral) pour contrôler ces moteurs.
Manuel de l’AX-12 de 2006 recommande ce circuit :
Il s’agit essentiellement d’un régime de mise en mémoire tampon de trois États pour arbitrer le bus ; Il fait en sorte que, lorsque le contrôleur transmet, le bus n’est pas connecté à la broche Rx, et que lorsqu’on s’attend à recevoir, ce n'est pas conduit par la broche Tx.
Au lieu d’utiliser un 74HC126 et un 74HC04, j’ai utilisé un 74LS241 (comme recommandé ici), car elle est déjà intégré capable de permettre à la moitié de ses tampons avec une haute des signaux et l’autre moitié avec un signal faible.