Carte servomoteur

Description

Carte d'interface entre des servomoteurs de type analogique et numérique (servomoteurs Dynamixel dans ce cas)

Schéma fonctionnel

Electronique

Composants Principaux

  • Microcontroleur : MSP430F5172, high-end de sa famille
  • Buffer : SN74LVC2G125, petit buffer pour gérer la communication half-duplex avec les AXs
  • RS-485 : DS485M, permet une communication avec les RXs par le biais d'un bus différentiel
  • Driver PWM : PCA9685, driver pour les servomoteurs analogiques

Schéma

Connectique

Usage Type Nombre Connecteur
Bus Multiple 2 Molex 6 pins (5V/3,3V/GND/INT/SDA,SCL)
Servos analogiques Sortie 16 Headers mâles 3 pins (PWM/5V/GND)
AX12 Birectionnel (UART) 3 Connecteurs Molex pour AX12
RX24F Birectionnel (UART) 3 Connecteurs Molex pour RX24F
Alim 5V Entrée 1 Connecteur batterie
Alim 12V Entrée 1 Connecteur batterie

Programmation

Schéma

EN CONSTRUCTION

Explications

Le découpage de code de cette manière permet d'avoir un code générique, dont certaines parties peuvent être réutilisées sur d'autres microcontrolleurs. Les parties génériques sont : Dynamixel et la gestion de la stack I2C dans Main. Les différents fichiers ont été écrit à l'aide de documentations, pour UART et I2C on utilise la documentation de la famille du microcontrolleur et pour Dynamixel on utilise celle fournit par Robotis.

Fonctionnalités

Fonction Dynamixel Priorité Implémenté UART Implémenté I2C
set_position 1 Oui Oui
get_position 2 Oui Oui
set_torque 1 Oui Non
set_led Oui Non
set_id 1 Oui Non
set_baudrate 1 Oui Non
set_torque_limit Non Non
set_position_limit 2 Non Non
ping_DYN 2 Oui Non
à compléter

Pour set_baurate il ne faut pas oublier d'adapter le baudrate de l'UART de la carte pour pouvoir recommuniquer avec le(s) servo(s)