[PiRobot] Partie 1 – Nomenclature, plans et schémas
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 ! 🙂       […]
PiRobot - Partie 1

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 ! 🙂

 

 

 

1. Présentation du concept

Principe du PiRobot

Schéma de principe Commande/Puissance du PiRobot

 

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.

Carte de commande des moteurs

Carte de commande des moteurs

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.

Chaîne de commande des moteurs

Chaîne de commande des moteurs

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.

Chaîne d'information pour obtenir le couple par moteurs

Chaîne d’information pour obtenir le couple par moteurs

2. Une bonne nomenclature !

Voici donc les différentes commandes que j’ai mené. Notamment sur les site GoTronic.fr et Amazon.fr :

PiRobot_nomenclature

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.

PiRobot : vue de côté

PiRobot : vue de côté

 

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.

Schéma de découpe de l'étage 1

Schéma de découpe de l’étage 1

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.

Schéma de découpe et perçage du 2nd étage

Schéma de découpe et perçage du 2nd étage

 

4. Résultat / Photos

PiRobot - Vue du dessus

PiRobot – Vue du dessus

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

Des fils partout !

Des fils partout !

PiRobot - Tadam !

PiRobot – Tadam !

Carte I2C / PWM

Carte I2C / PWM

Acquisition analogique qui nous servira pour le retour de couple

En bleu : Acquisition analogique qui nous servira pour le retour de couple / En rouge : Carte de contrôle des moteurs

PiRobot - Vue de côté / Batterie puissance

PiRobot – Vue de côté / Batterie puissance

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.

PiRobot prêt !

PiRobot prêt !

 

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

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Pin It on Pinterest

Shares
Share This