Trois robots de grande taille à construire et à programmer : Deuxième robot "Filippo" (Première partie)

Nous poursuivons la description de nos robots avec le deuxième : Filippo. Dans cette partie, nous nous occuperons de la mécanique et de son montage.


Dans les deux derniers articles de la rubrique ROBOTIQUE, nous nous sommes occupés du premier des trois robots : CarBot. Nous avons vu la partie mécanique et son montage, ainsi que le chargement du programme dans la mémoire et la mise en oeuvre des logiciels en langage Basic.
A partir de cet article-ci, nous commençons à analyser le deuxième robot : Filippo. Nous nous pencherons d’abord sur la mécanique et son montage mais, comme nous l’avons déjà fait très en détails pour CarBot et qu’en substance la méthode de montage mécanique de Filippo n’est guère différente, nous pourrons passer plus vite : cela va nous permettre, dès cet article, de retrouver l’électronique, qui après tout est notre passion commune, en montant le détecteur infrarouge. Dans le prochain, nous nous consacrerons au logiciel permettant à Filippo de se déplacer et d’interagir avec son environnement.

Filippo
Déflorons sans plus tarder notre sujet : Filippo est un bipède, se déplaçant, donc, en utilisant ses deux jambes équipées de pieds (des jambes, quoi !). Le robot est muni de deux servomoteurs (un antérieur et un central) utilisés pour le mouvement. Le moteur antérieur en particulier sert à déplacer le barycentre d’un côté à l’autre à l’intérieur de l’aire occupée par les pieds. Le servomoteur central sert en revanche pour exécuter les mouvements en avant et en arrière des jambes. En synchronisant par voie logicielle le mouvement des deux moteurs, il est possible de produire les 36 mouvements de base qui, composés entre eux, font que Filippo avance, recule ou tourne sur lui-même.
Comme pour les trois robots, la structure mécanique de Filippo est en fibre de verre recouverte d’une couche de cuivre peint (ce qui, à la peinture près, fait furieusement penser à de la plaque de circuit imprimé !). Outre les pièces de la structure et les deux servomoteurs, on trouve tous les boulons, axes et entretoises, etc., nécessaires à sa construction. Sans oublier la carte mère pilotant le robot et la platine périphérique détecteur à infrarouges dotée de deux LED émettrices et d’un récepteur, le tout servant à percevoir et éviter les obstacles.
La structure de base de la mécanique est constituée de divers éléments, rappelant beaucoup ceux de CarBot et devant être solidarisés entre eux : pour Filippo aussi, on a le choix entre les deux méthodes déjà vues, la soudure au tinol ou la colle cyanoacrylate (nous vous conseillons la première solution, plus simple, plus rapide et plus familière à un électronicien…). Comme outillage ?
Vous aurez besoin d’un tournevis cruciforme numéro 1, de deux pinces à bec fin (une droite et une courbe), d’une pince plate, d’un fer à souder d’au moins 40 W à grosse panne, de tinol 60/40 de bonne qualité et de quelques élastiques.

Le fonctionnement et le montage mécanique
Tout d’abord, analysons brièvement le fonctionnement des deux servomoteurs.
Il s’agit de deux modèles S3003 FUTUBA, conçus pour le modélisme. Si vous avez lu les articles consacrés à CarBot, vous vous souvenez qu’il utilisait également deux servomoteurs de ce modèle et que ces deux moteurs avaient dû être légèrement modifiés (mécaniquement et électroniquement), de façon à permettre aux axes et aux roues de tourner sur 360°.
Eh bien pour Filippo, aucune modification de ce type n’est nécessaire : en effet, les moteurs n’ont pas à faire une rotation complète. Les deux dispositifs sont alimentés par une tension entre 4,8 et 6 V et ils sont commandés par des trains d’impulsions dont la durée implique le sens du mouvement. Pour des durées égales à 1,5 ms, l’axe se met en position centrale, pour 1 ms, il se met franchement dans une direction et pour 2 ms, franchement dans la direction opposée. Avec des impulsions de 1 à 1,5 ms et 1,5 à 2 ms, l’axe se place en position intermédiaire proportionnelle à la durée.
Occupons-nous maintenant des jointures du robot, devant permettre une certaine mobilité. Comme le montrent les photos de la figure 2, pour relier la structure de base aux parties mobiles, on utilise unevis, deux rondelles (une de chaque côté) et un écrou autobloquant (que les mécaniciens appellent «nylstop»). On trouve de telles jointures en particulier entre structure et jambes, entre jambes et pieds et entre pieds et chevilles (ce qui n’étonnerait guère un kiné !). Pour permettre le mouvement, il est important de serrer ces boulons de jointure à la juste pression, mais pas trop. En effet, les jointures (pour ne pas dire articulations) doivent pouvoir bouger librement sans forcer, mais sans qu’il y ait toutefois un jeu excessif pouvant désarticuler le robot et le faire tomber. Nous vous conseillons de visser chaque écrou à fond, puis de le dévisser d’environ 1/4 de tour. En outre, toujours à propos des pièces en mouvement, afin de diminuer les frottements, nous vous conseillons de mettre une goutte d’huile fine (dite de machine et en effet on l’utilise pour graisser les machines à coudre) à chaque jointure.
Vous pouvez utiliser une petite seringue et, quand la goutte est mise, éliminer l’excédant avec un chiffon ou un papier absorbant.
Dernier point concernant l’assemblage des divers éléments composant la structure de base. Pour cet assemblage, vous ferez comme pour CarBot.
Pour solidariser les pièces, des ferrures spéciales ont été prévues : procédez d’abord par insertions à encastrement des divers tenons dans des fentes puis par soudure dans les angles au tinol en suivant l’ordre des 60 photos de la figure 1. Si l’encastrement vous oppose une certaine résistance, n’hésitez pas à vous aider d’un marteau et d’une cale en bois ou d’un maillet (sans déformer les plaques toutefois par excès de violence !). Nous vous conseillons en outre de ne pas frapper sur un point particulier, mais de répartir l’effort (d’où la cale de bois…) afin que les tenons entrent dans leurs fentes tous ensemble et progressivement. Avant de commencer les soudures, immobilisez bien la structure avec les élastiques. Quand le robot est assemblé, il est possible de superposer à sa carte-mère une carte supplémentaire sur laquelle vous pouvez monter des composants et systèmes divers : capteurs, mini caméra vidéo, afficheur LCD et tout autre périphérique à votre convenance et selon votre imagination.

Figure 1 : Le montage mécanique complet de Filippo tout en images. Le procédé est identique à celui de CarBot : encastrements et soudures au tinol. Les illustrations se lisent en vertical, de la colonne de gauche à la colonne de droite.






















La partie électronique
En ce qui concerne l’électronique de Filippo, nous avons déjà vu dans les articles précédents qu’elle se compose d’une carte-mère commune aux trois robots. Sur cette platine le coeur est le microcontrôleur PIC16F876 aux broches d’I/O duquel viennent se lier les divers dispositifs constituant le robot : les deux servomoteurs, le buzzer, le circuit intégré MAX232 interfaçant le PIC au port sériel et deux émetteurs, avec leur récepteur, infrarouges. Ces dispositifs à infrarouges sont utilisés par Filippo pour reconnaître (et par suite éviter) les obstacles rencontrés en chemin. Pour les relier à la carte-mère, une interface a été prévue : elle est insérée dans les connecteurs prévus.

Figure 2 : Schéma synoptique du détecteur à infrarouges intelligent PNA4602. Le module peut recevoir un signal optique modulé à la fréquence de 38,5 kHz, le démoduler et fournir à sa sortie l’information contenue.

Le schéma électrique du détecteur infrarouges
Passons maintenant à l’analyse du schéma électrique (figure 3) du circuit détecteur à infrarouges : la partie émettrice se compose de 4 portes NAND (circuit intégré 74HC00) dont 2 sont utilisées pour réaliser un oscillateur et les 2 autres sont gérées par le PIC comme des interrupteurs pour envoyer la fréquence alternativement à l’émetteur droit ou gauche. Si le PIC met le signal IFR1 au niveau logique 1, la fréquence produite passe à l’émetteur droit. Si en revanche c’est la signal IFR2 qui est mis au niveau logique 1, la fréquence passe à l’émetteur gauche. Le trimmer R8 règle la sensibilité du dispositif, en agissant sur son curseur, il est possible d’augmenter ou de diminuer la distance de perception des obstacles par Filippo : en sens horaire la sensibilité augmente, dans le sens anti-horaire elle diminue. En effet, la variation de R8 fait varier aussi la chute de tension aux bornes des émetteurs et par conséquent la «puissance» du signal infrarouge émis. Or si on augmente la puissance, il est possible d’identifier un obstacle même s’il est à une certaine distance, si en revanche on la diminue, la distance de détection du même obstacle sera plus courte.
La fréquence de l’oscillateur est de 38,5 kHz (fréquence imposée, nous le verrons plus loin, par le détecteur infrarouge). Le circuit comporte en outre le trimmer R9 servant aux ajustements fins de la fréquence. Le réglage est exécuté au cours des essais et ne nécessite donc ensuite aucune intervention de l’usager.

Figure 3 : Schéma électrique du détecteur à infrarouges.

Liste des composants
R1 = 150 Ω
R2 = 150 Ω
R3 = 10 kΩ
R4 = 10 kΩ
R5 = 0 Ω
R6 = 4,7 kΩ
R7 = 100 kΩ
R8 = 500 Ω trimmer
R9 = 4,7 kΩ trimmer
C1 = 1,8 nF multicouche
C2 = 100 nF multicouche
IC1 = 74HC00
IR1 = LED 3 mm infrarouge
IR2 = LED 3 mm infrarouge
IFR1 = PNA4602

Divers :
1 Support 2 x 7 broches
2 Connecteurs tulipe mâle 5 broches
2 Connecteurs tulipe femelles 2 broches
1 Connecteur tulipe femelle 3 broches
Les résistances sont des 1/4 de watt à 5 %.


Figure 4 : Les cônes d’émission (en jaune) et de réception (en rose). La logique de fonctionnement du détecteur à infrarouges est la suivante : les deux émetteurs infrarouges envoient, alternativement, le signal modulé à 38,5 kHz ; si un obstacle est présent, le signal lumineux est réfléchi et donc détecté par le récepteur central. Il est donc possible de distinguer si l’obstacle est à droite, à gauche ou au centre.

Figure 5a : Schéma d’implantation des composants du détecteur à infrarouges.

Figure 5b : Photo d’un des prototypes de la platine du détecteur à infrarouges.

Figure 5c-1 : Dessin, à l’échelle 1, du circuit imprimé double face à trous métallisés du détecteur à infrarouges, côté composants.

Figure 5c-1 : Dessin, à l’échelle 1, du circuit imprimé double face à trous métallisés du détecteur à infrarouges, côté soudures.

Figure 6 : La platine détecteur à infrarouges avec ses LED émettrices, son récepteur et le nécessaire de montage sur la carte-mère.

Le récepteur à infrarouges
Analysons la partie réceptrice du détecteur à infrarouges. Elle est constituée du récepteur à infrarouges «intelligent» (!) PNA4602. On le dit «intelligent» car il est non seulement en mesure de détecter le signal infrarouge à une fréquence de 38,5 kHz, mais encore de l’élaborer et de le démoduler (voir schéma synoptique figure 2), fournissant de ce fait sur sa borne OUT un niveau logique 0 ou 1 selon qu’un signal infrarouge est détecté ou non. La borne OUT du PNA4602 va donc directement (à travers R5) à un port de I/O du PIC.

La logique du PIC
Après le schéma électrique, analysons avec quelle logique le PIC utilise le circuit pour détecter les obstacles (figure 4). Le fonctionnement pratique est le suivant : le PIC met au niveau logique 1 IFR1, activant de ce fait l’émission de IR1 (l’émetteur de droite). Si un obstacle est présent dans le cône de lumière produit, l’objet reflète les photons vers le récepteur infrarouges qui en détecte la présence.
En même temps, le microcontrôleur se met en «écoute» sur le port I/O du récepteur PNA4602 : si le PIC détecte un signal, cela signifie que l’obstacle est situé à droite et qu’il doit donc cesser d’avancer et prendre les mesures qui s’imposent. Ensuite, le PIC met IFR2 au niveau logique 1 et exécute les mêmes opérations, mais dans ce cas il détecte l’éventuelle présence d’un obstacle à gauche. Dans le cas où l’obstacle se trouve devant, il est considéré présent à la fois à droite et à gauche.

La réalisation pratique du détecteur à infrarouges
Voyons maintenant comment monter la platine du détecteur à infrarouges (figures 5, 6 et 7). Tout d’abord, il faut réaliser ou se procurer le petit circuit imprimé double face à trous métallisés dont la figure 5b-1/5b-2 donne les dessins des deux faces à l’échelle 1. Quand il est en votre possession, montez tous les composants dont la figure 5a donne la liste.
Montez, côté composants, d’abord le support du circuit intégré IC1 et contrôlez immédiatement ces soudures (ni court-circuit entre pistes ou pastilles ni soudure froide collée). Vous insèrerez le circuit intégré à la fin.
Montez toutes les résistances, après les avoir triées par valeurs afin de ne pas les confondre ni les intervertir, puis les deux trimmers. Montez les deux condensateurs (ils ne sont pas polarisés).
Montez enfin, toujours côté composants, les connecteurs tulipe femelles : deux à 2 broches pour recevoir les 2 LED infrarouges IR1 et IR2 et une à 3 broches pour recevoir IFR1 PNA4602.
Retournez la carte côté soudures et insérez les deux connecteurs tulipe mâles à 5 broches notés IFR1-IR1 et IFR2-IR2 et servant à la connexion électrique avec la carte-mère. Soudez-les, bien sûr, côté composants.
Enfoncez délicatement IC1 dans son support 2 x 7 broches, repère-détrompeur en U tourné vers C2 (figure 5a), puis enfoncez les 2 LED infrarouges en respectant bien leur polarité +/– (la patte la plus longue est le + ou anode) et enfin enfoncez le détecteur IFR1 (figure 8 : lui aussi a une polarité à respecter, cherchez le côté ou l’on voit la LED réceptrice, ce côté doit être tourné vers l’extérieur de la platine, soit du côté opposé au 74HC00.
Ceci fait, vous pouvez fixer cette petite platine sur la carte-mère à l’aide des 2 vis et entretoises (figure 6). Tout d’abord enlevez les vis antérieures servant à fixer la carte-mère à la structure de base de Filippo, ensuite insérez les entretoises entre la carte-mère et l’interface infrarouges, montez l’interface infrarouges en vérifiant bien que les connecteurs tulipes mâles entrent correctement dans les connecteurs correspondants de la carte-mère et fixez enfin le tout avec les vis.
Pour le réglage, nous avons déjà vu qu’il est possible, avec le curseur de R8, de faire varier la distance de perception des obstacles par Filippo : pour vérifier que ce réglage et correct, vous pouvez utiliser le programme IRtest contenu dans le CDROM ou téléchargeable sur le site de la revue.

A suivre...

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

0 commentaires:

Enregistrer un commentaire

Related Posts Plugin for WordPress, Blogger...