etude et realisation d’un variateur de vitesse d'un …
TRANSCRIPT
UNIVERSITE LARBI BEN M’HIDI DE OUM EL BOUAGHI FACULTE DES SCIENCES ET DES SCIENCES APPLIQUEES
DEPARTEMENT DE GENIE ELECTRIQUE
Filière de génie électrique
MEMOIRE DE FIN D’ETUDES
en vue de l’obtention du
DIPLOME DE MASTER
Spécialité : INFORMATIQUE INDUSTRIELLE
ETUDE ET REALISATION D’UN VARIATEUR
DE VITESSE D'UN MOTEUR PAS A PAS A BASE DE MICROCONTROLEUR PIC 16F876
Mémoire de fin d’études soutenu publiquement à Oum El Bouaghi
juin 2016
Par : BADRI Meriam
Dirigé par :
Dr. MOUETSI Souheil
Année universitaire : 2015/2016
i
Remerciements
Tout d’abord, Nous tient à remercier DIEU le miséricordieux
de nos avoir donné la possibilité de réaliser notre projet, d’arriver à notre
souhaits et d’atteindre notre objectifs.
Nous aimerons dans ces quelques lignes remercier toutes les personnes qui
d’une manière ou d’une autre, ont contribué au bon déroulement de notre
travail, tout au niveau humain qu’au niveau scientifique.
Nous tenons tout d’abord à remercier notre encadreur
MONSIEUR, Dr. MOUETSI Souheil, on a pu bénéficier à la fois de ses
compétences scientifiques, et de sa grande disponibilité, tant pour résoudre
les difficultés rencontrées lors de notre réalisation, de répandre à nos
questions. Nous ajoutons en particulière sa patience et ses encouragements,
nous a permis de travailler dans bonnes conditions.
Grand remercient à tous les ingénieurs des laboratoires de génie électrique :
Ali Germain et somia.
Nos remerciements s’adressent également à tous membres de Jury, qui ont
accepté de nous honorer de leur présence et de juger notre travail Merci.
Et à toute personne ayant contribué de près ou de loin à notre soutien moral.
B. Meriam
Introduction générale
1
Introduction générale
Le moteur pas à pas est actuellement le principal élément intermédiaire entre les
dispositifs d’informations est le monde électromécanique extérieur. Par ailleurs sa capacité
à contrôler la position et la vitesse, par un train d’impulsion de commande assure à ce
convertisseur des applications dans des domaines d'application toujours plus nombreux et
plus variés :
- Robotique : positionnement des axes, vitesse variable du robot, etc.
- Informatique : déplacement d'une tête de lecture d'un lecteur, déplacement de la tête
d'impression, avance du papier pour les imprimantes, commande des axes pour les
tables traçantes, etc.
- Astronomie : positionnement du télescope pour suivre un astre par exemple ;
réception TV par satellites (positionnement d'une parabole)….
Le but de notre travail est d’une part d’étudier le fonctionnement du moteur pas à pas, et
d’autre part de commander ce convertisseur électromagnétique avec un dispositif
numérique, par la réalisation d'une carte électronique à base d'un microcontrôleur -PIC
16F876- afin d’assurer un fonctionnement optimal
Le travail présent dans ce mémoire sera reparti en trois chapitres :
Le premier chapitre porte sur les principaux types de moteurs et plus précisément les
différents types de moteurs pas à pas tels que les moteurs à reluctances variables et les
moteurs à aimant permanent et les moteurs hybrides qui sont le fruit de la fusion des
technologies précédentes, et nous terminerons le premier chapitre on donnerons une étude
comparative entre les trois type des moteurs pas à pas.
Pour pouvoir commande le comportement d'un moteur pas à pas, le deuxième chapitre
est dédié à présentation du PIC 16F876, allons de sa structure interne jusqu'au
programmation.
Le troisième chapitre sera consacré à la partie commande et la mise en œuvre du
contrôle du moteur pas à pas par, on premier lieu on va présenter d'une part le schéma
électrique du montage utilisé en simulation et l'outil de programmation Mikro C PRO .
Nous terminerons notre mémoire par une conclusion générale et des perspectives sur le
travail réalisé.
Chapitre I
LES MOTEURS PAS A PAS
Les moteurs pas à pas
2
Chapitre 01 : LES MOTEURS PAS A PAS
I.1 Introduction
Le terme 'moteurs pas à pas', correspond à des ensembles : 'commande-convertisseur
électronique-moteur' particuliers dans le sens où ils mettent en œuvre des structures
spéciales de moteurs de type synchrone (au sens large) alimentées par des structures de
convertisseurs parfois originales et commandées en mode pas à pas par opposition aux
modes synchrones (champ tournant en boucle ouverte) et autopilotés (le fonctionnement
optimal) des machines de type synchrone.
Le mode pas à pas est un fonctionnement saccadé composé d’une succession d’impulsions
électriques (en courant ou en tension) destinées à obtenir une succession analogue
d’incréments de position. Il s’agit donc de réaliser une commande en position en boucle
ouverte (sans capteur) [1].
Les moteurs pas à pas sont souvent utilisés par les concepteurs qui veulent minimiser le
temps de développement du système dans lequel ils ont besoin d’entraînements asservis en
position. En effet, les autres moteurs (à collecteur ou sans balais autopilotés) associés à un
système d’asservissement en position (électronique d’alimentation, de commande et
capteurs) n’ont pas atteint le même niveau de standardisation et de bas coût que les
moteurs pas à pas.
Pourtant, la solution pas à pas semble souvent une aberration du point de vue
énergétique (consommation toujours beaucoup plus élevée) et du point de la qualité du
mouvement (saccadé, vibratoire, engendrant souvent un bruit acoustique élevé).
En fait, comme souvent, c’est la genèse des techniques qui a plus ou moins verrouillé
cette situation à une époque où le moteur pas à pas se présentait quasiment comme la seule
solution de commande électromécanique en position.
Pour compenser tous les problèmes inhérents à la commande pas à pas, des
améliorations souvent complexes ont été mises en œuvre (fonctionnement en boucle
fermée de position avec capteur, alimentation en micro-pas, autopilotage sans capteur…).
On retrouve alors des systèmes électromécaniques très proches des systèmes
conventionnels sans balais (moteurs synchrones autopilotés) mis à part le fait qu’ils
exploitent des structures électromagnétiques un peu particulières mais qui ne changent pas
grand-chose au résultat final.
I.2 Les moteurs
I.2.1 Présentation
a) Schéma fonctionnel :
Un moteur est un élément qui permet de transformer une énergie électrique (tension,
courant) en énergie mécanique (rotation) caractérisée par son couple utile (T) et sa vitesse
(ω) [1].
Les moteurs pas à pas
3
Figure (I. 1) : Schéma fonctionnel des moteurs
b) Principe de fonctionnement :
On place une spire de fil de cuivre dans le champ d’un aimant. Lorsque les
conducteurs sont parcourus par un courant, ils sont soumis à des forces F1 et F2 qui
tendent à faire tourner la spire. Le collecteur permet d'inverser le sens du courant dans les
conducteurs lorsque ceux-ci passent le plan vertical. Ainsi le sens du couple des forces F1
et F2 et donc le sens de rotation du moteur est conservé.
Figure (I.2) : Représentation du fonctionnement des moteurs
I.2.2 Description interne
Figure (I. 3) : Représentation du fonctionnement des moteurs
induit
Les moteurs pas à pas
4
§ Le stator appelé aussi 'inducteur' est la partie fixe du moteur, il est constitué d'un
électro-aimant, alimenté en courant continu, dont le rôle est de produire un champ
magnétique. Cette partie est fixée sur la carcasse cylindrique du moteur et entoure le
rotor.
§ Le rotor appelé aussi "induit', placé à l'intérieur du stator, est la partie tournante du
moteur. Il est constitué d'un cylindre portant des bobinages (conducteurs), disposés
latéralement sur sa surface. Les extrémités des fils de ces bobinages sont reliées au
collecteur, qui entoure l'arbre moteur.
§ Le collecteur est monté sur l'arbre du moteur et il ressemble à une couronne. Ce dernier
comporte des contacts métalliques isolés les uns des autres, qui assurent la distribution
du courant continu aux bobinages du rotor par l'intermédiaire de deux 'balais' (contacts
glissants). Ces balais, parfois appelés 'charbons', sont reliés à la source de tension
continue. L'ensemble collecteur-balais, est la partie la plus fragile d'un moteur.
On alimente à la fois le stator, qui crée un champ magnétique, et les bobinages du
rotor, qui sont donc parcourus par un courant électrique. Or, un conducteur placé
perpendiculairement à un champ magnétique et parcouru par un courant est soumis à une
force électromagnétique : il se déplace en coupant le champ magnétique. Ce conducteur
(ou bobinage) étant solidaire du rotor, celui-ci tourne autour de son axe, ou arbre : il peut
alors entraîner une roue, une poulie, une hélice, etc.
I.2.3 Définitions et caractéristiques générales
a. Vitesse :
Elle s’exprime soit en tours par minute, soit en radian par. On a donc :
(1)
[Ω] = rd/s, [n]= tr/min
Pour un moteur à courant continu, elle est proportionnelle à la tension d’alimentation
(2)
b. Sens de rotation :
Si le moteur le permet, pour un moteur à courant continu, le sens de rotation dépend du
sens d’alimentation du moteur.
c. Couple utile :
C’est la somme du moment des couples de forces électromagnétiques qui agissent sur
la partie tournante. Il s’exprime en Newton. Mètre (N.m).
(3)
Pour un moteur à courant continu, il est proportionnel au courant consommé.
(4)
d. Puissance utile :
C’est la puissance mécanique fournie par le moteur. Elle s’exprime par :
(5)
[Pu]= Watt, [T] = Newton. Mètre ; [Ω] = radian par seconde.
Les moteurs pas à pas
5
e. Puissance absorbée :
C’est la puissance électrique absorbée par le moteur. Elle s’exprime (en continu) par :
(6)
[Pa] = Watt, [U] = Volt, [I] = Ampère.
La puissance absorbée peut aller de quelques mW à quelques centaines de MW (TGV).
f. Rendement :
C’est le rapport de la puissance utile sur la puissance absorbée.
(7)
η est compris entre 0 et 1 ou s'exprime en %. Il représente la qualité de la transmission de
l’énergie électrique en énergie mécanique. Plus il se rapproche de 1, plus le moteur est
performant. Il représente indirectement les pertes par frottement et par effet Joule.
Le rendement d’un moteur peut aller jusqu'à 90 à 95 %.
I.2.4 Modèle électrique
Pour faire une étude, il est possible de remplacer un moteur électrique par son schéma
équivalent :
En régime permanent, le courant est pratiquement constant, on peut donc simplifier le
schéma précédent, par le schéma suivant :
On a donc l’équation suivante :
(8)
Où E représente la force contre électromotrice du moteur en volts.
R : la résistance équivalente du moteur (~ ohms).
Les moteurs pas à pas
6
I.3 Les différents types de moteurs
I.3.1 Le moteur synchrone
Une machine synchrone est une machine électrique qui :
- soit produit un courant électrique dont la fréquence est déterminée par la vitesse de
rotation du rotor : fonctionnement en génératrice dans deux quadrants du plan couple-
vitesse.
- soit absorbe un courant électrique dont la fréquence détermine la vitesse de rotation du
rotor : fonctionnement moteur.
Récemment, ce type de moteur revenir en force parallèlement au développement des
variateurs de vitesse.
a) Principe de fonctionnement
Le moteur synchrone se compose, comme le moteur asynchrone, d'un stator et d'un
rotor séparés par un entrefer. La seule différence se situe au niveau de la conception du
rotor. La figure ci-dessous montre un rotor à pôles saillants constitués d'aimants
permanents ou d'électro-aimants alimentés en courant continu.
Figure (I. 4) : moteur synchrone
Après le démarrage, le moteur tourne en synchronisme avec le champ tournant. A vide
les axes des pôles du champ tournant et du rotor sont confondus. En charge, les axes sont
légèrement décalés. La vitesse du moteur synchrone est constante quelle que soit la charge.
On notera aussi que :
- La charge ne doit pas dépasser l'effort de démarrage entre le rotor et le champ tournant.
- Le couple moteur est proportionnel à la tension à ses bornes.
b) Les avantages de moteur synchrone :
- il peut travailler avec un facteur de puissance proche de 1 (cos φ~ 1). Il contribue donc
à redresser le cos φ global de l'installation électrique.
- la vitesse du moteur est constante quelle que soit la charge.
- Il peut supporter des chutes de tension important sans décrocher.
Les moteurs pas à pas
7
c) Les inconvénients de moteur synchrone :
- S'il n'est pas associé à un variateur de vitesse, il a des difficultés au démarrage.
- il peut décrocher en cas de forte charge.
d) Pilotage de la vitesse de rotation
- A l'heure actuelle, le pilotage de la vitesse des moteurs synchrones se fait
électroniquement grâce à des variateurs de vitesse. Pour cette raison, on ne parlera ici
que du contrôle de la fréquence qui de loin la plus courante. Vu la nécessite pour un
moteur synchrone d'être démarré avec un système auxiliaire, le variateur de fréquence
associé au moteur synchrone permet de le démarrer avec une fréquence statorique
faible voire nulle.
- Sans perte de puissance, on peut piloter la vitesse de rotation du moteur en faisant
varier la fréquence et la tension car la vitesse de rotation du champ tournant au niveau
du stator change.
- A remarquer que le couple d'un moteur synchrone ne change pas en fonction de la
vitesse puisqu'il n'y a pas de glissement.
- Le pilotage du moteur synchrone par un variateur de fréquence montre des intérêts
certains ; à savoir principalement :
o La limitation du courant de démarrage (de l'ordre de 1,5 fois le courant
nominal),
o Un couple constant quelle que soit la vitesse du moteur.
I.3.2 Le moteur asynchrone
- La machine asynchrone, connue également sous le terme anglo-saxon de machine à
induction, est une machine électrique à courant alternatif sans connexion entre
le stator et le rotor.
- Les machines possédant un rotor en cage d'écureuil sont aussi connues sous le nom de
machines à cage ou machines à cage d'écureuil.
- Le terme asynchrone provient du fait que la vitesse de rotation du rotor de ces
machines n'est pas exactement déterminée par la fréquence des courants qui traversent
leur stator.
- Quant au moteur asynchrone seul, sa popularité résulte du peu d'entretien nécessaire,
de sa simplicité de construction, de sa standardisation et de sa robuste.
Figure (I. 5) : moteur asynchrone
Les moteurs pas à pas
8
a) Principe de fonctionnement
Le principe de fonctionnement d'un moteur asynchrone repose sur:
- la création d'un courant électrique induit dans un conducteur placé dans un champ
magnétique tournant. Le conducteur en question est un des barreaux de la cage
d'écureuil ci-dessous constituant le rotor du moteur. L'induction du courant ne peut
se faire que si le conducteur est en court-circuit (c'est le cas puisque les deux
bagues latérales relient tous les barreaux).
- la création d'une force motrice sur le conducteur considéré (parcouru par un courant
et placé dans un champ magnétique tournant ou variable) dont le sens est donnée
par la règle des trois doigts de la main droite.
Comme montré sur le schéma ci-dessus, le champ tournant, à un instant donné, est
orienté vers le haut. En considérant deux conducteurs diamétralement opposés, on constate
que les courants induits dans ces deux conducteurs sont en sens inverse et, associés au
champ magnétique, créent des forces motrices en sens inverse. Le rotor étant libre de
tourner sur l'axe X-Y, les deux forces s'associent pour imprimer aux deux conducteurs un
couple permettant la rotation de la cage d'écureuil : le moteur électrique est inventé.
- Pour entretenir la rotation du moteur, il est nécessaire de faire varier soit le courant
dans les conducteurs de la cage, soit le champ magnétique. Dans un moteur
asynchrone, c'est le champ magnétique qui varie sous forme de champ tournant
créé dans le stator.
- Au démarrage, le champ tournant balaye les conducteurs de son flux à la vitesse
angulaire de synchronisation. Le rotor mis en rotation tend à rattraper le champ
tournant. Pour qu'il y ait un couple entretenu au niveau des conducteurs, la
variation de flux doit être présente en permanence ; ce qui signifie que si les
conducteurs tournent à la vitesse de synchronisation comme le champ tournant, la
variation de flux sur les conducteurs devient nulle et le couple moteur disparaît.
- Un rotor de moteur asynchrone ne tourne donc jamais à la vitesse de
synchronisation, il intervient ici la notion de glissement.
b) Pilotage de la vitesse de rotation
Le pilotage de la vitesse de rotation du moteur asynchrone est essentiel pour beaucoup
d'applications. On peut piloter la vitesse de rotation en intervenant sur :
- le nombre de pair de pôle (moteur à deux vitesses par exemple),
- le glissement du moteur (moteur à bague),
- la fréquence du réseau.
- régulation de fréquence
A l'heure actuelle, le pilotage de la vitesse des moteurs asynchrones se fait
électroniquement grâce à des variateurs de vitesse. Pour cette raison, on ne parlera ici que
du contrôle de la fréquence. Sans perte de puissance, on peut piloter la vitesse de rotation
du moteur en faisant varier la fréquence car la vitesse de rotation du champ tournant au
niveau du stator change. Pour conserver le couple moteur, il faut que la tension du moteur
se modifie avec la fréquence dans un rapport constant.
Les moteurs pas à pas
9
I.3.3 Le moteur à courant continu
Le moteur à courant continu est un convertisseur électrique en énergie mécanique avec
quelques pertes.
Figure (I. 6) : Moteur à courant continu
a) Principe de fonctionnement
Le moteur à courant continu est essentiellement composé de trois parties :
- Le stator ou inducteur : il est formé d’aimant pour les petits moteurs et de bobine
parcouru par un courant pour les moteurs plus puissants. Grâce aux progrès sur les
aimants ses derniers sont de plus en plus employés. Les aimants ou bobines permettent
la création d’un flux magnétique.
- Le rotor ou induit : il est alimenté par une tension U et parcourue par un courant I, le
circuit électrique appelé induit est obtenue en associant en série des conducteurs logés
dans des encoches du rotor.
- Le collecteur : il est formé d’un ensemble de lames de cuivre isolées latéralement les
unes des autres et disposées suivant un cylindre en bout de rotor. Deux balais portés
par le statuer frottent sur les lames des collecteurs.
b) Avantages et inconvénients
- L'avantage principal des machines à courant continu
réside dans leur adaptation simple aux moyens
permettant de régler ou de faire varier leur vitesse,
leur couple et leur sens de rotation.
- Le principal problème de ces machines vient de la
liaison entre les balais et le collecteur rotatif. Ainsi
que le collecteur lui-même et la complexité de sa
réalisation.
- Plus la vitesse de rotation est élevée, plus la
pression des balais doit augmenter pour rester en
contact avec le collecteur donc plus le frottement
est important donc ils doivent être remplacés très régulièrement.
- le collecteur imposant des ruptures de contact provoque des arcs, qui usent rapidement
le commutateur et génèrent des parasites dans le circuit d'alimentation, ainsi que par
rayonnement électromagnétique.
- lorsque le rotor est bobiné, la force centrifuge finissant par casser les liens assurant la
tenue des ensembles de spires (le frettage), c'est le phénomène de défrettage.
Les moteurs pas à pas
10
- La température est limitée au niveau du collecteur par l'alliage utilisé pour braser les
conducteurs du rotor aux lames du collecteur. Un alliage à base d'argent doit être utilisé
lorsque la température de fonctionnement dépasse la température de fusion de l'alliage
classique à base d'étain.
Un certain nombre de ces inconvénients ont partiellement été résolus par des
réalisations de moteurs sans fer au rotor, comme les moteurs disques ou les moteurs
cloches, qui néanmoins possèdent toujours des balais. Mais aussi, les travaux de recherche
ont permet d'éliminé les inconvénients ci-dessus grâce au moteur à courant continu sans
balais, ou machine synchrone auto-pilotée.
c) Pilotage d'un moteur à courant continu
Les moteurs à courant continu à collecteur, encore utilisés de nos jours, sont à
inducteur bobiné ou à aimants permanents. Les premiers sont à excitation séparée ou à
excitation série, c’est notamment le cas des moteurs universels très employés en
électroménager. Leur alimentation est réalisée par convertisseurs à thyristors ou par
gradateurs ou encore par hacheur selon la source d’alimentation ou les choix technico-
économiques effectués.
Il s’agit de contrôler le courant d’induit, éventuellement le courant inducteur, grâce au
réglage de la tension :
- Le couple d’un moteur à courant continu est proportionnel aux flux et à l’intensité. Le
flux crée par un aimant est constant dans ce cas, le couple est proportionnel au courant.
- La variation de la vitesse d’un moteur à courant continu est obtenue en faisant varier la
valeur moyenne de la tension d’alimentation U. On peut utiliser une tension continue
variable mais le rendement peut être mauvais, pour résoudre ce problème, on place un
transistor ballast entre la source d’alimentation et le moteur.
Généralement, on utilise une commande MLI (Modulation de Largeur d’Impulsion) ou
PWM (Pulse Width Modulation) qui permet d’avoir un rendement de 100% quel que soit
la vitesse du moteur par le biais de variation du rapport cyclique de la tension.
Figure (I. 7) : Les imputions de la commande MLI
Les moteurs pas à pas
11
I.3.4 Le moteur pas à pas
Le moteur pas à pas fut inventé en 1936 par Marius Lavet, un ingénieur français
des Arts et Métiers, pour l'industrie horlogère. Il est un moteur qui tourne en fonction
d’impulsions électriques reçues dans ses bobinages. L'angle de rotation minimal entre deux
modifications des impulsions électriques s'appelle un pas. On caractérise un moteur par le
nombre de pas par tour (c'est à dire pour 360°).
Les moteurs pas à pas sont des moteurs spéciaux, composés simplement d’un stator
réunissent des pièces polaires et des bobinages, et utilisés pour commander avec grande
précision le déplacement et la position d’un objet. [4].
Figure (I. 8) : Moteur pas à pas
L'usage le plus connu des moteurs pas à pas du grand public est dans les imprimantes
et les scanner . Mais ils sont présents dans de nombreuses applications telles que : les
photocopieurs, imprimantes bancaires, robotique, instrumentation, pompes à
perfusion, pousse-seringues, système de positionnement sur machine industrielle
et machine-outil.etc.
a) Principe de fonctionnement
Le principe de base est la création d’un champ tournant, les pôles magnétiques de
rotation de même nom se repoussent et les pôles des noms contraires s’attirent, le champ
magnétique entraînera le rotor alimenté dans le même sens.
Ceci traduit le fait qu’on transforme une grandeur numérique en une grandeur
analogique. La fréquence de rotation, ou vitesse est donc commandée par des impulsions
(consigne de rotation) contrôlées elle-même par un dispositif électronique en technologie
câblée programmée.
Analysant théoriquement un moteur composé d'un aimant permanent (boussole) et de
deux bobinages constitués chacun de deux bobines. Le passage d'un courant,
successivement dans chaque bobinage, fait tourner l'aimant.
Les moteurs pas à pas
12
Figure (I. 9) : Principe de base de la création d’un champ tournant
- Nous avons créé un moteur de quatre pas par tour.
- Les impulsions électriques sont du type tout ou rien, c'est à dire passage de courant ou
pas de passage de courant.
- L'électronique actuelle permet de piloter la chronologie de ces impulsions avec
beaucoup de précision et d'en comptabiliser le nombre.
- Le moteur pas à pas et son circuit de commande permettent donc la rotation d'un axe
avec beaucoup de précision en vitesse et en amplitude.
b) Avantages des moteurs pas à pas
- Les moteurs pas à pas sont souvent utilisés par les concepteurs qui veulent minimiser le
temps de développement du système dans lequel ils ont besoin d’entraînements
asservis en position. En effet, les autres moteurs (à collecteur ou sans balais
autopilotés) associés à un système d’asservissement en position (électronique
d’alimentation, de commande et capteurs) n’ont pas atteint le même niveau de
standardisation et de bas coût que les moteurs pas à pas.
- Rotation constante pour chaque commande.
- Existence de couple à l’arrêt.
- Contrôle de la position, de la vitesse et synchronisation de plusieurs moteurs (pas de
besoin de contre-réaction).
- Moteur sans balais.
c) Inconvénients des moteurs pas à pas
- Plus difficile à faire fonctionner qu’un moteur a courant continu.
- Vitesse et couple relativement faible.
- Couple décroissant rapidement lorsque la vitesse augmente.
- Résonance mécanique.
Les moteurs pas à pas
13
d) La technologie des moteurs pas à pas :
Il existe trois catégories des moteurs pas à pas [1]:
- moteurs pas à pas à réluctance variable :
- il n y a pas la notion de pas.
- A caractéristique électrique identique, un tel moteur est
moins puissant, mais plus rapide que les moteurs à aimant
permanent.
- Sans doute les plus anciens.
- moteurs pas à pas à aimants permanents :
- il y a la notion de pas.
- Ce sont des moteurs à faible coût de revient, et de résolution
moyenne (jusqu’ à 100 pas/tour).
- moteurs pas à pas à hybrides :
- Ces moteurs combinent les deux technologies précédentes,
- Ils sont plus chers.
- Leur intérêt réside dans un meilleur couple, une vitesse plus
élevée, et une résolution de 100 à 400 pas/tour.
- Les moteurs les plus courants sont ceux à aimants permanents
et les hybrides.
-
d.1 Moteur pas à pas à aimant permanents :
Les moteurs à aimants sont ceux que nous utiliserons dans notre projet de fin d’étude.
Ils sont constitués d’un stator supportant les bobinages et d’un rotor magnétique (aimant
bipolaire) et ils se caractérisent par :
- Faible résolution : nombre de pas / tour peu important,
- Couple d’utilisation plus élevé par rapport au moteur à reluctance variable,
- Présence d’un couple résiduel lorsque le moteur est hors tension.
Cette catégorie de moteur se subdivise en deux types : le moteur unipolaire et le moteur
bipolaire.
a. Moteurs pas à pas bipolaires :
La structure interne d’un moteur de type bipolaire est présenter dans la figure ci-
dessous, ce type de moteur nécessite une commande plus complexe que celle du moteur
unipolaire. A chaque pas effectué, le courant devant change de sens dans les enroulements.
Les moteurs pas à pas
14
Figure (I. 10) : Moteur à aiment permanent bipolaire
b. Les moteurs unipolaires
Une représentation schématisée d’un moteur unipolaire est donnée dans la figure ci-
dessous. Afin d’inverser le sens du courant, les enroulements sont réalisés au moyen de
deux fils dont l’une des extrémités est reliée au pôle + ou au pôle – de l’alimentation.
Figure (I.11) : Moteur à aiment permanent unipolaire
La commande de ce type moteur est la plus simple de tous les moteurs pas à pas
puisqu’il suffira d’alimenter les bobinages à tour de rôle pour faire tourner l’axe d’un pas.
Comme pour chaque type de moteur, le modèle unipolaire peut être commandé en
mode monophasé, biphasé ou demi-pas.[1]
d.2 Moteur pas à pas à réluctance variable :
La dénomination des machines à réluctance variable (MRV) englobe des machines de
structures différentes dont la propriété commune est la variation sensible de la forme de
l’entrefer durant la rotation. Mais, ces machines n’ont pas les mêmes caractéristiques ni les
mêmes performances et ne sont pas destinées au même usage.
a. Différents types de la MRV :
Les machines à réluctance variable se devisent, de part leur construction, en deux
grandes catégories :
1) Les machines à stator lisse.
2) Les machines à double denture dite « vernier ».
Dans ces deux types le rotor est à Nr dents identiques et régulièrement réparties.
Les moteurs pas à pas
15
b. Fonctionnement des MRV :
A chaque impulsion de la commande, la phase suivante du stator est alimentée. On
constate que les pôles les plus proches des bobines alimentées se positionnent en face de
ces dernières. Suivant l’ordre d’alimentation des phases du stator, on peut choisir le sens
de rotation.
Figure (I.12) : Moteur à réluctance variable
c. Inconvénients des MRV
- nécessite au moins trois bobinages, pour obtenir un cycle complet,
- pas de couple résiduel, c’est-à-dire que hors tension, le rotor est libre, ce qui peut être
problématique pour ce genre de moteur.
- La fabrication est assez délicate, les entrefers doivent être très faibles.
d. Avantage des MRV
- peu coûteux,
- d'une bonne précision.
- Le sens du courant dans la bobine n'a aucune importance.
d.3 Moteur pas à pas hybride :
C’est un moteur qui superpose le principe de fonctionnement des moteurs à aimant
permanent et à réluctance variable et combine leurs avantages [2].
a. Exemple d'un moteur à 200 pas
Figure (I. 13) : Exemple de moteur à 200 pas
- Le rotor composé d'un aimant permanent emboîté dans deux couronnes de 50 dents
décalées d'une demi-dent. De profil, on a ainsi 100 dents alternativement pôle nord
et pôle sud soit 50 paires de pôles.
Les moteurs pas à pas
16
- Le stator est constitué de 2 bobines (modèle bipolaire) montées en 8 électro-
aimants soit 4 paires de pôles.
- Le nombre de pas entier possible est de 50 × 4 soit 200 pas.
I.4 Etude comparative et caractéristique
a. Etude comparative :
Le tableau ci-dessous présente les avantages entre les moteurs à aimant, les moteurs à
réluctance variable (les moteurs les plus utilisés) et les moteurs pas à pas hybride :
Type de moteur Moteur à aimant
permanent
Moteur à
réluctance
variable
Moteur hybride
Résolution (nb de
pas/tour) Moyenne Bonne Elevée
Couple moteur Elevé Faible Elevé
Sens de rotation
Il dépend :
-du sens du courant pour
les moteurs bipolaires
-L’ordre d’alimentation des
bobines
Il dépend
uniquement de
l’ordre
d’alimentation des
bobines
Il dépend :
-du sens du courant pour
les moteurs bipolaires
-L’ordre d’alimentation
des bobines
Fréquence de
travail Faible Grande grande
Tableau (I. 1) : Etude comparative entre les différents types de moteur pas à pas.
b. Caractéristiques des moteurs pas à pas
Figure (I. 14) : Couple d'arrêt ou couple de maintien [3]
- Couple maximum de rotation : avec lequel on peut solliciter l'arbre d'un moteur pas à
pas excité statiquement, sans qu'il ne se produise de modification de son angle de
rotation.
- Plage de démarrage : plage dans laquelle un moteur pas à pas peut être actionné en
synchronisation avec la fréquence de travail sans rampe d'accélération ou de
décélération.
- Fréquence limite de démarrage : la fréquence maximale avec laquelle un moteur pas
à pas ne peut démarrer à la charge indiquée, sans perdre de pas.
Les moteurs pas à pas
17
- Plage d'accélération: la plage de travail dans laquelle un moteur pas à pas peut être
actionné en synchronisation avec la fréquence de travail, sans qu'il ne se produise
d'erreur de pas. Il faut cependant qu'il soit actionné avec une rampe d'accélération et de
décélération.
- Couple limite de travail: le couple de rotation maximale avec lequel on peut solliciter
un arbre de rotation avant qu'il ne sorte de la cadence.
- Fréquence maximale des pas: la fréquence maximale admise avec laquelle un moteur
pas à pas est actionné à vide sans perte de pas. Cependant, le moteur ne peut être
démarré ou stoppé avec cette fréquence sans perte de pas.
I.5 Etude du courant dans un enroulement (phase) du moteur pas à pas
E=L +r.i (9)
L : L’inductance d’un enroulement du moteur
r : Résistance du moteur
Solution générale de l’équation sans second membre :
Log i= - i=k 2. (10)
Solution particulière de l’équation avec second membre :
(11)
Solution générale de l’équation avec second membre :
(12)
Détermination de la constante K2 :
(13)
Equation finale
= (1- ) (14)
On pose : r= constante de temps (exprimée en secondes)
) (15)
Les moteurs pas à pas
18
Figure (I. 15) : Représentation du fonctionnement des moteurs
Ø Réduction de la constante de temps :
On constate que la constante de temps τ = L/r peut être diminuée par l’addition d’une
résistance r’ en série avec l’enroulement. Cependant, la valeur du courant (régime
permanent) est réduite. Le couple moteur est donc diminué. Pour le rétablir, il faut
augmenter la tension d’alimentation du moteur.
On constate que la vitesse de montée du courant dans l’enroulement est plus élevée
avec une résistance additionnelle r’. Le couple moteur s’établit donc plus rapidement. Les
performances du moteur (fréquence maximale d’arrêt - démarrage et fréquence maximale
de survitesse) sont considérablement améliorées.
Cependant, la résistance additionnelle dissipe inutilement une puissance : P=E²/r’.
I.6 Séquence de commande d'un moteur pas à pas
Pour appliquer les séquences de commande avec la correcte succession et la juste
polarité, il est important de connaître la constitution interne des enroulements d’un moteur
pas à pas. Comme nous avons indiqué ci-dessus, pour chacun types de moteurs pas à pas
(unipolaire et bipolaire) on doit réaliser différentes techniques de commande
En pratique, pour ce qui concerne la réalisation des enroulements, il existe deux types
différents de moteur pas à pas :[3]
a. Séquence de commande d'un moteur pas à pas bipolaire :
Ces moteurs sont réalisés avec deux enroulements, comme représentés dans la figure
ci-dessous, qui sont en série entre eux.
Les moteurs pas à pas
19
Figure (I. 16) : représentation symbolique (a) et physique (b)
D’un moteur pas à pas à deux phases
Pour obtenir l’inversion de la polarité du champ magnétique avec ce type de moteur, il
est nécessaire d’inverser le sens de circulation du courant dans les deux enroulements du
stator. Ceci, pratiquement se réalise en inversant les polarités des tensions appliquées aux
extrémités des enroulements.
La figure ci-dessous présente un schéma plus simplifié de principe soit du moteur pas à
pas bipolaire soit des circuits de polarisation des enroulements.
Figure (I. 17) : principe de commande du moteur pas à pas bipolaire
Ce type de commande demande la réalisation de circuits électroniques très complexes
et il est communément connu sous le nom de commande bipolaire à cause de la double
polarité des tensions appliquées aux extrémités des enroulements.
La figure suivante représente schématiquement une complète séquence de commande
pour un moteur pas à pas bipolaire et avec les deux enroulements activés.
Figure (I. 18) : séquence de commande du moteur pas à pas bipolaire
Le tableau (I.2) présente la précédente séquence de commande, qui permet de
réaliser une rotation uniforme et continue du moteur.
Les moteurs pas à pas
20
A C B D
Etat initial + + - -
1ère impulsion - + + -
2ème impulsion - - + +
3ème impulsion + - - +
4ème impulsion (retour à l’état initial) + + - -
Tableau (I. 2) : séquence de commande d'un moteur pas à pas bipolaire
b. Séquence de commande d'un moteur pas à pas unipolaire :
Ces moteurs sont réalisés soit avec des enroulements de stator indépendants soit avec
des enroulements à prise centrale, de façon à avoir deux moitiés d’enroulements opposées.
Avec la deuxième configuration, on peut générer des champs magnétiques opposés sans
devoir à inverser le sens du courant.
Figure (I.19) représente une configuration d’un moteur pas à pas à six fils utilisable soit
pour le mode unipolaire soit pour le mode bipolaire.
Figure (I. 19) : représentation symbolique (a) et physique (b)
D’un moteur pas à pas à deux phases
- Les deux enroulements Ph1 et Ph2 sont enroulés sur le même noyau de façon que le
courant en entrant du terminal 1 crée deux champs magnétiques opposés suivant que le
terminal est en A ou en B. dans ce cas, nous avons un schéma équivalent à un moteur
unipolaire.
- Si au contraire le courant entre de A et sort de B, le terminal 1 n’est pas alimenté en
courant, c’est le fonctionnement en mode bipolaire (les terminaux 1 et 2 ne doivent pas
être connectés). Et de même pour les phases 3 et 4.
La figure (I.20) présente un schéma simplifié de principe des circuits de commande du
moteur en mode unipolaire.
Les moteurs pas à pas
21
Figure (I.20) : schéma de principe pour la commande du moteur pas à pas unipolaire
Ce type de commande demande la réalisation de circuits électroniques extrêmement
simples et il est communément connu sous le nom de commande unipolaire, puisque les
tensions appliquées aux extrémités des enroulements maintiennent constantes leurs
polarités.
La Figure (I.21) présente schématiquement une complète séquence de commande pour
un moteur pas à pas unipolaire.
Figure (I.21) : séquence de commande du moteur pas à pas unipolaire
Le tableau (I. 3) présente la précédente séquence de commande, qui permet de réaliser
une rotation uniforme et continue du moteur.
A C B D
Etat initial + - - +
1ère impulsion - + - +
2ème impulsion - + + -
3ème impulsion + - + -
4ème impulsion (retour à l’état initial) + - - +
Tableau (I. 3) : séquence de commande d'un moteur pas à pas unipolaire.
Chapitre II
Présentation du
microcontrôleur
PIC 16F876
Présentation du microcontrôleur PIC 16F876
22
Chapitre 02 : PRESENTATION DU MICROCONTROLEUR
PIC 16F876
II.1 Introduction
Le microcontrôleur est un objet technique, intégrant de l’électronique, fait souvent
apparaître des fonctions ayant pour rôle le traitement d’information : opérations
arithmétiques (addition, multiplication…) ou logiques (ET, OU…) entre plusieurs signaux
d’entrée permettant de générer des signaux de sortie.
Ces fonctions peuvent être réalisées par des circuits analogiques ou logiques. Mais,
lorsque l’objet technique devient complexe, et qu’il est alors nécessaire de réaliser un
ensemble important de traitements d’informations, il devient plus simple de faire appel à
une structure à base de microcontrôleur.
II.2 Généralités sur les PIC
II.2.1 Définition de PIC
Un microcontrôleur PIC est une unité de traitement et d’exécution de l'information
à laquelle on a ajouté des périphériques internes permettant de réaliser des montages sans
nécessiter l’ajout de composants annexes. Un microcontrôleur PIC peut donc fonctionner
de façon autonome après programmation.
Les microcontrôleurs sont aujourd’hui implantés dans la plupart des applications
grand public ou professionnelles, il en existe plusieurs familles. La société Américaine
Micro- chip Technologie a mis au point dans les années 90 un microcontrôleur PIC
(Periphirol Interface Contrôler) CMOS. Ce composant encore très utilisé à l’heure actuelle,
il se caractérise par sa rapidité, moindre prix et simplicité d'utilisation [5].
Les PIC existent dans plusieurs versions selon le type de mémoire intégrée :
- Les UVPROM qui sont effaçable par une source de rayonnements ultraviolets,
- Les OTPROM programmable une seule fois,
- Les EEPROM et flash EPROM qui sont effaçables électriquement.
II.2.2 Les différentes familles des PICs
Les PICs sont des microcontrôleurs à architecture RISC (Reduce Instructions
Construction Set), ou encore composant à jeu d’instructions réduit. L'avantage est que plus
on réduit le nombre d’instructions, plus leur décodage sera rapide ce qui augmente la
vitesse de fonctionnement du microcontrôleur. La famille des PICs est subdivisée en 3
grandes familles [5] :
- Base –line : les instructions sont codées sur 12 bits.
- Mid-Range : les instructions sont codées sur 14 bits. (et dont font partie la 16F84 et
16F876).
- High –end : les instructions sont codées sur 16 bits.
Présentation du microcontrôleur PIC 16F876
23
Toutes les PICs Mid-Range ont un jeu de 35 instructions, stockent chaque
instruction dans un seul mot de programme, et exécutent chaque instruction (sauf les sauts)
en un cycle. On atteint donc des très grandes vitesses, et les instructions sont de plus très
rapidement assimilées.
Un PIC16F876-04 peut fonctionner avec une horloge allant du continu jusqu’à 4
MHz. Nous limiterons notre travail à la famille Mid-Range et plus particulièrement au PIC
16F876/877.
II.2.3 Identification des PICs
Pour identifier un PIC, nous utilisons le repérage suivant :
- deux chiffres : famille du PIC (10, 12, 16, 18, 24 ,32)
- première lettre : type de mémoire de programme (C ou F) :
o Le F indique en général qu'il s'agit d'une mémoire flash et donc effaçable
électriquement.
o La lettre C indique en général que la mémoire ne peut être effacée que par
exposition aux ultra-violets (exception pour le PIC16C84 qui utilise une mémoire
EEPROM donc effaçable électriquement).
o Un L peut être ajouté devant pour indiquer qu'il s'agit d’une modèle basse tension
(exemple : 2 V à 5,5 V si LF — 4,2 V à 5,5 V si F).
- un nombre de 2 à 4 chiffres : modèle du PIC au sein de la famille. Toutefois il y a
maintenant des exceptions : PIC18F25K20 ou PIC18F96J60 par exemple.
- un groupe de lettres pour indiquer le boîtier et la gamme de température.
- Finalement nous trouvons sur les boîtiers la fréquence d’horloge maximale que le
PIC peut recevoir. Par exemple –04 pour un 4MHz.
Notons que les PIC sont des composants STATIQUES, c’est à dire que la
fréquence d’horloge peut être abaissée jusqu’à l’arrêt complet sans perte de données et
sans dysfonctionnement, ceci par opposition aux composants dynamiques (comme les
microprocesseurs), donc la fréquence d’horloge doit rester dans des limites précises.[9]
Exemple :
Figure (II. 1) : Identification des PICs
Présentation du microcontrôleur PIC 16F876
24
II.2.4 Les avantages du microcontrôleur
L’utilisation des microcontrôleurs pour les circuits programmables à plusieurs
points forts et bien réels. Il suffit pour s’en persuader, d’examiner la spectaculaire
évolution de l’offre des fabricants de circuits intégrés en ce domaine depuis quelques
années.
- Tout d’abord, un microcontrôleur intègre dans un seul et même boîtier ce qui, avant
nécessitait une dizaine d’éléments séparés. Il résulte donc une diminution évidente de
l’encombrement de matériel et de circuit imprimé
- Cette intégration a aussi comme conséquence immédiate de simplifier le tracé du
circuit imprimé puisqu’il n’est plus nécessaire de véhiculer des bus d’adresses et de donnée
d’un composant à un autre.
- L’augmentation de la fiabilité du système puisque, le nombre des composants
diminuant, le nombre des connexions composants/supports ou composants/circuits
imprimer diminue.
- Le microcontrôleur contribue à réduire les coûts à plusieurs niveaux
o Moins cher que les autres composants qu’il remplace.
o Diminuer les coûts de main d’œuvre.
- Réalisation des applications non réalisables avec d’autres composants.
II.3 Architecture des PICs
II.3.1 Structure interne d'un PIC
Les PIC, au même titre que les microprocesseurs, sont composés essentiellement de
registres ayant chacun une fonction bien définie. Les PIC possèdent également des
périphériques intégrés, tels qu'une mémoire EEPROM, un timer, des ports d'entrées/sorties
ou bien encore un convertisseur analogique/numérique comme le montre la figure
suivante :
Figure (II. 2) : Structure de base d’un PIC.
Présentation du microcontrôleur PIC 16F876
25
Selon le type de PIC utilisé, on retrouvera en interne un certain nombre de registres
et périphériques possédant des caractéristiques différentes.
Les différences de caractéristiques selon le PIC utilisé sont :
- La taille de la RAM interne.
- La mémoire EEPROM intégrée.
- Le type de mémoire programme : FLASH, EPROM ou OTP et la taille de celle-ci.
- Le timer intégré.
- Les convertisseurs analogique/numérique intégrés.
II.3.2 Structure minimale d'un PIC
La structure minimale d'un PIC est constituée des éléments ci-dessous :
- Une unité arithmétique et logique (UAL) : est chargée d’effectuer toutes les
opérations arithmétiques de base (addition, soustraction et logiques etc.).
- Un registre compteur de programme (CP) : est chargée de pointer l’adresse
mémoire courante contenant l’instruction à réaliser pour le microcontrôleur. Le contenu de
registre PC évolue selon le pas de programme.
- Registre pointeur de pile (PP) : est essentiellement utilisé lorsque l’on relise un
sous-programme. Le pointeur de pile est chargé de mémoriser l’adresse courante que
contient le compteur de programme avant le saut à l’adresse du sou programme.
- Un registre d’instruction : contient tous les codes binaires correspondants aux
instructions à réaliser par le microcontrôleur.
- Une horloge système : permet de cadencer tous les échanges internes et externes au
microcontrôleur.
- Un registre d’état : est en relation avec l’UAL et permet de tester le résultat de la
dernière opération effectuée par le microcontrôleur. Des bits sont positionnés dans le
registre d’état et ceux-ci peuvent être testés à l’aide des instructions de branchement pour
effectuer des sauts conditionnels.
- Des ports d’entrées/sorties : permettent de dialogué avec l’extérieure du
microcontrôleur, par exemple pour prendre en compte l’état d’un interrupteur.
- La mémoire programme : elle est constitué de 8K mots de 14 bits, c’est dans cette
zone que nous allons écrire notre programme.
- La mémoire EEPROM (Electrical Erasable Programmable Read Only Memory) :
est constitué de 258 octets que nous pouvons lire et écrire depuis notre programme. Ces
octets sont conservés après une coupure de courant et sont très utiles pour conserver des
paramètres semi permanents. Leur utilisation implique une procédure spéciale, car ce n’est
pas de la RAM, mais bien une ROM de type spécial. Il est donc plus rapide de la lire que
d’y écrire.
- La mémoire RAM : c’est celle que nous allons sans cesse utiliser. Toutes les
données qui y sont stockées sont perdues lors d’une coupure du courant. La mémoire RAM
est subdivisée de plus en deux parties. dans chacune des banques nous allons trouver des
cases mémoires spéciales appelées registres spéciaux et des cases mémoires libres.
Présentation du microcontrôleur PIC 16F876
26
II.4 Choix du microcontrôleur
Le choix d’un microcontrôleur est une tâche très important car c’est de lui que
dépendent une grande partie les performances, la taille, la facilité d’utilisation et le prix du
montage.
Dans notre projet, nous avons choisi le PIC 16F876 parce qu'il dispose de plusieurs
ports d'entrées /sorties chose très intéressants pour notre application et qu'il possède aussi
en plus des instructions très puissantes, donc une programmation simple. [6][7]
II.4.1 Le PIC 16F876
Le PIC 16F876 est un microcontrôleur de MICROCHIP, il fait partie de la famille
des Mid Range (16) dont la mémoire programme est de type flash (F) et capable d’accepter
une fréquence d’horloge maximale de 4Mhz. A noter que le PIC 16F876 consomme moins
de 2mA sous 5V à 4 MHz
II.4.2 La structure interne du microcontrôleur PIC 16F876
Nous allons maintenant s’intéresser à la structure interne du PIC 16F876, avec
lequel nous avons travaillé [8].
Caractéristiques générales :
PIC FLASH RAM EEPROM I/O A/D PORT // Port série
16F876 8K 368 256 22 5 NON USART/MSSP
a. Schéma fonctionnel :
Présentation du microcontrôleur PIC 16F876
27
Figure (II. 3): Schéma interne d’un microcontrôleur [2]
b. Brochage du 16F876 [2]:
Figure (II. 4): Brochage du PIC16f876
Présentation du microcontrôleur PIC 16F876
28
c. Les particularités électriques :
- On constate que sur le schéma concernant le 16F876, on a deux connexions 'VSS'
qui sont reliées à la masse. En fait, en interne, ces broches sont interconnectées. La
présence de ces deux broches s’explique pour une raison de dissipation thermique. Les
courants véhiculés dans le PIC sont loin d’être négligeables du fait des nombreuses
entrées/sorties disponibles. Le constructeur a donc décidé de répartir les courants en
plaçant deux broches pour l’alimentation VSS, bien évidemment, pour les mêmes raisons
(dissipation thermique), ces broches sont situées de part et d’autre du PIC, et en positions
relativement centrales.
- MCLR : cette broche sert à initialiser le microcontrôleur PIC
- On trouve le quartz, qui peut être remplacé par un résonateur ou par un simple
réseau RC. Les condensateurs de découplage, du fait de la fréquence plus importante du
quartz utilisé, sont de valeur environ 15 pF. La tolérance sur ces composants permet
d’utiliser d’autres valeurs.
d. Les éléments essentiels du PIC 16F876 sont :
- Une mémoire programme de type EEPROM flash de 8K mots de 14 bits
- Une RAM donnée de 368 octets
- Une mémoire EEPROM de 256 octets
- Trois ports d'entrée sortie, A (6 bits), B (8 bits), C (8 bits)
- Convertisseur Analogiques numériques 10 bits à 5 canaux
- USART, Port série universel, mode asynchrone (RS232) et mode synchrone
- SSP, port série synchrone
- Trois TIMERS avec leurs Prescalers, TMR0, TMR1, TMR2
- Deux modules de comparaison et capture CCP1 et CCP2
- Un chien de garde
- 13 sources d'interruption
- Générateur d'horloge, à quartz (jusqu’ à 20 MHz) ou à Oscillateur RC
- Fonctionnement en mode sleep pour réduction de la consommation
- Programmation par mode ICSP (In Circuit Serial Programming) 12V ou 5V
- Possibilité aux applications utilisateur d’accéder à la mémoire programme
- Tension de fonctionnement de 2 à 5V
- Jeux de 35 instructions
II.4.3 Organisation du 16F876
a. Mémoire
La mémoire du 16F876 est divisée en 3 parties :
1) La mémoire programme :
La mémoire programme est constituée de 8K mots de 14 bits. C’est dans cette zone que
nous allons écrire notre programme.
Présentation du microcontrôleur PIC 16F876
29
2) La mémoire EEPRPOM :
La mémoire EEPROM (Electrical Erasable Programmable Read Only Memory), est
constituée de 256 octets que nous pouvons lire et écrire depuis notre programme.
Ces octets sont conservés après une coupure de courant et sont très utiles pour conserver
des paramètres semi permanents.
3) La mémoire RAM et organisation :
La mémoire RAM est celle que nous allons sans cesse utiliser. Toutes les données
qui y sont stockées sont perdues lors d’une coupure de courant.
La mémoire RAM disponible du 16F876 est de 368 octets. Elle est répartie de la manière
suivante :
1) 80 octets en banque 0, adresses 0x20 à 0x6F
2) 80 octets en banque 1, adresses 0xA0 à 0XEF
3) 96 octets en banque 2, adresses 0x110 à 0x16F
4) 96 octets en banque 3, adresses 0x190 à 0x1EF
5) 16 octets communs aux 4 banques, soit 0x70 à 0x7F = 0xF0 à 0xFF ; 0x17F=0x1F0
à 0x1FF.
b. Watchdog :
Sous ce nom étrange nous allons découvrir une fonction capable de surveiller le bon
fonctionnement du programme que le microcontrôleur exécute. Le rôle du Watchdog (ou chien de
garde) est de "reseter" le microcontrôleur si 1'on ne remet pas à zéro périodiquement (à
intervalle définissable) un registre interne grâce à 1 'instruction clrwdt (clear watchdog), si le
programme tourne par exemple dans une boucle sans fin (c’est un bug !) il ne peut remettre à
0 le chien de garde et ainsi le microcontrôleur se reset afin de relancer le programme.
Cette fonction est bien sûr désactivée au moment de la programmation du microcontrôleur, c'est la
directive d'assemblage.
c. Le TIMER :
Un timer est un registre interne au microcontrôleur, celui-ci s’incrémente au grès d'une
horloge, ce registre peut servir par exemple pour réaliser des temporisations, ou bien
encore pour faire du comptage (par l'intermédiaire d'une broche spécifique : RA4/TOKI). Le
PIC 16F876 possède trois timers sur 8 bits (il compte jusqu’à 256) configurable par logiciel.
d. Les ports entrée/sortie :
On dispose de 22 broches d'entrées/sorties, chacune configurables soit en entrée
soit en sortie (PORT A, PORT B, PORT C).
Un registre interne au PIC, nommé TRIS, permet de définir le sens de chaque
broche d'un port d'entrées/sorties. En règle générale, un bit positionné à '0' dans le registre
TRIS donnera une configuration en sortie pour la broche concernée ; si ce bit est
positionné à '1', ce sera une broche d'entrée.
Présentation du microcontrôleur PIC 16F876
30
o Particularité du port A :
Le 16F876 dispose de cinq canaux d’entrée analogique. Nous pouvons donc
échantillonner successivement jusque cinq signaux différents avec ce composant.
Les broches utilisés sont : AN0 à AN4 (qui sont en fait les dénominations
analogiques des broche RA0 à RA3 + RA 5).
On peut noter également que les broches ANx sont des broches d’entrée. Il n’est
donc pas question d’espérer leur faire sortir une tension analogique. Ceci nécessiterait un
convertisseur numérique/analogique dont n’est pas pourvu notre PIC.
o Particularités du port B :
Hors de sa fonction principale autant que ports d’entrées /sorties, on note la broche
RB0 qui, en configuration d’entrée, est de type trigger de Schmitt quand elle est utilisée en
mode interruption INT ; La lecture simple de RB0 se fait, elle, de façon tout à fait
classique, en entrée de type TTL. Encore il y a (RB 3-RB 6-RB 7) qui peuvent servir dans
la programmation (en mode LVP) en cas d’absence de programmateur commercial.
o Particularités du port C :
C’est un port tout ce qu’il y a de plus classique, Or qu’il a deux pins qu’on utilisera
plus tard dans la communication série avec le PC à travers (TX et RX) (pin17 et 18).
e. L’oscillateur :
L'horloge système peut être réalisée soit avec un quartz, soit avec une horloge
extérieure, soit avec un circuit RC. Dans ce dernier cas, la stabilité du montage est limitée.
La fréquence maximale d'utilisation va dépendre du microcontrôleur utilisé. Le suffixe indiqué sur
le boîtier donne la nature d'horloge à utiliser et sa fréquence maximale.
II.4.4 Les instructions du 16F876/877 :
Tous les PICs Mid-Range ont un jeu de 35 instructions. Chaque instruction est
codée sur un mot de 14 bits qui contient le code opération (CO) ainsi que l'opérande.
Toutes les instructions sont exécutées en un cycle d'horloge, à part les instructions de saut
qui sont 25 exécutées en deux cycles d’horloge [5].
Sachant que l’horloge système est égale à fosc/4:
- si on utilise un quartz de 4 MHz, on obtient une horloge fosc/4 = 1000000
cycles/seconde, cela nous donne une puissance de l’ordre de 1 MIPS (1 Million d’
Instructions Par Seconde).
- Avec un quartz de 20MHz, on obtient une vitesse de traitement de 5 MIPS.
a. Les instructions « orientées Registre» :
Ce sont des instructions qui manipulent un octet se trouvant dans la RAM. Ça peut
être un registre de configuration SFR ou une case mémoire quelconque (Registre GPR).
Présentation du microcontrôleur PIC 16F876
31
b. Les instructions « orientées bits » :
Ce sont des instructions destinées à manipuler directement un bit d’un registre que
ce soit un registre de configuration SFR ou une case mémoire quelconque (registre GPR).
Tous les bits de la RAM peuvent être manipulés individuellement.
c. Les instructions opérant sur une constante :
Ce sont les instructions entre l’accumulateur W est une constante K
d. Les instructions de saut et appel de procédures :
Ce sont les instructions qui permettent de sauter à une autre position dans le
programme et de continuer l’exécution du programme à partir de cette position.
e. Les interruptions : [5][4]
Une interruption provoque l’arrêt du programme principal pour aller exécuter une
procédure d'interruption. A la fin de cette procédure, le microcontrôleur reprend le
programme principal à l’endroit où il l’a laissé. A chaque interruption sont associés deux
bits, un bit de validation et un drapeau. Le premier permet d'autoriser ou non l'interruption,
le second permet au programmeur de savoir de quelle interruption il s’agit.
Sur le 16F876/877, l'es interruptions sont classées en deux catégories, les
interruptions primaires et les interruptions périphériques. Elles sont gérées par les registres.
Le microcontrôleur dispose de plusieurs sources d'interruptions.
- Une interruption externe, action sur la broche INT/RB0.
- Débordement du TIMER0.
- Changement d’état logique sur une des broches du PORTB (RB4 à RB7).
- Une interruption d’un des périphériques (PEIE).
- Fin de programmation d’une case mémoire de l’EEPROM.
- Changement d’état sur le PORTD (PSPIE).
- Fin de conversion analogique numérique (ADIE).
- Réception d’une information sur la liaison série (RCIE).
- Fin d’émission d’une information sur la liaison série (TXIE).
- Interruption SPI ou I2C du module MSSP (SSPIE).
- Interruption du registre de capture et/ou de comparaison 1 (CCPI1E).
- Interruption du registre de capture et/ou de comparaison 2 (CCPI2E).
- Débordement du TIMER1 (TMR1E).
- Débordement du TIMER2 (TMR2E).
- Collision de BUS (BCLIE)
Chapitre III
Variateur de vitesse d'un
moteur pas à pas à base
de PIC 16F876
Variateur de vitesse d'un moteur pas à pas à base de PIC 16F876
32
Chapitre 03 : Variateur de vitesse d'un moteur pas à pas à base
de PIC 16F876
III.1 Généralités sur les systèmes
III.1.1 Les systèmes de développement
Pour utiliser un microcontrôleur dans un système, plusieurs étapes sont nécessaires : [7]
- Le choix du microcontrôleur de la carte .Il est déterminé par le nombre de ports
qu'il possède, les fonctions à réaliser et la vitesse souhaitée.
- L'écriture du logiciel aboutissant à une liste d'octets qui devront être implantés dans
la ROM programme.
- Le test de ce logiciel dans des conditions aussi proches que possible de la réalité
dans laquelle travaillera le microcontrôleur.
- La gravure définitive de la PROM qui sera implantées sur la carte finale.
III.1.2 Base d’un système de développement :
a. Côté logiciel :
- Un système de développement comporte en premier lieu un assembleur et parfois un
ou des compilateurs adaptés au langage évolué que l’on souhaite utiliser pour programmer.
- L’assembleur traduit les instructions écrites en utilisant les mnémoniques du
langage machine en code binaire exécutable par le microcontrôleur.
- Le compilateur quant à lui traduit les instructions écrites en langage évolué
(BASIC, C, PASCAL, MIKRO C…) qui constituent aussi ce que nous appelons le listing
ou code source, en code binaire exécutable par le microcontrôleur qui constitue le code
objet.
- Dans un système de développement bien conçu, les deux programmes, assembleur
et compilateur, peuvent coexister et être utilisables l’un et l’autre sans difficulté. Ces deux
programmes doivent nécessairement fonctionner sur une machine appelée machine hôte.
Cette machine peut être un système spécifique du fabricant des microcontrôleurs, une
station de travail, un calculateur ou un PC.
- Une fois le programme de l’application écrit et assemblé ou compilé sur la machine
hôte, nous sommes en possession d’un binaire exécutable.
b. Côté matériel :
Pour implanter le binaire exécutable, nous avons besoin d’un programmateur.
Cet appareil est en fait un système qui va transférer de la machine hôte, le code objet du
programme dans la mémoire du microcontrôleur.
Variateur de vitesse d'un moteur pas à pas à base de PIC 16F876
33
III.2 L'étude de la carte de commande à base de PIC16F876
III.2.1 Schéma synoptique
Le schéma synoptique de notre carte du commande est représenté dans la figure (III.1).
Notre carte composé de l'unité centrale qui est le PIC 16F876 envoi les impulsions de commande
de circuit ULN 2003A, et de même ce circuit intégré commande le moteur pas à pas, et un
afficheur LCD pour l'affichage et de la liaison série RS232 pour la communication série et des
LEDs comme des sorties simple et des boutons poussoir comme des entrées simple un
programmateur de PIC intégré dans le kit.
Le kit est alimenté avec une alimentation stabilisée de 5V.
Figure (III. 1) : Schéma simplifié de système de commande
III.2.2 Unité de traitement à base de PIC 16F876
a. Principe:
Indépendamment de l’application souhaité à base de PIC 16F876, il a
nécessairement besoin des éléments ci-dessous pour pouvoir fonctionner :
- Une alimentation de 5 V.
- Un quartz avec deux condensateurs, ou une résistance et un condensateur (pour une base
de temps de type RC), économique, utilisable dans les cas où on ne demandant pas une
extrême précision de cadencement.
Variateur de vitesse d'un moteur pas à pas à base de PIC 16F876
34
Figure (III.2) : Les deux types de pilotage
Pour notre montage nous avons choisi l’oscillateur à quartz parce qu'il est précis et
simple à utiliser.
Un condensateur de découplage (pour réduire les transitoires se formant
inévitablement dans tout système impulsionnel). Un bouton poussoir et une résistance,
pour la mise en place d’une commande de RESET.
b. Interconnexion PIC 16F876 et l'oscillateur :
Le schéma électronique du PIC 16F876 avec son oscillateur est présenté dans la
figure suivante :
RA0/AN02
RA1/AN13
RA2/AN2/VREF-4
RA4/T0CKI6
RA5/AN4/SS7
OSC1/CLKIN9
OSC2/CLKOUT10
RC1/T1OSI/CCP212
RC2/CCP113
RC3/SCK/SCL14
RB7/PGD28
RB6/PGC27
RB526
RB425
RB3/PGM24
RB223
RB122
RB0/INT21
RC7/RX/DT18
RC6/TX/CK17
RC5/SDO16
RC4/SDI/SDA15
RA3/AN3/VREF+5
RC0/T1OSO/T1CKI11
MCLR/Vpp/THV1
U1
PIC16F876
X1CRYSTAL
C1
39pF
C2
39pF
Figure (III. 3) : Connexion de PIC 16f876 avec l'oscillateur
Variateur de vitesse d'un moteur pas à pas à base de PIC 16F876
35
III.2.3 Circuit ULN 2003A
- Pour commander le moteur pas à pas dans un sens bien défini et avec un mode de
fonctionnement choisi, il faut faire la commutation selon un organigramme convenable.
- Puisque les signaux générés par le PIC sont très faible et au lieu d’utiliser des
transistors dont les bases sont attaqués par les signaux du PIC et qui traduisent les
chronogrammes de chaque mode de fonctionnement du moteur on utilise un circuit
spécialisé, c’est le ULN2003A.
- le ULN2003A est un circuit qui amplifie le signal, contenant huit transistors
Darlington de puissance (deux transistors NPN en cascade et des diodes de protection
dites diodes roue libre) qui sont utiles pour le décharge des bobines du moteur au moment
de commutation.
- Chaque transistor Darlington peut supporter jusqu’à 25 mA en entrées.
- Il peut délivrer jusqu’à 500 mA de charge.
Figure (III. 4) : ULN2003A datasheet
III.2.4 Le moteur pas à pas
La figure ci-dessous présente le moteur utilise dans notre projet de type 5 fils
(unipolaires) et qu'il a la référence S35S6-6010:
Figure (III.5) : moteur pas à pas S35S6-6010
Variateur de vitesse d'un moteur pas à pas à base de PIC 16F876
36
Le moteur unipolaire est conçu de sorte que l’interface de puissance soit
grandement simplifiée. Mais au détriment de la force, le moteur comporte en quelque sorte
deux bobines à points centraux, ces derniers étant communs. Habituellement, on relie ces
points centraux a la masse et on applique l’alimentation à un des quatre autres fils, on a
(orange + noire) et (jaune + marron)
Il est toutefois possible d’ignorer les points centraux et de faire fonctionner le
moteur unipolaire comme un moteur bipolaire.
La figure suivante présente l'interconnexion du PIC 16F876 qui commande le
moteur pas à pas par l'envoi des impulsions électriques par le biais du circuit ULN 2003A.
RA0/AN02
RA1/AN13
RA2/AN2/VREF-4
RA4/T0CKI6
RA5/AN4/SS7
OSC1/CLKIN9
OSC2/CLKOUT10
RC1/T1OSI/CCP212
RC2/CCP113
RC3/SCK/SCL14
RB7/PGD28
RB6/PGC27
RB526
RB425
RB3/PGM24
RB223
RB122
RB0/INT21
RC7/RX/DT18
RC6/TX/CK17
RC5/SDO16
RC4/SDI/SDA15
RA3/AN3/VREF+5
RC0/T1OSO/T1CKI11
MCLR/Vpp/THV1
U1
PIC16F876
+88.8
3
1
2
6
4
5
1B1
1C16
2B2
2C15
3B3
3C14
4B4
4C13
5B5
5C12
6B6
6C11
7B7
7C10
COM9
U2
ULN2003A
X1CRYSTAL
C1
39pF
C2
39pF
Figure (III.6) : La commande du moteur pas à pas
- La commande est faite en mode biphasé (full-step),
- on alimente les deux enroulements à la fois, ce mode compense la manque de
couple,
- cependant le moteur travaille entre deux bobines,
- l’incertitude sur la position augment.
On a :step angle=90 degré= 4step/tour
Etapes 1 2 3 4
Sortie1 0 0 1 1
Sortie2 0 1 1 0
Sortie3 1 1 0 0
Sortie4 1 0 0 1
Tableau (III.1): Séquences de commande biphasée
Variateur de vitesse d'un moteur pas à pas à base de PIC 16F876
37
III.2.5 La liaison RS 232
a. Présentation :
- La liaison série à la norme RS 232 est omniprésent utilisée dans les domaines de
l'informatique.
- Elle permet la réalisation d'une liaison simple à mettre en œuvre entre deux
équipements.
- Elle est de type asynchrone, c'est à dire qu'elle ne transmet pas de signal horloge,
- les deux équipements liés doivent être configurés avec une même vitesse de
transmission. Ils doivent par ailleurs utiliser le même protocole.
- Le PIC, configuré en mode USART (Universal Synchronous Asynchronous
Receiver Transmitter), permet une communication série de type asynchrone sous la norme
RS232, avec un ordinateur via ses broches Rx(réception) et Tx(transmission) branchées sur
un port série.[ 9]
Figure (III.7) : Le RS232
Le tableau (III.2) montre l’affectation physique de chacun des signaux que nous allons
décrire brièvement :
Broche nom Indiquée comme
1 CD entrée
2 RX entrée
3 TX sortie
4 DTR sortie
5 GND masse
6 DSR entrée
7 RTS srtie
8 CTS entrée
9 RI entrée
Le tableau (III.2): les pôles de RS232
Variateur de vitesse d'un moteur pas à pas à base de PIC 16F876
38
- GND ou SG (terre): fournit un terrain d'entente pour la transmission et la réception.
- TxD (Données transmises) les informations envoyées (sortie): les informations sont
envoyées à ce pôle. Cette ligne est une sortie. Les données de l’ordinateur vers le
correspondant sont véhiculées par son intermédiaire,
- Rxd (données reçues) de recevoir des informations (entrée): L'information est reçue
sur ce pôle. Cette ligne est une entrée. C’est ici que transitent les informations du
correspondant vers l’ordinateur.
- DTR (Data Terminal Ready) (sortie) serrant la main avec une ligne indique que le
terminal de données (informatique) est prêt à envoyer. Cette ligne est une sortie active au
niveau logique haut. Elle permet à l’ordinateur de signaler au correspondant que le port
série a été libéré et qu’il peut être utilisé s’il le souhaite.
- DSR (Data Set Ready) (entrée): la ligne de serrer la main indique que le dispositif
de données (modem par exemple) est prêt à recevoir des informations de votre ordinateur.
Cette ligne est une entrée active au niveau logique haut. Elle permet au correspondant de
signaler qu’une donnée est prête.
- RTS (Request To Send) (sortie) serrant la main avec la ligne nécessaire pour mener
à bien vos données à envoyer. Cette ligne est une sortie active au niveau logique haut. Elle
indique au correspondant que l’ordinateur veut lui transmettre des données.
- CTS (Clear To Send) (entrée): indique le terminal de ligne poignée de main
(ordinateur) pour la possibilité de commencer le processus d'envoi. Cette ligne est une
entrée active au niveau logique haut. Elle indique à l’ordinateur que le correspondant est
prêt à recevoir des données,
- CD (Carrier Detected) (entrée): indique à l'ordinateur sur la disponibilité de signal
porteur. Cette ligne est une entrée active au niveau logique haut. Elle signale à l’ordinateur
qu’une liaison a été établie avec un correspondant.
- RI (Ring Indicateur) : cette ligne est une entrée active au niveau logique haut. Elle
permet à l’ordinateur de savoir qu’un correspondant veut déclencher une communication
avec lui.
b. MAX232 :
Le MAX232 est un standard depuis longtemps, il permet de réaliser des liaisons
RS232 et des interfaces de communication, il amplifier et met en forme deux entrées et
deux sorties TTL/CMOS vers deux entrées et deux sorties RS232, la connexion est réalisée
avec un DB9.
Le PIC 16F876 utilise les niveaux 0 V et 5 V pour définir respectivement les bits :
0 et 1. La norme RS232 définit des niveaux de +12 V et –12 V , pour établir ces mêmes
niveaux nous avons donc besoin d’un circuit (driver de bus) chargé de convertir les
niveaux des signaux entre PIC et PC alors que la solution c’est le circuit MAX232 [5].5
Variateur de vitesse d'un moteur pas à pas à base de PIC 16F876
39
III.2.6 Entrées et sortie simple
La figure (III.8) décrit un ensemble de boutons poussoirs relié avec le port B de PIC
comme entrées et des LEDs relié avec le port A comme sorties :
RA0/AN02
RA1/AN13
RA2/AN2/VREF-4
RA4/T0CKI6
RA5/AN4/SS7
OSC1/CLKIN9
OSC2/CLKOUT10
RC1/T1OSI/CCP212
RC2/CCP113
RC3/SCK/SCL14
RB7/PGD28
RB6/PGC27
RB526
RB425
RB3/PGM24
RB223
RB122
RB0/INT21
RC7/RX/DT18
RC6/TX/CK17
RC5/SDO16
RC4/SDI/SDA15
RA3/AN3/VREF+5
RC0/T1OSO/T1CKI11
MCLR/Vpp/THV1
U1
PIC16F876
R1
10k
R2
10k
R3
10k
R4
10k
R5330
R6330
D2
RED
D3
YELLOW
R7330
R8330
AK
D4
GREEN
D1
BLUE
X1CRYSTAL
C1
39pF
C2
39pF
B112V
Figure (III. 8) : Entrées /sortie (port A et B)
III.2.7 Afficheur LCD
a. Présentation :
Dans notre projet, nous avons utilisé un afficheur LCD, autrement appelé un
afficheur à cristaux liquide. Il consomme relativement de 1 à 5 mA et constitué de deux
lames de verre, distante de 20 μm environ, sur lesquelles sont dessinées les mers nantisses
formant les caractères. L’application entre les deux faces d’une tension alternative basse
fréquence de quelques volts (3 à 5 V) le rend absorbant .Un afficheur à cristaux liquide ne
peut être utilisé qu’avec un bon éclairage ambiant .Son lisibilité augmente avec l’éclairage.
b. Principe de fonctionnement :
Dans notre projet nous avons utilisé l'afficheur LCD mode quatre bits. Dans ce
mode, seul les quatre bits de poids fort (D4 à D7) de l’afficheur sont utilisés pour
transmettre les données et les lires. Les quatre bits de poids faible (D0 à D3) sont alors
connectés à la masse, on a donc besoin hors alimentation de sept fils pour commander
l’afficheur [9].
Variateur de vitesse d'un moteur pas à pas à base de PIC 16F876
40
Les données sont écrites séquentiellement les quatre bits de poids fort suivi des
quatre bits de poids faible. Une impulsion positive d’au moins 450 ns doit être envoyée sur
la ligne E pour valider chaque demi-octet :
Figure (III.9) : Afficheur LCD 2X16
Au-dessus de l’écran à cristaux liquides proprement dit, on trouve une série de 14
broches aux rôles indiqués au tableau (III.3) suivant :
N° de pastille Appellation Fonction
1 Vss Masse
2 Vdd Alimentation +5V
3 V0 Contraste afficheur
4 Rs Sélection commande/donnée
5 R/W Lecture/écriture
6 E Validation des données
7 D0 Donnée D0 [poids faible]
8 D1 Donnée D1
9 D2 Donnée D2
10 D3 Donnée D3
11 D4 Donnée D4
12 D5 Donnée D5
13 D6 Donnée D6
14 D7 DonnéeD7 [poids fort]
Tableau (III.3): l'appellation et fonction des branches de LCD
Variateur de vitesse d'un moteur pas à pas à base de PIC 16F876
41
c. Connexion de l’afficheur sur la carte :
L'afficheur de notre carte de commande se connectée comme le montre la
figure(III.10) suivante :
Figure (III.10) : interconnexion PIC16F876 et l'afficheur LCD.
Schéma électronique globale de carte de commande
Après qu'on a vu précédemment les différents blocs et composants en détail et
séparément, la figure suivante englobe tous les éléments de notre carte de commande y
compris le moteur :
Variateur de vitesse d'un moteur pas à pas à base de PIC 16F876
42
Figure (III.11) : Schéma de la carte de commande
III.4 Partie logicielle :
La programmation du PIC nécessite à comprendre le logiciel de programmation –
dans notre cas c’est le MicroC-, en premier lieu on va présenter le logiciel, et par la suite
les organigrammes de calcul. [10]
III.4.1 Présentation du logiciel « Mikro PRO for PIC »: [11]
Le langage mikroC pour PIC a trouvé une large application pour le développement
de systèmes embarqués sur la base de microcontrôleur. Il assure une combinaison de
l'environnement de programmation avancée IDE (Integrated Development Environment) ,
et d’un vaste ensemble de bibliothèques pour le matériel, de la documentation complète et
d’un grand nombre des exemples.
Le compilateur mikroC pour PIC bénéficie d'une prise en main très intuitive et
d'une ergonomie sans faille. Ses très nombreux outils intégrés (mode simulateur, terminal
de communication Ethernet, terminal de communication USB, gestionnaire pour afficheurs
7 segments, analyseur statistique, correcteur d'erreur, explorateur de code, mode Débug
Variateur de vitesse d'un moteur pas à pas à base de PIC 16F876
43
ICD...) associé à sa capacité à pouvoir gérer la plupart des périphériques rencontrés
dans l'industrie en font un outil de développement incontournable pour les systèmes
embarqués, sans aucun compromis entre la performance et la facilité de débogage.. [10]
a. Création du projet en Mikro C PRO for PIC :
Pour créer un nouveau projet, et de saisir et de compiler un programme on passe par
les étapes suivantes : [11]
1) Lancement du programme Mikro C PRO for PIC .
2) Création d’un nouveau projet.
Figure (III.12): Méthode de création d’un nouveau projet.
Variateur de vitesse d'un moteur pas à pas à base de PIC 16F876
44
3) Choix de PIC et choix de la fréquence d'utilisation:
Figure (III.13) : Choix de PIC.
• Nommer le projet et enregistré.
• L’ajoute des fichiers supplémentaires.
• La sélectionne de la bibliothèque.
A La fin de la création d’un projet
• Saisie du programme.
• Compilation.
b. Avantages du C :
Pour de la programmation de base, le C est intéressant. Il permet rapidement, sans
gros effort, de développer des programmes fonctionnels. Il permet aussi de s'affranchir de
connaissances complexes sur l'architecture des PIC. Il a l'avantage de gérer facilement les
boucles, les choix, ainsi que l'affichage.
c. Inconvénients du C :
Le C n'est pas le langage naturel du microcontrôleur. Il permet de programmer plus
Intuitivement. Les logiciels de programmation en C transforment alors les lignes en C en
lignes assembleurs directement compréhensibles par le microcontrôleur. Pour programmer
efficacement, il est souvent nécessaire d'aller voir le code assembleur, il est donc conseillé
d'avoir des bases solides en assembleur.
Variateur de vitesse d'un moteur pas à pas à base de PIC 16F876
45
III.4.2 Présentation de l’ICprog
ICprog est un programme permet de transférer un fichier compilé (hex) vers un PIC
ou un mémoire de type EEPROM. La figure suivante présente la fenêtre principale de
l'Icprog.
Figure (III.14): fenêtre principale de Icprog
1) Depuis le menu 'configuration' puis 'hardware' on peut sélectionner selon le
programmateur -dans notre cas PROPIC2- l'une des options disponible
Figure (III.15): Fenêtre de configuration hardware
Variateur de vitesse d'un moteur pas à pas à base de PIC 16F876
46
2) On sélectionne un composant, depuis le bouton de 'configuration'.
Figure (III.16) : fenêtre de sélection d'un composant.
III.5 L'organigramme général
Le but est de réaliser la commande d'un moteur pas à pas, et visualiser sa rotation à travers
l'éclairage des quatre LED on utilisant quatre boutons poussoir :
1) En appuyant sur le bouton poussoir 01 : le moteur tourne droit
2) En appuyant sur le bouton poussoir 02 : le moteur tourne à gauche,
3) sur le bouton poussoir 03 : la vitesse du moteur augmente.
4) En appuyant bouton poussoir 04 : la vitesse du moteur ddiminue.
III.6 Schéma électronique de la carte de commande
a. Schémas de la carte de commande :
Dans les figures ci-dessous, on présente les schémas de la carte de commande coté
de composants:
Variateur de vitesse d'un moteur pas à pas à base de PIC 16F876
47
Figure (III.17) : Schéma électronique de la carte de commande.
Variateur de vitesse d'un moteur pas à pas à base de PIC 16F876
48
Figure (III.18) : carte de commande cotée composants
b. Schéma de routage:
La figure ci-dessous présente le schéma de routage de notre kit :
Figure (III.19) Schéma de routage de kit (cuivre et composants
Variateur de vitesse d'un moteur pas à pas à base de PIC 16F876
49
La carte de d’interface: le montage réalisé est représentée dans la figure suivante
(III.20) : La carte d’interface pratique.
Liste des composants :
Type Quantité Référence Valeurs
Résistances 4 R1, R2, R3, R4 10K
4 R5, R6, R7, R8 330Ω
Capacités 2 C1, C2 39 PF
Circuit intègre 1 U1 PIC 16F876
1 U2 ULN 2003A
Diode LED 4
Boutons poussoir 4 BP1, BP2, BP3, BP4
Quartz 1 X1 10Mhz
Afficheur LCD 1 2 X 16
Moteur pas à pas 1 S35S6-6010
RS232 1
Conclusion générale
Conclusion générale
50
Conclusion générale
Les microcontrôleurs permettent de réaliser des applications diverses qui peuvent
servir dans différents domaines industriels. Dans ce projet on a réalisé avec succès une
carte de commande d’un moteur pas à pas unipolaire à base de microcontrôleur PIC
16F876. Cette carte est en mesure de commander tous les moteurs pas à pas unipolaires
avec une marge de variation de vitesse variant.
Parmi les avantages offerts par cette carte on note principalement la possibilité
d’inversion du sens de rotation du moteur, et ce en appuyant simultanément sur les deux
boutons poussoirs d’incrémentation et décrémentation de la vitesse. Ceci est obtenu par
une simple modification du programme du microcontrôleur ce qui n’a pas d’incidence sur
le coût du projet.
Ce projet nous a permis de faire le lien entre l’étude théorique d’un montage
électronique et sa réalisation pratique dans le but d’estimer la marge de différence entre ces
deux parties, puisque parfois on néglige quelques paramètres dans nos calculs mais on les
trouve dans la réalisation, et cela dans le but de trouver des solutions pratiques afin
d’atteindre notre objectif.
Ce projet est multidisciplinaire, dont il nous a permis d'approfondir nos
connaissances théoriques et des compétences au niveau de réalisation pratique notamment :
- La compréhension de l'architecture interne des microcontrôleurs et apprendre sa
programmation.
- L'utilisation d'un outil informatique permettant la simulation de fonctionnement des
montages.
- La réalisation pratique de circuit électronique sur plaque d'essai et utilisant des
circuits imprimées.
Ce travail nous met en confiance et nous rend capables de mettre en pratique
n’importe qu’elle carte de commande d’un moteur pas à pas et d’en assurer sa
maintenance. Avec ce sucées on envisage dans le future proche la conception d'un interface
graphique sur PC utilisant la puissance des logiciel graphique existant permettant une
grande souplesse de commande réalisé par le biais de port COM (Le standard RS-232)
intégré déjà dans notre montage.
Bibliographie
52
Bibliographie
[1] : MENJLI Manel, MEJRI Mehdi. « Variateur de vitesse d’un moteur Pas à
Pas » Mémoire d'ingénieur d'état en électronique, Tunis , Juin 2008.
[2] : Lilia EL Amraoui. « Conception Electromécanique d’une gamme
d’actionneurs Linéaires Tubulaires a Réluctance Variable »Université des
Science et technologies de LILLE Ecole Nationale Tunis. décembre 2002
[3] : H. YAKOUBI, M. SOHBI, B. OGAB. «Réalisation d’un robot mobile
autonome», Mémoire d'ingénieur d'état en automatique, Université Sétif, Juin
2009.
[4] :A. ZENATI, S. KERROUCHE. « Commande de deux moteurs pas à pas
via le port parallèle avec Delphi» Mémoire d'ingénieur d'état en électronique,
Université Bejaia, Juin 2009.
[5] :Rjeb.B, Waz .R : « Projet de réalisation d’une maquette didactique a base
de pic16F877 »institut supérieur des études technologiques de nabeul.2007.
[6]:Mr.Saadi Ramzy ,Mr .Salhi Nassereddine : « Réalisation de carte à
microcontrôleur pour le contrôle de bras manipulateur via un pc », Université
Mohamed Khider Biskra2010.
[7] :Bernaoui sif eddine : « Etude et réalisation d’un kit de développement
d’applications a base de pic de la famille 16FXXX » Mémoire
master ,Université Mohamed Khider Biskra .2012
[8] : Datasheet du 16F876.pdf
[9] :ABIDI.H : «Carte de développement pour microcontrôleur de la famille
PIC » Mémoire master ,univ-biskra2006.
[10] :http://www.mikroe.com/.
[11] : Creating The first Project in microC for PIC.pdf
Variateur de vitesse d'un moteur pas à pas à base de PIC 16F876
47 bis
M-pap : Moteur pas à pas
Début
Initialisation de
LCD 16×2
RB0=0 Le M-pap
tourne à gauche
Affichage sur LCD:
« gauche » et le
nombre de pas
Allumage successive
des LED -code binaire-
Allumage de LCD
oui
La vitesse d’allumage dépend la
vitesse du M-pap
Déclaration de variable des
4 boutons de commande:
a,b,c,d
RB1=0 Le M-pap
tourne à droite
Affichage sur LCD:
« droite » et le
nombre de pas
Allumage successive
des LED -code binaire-
oui
La vitesse d’allumage dépend la
vitesse du M-pap
RB4=0 Augmentation de la vitesse
de M-pap
Affichage sur LCD:
nombre de pas
oui
RB5=0 Réduction de la vitesse de
M-pap
Affichage sur LCD:
nombre de pas
oui
Table des matières
Introduction générale………………………………………………………………………………………………………………………..1
Chapitre 01 : LES MOTEURS PAS A PAS
I.1 Introduction…………………………………………………………………………………………………………………………………..2
I.2 Les moteurs……………………………………………………………………………………………………………………………………2
I.2.1 Présentation……………………………………………………………………………………………………………………………….2
I.2.2 Description interne…………………………………………………………………………………………………………………….3
I.2.3 Définitions et caractéristiques générales……………………………………………………………………………………4
I.2.4 Modèle électrique …………………………………………………………………………………………………………………….5
I.3 Les différents types de moteurs……………………………………………………………………………………………………6
I.3.1 Le moteur synchrone……………………………………………………………………………………………………………….. 6
I.3.2 Le moteur asynchrone……………………………………………………………………………………………………………….7
I.3.3 Le moteur à courant continu……………………………………………………………………………………………………..9
I.3.4 Le moteur pas à pas…………………………………………………………………………………………………………………11
I.4 Etude comparative et caractéristique ……………………………………………………………………………………….16
I.5 Etude du courant dans un enroulement (phase) du moteur pas à………………………………………………17
I.6 Séquence de commande d'un moteur pas à pas…………………………………………………………………………18
Chapitre 02 : PRESENTATION DU MICROCONTROLEUR PIC 16f876
II.1 Introduction……………………………………………………………………………………………………………………………...22
II.2 Généralités sur les PIC…………………………………………………………………………………………………………….…22
II.2.1 Définition de PIC……………………………………………………………………………………………………………………..22
II.2.2 Les différentes familles des PICs:…………………………………………………………………………………………….22
II.2.3 Identification des PICs…………………………………………………………………………………………………………….23
II.2.3 Les avantages du microcontrôleur………………………………………………………………………………………….24
II.3 Architecture des PICs…………………………………………………………………………………………………………………24
II.3.1 Structure interne d'un PIC ………………………………………………………………………………………………………24
II.3.2 Structure minimale d'un PIC……………………………………………………………………………………………………25
II.4 Choix du microcontrôleur………………………………………………………………………………………………………….26
II.4.1 Le PIC 16F876……………………………………………………………………………………………………………………….. 26
II.4.2 La structure interne du microcontrôleur PIC 16F876……………………………………………………………...26
II.4.3 Organisation du 16F876……………………………………………………………………………………………………….. 28
II.4.4 Les instructions du 16F876/877……………………………………………………………………………………………. 30
Chapitre 03 : Variateur de vitesse d'un moteur pas à pas à base de PIC
III.1 Généralités sur les systèmes………………………………………………………………………………………………….. 32
III.1.1 Les systèmes de développement ……………………………………………………………………………………….. 32
III.1.2 Base d’un système de développement………………………………………………………………………………… 32
III.2 L'étude de la carte de commande à base de PIC16F876…………………………………………………………. 33
III.2.1 Schéma synoptique……………………………………………………………………………………………………………… 33
III.2.2 Unité de traitement à base de PIC 16F876…………………………………………………………………………… 33
III.2.3 Circuit ULN 2003A…………………………………………………………………………………………………………….…...35
III.2.4 Le moteur pas à pas………………………………………………………………………………………………………….……35
III.2.5 La liaison RS 232 …………………………………………………………………………………………………………………..37
III.2.6 Entrées et sortie simple………………………………………………………………………………………………………….39
III.2.7 Afficheur LCD………………………………………………………………………………………………………………………….39
III.4 Partie logicielle………………………………………………………………………………………………………………………….42
III.4.1 Présentation du logiciel « Mikro PRO for PIC »……………………………………………………………………….42
III.4.2 Présentation de l’ICprog…………………………………………………………………………………………………………45
III.5 L’organigramme général……………………………………………………………………………………………………………46
III.6 Schéma électronique de la carte de commande………………………………………………………………………..47
Conclusion générale…………………………………………………………………………………………………………………………50
Bibliographie…………………………………………………………………………………………………………………………………….51
Liste des tableaux
Chapitre 01 : LES MOTEURS PAS A PAS
Tableau (I. 1) : Etude comparative entre les différents types de moteur pas à pas………………………… 16
Tableau (I. 2) : séquence de commande d'un moteur pas à pas bipolaire……………………………………… 20
Tableau (I. 3) : séquence de commande d'un moteur pas à pas unipolaire. ………………………………..… 21
Chapitre 03 : Variateur de vitesse d'un moteur pas à pas à base de PIC
Tableau (III.1): Séquences de commande biphasée…………………………………………………………………………37
Tableau (III.2): les pôles de RS232……………………………………………………………………………………………………38
Tableau (III.3): l'appellation et fonction des branches de LCD………………………………………………………… 40
Liste des figures
Figure (I. 1) : Schéma fonctionnel des moteurs ………………………………………………………………………………3
Figure (I. 2) : Représentation du fonctionnement des moteurs…………………………………………………………3
Figure (I. 3) : Représentation du fonctionnement des moteurs…………………………………………………………4
Figure (I. 4) : moteur synchrone………………………………………………………………………………………………………..6
Figure (I. 5) : moteur asynchrone………………………………………………………………………………………………………7
Figure (I. 6) : Moteur à courant continu ……………………………………………………………………………………........9
Figure (I. 7) : Les imputions de la commande MLI…………………….…………………………………….……………….10
Figure (I. 8) : Moteur pas à pas …………………………………………………………………………………………….………..11
Figure (I. 9) : principe de base est la création d’un champ tournant…………………………………………….....12
Figure (I.10) : Moteur à aiment permanent bipolaire……………………………..……………………………………… 14
Figure (I.11) : Moteur à aiment permanent unipolaire……………………………………..…………………………….14
Figure (I.12) : Moteur à réluctance variable………………………………………………………………………..………….15
Figure (I.13) : Exemple de moteur à 200 pas……………………………………………………………………..……………16
Figure (I.14) : Couple d'arrêt ou couple de maintien ………………………………………………………………………16
Figure (I.15) : Représentation du fonctionnement des moteurs………………………………..……………………18
Figure (I.16) : représentation symbolique (a) et physique (b) …………………………….………………………….19
Figure (I.17) : principe de commande du moteur pas à pas bipolaire…………………………………….……….19
Figure (I.18) : séquence de commande du moteur pas à pas bipolaire……………..……………………………20
Figure (I.19) : représentation symbolique (a) et physique (b) ………………………………………………………..20
Figure (I.20) : schéma de principe pour la commande du moteur pas à pas unipolaire…………….……21
Figure (I.21) : séquence de commande du moteur pas à pas unipolaire…………………………………………21
Figure (II.1) : Identification des PICs………………………………………………………………………………………………23
Figure (II.2) : Structure de base d’un PIC. ……………………………………………………………………….…………….25
Figure (II.3): Schéma interne d’un microcontrôleur ………………………………………….………………………….27
Figure (II.4): Brochage du PIC16f876………………………………………………………………….…………………………28
Figure (III.1) : Schéma simplifié de système de commande…………………………………………….…………….33
Figure (III.2) : Les deux types de pilotage…………………………………………………………………….………………..34
Figure (III.3) : Connexion de PIC 16f876 avec l'oscillateur……………………………………….…………………….35
Figure (III.4) : ULN2003A datasheet……………………………….………………………………………………………………35
Figure (III.5) : moteur pas à pas S35S6-6010……….…………………………………………………………………………36
Figure (III.6) : La commande du moteur pas à pas…………………………………………………………………………36
Figure (III.7) : Le RS232…………………………………………………………………….…………………………………………37
Figure (III.8) : Entrées /sortie (port A et B) …………………………………………………….…………………..…………39
Figure (III.9) : Afficheur LCD 2X16………………………………………………………………………………………………… 40
Figure (III.10) : interconnexion PIC16F876 et l'afficheur LCD. .…………………………………………………..…41
Figure (III.11) : Schéma de la carte de commande…..……………………………………………………………………42
Figure (III.12): Méthode de création d’un nouveau projet. ….……………………………………………………… 43
Figure (III.13) : Choix de PIC. ………………………………………………………………………………………………………..44
Figure (III.14): fenêtre principale de Icprog…………………………………………………………………………………..45
Figure (III.15): Fenêtre de configuration hardware….……………………………………………………………………46
Figure (III.16) : fenêtre de sélection d'un composant. ……….…………………………………………………………46
Figure (III.17) : Schéma électronique de la carte de commande. ………………………………………………….47
Figure (III.18) : carte de commande cotée composants.……………………………………………………………….48
Figure (III.19) : Schéma de routage de kit (cuivre et composants). ..…………………………………………….48
Résumé
Le microcontrôleur est d’une haute importance aujourd’hui dans notre vie
quotidienne d'une part et d'autre part dans le domaine de recherche pour les
étudiants en électronique ou en électronique (amateur ou professionnel), car on
le trouve dans des différents domaines industriels et domestiques.
Notre projet a pour but d’étudier et de réaliser une carte de commande à
base de PIC 16F876, et on à réussi à réaliser notre cahier de charge après une
étude de simulation et de programmation de PIC avec Micro C.
Mots-clés : moteur pas à pas, ULN2003A, PIC16f876. Micro C
ملخص
العملیة من جھة ومن حیاتنا لھ أھمیة كبیرة في الیوم المتحكم الدقیق أو المتحكم المصغر
تیكنیكوالإلكتروأ الإلكترونيللطلاب في مجال جھة أخرى في مجال البحث العلمي
صناعیة مختلفةجالات في مالجھاز مستعمل أو المحترفین، حیث ان منھم الھواة
.وحتى في حیاتنا الیومیة
المتحكم إنجاز دارة تحكم في محرك خطوي باستعمال إلى دراسة وھذا ویھدف مشروعنا كم المتحبرمجة ووقد وفقنا في تحقیق العمل المطلوب بعد عملیة المحاكاة ، 16f876الدقیق .Cبرنامج مایكرو عن طریقالدقیق