|
Le centre moteur
La coordination des pattes est mécanique et fixe (roues dentées), seule
la différence de vitesse entre les deux rampes est dirigée par le micro-contrôleur.
En gros, si une rampe avance plus vite que l'autre le robot tourne (comme
un char d'assaut). En résumé et fonctionnellement, la partie électronique doit pouvoir régler indépendament la vitesse des deux moteurs ainsi que leur sens de rotation. Adapté à l'électronique cela s'appelle un double pont en H. Le pont permet l'inversion du courant (marche Avant/Arrière), tandis que la vitesse est réglée par une impulsion PWM (nous verrons ce détail plus tard). Pour tout vous dire, vous avez le choix entre faire vous même votre pont en H (avec 8 transistor, 4 diodes, 8 résistances, ou des portes logiques du type ULN2803) ou alors retrouver la pièce de 1€ que vous avez perdue et vous acheter un L293D (IC tout intégré, tout prêt, et tout protégé). Le L293D
Au long de ce projet, j'ai eu tendance à utiliser un maximum de circuits intégrés pour des raison évidentes d'emmerdement minimum (anti-Loi de Murphy) parce qu'avec leur impédence infinie en entrée, j'ai pu me tromper 50 fois sans jamais griller mon BS à 80€ (ni le L293D par ailleurs). Attention, la lettre D est très importante, elle signifie que l'IC est équipé de diodes anti-induction, nécessaires avec les moteurs électriques à courant continu. Vous trouverez toutes les fiches techniques sur http://www.datasheetarchive.com/.
Au final, une fois connecté comme sur la doc (ou sur mon schéma), le L293D pilote 2 moteurs jusqu'à 600mA chacun avec auto-coupure en cas de surchauffe. Il possède 4 canaux en entrée et 4 en sortie, par paire connecté directement aux moteurs et au BS. L'utilisation en est simple. Tous les canaux à 0V provoquent l'arrêt des moteurs. Si le canal 1 passe à 5V le moteur 1 tourne vers l'avant, si c'est le canal 2 qui passe à 5V (et le canal 1 à 0V) le moteur tourne vers l'arrière. Pareil pour les canaux 3 et 4 et le deuxième moteur. Ca ne devrait pas être compliqué à programmer.
Sur mon schéma les canaux sont ceux du BS : P12, P13, P14 et P15. Le L293D dispose aussi d'une entrée ENABLE permettant de couper les moteurs
si elle est reliée à la masse. J'y ai collé un interrupteur pour que je
puisse programmer mon robot sans qu'il ne se sauve. En effet, lorsque
vous uploadez votre programme, celui-ci est immédiatement interpreté.
Le robot commence à se déplacer alors qu'il est encore attaché par ses
câbles. Ca peut tout casser. N'importe quel moteur à courrant continu fonctionnant à 9V conviendra. La différence tient à sa puissance. Vous trouverez facilement des moteurs de 30mA à 200mA. Ca dépend du poids de votre robot. Personnellement et toujours à titre indicatif, j'utilise 2 IGARASHI 150mA 8000tours/min d'une poussée de 6kg chacun (au cas ou il faudrait pousser les meubles !). Sur le moment ça m'a fait marrer, mais quand je vois ce qu'ils consomment, je vais bientôt les remplacer par des 30mA, faut juste que je voie si avec le poids de ma structure en métal si ça marche toujours... Avec les moteurs, vous venez de cramer votre budget : 3€ pièce. Mais si je calcule bien 1€+6€ = 7€ contre les 40 qu'ils vous aurait fallu débourser pour 2 servo-moteurs. En plus ils faut les bidouiller pour les transformer en rotation continue, ils ont un gros boitier, un moteur bas de gamme... Ceci dit, c'est possible, vous pouvez largement remplacer toute cette partie (L293D et moteurs) par deux servo-moteurs de modélisme. Vous gagnerez 2 canaux (un seul par moteur dans ce cas), ça peut être pas mal, mais vous perdrez en simplicité de programmation, en prix et en choix. C'est tout de même une solution à garder sous le coude. Il est des cas où l'économie de 2 canaux devient primordiale. Dans ce cas, vous finirez par vous replier sur la solution des servo-moteurs à 20 billets pièce.
|
||||||||||||||||
![]() ![]() |