IMA3/IMA4 2019/2021 P2+
Présentation Générale
- Projet : ROBOT AUTONOME CENTAURE
- Encadrant : Xavier Redon
- Lieu de la formation : Polytech Lille, Lille , France
- Réalisé par : Marlène Kameni
- Calendrier
- Debut du projet : 17 Mai 2021
- Fin du projet : 29 Juin 2021
Description
ce projet s'intègre dans le cadre de la formation des élèves ingénieurs de
Polytech Lille, étudiante dans la filiaire Systèmes Embarqués.Il consiste à
à terminer l'avancement et la mise sur pied du robot.
Objectifs
Rendre opérationnel le robot Centaure au niveau de l'étage commande.
Préparation du projet
Cahier des charges
- terminer l'agencement interne du robot, e.g. terminer les supports des différents composants et réaliser un câblage organisé et maintenable
- inaliser les modules permettant de diriger le robot en filaire (manette) et sans fil (télécommande infrarouge)
- finaliser l'implantation des capteurs à courte distance (optique et de contact)
- finaliser la programmation de l'étage micro-contrôleur pour permettre la conduite du robot avec les moyens cités plus haut et en intégrant un arrêt d'urgence en cas de détection d'obstacle
Choix techniques : matériel et logiciel
Liste des tâches à effectuer
- Terminer l'agencement matériel
- faire le design sur onshape de la vitre de couverture supérieure
- installer et s'assurer de démontage facile du deuxième bouton d'arrêt d'urgence sur cette vitre
- moyen de recharge des batteries.
- Fonctionnement des batteries
- faire fonctionner les batteries
- reprogrammer l'Arduino et lancer chaque roue 1s
- Module de direction du robot
- réaliser une carte avec connecteur RJ11 pour une manette
- réalisation de la manette avec le joystick pour commander le robot
- programme de l'arduino pour que les roues soient commandées par la manette
- Montage des capteurs
- Terminer l'installation de tous les capteurs
- connecter tous les capteurs à l'Arduino de façon esthétique avec les câbles adaptés
- refaire la carte de l'Arduino pour insérer les trous des 4 câbles rajoutés
- Réécrire le code de l'Arduino pour arrêter le robot en cas d'obstacle
Calendrier prévisionnel
Réalisation du Projet
Prologue
Semaine 1 & 2
1.Prise en main du travail fait
En parcourant de long en large les rapports des groupes qui ont précédemment travaillé sur le robot Centaure , j'ai constaté qu'une large partie du travail avait déjà été entamé , notamment concernant la construction mécanique.les connecteurs Molex permettant de contrôler les variateurs ont bien été branchés.Le chargeur/testeur de batterie a lui aussi été reçu.
2.Installation et réalisation du capot de dessus
Grâce au logiciel Onshape, j'ai réalisé une représentation 3D de cette partie et grâce à l'imprimante laser du Fabricarum de Polytech Lille, je l'ai conçue.
L'installation du bouton d'arrêt d'urgence est réalisée avec succès mais une seule des vis prévues pour ce bouton sur le capot entre, ceci est due à la conception d'un rayon plus grand que prévu.
Mais j'ai pu constater que ce petit écart de dimensionnement permet d'avoir un désassemblage facile par la suite.Néanmoins si je constate une erreur dû à cela on pourra toujours refaire une découpe avec un diamètre du trou plus petit.
3.Alimentation des moteurs
je dispose de moteurs SRG0131 24V / 15.5 A / 0.35 kW / 10 km/h.Ces moteurs ont un courant de pic d’approximativement 30-35A. En régime normal, leur consommation est d’environ 8A.
Attention: il est impératif de desserrer les freins en injectant du 24V sur les deux petits fils (jaune et violet) allant vers les moteurs
Afin de recharger les batteries , on dispose d'un :
- chargeur/testeur de batterie
Concernant le test de batterie , grâce à un voltmètre j'ai pu tester si les batteries étaient déchargées ou pleinement chargées.
sachant qu'avec ce chargeur ,la pleine charge peut indiquer une valeur supérieure à 12,79 V. Cela peu aller à un poil au dessus de 13V. Sachant qu’après l’avoir débrancher elle redescend à 12,8 12,9V.
Le travail sur la conception de la carte PCB relié à l’Arduino n'a pas été bien explicité sur le wiki. du fait de ce manque d'informations j'ai pris contact avec les élèves qui travaillaient dessus avant moi. J'attends donc leur réponse. En parallèle j'ai retravaillé sur le bouton d’arrêt d'urgence qui était pas bien fixé et sur l'écriture du code Arduino.
4.Explication code Arduino
Aujourd'hui le code Arduino écrit pour faire avancer les deux roues a fonctionné parfaitement comme sur la vidéo ci-dessous.
En début de code j'ai défini les sorties analogiques correspondantes à l'avance/recul des roues gauches et droites. mais aussi les variables correspondants aux variateurs qui gèrent les moteurs.Pour finir j'ai simplement écrit les syntaxes d'activation des moteurs.
5.Création de la manette
Le premier essai de conception de la manette du robot cette fois ci avec deux joysticks.le soucis étant une intersection de certains liens entre eux qui créons un court_circuit ultérieurement à l'utilisation.Mais après le problème a été réglé.
Fichier Fritzing Mar : Fichier:Manette mar2.zip Dernière version
Semaine 3 & 4
La semaine a démarré avec la suite du travail sur le PCB de la carte arduino.
J'ai continué entre temps à faire l'inventaire du matériel manquant matériel qui a été commandé.
En parallèle la soudure de carte pcb de la manette avec les deux joysticks , la prise RJ , la led et la résistance a été faite.
De plus le support de plexiglas de cette carte a été réalisée sur Onshape
1.Processus création du pcb de la carte arduino
En s'inspirant de la carte précédente , j'ai donc gardé les éléments comme les connecteur des variateurs, les ports des relais de variateurs , la prise RJ11.
Mais en vu de rajouter les 6 capteurs présents sur les côtés du robot centaure, j'ai rajouté un connecteur HE10. J'ai fait quelques ajustements pour avoir un rendu esthétiquement correct.
En vu de rendre la carte le moins possible encombrée , j'ai changé les 2 convertisseurs numérique-analogique en intégrant certains de leurs éléments à la carte.
Fichier Fritzing Mar terminé: Fichier:Arduino pcb mar.zip avec schematic modélisé.
Semaine 5 & 6
1.Finition manette
En début de cette semaine le soudage des composants de la manette et le support ont été finalisé.
2.Explication code joystick
Grâce à un câble RJ11 , j'ai connecté la manette à la carte et l’Arduino à l'ordinateur. la première partie du code sert à l'initialisation des variables notamment les pins analogiques où des axes horizontal et vertical du joystick.
Plus précisément ici l'axe vertical sert à:
* l'avance avant (joystick vers le haut) et à * l'avance arrière (joystick vers le bas).
Et l'axe Horizontal permet de gérer ici la vitesse des roues:
* plus on va à droite plus la vitesse augmente * plus on va à gauche plus la vitesse diminue
3.Maquettage câbles capteurs
j'ai opté pour l'utilisation d'un câble nappe, il sera découpé afin qu'il soit le plus possible uni.il sera connecté sur la carte PCB au connecteur 20 pins.
4.Test carte PCB
- La led RGB
Le routage de la led rgb n'a pas été fait correctement fait en effet l'anode de cette dernière devait être placé à droite, on a donc manuellement grâce des coup de gratture et de rafistolage au fil en cuivre, on a pu remédier à ce problème et grâce au 'code Arduino test RGB' j'ai fait varier les couleurs de la led RGB.
- Les leds
Au premier test sur les leds, elles ne se sont pas allumées j'ai donc pensé que le fait de les avoir connectées aux pins RXi/TXi servant pour les communication etait le problème. Mais après une inspection approfondie , je me suis rendu compte de les avoir mal connectées , j'avais inversé l'anode et la cathode. Rectifiant cette erreur , et en faisant un test Arduino on allume ben toutes les leds , mais il faut remarquer que celles branchées aux pins RX1 et TX1 s'allument afin d'indiquer le transfert d'information vers la carte Arduino.
- Les DAC
ici j'ai fait varier la tensions de 5 à 0 V et j'ai observé à l'aide d'un voltmètre. Par ailleurs il faut declarer les deux ADC afin d'éviter toute erreur.
5.Installation nouvelle carte
On effectue le câble le plus basique qui permet de faire tourner simplement les roues. Mais après envoi du même code de mon pc ver l’arduino du Centaure avec les nouvelles initialisation des pins, la mise sous tension de ce dernier fait s'éteindre mon ordinateur , qui ne se rallumera plus.
Après consultation avec des Ingénieurs de Polytech Lille , on a constaté que la carte mère avait totalement grillé certainement dû à un court-circuit au niveau du port usb.
Ceci dit j’ai essayé de circonscrire ou ce trouvait la défaillance dans mon circuit j’ai donc procédé comme suit :
- Dans un premier temps , en effectuant des tests sur l’Arduino j’ai
constater qu’elle était grillée. Le port usb transmettait du courant à l’Arduino mais la détection du port était défaillante.
- Ensuite j’ai reconnecté l’ancienne carte PCB et j’ai refait
les branchements basiques , j’ai ensuite testé le claquement des relais en injectant du 5 v sur chacune des pins liés aux leds des relais présents et elles se sont toutes allumées.
Documents Rendus
Code Arduino : Fichier:Code_turn_wheel.zip
Code Arduino avec joystick: Fichier:Code_Joystick_Wheel.zip
Code Arduino RGB: Fichier:Blink_RGB.zip
Code Arduino Leds: Fichier:Blink_LEDS.zip
Code Arduino IC2: Fichier:Test_ic2.zip permet de récupérer les adresses des 2 ADC.
Code Arduino ADC: Fichier:Test_adc.zip
datasheet variateurs: Fichier:VariateurCC.pdf