Robot suiveur de ligne de vitesse V4
Composants et fournitures
| | × | 1 | |
| | × | 1 | |
| Pont Mini H L298N (MX1508) | | × | 1 | |
| Boîte de vitesses en métal pour mini moteur 6V | | × | 1 | |
| | × | 8 | |
| Régulateur linéaire (7805) | | × | 1 | |
| | × | 1 | |
| | × | 4 | |
| | × | 1 | |
| Résistance CMS 1206 (220 ohms) | | × | 8 | |
| Résistance CMS 1206 (10k ohms) | | × | 11 | |
| Résistance CMS 1206 (330 ohms) | | × | 5 | |
| | × | 1 | |
| | × | 2 | |
| Interrupteur DIP 2 circuits | | × | 1 | |
| Interrupteur à bouton-poussoir SparkFun 12mm | | × | 1 | |
| Condensateur CMS 1206 (0,1 uF) | | × | 3 | |
| Roulette à billes avec 3/8 | | × | 1 | |
| | × | 2 | |
| | × | 2 | |
| Support de batterie, AA x 2 | | × | 1 | |
Applications et services en ligne
À propos de ce projet
Ceci est mon deuxième robot suiveur de ligne (version 4). Contrairement au précédent, j'ai réalisé la conception du circuit imprimé à l'aide d'EasyEDA. Ce circuit imprimé fait office de châssis du robot. La fabrication des PCB a été réalisée par JLCPCB et je dois dire qu'ils ont dépassé mes attentes avec une qualité impressionnante et une expédition en un temps record.
La vidéo suivante montre le résultat final du prototype dans lequel j'ai inclus les modèles 3D conçus dans TinkerCAD.
Dans la vidéo suivante, je montre les tests effectués avec le Mini Motor Driver (MX1508).
Dans la vidéo suivante je montre les tests avec les 8 capteurs CNY70. Ces capteurs sont mesurés de manière analogique, via les ports A0 à A7 de l'Arduino Nano. J'utilise un algorithme initial pour calibrer les capteurs en normalisant la plage de 0 à 1000, où 0 représente le fond blanc et 1000 la ligne noire. Une fois l'étalonnage terminé, il entre dans la boucle et démarre le cycle de lecture, en calculant la position de 0 à 7000, qui représente respectivement le capteur gauche et le capteur droit. Cette valeur de position est utilisée pour calculer l'erreur proportionnelle P. La plage de P est de -3500 (gauche) à 3500 (droite), 0 étant la valeur centrale. L'algorithme mémorise la valeur de la position du dernier capteur (gauche ou droite) qui a détecté la ligne noire, ceci dans le but d'utiliser ces données pour les actions de freinage et de récupération de ligne.
Le test final avec le circuit monté à 95%, est montré dans la vidéo suivante. Un dernier test d'ampérage ayant une consommation maximale de 200mA.
Il s'agit de la dernière version du circuit imprimé du robot, prête à être fabriquée sur JLCPCB.
C'est le déballage.
Dans la dernière ligne droite et déjà avec le total des pièces, je montre l'assemblage de mon premier robot suiveur de vitesse.
Enfin et avec beaucoup d'effort j'ai déjà le prototype entièrement construit, je montre ci-dessous comment charger le code (Code Load Mode), comment tester les capteurs et bien sûr les tests sur piste. Très content du fonctionnement, le code de test parvient à très bien contrôler le code. J'ai utilisé un algorithme PID (Full) pour lisser les corrections et retrouver le cours de la ligne. Puisque tout peut être amélioré, je vais continuer à jouer avec le code pour obtenir une version plus efficace.
En complément, j'ai fait la simulation de ce robot dans l'application Webots. Il est encore en cours d'amélioration mais je partage cette vidéo afin que vous puissiez apprécier un moyen d'effectuer des tests mécaniques et logiques (Code) pour contrôler un robot dans un environnement virtuel et qui aide à comprendre le fonctionnement d'un robot physiquement construit.
Code
Code pour contrôler le robot suiveur de ligne de vitesse V4
https://github.com/DrakerDG/Speed-Line-Follower-Robot/commit/12a807aed92c570dce12452064a5d6fe5053cb71