
Dans la première partie de cette série d’articles de robotique consacrée aux trois robots, nous vous avons présenté la platine commune de contrôle (ou carte-mère) utilisée pour commander CarBot, Filippo et Spider : dans cette partie-ci, nous commençons la description de CarBot en nous occupant de tous les aspects pratiques de sa construction, ainsi que du système particulier de programmation du microcontrôleur de la platine de contrôle.
Ce système permet d’entrer dans le microcontrôleur les programmes que nous avons mis au point ou emprunté à d’autres sources, sans devoir recourir à un programmateur spécifique. Cette méthode, bien sûr, est commune aux trois robots puisqu’ils utilisent tous la même platine de contrôle. A ce propos, rappelons que le coeur du circuit est un microcontrôleur Microchip puissant et aisément adaptable aux divers emplois : le PIC16F876, que tout le monde connaît maintenant, travaille à 20 MHz.
La structure électromécanique de CarBot
CarBot est un véhicule à trois roues se mouvant grâce à deux servocontrôles dûment modifiés et disposant de deux antennes (ou moustaches, mais nous préférons antennes car il ressemble plus à un insecte qu’à un chat…) grâce auxquelles il peut identifier et éviter les obstacles. Sa particularité est sa troisième roue (à l’arrière, elle est pivotante) lui permettant de faire des mouvements dans toutes les directions : cela le rend agile, précis et rapide dans ses déplacements.
CarBot est construit en fibre de verre recouvert sur les deux faces d’une fine couche de cuivre et d’un vernis spécial cuit au four (rendant la surface dure et donc inrayable). En outre, ses différentes pièces ont été faites à la fraiseuse à contrôle numérique, ce qui garantit une précision élevée. Comme le montrent les figures, CarBot est monté sur une platine mécanique de base (voir photo d’entrée d’article) : les pièces sont montées dessus (ou plutôt dessous, le dessus étant réservé à la platine électronique de contrôle). Ces pièces peuvent être assemblées par soudure au tinol (grâce à la couche de cuivre) ou en utilisant de la colle au cyanoacrylate. Toutefois la première solution est celle que nous vous conseillons, car c’est celle que nous avons mise en oeuvre pour construire nos prototypes. Pour le montage, outre un fer à souder et du tinol, donc, il vous faut un tournevis, une paire de pinces, des précelles (cela ressemble à une longue pince à épiler, mais ça n’épile pas !) et des élastiques.
Les figures 1 à 4 expliquent les phases de montage des pièces constitutives de CarBot. Nous nous occuperons donc ici seulement de quelques aspects particuliers exigeant davantage d’approfondissement.
Le système de traction utilise deux servocontrôles Futuba S3003 (bien connus des modélistes). Normalement, on les alimente avec une tension continue de 4,8 à 6 V et ils sont contrôlés par un train d’impulsions dont la durée doit être comprise entre 1 et 2 millisecondes : si l’on envoie des impulsions d’une durée de 1,5 ms, l’axe se met en position centrale, si en revanche elles ont une durée de 1 ms, l’axe se place complètement à droite et si elles ont une durée de 2 ms, l’axe se place complètement à gauche. Selon le type de servocontrôle utilisé, l’angle maximal de déplacement, par rapport à la position centrale, peut être de 60, 90, 120° ou davantage.
Bien sûr, en envoyant des impulsions de durée intermédiaire, l’axe se place dans une position proportionnelle à la durée de l’impulsion. Ces dispositifs sont utilisés depuis des décennies pour la réalisation des modèles aéronautiques, nautiques, terrestres, etc. et leur usage permet de déplacer et de positionner comme on veut les ailerons des avions, le gouvernail des bateaux et les roues des voitures, etc. Les servocontrôles sont constitués essentiellement d’un moteur à courant continu, d’un circuit électronique de contrôle, d’une série de démultiplicateurs (réducteurs à engrenages) et d’un trimmer de “feedback” (retour d’effet). Pour pouvoir se servir de ces dispositifs comme moteur, il est nécessaire de les modifier mécaniquement et électroniquement : essentiellement, il faut éliminer l’arrêt mécanique et remplacer quelques résistances. Pour obtenir la rotation dans un sens, il suffit d’envoyer des impulsions de l’ordre de 1,8 à 2 ms, pour faire tourner le moteur dans le sens opposé, les impulsions doivent avoir une durée de 1 à 1,2 ms et pour arrêter le moteur, une durée de 1,5 ms. Dans notre cas, la vitesse de rotation n’est pas parfaitement proportionnelle à la durée des impulsions, mais il est seulement possible d’obtenir un mouvement en avant ou en arrière à vitesse fixe. Si vous voulez obtenir une vitesse proportionnelle à la durée des impulsions de contrôle, vous devez effectuer une modification plus sophistiquée : ce type d’informations se trouve sur beaucoup de sites dédiés à la robotique (le plus complet sur ce point est sans doute www.seattlerobotics.org, voir notre rubrique Sur l’Internet).
En effet, savoir comment piloter les servocontrôles vous sera très utile quand vous en serez à l’écriture des programmes.
Si plus tard vous effectuez les modifications dont nous venons de parler, vous pourrez régler la vitesse de CarBot en réalisant, par exemple, des départs progressifs ou, au contraire, sur les chapeaux de roues.
Cet aspect étant examiné, nous voudrions maintenant nous occuper un peu de la troisième roue arrière pivotante, dont la fourche est fixée à la structure de CarBot par un boulon avec écrou autobloquant. La roue, comme son support, doivent être librement mobiles mais sans jeu excessif. C’est pourquoi il est important de serrer juste comme il faut l’écrou autobloquant : nous vous conseillons, après avoir vissé à fond l’écrou, de le dévisser d’un quart de tour. Quant à la roue, si elle est bloquée ou si elle tourne difficilement, il faut élargir la fourche avec une pince (figure 3). Et puis, toujours à propos des pièces en mouvement, il est conseillé de mettre, à l’aide d’une seringue, une goutte d’huile de machine (type machine à coudre) entre les côtés de la fourche et la rondelle, ainsi qu’entre la rondelle et la structure de base. Même chose entre la structure de base et la rondelle et entre la rondelle et l’écrou autobloquant.
En ce qui concerne les liaisons électriques, nous recommandons d’insérer le connecteur du moteur gauche dans la prise M1 de la platine de contrôle et le connecteur du moteur droit dans la prise M2. Le fil blanc est à insérer sur le contact 1 et le noir sur le contact 3.
Rappelons enfin que, lorsque le robot est monté, il est possible de placer au-dessus de la platine de contrôle une platine complémentaire sur laquelle on peut insérer des composants divers et différents systèmes comme des capteurs, mini caméra vidéo, afficheur LCD et beaucoup d’autres selon votre imagination ou vos applications particulières.
Figure 1 : La structure porteuse de CarBot.





Figure 2 : Le montage des moteurs.





Figure 3 : L’insertion des roues.





Figure 4 : La phase finale.





Le logiciel de CarBot
Pour ne pas être trop longs, nous nous occuperons seulement du “bootlader” en attendant la prochaine partie pour présenter et commenter les programmes proprement dits.
Signalons tout de même aux lecteurs impatients que ces programmes sont disponibles sur le site www.electronique-magazine.com où ils peuvent être téléchargés gratuitement pour programmer ensuite le microcontrôleur de la carte-mère. Les “cadors” de la programmation des PIC pourront aussi s’amuser à concevoir eux-mêmes un programme ! La figure 5 explique en détail ce qu’est un “bootlader” et comment on l’utilise.
En bref, ce système permet de programmer le microcontrôleur de la platine de contrôle en se servant directement de la sortie sérielle d’un ordinateur, c’est-à-dire sans avoir recours à un programmateur spécifique. Ce système utilise un logiciel particulier PICdownloader.exe permettant de charger dans le microcontrôleur les programmes que nous avons développés (au format .HEX) par l’intermédiaire du port sériel. Cela est possible uniquement si on a préalablement chargé dans les microcontrôleurs un bref programme de support bootldr20Mhz-19200bps.hex logé dans les premières cellules de mémoire : ce logiciel, bien sûr, doit être chargé avec un programmateur habituel.
Figure 5 : Comment charger les programmes.
Pour faire fonctionner CarBot, ainsi que toute notre série de robots utilisant la même carte-mère (décrite dans le premier article de la série), il est nécessaire d’écrire un programme qui fasse faire au robot ce que nous désirons, dans les limites des ressources disponibles.
Ce programme peut être écrit en n’importe quel langage, du Basic au C en passant par l’Assembleur, etc., celui-ci devant être ensuite compilé de façon à obtenir le fichier .HEX adapté pour être mémorisé par le microcontrôleur. Mais nous nous occuperons de tout cela dans le prochain article de la série : nous présenterons et commenterons les programmes écrits pour CarBot.
Nous voulons ici expliquer comment le programme, développé ou prélevé dans le manuel sur CD accompagnant tous les robots, peut être entré dans le microcontrôleur. Avant tout, précisons que, pour rendre plus agréable cette opération ainsi que la vérification des routines, la carte-mère est dotée d’un système de programmation “in-circuit” permettant de laisser le microcontrôleur en place. La programmation se fait directement par le port sériel du PC et la prise DB9 de la carte-mère. Pour ce faire, il est nécessaire d’utiliser un système de programmation spécifique : le “bootlader”. C’est un système utilisant un logiciel spécial, PICdownloader.exe, permettant d’entrer dans le microcontrôleur les programmes que nous avons développés (au format .HEX) au moyen du port sériel. Cela est possible uniquement si le microcontrôleur est préalablement chargé par un bref programme de support, bootldr20Mhz-19200bps.hex, logé dans les premières cellules de mémoire : ce logiciel, bien sûr, doit être chargé avec un programmateur normal.
Le microcontrôleur est déjà programmé en usine par ce bref programme.
Mais voyons à présent comment utiliser le “bootlader”. Créez, avant tout, dans votre PC un répertoire comme C:\Bootlader et, à partir du manuel sur CD ou de notre site Internet, chargez le programme PICdownloader.exe (sauvegardez-le dans le répertoire créé).
Faites un raccourci sur le bureau de ce programme (touche droite de la souris).
Après avoir produit (ou copié) le programme au format .HEX, lancez le PICdownloader par un double clic sur l’icône du bureau et la fenêtre “Figure 5a” s’ouvre :




Si en revanche elle est déjà allumée, pressez la touche de “reset” sur la carte mère.
Dans le champ “Info” apparaît la barre bleue indiquant la progression du chargement.


A suivre...
Trois robots de grande taille à construire et à programmer
Premier robot "CarBot" (Deuxième partie)
Deuxième robot "Filippo" (Première partie)
Deuxième robot "Filippo" (Deuxième partie)
Troisième robot "Spider" (Première partie)
Troisième robot "Spider" (Deuxième partie)