Rpibot : Robot mobile low-cost et extensible pour apprentissage systèmes embarqués
Cette plateforme robotique mobile simple et low-cost a été créée pour donner aux développeurs un moyen pratique et concret d'apprendre les systèmes embarqués.
En tant qu'ingénieur logiciel embarqué dans une entreprise automobile allemande, j'ai démarré ce projet comme plateforme d'apprentissage. Bien que le projet original ait été annulé tôt, mon enthousiasme l'a porté comme hobby, aboutissant au Rpibot.
J'avais un ensemble clair d'exigences :
- Matériel minimal, centré logiciel
- Budget tout-en-un 100 €
- Extensibilité intégrée pour futurs modules
- Source d'alimentation unique 5 V (ex: powerbank USB) pour tous composants
La plateforme sert multiples buts — éducation, surveillance, compétitions robotiques — mais ce n'est pas un tutoriel débutant. Connaissances de base en programmation Python, électronique, et contrôle PID sont attendues.
Les défis étaient inévitables, mais un esprit curieux et persistant aide à les surmonter. Le code source est intentionnellement concis, avec sections critiques commentées pour guidance.
Code source complet et schémas matériels disponibles sur GitHub : https://github.com/makerobotics/RPIbot
Fournitures :
Mécanique
- 1 × Panneau contreplaqué A4, 4 mm d'épaisseur
- 3 × Vis et écrous M4 × 80
- 2 × Moteurs réducteurs avec arbre de sortie secondaire pour encodeurs (roues)
- 1 × Roue libre
- 1 × Support caméra pan-and-tilt (optionnel)
Électronique
- 1 × Raspberry Pi Zero (avec header et caméra)
- 1 × Contrôleur servo PCA 9685
- 2 × Roues encodeurs optiques et circuits
- 1 × Fils de liaison femelle
- 1 × Powerbank USB
- 1 × Pilotage moteur double DRV8833
- 2 × Micro-servos SG90 pour caméra pan/tilt (optionnel)
- 1 × IMU MPU9250 (optionnel)
- 1 × Capteur ultrason HC-SR04 (optionnel)
- 1 × Plaque perforée, fil à souder, headers, etc.
Étape 1 : Construire le châssis
Le châssis est intentionnellement simple, léger, et rapide à assembler/démonter.
- Matériaux abordables
- Assemblage rapide
- Place pour futures ajouts capteurs
- Léger pour réduire consommation
Le contreplaqué est idéal — facile à découper à la scie à chantourner et percer. Collez de petits morceaux de bois pour créer points de fixation pour capteurs et moteurs. Les pièces critiques doivent être fixées par vis pour pouvoir être remplacées ou debuguées sans démonter tout le cadre. Bien qu'un pistolet à colle chaude soit pratique, il peut ne pas tenir sur le long terme. L'impression 3D est une alternative mais peut être coûteuse et chronophage.
La roue libre est légère et sans friction, permettant un mouvement plus fluide. Un simple espaceur en bois nivelle la roue arrière après montage des roues principales.
Propriétés des roues (pour calculs logiciels)
Circonférence : 21,5 cm
Impulsions encodeur : 20 impulsions/tour.
Résolution : ≈1 cm par impulsion (simplifie calculs distance)
Étape 2 : Électronique et câblage
Les modules suivants sont interconnectés comme montré dans le diagramme.
Raspberry Pi Zero – le contrôleur central. Il lit les capteurs et pilote les moteurs via PWM. Il se connecte à un PC distant via Wi-Fi.
DRV8833 – un double pont en H moteur qui fournit le courant suffisant aux moteurs (les broches GPIO du Pi ne peuvent pas).
Encodeurs optiques – délivrent une onde carrée à chaque interruption du chemin lumineux de la roue. Interruptions matérielles sur le Pi capturent chaque transition.
PCA 9685 – un contrôleur servo I²C fournissant signaux PWM et alimentation 5 V pour servos pan-tilt.
MPU9250 – accéléromètre 3 axes, gyroscope, et magnétomètre, principalement utilisé pour info cap.
Tous les composants sont câblés avec fils de liaison. Une breadboard sert de hub de distribution, fournissant rails 5 V, 3,3 V, et masse. Le tableau de connexion (voir pièce jointe) détaille chaque lien. Ne connectez jamais 5 V directement sur une broche 3,3 V ; revérifiez le câblage avant d'alimenter. Mesurez les tensions d'alimentation principales au multimètre après mise en place de la breadboard.
Les modules sont fixés au châssis avec vis nylon, les rendant à la fois stables et retirables pour maintenance.
La soudure s'est limitée aux bornes moteurs, breadboard, et broches headers. Les fils de liaison sont pratiques mais peuvent se détacher ; des diagnostics logiciels aident à identifier connexions intermittentes.
Source : Rpibot – Apprentissage robotique
Processus de fabrication
- Maîtriser time.sleep() en Python : Bonnes pratiques, multithreading et exemples réels
- Maîtriser le Contrôle PID : De la Théorie à la Pratique
- 9 applications essentielles du Machine Learning à connaître
- Quand passer au-delà du Raspberry Pi pour la prochaine phase de votre produit
- Comprendre l'Enfonçage de Matrice EDM : Les Essentiels de l'EDM à Cavité pour la Fabrication de Précision
- Moteurs industriels : types, fonctions et applications
- Installation de guides linéaires : guide complet pour lignes de production fiables
- Découvrez les indicateurs numériques : caractéristiques clés et applications
- Maîtriser le formage tôle : techniques et applications