CRLG / GROSBOT_MBED

Logiciel embarqué dans le MBED du robot principal de l'année 2014
2 stars 0 forks source link

Refonte du module de pilotage des servos AX pour permettre la lecture des données #12

Closed NicoFarmer closed 5 years ago

NicoFarmer commented 6 years ago

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 :

NicoFarmer commented 5 years ago

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.

Le ticket est soldé.