Ceci est une ancienne révision du document !
indiquer les dates dans le journal pour qu'on voit quand vous travaillez sur le projet.
Elles sont indiquées ici Rôles
Voici notre page principale, vous pourrez y suivre l'avancement du projet, nos problèmes, nos résolutions, nos idées de génies
etc…
Tout d'abord la partie “Initiation”:
Maintenant il est tant de connecter nos neurones, d'échauffer nos doigts, de faire chauffer nos ordis, et c'est parti, le projet attaque
Nous ne nous attarderons pas sur cette semaine, notre projet ayant changé
En effet au début nous avions choisi de réaliser un télémètre ultrasonique, nous avions donc préparé une documentation dessus. Mais les professeurs ont changé notre projet la semaine suivante.
Suite à un changement de projet nous nous attelons désormais à la réalisation d'un profilomètre. Nous repartons donc de notre entrevue du 17/02 avec un nouveau travail de recherche a faire. Nous trouvons qu'il existe différents profilomètres, les principaux étant les profilomètres optiques et les profilomètres à contact. Nous ne savons pas vraiment lequel choisir, et ne trouvons pas énormément de support internet et de DIY pour nous aider. Nous avons juste décidé que le profilomètre se présentera sous une forme de “voiture” c'est a dire d'un châssis sur roue, qui avancera à très faible vitesse pour avoir le temps de détecter correctement les aspérités de la surface. Nous aurons donc 4 grandes parties dans notre projet, une partie “motrice”, une partie “détection”, une partie “analyse” et une partie “conception 3D”. Mais nous nous rendons vite compte que ce sera un projet dur à réaliser et apercevons les nombreuses difficultés, notamment pour pourvoir capter de très faibles variations de surface de l'ordre de la dizaine de micromètre. Étant un peu égarés et ne savant pas trop comment partir nous avons gardé toutes nos recherches en tête et avons attendu notre nouvelle entrevue avec les professeurs pour se faire conseiller.
Exposant nos difficultés aux professeurs ils nous ont conseillé et donné des idées pour détecter les aspérités de la surface. La détection de la variation de la hauteur d'une surface étant le point central de notre projet, nous allons y consacrer une grosse partie de notre temps.
Pour commencer nous décidons que pour la détection nous utiliserons une sorte de “tête de lecture” qui sera en contact avec la surface.
Mais pourquoi une tête de lecture et pas tous simplement un laser qui serait réfléchi sur la surface et relié à un photo-capteur comme pour la lecture de cd?
Parce qu'on veut pouvoir étudier n'importe qu'elle surface, et il y a des surface qui réfléchissent plus que d'autre ce qui ne renverra pas les mêmes données au capteur…
Avec Malissa et Julien (Théo) nous avons donc recherché les différentes solutions possibles avec leurs avantages et inconvénients.
Tout d'abord nous voulons que la tête de lecture se présente comme une tige accrochée au châssis au bout de laquelle il y aura une aiguille en contact avec la surface, qui va “lire” ses variations (voir photo ci dessous). Pourquoi une tige et pas tout simplement une aiguille en liaison glissière verticale avec le châssis? Parce que la force de réaction du support et les forces de frottement sur l'aiguille créent un moment par rapport au centre de la liaison pivot de la tige avec le châssis, il y aura donc moins de contraintes horizontales sur l'aiguille, elle aura donc moins de chance de casser par rapport à une simple liaison glissière verticale.
Etude de solutions: lecture aspérités
Nous avons fait de nombreuses recherches et études de systèmes, la plupart aboutissant à de nombreux problèmes et des choses nous dépassant complètement. Nous détaillerons ici très succinctement celles sur lesquelles nous nous sommes le plus attardés.
Tête de lecture disque vinyle : C'est la solution qui nous a paru la plus facile au début. En effet cette tête de lecture peut détecter des variations de quelques dizaines de microns, le capteur est déjà “tout fait” il suffirait juste de l'acheter. Mais en cherchant plus précisément nous avons remarqué que la cellule phonographique (la cellule, le plus souvent magnétique, qui détecte les “vibrations” de l'aiguille) détecte 2 signaux, un radial et un vertical, or nous nécessitons seulement d'un signal vertical. Cela a donc comme inconvénients: travail de décomposition des signaux qui peut être difficile, des documentations souvent très difficiles à saisir à notre niveau, il faut coupler le capteur à un ampli RIAA qui va amplifier le signal ce qui implique un travail de recherche poussé sur ce genre d'ampli, tête de lecture qui risque de rayer certaines surfaces, prix élevé. Les avantages sont: tête de lecture très résistantes (si on prend du diamant synthétique), détection des aspérités de l'ordre de grandeur que l'on veut, facile a mettre en place, tête de lecture “toute faite”.
Tige piézoélectrique/ capteur de pression: Nous regrouperons ici 2 études en une. La première serait que la tige serait flexible, et piézoélectrique (qui change de résistance sous l'action d'une contrainte mécanique), ce serait donc un capteur peut coûteux et il serait facile d'analyser le signal renvoyé. Mais il serait difficile d'accrocher une aiguille au bout de cette tige. De plus les variations de quelques microns ne représenteront qu'une flexion très faible et donc une variation de résistance, je pense, trop faible pour être détectée. L'autre solution sera d'attacher la tige au châssis non pas par le bout, mais a peu près à 1/3 de la tige (côté aiguille). Une variation de hauteur de l'aiguille créerait donc une variation plus grande de l'autre coté de la tige et cette variation serait détectée par un capteur de pression (tige qui appuierait plus ou moins dessus). Cette solution parait facile à réaliser, le problème le plus dur à résoudre serait de mettre en équation la force de pression de la tige sur le capteur par rapport a la hauteur de variation de la surface.
Détection optique:
Nous développerons en particulier cette solution puisque c'est celle que nous avons choisi.
Ne voyant que des problèmes dans toutes nos solutions (mais attend elle veut rien dire ta phrase ? -Oui mais vous m'avez compris
) il a bien fallu nous lancer dans quelque chose. Et nous avons choisi une détection optique.
Alors comment ça marche ? Sur le papier ça a l'air simple, on reste sur une tige attachée par l'extrémité à un châssis par une liaison pivot d'axe, et une “aiguille” de lecture de l'autre côté, mais sur cette aiguille on rajoute un miroir posé horizontalement (ou angle a calculer), on attache au châssis un laser, et une photodiode. Le laser pointera vers le miroir avec un certain angle (lui aussi a calculer), le faisceau sera alors réfléchi vers la photodiode qui captera l'intensité lumineuse de celui-ci. Quand l'aiguille de lecture changera de hauteur, l'angle incident du faisceau sera alors modifié et la photodiode ne captera plus la même intensité lumineuse. Nous pensons que c'est la meilleur solution pour détecter de très faibles variations de l'ordre du micron tel que nous le voulons. Il y aura néanmoins une grosse partie de calcul pas très amusantes, et bien sûr ces calculs ne représenterons que la théorie, il faudra ensuite faire toutes une série de tests pour les vérifier, car il nous faut une très grande précisions sur l'analyse du signal.
Bref comme un schéma est mieux qu'un long discours voici globalement ce que nous comptons faire.
On vient de parler de photodiode? mais qu'est ce que c'est que ça? Nous le verrons plus précisément plus tard quand on fera une analyse complète dessus, pour l'instant contentez vous de la définition Wikipedia: Une photodiode est un composant semi-conducteur ayant la capacité de détecter un rayonnement du domaine optique (d'où l'utilisation d'un laser (rouge? → a voir)) et de le transformer en signal électrique.
Afin d'avoir du concret nous sommes donc allés Malissa, Julien et moi (Théo) au Fablab afin de faire un test de détection laser et vérifier qu'une photodiode pourra détecter des variations de luminosité. Je vous invite donc à aller voir notre page Test
Diférents tests
Etude de solutions: Motorisation du système
Pour le moment, je (Tristan) me suis renseigné sur les différentes techniques de pilotage d'un moteur. Dans notre cas, un simple moteur à courant continu pourra faire l'affaire. Cependant, il convient d'obtenir une très faible vitesse de rotation (et donc de translation par la suite) pour exploiter notre profilomètre. La méthode de PWM (MLI en francais pour “modulation de largeur d'impulsion”) semble être une solution intéressante. Cependant pour obtenir une vitesse très faible, je crains que le moteur produise des à-coups qui perturberaient évidemment l'analyse de la surface étudiée et donc l'utilisation globale de notre système. J'en conclus donc qu'il faudra certainement, en plus d'un pilotage par PWM, utiliser un ou plusieurs réducteurs. Enfin, je me suis également informé sur l'utilisation de cartes Arduino pour le pilotage de moteur à courant continu, solution tout à fait possible.
Maintenant que nous savons que nous allons détecter les aspérités avec notre système laser/photodiode, il faut étudier le système à fond (calculs mathématiques). D'une part cela nous permettra de le réaliser, mais d'autre par cela nous permettra de connaître les dimensions de notre profilomètre, pour pourvoir débuter la conception 3D. Notre groupe étant constitué de 7 personnes, 3-4 personnes s'occupperont des calculs, 1-2 personnes de l'étude et de la conception de la tête (aiguille + miroir), pendant que je (Théo) m'occuperai de l'étude des photodiodes, et que j'assisterai (programmation Arduino) Tristan dans tous les tests qu'il réalisera pour permettre de motoriser notre châssis.
Étude du récepteur de lumière:
Ayant très peu de connaissance dans le domaine de l'électronique je me lance dans mes recherches et je trouve principalement 3 types de photorécepteur: la LDR (photorésistance), la photodiode, le phototransistor.
Après avoir lu cet article Photo-résistance je décide de ne pas choisir une photo résistance puisque elle est instable.
Mais donc photodiode ou phototransistor? Après avoir visité plusieurs sites et forum, tous sont catégoriques un phototransistor est beaucoup plus sensible qu'une photodiode (de 100 à 400 fois plus selon Wikipédia), mais il dispose d'un temps de réaction plus lent. Cependant en discutant avec un chercheur en physique aujourd'hui (04/03) celui-ci m'a appris qu'il était beaucoup plus précis au niveau de très faible intensité lumineuse, or un laser est puissant. Il m'a donc conseiller d'utiliser une photodiode, en particulier la BPW34, sans filtre dans l'IR.
Rappel : Qu'est ce qu'une photodiode?
Une photodiode est un composant semi-conducteur ayant la capacité de détecter un rayonnement du domaine optique et de le transformer en signal électrique.
Je choisis d'utiliser un laser rouge, puisque c'est le moins cher et le plus courant, de plus c'est celui qui dispose de la longueur d'onde la plus élevée ce qui est le mieux pour notre photodiode qui a le plus souvent une plus grande précision dans des longueurs d'onde autour de 800nm. De plus nous ne voulons pas un laser dans l'infrarouge puisque on ne pourra alors pas voir le faisceau à l’œil nue ce qui posera de nombreux problèmes lors des tests. Nous choisissons donc une diode laser rouge d'une longueur d'onde de 650nm (la plus courante) de 5mW (classe 1: la moins dangereuse) comme celle-ci Diode laser rouge 650nm 5mW.
Comme je l'ai dit au dessus j'ai abandonné l'idée d'utiliser un phototransistor après avoir discuté avec des personnes compétentes en électronique de plus comme nous allons utiliser 2 photorécepteurs (voir juste un peu plus bas) il en faudra 2 identiques, or les photorésistances sont instables et les valeurs mesurées changent d'une à l'autre. De plus on m'a conseillé d'utiliser un BPW34, dont on dispose au lab, je ne me lancerai donc pas dans des études comparatives de photodiode, la BPW34 étant une référence dans le domaine de la photodétection. La BPW34 Le datasheet. Elle ressemble a ceci:
Après avoir discuté de notre projet avec le physicien (je n'est pas pensé à lui demander son nom
). Il m'a conseillé de mettre 2 photodiodes (BPW34) côte à côte. Et c'est une idée de génie! en effet au repos le laser pointerai entre les 2 photodiodes, elle capterai donc normalement le même signal et quand on soustrait les signaux sur la carte on obtient zéro (en théorie). Quand la pointe de détection bougera, l'angle incident changera et le laser éclairera donc plus une photodiode qu'une autre, en soustrayant le signal on pourra faire la relation entre le signal obtenue et le relief de notre surface. De plus avec Julien et Malissa on nous nous étions posés des questions quand à la détection de la luminosité de la pièce. En effet la photodiode capte la lumière, notre système ne renverrai donc pas les même valeurs si on s'en servait dans une pièce sombre ou très éclairé. La solution? Brancher la diode laser non pas en permanence sur le 5V mais sur une broche digital de la carte Arduino. Mais pourquoi? parce qu'on pourrait faire une première mesure le laser éteint, puis l'allumer faire une mesure et la soustraire a la valeur d'avant, la lumière ambiante ne nous embêterai donc plus puisqu'elle serait soustraite a chaque mesure
.
Voici donc a quoi ressemblera notre système de détection final!!!!
(nous avons choisi de mètre le laser vertical et le miroir sur la tige qui tien l'aiguille pour nous simplifier les calcul et nous faciliter la mise en place du laser).
Il faut maintenant voir comment brancher ces 2 photodiodes. Tout d'abord il est important de savoir qu'une photodiode crée un courant I (en A) dès quelle est traversée par des radiations lumineuses. Or notre carte ne détecte que des variations de tension (en V). La solution? une résistance! en effet U=R*I comme I va changer en fonction de la luminosité, U va changer aussi, il suffira donc de brancher la résistance à une entrée analogique et de lire les variations de tension. Il faudra donc refaire des tests cette fois ci avec une photodiode.
Branchements:
Test:
Test BPW 34
Résultats:
Comme je le dit dans ma partie tests pour avoir un signal bien plus précis j'ai changer la valeur analogique de référence.
moteur
Je vous renvoie vers ma page Partie Programation
Et ma page test ici. Nous nous servons d'un moteur bipolaires, afin de mieux comprendre mon programme je vous invite très fortement à aller faire un tour sur cette page moteur pas à pas.
Etude de la motorisation
Je (Tristan) m'intéresse à présent à la forme (grossière) finale qu'aura notre profilomètre. En effet, ceci est nécessaire pour déterminer le positionnement du moteur. Pour commencer, j'avais tout d'abord pensé à un système en forme de “pont”. A partir de la, j'aurai fait translaté l'aiguille directement entre les 2 “pylônes” du châssis. Cependant, après avoir étudié cette solution , je me suis rendu compte qu'il faudrait également piloter le laser ainsi que la photodiode à la même vitesse que l'aiguille se déplaçant sur la surface. Cette solution n'étant à priori pas efficace, nous avons alors pensé à une autre solution. Il s'agit alors de déplacer non pas l'aiguille seule sur la surface étudiée mais de déplacer l'intégralité du système comme s'il s'agissait d'une voiture télécommandée. Pour cela nous avons pensé à utiliser un châssis plat en dessous du quel nous aurions placé 4 roues (roues du style roues de trottinette ou de rollers). Nous aurions alors placé un moteur sur le châssis et aurions piloté les roues avant par arduino en utilisant un système de tige filetée en guise de vis sans fin. Cependant pour obtenir une trajectoire bien rectiligne, il aurait probablement fallu utiliser un système de différentiel des roues. J'ai alors pensé à installer trois roues et non pas quatre sur notre système en plaçant une seule roue à l'avant que je motoriserai. J'ai alors été discuter avec Laurent Teixeira pour avoir son avis sur cette solution. Il m'a alors proposé de ne pas utiliser de vis sans fin mais de raccorder le moteur directement à la roue avant motrice, en positionnant le moteur sous le châssis. En effet la vitesse de translation finale souhaitée étant très faible, cette solution est bien adaptée. Cependant le moteur étant assez conséquent, il faudra donc dimensionner la hauteur du châssis ainsi que celle des roues en fonction de la taille du moteur. De plus, j'ai pensé à un problème de répartition des masses… En effet, le moteur possède une masse conséquente par rapport à celle de notre système finale, ainsi en le plaçant à l'avant de notre système, sur un des côtés du moteur, celui ci serait déséquilibré et risquerait de ne plus suivre une trajectoire bien rectiligne lors de sa mise en mouvement, ce qui nuirait ainsi considérablement à l’exploitation des données et donc à la précision de notre système. Il faudra donc placer une masse environ égale à celle du moteur à l'opposé du moteur, de manière à rendre notre système le plus homogène possible d'un point de vue massique. Je me suis alors procuré le matériel dont nous aurions besoin, à savoir un shield moteur arduino, un moteur “RS 5350401” ainsi que des roulements de manière à ce que les roues tournent en ayant le moins de frottements possibles. Ci-dessous les photos du matériel ainsi que de croquis du système.
Calcul de la distance variable en fonction de l'angle réfléchi
Le but est de déterminer la distance (l'écart) entre les deux différents angles réfléchis, le premier lorsque l'on ignore les 10 micromètres et le deuxième quand on le prend en compte (par exemple pour le cas d'un creux sur la surface travaillée). Pour cela on doit tenir compte également des dimensions du moteur.Vu qu'il s'agit de l'ordre du micro, la variation qu'on appellera (Δα) sera assez faible (d'ordre 10^(-4)) mesuré en degré. En prenant l'exemple de 2 centimètres et 3 cm de longueur par exemple, Simon et moi (Patrick) avons trouvé un α(“avant”)=48.1896851° et un α(“après”)=48.1894288°, soit un (Δα) = 2.56*10^(-4)°.
semaine5
Détermination de la distance miroir/photodiode:
Comme il faut que le projet avance, il nous faut un châssis, mais pour ça il faut savoir de quel taille on le fait, mais pour ça il fallait finir les calculs. C'est pour ça que je suis allé (Théo) au fablab avec Julien pour discuter des différents calculs et commencer a imprimer quelques pièces en 3D. Nous avons tout d'abord fait des calculs en nous appuyant sur de la trigonométrie basique pour arriver a un résultat qui nous disait que notre projet était irréalisable. En effet nous trouvions une distance miroir/photodiode de plus d'1 mètre. Mais en vérifiant nos calculs nous nous sommes aperçus que nous nous étions trompés dans une puissance de 10. Puis nous nous sommes enfin rendu compte que nos calculs étaient complètement faux puisque nous disions que le laser tapait le miroir exactement en sont milieu en tout instant or c'est faux puisque quand la pointe va se mettre dans un trou, comme la longueur de la tige reste la même, le laser n'éclairera plus le miroir en son milieu. On pense donc tout d'abord que le calcul et beaucoup trop compliqué et on commence à douter de la faisabilité de notre projet.
Mais en rentrant chez moi je repose calmement le problème et j'arrive à une solution.

On a donc l = Δx - [cos(Δα)sin(2α2)*(tan(α2)cos(α1)*L/2 - H/2)]/tan(Δα)
avec:
/!\ Il est important de remarquer ici que la formule et faite pour un laser qui tape le miroir en L/2, pour changer cette valeur par exemple pour le faire taper en 2L/3 il suffi de cahnger L/2 en 2L/3 et H/2 en 2H/3 dans la formule.
Comme il nous faut une variation d'angle Δα maximum il faut un H et L petit. Nous avons décider que L=2cm et H=1cm était le plus petit que nous puissions faire pour que cela reste “facile” a réaliser. Je fait donc l'application avec une profondeur max (h sur le schéma) de 100 micron. Et je trouve un l=0,1628133m soit environ 16,3 cm. Ce qui est assez grand mais ça reste réalisable. Julien et moi décidons alors de faire un programme sur Python pour tester différentes valeurs de H et de L pour essayer de trouver la forme la plus “optimisée”: la plus compacte.
Voici le programme et les résultats (le laser tape le miroir en 2L/3 puisque c'est le plus simple a réaliser):
Réalisation du circuit imprimé de photodetection:
Pour simplifier la vie lors du montage et que ça soit plus propre, je décide (Théo) de réaliser mon “capteur de détection” sous forme de circuit intégré. Pour cela je me sert du logiciel kiCAD, et consulte de nombreux tutoriels pour apprendre à m'en servir. Mon “capteur de détection” comporte donc tout simplement 2 photodiodes BPW34 et 2 résistances de 100kohms. Le problème c'est qu'il n'existe pas de librairie qui contienne la bpw34. Je me fait donc conseiller par plusieurs personnes qui me disent qu'ils ne savent pas se servir du logiciel, par chance je tombe aujourd'hui (15/03) sur un électronicien qui va réaliser le circuit, je lui donne donc mes références et toutes les côtes.
Réalisation du châssis :
Julien et moi (Théo) sommes allés au fablab afin de réaliser le châssis, les roues et différents supports. Je m'occupe d'abord des calculs (voir photos ci dessous) pendant que Julien modélise les pièces sur Openscad.
Voici les calculs: (insérer photo)
Voici les pièces réalisées:
Une fois les calculs terminés nous avons toutes les dimensions de notre profilomètre. Nous nous occupons donc de la conception du châssis à la découpeuse laser, ainsi que des roues arrières. Pour que le châssis avance, il faut que les roues tournent (#génie
), pour cela nous avons choisi de les mettre sur roulement (voir 2ème photo ci dessous)
Modification du positionnement du moteur :
D'après les calculs de mes camarades sur les dimensions du profilomètre, je (Tristan) vais devoir modifier ce qui était prévu, à savoir le positionnement du moteur. En effet, jusque ici, j'avais prévu, comme indiqué précédemment de le coupler directement à la roue avant motrice en le fixant sous le châssis. Cependant, le moteur à la forme d'un cube de 42.3mm d'arêtes tandis que pour une bonne exploitation des informations fournies par la tête de lecture, le châssis doit se trouver à environ 1cm du sol… Il va donc de soi que je vais devoir placer le moteur au dessus du châssis. Ceci ne change cependant pas grand chose en soi puisque l'axe de la roue motrice sera situé au dessus du châssis. Il suffira donc de coupler la roue au moteur de manière direct comme prévu initialement.
Roues libre arrières (premier essai) :
Je (Julien) suis allé au Fablab pour créer les roues libres arrières à partir des pièces qui ont été découpées. J'ai donc collé les 4 cylindres deux par deux pour ne former que 2 roues plus épaisses et je les ai limées pour éviter que le châssis vibre une fois les roues fixées dessus. En parallèle, j'ai redécoupé le châssis pour permettre aux roues d'entrer entièrement (les trous étaient trop petits) et j'ai fait un plus grand espace pour placer la tête de lecture qui ne rentrait pas à cause des dimensions du miroir qui n'avaient pas été prises en compte.
J'ai ensuite percé les roues pour les faire passer dans la tige métallique et je les ai fixées à celle-ci à l'aide d'écrous.
J'ai finalement placé les roulements aux extrémités de la tige et je les ai fixés de la même manière.
Après un test sur une surface plane, j'ai remarqué que les roues vibraient beaucoup trop et que cela allait avoir un impact néfaste sur la “lecture” de la surface. J'ai donc trouvé un revêtement en caoutchouc qui devrait résoudre le problème. Cependant n'ayant pas pris en compte l’épaisseur du revêtement, je vais devoir redécouper de nouvelles roues aux bonnes dimensions et les percer de nouveau, etc …
Voici les photos du châssis et des roues avec les roulements fixés à la tige:
Avant:
Après:
Transmition de l'information :
Une fois les variations de surface détectés, il faut que notre profilomètre comunique avec l'utilisateur pour lui renvoyer les valeurs. Je (Théo) m'interesse donc a cette partie puisque c'est moi qui m'ocupe de la programation.
Plusieurs choix s'offrent a nous, le 1er et le plus facile etant la comunication filaire avec l'ordinateur via le moniteur d'Arduino. En effet il suffit juste d'utiliser la librairie Serial comme utilisée jusqu'a maintenant lors des différents tests. Le problème c'est qu'il faut, d'un, un ordinateur à proximité avec le logiciel Arduino, et de 2 c'est qu'il faut tiré le cable de conexion ce qui peut entreiner des perturbations de la lecture de surface. Je ne choisirais donc pas cette solution, puisqu'on a choisi de faire un profilomètre donc la qualité est la mobilitée.
La 2ème solution et d'utiliser un module de comunication sans fils tel que le module Xbee Module Xbee, pour justement enlever le problème du cable. Mais le problème d'avoir un ordinateur a proximité reste, et il ce crée un nouveau problème qui est cette fois ci celui de la programmation. En effet il faut tout d'abord aprendre à ce servir du module grâce a plusieurs tutoriels, ce qui sera deja long, mais ensuite il faut crée un programme qui lira les valeurs renvoyées par le module pour ensuite les afficher sous forme de graphique (puisqu'on veut un graphique 2D de la surface scannée). Or pour cela il faut surement ce servir d'un 2ème language de programation. C'est donc réalisable mais il existe plus simple.
La dernière solution, et celle que j'ai choisi, est d'afficher la courbe sur un petit ecran lcd de ce genre | Ecran oled monochrome 128x64, puisqu'il est assez facile de les programmer avec Arduino sans qu'ils prennent beaucoup d'entrée à la carte, ça enlève également le problème de tirer un fils, et il n'est pas nécessaire d'avoir un ordinateur a proximité. Je cherche donc plus précisement des sujets en raport avec un affichage de courbe, et je fini par tomber sur ce tuto | affichage d'une courbe, qui réalise exactement ce que je veut, je devrais seulement légèrement modifier le code (le fusionner avec celui de lecture des photodiode). Je me pose cependant la questions de la taille de l'ecran, il utilise ici un écran TFT 65536 couleurs Graphique 132×176 type S65, qui a une petite résolution, donc la fonction map, réduira notre précision puisqu'elle transformera des valeurs de 0 à 1023 en valeurs de 0 à 130. Mon seul problème est donc de trouver un écran plus grand avec une librairie similaire aux TFT 65536.
Je me pose aussi des questions quand à la “fusion” des différent programmes (programme final). En effet chaque programme se sert de la fonction delay, or cette fonction met entièrement en pose la carte Arduino. Mes différents programmes ne marcheront donc pas tous ensemble. La solution? utiliser la focntion millis! fonction millis.
Réalisation de la plaque de détection
Comme je n'arrive pas a faire un circuit imprimé et que personne ne peut me le faire pour l'instant, je décide de réaliser mon circuit avec une plaque de bois de 3mm d'épaisseur. Je fais un croquis des dimensions qu'il me faut et je le donne à Simon et Patrick. Ils me réalisent la pièce à l'aide du logiciel CorelDraw. Je lui rajoute ensuite les trous des résistances puis découpe la pièce à l'aide de la découpeuse laser. Je soude ensuite le tout et j'obtient finalement ceci
Il reste plus qu'a faire le test : Test plaque de détection
Réalisation de la roue avant et couplage du moteur :
Aujourd'hui je (Tristan) m'occupe du couplage du moteur à la roue avant motrice avec Théo. Pour cela, je me rends au GreenLab pour obtenir des conseils concernant le couplage. Au passage, en étudiant le système, on voit que les bandes en caoutchouc collées sur les roues créent une vibration… C'est pourquoi je suggère l'utilisation d’élastiques plats, en effet, ils sont lisses et surtout continus… Revenons-en au couplage du moteur à la roue : la tige du moteur est cylindrique et lisse et il faut la relier de manière solide à la roue pour éviter tout patinage entre les deux. 2 solutions sont possibles : je peux par exemple réaliser la roue en mettant en son centre un trou en forme de demi cercle et limer le moteur de sorte à lui donner à peu près la même forme. Cependant, compte tenu du faible couple que le moteur va exercer sur la roue et de la difficulté à limer correctement le moteur je choisis une autre solution : le diamètre de l'axe du moteur est de 5mm, nous allons donc réaliser la roue avec un trou au centre d'un diamètre de 4,8mm. Pour commencer, nous réalisons donc la roue avant qui est différente des 2 roues arrières. En effet, la position de l'axe du moteur est à prendre en compte et nous contraint de réaliser la roue avec un rayon plus grand que celle des petites roues. En réalisant les mesures, on trouve qu'il faut la réaliser avec un diamètre de 66mm. Nous réalisons donc la roue à la découpeuse laser et je lime légèrement l'axe du moteur pour qu'il agrippe mieux lorsqu'il sera dans la roue. A partir de la je rentre en force l'axe du moteur dans le trou de la roue prévu à cet effet. C'est (très) serré et il n'y a aucun frottement, le tour est joué !
Montage du moteur, châssis complet:
Je suis (Théo) allé au Fablab avec Julien afin de refaire les pièces, (roulement et tige) puisque les supports des roulements ont fendu après les avoir cloué, et une des attaches du miroir sur la tige a également légèrement fendu (très petites pièces). Julien a donc modifié le support des roulements afin de le visser et non de le clouer. La vis rentre donc parfaitement sans imposer trop de contrainte au plastique (voir photo ci-dessous).
Nous somme aller au Fablab avec Julien afin de voir comment nous allons accrocher le moteur. Tous d'abord nous remarquons que le moteur crée d'importantes vibrations si on le fait tourner lentement, or il faut les limiter au maximum pour que notre aiguille ne les détecte pas et que ça ne fausse pas nos mesures. Pour cela nous décidons d'utiliser de la mousse très aérée et molle, que nous mettrons entre le châssis et le moteur. Le problème c'est que ça rajoute une épaisseur alors qu'on a déjà découpe toutes les pièces aux “bonnes” dimensions. Je grave donc à l'aide de la découpeuse laser, un rectangle, de la taille du moteur, dans le châssis. Je le fait d'une profondeur de 1,5mm, puisque c'est la largeur de la mousse une fois aplatie (mesurer au pied à coulisse).
(Insérer photo châssis avec rectangle gravé)
Pendant ce temps Julien crée la pièce qui viendra plaquer le moteur contre le châssis afin qu'il ne bouge plus.
Je vous rappelle que vous pouvez trouver tous les fichiers 3D sur la page Ressources
Réalisation du programme final sans affichage lcd:
Je vous renvoie encore une fois vers ma page partie Programmation afin de ne pas surcharger cette page qui est déjà bien remplie.
Le Fablab est très peu ouvert en ce moment, çela nous rend encore plus en retard.
Montage des roues arrières et du moteur:
Je suis (Théo) allé au fab lab afin que notre chassis puisse enfin rouler. Pour çela j'ai attacher les roue a la tige, mis des élastique (pour l'adérence) autour de chaque roue et j'ai visser les support de roulement au chassis. Bien qu'ayant mit la force de la visseuse au plus bas, les support on encore une fois fendu, il faudrait enfaite que la paroie entre le trou pour la visse et le bord du support soit un peu plus épaisse. Mais les roues arrière tienne quand même bien je décide donc de ne pas reimprimé les support. Je m'interesse ensuite a la fixation du moteur sur le chassis. Comme dit plus haut j'ai graver un rectangle de la taille du moteur enfin d'inséré de la mousse entre le chassis et celui-ci. Afin de limiter encore plus les vibration je décide de graver des rectangle de la taille des pattes de fixation du moteur afin qu'il y est également une couche de mousse entre la fixation (qui tien le moteur) et le chassis. Je rajoute également une fine bande de mouse entre la fixation et le moteur. Je visse le tout et j'obtient finalement ceci.
Il y a un problème: comme le penser Tristan lors de son étude moteur, le moteur est lourd, et il déséquilibre en effet le chassis qui se pose sur l'angle ou ce situe le moteur (c'est pour ça que je fait contre poid sur chaque photo). Il faudra donc penser a un contre poid qui viendra équilibré le chassis.
Je branche quand même le moteur a la carte Arduino, je met le programme moteur dedans, et je test voir à quel vitesse avance notre chassis avec le temp entre chaque pas qui nous paraissait le mieu (100ms). Et la je remarque qu'il y a un gros problème, le chassis avance très bien, et à une vitesse suffisante (mais presque trop rapide), mais il vibre énormement malgré tous mes effort afin de limiter les vibrations. Je doit malheureusement parti car le fablab ferme mais je réfléchi à plusieurs solution. La première est de trouver une mousse plus adapter pour amortir les vibration, et d'en rajouter entre le moteur et sa fixation (quitte à la limée). La 2ème serait déessayer de réduire la puissance du moteur, en effet vu que notre moteur a beaucoup de couple et que nous en avons surment pas entièrement besoin, peutêtre que si je baisse la puissance du moteur (grâce au pins PWM de la carte) les vibrations seront moins fortes. Je peut également essayer de tester d'autre vitesse moteur, car il est possbile que le nombre de pas qui fait soit proche de la résonance de notres système moteur + chassis. Enfin si aucune de ses solutions marchent, j'ai lu plusieurs postes sur internet qui parle d'une carte “micropas”. Je me renseignerai plus en détails dessus si on en à besoin. Enfin la dernière solution serait de crée un réducteur, car le moteur vibre beaucoup moins si on le fait tourner plus vite, mais il faudrait revoir à ce moment la toute la fixation et crée ce réducteur et nous n'aurons pas le temps.
Résolution du problème de répartition des masses:
Il est temps de m'intéresser (Tristan) au problème de répartition des masses. En effet, mes camarades ayant quasiment fini de réaliser les dernières pièces manquantes de notre système, je dois résoudre le problème de la répartition des masses. A ce jour, le moteur étant déjà fixé sur le châssis (voir section précédente), je parviens à me procurer la datasheet complète du moteur RS 5350401. Ce qui m'intéresse est bien évidemment la masse du moteur… Celle-ci est donc égale à 350g, ce qui représente une proportion élevée de la masse totale du système. (peser le système complet pour déterminer pourcentage). Je dois ainsi trouver une masse de 350g à placer de manière symétrique sur notre système. Ci-joint la datasheet de notre moteur.