Contrôle de Vitesse D'un Moteur À Courant Continu
Contrôle de Vitesse D'un Moteur À Courant Continu
Thème :
CHAPITRE I
I.7 Les avantages et les inconvénients des machines à courant continu : .................................. 8
CHAPITRE II
CHAPITRE III
Annexes
Annexes A ................................................................................................................................ 52
Annexes B ................................................................................................................................ 53
Bibliographie
Liste des figures et des tableaux
I
Liste des figures et des tableaux
II
Introduction générale
Introduction générale
Introduction générale
Les moteurs électriques ont toujours constitué des éléments indispensables au fonctionnement des
procédés industriels durant ce siècle. De plus, vue la tendance vers l'exploitation de sources
d'énergie non polluantes, l'utilisation des moteurs électriques dans les différents secteurs de
l'industrie ne fera qu'augmenter.
Les moteurs à courant continu (MCC) transforment l’énergie électrique en énergie mécanique de
rotation, mais ils peuvent également servir de générateur d’électricité en convertissant une énergie
mécanique de rotation en énergie électrique. Les MCC ont une très grande importance dans
l’industrie, et souvent leur vitesse de rotation intervient dans beaucoup d'application industrielle
telle que la robotique, la manutention, l'entrainement des pompes, les équipements domestiques,
automobiles (essuie glaces, ventilateurs, démarreur). Ces systèmes exigent un fonctionnement
stable avec une régulation de vitesse. Cette caractéristique nécessite des systèmes de contrôle et de
commande fiable ; adaptatif et performant. La technologie qui repend à ce cahier des charges
emploi la technologie numérique talque les ordinateurs ou les microcontrôleurs.
L’objectif de ce projet sera de réaliser un circuit pour le contrôle de vitesse d’un moteur à
courant continu à base de la carte Arduino en utilisant pour l’acquisition de vitesse un encodeur
optique, tout en se concentrant sur les aspects Hardware et Software pour la mise en œuvre de ce
type d’application.
1
Introduction générale
Le deuxième chapitre sera consacré à une étude approfondie sur les organes utilisés pour la mise en
œuvre de l’application étudiée. Pour la commande, les cartes à microcontrôleurs Arduino seront
étudiées où un modèle de base qui est Arduino UNO sera détaillé : sa construction, son
environnement de programmation et son principe de fonctionnement, afin de simplifier son
utilisation. Aussi l’étude de la partie de puissance (pont H) qui est basée sur le circuit L298. Pour la
mesure, l’encodeur sera présenté avec description de ces différentes technologies existantes.
Le troisième chapitre représentera les différentes parties et phases de développement pour la
réalisation de l’application de contrôle de vitesse, où chaque étape consistera en une partie de
programmation et une partie validation, cette dernière comportera la simulation et la réalisation
pratique.
Enfin, on terminera avec une conclusion générale qui résumera l’intérêt de notre étude: les
différents remarques et résultats obtenus, ainsi que les difficultés rencontrées dans
l’expérimentation et tout en traçant des perspectives pour les travaux futurs.
2
Chapitre I
Les moteurs à courant continu
Chapitre I Les moteurs à courant continu
I.1 Introduction
Le moteur à courant continu est plus facile à traiter lorsque la vitesse doit varier sur une
grande plage. En effet, la machine à courant alternatif requiert une commande beaucoup plus
complexe pour réaliser un entrainement à vitesse variable et le convertisseur doit fournir une
tension alternative d’amplitude et de fréquence variable. Ces inconvénients réduisent donc son
attrait dans les applications à vitesse variable, malgré les avantages qu’elle possède sur la machine à
courant continu : robustesse et cout moindre, grâce à l’absence de collecteur, poids réduit…
Le choix d’un moteur à courant continu s’est donc imposé comme la meilleure solution pour le
réglage de la vitesse et du couple mécanique, et d'un usage courant dans les systèmes et
applications autonomes-voitures, perceuses etc...[1]
Afin de permettre l’analyse d’un entrainement basé sur un moteur à courant continu, la constitution
et la principale caractéristique mécanique et électrique de ce moteur sont présentées.
Un moteur à courant continu est une machine électrique .Il s'agit d'un convertisseur
électromécanique permettant la conversion bidirectionnelle d'énergie entre une installation
électrique parcourue par un courant continu et un dispositif mécanique, d’où l'énergie électrique
est transformée en énergie mécanique, donc c’est une machine réversible.
Il est constitué d'une partie fixe, stator ou inducteur composé d'aimants permanents (pôles)
chargés de générer un flux magnétique. Il porte également la partie porte-balais et balais qui assure
les contacts électriques avec le rotor; et d'une partie mobile, rotor ou induit, composé d'un bobinage
alimenté à ses extrémités (collecteur) par une tension continue. Le collecteur est une bague
constituée de plusieurs lamelles en cuivre qui frottent sur les balais pour alimenter les bobines [1]
5
Chapitre I Les moteurs à courant continu
La machine à courant continu peut fonctionner dans les modes : moteur et génératrice
(dynamo).
Mode moteur : Tout conducteur mobile parcouru par un courant d'intensité I dans une
région de l'espace où règne un champ magnétique est soumis aux forces de Laplace.
Mode génératrice (dynamo): Tout conducteur se déplaçant dans une région de l'espace où
règne un champ magnétique B est alors soumis à une variation de flux entraînant une f.é.m.
(force électromotrice) induite à ses bornes. Cette f.é.m. s'oppose à la cause qui lui a donnée
naissance (c'est-à-dire la variation de flux). C'est la loi de Lenz.
, [4]
6
Chapitre I Les moteurs à courant continu
– le moteur à excitation shunt: l’inducteur et l’induit sont branchés en parallèle ; il possède les
mêmes propriétés que le moteur à excitation séparée du fait que, dans les deux cas, l’inducteur
constitue un circuit extérieur à celui de l’induit.
– le moteur à excitation série : l’inducteur et l’induit sont connectés en séries ; C’est donc le
même courant d’induit I qui engendre à la fois le flux magnétique et le couple électromagnétique.
– le moteur à excitation composée (compound) : C’est une combinaison des excitations Shunt et
Série, une partie de l’excitation est montée en série avec l’induit et l’autre partie montée en parallèle
avec cet induit.
– le moteur à excitation séparée: (avec des aimants ou des bobines), Ce mode d’excitation
nécessite deux sources d’alimentations distinctes. L’alimentation de l’enroulement inducteur est
prise sur une source indépendante de la source principale. On change le sens de rotation en
permutant les bornes de l’induit ou de l’inducteur. [2]
7
Chapitre I Les moteurs à courant continu
Ces moteurs sont identiques au moteur à excitation séparée, les pôles principaux bobinés
étant remplacés par des aimants permanents.
Si un conducteur en forme de spire, parcouru par un courant I, est placé dans un champ magnétique,
il est soumis à des forces de Laplace. Ces forces créent un couple de rotation qui fait tourner la spire
sur son axe. Quand la spire a fait un demi-tour, il faut inverser la polarité pour inverser le sens des
forces et continuer le mouvement. Ce sera le rôle du collecteur.
Le rotor est constitué d'un noyau métallique avec un bobinage de cuivre, le stator comporte des
aimants permanents qui engendrent un champ magnétique dont le flux traverse le rotor. L'espace
étroit entre le rotor et le stator est nommé entrefer.
Symbole
Les machines à courant continu présentent des avantages très important surtout les moteurs.
Ils sont moins polluants et moins bruyants, ils démarrent seuls et facilement, facilite d’emploi dans
le cas de démarrage fréquent, régularité du couple utile, possibilité d’inversion du sens de rotation
sans intervention de dispositifs mécaniques.
Les machines à courant continu ont des avantages mais aussi des inconvénients ses inconvénients
sont : Ils ont une partie fragile (considérons comme point faible des machines à courant continu),
cette partie est le collecteur et les ballais, il faut changer les ballais de temps en temps pour assurer
le meilleur contact. Le prix d’un moteur à courant continu est plus de deux fois celui d’un moteur
triphasé asynchrone de même puissance.
I.8 Modélisation de moteur à courant continu à aimant permanent:
La machine à courant continu peut être modélisée par le biais d’équations électrique,
électromécanique et mécanique. Ces trois groupes d’équations nous permettrons de mieux
appréhender la machine à courant continu dans son fonctionnement réel.
8
Chapitre I Les moteurs à courant continu
Du coté électrique nous pouvons dire que la machine à courant continu se définit par un circuit
d’induit et un circuit inducteur ; l’induit de la MCC peut être vu comme une résistance R et une
inductance L en série E avec une source de tension commandée proportionnelle à la vitesse Ω.
Du coté mécanique, nous représentons la machine à courant continu par l’inertie de l’induit
augmentée de celui de la charge entraînée.
I 8.1 Schéma équivalent d’un MCC
Le moteur se comporte comme une résistance en série avec un générateur de Tension (FEM: force
électromotrice)
E : force électromotrice
En réalité, il existe aussi une inductance L dans le circuit que l'on peut négliger ici si le courant est
en régime continu.
Equations électromécaniques
E K (I.3)
électromagnétique. Pem EI
La puissance développée par le couple électromagnétique est:
P Tem
Tr : Couple résistant.
T : Couple de frottement.
Les puissances
La puissance électromagnétique
10
Chapitre I Les moteurs à courant continu
Tem K I
L'action sur le flux permet une légère survitesse avec une diminution du couple utile. Son utilisation
est très spécifique.
I.10 Définition d’un Hacheur
Un hacheur est un convertisseur statique permettant d’alimenter une charge continue
(moteur à courant continu) constitué d'un dispositif de commutation (un interrupteur, ou plus
souvent un transistor) associé à une diode de roue libre, sous tension de valeur moyenne réglable à
11
Chapitre I Les moteurs à courant continu
partir d'une source de tension constante (réseau alternatif redressé et filtré, (batterie
d'accumulateurs, alimentation stabilisée…), avec un très bon rendement.
I .10.1 Le principe
Le hacheur alimente le bobinage disposé sur l’induit mobile (rotor). Ce bobinage est placé
dans un champ magnétique, permanent ou non, produit par l’inducteur (stator), notamment lorsque
l’inducteur est constitué d’aimants. Le courant circulant dans les spires de l’induit du moteur, des
forces électriques lui sont appliquées et, grâce un dispositif adapté (balais et collecteur), les forces
s’additionnent pour participer à la rotation.
Pour modifier le sens de rotation d’un moteur à courant continu, il suffit d’inverser l’alimentation à
ses bornes (induit). La structure permettant de réaliser cette inversion est appelée « pont en H ». [4]
I .10.2 Relais thermique (pont en H)
Lorsqu'on veut commander le sens de rotation d’un moteur (à courant continu) on est
souvent obligé d'inverser la polarité. De plus il est généralement préférable de pouvoir faire varier
la vitesse du moteur. La solution est d’utiliser le pont en H. Lorsqu'on arrête le moteur, et qu'il
continue à tourner avec l'inertie, il se comporte comme une génératrice. Pour éviter d'avoir des
courants dans les transistors on monte des diodes de roues libres.
I .11 Stratégies de commande
La fonction MLI (Modulation en Largeur d'Impulsion) ou PWM (Pulse Width Modulation)
est une technique de pilotage pour les convertisseurs statiques utilisée
Pour la conversion de l’énergie, ayant ses bases dans le domaine des
Télécommunications (traitement du signal).
C’est une manière simple et efficace de générer une tension analogique avec un microcontrôleur.
Peu d’entre eux sont en effet équipés d’un convertisseur numérique analogique .Les niveaux de
tensions générés par le microcontrôleur sont celles de son alimentation (en général 0 ~ 5V), mais la
fréquence et le rapport cycliques sont configurables/variables.
Loin d’être un élément accessoire dans la chaîne de variation de vitesse (variateur électrique associé
à une machine électrique), l’étage MLI joue le rôle d'interface entre la partie commande d’un
variateur de vitesse et la machine électrique associée. Cette commande joue un rôle essentiel avec
des conséquences sur toutes les performances du système.
12
Chapitre I Les moteurs à courant continu
La variation de vitesse Ω d'un moteur à courant continu est obtenue en faisant varier la
valeur moyenne de la tension d'alimentation de l'induit U. Cette dernière est obtenue en appliquant
une tension rectangulaire d'amplitude Û constante et de rapport cyclique =t h / T variable. Dans ce
13
Chapitre I Les moteurs à courant continu
I.12 Conclusion
14
Chapitre II
Circuit de : commande,
puissance et de mesure
Chapitre II circuit : de commande, de puissance et mesure
II .1 Introduction
Les cartes Arduino sont conçues pour réaliser des prototypes et des maquettes de cartes
électroniques pour l’informatique embarquée.
Ces cartes permettent un accès simple et peu couteux à l’informatique embarquée. De plus, elles
sont entièrement libres de droit, autant sur l’aspect du code source (Open Source) que sur l’aspect
matériel (Open Hardware). Ainsi, il est possible de refaire sa propre carte Arduino dans le but de
l’améliorer ou d’enlever des fonctionnalités inutiles au projet.
Le langage Arduino se distingue des langages utilisés dans l’industrie de l’informatique embarquée
de par sa simplicité. En effet, beaucoup de librairies et de fonctionnalités de base occulte certains
aspects de la programmation de logiciel embarquée afin de gagner en simplicité. Cela en fait un
langage parfait pour réaliser des prototypes ou des petites applications dans le cadre de hobby. [5]
L'intérêt principal des cartes ARDUINO est leur facilite de mise en œuvre. ARDUINO fournit un
environnement de développement s'appuyant sur des outils open source. Le chargement du
programme dans la mémoire du microcontrôleur se fait de façon très simple par port USB. En outre,
des bibliothèques de fonctions "clé en main" sont également fournies pour l'exploitation d'entrées-
sorties courantes : gestion des E/S TOR, gestion des convertisseurs ADC, génération de signaux
PWM, exploitation de bus TWI/I2C, exploitation de servomoteurs ...
L'objectif de ce document est de mettre en évidence certaines informations techniques concernant
l'exploitation des périphériques intègres, en particulier lorsqu'on n'utilise pas les fonctions "clé en
main" d'ARDUINO, dans l'objectif de comprendre comment ça marche.
16
Chapitre II circuit : de commande, de puissance et mesure
Arduino c’est une plate-forme open_source d'électronique dont le cœur programmée qui est basée
sur une simple carte à microcontrôleur (de la famille AVR), et un logiciel, véritable environnement
de
développement intégré, pour écrire, compiler et transférer le programme vers la carte à
microcontrôleur. Elle dispose dans sa version de base de 1 Ko de mémoire vive, et 8 Ko de
mémoire flash pour stocker ses programmes. Elle peut être connectée à 13 entrées ou sorties
numériques, dont 3 PWM (pouvant donner 3 sorties analogiques et 6 entrées analogiques
convertissant en 10 bit.
L'Arduino Nano une petite carte programme à l’aide porte USB cette version utilisant un
microcontrôleur ATmega168.
L'Arduino Bluetooth avec une interface de Bluetooth pour programmer en utilisant un
microcontrôleur ATmega168
Arduino uno est une carte microcontrôleur basée sur l’ATmega328.
Arduino Leonardo est une carte microcontrôleur basée sur l’ATmega32u4.
Arduino Mega 2560 est une carte de Microcontroleur sur la base de l’ATmega2560, qui offre
toutes les Fonctionnalités de la carte précédente, mais avec des fonctionnalités supplémentaires. [7]
Parmi ces types, nous avons choisi une carte Arduino UNO (carte Basique). L'intérêt principal
de cette carte est de faciliter la mise en oeuvre d’une telle commande qui sera détaillée par la suite.
L’Arduino fournit un environnement de développement s'appuyant sur des outils open source
comme interface de programmation. L’injection du programme déjà converti par l’environnement
18
Chapitre II circuit : de commande, de puissance et mesure
sous forme d’un code « HEX » dans la mémoire du microcontrôleur se fait d'une façon très simple
par la liaison USB.
II .4 Bloc de commande
II 4.1 La carte Arduino Uno
II 4.2 Définition
Arduino Uno est une carte microcontrôleur basée sur l’ATmega328.Elle est dotée de 14 broches en
Entrées /Sortie numérique (dont 6 peuvent être utilisées comme sorties PWM-Modulation de
largeur d’impulsion), 6 entrées analogiques, un oscillateur à quartz 16MHZ, une connexion USB,
un jack d’alimentation, un support ICSP,
Un bouton ‘reset’.
II.4.3 La constitution de la carte Arduino UNO
Un module Arduino est généralement construit autour d’un microcontroleur ATMEL AVR, et de
composants complémentaires qui facilitent la programmation et l’interfaçage avec d’autres circuit,
Chaque module possède au moins un régulateur linéaire 5V et un oscillateur à quartz 16 MHz (ou
un résonateur céramique dans certains modèles).Le microcontroleur est préprogrammé avec un
bootloader de façon à ce qu’un programmateur dédié ne soit pas nécessaire.
19
Chapitre II circuit : de commande, de puissance et mesure
21
Chapitre II circuit : de commande, de puissance et mesure
I2C :4 (SDA) and 5 (SCL). Permettent le support du bus I2C (TWI) en utilisant la 'library'
Wire.
Il y a encore quelques autres broches sur la carte:
AREF. Tension de référence déjà mentionnée.
Reset. Permet au niveau bas (LOW°) de faire un reset du contrôleur. Elle est utilisée
Typiquement pour monter un bouton 'reset' aux cartes additionnelles ('shields') bloquant celui de la
carte principale.
II 4.3.1.d Les ports de communications
La carte Arduino Uno a de nombreuses facilités de communications avec un ordinateur, une autre
Arduino, ou un autre microcontrôleur.
L'ATmega328 permet la communication série UART TTL, grâce aux broches digitales 0
(RX) et 1 (TX).
Un contrôleur ATmega8U2 sur la carte, canalise cette communication série vers l'USB et apparaît
comme un port de communication série virtuel pour le logiciel sur l'ordinateur.
Le firmware de l'8U2 utilise le protocole USB, et aucun driver externe n'est nécessaire.
Logiciel de programmation de l’arduino uno :
Le logiciel de l’Arduino inclut un moniteur série permettant l'envoi et la réception de
simples données textuelles. Les leds RX et TX sur la carte clignotent pour indiquer la
transmission de données via le chip USB-to-serial vers l'ordinateur.
Une bibliothèque 'SoftwareSerial' permet la transmission de données série à partir de
chacune des broches digitales du Uno.
-esclave
SPI. Le logiciel de l’Arduino inclut un ensemble de fonctions pour mettre en œuvre ces fonctions.
“Uno “ signifie “ Un“ en italien et ce nom annonce la sortie de l’Arduino 1.0. [7]
L'exemple le plus simple, fourni par ARDUINO, consiste à faire clignoter la LED raccordée
à la broche du microcontrôleur, broche également disponible sur les connecteurs de la carte et
portant le numéro 2.
Un peu le schéma de principe du clignotement d’une LED
22
Chapitre II circuit : de commande, de puissance et mesure
23
Chapitre II circuit : de commande, de puissance et mesure
Il y a de nombreuses cartes électronique qui possèdent des plateformes sur basées des
microcontrôleurs disponibles pour l’électronique programmée. Tous ces outils prennent en charge
les détails compliqués de la programmation et les intègrent dans une présentation facile à utiliser.
De la même façon, le système Arduino simplifie la façon de travailler avec les microcontrôleurs
tout en offrant à personnes intéressées plusieurs avantages cités comme suit:
Pas cher: les cartes Arduino sont relativement peu coûteuses comparativement aux autres
plates-formes.
Environnement de programmation clair et simple.
24
Chapitre II circuit : de commande, de puissance et mesure
logiciel Open Source et extensible : le logiciel Arduino et le langage Arduino sont publiés
sous licence open source, disponible pour être complété par des programmateurs
expérimentés.
Multi-plateforme : le logiciel Arduino, écrit en Java, tourne sous les systèmes
D’exploitation Windows, Macintosh et Linux. La plupart des systèmes
Microcontrôleurs sont limités à Windows.
matériel Open source et extensible : les cartes Arduino sont basées sur les Microcontrôleurs
Atmel ATMEGA8, ATMEGA168, ATMEGA 328, etc...
Existence de « shield » (boucliers en français) : ce sont des cartes supplémentaires qui se
connectent sur le module Arduino pour augmenter les possibilités comme par exemple :
afficheur graphique couleur, interface Ethernet, GPS, etc... Par sa simplicité d'utilisation,
Arduino est utilisé dans beaucoup d'applications comme l'électronique industrielle et
embarquée, le modélisme, la domotique mais aussi dans des domaines différents comme
l'art contemporain ou le spectacle. [6]
Notre carte de puissance est composée d’un ponts H, ce dernier est constitué de quatre transistors
qui travaillent comme des interrupteurs et permettent d'obtenir quatre états selon la façon dont ils
sont commandés, ce principe est représenté par la figure I.6.
25
Chapitre II circuit : de commande, de puissance et mesure
II 5.5 Pont en H
Une structure électronique servant à contrôler polarité aux bornes d’un dipôle. Il est composé de
quatre éléments de commutation généralement disposés schématiquement en une forme de H d’où
le nom. Les commutateurs peuvent être des relais, des transistors, ou autres éléments de
commutation en fonction de l’application visée.
Le pont en H permet de contrôler la polarité de la tension aux bornes du moteur, ou de
déconnecter l’alimentation des moteurs (moteur arrêté). Les commutateurs sont actionnés deux par
deux soit S1-S4 ou S2-S3 pour faire tourner le moteurs dans un sens ou dans l’autre sens. Les paires
de relais peuvent avoir des puissances différentes selon que l’utilisation ne requiert pas le même
couple dans un sens que dans l’autre sens.
De plus, le pont en H permet d’effectuer un freinage magnétique s’il est capable d’en dissiper la
puissance générée. Cette opération s’effectue en actionnant soit les deux commutateurs supérieurs
ou inférieurs en même temps, ce qui court –circuit les bornes du moteur et le fait par conséquent
freiner.
Moteur Commutateur
S1 S2 S3 S4 0 : commutateur
Roue libre 0 0 0 0 Ouverte
Sens 1 1 0 0 1
Sens 2 0 1 1 0
1 : commutateur
Arrêt 1 0 1 0 fermée
0 1 0 1
Fig II.9 Etat d’un pont en H : (a) Moteur déconnecté, (b) Rotation ou sens1,
(c) Rotation inverse ou sens inverse.
Un encodeur permet d’obtenir une information en quasi-temps réel sur la position et vitesse du
moteur et donc d’appliquer des corrections (on parle de boucle de contrôle) si le comportement du
moteur n’est pas conforme à l’ordre qu’on lui a transmis, ce qui arrive fréquemment en fonction de
la pente, de la capacité de la roue à agripper sur le sol (la roue tourne plus vite si elle patine), de la
charge utile. [10]
29
Chapitre II circuit : de commande, de puissance et mesure
Ce type d'encodeur permet uniquement de mesurer des changements de position, mais il est
bien sûr possible d'en déduire vitesse et même accélération.
La plupart des encodeurs utilisent des capteurs optiques (mais il existe des encodeurs utilisant une
information mécanique ou magnétique). L’idée est de placer un disque alternant des zones
transparentes et opaques devant un capteur de lumière et de rentre le disque solidaire de l’axe de
rotation de la roue. La fréquence d’apparition des zones blanches et noires (ou de tout autre principe
offrant un contraste suffisant) devant le capteur de lumière va indiquer la vitesse de rotation.
Lorsque le disque tourne, les segments opaques bloquent la lumière alors que les segments
transparents la laissent passer. Ceci génère des impulsions d’onde carrée qui peuvent ensuite être
interprétées comme position ou mouvement.
30
Chapitre II circuit : de commande, de puissance et mesure
L’encodeur en quadrature comporte deux pistes de code dont les secteurs sont décalés de 90 degrés
d’une piste à l’autre. Ces deux pistes génèrent deux signaux de sortie. Si le premier signal devance
le second alors le disque tourne dans le sens des aiguilles d’une montre et dans l’autre sens dans le
cas contraire. Par conséquent, en mesurant à la fois le nombre d’impulsions et les phases relatives
des deux signaux on peut mesurer la position et la direction de la rotation des roues.
Ce type d’encodeur permet de connaitre la position d’un objet solidaire.il est constitué de
segment opaques et segments transparents répartis en plusieurs cercles concentriques sur la roue de
l’encodeur.le premier cercle, situé au milieu de la roue, possède un certain nombre de segments
La structure d’un encodeur absolu est proche de celle d’un encodeur incrémental. Il y a le
disque, la source de lumière et le capteur. La différence réside au niveau du disque. Au lieu de 2 ou
3 voies sur le disque comme dans l’encodeur incrémental, l’encodeur absolu utilise un disque
possédant de nombreux disques concentriques chacun comportant un motif différent. La lecture de
toutes les voies par un scan radial (c’est-à-dire partant du centre du disque vers l’extérieur) donne
une information unique quel que soit l’orientation du disque, information correspondant à
l’orientation du disque.
Les deux capteurs d’un encodeur sont respectivement reliés au canal A et au canal B.En analysant
l’information en quadrature des signaux, l’interface branchée aux encodeurs détermine dans quel
sens tourne le disque optique.
31
Chapitre II circuit : de commande, de puissance et mesure
Comme vu précédement, le sens de rotation peut être deviné en regardant de quelle façon les
sorties A et B changent d’état logique. Cela est facile à faire, il suffit de prendre une des deux
sorties comme référence et de regarder ce qui se passe sur l’autre.si l’on décompose dans le temps
les différentes solutions binaires qu’offrent les deux sorties, on se rend compte qu’il n’existe que
quartes possibilités-ce qui n’a rien de surprenant puisqu’on travaille sur deux bits-qui sont espacées
de façon égales dans le temps. [11]
II.7 Conclusion
Dans ce chapitre, nous avons passé en revue les différents composants nécessaires pour mettre en
œuvre notre application qui consiste à contrôler la vitesse d’un moteur à courant continu, ou nous
avons choisi pour la partie puissance le circuit L298, pour la mesure de la vitesse un encodeur et
pour la commande on à utiliser une carte Arduino UNO.
32
Chapitre III
Réalisation de l’application
de contrôle de vitesse
Chapitre III
Réalisation de l’application
de contrôle de vitesse
Chapitre III réalisation de l’application de contrôle de vitesse
III.1 Introduction
Dans cette partie, on va entamer la réalisation de notre application qui consiste à contrôler la vitesse
d’un moteur à courant continu. Pour cela l’application est faite en suivant plusieurs étapes
progressives; en premier lieu on introduit la commande du moteur en deux sens de marche, puis la
variation de sa vitesse et à la fin on réalise le contrôle de vitesse où on a choisi un encodeur pour la
mesure de la vitesse. Dans toutes les étapes suivies, 03 phases sont réalisées dans le développement
des applications :
Dans un premier lieu, on va essayer de commander la rotation du moteur depuis notre circuit de
commande ‘’ ARDUINO’’ en l’interfaçant à un pont H. Le microcontrôleur utilisé est le
‘’ARDUINO UNO’’, et le circuit de puissance utilisé est L298, où deux boutons permettent de
contrôler le sens de marche : « Boutton1 » pour la marche dans le sens des aiguilles d’une montre,
et « Boutton2 » pour la marche dans le sens inverse des aiguilles d’une montre.
Début
Configuration
Pin 11,12,13 output
Pin 3,4 didigital gital input
non Bouton 1
actionné
oui
Pin 11=H
Pin 12=H
Pin 13=L
non Bouton 2
actionné
oui
Pin 11=H
Pin 12=L
Pin 13=H
Fig III.2 Organigramme pour de commande en 02 sens de marche d’un moteur à C.C
35
Chapitre III réalisation de l’application de contrôle de vitesse
Maintenant nous allons varier la vitesse du moteur à courant continu, pour cela on va utiliser
la Modulation en Largeur d'Impulsion (PWM), l’idée ici est de faire varier la vitesse du moteur à
courant continu en fonction de la valeur lue depuis un potentiomètre, sachant que la résolution du
Convertisseur Analogique Numérique de l’Arduino UNO est de 10bit, donc notre convertisseur
peut distinguer entre 1024 niveaux différents, soit des valeurs numérique générée entre 0 et 1023.
Donc, on doit faire correspondre ces valeurs aux valeurs désirées du signal PWM qui s’étale sur 8
bit, soit entre 0 et 255.
36
Chapitre III réalisation de l’application de contrôle de vitesse
Début
Configuration
Pin 12,13 digital output
Pin A0: Analog input
PIN 11:Analog output(PWM)
Lecture la valeur de
potentiométre
Génération signal
PWM
Pin 11=PWM
Pin 12=L
Pin13=H
37
Chapitre III réalisation de l’application de contrôle de vitesse
Pour cette partie, nous allons reproduire l’application précédente, mais cette fois nous allons
mesurer la vitesse de rotation pour la contrôler. Pour ceci, nous allons introduire un encodeur qui va
nous permettre de faire un retour d’information à notre microcontroleur, pour un traitement
ultérieur. Pour que l’information de vitesse soit visible nous allons ajouter un afficheur LCD de type
16x2.
Les afficheurs LCD sont devenus incontournables dans toutes applications qui demandent la
visualisation de paramètres, et se ressemblent tous, à part le nombre de lignes et le nombre de
colonnes, le fonctionnement et le brochage est standard et identique. Un des points intéressant est
de pouvoir contrôler l'afficheur en mode 8bits ou en mode 4bits.
Le rôle de l’afficheur LCD est devenu indispensable dans les systèmes techniques qui nécessitent
l’affichage de paramètres de fonctionnement. Grâce à la commande par un microcontrôleur ces
afficheurs permettent de réaliser un affichage de messages aisés. Ils permettent également de créer
ses propres caractères.
III 2.3.b Fonctionnement d’un afficheur LCD
Ce contient deux types d’information à l’afficheur :
Les commandes qui permettent de l’initialiser : positionnement du curseur, effacement
écran, etc…
38
Chapitre III réalisation de l’application de contrôle de vitesse
L'afficheur LCD a 14 broches en standard et souvent 16, les broches 15 et 16 servent au rétro-
éclairage (une option).
39
Chapitre III réalisation de l’application de contrôle de vitesse
1 Vss Masse
2 Vdd Alimentation 5v
3 CO Variable de 0 à 5v permet de modifier le contraste de
l’afficheur
4 RS Indique une commande ou une donnée à afficher (0 :
Commande/1 : Donnée)
5 R/W Indique une écriture ou une lecture (0 : écriture/1 :
Lecture)
6 E Indique une validation (Le niveau haut doit être
maintenu 500µs)
7 D0
8 D1
9 D2
10 D3
11 D4 Bus de données bidirectionnel.
12 D5
13 D6
14 D7
15 A Anode rétroéclairage (+5v)
16 K Cathode rétroéclairage (masse)
Tableau III.1 branchement de l’afficheur LCD
40
Chapitre III réalisation de l’application de contrôle de vitesse
Enco
deur Affic
+ heur
Mote Lcd
ur Fig III.7 Schéma
du circuit de
simulation de
contrôle de vitesse
Oscill
oscop (Isis-Proteus)
e
Pont
H de
type
L298
Ardu
ino
UN
O
Pote
ntio
mètr
e
41
Chapitre III réalisation de l’application de contrôle de vitesse
1. Arduino UNO.
2. Interface de puissance: pont H de type L289
3. Un moteur à courant continu.
4. Un encodeur monté sur l’axe du moteur et qui délivre une impulsion par tour.
5. Un oscilloscope pour visualiser les différents signaux issus de l’encodeur.
6. Un fréquencemètre pour la mesure de la fréquence de rotation.
Les caractéristiques du moteur utilisé sont :
Puissance 7.78W
couple 81.8mNm
Les figures III.8 et III.9 montrent l’encodeur absolu utilisé dans la pratique et l’ensemble
moteur-encodeur monté sur le même axe de rotation.
La figure III.10 montre l’image de l’ensemble de l’application pratique : Moteur-Encodeur,
Arduino, L298, l’oscilloscope et les alimentations.
42
Chapitre III réalisation de l’application de contrôle de vitesse
Arduino
Encodeur
Afficheur
Pont H de type
L298
44
Chapitre III réalisation de l’application de contrôle de vitesse
Fig III.11 Signaux A, B, C issus de l’encodeur incrémental (pour 24 PPR : Pulse Per Révolution)
Fig III.12 Signaux A, B, C issus de l’encodeur incrémental (pour 1 PPR : Pulse Per Révolution)
45
Chapitre III réalisation de l’application de contrôle de vitesse
Fig III.13 Signal réel issu de l’encodeur avec moteur à vide (pour 1 PPR: Pulse Per Révolution)
Les figures III.12et III.13 montrent les signaux A, B, C issus de l’encodeur incrémental utilisé
en simulation pour 24 PPR et 1 PPR (Pulse Per Révolution) respectivement. La figure montre la
visualisation sur l’oscilloscope d’un seul signal réel issu de l’encodeur absolu pour 1 PPR (Pulse
Per révolution) où le moteur tourne avec l’encodeur et sans charge externe.
Fig III.14
organigramme
principal du
programme de
contrôle de
vitesse
47
Chapitre III réalisation de l’application de contrôle de vitesse
48
Chapitre III réalisation de l’application de contrôle de vitesse
Le nombre des interruptions externes est limité à 2 sur la plupart des cartes Arduino. Les
interruptions sont utilisables sur les broches compatibles seulement (broches 2 et 3 sur le Arduino
UNO). Pour choisir la fonction et la broche utilisée pour l’interruption externe, on utilise la fonction
attachInterrupt. On peut utiliser detachInterrupt pour désactiver l’interruption. Il est possible de
partir en interruptions externes sur 4 types d’événements :
LOW: Lorsque la broche est à l’état 0 (0V)
High : lorsque la broche est à l’état 1(5V)
RISING : Lorsque la broche passe de l’état 0 (0V) à l’état 1 (5V) (front montant).
FALLING : Lorsque la broche passe de l’état 1 (5V) à l’état 0 (0V) (front descendant).
CHANGE : Lorsque la broche change d’état (front montant et front descendant).
La fréquence des canaux de l’encodeur A et B dans l'Arduino peut être de l'ordre de kHz.
Les interruptions 0 et 1 sont accessibles sur les axes suivants :
Interruption 0 est entrée numérique 2
Interruption 1 est entrée numérique 3
L’intérêt d’un Timer est qu’il compte sans cesse et que pendant ce temps, le programme peut
réaliser autre chose, ce qui n’est pas possible si on utilise la fonction Delay () qui est bloquante et
qui ne permet pas de faire autre chose pendant ce temps d’attente. Le temps que le Timer met pour
compter 256 coups dépend bien sûr de la fréquence de l’horloge ; à 16 MHz (fréquence du
microcontrôleur utilisé dans les modules Arduino), c’est très rapide, mais il est possible de diviser
cette fréquence d’horloge grâce à des circuits internes au microcontrôleur appelés prédiviseur. On
49
Chapitre III réalisation de l’application de contrôle de vitesse
peut alors diviser la fréquence de base (16 MHz) par 8, 32, 64, 128, 256 ou 1024 ; pour cela, il faut
utiliser intelligemment d’autres registres de contrôle associés au Timer. Par exemple, si on règle de
prédiviseur pour diviser la fréquence par 1024, le Timer comptera donc à une fréquence de 15625
Hz. [13]
III .4 Conclusion
L’expérience menée durant ce chapitre, nous a permis d’acqurier plusieurs disciplines et concepts
ont, a monté que l’étude par simulation était très proche à celle faite par réalisation pratique,
seulement pour l’application finale de contrôle de vitesse il y avait un écart dans la mesure entre la
valeur obtenu depuis la pratique et celle obtenue par simulation, ceci est due principalement au bruit
de mesure généré par des impulsions indésirables qui dues au disque de l’encodeur, voir même la
position excentrique du moteur par rapport à l’encodeur.
50
Conclusion
générale
Conclusion générale
Conclusion générale
ce projet nous a permis de faire le lieu entre l’étude théorique d’un circuit de contrôle de vitesse
et sa réalisation pratique, dans le but d’estimer la marge de différence entre ces deux parties, et
de se rapprocher de plus à une des technique ou technologie utilisées en industrie, tout en
touchant l’aspect plus disciplinaire que englobe :l’électrotechnique ,l’électronique embarqué,
et l’informatique industrielle. Pour atteindre cet objectif, plusieurs étapes progressives sont
traitées ou à chaque étapes, deux partie pour la conception sont faites ; une partie software : qui
consistait en la programmation en langage C dans l’environnement Arduino_IDE ; et une partie
de réalisation : qui consiste à simuler nos circuits sur une plateforme de simulation (ISIS
PROTEUS) et puis la réalisation pratique.
La réalisation de l’application de contrôle de vitesse a montré un écart entre la réalisation
pratique et l’étude théorique qui ne tient pas compte des problèmes d’origine physique aléatoire
négligées durant la phase de conception.
Comme travail futur, nous envisagerons d’améliorer les performances de l’application en
introduisant en asservissement en boucle fermée, aussi l’utilisation de l’encodeur absolu dans
l’asservissement de position et de vitesse, et si possible une utilisation dans une synchronisation
multiaxes de type maitre _esclave.
51
Bibliographes
[1] Robert Perret Elisabeth Roulière, Pascal Tixador « Entrainements électrique, alimentation
des machine électrique, principe de la conversion électromagnétique», tom 1, édition
Lavoisier, Paris, 2006.
[2] Marcel Jufer, « les entrainements électrique », édition Hermès-Lavoisier, 2010.
[3] [email protected], « Le moteur à courant continu à aimants permanents», Mise
à jour le 26 09 2007.
[4] Louis Couffignal, « La commande des moteurs de l’héliostat » polyvalent
STRASBOURG 10 juil. 2006.
[5] B. Cottenceau B311 ISTIA, « carte Arduino UNO Microcontroleur ATMEGA 328 »,
Microcontrôleurs EI3 Option AGI.
[6] http://www.arduino.cc/fr, Louis REYNIER, « c’est quoi Arduino ».
[7] Astalaseven, Eskimonet olyte, « Arduino pour bien commencer en électronique et en
programmation », Dernière mise à jour le 4/08/2012.
[8] [email protected], I.U.T. de Nîmes, « L298 : contrôleur de moteurs CC ».
[9] La datasheet du L298, «La datasheet du L298 », mercredi 29 juin 2011’’,
[10] Danaher Industrial Contrôles, « Encoder application Handbook ».
[11] A. da Silva & K. Craig, «Optical Encoders and the Arduino », 2012.
[12] D. MENESPLIER, « Afficheur Lcd », ENAC/ELE 2005.
[13] http://www.arduino.cc/cgibin/yabb2/YaBB.pl?num=1261124850/0.
Annexe
Annexes
Annexes A
Annexes B
Les logiciels utilisés
Mots clés
Carte Arduino, moteur à courant continu, langage de programmation, pont H, circuit L298, un
encodeur.