Skip to content

[FR] Servo Motors

papara78 edited this page Apr 9, 2019 · 2 revisions

Objective:

Cet article retrace nos choix dans la selection des moteurs utilisés pour réaliser notre bras robotisé.

Choix du moteur:

On recherche un poids le plus faible possible pour notre robot. De plus, nous n’avons besoin que d’un angle de 180° pour notre robot. Le moteur AX12 nécessite moins de courant pour fonctionner et possède un ratio plus important que le MX18. Chaque servo a la capacité de suivre sa vitesse, sa température, la position de son arbre, sa tension et sa charge que ce soit pour les servomoteurs AX12 ou pour les MX28. De plus, l’algorithme de contrôle PID utilisé par les MX28 pour maintenir la position de l'arbre peut être ajusté individuellement pour chaque servomoteur, ce qui vous permet de contrôler la vitesse et la puissance de la réponse du moteur. Le rapport du prix par rapport à notre besoin est bien plus important pour le AX12 que pour le MX28. Le problème de ces deux moteurs est la programmation et l’utilisation de ces moteurs sont complexes (on peut le voir dans la section après). Pour pallier ce problème on peut utiliser de nouveaux moteurs les « ». ces moteurs sont simples d’utilisation et possèdent un couple assez élevé par rapport au prix qu’il coute. Le moteur possède un couple de 15Kg.cm ce qui signifie le moteur peut soulever une masse de 15Kg situé à 1 cm de l’axe. Cela signifie aussi que pour réaliser un bras de 10 cm, on pourra ainsi soulever une masse de 1,5Kg. Cela reste dans la théorie. En réalité on peut soulever environ 1-1,2Kg à 10 cm.

Communication entre le servo moteur et la carte:

AX12 – MX28 La communication est établie via le port série (UART ou USART) du STM32. Ces ports utilisés deviendront donc exclusifs pour communiquer avec le servomoteur Dynamixel. La puissance du Servo et de l'Arduino pouvant également provenir de la même source, le Vin de l'Arduino devra donc avoir une tension de 9,6 V (c'est la tension suggérée par Robotis). Afin de récupérer les différentes informations et afin de communiquer des informations au servomoteur, nous allons utiliser un SN74LS241.

Servo 55g:

La communication est établie via un pin de l’Arduino/STM32 (éviter la pin 0(RX) ou 1(TX). La puissance du Servo et de l'Arduino pouvant également provenir de la même source, le Vin de l'Arduino devra donc avoir une tension entre 6 et 7.4 V (c'est la tension suggérée pour les Servomoteurs). En termes de code, on utilise la bibliothèque « Servo. H » fournit par Arduino. Les servomoteurs 1 et 2 sont inversés. Lorsque le servo 1 est à une position de 180° celle du deuxième servomoteur est à 0°. Il en est de même pour les servomoteurs 3 et 4.

References:

(http://www.arduinotutorialonline.com/2018/01/using-dynamixel-ax-12a-servo-with.html)

(https://savageelectronics.blogspot.com/2011/01/arduino-y-dynamixel-ax-12.html?fbclid=IwAR1aDBKJbw9rE5joZsvDNmzkUIkmfL7ZDfnAKW-N-g5B7F9fN582MKouYJ8)

Clone this wiki locally