Projet

Général

Profil

P15AB14 Mesure de déformations multi-points » Historique » Version 12

Anonyme, 06/04/2021 10:30

1 3 Anonyme
2
3
p>. !https://forge.clermont-universite.fr/attachments/download/16022/lirmm_20160115130052_20160115130106.png! !https://forge.clermont-universite.fr/attachments/download/16023/polytech_logo_20160115125734_20160115125749.png!
4
5
p<. Projet GE4a-GE5a :
6
7
*Entreprise / Client* :
8
*Auteurs* : Jessy Louis - Priscille Ndombi - Joris Payen
9
*Responsable Projet* : Mr Sébastien Lengagne
10
*Tuteur industriel* : Mme Isabelle Goi 
11
12
13
    [[1. Résumé]] 
14 4 Anonyme
    [[2. Abstract]] 
15
    [[3. Introduction]] 
16 5 Anonyme
    [[4. Présentation du Sujet]] 
17
    [[5. Cahier des Charges]] 
18
        [[1. Spécifications du cahier des charges]] 
19
    [[6. Développement]] 
20
        [[1. Partie analogique]] 
21
       [[2. Communications microcontrôleur]] 
22
        [[3. Serveur Web - Raspberry - Arduino]] 
23
    [[7. Gestion de Projet]] 
24
        [[1. W.B.S.]] 
25
        [[2. Gantt]] 
26
    [[8. Bilan]] 
27
        [[1. Etat d'avancement]] 
28
        [[2. Analyse Critique]] 
29
        [[3. Perspectives]]
30
    [[9. Bibliographie]] 
31
    [[10. Documents]] 
32
    [[11. Notes d'application]] 
33
        [[1. Implantation du protocole CanOpen sur Arduino]] 
34
        [[2. Structure d'un programme de transfert USB <-> SPI]] 
35
        [[3. Chaine de conversion analogique numérique d'instrumentation]]
36 3 Anonyme
37
---
38
39 6 Anonyme
p=. %{color:red}Résumé%  
40
41
Dans le cadre de notre projet de fin d’étude en école d’ingénieur, nous avons eu à réaliser un projet proposé par le Département Génie Civil et par le laboratoire LIRMM (Laboratoire d’Informatique, de Robotique et de Microélectronique de Montpellier). Il s’agit de récupérer d’une part la valeur d’une déformation pour les travaux pratiques du département Génie Civil, et d’autre part récupérer la déformation d’une patte du robot hexapode RHEX pour le laboratoire LIRMM.
42
43
Mots clés :
44
45
Déformation
46
47
Acquisition de données
48
49
Liaison série
50
51
Serveur Web
52
53
Page Web 
54
55
---
56
57
p=. %{color:red}Abstract% 
58
59
As part of our project of end of study in engineering school, we had to implement a project proposed by the Department of Civil Engineering and the LIRMM laboratory (Laboratory of Informatics and Microelectronics of Montpellier). This is to recover the one hand the value of a strain for the Civil Engineering Department of the practical work, and also recover the deformation of a hexapod robot leg of RHEX LIRMM laboratory (Laboratory of Informatics and Microelectronics of Montpellier).
60
61
Key Words :
62
63
Deformation
64
65
Data acquisition
66
67
Serial link
68
69
Web server
70
71
Web page
72
73
---
74
75
p=. %{color:red}Introduction%
76
77
Pour le cas du laboratoire LIRMM, il s’agit d’un robot RHEX (Robot Hexapode) qui a six pattes en mouvement. L’année dernière un groupe de deux étudiants a réalisé un projet sur ce robot pour récupérer l’image de l’effort sur le robot et également traiter l’information de la déformation et de la stocker. C’est dans cette optique que nous avons continué ce projet en réutilisant les jauges de contraintes réalisées pour récupérer les données de déformations des pattes mais aussi de récupérer les angles de déplacements de la patte en mouvement à l'aide d'un encodeur.
78
79
Le département Génie Civil utilise un dispositif assez cher pour des plateformes de bancs d’essai de travaux pratiques. Le besoin s’est donc présenté dans le sens où il fallait réaliser un autre dispositif moins onéreux pour essentiellement récupérer les données de leurs capteurs de déformation. En d’autres termes, les étudiants effectuent des travaux pratiques sur des systèmes en acier, ils mesurent les déformations suivant l’effort exercé sur ces systèmes. Nous intervenons donc sur ses systèmes pour récupérer ces informations et les rendre disponible sur une page Web.
80
81
Dans les deux cas il nous faut réaliser un système d’acquisition des différentes déformations à partir des capteurs de déformations implantés sur les dispositifs (bancs d’essai et pattes du robot RHEX). 
82
83
---
84
85
p=. %{color:red}Présentation du Sujet%
86
87
Dans le cadre de la formation d’ingénieur Polytech CLERMONT-FERRAND, les élèves sont amenés à réaliser des projets industriels. Ces projets permettant de mettre en place nos connaissances techniques et d’acquérir les méthodes de la gestion de projet et de la communication en milieu professionnel. Ils nous permettent tout simplement de nous préparer au monde du travail.
88
Le projet proposé à notre équipe est de réaliser la mesure de déformation d’un système de test du département Génie Civil et également de réaliser un dispositif de mesure de déformations des pattes du robot RHEX, dispositif ayant quelques similarités avec la demande du département Génie Civil pour le laboratoire LIRMM.
89 7 Anonyme
90
p=. !https://forge.clermont-universite.fr/attachments/download/16024/robot_hexapode_20160115125921_20160115125941.png!
91
92
Afin de réaliser ce projet, nous avons eu besoin des connaissances du Génie Electrique mais aussi d’acquérir de nouvelles connaissances par exemple pour la création du serveur Web, la page Web etc.
93
94
Vous trouverez à travers ce dossier la description du besoin des deux clients, les solutions techniques utilisées. Vous pourrez également retrouver un recueil de résultats obtenus. 
95
96
---
97
98
p=. %{color:red}Cahier des Charges%
99
100
p(((. - Cahier des charges commun
101
102
Le cahier des charges commun imposé par les clients est de réaliser une carte électronique permettant d’acquérir, de numériser et de stocker les données de quatre capteurs dans le but de mesurer des déformations.
103
104
Traitement des données analogiques
105
106
Dans cette fonction, la problématique principale est de faire communiquer le convertisseur et le microcontrôleur. Il faudra donc paramétrer les différents registres et récupérer les données du convertisseur.
107
108
109
- Cahier des charges du Robot RHEX
110
111
La partie du laboratoire LIRMM est de récupérer les données de plusieurs jauges de déformation situées sur les six pattes du robot RHEX. Ces données doivent être synchronisées avec la position de la patte sur laquelle se trouvent les différentes jauges à l’aide d’un encodeur. Un Arduino a été imposé pour stocker les données ainsi que pour communiquer avec l’encodeur.
112
113
p(((. - Mesurer 4 déformations de 4 jauges de contrainte
114
115
p(((. - Envoi des données converties et aussi de l'angle des pattes (ce dernier est récupéré par un encodeur connecté à un Arduino)
116
117
p(((. - Budget
118
119
-Cahier des charges Construction
120
121
La partie du département Génie Civil est de récupérer les données d’un capteur à un instant mais la carte doit être générique, elle doit être capable de prendre en entrée quatre capteurs de nature différentes. Les différentes cartes doivent être synchronisées entre elles pour pouvoir faire le lien entre les différents capteurs. Une Raspberry Pi a été imposé par le client pour stocker les données et les rendre accessibles sur un serveur. Une page web sera réalisée dans le but de récupérer ces données mais également pour paramétrer et étalonner la carte.
122
123
p(((. - Mesurer 4 types de capteurs différents
124
125
p(((. - Envoi des données au Raspberry Pi
126
127
p(((. - Création du serveur
128
129
p(((. - Création de la page web
130
131
p(((. - Budget
132
133
p=. %{color:red}Spécifications du cahier des charges%  
134
135
Ces différentes spécifications constituent celles de la partie Construction du projet
136
137
p(((.  - Acquisition d'un canal par carte, type d'entrée à choisir par connectique / cavaliers / configurations ( données disponibles sur une même carte, mais pas en même temps). 
138
139
p(((. - 4 types de capteurs qui sont : signal tension +/-10V , ponts de jauges (ponts 350ohms, sensibilité nominale 2mV/V) , jauges de déformation (jauges 350 ohms) , signal courant 0-20mA. 
140
141
p(((.  - Résolution > 16bits effectifs dans toutes les conditions.
142
143
p(((. - Fréquence d'acquisition de 0 à 100Hz.
144
145
p(((. - Communication avec maitre (Raspberry PI ou un PC) pour la récupération des données.
146
147
p(((. - Lecture/écriture des registres du convertisseur pour la configuration de celui-ci.
148
149
p(((. - Lecture d'une valeur convertie sur demande.
150
151
p(((.  - Une entrée logique pour la synchro / déclenchement mesures.
152
153
p(((.  - Bloc mémoire (lecture/écriture par USB) >=128 octets (programmation référence de la carte, adresse de la carte, etc.) 
154
155
---
156
157
p=. %{color:red}Developpement%
158
159
Au début du projet, nous avons été confrontés à plusieurs problèmes dont :
160
161
p(((. - Etudes sur les types de capteurs que nous allions utiliser
162
163
164
p(((. - La manière dont nous allions récupérer les données du convertisseur.
165
166
167
p(((. - L’accessibilité aux données converties sur un serveur Web
168
169
Nous avons posé ces différentes problématiques car ce sont ces dernières qui nous permettront de répondre au cahier des charges qui nous a été présenté.
170
C'est pour cela que nous avons réparti la résolution de nos problèmes en trois parties principales qui vont se compéter pour nous permettre de résoudre tout nos problèmes. 
171
172
---
173
174
p=. %{color:red}Partie analogique%
175
176
p((((. %{color:red}a. Problématique:%
177
178
Dans cette partie, la partie analogique va être présentée, c'est-à-dire des capteurs jusqu'au convertisseur. Différents types de capteurs sont à prendre en compte, un pont de jauges de contraintes complet (+/-5mV), une jauge de contrainte (350Ω), +/- 10V et 0…20mA. Ces 4 capteurs sont utilisés pour le projet Construction tandis que pour le projet RHEX, seul la jauge de déformation sera utilisée. Tous ces signaux sont adaptés en une même tension pour ensuite pouvoir la traiter. Il reste ensuite à choisir les composants et les tester pour vérifier leur bon comportement. Un multiplexeur est placé juste après l’adaptation des capteurs pour effectuer le choix de ces derniers. L’ADC choisi est un AD7176-2 car une résolution supérieure à 16 bits est demandée.
179
180
p((((. %{color:red}b. Etude d'une solution théorique:% 
181
182
p((((. - Adaptation des différents capteurs
183
184
Nous avons fait le choix d’adapter les différents signaux des capteurs en une tension de +/- 10V car cela simplifie l’adaptation pour l’ADC et nous avons également un capteur qui nous délivre directement cette tension. Cela nous évite d’ajouter des composants et réduit donc le coût de la carte.
185
Pour le premier capteur +/- 10V, nous n’avons pas besoin d’adapter le signal comme expliqué ci-dessus. Un amplificateur suiveur est placé juste après le multiplexeur et joue le rôle d’adaptateur d’impédance quel que soit le capteur choisi.
186
Pour le pont de jauges, une amplification à 2 étages est effectuée pour limiter le bruit car le gain final est de 2000. Le premier étage est un amplificateur différentiel car le signal mesuré est une tension non référencée par rapport à la masse. Cet amplificateur différentiel a également un gain de 20. De ce fait, il reste à réaliser une amplification avec un gain de 100, qui est réalisée par un amplificateur non-inverseur. Un potentiomètre est mis en place dans le but de compenser les offset des deux AOP.
187
En ce qui concerne la jauge de contrainte, il faut créer le reste du pont sur la carte électronique. Ceci est effectué avec trois résistances de précision de la même valeur que la jauge, c’est-à-dire 350Ω à +/- 0,1%. Une fois le pont crée, une tension de mesure de +/- 1,25mV peut être récupérée car c’est un quart de pont et non un pont complet. Ensuite l’adaptation s’effectue de la manière que pour le pont complet à la petite différence que l’amplificateur différentiel a un gain de 80 cette fois-ci.
188
Le dernier capteur nous délivre un courant qui varie de 0 à 20mA. L’image de ce signal est obtenue grâce à la loi d’Ohm. Le courant circulera dans une résistance de 500Ω, cette valeur à était choisie car cela permet d’avoir une plage de tension de 0 à 10V.
189
Ces quatre signaux sont chacun connectés à une entrée du multiplexeur.
190
191
p((((. - Adaptation des signaux pour l’ADC
192
193
Comme dit ci-dessus, le début de cette partie commence à la sortie du MUX. Pour ne pas avoir de problèmes avec les différentes impédances, un amplificateur suiveur est placé à la sortie du multiplexeur. Pour rappel, le signal à la sortie de ce composant est une tension +/- 10V.
194
Une fois la qualité du signal assurée, la partie adaptation peut commencer. Etant donné que l’ADC prend en entrée une tension de 0 à 5V, il faut donc diminuer la tension de sortie ainsi qu’ajouter un offset. Un driver de l’ADC est proposé dans sa datasheet qui correspond parfaitement à la demande.
195
196
p((((. - Création des cartes
197
198
Une première carte de Debug a été réalisée premièrement dans le but de tester le bon fonctionnement des différents composants. Cette carte n’avait aucune contrainte de taille, le seul souhait était qu’elle soit fonctionnelle.
199
Les deux autres cartes avaient certains points communs à la base mais le projet avançant, plusieurs différences sont apparues pour diverses raisons. La première étant la contrainte de place car le reste du pont qui est créé sur la carte doit être au plus près de cette dernière. La raison est que la déformation est mesurée grâce à une différence de résistance, et si la longueur des connecteurs est trop importante, la mesure sera faussée. Donc la carte doit être placée à l’intérieur de la patte du robot pour créer une cage de Faraday et avoir moins de soucis de CEM (compatibilité électromagnétique). L’isolation galvanique prévue à donc était supprimée, la communication avec l’ADC qui devait être gérée par un PIC, va être gérée par un arduino (uniquement pour le projet RHEX). Les alimentations sont également différentes, pour le projet Construction seul l’USB gère l’alimentation et les différentes tensions sont réalisées à l’aide de convertisseurs. Pour le projet RHEX, l’alimentation est faite par des alimentations extérieures toujours dans un souci de place.
200
Le développement CAO des cartes a été effectué sur Proteus. Tous les schémas électriques ainsi que les cartes se trouvent dans la documentation technique. 
201
202
---
203
204
p=. %{color:red}Communications microcontrôleur%
205
206
p((((. %{color:red}a. Problématique:% 
207
208
Pour permettre les conversions par notre ADC, nous devons lui demander de réaliser ces opérations. En d'autres termes nous devons commander le fonctionnement de l'ADC. C'est pour cela que nous avons choisi d'utiliser un microcontrôleur. Celui que nous avons choisi est celui que nous utilisons en cours d'informatique le PIC18F550. Ce dernier a pourtant un convertisseur intégré mais nous ne pouvons pas l'utiliser car la résolution qu'on nous demande est supérieure à 16 bits et le convertisseur intégré ne peut pas réaliser cette contrainte.
209
210
p((((. %{color:red}b.  Etude d'une solution théorique:%
211
212
p(((((. Fonctionnement du PIC18F4550 :
213
214
Les microcontrôleurs PIC sont relativement peu coûteux et faciles à trouver, il y a aussi d'autres microcontrôleurs comme « Arduino » qui conviendront parfaitement. Mais le PIC18F est facilement disponible et très puissant comme microcontrôleur, il est permet d'ajouter facilement un peu de logique et d’intelligence pour les projets.
215
C'est une unité de traitement et d’exécution de l'information à laquelle on a ajouté des périphériques internes permettant de réaliser des montages sans nécessiter l’ajout de composants annexes. Un microcontrôleur PIC peut donc fonctionner de façon autonome après programmation.
216
Pour la programmation de ce dernier nous allons coder en C sur le logiciel MPLABX qui est un simulateur fourni par Microchip pour en effet visualiser le résultat de notre code. La programmation de ce PIC se fera in-situ car nous allons connecter notre PIC à un Pickit3? pour effectuer ce debuggage et charger le programme dans le microcontrôleur. 
217
218
p(((((. Liaison SPI : (liaison entre le convertisseur et le PIC18F4550)
219
220
Ce protocole de communication a été défini dans notre cahier de charge par rapport au convertisseur. Le port synchrone SPI (Serial Peripheral Interface) est un port série synchrone. Il permet de communiquer sur 3 fils avec un certain nombre de périphériques. La synchronisation est assurée par le processeur. C'est donc avec le codage de ce protocole que la liaison entre
221
222
Les caractéristiques essentielles sont:
223
• rapidité.
224
• robustesse ( peu sensible aux interférences).
225
• peu de fils ou de traces à router.
226
227
Le mode de fonctionnement SPI que nous avons utilisé est le suivant :
228
• Master mode: Le microcontrôleur contrôle l'horloge
229
230
Les broches du microcontrôleur utilisées sont:
231
• Serial Data Out: SDO/RC5
232
• Serial Data In: SDI/RC4
233
• Serial Clock: SCK/RC3
234
• Une 4ème broche peut être utilisée comme Chip Select en mode Slave:
235
Slave select \SS/RA5.
236
237 8 Anonyme
p(((((. - Etude des registres du convertisseur permettant d'accéder aux données converties
238 7 Anonyme
239
Le convertisseur qui va nous transférer les données est le AD7176 , il respecte le cahier des charges car notre résolution est de 16bits.  
240 1 Anonyme
 
241 8 Anonyme
p=. !https://forge.clermont-universite.fr/attachments/download/16025/AD7176_20160115122803_20160115122828.jpg!
242
243
Nous avons donc dû étudier les registres de cet ADC qu'il fallait initialiser pour permettre une communication avec le microcontrôleur.
244
245
Ces registres sont les suivants :
246
247
Registre de communication : COMMS. Il est en écriture et doit être initialisé à chaque communication.
248
Le bit WEN barre doit être mis à l’état bas pour commencer toute forme de communication. Le bit R/W (0 : en mode écriture, 1 : en mode lecture). La séquence RA détermine quel registre sur lequel on communique avec.
249
250
Status register : registre en mode lecture, il permet de connaître l’état du convertisseur.
251
RDY : bit qui va déterminer s’il y’a une nouvelle donnée disponible et s’il est en attente d’une donnée.
252
CHANNEL : permet de lire sur quelle chaîne de conversion on est exactement.
253
254
ADC MODE REGISTER (ADC MODE) Registre qui contrôle le mode dans lequel on travaille. Il est en mode écriture et lecture. ¨Pour notre convertisseur on est en mode Single Conversion Mode. Le delay est à 0. Le bit SING_CYC doit est mis à 1 parce qu’on utilise qu’une seule chaîne de conversion.
255
256
257
Serial Interface Register : Il permet de configurer les différentes options d’interface.
258
259
260
Data Register : Le registre de donnée contient le résultat de la conversion de l’ADC. 24 bits de données. La lecture du registre de donnée apporte le bit RDY, et la broche à l’état haut si elle était à l’état bas. L’ADC ne pourra pas lire une autre donnée si le registre de donnée est en pleine lecture.
261
262
GPIO Configuration : Ce registre contrôle l'usage général broches Entrée / Sortie de l'ADC.
263
264
p(((. - Communication USB :
265
266
Lorsque les données sont récupérées il faut les envoyer au serveur et pour cela nous avons choisi d’utiliser un mini PC appelé Rasberry Pi qui va contrôler le PIC en tant que maître de ce dernier. Il va lui envoyer des demandes de récupération des données converties.
267
Pour communiquer entre la Raspberry Pi et la carte microcontrôleur qui aura reçu les données converties, nous avons choisi d'utiliser le protocole USB (Universal Serial Bus). Microchip fournit déjà un code de base permettant d'utiliser le protocole USB sur certain microcontrôleur et on a pu trouver celui de notre microcontrôleur : PIC18F4550.
268
269
Ce protocole permet de faire communiquer deux composants à travers 4 fils : VCC, VDD, D+ et D-. Les données transitent en passant par les broches D+ et D-. 
270
271
---
272
273
p=. %{color:red}Serveur Web - Raspberry PI - Arduino%
274
275
---
276
277
p=. %{color:red}Gestion de Projet%
278
279
---
280
281
p=. %{color:red}W.B.S%
282 9 Anonyme
283
p=. !https://forge.clermont-universite.fr/attachments/download/16026/WBS_20160114201926_20160114201955.png!
284
285
p=. %{color:red}Gantt%
286
La présentation du GANTT est séparée en trois partie comme les trois parties du sommaire car il n'était pas lisible autrement.
287
En couleurs se trouve le Gantt prévisionnel et en blanc rayé le Gantt réel.
288
289
Pour la partie analogique, le retard a été pris au niveau de la sous-traitance car le cahier des charges avait mal était conçu à la base. Ce n'est pas évident de constituer un cahier des charges comme le client le pense, et surtout de la faire comprendre à son sous-traitant.
290 10 Anonyme
291
p=. !https://forge.clermont-universite.fr/attachments/download/16027/GanttAnalogique_20160114203252_20160114204357.png!
292
293
Pour la programmation microcontrôleur il y'a eu beaucoup de retard sur la validation du fonctionnement du programme concernant la partie SPI, en effet il y'a eu un gros problème dès le début pour la gestion du temps. Cela nous fait comprendre réellement que suivre les jalons qu'on se fixe n'est pas évident à respecter mais pour cela il faut prendre rapidement des initiatives pour trouver des solutions qui permettrait de ne pas se retrouver à la fin du projet sans un résultat conséquent.
294 11 Anonyme
295
p=. !https://forge.clermont-universite.fr/attachments/download/16028/GanttCommunication_20160114203252_20160114203428.png!
296 12 Anonyme
297
p=. !https://forge.clermont-universite.fr/attachments/download/16029/GanttArduino_20160114203252_20160114203441.png!
298
299
---
300
301
p=. %{color:red}Bilan%
302
303
---
304
305
p=. %{color:red}Etat d'avancement%
306
307
---
308
309
p=. %{color:red}Analyse Critique% 
310
311
---
312
313
p=. %{color:red}Perspectives% 
314
315
---
316
317
p=. %{color:red}Bibliographie%
318
319
---
320
321
p=. %{color:red}Documents% 
322
323
324
Première présentation ge4a : P1.pdf?
325
326
Revue d'appel d'offre ge4a : RAO.pdf?
327
328
Rapport fin ge4a : RapportGe4a.pdf?
329
330
Revue de lancement ge5a : P3.pdf?
331
332
Revue d'avancement ge5a : P4.pdf?
333
334
Revue de Projet ge5a : RP.pdf?
335
336
Soutenance de Projet ge5a : S.pdf?
337
338
Poster Ge5a? : Poster.pdf?
339
340
Archives contenant les codes sources des programmes : code.zip?
341
342
Archives contenant la C.A.O. : cao.zip?
343
344
---
345
346
 *Notes d'application*
347
Le nom du fichier doit contenir votre nom.
348
349
 Implantation du protocole CanOpen? sur Arduino
350
351
note_application_LOUIS.pdf?
352
353
354
355
 Structure d'un programme de transfert USB <-> SPI
356
357
Note d'application de Mme NDOMBI
358
359
360
361
 Chaine de conversion analogique numérique d'instrumentation
362
363
Note d'application de M. PAYEN