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.