P15AB07 Reconstruction d'effort par mesure de déformation¶
Projet GE2-GE3 2013 : Reconstruction d’effort par mesure de déformation
Entreprise / Client : LIRMM/ M. Sébastien DRUON
Auteurs : Lauriane BESSELAS & Badreddine TOUDGHI
Responsable Projet : M.Sébastien LENGAGNE
Tuteur industriel : M.Jean Yves RIGNAULT
1.Résumé, P15AB07 Reconstruction d'effort par mesure de déformation
2.Abstract
3.Introduction,P15AB07 Reconstruction d'effort par mesure de déformation
9.Bilan
10.Conclusion
Résumé
Dans le cadre de la formation d’ingénieur à POLYTECH Clermont-Ferrand, des projets nous ont été proposés par des industriels. Ce travail était l’occasion de mettre en pratique nos connaissances techniques, d’acquérir les méthodes de gestion de projet et d'appréhender de façon plus réaliste le monde du travail.Le projet proposé dans ce cadre est la reconstruction d’effort par mesure de déformation. Le robot sur lequel ce système sera implanté est un robot hexapode prénommé Rhex. Le but de ce projet est de concevoir un système qui permet de remplacer les capteurs d’effort, qui sont incontournables dans le contrôle des robots à pattes par d’autres capteurs. Le client souhaite rendre ce dernier commercialisable et accessible par les scientifiques et les industriels d’un point de vue tarifaire, une fois que les logiciels seront en open source. Ce qui est délicat aujourd’hui vu le prix relativement élevé des capteurs d’efforts. L’objectif, donc du projet est de trouver une solution qui permet la mesure de déformation de la structure mécanique du robot par l’intermédiaire des jauges de contrainte, afin de remonter aux efforts exercés sur les pattes et surtout rendre le robot Rhex le moins onéreux possible.
Mots clés:
Déformation – jauge de contrainte – capteur d’effort – robot – Microcontrôleur.
Abstract
As part of the engineering program at Polytech Clermont-Ferrand, we had to implement a project proposed by industrialists. This allows to set up our technical knowledge and to acquire the methods of project management and to understand more accurately the world of work and the issues of good management in the company. The proposed project in this context is the reconstruction effort by deformation measurement; the purpose is to design a system that can replace force sensors, which are essential in the robots control, robot Rhex for hexapod regarding our problem. The customer wants to make Rhex accessible by scientists and industrial in the future, once the software will be open source, which is difficult today whit the expensive prices of force sensors used at Rhex robot. The objective is therefore to find a solution that enables the measurement of deformation of the mechanical structure of the robot using strain gauges, to go up to the forces exerted on the legs and especially to reduce the price of the robot Rhex.
Key words:
Deformation - strain gauge - force sensor - robot - Microcontroller.
Introduction
Le projet sur lequel nous intervenons est un projet mis en place par M. Druon chercheur au laboratoire LIRMM de Bézier appartenant à l’université II de Montpellier. Son objectif est de créer un robot hexapode prénommé RHEX disponible en open source. Son principal défi est lié à l’aspect financier. Effectivement dans le cadre d’un projet en open source le produit final doit être très peu coûteux. C’est donc dans cette optique que M. Druon acontacté POLYTECH Clermont-Ferrand. Le robot Rhex comporte des capteurs d’efforts très chers et M. Druon souhaite les remplacer par une autre technologie moins couteuse constituée de jauges de contrainte. Au cours de notre formation, nous avons donc eu à charge le projet « reconstruction d’effort par mesure de déformation » dans l’intitulé nous pouvons distinguer clairement deux parties principales qui sont
• Obtenir une image de la déformation
• Reconstruire l’effort
Par conséquent, le projet jusqu’à maintenant a fait l’objet d’une étude de faisabilité sur la première partie donc dans le but de stocker des données sur ordinateur d’une image de la déformation, le but final étant d’obtenir l’effort appliqué sur la patte du robot.
Ainsi, dans un premier temps nous avons étudié les jauges de contrainte qui sont les capteurs imposés par le cahier des charges. À partir de cet instant l’étude de projet réalisé c’est clairement constitué de deux parties, une partie analogique pour récupérer un signal image de la déformation et une partie numérique qui permet de traiter ce signal et de le stocker.Ce rapport s’articulera par conséquent en différentes parties qui sont liées à ces deux aspects.
Premièrement, nous ferons un bref récapitulatif du projet RHEX et nous expliquerons le cahier des charges proposé par M. Druon. Nous expliciterons par la suite les différentes problématiques que nous avons rencontrées au cours de ce projet. Puis nous verrons les différentes solutions techniques mises en place afin de répondre au mieux au cahier des charges. Par la suite, nous intégrerons dans le rapport, le devis réalisé pour M. Druon correspondant à la solution que nous proposons ainsi que la CAO* réalisée. Pour finir, nous verrons le bilan que nous avons tiré de ce projet.
Par conséquent, le projet jusqu’à maintenant a fait l’objet d’une étude de faisabilité sur la première partie donc dans le but de stocker des données sur ordinateur d’une image de la déformation, le but final étant d’obtenir l’effort appliqué sur la patte du robot.
Ainsi, dans un premier temps nous avons étudié les jauges de contrainte qui sont les capteurs imposés par le cahier des charges. À partir de cet instant l’étude de projet réalisé c’est clairement constitué de deux parties, une partie analogique pour récupérer un signal image de la déformation et une partie numérique qui permet de traiter ce signal et de le stocker.Ce rapport s’articulera par conséquent en différentes parties qui sont liées à ces deux aspects.
Premièrement, nous ferons un bref récapitulatif du projet RHEX et nous expliquerons le cahier des charges proposé par M. Druon. Nous expliciterons par la suite les différentes problématiques que nous avons rencontrées au cours de ce projet. Puis nous verrons les différentes solutions techniques mises en place afin de répondre au mieux au cahier des charges. Par la suite, nous intégrerons dans le rapport, le devis réalisé pour M. Druon correspondant à la solution que nous proposons ainsi que la CAO* réalisée. Pour finir, nous verrons le bilan que nous avons tiré de ce projet.
Présentation du Projet
•Généralités sur le sujet.
Ce projet est né de la pensée de Sébastien Druon, chercheur en robotique, enseignant en réseau informatique et membre du LIRMM de l’équipe Explore, laboratoire d'informatique de robotique et de microélectronique. Il a voulu créer Rhex, pour robot hexapode, le porteur à six pattes qui offre deux avantages : il est plus stable et les 60 kg de l'ensemble appuient moins sur ses pieds (cf. figure1). Le but de RHEX est bien d'intervenir en milieu essentiellement urbain pour détecter un danger. Dans un bâtiment délabré, il pourrait fournir un plan précis. Dans un accident, il servirait d'éclaireur avant l'intervention humaine.
Le fonctionnement se fera de deux sortes : soit télé opérée par ordinateur, comme une voiture télécommandée, soit en autonomie. Les informations sont collectées par Wifi. Le robot aura deux yeux télescopiques pour voir en profondeur, un capteur laser et une caméra infrarouge. "Les logiciels sont open source et hardware." Concrètement, ils seront diffusés gratuitement via un site internet dédié. "Chacun pourra ainsi apporter sa pièce à l'édifice", (1). Le robot coûte 100 000 € pour le moment. Une version 2 de RHEX est déjà couchée sur plan, amphibien et adapté au sable, mais avec cette dernière on quadruple les prix.
C’est dans ce thème que notre projet est orienté, le but est de remplacer des capteurs d’efforts qui existent sur les six pattes de robots, qui sont incontournables pour le contrôle des robots à patte et qui sont malheureusement très onéreux aujourd’hui. L’objectif donc du projet est de trouver une solution qui permet la mesure de déformation de la structure mécanique du robot afin de remonter aux efforts exercés sur les pattes et surtout de rendre RHEX commercialisable et accessible par les scientifiques et les industriels d’un point de vue financier, une fois que les logiciels seront en open source et hardware(2).
•Présentation de LIRMM :
Le LIRMM est un laboratoire de recherche dépendant de l’UM2 ainsi que du CNRS. Il se situe sur le Campus Saint-Priest de l’UM2. La population du LIRMM au 30 juin 2013 est de 422 personnes, incluant 204 personnels permanents, 155 doctorants, 46 personnels contractuels, 17 membres associés ou émérites, auxquelles il faut rajouter une soixantaine de stagiaires (Masters 1 et 2). Répartit dans les trois départements de recherche du laboratoire :
-Informatique
-Microélectronique
-Robotique
L'équipe EXPLORE : Robotique mobile pour l'exploration de l'environnement
Créée courant 2012 à la suite de mouvements internes au sein du Département Robotique, l’équipe-projet EXPLORE développe sa recherche en robotique mobile pour les milieux terrestres, marins et aériens (cf. figure 3) . Les thèmes abordés sont le contrôle du mouvement, la perception, la localisation, la cartographie centrés sur des modèles perception/action issus des métiers de l’environnement (3).
Cahier des Charges
Le cahier des charges imposé par le client est de concevoir un système permettant la mesure de déformation de la structure mécanique du robot afin de remonter aux efforts exercés sur les pattes. Mais tout d'abord, une étude de faisabilité a été menée, qui consiste à concevoir un système qui permet de récupérer l’image de la déformation de la structure mécanique de la patte du robot, la stocker dans un fichier texte sur PC, pour ensuite faire l’étude théorique nécessaire et les différentes simulations qui permettent de remonter aux efforts exercés sur la patte du robot.
En commençant l’étude, le projet a vite été découpé en quatre fonctions principales :
• Mesurer 12 déformations avec 12 jauges de contrainte
Dans la première fonction, les problématiques seront axées sur la recherche d’un moyen pour récupérer la variation de la résistance des jauges de contraintes qui se seront collées directement sur la patte du robot, afin de récupérer l’image de déformation de la structure mécanique de ce dernier. Pour le choix du nombre de déformations à mesurer qui est fixé à 12 déformations actuellement, c’est un choix qui a été validé par le client et qui sera développé dans la partie Solution technique. (Voir paragraphe 4)-b) Partie numérique).
• Communication avec un PC et stockage des données
La deuxième fonction principale du projet consisterait à transmettre toutes les valeurs de déformation récupérées entre la patte du robot et la partie logicielle, après avoir effectué le traitement, l’amplification et la conversion analogique/numérique du signal issu de la déformation et ensuite à traiter les valeurs récupérées afin de remonter vers l’effort appliqué sur la patte du robot.
• Reconstruction d’effort appliqué sur la patte du robot
L’objectif de la troisième fonction principale et de pouvoir effectuer la relation entre la déformation des matériaux, la structure mécanique du robot Rhex dans notre cas et l’effort appliquer sur cette dernière.
• Budget minimal (inférieur à 800€)
La quatrième et dernière fonction principale est de réaliser une étude de marché sur différents fournisseurs, pour le choix du matériel nécessaire à la réalisation de la solution proposée, sachant que le principal objectif du cahier des charges est celui d’afficher un tarif inférieur à 800 € le prix actuel des capteurs d’effort utilisé sur le robot Rhex.
Le synoptique ci-dessous (cf. figure 4) regroupe les principales fonctions et réalisations du projet.
Developpement
1)Problématiques
Tout au long de ce projet, certaines problématiques ont vu le jour. En effet, dès le départ la principale question était de savoir ce qu’est une jauge de contrainte. Une fois, renseigné et les premiers tests réalisés avec une jauge de contrainte* quelconque (cf. figure 5), trois problématiques ce sont distinguées clairement :
• Comment récupérer cette variation de résistance avec un signal de bonne qualité ?
• Comment traiter cette valeur analogique renvoyée par la jauge et la stocker de façon numérique ?
• Comment retrouver la valeur de la déformation en fonction des valeurs stockées ?
Par ailleurs dans la suite du dossier ces trois problématiques seront divisées respectivement en trois parties : la partie «analogique », la partie « numérique » et la partie « relation avec la déformation ».
Afin de répondre à ces problématiques, différents problèmes à résoudre ont été listés via une étude théorique préalable et des premiers tests réalisés.
Qu'est-ce qu'une jauge de contrainte ?
Une jauge est un capteur constitué d'un fil conducteur d’environ deux microns collé sur un support (cf. figure 6). Les brins de fil constituant la jauge sont alignés suivant la direction de la mesure.
Sachant que la résistance d’un fil conducteur dépend de sa longueur d’après la loi Pouillet (la variation de section est négligeable dans cette application) et que le fil subit les mêmes déformations que la surface sur laquelle la jauge est collée, ainsi nous pouvons en déduire la relation suivante :
∆R/R = k * ∆L/L avec k : facteur de jauge
En résumé, la valeur de la résistance varie linéairement en fonction de la déformation du matériau (cf. figure 7).
Il existe différentes sortes de jauge, notamment les jauges de type « rosette* » qui permettent d’avoir différentes mesures selon différents axes tels que :
• Rosette 0°/90° : deux jauges sont collés sur un même support
• Rosette 0°/45°/90° : trois jauges sont collées sur un même support (cf. figure 8)
Les différentes grilles de mesure (les fils conducteurs) sont indépendant électriquement, ainsi pour la suite du projet l’utilisation de telles jauges seront nécessaire afin d’obtenir la valeur et la direction de la force exercée sur la patte du robot.
2)Problèmes à résoudre
a) Partie analogique
• Le pont de Wheatstone :
Le pont de Wheatstone est le premier étage de la solution technique que nous proposons. Un pont de Wheatstone est habituellement constitué de 4 résistances (cf. figure 9), avec comme relation :
Afin de récupérer la variation de tension en fonction de la variation de la résistance (ici la jauge), il est nécessaire de constituer le pont de la façon suivante : deux résistances fixes, une grille de mesure d’une jauge de contrainte et une résistance variable permettant d’équilibrer le pont (il faut régler la tension de sortie à zéro lorsque la jauge est au repos).
Sachant que la résistance de la jauge au repos est de 120Ω, il est judicieux de choisir une valeur de 120Ω également pour les résistances fixes afin d’équilibrer le pont le plus simplement possible. Ainsi, la formule précédemment citée sera de la forme :
Une fois cet étage validé, la sortie se comporte comme souhaité c’est-à-dire : un seul potentiel de tension (Vout) varie entre +/-2 V. Il reste cependant une étape essentielle avant de pouvoir convertir cette tension en une valeur numérique.
• Adaptation à l’entrée du CAN :
Comme cité précédemment, une étape est encore nécessaire avant de faire la conversion via le module CAN du microprocesseur. En effet, ce module peut convertir des valeurs entre 0 et 5V ainsi il faut ramener la tension actuellement entre +/-2V à une tension variant entre 0.5 et 4.5V.
Ainsi, un offset* a été réalisé en déséquilibrant le pont (il faut régler la tension de sortie Vout à 2.5V lorsque la jauge est au repos). Cette solution proposée est provisoire, car non optimale (cf.III.7).
b) Partie numérique
• Introduction à la partie numérique :
Après l’amplification et l’adaptation du signal reçus des jauges de contraintes, il est nécessaire de générer du code pour obtenir la conversion de notre signal analogique en numérique pour l’envoie et le stockage des valeurs de déformation sur le PC.
CAN = Convertisseur Analogique Numérique (en anglais : ADC = Analog to Digital Convertor), est une phase primordiale dans notre solution. C’est un système qui fait une correspondance entre une tension analogique et une valeur numérique ou un nombre binaire (11).
Pourquoi le microcontrôleur PIC série 18F4550 ?
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. Les microcontrôleurs PIC séries 18fxxxx ont l'avantage de posséder un module ADC (Analog to Digital Convertor) interne et d’autre caractéristique intéressante pour la solution envisagée :
plusieurs entrées analogiques 13 entrées pour la série « 18f4550 » choisit pour la solution proposée.
Le convertisseur est à approximation successive.
Résolution de 10 bits avec une précision est de ± 1 LSB.
La référence de tension peut être interne (égale à VCC) ou externe.
Le temps de conversion est de l’ordre de 40us.
Pour le choix du pic 18F4550, il dispose d’un CAN 10 bits avec une précision en 5V de 5 mV environ, ce qui est tout à fait intéressant. Il dispose aussi de 12 entrées analogiques ce qui permet la conversion des 12 mesures de déformation délivrées par les jauges de contrainte. Cette solution était validée par notre client.
D'autre part, une carte de synthèse disponible au sien du département et qui intègre un « pic 18F4550 » a été aussi un facteur pour ce choix (cf. figure 12), afin d’avancer sur l’étude de la faisabilité de la solution proposée pour notre problématique, vu que le projet est un projet court et qu’une solution doit être présentée au client à la fin de l’année.
• Conversion analogique numérique :
Le principe de la conversion analogique numérique nécessite deux opérations :
La quantification :
Opération qui consiste à associer une valeur analogique à la plus petite variation mesurable entre deux valeurs codées distinctes en sortie. Cette valeur est appelée quantum :
Le codage:
Opération qui assigne une valeur numérique à chacun de ces niveaux. Les codages les plus couramment utilisés sont :
Le binaire naturel, pour les nombres non signés.
Le complément à 2 pour les nombres signés.
Le code binaire signé.
Dans notre cas c’est un binaire naturel, pour les nombres nos signés vu notre signal analogique d’entrés a été adapter et amplifier pour qu’il soit toujours compris entre (0v-5v).
• Étape de conversion d’un signal
Les principaux registres relatifs au module CAN sont ADCON0, ADCON1, ADCON1, ADRESH, ADRESL :
1. Configuration de CAN
•Configuration des pins analogique et Vref ADCON1
•Choix de la division pour l’horloge et justification du résultat ADCON1
•Sélection de l’entrée à convertir ADCON0
•Choix de la division pour l’horloge ADCON0
•Mise en service du CAN ADCON0
•Mise en entrée des pins analogiques TRISx
2. Attente du temps d’acquisition
•En fonction de la resistance de la source
3. Lancement de la conversion
•Go/Done = 1 ADCON0
4. Attendre la fin de la conversion
•Attendre que Go/Done repasse à 0 ADCON0
5. Lecture du résultat
•ADRESH pour 8 bits ou ADRES pour 10 bits ADRESH ou ADRES = ADRESH + ADRESL
Les étapes à mettre en œuvre pour la programmation du CAN, est possible de les résumer en deux organigramme, phase initialisation et phase utilisation.
• Réglage du temps de conversion du module CAN PIC18F4550
Le convertisseur charge pendant un temps Tacq un condensateur (Chold) qui sert de mémoire de la tension à convertir. Ce temps est calculé exprimé en nombre de Tad. À l’issu du temps d’acquisition, le convertisseur déconnecte la capacité de la broche d’entrée (Sampling Switch) et convertit la valeur de la tension mémorisée, par approximations successives. Il met 11 temps Tad pour effectuer cette conversion. Tad (Time analogique/digital conversion) est exprimé en nombre de Tosc (période d’oscillation de l’horloge du PIC) (12).
Les bits « ADCS2-ADCS0 » du registre ADCON2 permettent de fixer Tad en fonction de Fosc(fréquence d’oscillation) pour atteindre au minimum 0,8µsvu que notre Fos de la carte microcontrôleur utilisé est de 20Mhz.
Fosc = 20 MHz =>Tosc = 50ns => il faudra 16 Tosc pour atteindre 0,8μs min. On fixera dans ce cas « ADCS2-ADCS0 » du registre ADCON2 à ‘101’, ce qui donnera Tad=0,8μs.
Les bits « ACQT2-ACQT0 » du registre ADCON2 permettent de fixer Tacq( temps d’acquisition en fonction de Tad pour obtenir au minimum 2,45µs
Tad = 0,8μs => il faudra au minimum 4 Tad pour atteindre 2,45μs min. on fixera dans ce cas « ACQT2-ACQT0 » à ‘010’ 4 Tad, ce qui donnera Tacq=3,2μs.
• Mesure d’une tension connecte sur une entrée analogique
Le résultat est sur 10 bits => 0 représente la référence basse et 1024 la référence haute. Si ces tensions de référence sont de 0V et 5V, 0 représente 0V et 1024 représente 5V.
Pour calculer la tension à partir du résultat de la conversion, on utilise la formule suivante :
• Programmation du CAN PIC18F4550
Le langage utilisé pour programmer le PIC choisit pour notre solution sera le langage matériel C, avec le compilateur C18 de Microchip©*. Pour coder un PIC18F4550, il est nécessaire d’avoir un IDE (environnement de développement intégré) qui prend en charge le microcontrôleur respectif et aussi un compilateur qui peut compiler le code écrit sur l’IDE.
MPLAB X IDE est en fait l'environnement de développement qui nous servira à développer le programme, et C18 est le compilateur que nous allons intégrer à cet environnement. MPLAB XIDE est un environnement un peu limité dans sa gestion de projets, mais il est très complet par ailleurs. Il est par exemple possible d'utiliser le débuggeur/simulateur MPLAB SIM qui est très utile pour exécuter pas à pas son programme.
Le compilateur C18 propose plusieurs fonctions pratiques de haut niveau disponible sur des librairies comme le montre le tableau ci-dessous, qui permet l’initialisation, la configuration et l’utilisation du convertisseur analogique numérique sur notre PIC de façons plus rapide.
La librairie propose plusieurs paramétrages, pour effectuer la conversion désirée, comme :
– La Configuration des entrées
– Le temps d’acquisition fixe
– La Référence en tension haute (+5 v)
– La référence de tension basse (masse 0v)
– Le stockage du résultat
– L’utilisation ou non des interruptions
Par exemple, les fonctions utilisées pour la configuration du module CAN sont les suivants :
-Initialiser le convertisseur : OpenADC?( ADC_FOSC_8 &ADC_RIGHT_JUST &ADC_4_TAD , ADC_CH0 &ADC_INT_OFF&ADC_VREFPLUS_VDD &ADC_VREFMINUS_VSS, 14 )
-Changer de voie : SetChanADC?(ADC_CH1) ;
-Lancer la conversion : ConvertADC?() ;
-Attendre la fin de conversion : while(BusyADC?()) ;
-Lire la valeur : Variable=ReadADC?() ;
Voir ci-dessous des extraits du programme principal réalisé pour effectuer la conversion analogique numérique sur le PIC18F4550.
• Stockage des données:
Le but de cette phase est de stocker les valeurs de déformation sur le PC, afin de faire l’étude théorique nécessaire pour remonter à l’effort exercé sur les pattes des robots.
Le microcontrôleur PIC18F4550 de Microchip© choisit pour la solution à notre problématique intègre la norme USB qui permet de faire ceci. Mais pour communiquer entre un PC et le microcontrôleur PIC, il y a fondamentalement deux façons différentes d’envoyer des données : par le biais d’un PORT SERIE ou par le biais d’un port USB. BUS* Série et USB ont à la fois des avantages et des inconvénients qui vont être développés ci-dessous :
Bus série :
Les Avantages:
Très facile à utiliser à partir d'un point de vue logiciel
Plus largement utilisée que l'USB pour les projets de bricolage
Les inconvénients:
Les nouveaux ordinateurs ne disposent pas de ports série
Un adaptateur USB-série doit être utilisé.
Un décalage de niveau MAX232 doit être utilisé pour convertir les signaux de 0V à travers 5V (microcontrôleur) à 12V -12V par (PC).
Bus USB :
Les Avantages:
Tous les ordinateurs ont plusieurs ports USB, de sorte USB est beaucoup plus pratique pour les utilisateurs.
Des vitesses de transfert de données peuvent être beaucoup plus élevées.
Série est de plus en plus obsolète que le temps passe, mais USB continue à être développé.
Les inconvénients:
Beaucoup plus difficile à utiliser que série d'un point de vue logiciel
Une pile USB doit être utilisée sur le microcontrôleur, et cela est très compliqué si en cours d'écriture à partir de zéro.
Le fonctionnement de l’USB ou plutôt les divers modes de communication proposés sont :
Communication CDC (convertisseur USB-série) :
Le mode CDC sert à émuler un port série donc l’ordinateur voit le périphérique comme un port série et le dialogue se réalise comme tel avec les mêmes bibliothèques qu’un port série.
Communication HID (human interface device):
Le mode HID est utilisé pour les souris, claviers et autres périphériques basse vitesse à transferts de données faibles.
L’USB fonctionne le mieux pour la solution choisie pour projet. Comme mentionné avant, le bus série est beaucoup plus facile à utiliser d'un point de vue logiciel, mais nécessite du matériel supplémentaire (le décalage de niveau et adaptateur USB vers série). USB est beaucoup plus pratique à utiliser, mais le logiciel est extrêmement difficile d'écrire à partir de zéro. Il existe heureusement plusieurs piles USB disponibles pour les microcontrôleurs PIC18. Une de ces piles USB est le Cadre USB de Microchip© pour PIC18, PIC24 et PIC32 microcontrôleurs(11).
Il est également intéressant de noter que, bien que le logiciel de microcontrôleur est beaucoup plus complexe lorsqu’USB est utilisé, l’utilisons la classe de périphériques USB de communication (USB CDC), le PC va interagir avec le microcontrôleur comme si elle était connectée sur un port série. Cela signifie que nous ne disposons pas d'écrire un pilote pour notre dispositif, ou apprendre à communiquer avec un périphérique USB de l'ordinateur ; tout ce que nous avons à faire est de lire et écrire des données sur le port COM* virtuel.
Les librairies fournies par Microchip© ont rendu l'utilisation de l'USB assez simple. Le microcontrôleur n'utilise que les primitives suivantes :
•boolmUSBUSARTIsTxTrfReady(void) : Renvoi 1 si le bus est libre, 0 sinon. Utile, car avant chaque envoi de données, il faut vérifier que le bus est bien libre.
•boolmUSBUSARTTxRam(byte* buffer, int longueur) : Prépare le buffer* de données à être envoyé. Le buffer ne doit pas faire plus de 128 octets.
•CDCTxService() : Effectue les tâches de communication (envoie notamment les buffers préparés par la fonction précédente).
•GetsUSBUSART? (char* buffer, int longueur) : Lis les données envoyées par l'ordinateur et les places dans un buffer.
PutsUSBUSART? (char *data) : envoie une chaine de caractère qui correspond à notre valeur de déformation.
Voir ci-dessous des extraits du programme principal réalisé pour la communication PIC18F4550-PC qui permet l’envoi la tension, qui représente l’image de la déformation :
• Interface graphique :
Maintenant que les données des images de déformations sont reçues sur l’ordinateur, il faut restituer les informations et les stocker afin de faire le traitement derrière. Pour cela, il a été choisi pour développer une interface graphique sous PYTHON qui permet le stockage (Cf. figure20) et l’affichage des données qui représentent l’image de déformation en temps réel.
Python est un langage de programmation objet multiplateformes. Il favorise la programmation impérative structurée, fonctionnelle et orientée objet.
Dans cette partie, il sera possible de configurer la connexion au module USB. Le logiciel Python dispose de plusieurs librairies comme « serial » qui permet de lire les données reçus sur le port série, on indiquant juste le nom du port COM* auquel est rattaché le module USB. C’est aussi là qu’il faut spécifier la vitesse de transmission de 9600 bauds* (cf. figure 21)
Python dispose aussi de plusieurs bibliothèques qui peuvent ainsi être installées pour développer des interfaces graphiques. Comme « Drawnow » et « Matplotlib » qui offrent la possibilité de faire des simulations des résultats reçus en temps réel (cf. figure 22).
D'ailleurs, un essai a été effectué avec notre référent GE M. Sébastien Lengagne, pour simuler les déformations sur la barre en aluminium sur laquelle l’étude de faisabilité se fait, après avoir récupéré les valeurs des images de déformations sur le PC. On voit bien la déformation lorsqu'on applique une force au bout de notre barre d'aluminium dans un sens ou dans le sens opposé. On a aussi essayé de faire des vibrations sur la barre, pour savoir si est possible de capter ces derniers et cet essai est concluant (cf. figure23).
p(( C) Relation avec la déformation
On a pu voir que les matériaux se déforment lorsqu'ils sont soumis aux efforts, la loi de Hooke permet de mettre en relation la déformation longitudinale et la contrainte ce que l’on recherche dans notre cas pour retrouver l’effort. En effet, la contrainte est en réalité l'effort subi en interne par le matériau, mais ramené à l'unité de surface pour pouvoir généraliser. Au cours de ce calcul, la variation de la section de la barre est négligée.
Loi de Hooke :
σ = E ε
avec
σ : la déformation en N/m²
E : module de Young (raideur du matériau)
ε : déformation longitudinale
Pour l’aluminium le module de Young est de 58 000 000 000 N/m² soit 58 GPa.
D'autre part, on sait que la relation entre la déformation longitudinale de la jauge et sa valeur de résistance est :
∆R/R= k * ∆L/L avec k : facteur de jauge (2.045 pour nos tests)
Ainsi la relation est : σ = E/k * ∆R/R
Calculs numérique :
σ = 236 * 106* ∆R en comprenant le facteur de jauge, module de Young et R au repos
Relation avec le pont de Wheatstone et l’amplification après calcul:
σ =236 * 106*((0.41V+4,8)/(0,04-V/290)-120) avec V le potentiel stocké en volt
Cette relation met donc en évidence la contrainte de la barre en fonction du potentiel V que l’on enregistre. Cependant, cette étude est seulement théorique. En effet par faute de temps nous ne l’avons pas intégrer dans le programme ainsi dans nos essais pré-qualificatifs seule la variation de tension est stockée et affichée et non la valeur de l’effort en interne de la barre.
4) Devis fournisseur
Après avoir réalisé une étude de marché sur différents fournisseurs, le choix en ce qui concerne les jauges de contrainte est d’utiliser des rosettes 0/90° pour avoir la mesure sur deux axes distinctement. Le nombre de fournisseurs est très restreint et HBM est celui qui pratique les tarifs les plus intéressants. (13)
Ainsi, nous leur avons demandé de réaliser un devis (les tarifs du devis sont ceux du tableau 2. Il est important de souligner que le principal objectif du cahier des charges c’est-à-dire celui d’afficher un tarif inférieur à 800 € a été respecté puisque l’économie est presque de 65% par rapport au budget initial. Satisfait de ce présent devis, M. Druon l’a accepté pour la continuité du projet(cf. tableau 2)
5) CAO réalisée
p((. a) Partie analogique
Cette carte sera connectée à une rosette (c’est-à-dire deux grilles de mesure), on peut donc voir qu’elle est constituée de deux ponts de Wheatstone et de deux amplificateurs.
p(( Elle sera donc fixée sur la patte du robot au plus proche des jauges, la taille de la carte sera donc une contrainte à respecter.
Le schéma de la carte réalisé via le logiciel Proteus* est présent ci-dessous (cf. figure 24)
Les jauges devront être reliées au connecteur J1 et J2 et les tensions de sortie respectives seront extraites des ports 5 et 4 du connecteur J3.Ces tensions de sortie devront être reliées à la carte comportant le microprocesseur ainsi que la masse.
Les composants utilisés pour le PCB suivant (cf. figure 25) sont :
- Résistances CMS de type 1206
- Amplificateur : TL084
- Potentiomètre : PV32H 201A01
Ce premier PCB est réalisé sur une surface de 4.5*4.5 cm.
b)Partie numérique
Pour la partie numérique le schéma la carte réalisé via le logiciel Proteus été déjà disponible vu qu’on utiliser la carte synthèse disponible au département, le but donc été de réduire la taille de cette dernière et d’ajouter les entrées sur lesquelles les cartes de jauge de contrainte peuvent être connecté (cf. figure26).
Perspectives
Les principales perspectives envisageables afin d’améliorer la solution étudiée sont listées ci-dessous :
Réaliser un sommateur pour créer l’offset et automatiser l’équilibrage du pont
En effet l’obtention de la tension initiale délivrée par notre pont de jauges qui est égales à 2,5 V se fait par un déséquilibre manuel de notre pont de jauge. Le but donc est d’équilibré le pont automatiquement à 0 V puis d’utiliser un sommateur* qui permettra de créer un offset afin d’assurer la variation de notre de tension du signal image de déformation de 0V-5V avec une tension initiale égale à 2, 5V.
Créer des identifiants pour chaque capteur
Le but de cette amélioration est d’identifier chaque jauge de contrainte collée sur le bras robotique, par l’intermédiaire des « Dip switch » (cf. figure27). afin de choisir
les jauges qu’on veut lire et de savoir chaque valeur d’image de déformation correspond à une telle jauge de contraintes
Protocole de communication entre les différentes cartes "capteurs" (exemple: I2C)
Le but de cette amélioration, premièrement est la réduction du nombre de fils utiliser pour la solution proposée qui permet de remplacer les capteurs d’efforts, afin d’éviter les problèmes de compatibilité électromagnétique, vu que bras robotique dispose de plusieurs moteurs qui assurent les articulations (cf. figure 28), ce qui risque de perturber les signaux transmis par les fils et donc d’obtenir des résultats erroné.
L’objectif donc de cette amélioration est de bien sûr réduire le nombre de fils, tout en prévoyant le blindage et la protection des fils contre les perturbations électromagnétiques générées par l’induit* des moteurs.
D'ailleurs, une amélioration a été développée pour réduire le nombre de fils et pour l’identification de chaque patte du robot et aussi chaque jauge de contrainte sur cette dernière. L’amélioration consiste a créé cette fois-ci deux carte électronique, une carte mère qui va communiquer avec plusieurs cartes esclaves (slave) qui permettront d’identifier chaque jauge de contrainte. Pour la communication entre les deux cartes le plus simples, c’est le BUS I2C (Inter Integrated Circuit), ce dernier permet de faire communiquer entre eux des composants électroniques très divers grâce à seulement trois fils : un signal de données (SDA), un signal d'horloge (SCL) et un signal de référence électrique (masse).Ce qui offre la possibilité de réaliser des équipements ayant des fonctionnalités très puissantes (en apportant toute la puissance des systèmes micro-programmés) tout en conservant un circuit imprimé très simple, ci-dessous un schéma synoptique qui résume la solution envisageable (cf. figure 29).
Gestion de Projet
L’organisation temporelle de ce projet s’est axée suivant un semestre vu qu’on est dans le cadre d’un projet court. Cette année le temps consacré au projet est de 48 h et est dans un premier temps plutôt consacré à la gestion du projet. C’est-à-dire la compréhension du cahier des charges, la solution théorique aux diverses problématiques posées par ce dernier. Néanmoins, ces 48 h ont été à la fois consacrées à l’étude de faisabilité et à la réalisation de la solution retenue pour répondre à la problématique. Pour la gestion du projet et l’organisation temporelle, le travail a été réparti en plusieurs tâches comme la montre le Gantt*. Dans un premier temps, certaines tâches ont été menées en mêmes temps, qui constituent une phase d’initialisation à la problématique du projet et l’étude de la faisabilité de la solution proposée, ainsi le fonctionnement et le choix du matériel nécessaires. Mais afin de respecter la répartition temporelle imposée par le cahier de charge et assurer l’avancement du projet, il été nécessaire de menés des tâches en parallèle, ces derniers qui se présentaient sous deux thèmes différents :
Premièrement : les tâches qui traitent les problématiques de la partie analogique, qui assure la mesure de la variation de la résistance de la jauge de contrainte sur la barre d’aluminium, le traitement de signal mesuré qui représente l’image de la déformation et l’amplification de ce dernier, ainsi que la réalisation de la carte CAO* de cette partie.
Deuxièmement : les tâches qui traitent la partie numérique, qui assure la conversion analogique numérique de notre signal, l’étude et la programmation du protocole de communication avec le PC, le stockage des valeurs de déformation sur ce dernier et la réalisation de la carte CAO de cette partie aussi. Finalement, une semaine a été consacrée à la phase des tests et vérifications des montages réalisées.
Conclusion
Pour résumer le projet, nous devions réaliser une étude pour récupérer en sortie de système les valeurs de la déformation de la structure de RHEX avec des jauges de contraintes pour ensuite reconstruire l’effort à partir de cette déformation.
Avec le consentement du client, dans le cadre de notre projet court, nous nous sommes occupés uniquement de la première partie c’est-à-dire celle qui génère la valeur de la déformation. La reconstruction de l’effort devra être réalisée afin d’arriver au souhait initial du client.
Pour conclure sur nos résultats, nous avons réalisé l’étude de faisabilité en créant un système capable de récupérer les valeurs en fonction de la déformation de la structure en aluminium du robot. Cependant, nous n’avons pas eu le temps d’implanter la relation entre cette image et la véritable valeur de la déformation de la structure. Cette étude est simplement réalisée d’un point de vue théorique. De plus, il restera une étape afin de récupérer l’effort exercé sur la patte et celle-ci peut être réalisée avec un étalonnage expérimental. Une fois ces différentes étapes passées, le robot Rhex pourra être équipé avec ce système.
Le principal objectif c’est-à-dire celui du prix a été contenté puisque la réduction du prix est de plus de 50%.D’autre part par le biais de ces capteurs d’autres mesures peuvent être récupérées en plus de l’effort comme le couple par exemple.
Références bibliographiques et internet
(1) ASCH Georges et collaborateurs. Les capteurs en instrumentation industrielle.Dunod (3ème édition)
(2) Midi Libre :
http://www.midilibre.fr/2013/11/28/rhex-le-robot-a-six-pattes-cree-a-beziers,789757.php (consulté le 03/02/15)
(3) LIRMM :
http://www.lirmm.fr/le-lirmm/presentation (consulté le 03/02/15)
(4) CPGE Lycée J.Garnier 2011 : http://stephane.genouel.free.fr/FT/0%20Dossier%20technique/1%20Texte/Scenari%20capteurs/co/module_DT_18.html (consulté le 11/02/15)
(5) CNES et ANSTJ :
http://www.planetesciences.org/espace/publications/techniques/jauges_deformation.pdf (consulté le 11/02/15)
(6) Georges Evesque:
http://pesage.biz/le-pesage-et-ses-techniques/capteurs-de-pesage-a-jauges-de-contrainte-load-cell/(consult�� le 24/03/15)
(7) Université Lyon 1 :
http://nte-serveur.univ-lyon1.fr/mesure_physique/tp/textesPDF/PW1.pdf (consulté le 07/04/15)
(8) Université du Mans :
http://res-nlp.univ-lemans.fr/NLP_C_M15_G03/co/Contenu_65.html (consulté le 7/04/15
(9) ruedessapins :http://ruedessapins.free.fr/index.php?option=com_content&view=article&id=99&Itemid=92&limitstart=1 (consulté le 24/04/15)
(10) Wikibooks :http://fr.wikibooks.org/wiki/Caract%C3%A9ristiques_physiques_des_alliages_d%27aluminium (mis à jour le 22 juin 2014)
(11) http://www.sonelec-musique.com/logiciels_pic_bases_mp_can.html(consult�� le 18/04/15)mis à jour le15janvier 2010
(12) http://bravo.univtln.fr/pic/Cours%20de%20PIC%20convertisseur%20AN.pdf(consult�� le 22/03/15)
(13) HBM : https://b2bstore.hbm.com/myHBM/app/displayApp/(xcm=hbm_b2boccasionalcrm&cpgsize=0&layout=7.0-15_140_6_9_67_33_62_69_119&uiarea=6&carea=679B0B4E540ACD18E1000000AC109934&cpgnum=1)/.do?rf=y# (consulté le 24/03/15)
(14) MurataManufacturing? Co. :
http://pdf1.alldatasheet.fr/datasheet-pdf/view/518493/MURATA/PV32H201A01.html (consulté le 28/04/15)
Note d'application
Mis à jour par Anonyme il y a environ 4 ans · 43 révisions