Licence Professionnelle Vega MOTORISATION, PILOTAGE, INSTRUMENTATION D UN FAUTEUIL ELECTRIQUE Projet Tutoré 2013-2014 Sahin Mustafa et Lopez Jhonatan
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
SOMMAIRE Tables des matières Remerciements 1 Sommaire.2 1. Introduction..3 2. Situation initiale....3 2. Diagramme de Gantt..4 3. Synoptique..5 4. Les différents organes...6 1) Le PIC.. 6 2) Le joystick. 7-8 3) Les capteurs de vitesse..9 4) La carte interface. 11 5) Les modules MD03..12-13 6) Les motoréducteurs. 14-15 7) La carte de puissance...16 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 : Au départ notre fauteuil est constitué de différents composants : - 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. - Bouton arrêt d urgence et interrupteur d alimentation. - Carte de puissance. - Carte de commande. Page 3
3. Diagramme de Gantt : Page 4 Page 4
4. Synoptique : Carte interface 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
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). Bas Haut Gauche Droit Capteur gauche Bouton rapide-lent Bouton lent-rapide Capteur droit Bouton reset Frein RS232 I²C Page 6
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. 5V 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 : Roue D Roue G Point neutre Rotation gauche Roue D Roue G Bas Marche avant 0 0 Roue D Roue G Marche avant-droite 150 150 0 250 Roue D Roue G vitesse Haut vitesse Marche arrière 200 200 Valeur inscrit dans la programmation Roue D Roue G Marche avant-gauche 100 150 Roue D Roue G 200 200 Marche arrière-droite Roue D Roue G Rotation droite Bas vitesse Roue D Roue G 150 150 Marche arrière-gauche Roue D Roue G 250 0 Haut vitesse Page 8
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. Pièce métallique Capteur inductif 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. 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) : Résistance de LED : (ici on ne prend pas en compte les résistances du circuit LED) 1,8 =12 (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 : = 0,942 5 3600 = 0,188 3,6 1000 Avec n, le nombre de montant par seconde La visualisation de la vitesse se fait sur le logiciel Tiny Bootloader. 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é. Schéma sous ARES : Brun Noir Blanc Bleu +12V PIC LED GND Vers RB7 Masse Capteur gauche Vers alim. carte existant Bleu Blanc Noir Brun Alim. boutons 5V GND LED PIC +12V Capteur droit Vers RB4 Carte interface : (circuit imprimé) RB3 : Bouton reset RB5 : Lent-rapide RB6 : Rapide-lent x3 Vers RB5 Vers RB6 Vers RB3 Page 11
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 : Tension d entrée 50VDC max. Tension de sortie 24VDC max. Courant de sortie 20A max. Les modes de commandes : Interrupteurs : changement d adresses I²C 0V-2.5V-5V entrée analogique. 0V-5V entrée analogique. Mode radio contrôle. 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) Page 12
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. Moteur Réducteur 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. Page 14
Driver MOSFET Power MOSFET Voici le calcul effectué pour la modulation de PWM : Inverseur Plus on augmente la valeur de modulation dans le programme, plus la tension diminue en sortie du driver MOSFET. Représentation graphique de la PWM: 0V Page 15
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. Driver MOSFET Power MOSFET Visualisation des modes de marche : Joystick Vert : vitesse lente Orange : vitesse moyenne Rouge : vitesse rapide PIC 106F877A Masse +12v Régulateur de tension Page 18
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 : Le signal de données SDA. (Signal DATA) Le signal d horloge SCL. (Signal CLOCK) 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) Liaison RS232 Moteur de test Carte de commande Module MD03 Joystick 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. Page 22
8. Annexe : Page 23
Page 24
Page 25
Page 26
Page 27
Page 28
Page 29
Page 30
Page 31
Page 32
Page 33
Page 34
Page 35