Binome2017-8 : Différence entre versions
(→15/01/2018) |
(→Programmation) |
||
Ligne 47 : | Ligne 47 : | ||
Le code final consiste en une boucle dans laquelle chaque fonction est appelée à différent moment. Chacune de ces fonctions à un rôle bien précis et cible généralement un seul composant du robot. | Le code final consiste en une boucle dans laquelle chaque fonction est appelée à différent moment. Chacune de ces fonctions à un rôle bien précis et cible généralement un seul composant du robot. | ||
− | ==''' | + | =='''[[Avancer]]'''== |
=<div class="mcwiki-header" style="border-radius: 7px; padding: 7px; font-weight: bold; text-align: center; font-size: 80%; background: #8D8D8D; vertical-align: top; width: 98%;"> Déroulement des séances </div>= | =<div class="mcwiki-header" style="border-radius: 7px; padding: 7px; font-weight: bold; text-align: center; font-size: 80%; background: #8D8D8D; vertical-align: top; width: 98%;"> Déroulement des séances </div>= |
Version du 19 avril 2018 à 10:18
Sommaire
- 1 Introduction
- 2 Cahier des charges
- 3 PCB
- 4 Châssis
- 5 Programmation
- 6 Déroulement des séances
- 6.1 15/01/2018
- 6.2 16/01/2018
- 6.3 18/01/2018
- 6.4 19/01/2018
- 6.5 22/01/2018
- 6.6 25/01/2018
- 6.7 26/01/2018 - 29/01/2018
- 6.8 01/02/2018
- 6.9 05/02/2018
- 6.10 08/02/2018 - 12/02/2018
- 6.11 15/02/2018
- 6.12 19/02/2018
- 6.13 22/02/2018
- 6.14 05/03/2018
- 6.15 08/03/2018
- 6.16 12/03/2018
- 6.17 15/03/2018
- 6.18 19/03/2018 et 26/03/2018
- 6.19 09/04/2018
- 6.20 23/04/2018
Introduction
A l’occasion de ce bureau d’étude, j’ai décidé de réaliser un robot communiquant « proie » miniature et entièrement autonome. Étant seul pour ce projet, j’ai préféré ne pas m’attarder sur la partie télécommande (Raspberry Pi) du robot. J’ai décidé de travailler autour de trois grands axes :
-Réalisation de la carte électronique. -découpe et impression 3D du châssis. -programmation du robot.
Cahier des charges
PCB
La conception de la carte de A à Z aurait été trop ambitieux étant donné le nombre de séances et les connaissance nécessaires en électronique. J'ai donc décidé de reprendre le modèle deja existant des années précédentes. Toujours dans un soucis de taille, j'ai enlevé toutes la partie contrôleur de moteur qui n'est d'aucune utilité dans mon cas (propulsion uniquement avec les servomoteurs). J'ai également remplacé le suiveur de ligne par un capteur Hall sans oublier d'ajouter une résistance (10k) entre la sortie et l'alimentation du capteur. Enfin, j'ai essayé de diminuer au maximum les dimensions de la carte en comblant la place laissée par le contrôleur de moteur.
La version finale du PCB : Média:PCB_Vincent-Dubois.zip
Pour ce qui est du soudage des composant: tous les composants surfaciques on été soudé au four et les composants traversants au fer.
Châssis
Comme énoncé dans le cahier des charges, le robot doit avoir la taille la plus petite possible pour éviter d’être facilement repérable. Je suis donc partie sur une forme circulaire à 2 étages. Afin de gagner du temps sur sa conception, le châssis a été entièrement découpé au laser sur une plaque de 3mm d'épaisseur (et non imprimé en 3D). L'étage du dessus est entièrement circulaire. Des trous ont été prévus à l'avant afin de fixer le PCB à l'aide de petites entretoises permettant de le surélever légèrement. La plaque du dessous est également circulaire avec deux dégagements pour les roues à l'arrière. Elle inclue des emplacements pour fixer la roue folle à l'avant, ainsi que pour le support des servo-moteurs placé à l'arrière sous la plaque. Ce dernier est imprimé en 3D.
La batterie est placée entre les deux étages et est maintenue à l'aide de "T" traversants les deux plaques. Le sonar est également maintenue par des "T" à l'avant du robot. Le maintient des deux plaques ensemble est réalisé par 3 entretoises placées en périphérie. Les roues sont aussi réalisés à la découpe laser même si on pourra les remplacer par d'autres imprimées en 3D en plastique souple.
Le modèle de découpe final et le support de servomoteurs: Média:Châssis_Vincent-Dubois.zip
Programmation
Le code final consiste en une boucle dans laquelle chaque fonction est appelée à différent moment. Chacune de ces fonctions à un rôle bien précis et cible généralement un seul composant du robot.
Avancer
Déroulement des séances
15/01/2018
Présentation du projet + Découverte des outils (informatique et matériel) et des robots des années précédentes. + Établissement du cahier des charges (dans les grandes lignes).
16/01/2018
Prise en main du logiciel Fritzing pour la création de la carte électronique. Ne voulant pas perdre trop de temps sur la création de la carte, je décide de reprendre un modèle déjà existant tout en le modifiant pour mon propre robot. + Découverte du modèle existant et lecture de la documentation du microcontrôleur.
18/01/2018
Choix du capteur a effet Hall avec le binôme 4 (US1881 fonctionnant pour un champs magnétique de 0,5 à 9,5 mT). Ce composant possède 3 pattes : une pour l’alimentation, une pour la masse et une pour la sortie digitale. Il ne faut pas oublier de relier l’alimentation et la sortie par une résistance de 10kΩ.
Modifications sur la carte existante :
-Enlever un TSOP car une proie n’a pas besoin d’autant de capteur infrarouge. -Enlever le contrôleur de moteur car on veut un robot de petite taille donc la propulsion sera gérée par 2 servo-moteurs -Enlever le détecteur de ligne (obsolète pour notre projet). -Ajouter le capteur à effet Hall.
Le plus gros du travail consiste à réarranger la carte afin de gagné un peu de place et réduire la taille du robot. Il faut néanmoins penser a la difficulté à soudre les composant et donc ne pas trop serrer les connexions sur le PCB.
19/01/2018
Réorganisation du PCB et vérifivations des connexion en vue d’une impression prochaine.
Pour gagner du temps pendant les séances, j'ai décider de commencer la conception du châssis a la maison. Après mure réflexion et quelques croquis je suis arrivé a définir une forme ou chaque élément du robot aurait sa place. La prochaine étape est donc de connaitre exactement la taille de chaque élément (servo-moteurs, batterie, roues, etc...) afin de fixer la taille du chassis
22/01/2018
Régler les problèmes de connexion sur le PCB à pris plus de temps que prévue. Cette séance est dédié à la finalisation de la carte électronique (orientation des TSOP, modification des connexions trop proches les unes des autres, etc...).
+ Prise en main de FreeCAD et Inkscape pour modéliser le chassis.
25/01/2018
Mesure des éléments du robot (servo moteur = sg90 -> voir datasheet). + Début de la modélisation du châssis.
26/01/2018 - 29/01/2018
Conception châssis.
01/02/2018
Finalisation du châssis: création d'un unique fichier .svg rassemblant toute les pièces (contours rouges de 0.1mm d'épaisseur).
+ Réinitialisation d'une carte Arduino afin de se familiariser avec les composant du robot: controle des servo-moteurs, sonar, ...
05/02/2018
Découpe laser du châssis au fabricarium + impression support servo-moteurs.
Petits problèmes de conception sur le châssis: les encoches pour positionner le PCB sur la plaque du haut n'ont pas été placées dans le bon sens et les petits "T" permettant le maintient de la batterie et du sonar ne sont pas à la bonne taille.
08/02/2018 - 12/02/2018
Réception du PCB + soudure des composants de surface au four.
08/02/2018 | 12/02/2018 | 15/02/2018 |
15/02/2018
Soudure au fer des éléments traversants + vérifications.
19/02/2018
Réception du support servo-moteurs: problème de dimensions. Modification de la pièce en laissant une marge (0.5mm) pour chaque mesure + envoie de la deuxieme impression.
22/02/2018
Réception nouveau support servo-moteurs : tout est bon. Montage du châssis + servo + roues + roue folle.
22/02/2018 |
Essais sur le PCB avec des programmes de base: visiblement il y a un problème avec le microcontrôleur. En réduisant les dimensions de la carte, j'ai malencontreusement créé une connexion entre 2 pattes du microcontrôleur.
05/03/2018
Essais sur une nouvelle carte (piste en trop coupée au cutter) : tout fonctionne parfaitement + codage du PCB (contrôle des servos et du sonar)
08/03/2018
Fixation du PCB sur le robot + calibration du temps nécessaire pour réaliser une rotation de 90° + essais.
08/03/2018 |
12/03/2018
Essai des TSOP : problème avec la bibliothèque IRremote.
15/03/2018
Essai des TSOP : problème de masse. J'ai oublié de connecté un des deux TSOP à la masse sur le PCB + Soudure au fer d'un fil de masse + essais.
15/03/2018 |
19/03/2018 et 26/03/2018
Codage du PCB (programme final incluant chaque sous programme précédemment réalisés)
09/04/2018
Problème avec le capteur de Hall: il y a un court circuit entre la masse et la pin 19 (ADC6) du microcontrôleur à laquelle le capteur est relié +Soudure au fer d'un fil entre la sortie du capteur et la pin 28 (ADC5)
09/04/2018 |
23/04/2018
Finalisation du code + derniers ajustements (compensation entre les 2 roues)