Download - MOTORISATION, PILOTAGE, INSTRUMENTATION D’UN …

Transcript
2P14Rapp_fauteuil.pdfMOTORISATION, PILOTAGE, INSTRUMENTATION
Remerciements
Le projet présenté dans ce compte rendu, s'est déroulé dans le cadre d'une Licence
professionnelle, au sein de l’Institut de Belfort-Montbéliard.
Tout d'abord, nous tenons à remercier Mr Patrick HIEBEL, tuteur de notre projet, qui nous a
encadrés et suivi tout au long de notre projet.
Nous tenons également à remercier toute l’équipe pédagogique pour l’aide quelle nous a
apportée tout au long de l’année, à travers les cours et les travaux pratiques.
Page 1
3. Synoptique………………………………………………………………………………………………………………………..5
1) Le PIC…………………………………………………………………………………………………………………..……6
2) Le joystick…………………………………………………………………………………………………………….…7-8
4) La carte interface.……………………………………………………………………………………………………11
5) Les modules MD03……………………………………………………………………………………………..12-13
6) Les motoréducteurs.……………………………………………………………………………………………14-15
8) La carte de commande.……………………………………………………………………………………….17-18
5. Le protocole I²C………………………………………………………………………………………………………….19-20
6. Les tests et essais.……………………………………………………………………………………………………………21
7. Conclusions………………………………………………………………………………………………………………….....22
8. Annexe……………………………………………………………………………………………………………………….23-35
Page 2
1. Introduction :
Le projet tutoré a pour but de mettre en application nos connaissances acquises tout au long
de l’année, ainsi que notre esprit d’initiative pour répondre à un cahier des charges.
Le but de notre projet est de créer des nouvelles lois de commandes qui vont permettre de
commander le fauteuil électrique à l’aide d’un joystick et de faire une visualisation au niveau
de la vitesse grâce à des capteurs inductifs.
Un fauteuil électrique permet aux personnes à mobilité réduite de se déplacer avec facilité. Il
répond aux besoins, qui, malgré leur mobilité limitée, désirent se déplacer librement.
2. Situation initiale :
- Fauteuil complet.
- 2 batteries 12V (24V au total).
- 2 commandes de puissance pour moteurs à courant continu (module MD03).
- 2 motoréducteurs 24V DC associés à chaque roue arrière.
- 1 Capteur inductif (mesure de vitesse).
- Joystick inductif.
- Carte de puissance.
- Carte de commande.
4. Synoptique :
L’utilisateur agit sur le joystick d’où, le PIC reçoit l’information du joystick et qui ordonne aux
modules MD03 de se mettre en fonctionnement. Ces modules vont pouvoir faire fonctionner
les moteurs droite et gauche, ce qui va entrainer les deux roues et enfin le fauteuil va se
mettre en mouvement. En raison d’un manque de place sur la carte de commande existante,
nous avons créé une carte interface qui est connecté au PIC où, nous avons placé quelques
options pour le fauteuil comme la mesure de vitesse grâce à des capteurs inductifs et la mise
en place de 3 modes de marche grâce a des boutons.
Page 5
Carte interface
5. Les différents organes :
1) Le PIC 16F887A :
Nous avons disposé d’un PIC 16F877A, dont voici le schéma. Ce modèle est suffisant car nous
avons utilisé 5 entrées d’interruption (en vert) pour les deux capteurs inductifs mais aussi
pour les 3 boutons qui va permettre de modifier la vitesse de fauteuil et de réinitialiser la
vitesse du fauteuil. Nous avons utilisé également les entrées analogiques (en rouge) afin de
permettre la communication du joystick avec le PIC. Pour moduler la tension d’alimentation
des freins, nous avons utilisé la sortie correspondant à la PWM (en bleu). La programmation
du PIC se fait par une liaison RS232 (en jaune). Enfin la communication à l’aide du bus I²C
utilise les pins C6 et C7 (en violet).
Page 6
Capteur gauche
Bouton rapide-lent
Bouton lent-rapide
Capteur droit
Bouton reset
2) Le joystick :
Le joystick permet de diriger le fauteuil électrique dans le sens où l’utilisateur l’incline. Il est
composé de 5 bobines qui lui fournissent la tension induite.
Lorsque l’on incline le joystick dans une certaine position, la tension induite qui est donnée
par chaque bobine change en fonction de cette inclinaison. Ceci est dû à la présence d’une
cinquième bobine placée au centre du joystick.
Variation de la tension : 0,4V à 4,7V.
Une fois la conversion Analogique-Numérique effectuée, nous obtenons une valeur entre 22
et 239.
Page 7
Loi de commande pour effectuer une rotation sur place :
Afin de faire une rotation avec le fauteuil vers la droite ou vers la gauche, nous avons mis en
place, une loi de commande qui va le faire tourner sur place. Mais avant cela, nous avons
mis, 3 modes de marche pour la vitesse du fauteuil (mode lent à rapide et rapide à lent et un
mode reset). Cette loi fonctionne sous la manière suivante : lorsque l’utilisateur inclinera le
joystick vers la droite en mode bas vitesse par exemple, la roue droite tournera dans un sens
et l’autre dans le sens inverse. Pour le mode haut vitesse, nous avons préférer de faire
tourner le fauteuil avec une seule roue, c’est-a dire que par exemple pour tourner a gauche,
c’est la roue de droite qui va tourner tandis que la roue de gauche va rester fixe.
Voici les différentes actions du joystick et la vitesse des roues en fonction de l’inclinaison :
Point neutre
Marche avant
Marche arrière
Rotation droite
Rotation gauche
3) Les capteurs de vitesse :
La loi de commande dépend de la vitesse du fauteuil. Pour connaître cette vitesse, nous
avons dû mettre en place deux capteurs inductifs à 4 fils afin de mesurer la vitesse sur
chaque roue.
Ces capteurs sont placés derrière chaque roue comme sur l’image ci-dessous.
Nous avons également placé 5 pièces métalliques sur chaque rayon des roues.
Fonctionnement : Le capteur réagit lorsqu’une pièce métallique se présente devant lui d’où
on obtient un front montant à chaque passage.
Le choix du capteur inductif est dû à sa facilité de mise place. Le seul inconvénient est que
nous avons une perte de précision à faible vitesse.
Pièce métallique
Capteur inductif
Page 9
Comme dans l’image précédente, on observe à la sortie des capteurs une tension de 11,8V
soit 12V. Or les entrées RB4 et RB7 du PIC ne supporte seulement 5V, donc il a fallu mettre
en place un pont diviseur sur une carte différente pour adapter ces deux capteurs.
Schéma de câblage des capteurs avec le pont diviseur avec un circuit LED (fil blanc) :
: (ici on ne prend pas en
compte les résistances du circuit LED)
= 12 × 1,8
(2,7 × 1,8) = 4,44
Avec le pont diviseur, nous avons réussi à faire diminuer la tension de sortie des capteurs de
12V à 4,44V, on peut donc adapter les capteurs sur les entrées RB4 et RB7 du PIC.
Mesure de la vitesse :
Lors de chaque passage de pièces métallique devant le capteur, le signal de sortie est envoyé
sur les entrées d’interruptions RB4 et RB7. Avec la courbe, que l’on a obtenue grâce à
l’oscilloscope, on compte le nombre de front montant pendant une seconde, on convertit et
on obtient la vitesse km/h d’où le calcul suivant :
nous avons 5 rayons dans une roue, r= 0,188m et enfin multiplier par 3,6 pour la conversion
en km/h donc :
1000 = × 0,188 × 3,6
La visualisation de la vitesse se fait sur le logiciel Tiny Bootloader.
= 12 × 1,8
Page 10
4) La carte interface :
En raison d’un manque de place sur la carte de commande existante, il était important pour
nous, de concevoir une nouvelle carte interface où nous avons décidé de placer nos deux
capteurs avec les ponts diviseur et les trois boutons pour modifier la vitesse du fauteuil.
Pour cela, nous avons utilisé le logiciel PROTEUS. Une première modélisation sous ISIS était
indispensable. Il se présentait sous forme de schéma. Enfin, grâce à cette modélisation sous
ISIS, nous avons pu faire une seconde modélisation, cette fois-ci sous ARES, sous la forme
d’un circuit imprimé.
RB5 : Lent-rapide
RB6 : Rapide-lent
5) Les modules MD03 :
Le module MD03 est une commande de puissance pour moteurs à courant continu.
La puissance du moteur est contrôlée par une régulation PWM du pont en H. Ces deux
modules permettent de faire une variation de vitesse des deux moteurs.
Nous disposons de deux modules MD03 de même caractéristique.
Caractéristiques des modules :
Les modes de commandes :
PWM.
Afin de commander nos 2 modules, notre choix s’est porté sur le mode de communication
I²C puisqu’il permet de commander jusqu'à 8 modules avec seulement 4 fils. (SDA, SCL, alim
et masse) La raison de notre choix est expliquée dans le chapitre protocole I²C.
Nous devons définir à chaque module, son adresse. Etant donné que nous avons deux
modules, nous devons configurer deux adresses différentes.
La configuration des adresses se fait par l’intermédiaire des interrupteurs située derrière le
module. (Voir image ci-dessus)
Modification du sens, de la vitesse et de l’accélération :
La modification du sens, de la vitesse et de l’accélération se fait dans des registres. Chaque
registre correspond à une variable qui va commander un paramètre.
Selon le cahier des charges, nous avons utilisés les registres : 0, qui va commander le sens de
rotation des moteurs (marche avant et marche arrière), 2 pour la vitesse et 3 pour
l’accélération des moteurs.
Programme général permettant de commander les modules via le protocole I²C :
Ce programme a été réalisé afin d’avoir plus de facilité dans la définition des paramètres. Ici
deux fonctions sont nécessaires, une pour le sens, la vitesse et une pour l’accélération. Enfin
pour utiliser le protocole I²C, nous devons premièrement, définir l’adresse qui correspond au
module voulu, deuxièmement, choisir les registres que nous désirons configurer et
troisièmement, donner la valeur souhaitée.
Page 13
6) Les motoréducteurs :
Le fauteuil électrique dispose de deux moteurs à courant continu à excitation série avec
réducteur qui va entrainer les deux roues. Les moteurs sont composés de frein
électromagnétique à manque de courant, ce qui veut dire que ces freins peuvent stopper le
fauteuil et le maintenir en position arrêt lors d’une coupure de courant ou en cas de panne.
Nous avons choisi de moduler la tension d’alimentation de ces freins par commande PWM
afin de permettre une économie d’énergie de la batterie.
Caractéristique des moteurs à courant continu :
Alimentation des moteurs en 24VDC.
Tension nécessaire à desserrer les freins U > 17V.
Tension nécessaire à serrer les freins U < 5V.
Vitesse nominale des moteurs 110 RPM.
Intensité nominale 3,3 A. (Attention : le courant nominale augmente lors des pentes
ce qui peut entraîner une surcharge des moteurs.)
Modulation des freins par commande PWM:
Comme nous l’avions précisé dans la page précédente, les freins sont desserrés lorsque la
tension est supérieure à 17V et serrer lorsqu’elle est inférieure à 5V. Donc il a fallut mettre
en place, une modulation de la tension d’alimentation des freins grâce à la sortie CCP2 du
PIC.
Sur ce bornier, une tension de 24V est appliquée. A la sortie du CCP2 PIN, nous avons un
signal variant de 0 à 5V. Sur la carte de commande, un Driver et Power MOSFET étaient déjà
présents. Ces composants permettent de faire augmenter le signal de sortie du CCP2 PIN
pour le faire varier de 0 à 24V.
Réducteur
Moteur
Voici le calcul effectué pour la modulation de PWM :
Plus on augmente la valeur de modulation dans le programme, plus la tension diminue en
sortie du driver MOSFET.
Inverseur
0V
7) La carte de puissance :
Lors de la mise sous tension, la bobine du relais est alimenté et les contacts auxiliaires
changent d’état d’où l’alimentation des modules en 24V.
Les freins sont commandés par la sortie PWM. En effet, cela permet d’obtenir une variation
de tension de 0 à 24V aux bornes des freins.
La carte de puissance possède aussi un ATU (arrêt d’urgence) qui permet de couper
l’alimentation de tout le fauteuil et donc des modules et freins. Ce dernier est un ATU à
manque de courant et donc permet de bloquer les moteurs.
Un interrupteur marche-arrêt est placé sur la carte afin d’alimenter la carte de commande
de 12V.
Page 16
8) La carte de commande :
La carte de commande est alimentée en 12V, voici ses différents composants :
L7805 : Régulateur de tension qui fournit le +5V à partir du 12V de la batterie pour
l’alimentation du PIC et du joystick.
PIC 16F877A : Elément primordial de la carte, il permet de communiquer avec les modules
MD03, de moduler l’alimentation des freins grâce à la sortie PWM2 et permet aussi de
communiquer avec le joystick grâce aux entrée analogiques.
Liaison MD03 : Liaison qui permet de communiquer avec les modules en protocole I²C.
Liaison RS232 : Liaison permettant de communiquer avec un PC afin de faire le transfert de
la programmation dans le PIC.
Capteurs inductifs : Mesure la vitesse. Entrée RB4 pour le capteur droit et RB7 pour le
capteur gauche.
Page 17
Les 3 modes de marche : Bouton RESET permet de réinitialiser la vitesse à 0, l’entrée RB3 ; le
bouton « + » permet de passer de la vitesse basse à la vitesse haute l’entrée RB5 ; et le
bouton « – » permet de passer de la vitesse haute à la vitesse basse, entrée RB6.
TC4426A et IRF540N : Driver et Power MOSFET permet de faire varier la modulation de la
tension de 0 à 24V pour l’alimentation des freins.
Visualisation
5. Le protocole I²C :
Pour le mode de communication des modules MD03, nous avons choisi le bus I²C.
Le but de ce mode est de faire communiquer plusieurs modules avec seulement 4 fils. Ces
fils sont caractérisés par :
L’alimentation.
Le signal de référence. (masse)
De plus, il est plus facile de changer d’adresse grâce à des interrupteurs présents sur
l’appareil.
Comme nous l’avions précisé avant, pour utiliser le bus I²C, nous avons besoin de deux fils de
communication (SDA et SCL), une alimentation et un fil de masse. Le premier fil, SDA (Signal
DATA), est utilisé pour transmettre les données. L'autre fil, SCL (Signal CLOCK) est utilisé
pour transmettre un signal d'horloge synchrone (signal qui indique le rythme d'évolution de
la ligne SDA). La vitesse de transfert du bus I²C n’est pas fulgurante mais dans notre cas, la
vitesse n’est pas un élément prédominant donc ce mode nous convient parfaitement.
Fonctionnement du bus I²C :
Pour transmettre des données sur le bus I²C, il faut surveiller deux conditions particulières :
la condition de départ : SCL=1 et SDA passe à 0
la condition d'arrêt : SCL=1 et SDA passe à 1
Le nombre de composants qu'il est possible de connecter sur un bus I²C étant largement
supérieur à deux, le maître doit pouvoir choisir quel esclave est censé recevoir les données.
Dans ce but, le premier octet que transmet le maître, n'est pas une donnée mais une
adresse. Le format de l'octet d'adresse est un peu particulier puisque le bit A0 est réservé
pour indiquer, si le maître demande une lecture à l'esclave ou bien au contraire, si le maître
impose une écriture à l'esclave. Une fois l'adresse envoyée sur le bus, l'esclave concerné doit
répondre en plaçant le bit ACK à 0.
Page 19
Si le bit ACK vaut 1, le maître comprend qu'il y a une erreur de sélection et il génère la
condition arrêt. En revanche, si le bit ACK vaut 0, le maître peut continuer les opérations.
Ecriture d’une donnée :
Si le bit R/W (lecture/écriture) envoyé précédemment était à 0, cela signifie que le maître
peut envoyer un ou plusieurs octets de données. Enfin, chaque fois que le bit ACK est valide,
le maître peut continuer son opération, c’est-à-dire de continuer à envoyer ses octets à
l’esclave ou terminer la communication par une condition d’arrêt.
Lecture d’une donnée :
La lecture d’une donnée issue de l’esclave se fait, si le bit R/W est transmis en même temps
que l’adresse et qui est à 1.
Après que l'esclave a transmis les 8 bits de données, c'est le maître, cette fois-ci, qui va
générer un bit d'acquittement. Si le maître désire lire des octets supplémentaires, il placera
le bit d'acquittement à 0. En revanche, si le maître décide que la lecture est terminée, il
placera le bit ACK au niveau 1. L'esclave comprendra alors que le transfert est terminé.
Page 20
6. Les tests et les essais :
Pour notre projet, nous avons organisé une méthode de travail afin de ne pas se perdre dans
nos activités. Voici l’ordre des différentes activités que nous avons réalisées :
Test de fonctionnement au niveau des moteurs et des batteries.
Prise en connaissance des différentes cartes électronique (puissance et commande)
et notamment de ses différents composants.
Prise en connaissance des modules MD03. (fonctionnement, raccordements)
Prise en connaissance du protocole I²C.
Analyse au niveau du joystick. (entrée analogiques, mesure tension)
Elaboration d’un programme I²C sur les modules MD03.
Essai de procédure de communication entre la carte de commande et les modules
MD03 via le bus I²C avec un petit moteur de test. (essais de différentes variables, des
sens et des accélérations grâce au joystick) et élaboration de 3 modes de marche.
(reset, lent-rapide, rapide-lent)
Mise en place de l’acquisition fournie par les capteurs de vitesse grâce à
l’oscilloscope pour obtenir une vitesse.
Conversion de cette vitesse et visualisation par le logiciel Tiny Bootloader.
Test au niveau des freins (tension de serrage et desserrage) et mise en place d’une
modulation PWM afin d’économiser la batterie.
Elaboration d’une carte interface sous ISIS et ARES, afin de placer nos 2 capteurs et
nos 3 boutons de mode de marches en raison d’un manque de place sur la carte
existante.
Câblage.
Page 21
7. Conclusion :
Ce projet qui est à la fois Electrotechnique-Electronique, nous a permis d’appréhender
beaucoup de choses au niveau de la programmation et le câblage.
Nous avons eu quelques difficultés au niveau de la programmation notamment avec le
protocole I²C, lors de la configuration des modules MD03.
Au cours de ce projet, aucun document ne nous avait été révéler ce qui nous a poser
quelques problèmes au niveau des composants et des cartes existantes.
Certains composants n’ont pas supporté lors des interventions, ce qui nous a obligés à les
remplacer.
Enfin, la réalisation de ce projet nous a permis d’avoir une certaine autonomie et
méthodologie à travers les différentes recherches effectuées. Une expérience pour notre
future vie professionnelle.