Il est l’heure de mettre la main dans le cambouis, de scier, percer, limer et assembler mon prototype ! Dans cette partie , je vais vous expliquer la réalisation du robot, avec les différents composants utilisés, quelques plans d’implantations griffonnés ainsi que les schémas électriques de fonctionnement. Prototypage et assemblage ! C’est parti ! 🙂
Table des matières
1. Présentation du concept
Le principe est le suivant : Nous avons un Rover, muni de 4 moteurs. Ces 4 moteurs possèdent chacun 4 fils en sortie. 2 pour l’alimentation du moteur (+ et -) et 2 pour le retour de vitesse (encodeur 1 et 2).
Notre carte de contrôle des moteurs s’occupe de gérer la vitesse de chaque moteur selon les informations qu’il reçois, c’est à dire :
- La commande PWM envoyé par l’utilisateur
- Le retour d’information des encodeurs.
Le retour d’information de l’encodeur est l’image de la vitesse. La vitesse est notre variable de sortie. La commande PWM est notre consigne de vitesse. La carte de commande va toujours faire en sorte que consigne = sortie. On augmente la consigne, la vitesse augmente, et inversement.
La Raspberry Pi n’est pas capable d’envoyer un bon signal PWM en 5V (on pourrait tout de même en simuler un en 3.3V, de manière software). Nous passeront donc par une carte adressée sur le bus I2C qui va gérer plusieurs sorties PWM. Le but de cette carte va être d’envoyer les consignes de vitesse à notre carte de contrôle commande.
De plus, notre carte de contrôle des moteurs possède une protection sur le courant émis aux moteurs. En effet, la carte émet un maximum de 2A par moteur. Au-delà le moteur se coupe. Cela permet de palier au problème de moteur qui se bloque. Si le robot n’avance plus (obstacle, mur, embourbé…) les moteurs vont tirer plus de courant pour répondre à la demande de couple. Sur la carte de contrôle/commande des moteurs RS011MC, nous avons une chance inouïe d’avoir un retour d’information sur le couple, pour chaque moteur. Ce retour d’information s’effectue en analogique 0-5V pour une échelle de courant de 0-2A. C’est pourquoi je rajoute encore une carte I²C d’acquisition analogique.
2. Une bonne nomenclature !
Voici donc les différentes commandes que j’ai mené. Notamment sur les site GoTronic.fr et Amazon.fr :
Cela représente 307 € en totalité. J’ai également récupérer un servo-moteur de mon pack Arduino, afin de pouvoir monter un support pour la caméra dessus.
3. Plans d’implantation/découpage
Le robot se décompose en étages. On trouve un premier étage pour stocker notre batterie de modélisme, ainsi que la carte de commande des moteurs (en rouge ci-dessous). Le deuxième étage servira pour le Raspberry Pi et le générateur PWM en I2C. A l’avenir, une caméra pourra être posée sur le 2nd étage.
Voici les découpes du plexi que j’ai effectué pour le 1er étage. La longue découpe permet de laisser dépasser et caler la batterie. La petite découpe permet de laisser passer le connecteur pour se connecter au reste du circuit ou pour recharger.
Pour le 2nd étage la découpe « Batterie 5V » permet d’y placer la batterie qui alimentera le Raspberry Pi ainsi que toute l’électronique de commande. Les différents points représentes les différents perçages que j’ai eu à effectuer.
4. Résultat / Photos
1 : Batterie 5V
2 : Convertisseur I2C / PWM 16 voies (PCA9685)
3 : Convertisseur analogique / I2C (ADA1085)
4 : Raspberry Pi 2 Rev B
5 : Servomoteur avec Camera Raspberry Pi
6 : Clé WiFi pour Raspberry Pi
Je veille bien à placer les connecteurs dans le même sens, histoire d’avoir les tension accessibles pour un contrôle des tension avec un voltmètre.
Maintenant que notre PiRobot est assemblé, reste à coder ! Pour se faire, je prévois :
– Test des composants via des scripts Python sur le Raspberry Pi
– Création d’un serveur en C++ sur Raspberry Pi
– Amélioration des performances temps réel (preempt-rt ?)
– Création d’un client sous Windows (WPF / C#) pour contrôler le PiRobot à distance
BenTek.
0 commentaires