Binome2015-2 : Différence entre versions

De Wiki de bureau d'études PeiP
(SÉANCE BONUS (le 27/04/2016 16h-18h))
(SÉANCE BONUS (le 28/04/2016 15h-18h))
Ligne 453 : Ligne 453 :
 
  - suivi ligne  tests à faire
 
  - suivi ligne  tests à faire
 
  - IR a finir
 
  - IR a finir
 +
 +
SÉANCE BONUS (le 29/04/2016  17h15-18h15)
 +
 +
 +
Aujourd'hui nous avons continué les tests sur les seuils des capteurs. Si les valeurs ne sont pas correctes, il sera difficile de tester les programmes suivi de ligne ou suivi de balle.  Pour le moment, nos valeurs ne semblent pas correctes en plus le bleu clair et le blanc sont très proches (nous avons observés les mêmes résultats de valeurs que durant la séance du )
 +
 +
[[travail personnel:]]
 +
Le robot a été emmené chez nous durant le weekend. La programmation est a continuée. Nous devons aussi réfléchir à la vidéo.

Version du 29 avril 2016 à 20:12

SÉANCE 1 (le 18/01/16)

Dans un premier temps, les encadrants ont présenté le projet. Puis nous avons organisé une répartition du travail afin d'harmoniser les envies de chacun et les nécessités. Ainsi, nous avions pour idée, que chaque binôme puisse travailler sur un robot (ramasseur ou joueur) et une autre réalisation "annexe" (but ou terrain). Bien sûr, cette organisation pourra être changée par la suite. Notre binôme s'est inscrit pour la conception du robot ramasseur et la préparation du terrain.

Après avoir lu en détail le sujet de projet, nous avons discuté entre nous des éléments importants de la réalisation du robot et du terrain. Puis nous nous sommes regroupés avec le binôme 7 afin discuter du choix de châssis pour le robot ramasseur. Un 2 roues permet une mobilité plus simple mais un 4 roues permet une meilleure stabilité. >>> Nous avons alors décidé d'essayer un châssis 4 roues ayant beaucoup d’éléments a placer sur le robot.

Nous avons aussi abordé le problème des articulations des servomoteurs et la dispositions des roues. Aucune conclusion à ce sujet à la fin de la séance.

travail personnel :

Ajout de servomoteurs ? réflexion 2 en plus ou 4 ? Le 4 est préférable au 2 car la configuration type "voiture" peut poser problème au demi-tour.

Recherche comment gérer les servomoteurs en programmation Arduino/c.

Commencer les recherches pour la pince imprimable en 3D (plexiglas).


SÉANCE 2 (le 21/01/16)

Durant cette deuxième séance, nous avons réfléchi à la conception de pince avec le binôme 7. Celui-ci utilisera un modèle grappin. Dans notre cas, pour la réalisation de la pince nous pensons utiliser :

- des engrenages on aurait alors besoin d'un seul moteur (une seule rotation) pour ouvrir et fermer celle-ci.
- la tête sera plus ou moins large pour avoir une meilleure tenue de la balle. 
- un matériau afin d'éviter que les crochets de la pince glissent contre la balle qui est en plastique lisse (bande antidérapante ?).
modèle d'inspiration de la pince

Nous pouvons aussi peut-être faire rouler la balle au sol mais cela risque de gêner les déplacements du robot. Dans cette deuxième solution, la balle se doit d'être entourée par la pince afin que celle-ci ne s'échappe pas une fois poussée. (Cela est à réfléchir)

Puis nous nous sommes réparti le travail. Ainsi nous avons pu souder les fils aux moteurs et commencer le montage du châssis (après avoir retiré tout le carton) mais aussi réaliser l'installation d'Arduino et Ardublock. Des recherches sur la programmation du capteur de couleurs et de la lumière ont été faites ainsi que sur les connexions de l'Arduino avec les différents composants.

Soudure des câbles aux moteurs
materiel montage châssis

travail personnel :

Installation de certains logiciels chez nous. Faire des recherches sur l'Arduino et la programmation (connaissances). Schématisation de la pince pour la faire plus facilement à la découpeuse laser.


SÉANCE 3 (le 25/01/2016)

Pour cette troisième séance, nous avons réparé le châssis de notre robot avec l'aide d'un encadrant. En effet, suite à une défaut de pièce, notre plaque s'est cassé (au niveau d'une roue). Nous avons pu alors finir le montage du châssis.

réparation châssis

Par ailleurs, nous avons profité de la séance pour faire quelques soudures supplémentaires. La soudure nous a permise de relier les fils aux pattes ainsi que les composants contrôleurs moteurs à d'autres pattes.

soudure des câbles aux pattes
soudure des contrôleurs moteurs

Durant cette séance, des tests arduino ont été réalisés sur les photodiodes, sur les capteurs couleurs et le capteur ultrasons. Nous avons réalisé la difficulté entre "l'idée" et la réalisation du programme arduino qui fonctionne avec les bons branchements.

travail personnel:

continuer les recherches sur Arduino. commencer la conception de la pince sur logiciel.


SÉANCE 4 (le 28/01/16)

Pendant la séance 4, nous nous sommes réparti le travail. L'un réalisait la conception 3D des pièces de la pince sur FreeCAD tandis que l'autre continuait les tests Arduino ainsi que le câblage.

Aujourd'hui les tests Arduino et le câblage ont ciblé le fonctionnement des moteurs. Face à un non fonctionnement du système après de nombreux essais il a été conclu que peut-être qu'une de nos pièces étaient défaillantes: nous allons donc tester chaque partie au multimètre à la séance du lendemain.

Pour la pince, la conception 3D de chaque pièce sur le logiciel FreeCAD a bien avancé (quasiment fini). Nous avons décidé de réaliser chaque pièce indépendamment pour faciliter l'impression mais aussi pour avoir la possibilité de les assembler nous-mêmes. En effet, cela nous permettrait une plus grande liberté d'angle et de positionnement. (nous visserons les pièces entre elles par la suite).

La pince est composée :

- 2 engrenages (un fixe et un lié au moteur)
- 4 branches (différentes 2 à 2)
- 2 plaque de fin permettant de contenir la pince et la faire rouler.

Peut-être lors de la prochaine séance nous aurons la possibilité d'imprimer les éléments de la pince.

engrenage de la pince
plaque en fin de pince


travail personnel:

Continuer les recherches sur Arduino pour les prochains tests. Finir la conception 3D des pièces sur FreeCAD.


SÉANCE 5 (le 29/01/16)

Dans un premier temps nous avons refait des tests sur différentes parties soudées afin de vérifier qu'aucun problème n'est lié à celles-ci. Malheureusement, un de nos contrôleurs moteurs a cramé suite à un mauvais branchement. Nous avons dû refaire les soudures sur un nouveau contrôleur. Ainsi plus aucun problème n'a été observé, notre programmation et notre branchement de la dernière séance étaient donc corrects.

Nous avons finaliser les pièces du prototype de la pince afin de l'imprimer en 3D. Chose faite. Une des pièces n'étant pas assez longue il faudra l'agrandir pour la prochaine fois. Durant la prochaine séance il faudra assembler ces pièces.

pièces pour la pinces après impression

Puis nous avons continuer la séance avec de la programmation Arduino (à l'aide d'openclasroom) et le câblage des roues.

câblages et montage actuel

travail personnel :

Nous sommes rester sur place pour continuer sur la programmation (faire tourner les moteurs C et D).

Un problème est apparu, en effet, la roue D tourne moins vite que les autres et il ne s'agit pas d'un problème de pin ou de programmation. Peut-être le moteur est-il endommagée ou peut-être les soudures ne sont pas correctes. Nous devons régler ce problème durant la prochaine séance.

SÉANCE 6 (le 01/02/16)

Durant cette sixième séance peu d'avancées ont été réalisées, la résolution d'un problème ayant pris énormément de temps. En effet, il a fallu résoudre le problème vu précédemment: une roue tournant moins vite que les autres. Après avoir, inverser les fils ou les contrôleurs, inverser les moteurs et faire des soudures. Le problème s'est avéré être un faux contact entre deux fils d'alimentation du moteur.

travail personnel:

Réfléchir a des programmes arduino pour faire tourner le robot, pour le capteur ultrason. Faire des modifications a la pièce plaque de la pince.

SÉANCE 7 (le 04/02/16)

Aujourd'hui nous avons monté le prototype de la pince. Et nous avons pu alors nous rendre compte que certaines pièces sont trop petites ou mal orientées. Elles seront donc a refaire pour la prochaine fois, afin de pouvoir imprimer lundi la pince complète.

prototype d'une moitié de la pince

Puis nous nous sommes concentrés sur la programmation de notre robot. A ce jour, le robot avance et recule (sur une durée déterminée) et tourne. Petit problème : le robot tourne a l'infini il faut donc trouver une solution. Nous avons également commencé à préparer des bouts de programmes afin de faciliter la rédaction du programme final ( un programme : avance, tourne à droite, tourne à gauche, recule etc.).

travail personnel:

- Refaire les pièces de la pince
- Réfléchir au support de la deuxième partie de la pince
- Réfléchir à la programmation du robot.


SÉANCE 8 (le 08/02/16)

Durant cette séance nous avons refait les câblages (diminuer leurs longueurs) afin d'y voir plus clair. Cela nous a aussi été utile pour commencer la schématisation de l'ensemble sur fritzing, logiciel qui nous permettra de réaliser le circuit imprimé. Nous avons eu un problème avec les piles, qui a été résolu. Nous avons un peu continué sur la programmation Arduino. Essentiellement, sur la programmation du servomoteur pour la pince. Il s'agit donc de contrôler les angles de rotation.

travail personnel:

Il faudrait pour la prochaine séance avoir imprimer la pince en entier. Mais aussi penser a réaliser une conception 3D d'un support pour le deuxième engrenage; /!\ IMPORTANT /!\

Continuer fritzing et penser a superposer la carte arduino avec la tablette.

Programmation ?


SÉANCE 9 (le 11/02/2016)

Lors de cette séance, nous avons résolu certains problèmes techniques mineurs: amélioration du câblage, recherche de vis et écrous adaptés à notre pince et aux différents diamètres sur nos pièces, optimisation de notre programme principal au niveau des moteurs.

Puis dans une seconde partie, nous avons réalisés les soudures pour les capteurs de ligne et nous avons mis en commun nos rechercher personnelles (au sein du binôme) sur le programme servomoteur de la pince. Nous avons réalisé certains tests (ces derniers seront à continuer durant la séance 10).

Enfin, nous avons finis la pince en conception 3D sur FreeCAD, et avons pu commencé à l'imprimer.

début impression des piéces

Après les vacances : Nous allons nous concentrer sur la partie "capteurs" (ultrason, de ligne et infrarouge) ainsi que sur la réalisation du circuit imprimé sur le logiciel fritzing. Il faut également que nous réalisions plus de fonctions (par exemple de type : avancer, tourner à 90° en sens horaire/antihoraire) afin de faciliter par la suite la rédaction du programme global qui comprendra toutes les instructions du robot ramasseur.


travail personnel :

Finir d'imprimer la pince. Et continuer fritzing.

SÉANCE 10 (le 22/02/2016)

Nous avons, dans un premier temps, réalisé le câblage du servomoteur et de 3 capteurs de lignes disposés à l'avant du robot. Ainsi des premiers tests et des programmes sur Arduino ont pu être réalisé pour ces 3 capteurs et pour le moteur. Nous avons commencé la préparation un programme spécifique pour la fermeture de la pince selon la réception d'information venant des capteurs. La finalité pour les capteurs a été de calibré les valeurs de sortie pour construire un programme qui permet de faire avancer ou reculer le robot suivant qu'il se trouve devant une ligne.

Dans un deuxième temps, nous avons assemblé définitivement les différentes pièces de la pince et nous l'avons relié au servomoteur par l'un des engrenage, le mouvement (d'ouverture ou fermeture) transmis par ce dernier au second engrenage.

Enfin nous avons pu réaliser la suite de la schématisation des câblages (ou réalisation du circuit) sur fritzing. Sur le logiciel nous avons donc pour le moment:

- la carte arduino,les piles
- 4 moteurs (roues) liés aux contrôleurs moteurs.
- 1 servomoteur
- 3 capteurs de ligne

Nous avons discuté de la possibilité de réaliser plusieurs circuits spécifiques à différentes fonctions: il a été décidé après discussions avec les autres étudiants ainsi que les professeurs encadrant de tout faire sur une même carte.

Cependant, nous avons réalisé qu'il nous manque un support pour le deuxième engrenage de la pince (donc la seconde moitié). Ce support serait à réaliser pour/durant la prochaine séance et il permettrait aussi de maintenir le servomoteur en avant de la pince.

travail personnel: Finir la schématisation sur fritzing des capteurs et télécharger les autres détecteurs ou contrôleurs disponibles sur le wiki.

Si possible, réaliser la conception 3D du support et l'imprimer (si imprimante disponible).


SEANCE 11 (le 25/02/2016)

Pour cette séance nous avons pu réaliser l'impression du support de pince et télécharger les composants manquants de fritzing.

Ainsi, aujourd'hui nous avons alors eu l'occasion de percer et relier le support à notre robot, de même que pour les engrenages de la pince. Ayant un problème de dimensionnement, il nous a fallu ajouter des éléments (boulons ou autres) pour résoudre ce problème de différence de hauteur entre engrenages. Bref, la pince est enfin montée sur le robot !

robot&pince au 25/02


Dans ce cas, nous avons pu continuer la programmation Arduino, c'est à dire le début de la réalisation d'un programme principal regroupant plusieurs fonctions qui serviront dans le futur, mais aussi la programmation de la pince dans une situation complète (plus basée uniquement sur le servomoteur mais sur la pince dans son ensemble).

Un 1er problème est alors apparu: Le servomoteur et sa partie de pince ont du mal à tourner face à l'autre engrenage. On a un blocage lié à une difficulté. Il semblerait que les engrenages soit trop proches l'un de l'autre donc le mouvement nécessite plus de puissance. CE PROBLÈME EST A RÉSOUDRE POUR/DURANT LA PROCHAINE FOIS.

Puis un deuxième problème: La pince est bien placée et bien dimensionnée par rapport à la balle, mais il semblerait que les angles formés par les plaques ne permettent pas de garder parfaitement et pousser la balle. Les plaques n’étant pas visées il est possible de résoudre ce défaut facilement. Peut-être devrions-nous couper un des bords des plaques pour gagner en "orientation de fermeture."


Finalement pour conclure cette séance nous avons discuter avec les binômes 8 et 10 au sujet du terrain. Ces derniers ayant bien avancé sur les capteurs de lignes ou couleurs, nous ont dis que le terrain ne pouvait se faire qu'avec un fond blanc, des lignes noires et vertes. Peut-être même des lignes bleues mais il faut vérifier que le robot ne confonde pas vert et bleu.

travail personnel:

Réfléchir aux dimensions du terrain et aux lignes. Continuer Fritzing.


SÉANCE 12 (le 29/02/2016)

Nous avons durant cette séance nous avons pu résoudre les problèmes de la séance 11 en changeant de vis pour unir les différentes pièces de la pince. Nous avons aussi percé et visé les plaques grises de celle-ci.

La programmation de la pince est toujours en cours car aujourd'hui, nous avons continué la programmation des capteurs de lignes. Peut-être en rajouterons nous un sur le coté par la suite afin de capter le centre du terrain. Cette solution est à réfléchir car peut-être va-t-elle plus entrainer de problèmes que de simplifications.

Nous avons aussi eu une réflexion sur le terrain. Nous allons reprendre les dimensions du terrain de l'année dernière afin de facilité le travail. Pour les rebords, peut-être faudra-t-il utilisé des morceaux du terrain de l'année dernière servant actuellement de terrain tests.

Puis nous avons continué le circuit imprimé sur Fritzing qui a dû être entièrement recommencé durant le week-end suite à une problème de routage.

travail personnel : Continuer Fritzing et programmation arduino.

SÉANCE 13 (le 3/03/2016)

Continuité du de la séance 12 avec Fritzing et la programmation du programme principal et début de la programmation des 4 phototransistors IR quand nous avons installé sur le robots aujourd'hui.

installation photo-transistors_capteurs IR vue dessous
photo-transistor IR

Cette programmation est d'ailleurs liée à l'ouverture/fermeture de la pince car cela dépend des longueurs captées par les phototransistors IR.

SÉANCE 14 (le 7/03/2016)

Cette séance n'a malheureusement par permis de beaucoup avancer sur le projet. En effet, nous avons un peu continué sur la programmation du robot mais nous nous sommes surtout concentré sur la fin de la carte de puissance. Et après vérification, nous avons réalisé qu'il y a un gros problème sur celle-ci. Le routage étant trop compliqué, pas assez propres et pouvant ainsi gêner au bon fonctionnement de la carte. Celle-ci est à recommencer en changeant certains câblages et positions de composants, afin de faciliter le routage.

travail personnel: Rattraper le circuit imprimé sur fritzing pour lundi prochain au plus tard !

SÉANCE 15 (le 10/03/2016)

Continuité de la séance 14.

travail personnel:

Rattraper le circuit imprimé sur fritzing pour lundi prochain au plus tard !

Réécriture du programme final avec les bonnes pins suivant le câblage fait sur Fritzing


SÉANCE 16 (le 14/03/2016)

vue platine d'essai de la carte de puissance
vue circuit imprimé de la carte de puissance

Durant cette séance, nous avons continué encore une fois Fritzing pour finir le PCB. Après avoir fait vérifier, il a été conclu que celui-ci devait être réalisé en deux cartes. Au lieu de tout mettre sur une même carte, il est finalement impératif de faire une carte de puissance (circuit réservé aux moteurs et à l'alimentation) et une carte de capteurs IR/lignes pour facilité le routage.

Puis, nous avons mis à jour les différentes pins. En effet, celle-ci avaient été changées, déplacées, modifiées afin de facilité le circuit imprimé sur l'ordinateur. Cette mise à jour fut réalisé en deux fois, suite à des petites erreurs de modifications dans un premier temps.

Nous avons alors fait face à un nouveau problème. Nos programmes Arduino fonctionnent bien, cependant le robot a beaucoup de mal à ce déplacer. Il semblerait que celui-ci soit trop lourd ou que les moteurs ne soient pas suffisamment alimentés. CE problème a été résolu.

travail personnel :

Finition de la carte de puissance et de la carte de capteurs (le même jour durant l'après midi) >> VOIR PHOTOS

vue platine d'essai de la carte des capteurs
vue circuit imprimé de la carte des capteurs



SÉANCE 17 (le 19/03/2016)


Nos PCB imprimés , nous avons pu commencer les soudures de barrettes (mâle/femelle) sur les cartes. Nous avons cependant remarqué un petit défaut sur le PCB "carte de puissance" lié au programme fritzing, les contrôleurs moteurs font une taille de 500 mil alors qu'avec le logiciel nous avions prévu 600 mil. Ce problème est commun pour tout les groupes. Les composants sont donc trop petits. Pour résoudre ce problème, nous utiliserons des barrettes soudée un petit peu de travers (nous pouvons aussi tordre les pins). 
 Nous avons aussi essayé de résoudre le problème d'alimentation de la séance dernière. SANS SUCCÈS. L'idée actuelle de résolue semble risquée (surchauffe carte Arduino) nous ne sommes donc pas allés plus loin. A VOIR LA PROCHAINE FOIS.


Nous avons aussi fait un peu de programmation. Dans un premier temps: Nous avons continué la programmation de la pince. Celle-ci ne se ferme pas complètement. Nous sommes toujours entrain d'essayer de comprendre et de voir comment lui donné les angles d'ouverture et de fermeture voulus. Dans un deuxième temps: Le programme de capteurs de ligne que nous utilisons ne fonctionnait pas, les valeurs retournés n'étaient pas correctes. Heureusement nous avons retrouvé dans nos anciens programmes, un bloc d'instructions pour les capteurs de ligne. Ce dernier retourne des valeurs correctes, pouvant variées en moyenne entre 400 à 600 et 800 (ordre de grandeur) selon les nuances de couleur/gris. Nous avons une grande différence de valeur pour du blanc et une ligne noire. On a donc enfin moyen de réaliser un programme correct pour les capteurs de ligne.


Liste des sous-programmes actuels:

(le programmes sont toujours en cours de réflexion et seront encore modifiés par la suite, afin de construire un programme final nommé ROBOT ) (l'entier a permet de déterminer la durée de l’exécution)

 - Capteurs de ligne : valeurdeligne(); captligne(int a)
 - Moteurs : rotate45g(int a); rotate45d(int a); recule(int a); avance(int a)
 - Pince : ouvre(); ferme()
 - Autres: stop(); setup(); loop(); 
 - initialisations : pins, pwm, stby...(bloc d'instructions, pas fonction)



SÉANCE 18 (le 21/03/2016) + SÉANCE BONUS (même jour 16h-18h30)

Nous avons continué les soudure de PCB et proposé un plan du terrain innovant.

circuit imprimé avec soudure de la carte de puissance

SOUDURES:

Lors des soudures des 2 PCB, nous avons remarqué que la carte des capteurs présente un défaut de conception. En effet, certains cercles de pins n'ont pas été bien réalisés/imprimés. On a aussi observé que le plan de masse avait tendance à toucher les soudures car les pins étaient trop proches. La solution pour ce problème fut, comme on peut le voir sur la photo ci-joint, de retirer complètement une partie du plan de masse autour des pins à zone très précise, pouvant poser problème. Cela rend la soudure plus sensible et diminue le risque de court circuit. Nous avons donc réimprimé une carte pour les capteurs.

PCB défaillant (gauche) et corrigé ((droite)


TERRAIN :

Sur la base d'observations faites dans les différents groupes, nous avons pu remarquer que la difficulté principale était de gérer les croisements de lignes. Effectivement, cela est compliqué tant au niveau de l’algorithme de décision que du codage brut. Nous avons donc imaginé un terrain en escargot dans une couleur spécifique, lui même entouré d'une bordure d'une autre couleur suffisamment différente pour que les capteurs de ligne puissent faire la différence. Ainsi les robots ramasseurs pourraient plus facilement rejoindre le centre du terrain et les robots joueurs seraient toujours empêchés de sortir du terrain. (voir la photo)

schéma du terrain

BONUS: Nous avons vérifié si le PCB du matin n'avait pas de court circuit. Malheureusement, plusieurs fois nous avons du refaire les soudures, retirer de l’étain ou corriger des défauts. Nos soudures n'étaient pas si mal que ça, mais le fer à souder formant des boules d'étain, nous en avons mis trop, d'où les problèmes. Cela nous a pris tout l'après-midi. La difficulté spécifique à notre PCB est l'utilisation de fils très fins et rapprochés les uns des autres.


SÉANCES BONUS (le 23/03 de 13h30 à 18h30 et le 24/03 de 16h à 18h)

fin de la soudure des composants

Durant ces deux jours, nous avons pu finir les vérifications de soudures, il s'agissait d'éviter les court-circuits entre les pistes et la masse, ainsi que vérifier que les soudures soient correctes. Nous avons aussi fini la soudures des composants de la carte de capteurs. Aucun gros souci n'est arrivé durant cette première partie.

nouveau câblage avec les PCB

Nous avons aussi eu l'occasion de "officiellement" commencer à tester nos programmes. Les cartes fonctionnent bien et le robot réagit correctement. Il y a eu quelques modifications à faire dans les programmes. EN effet, nous avons corrigé ou finalisé avance() , recule(), rotate45g() et rotate45d().

Un problème avec l'alimentation s'est observé. nous devons constamment brancher les piles afin d'avoir assez de puissance. Cependant, les piles branchées seules et sans lancer de programme entrain une légère surchauffe de la carte Arduino. Cela ne s'observe pas lorsqu'on lance un programme. C'est étrange. A VOIR LA SEMAINE PROCHAINE.


travail personnel:

Création d'un groupe sur Facebook afin de discuter avec tout le monde du terrain et des buts. Réalisation d'une nouvelle représentation du terrain. Le terrain est composé de 4 plaques de 1,40x1,90 m qu'on positionnera pour faire un grand rectangle. On y disposera les lignes de terrain, les garages et les buts.

schéma terrain au 28/03
- ligne noire : délimitation terrain _ les joueurs ne doivent pas la dépasser
- ligne bleue : ligne permettant aux robots ramasseurs d'atteindre le milieu du terrain
- lignes verte: repères garages robots joueurs.

mais peut-être que l'utilisation de bleu et de vert peut poser problème. Peut-être devrons nous utiliser uniquement du noir et du bleu.


SÉANCE BONUS ( le 30/03/2016 16h à 18h)

Un membre de notre binôme et un membre du binôme 10 ont préparé le terrain. Cela s'est réalisé suite à une mise en commun avec tout les autres groupes, afin de connaître leur avis et leur envie liés à la conception du terrain. La conception s'est réalisée suivant le terrain proposé par notre groupe, c'est à dire celui présenté dans la séance bonus précédente.


Concernant l'avancement de notre robot, nous n'avons malheureusement pas eu l'occasion de résoudre le problème d'alimentation. Nous verrons donc cela après les vacances. Jusque là, nous nous concentrerons sur la programmation.

réalisation du terrain

Travail personnel: pendant les vacances, modification du fichier avec les programmes principaux. ajout des programmes capteurs de ligne et capteurs IR.

SÉANCE 19 (le 18/04/2016)

Aujourd'hui, nous avons eu l'occasion d'observer et d'essayer de résoudre le problème d'alimentation apparu avant les vacances. Il s'agit d'une surchauffe de la carte arduino selon certaines situations ou un manque de puissance si nous n'utilisons pas les piles ou uniquement les piles. Après recherche il nous avons découvert qu'il s'agissait du composant ajustant le voltage entre le Vin de l'arduino et la sortie 5.5V que nous utilisons également or nous envoyons du courant juste à la frontière où le composant est censé fonctionner, c'est à dire 5.9V ( en effet 1.5V*4=6). Pour résoudre ce problème nous allons donc utiliser 8 piles afin d'avoir plus de puissance plus d'autonomie et normalement régler le problème de surchauffe du composant. La réalisation de ce système à 8 piles se fait (grâce à l'aide des professeurs) par un bloc de 4 piles sortant en usb femme les 6 v et relié en série à notre bloc initiale que nous avons donc raccordé à un usb mâle comme le montre simplement le schéma ci joint.


schéma branchement série des 8 piles


Deuxièmement, nous avons pu résoudre un problème mineur de pince, en effet, les pièces n'étaient pas bien visées et les engrenages mal liés/emboîtés. Ce qui posait problème lors de l'ouverture ou fermeture de la pince. Suite a un changement de vis et un agrandissement des trous à la perceuse, tout est correct.

Niveau programmation: Nous avons finalisé nos programmes ouvre(), ferme() pour la pince et LectureLigne() pour les capteurs de lignes. Nous sommes restés un peu plus longtemps pour continuer la programmation des capteurs de ligne. Un petit problème a résoudre (cela se fera rapidement) est une modification dans les initialisations des pins des capteurs. En effet, suite à la réalisation du PCB nous avons des ajustements à faire sur les programmes.

travail personnel: Revenir dans la semaine voir le problème d'alimentation. >> Cela a été fait jeudi. Les piles en série sortent bien du 12V on devrait alors avoir assez de puissance, cependant la carte chauffe trop nous devons faire la prochaine fois des tests pour vérifier si nous avons pas un court-circuit. Pour cela il faudra voir si la carte chauffe toujours lorsque les câbles ne sont pas branchés sur la carte de puissance. Peut-être devrions-nous alimenter au niveau d'un VIN et d'un GND et non plus à l'emplacement prévu pour les piles.


SÉANCE 20 (le 25/04/2016)

Pour cette 2ème séance, nous avons continué a résoudre le problème de l'alimentation vu précédemment. C'est-à-dire que nous avons vérifié si nous avons des court-circuits avec branchements ou sans branchement, et vérifié si l'arduino ne surchauffe pas en l'alimentant dans un premier temps avec 6 Volts puis 12 Volts. Avec 6 V tout semble correcte et nous avons assez de puissance sur le sol ou sur une table. Cependant, sur le support terrain ce n'est pas le cas. Nous devrons donc bien alimenter en 12V. Il nous faut encore voir si la carte peut supporter 12V.


Lors de la dernière séance nous avons remarqué qu'une bonne partie des pins capteurs de ligne et photo transistors n'étaient pas les bons dans les programmes. Nous avons donc pris quelques minutes pour faire la correction de ces pins. De même, nous avons refait deux soudures sur des câbles qui se sont cassés.

Avant dans la partie informatique : Nous avions durant la semaine perdu notre programme principal (avec tous les sous programmes, c'est a dire le plus important) nous avons donc procédé à la réécriture après avoir récupéré une vieille version de celui-ci et fait une sauvegarde de secours. Nous avons testé les programmes LectureLigne() et LecturePhoto() qui lisent les valeurs des capteurs de ligne ou phototransistors. Nous avons ensuite écrit une fonction calculant la moyenne pour 100 valeurs captées, nous pouvons utiliser cette fonction aussi bien avec les lignes que la balle. Nous avons pu, à l'aide des moyennes, prendre en note les valeurs utiles de seuils détectés selon les capteurs gauches, milieux ou droits.

Soit :
 - seuil Blanc:        GAUCHE = <500              MILIEU =  690-700   DROIT = <650 ou 705
 - seuil BleuClair:    GAUCHE = (550 à 620)ou 573 MILIEU = 759        DROIT = 650 à 750  
 - seuil Noir:         GAUCHE = >920              MILIEU =  >900      DROIT = >950
 - seuil BleuFoncé:    GAUCHE = 880 à 898         MILIEU =  830 à 840   DROIT = 885 environ

Suite aux tests, nous avons aussi pu remarquer que plus la balle est proche plus la valeur détectée est importante et inversement.

Finalement un nouveau programme a été réaliser : un programme de réajustement de décalage léger si deux capteurs ont un signal, cela permet d'éviter des virages trop importants.


travail personnel :

Continuer la programmation et les tester. + Prendre rendez-vous pour réaliser la vidéo du rendu. >>> Nous avons pu prendre rendez-vous pour le MERCREDI 4 MAI à 9h en E304 (espérant tourner en E303)


SÉANCE BONUS (le 27/04/2016 16h-18h)

Durant ce mercredi après-midi, nous avons essayer d'utiliser le plus de fois possible l'alimentation 12V avec les piles. Nous n'avons eu aucun problème et la carte ne chauffe plus de manière excessive. L'arduino supporte donc les 12V. Le problème de l'alimentation est donc définitivement réglé. De plus, nous avons découvert un avantage intéressant: sur l'un des boîtiers nous avons un interrupteur. Nous n'avons donc plus besoin d'en rajouter un.

Par la suite, nous avons pu alors continuer les tests tout en utilisant uniquement les piles, une fois le programme téléverse. Niveau programmation, il a fallu revoir à nouveau les programmes de base. C'est-à-dire avance(), recule(),rotateD()... En effet, le programme avance() (dans notre fichier principal) ne fonctionnait plus malgré une bonne rédaction de programme et de bon branchements sans court-circuit. Nous avons alors copié le programme avance() d'un sous-programme de test et collé celui-ci à la place du programme avance() défectueux. Le problème est résolu.

Enfin, lors des tests, nous avons régulé la puissance des moteurs. La puissance étant à 255, le robot roulait trop vite. Sur le support terrain, une puissance de 150 semble correcte.

Pour terminer, nous avons refait des tests pour déterminer les seuils (seuil balle proche et seuil balle loin) liés au repérage de la balle et à la capture de celle-ci. Cependant, nos valeurs ne nous semblaient pas correctes. Ces tests sont à refaire.

travail personnel: Continuer la programmation. Revenir dans la semaine.

SÉANCE BONUS (le 28/04/2016 15h-18h)

Aujourd'hui, nous avons fait des recherches sur la communication Xbee. Et nous avons alors réaliser des soudures de câbles sur l'une d'entre elles, afin de la relier par la suite à l'arduino. Les recherches sont à approfondir.

Nous pouvons dire que le robot est complètement équiper pour réaliser les tâches demandées. Il a tout ce qui faut en conception (pince) et au niveau électronique. Bien sûr, la programmation est à finir.

Au sujet de la programmation, nous avons réalisé une amélioration des programmes avec une évaluation distance_temps_arret. Effectivement, une bonne partie de nos programmes tournait à l'infini. (ex: avance à l'infini, recule à l'infini, tourne à l'infini). Maintenant, avec un entier A, correspondant au temps voulu en ms, donné en argument aux fonctions, nous pouvons déclencher l’arrêt des fonctions après A ms.

niveau alimentation: toujours rien à signaler.

travail personnel: Continuer la programmation :

- Xbee (le moins urgent)
- suivi ligne  tests à faire
- IR a finir

SÉANCE BONUS (le 29/04/2016 17h15-18h15)


Aujourd'hui nous avons continué les tests sur les seuils des capteurs. Si les valeurs ne sont pas correctes, il sera difficile de tester les programmes suivi de ligne ou suivi de balle. Pour le moment, nos valeurs ne semblent pas correctes en plus le bleu clair et le blanc sont très proches (nous avons observés les mêmes résultats de valeurs que durant la séance du )

travail personnel: Le robot a été emmené chez nous durant le weekend. La programmation est a continuée. Nous devons aussi réfléchir à la vidéo.