Vous êtes sur la page 1sur 12

Centre Universitaire Abdelhafid BOUSSOUF – Mila TP Microprocesseurs et API Master : Electromécanique

Institut des sciences et technologies Année 2021/2022

TP 2
Commande des moteurs pas à pas en utilisant un
microcontrôleur PIC : programmation en Assembleur PIC
I. Objectif
 Mise en œuvre du microcontrôleur PIC16F628A afin de commander un moteur pas à pas
de type bipolaire.
 Développement des programmes en Assembleur PIC.
 Simulation et implémentation des fichiers Hexa des codes élaborés sous Proteus.

II. Généralités sur les moteurs pas à pas


Un moteur pas a pas est un actionneur qui convertit, a travers une carte de commande, des
impulsions en une rotation sous forme de pas angulaires. Les moteurs pas à pas permettent donc un
positionnement précis.
Le fonctionnement général des moteurs pas à pas est décrit par le schéma ci-dessous.

La chaine de pilotage d'un moteur pas à pas se traduit par le schéma fonctionnel ci-dessous.

On peut classer les moteurs pas à pas en trois catégories : les moteurs à aimant permanent, les
moteurs à réluctance variable et les moteurs hybrides.
Note. Dans ce TP on utilise un moteur pas à pas de type ‘’aimant permanant’’.

1
Centre Universitaire Abdelhafid BOUSSOUF – Mila TP Microprocesseurs et API Master : Electromécanique
Institut des sciences et technologies Année 2021/2022

II.1 Les moteurs à aimant permanant


Comme tous les moteurs, un moteur à aimant permanant est formé de deux parties : le rotor (la
partie mobile) et le stator (la partie fixe).
Dans ce cas de moteur, le rotor est un aimant permanent qui s’aligne suivant le sens du champ
magnétique crée par les inductances (de 1 à 4) formant le stator.

Les moteurs à aimant permanant se classe en deux grandes familles : les moteurs bipolaires et les
moteurs unipolaires.

II.1.1 Les moteurs pas à pas bipolaires


Un moteur bipolaire est formé, généralement, de deux bobines avec quatre fils. Il se commande
en inversant le sens du courant dans l’une des deux bobines, qui sont alimentés une fois dans un
sens et une fois dans l'autre sens. Ils créent ainsi une fois un pôle nord et une fois un pôle sud d'où le
nom ’’bipolaire’’.

II.1.1.1 Modes de commande


Afin de commander un moteur pas à pas, il existe trois modes : le mode en pas entier, le mode
biphasé et le mode en demi-pas.

1. Mode en pas entier (mode monophasé)


On alimente une seul bobine à la fois. Il s’agit d’envoyer successivement une séquence
d’impulsions (de courant) afin d’alimenter les bobines comme présente la table ci-dessous.

2
Centre Universitaire Abdelhafid BOUSSOUF – Mila TP Microprocesseurs et API Master : Electromécanique
Institut des sciences et technologies Année 2021/2022

Mode monophasé
AB
CD
BA
DC

2. Mode biphasé
On alimente deux bobines en même temps. Comme présente la table ci-dessous.
Mode biphasé
AB-CD
BA-CD
BA-DC
AB-CD

3. Mode en demi-pas
Ce mode est la combinaison des deux modes précédents.
Mode demi-pas
AB
AB-CD
CD
BA-CD
BA
BA-DC
AB-DC
AB

II.1.2 Moteurs pas à pas unipolaire


Dans le cas d’un moteur unipolaire, le stator est formé d’enroulements (bobines) à points
communs, ce qui permet d’avoir quatre phases (A, B, C, D). Dans chaque enroulement le courant
circule dans un seul sens contrairement au moteur bipolaire.

3
Centre Universitaire Abdelhafid BOUSSOUF – Mila TP Microprocesseurs et API Master : Electromécanique
Institut des sciences et technologies Année 2021/2022

En effet, un moteur pas à pas unipolaire fonctionne uniquement avec une tension positive, de
sorte que les hautes et basses tensions appliquées aux bobines seraient quelque chose comme +5V
et 0 V. Un moteur pas à pas bipolaire a deux polarités, positives et négatives, de sorte que ses hautes
et basses tensions seraient quelque chose comme +2,5V et -2,5 V.
III. Le microcontrôleur PIC16F628A
On considère le PIC 16F628A.

On note que,
 La tension d’alimentation est de 5V DC (broches 14 et 5).
 L’oscillateur externe doit être relié aux broches 15 et 16.
 La fréquence d’opération MAX est 20 MHz.

IV. Le moteur pas à pas Nema17


On considère un moteur bipolaire de type Nema 17 de référence 42BYGH47-401A.

4
Centre Universitaire Abdelhafid BOUSSOUF – Mila TP Microprocesseurs et API Master : Electromécanique
Institut des sciences et technologies Année 2021/2022

La structure simplifiée du moteur est la suivante :

Numéro Couleur de fil


1 Rouge
2 Bleu
3 Vert
4 Noir

Les caractéristiques du moteur 42BYGH47-401A :


 Nombre de phases : 2.
 Nombre de fils de connexion : 4 (Rouge, bleu, vert et noir).
 Le pas : 1,8° ± 5%.
 Tension d’alimentation : 12V.
 Résistance : 10,0 ± 10% Ω / phase.
 Inductance : 20 ± 20% MH / phase.
 Longueur des fils : 80cm.
 Couple de maintien: 48 N.cm.
 Couple de freinage: 2.6 N.cm.
 Classe d'isolation : B.
 Couple de rotor: 68 g.cm2.
 Taille avec axe: 42.5 * 42.5 * 70mm.
 Taille du moteur : 42.5x42.5x47mm.
 Poids : 0,4 kg.

V. Circuits L298/L293D
Le L298 est un circuit intégré qui contient deux étages de puissances configurés en double pont
en H. Chaque pont est commandé avec des entrées logiques (Input 1, 2, 3 et 4) ainsi que des entrées
de validation ou d’activation des ponts (Enable A et Enable B).

5
Centre Universitaire Abdelhafid BOUSSOUF – Mila TP Microprocesseurs et API Master : Electromécanique
Institut des sciences et technologies Année 2021/2022

Le L298 est disponible sous forme de boitier Multiwatt15 ou PowerSO20 dont le brochage est
le suivant :

6
Centre Universitaire Abdelhafid BOUSSOUF – Mila TP Microprocesseurs et API Master : Electromécanique
Institut des sciences et technologies Année 2021/2022

Puisque le L298 est formé de transistors, il faut rajouter des diodes (roue libre) de protection
comme présente le schéma suivant :

Afin de simplifier le circuit de commande du moteur bipolaire, on peut considérer le L293D, ce


dernier est similaire au circuit L298. Le L293D est formé de quatre demi-points en H avec des
diodes de protection intégrées à l’intérieur du circuit, comme présente le schéma interne ci-dessous.

7
Centre Universitaire Abdelhafid BOUSSOUF – Mila TP Microprocesseurs et API Master : Electromécanique
Institut des sciences et technologies Année 2021/2022

Le L293D se présente sous forme de boitier PDIP comme présente le brochage suivant :

8
Centre Universitaire Abdelhafid BOUSSOUF – Mila TP Microprocesseurs et API Master : Electromécanique
Institut des sciences et technologies Année 2021/2022

VI. Travail demandé

Nous voulons programmer en Assembleur le PIC16F628A afin de commander un moteur pas à


pas de type bipolaire (connecté au PORTB), comme montre le schéma de la figure suivante :

+5V +12V
U1
16 17
RA7/OSC1/CLKIN RA0/AN0
15 18
RA6/OSC2/CLKOUT RA1/AN1
X1 RA2/AN2/VREF
1
4 2
RA5/MCLR RA3/AN3/CMP1 U2
3 16 8
RA4/T0CKI/CMP2
6 2 3
CRYSTAL RB0/INT IN1 VSS VS OUT1
7 7 6
RB1/RX/DT IN2 OUT2
8 1
RB2/TX/CK EN1
C1 C2 RB3/CCP1
9 +88.8
33pF 33pF 10
RB4
11 9
RB5 EN2
12 10 11
RB6/T1OSO/T1CKI IN3 OUT3
13 15 14
RB7/T1OSI IN4 GND GND OUT4
PIC16F628A
+5V
L293D

+5V

Pour cela,

1. Développer un programme en Assembleur PIC sous MPLAB permettant de commander le


moteur pas à pas ‘’ bipolaire’’ en mode monophasé. Utiliser le code donnée sur les pages 11
et 12.
2. Simuler et implémenter le fichier Hexa du code élaboré sous ISIS Proteus.
3. Changer le sens de rotation du moteur en modifiant le code source.
4. Donner l’organigramme du programme développé.

9
Centre Universitaire Abdelhafid BOUSSOUF – Mila TP Microprocesseurs et API Master : Electromécanique
Institut des sciences et technologies Année 2021/2022

TRAVAIL DE MAISON

Nous voulons contrôler le Marche/Arrêt du moteur considéré en utilisant un interrupteur (M/A)


relié à la pine RA0 du PIC16F628, comme présente la figure ci-dessous.

+5V +5V +12V

U1 M/A
16 17
RA7/OSC1/CLKIN RA0/AN0
15 18 SW-SPST
RA6/OSC2/CLKOUT RA1/AN1
X1 1
RA2/AN2/VREF
4 2
RA5/MCLR RA3/AN3/CMP1 U2
3 16 8
RA4/T0CKI/CMP2
6 2 3
CRYSTAL RB0/INT IN1 VSS VS OUT1
7 7 6
RB1/RX/DT IN2 OUT2
8 1
RB2/TX/CK EN1
C1 C2 RB3/CCP1
9 +88.8
33pF 33pF 10
RB4
11 9
RB5 EN2
12 10 11
RB6/T1OSO/T1CKI IN3 OUT3
13 15 14
RB7/T1OSI IN4 GND GND OUT4
PIC16F628A
+5V
L293D

+5V

Donner le programme en Assembleur PIC permettant de commander le Marche/Arrêt du


moteur pas à pas ‘’ bipolaire’’.

Note. Garder le circuit de la manipe 1.

10
Centre Universitaire Abdelhafid BOUSSOUF – Mila TP Microprocesseurs et API Master : Electromécanique
Institut des sciences et technologies Année 2021/2022

Code

; commande du moteur P.A.P. bipolaire


; dirctives
list p=16f628a
#include p16f628a.inc
__config _LP_OSC & _PWRTE_OFF & _WDT_OFF & _CP_OFF

org 0x0 ; Adresse de départ après reset


goto debut
org 0x10 ; adresse de début du programme
debut

bsf STATUS, RP0 ; accès à la banque 1


movlw b'00000000'
movwf TRISB ; Configuration du PORTB en sortie

bcf STATUS, RP0 ; accès à la banque 0


clrf PORTB ; effacer les registres A et B
clrf PORTA

; PARTIE PRINCIPAL
boucle

; mot du 1er pas


movlw b'00000001'
movwf PORTB

call tempo ; temporisation


; mot du 2ème pas
movlw b'00000100'
movwf PORTB

call tempo ; temporisation

; mot du 3ème pas


movlw b'00000010'
movwf PORTB

call tempo ; temporisatio

; mot du 4ème pas


movlw b'00001000'
movwf PORTB

call tempo ; temporisation

11
Centre Universitaire Abdelhafid BOUSSOUF – Mila TP Microprocesseurs et API Master : Electromécanique
Institut des sciences et technologies Année 2021/2022

goto boucle ; rebouclage

tempo
movlw 0xff
movwf 0x22 ; Temporisation_1
tempor_1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
decfsz 0x22,1
decfsz 0x23,1
goto tempor_1
return ;retourne à la partie pricipale du program.

END ; directive de fin

12

Vous aimerez peut-être aussi