Rappel :
La communication avec les servos AX se fait par un bus de donnée bidirectionnel sur un seul fil.
Un maitre (le CPU) et plusieurs esclaves (les servos) sont connectés sur ce bus.
Le maitre initie toujours la communication. Aussi, un esclave ne peut parler sur le bus que si le maitre le lui a demandé par une requête de lecture.
Lorsqu'un noeud (maitre ou esclave) parle sur le bus, c'est une communication série à 1 Mbaud compatible UART.
Lorsque c'est au tour d'un noeud esclave de parler, le maitre ne doit pas imposer de potientiel sur le bus.
Pour cette raison, un circuit électronique permettant de mettre la ligne TX du maitre en haute impédance lorsque l'esclave parle doit être intercalé.
Historique :
Par simplification, la première version du module de communication avec les servo AX avait été réalisé rapidement pour permettre uniquement de donner des consignes de vitesse/position au servo.
Aucune lecture de l'état des servos n'était réalisée par le maitre, les servos n'imposaient alors aucun potentiel sur le bus.
Dans ces conditions, une simple ligne UART TX peut être utilisée pour piloter les moteurs.
De plus, le module attaquait directement la liaison série du MBED, sans abstraction du matériel.
Evolution :
L'évolution consiste à permettre les écritures ET les lectures des données servos.
Un petite carte électronique est à insérer entre le MBED et le bus des AX.
Une refonte globale du module logiciel est à prévoir pour :
Prendre en compte la relecture
Permettre une abstraction du matériel afin que le module tourne aussi bien sur MBED que sur Raspberry ou autre système permettant de compiler en C++
Evolution réalisée et testée sur le premier exemplaire de carte AxiFace.
Test de pilotage réalisé sans carte AxiFace (juste du pilotage, sans relecture) : OK, pas de régression constatée.
Rappel : La communication avec les servos AX se fait par un bus de donnée bidirectionnel sur un seul fil. Un maitre (le CPU) et plusieurs esclaves (les servos) sont connectés sur ce bus. Le maitre initie toujours la communication. Aussi, un esclave ne peut parler sur le bus que si le maitre le lui a demandé par une requête de lecture. Lorsqu'un noeud (maitre ou esclave) parle sur le bus, c'est une communication série à 1 Mbaud compatible UART. Lorsque c'est au tour d'un noeud esclave de parler, le maitre ne doit pas imposer de potientiel sur le bus. Pour cette raison, un circuit électronique permettant de mettre la ligne TX du maitre en haute impédance lorsque l'esclave parle doit être intercalé.
Historique : Par simplification, la première version du module de communication avec les servo AX avait été réalisé rapidement pour permettre uniquement de donner des consignes de vitesse/position au servo. Aucune lecture de l'état des servos n'était réalisée par le maitre, les servos n'imposaient alors aucun potentiel sur le bus. Dans ces conditions, une simple ligne UART TX peut être utilisée pour piloter les moteurs.
De plus, le module attaquait directement la liaison série du MBED, sans abstraction du matériel.
Evolution : L'évolution consiste à permettre les écritures ET les lectures des données servos. Un petite carte électronique est à insérer entre le MBED et le bus des AX. Une refonte globale du module logiciel est à prévoir pour :