Un grand pas pour moi, des petits tours de roue pour Daryl!
J’ai reçu hier le speed controler Pololu TRex DMC01, ainsi que le micro maestro (servo controler).
Pour rappel, ces contrôleurs permettent :
- d’alimenter les moteurs via une alimentation externe (batterie)
- de supporter les pics d’intensité que ne pourrait pas prendre en charge l’arduino (les pins peuvent couvrir une intensité de 50mA max si je ne raconte pas de bêtises)
- de contrôler finement la vitesse des moteurs en les régulant
Le contrôleur Pololu TRex DMC01 permet de contrôler 2 canaux bidirectionnels et un auxiliaire unidirectionnel. Il accepte une tension d’entrée située entre 6 et 16V donc parfait pour mes moteurs de 12V. De plus, il peut gérer des pics d’intensité allant jusqu’à 13A. Je suis donc large sachant qu’un moteur peut atteindre (à rotor bloqué) 1.5A max. Comme j’ai choisi de connecter les moteurs en parallèle, je pourrais donc, théoriquement, obtenir des pics de 1.5+1.5 = 3A max, ce qui est donc largement en deçà des 13A autorisés.
Il est possible de contrôler les moteurs via trois interfaces de contrôle différentes: R/C, voltage analogique et serial. Dans mon cas, j’ai choisi le mode serial car il permet de contrôler les moteurs avec uniquement 2 pins.
Ce contrôleur est également parsemé de petites leds cms indiquant, pour chaque canal, si le moteur est en marche avant ou arrière, la réception de données sur le port série ou bien encore l’init/marche/arrêt du contrôleur lui-même.
Procédure:
Après avoir jeté un œil à la doc, je retire l’ensemble des jumpers (qui ne servent pas dans mon cas et que j’ai par ailleurs réutilisés pour le sensor shield), je branche les moteurs gauche en parallèle sur le canal1 et les moteurs droit en parallèle sur le canal2. Je branche la pin4 de l’arduino à la SI du TRex, pin5 de l’arduino à la pin SO du Trex et la pin GND de l’arduino à la pin GND du TRex. Pour finir, je connecte un petit bloc de piles 9.6V aux bornes VIN et GND du TRex. Et c’est tout! Simple Non?
Concernant la programmation, j’utilise la librairie arduino SerialSoftware qui permet de transformer deux pins classiques en pins serial. Pourquoi? Tout simplement parce que j’utilise déjà le port serial uart pour la communication entre le viliv (et donc le programme Java) et l’arduino.
Après un peu de travail, Daryl fait ses premiers pas (c’était la séquence émotion lol)
Vous constaterez dans la vidéo que Daryl n’est pas très rapide. C’est normal, il ne s’agit pas de sa vitesse maximum. En effet, mon bloc batterie provisoire ne fait que 9.6V. On peut donc dire que Daryl est amputé de 25% de sa vitesse nominale.
Les photos:
La vidéo: Un rapide sketch qui fait décélérer Daryl puis marche arrière en accélération.
Sur pastebin -> http://pastebin.com/vzx3ttHv