Sunteți pe pagina 1din 32

SISTEME DE ACŢIONARE

Comanda cu microcontrollere

Petre Ogruţan, oct. 2014


1.Motoare pas cu pas- principiu
Un sistem de poziţionare comandat digital se poate realiza cu motoare pas cu pas şi cu servomotoare de curent continuu în buclă
închisă.
Motorul pas cu pas este un dispozitiv pentru conversia informaţiilor numerice în lucru mecanic pe baza unui consum de energie de
la o sursă. Motorul pas cu pas este un motor de curent continuu comandabil digital, cu deplasarea unghiulară a rotorului
proporţională cu nimărul de impulsuri primite. La fiecare impuls rotorul execută un pas unghiular apoi se opreşte până la
sosirea unui nou impuls. Motorul pas cu pas este capabil de reversarea sensului de mişcare. Dacă este comandat corect (cu o
frecvemţă mai mică decât cea admisibilă) rămâne în sincronism cu impulsurile de comandă la accelerare, mers constant şi
încetinire.

Impulsuri de
comandă SERVOMECANISM SARCINA

MPP
Secvenţele digitale pentru comanda motorului în varianta cea mai simplă sunt:

TACT t

FAZA 1 t

FAZA 2 t

FAZA 3 t

FAZA 4 t

Un pas într-un sens Un pas în sensul contrar Menţinere


2.Motoare pas cu pas- cea mai simplă
comandă
Exemplu de motor pas cu pas
Conectarea unui motor pas cu pas la un port paralel
Motor bipolar pas cu pas
Pentru exemplificare se alege un port paralel pentru • Tensiunea de alimentare +12 - 24 VDC
microprocesoarele din familia x86, linia D0 este cel • Curentul de pas pe fază 0.25 - 2.0 Amperi
mai puţin semnificativ bit şi un motor pas cu pas cu 3 • Pasul 1,8 grade
faze. Un pas înseamnă parcurgerea tuturor fazelor. • Se poate comanda cu semnale: Pas, Directie,
Programul care generează un pas într-un sens este: Validare, decuplate optic
MOV DX, adr • Protectie la depasirea temperaturii de lucru şi la
MOV AL,01 Port paralel, subtensiune
adresa “adr” F1 F2 F3
OUT DX, AL
D0
CALL ______
D1
MOV AL,02
OUT DX,AL D2
CALL ______
D3
MOV AL, 04 ........
OUT DX,AL
CALL ______
Ce rutină trebuie executată după alimentarea fiecărei
faze?
3.Motoare de curent continuu- principiu
Traductor
Valoarea de viteză
numerică a Comparator
poziţiei numeric Convertor SERVOMECANISM
D/A
finale

MCC
Poziţia Traductor de SARCINA
actuală poziţie numeric

Schema bloc a sistemului de acţionare cu motor de


curent continuu este dată în figură:
O mişcare de poziţionare este compusă dintr-o v
accelerare, dintr-o deplasare cu viteză
constantă şi o frânare, conform unei
traiectorii de viteză: t
Timpul de deplasare td= ta+ tc +tf
Accelerare Viteza Frânare
Timpul de poziţionare este suma dintre timpul de ta constantă tc tf
deplasare şi timpul de stabilire (de amortizare
a oscilaţiilor sistemului de poziţionare după
atingerea poziţiei finale),
tp= td+ ts
4. Motorul liniar electrodinamic
Motorul liniar este format dintr-un stator magnet
permanent şi o bobină mobilă. Aceasta este
acţionată de forţa electrodinamică care rezultă din
interacţiunea dintre câmpul produs de curentul care
parcurge bobina şi câmpul magnetic staţionar
produs în stator de magneţii permanenţi. Se
utilizează două tipuri constructive: cu bobină lungă EXEMPLU: Motor liniar
şi întrefier scurt şi cu bobină lungă şi întrefier scurt.
Lungimea bobinei lungi şi a întrefierului lung trebuie să
fie suficient de mari pentru ca în timpul mişcărilor
de poziţionare constanta forţei să se menţină
constantă, deci în întrefier să se afle aceeaşi
lungime de bobină.

EXEMPLU:
Motorul de
acţionare al
capetelor la
hard disc
5.Comanda motoarelor de curent continuu cu
convertor digital analogic C1 +
BD VCC/2 5V
139 0.01F
-
R3 10K

D
!N4001
RE1
0.47
+12
V
PORT PARALEL R4
5K MCC
D0(2) 3 4 5 6 7 8 D7(9)
9

RE1
R1 0.47
5K B1 B2 B3 B4 B5 B6 B7 B8 4 2 +
14 IO - C2 VCC/2 5V
DAC 08 A741 6 BD -
1 __ 140 0.01F
5 VLC IO +
R2 V+ V- 2 3 _
5K 1 3 16 1
3
C
Motorul stă Motorul are viteza maximă Motorul are viteza maximă
+15V MOV DX, adr într-un sens în celălalt sens
-15V
MOV AL,80 MOV DX, adr MOV DX, adr
OUT DX,AL MOV AL,FF MOV AL,00
OUT DX,AL OUT DX,AL
6.Motoare de curent continuu comandate
PWM
Cuplând un motor de curent continuu între 2 canale PWM (PWM1 şi PWM0) se poate obţine o rotire cu
viteză variabilă în ambele sensuri ale motorului. Motorul de curent continuu se roteşte cu o viteză
proporţională cu tensiunea aplicată. Dacă tensiunea aplicată este sub formă de impulsuri motorul se
roteşte proporţional cu valoarea medie a tensiunii. În diagrama următoare se exemplifică această
comportare în cazul rotirii cu viteză maximă într-un sens sau în altul, apoi cu se arată o diagramă de
semnal pentru comanda în caz general:

PWM0=1 PWM0=0
MCC MCC
PWM1=0 PWM1=1
Rotire cu viteză maximă într-un sens Rotire cu viteză maximă în sens contrar

PWM0

PWM1

Tensiunea
pe motor

Factorul de umplere este egal la cele 2 Motorul se roteşte pentru că


canale PWM şi motorul nu se roteşte tensiunea la bornele lui (PW0-
pentru că tensiunea la bornele lui este 0 PWM1) este diferită de 0.
7. Model SIMULINK pentru simularea
funcţionării motorului de curent continuu
O simulare în SIMULINK dovedeşte valabilitatea acestei metode de control. S-a folosit un model din
SIMULINK pentru motorul de curent continuu şi cele 2 canale PWM au fost simulate cu
generatoare de impulsuri cu lăţime variabilă.

Rezultatele simulării sunt reprezentate în figura de sus stânga. În stânga sus este reprezentată forma
curentului prin motor şi jos turaţia obţinute pentru factor de umplere de 90% respectiv 10%. Se vede
că acestea au aceeaşi formă de variaţie. În dreapta sunt reprezentate aceleaşi curbe, dar cu factor de
umplere 10% respectiv 90%. Se vede că motorul se roteşte în sens contrar.
8. Motoare pas cu pas bipolare comandate
PWM
Motoarele pas cu pas pot fi motoare unipolare sau bipolare. La motoarele bipolare comanda paşilor se face prin inversarea curentului prin
înfăşurări. Principiul comenzii seamănă cu cel de la comanda motorului de curent continuu, cu diferenţa că în acest caz de regulă
sunt 2 înfăşurări

În acest caz controllerul trebuie să poată inversa polaritatea pentru o


deplasare a curentului în ambele sensuri. Controllerul trebuie să alimenteze
înfăşurările succesiv cu o anumită secvenţă pentru un sens şi secvenţa
inversă pentru celălalt sens. În desenul alăturat o parcurgere a 4 faze
înseamnă o rotire de 360.

Conectarea unei înfăşurări (de exemplu 1a-1b) la cele 2 canale PWM permite inversarea curentului ca în diagramele din
figura

PWM0

PWM1

Tensiunea pe +V
înfăşurarea 0
1a-1b -V
Factorul de umplere al PWM0 este > decât al Factorul de umplere al PWM0 este < decât al
PWM1, tensiunea aplicată este pozitivă PWM1, tensiunea aplicată este negativă
9. Motoare pas cu pas unipolare comandate
PWM
MPP unipolare folosesc o priză mediană legată la alimentare, inversarea curentului obţinându-se prin legarea la masă
succesivă a terminalelor extreme ale înfăşurării. Se obţin astfel câmpuri magnetice de sens contrar fără inversarea
polarităţii
V V
I I

• Înfăşurările motorului sunt conectate ca în figură.


Prizele mediane sunt legate la alimentare şi secvenţa
de impulsuri se aplică terminalelor 1a, 1b, 2a, 2b.

O perioadă a semnalului PWM nu este semnalul pentru efectuarea unui pas. Semnalul PWM nu asigură succesiunea fazelor ci
valoarea medie a tensiunii de alimentare a unei faze. Conectarea ieşirilor PWM la fazele unui motor unipolar este dată în
figură. Un modul de comandă poate controla un motor pas cu pas asigurând un curent bine definit prin înfăşurări. Acest
tip de comandă crează de exemplu posibilitatea de a comanda motorul cu un curent mai mare la pornire sau permite
realizarea unor traiectorii optime de viteză (regim accelerat- frânat).

PWM0 conectat la 1a

PWM1 conectat la 2a

PWM2 conectat la 1b

PWM3 conectat la 2b
10.Comanda PWM a unui motor de c.c. cu
perii folosind un MC Motorola 6805

MC68705
+5V

OSC1 PWMA1

Motor de c.c. cu
OSC2
perii
+5V Vdd

PC0
Oprit
PC1 Creştere viteză
PC2 Scădere viteza

Vss

Pentru că motorul cu perii este foarte perturbator, se impun măsuri de protecţie. Se recomandă
conectarea unor condensatori de 6,8F între bornele motorului şi masă şi de 0,33F între
bornele motorului. De asemenea se recomandă decuplarea tensiunii de alimentare cu
condensatori de 50F, 6,8F şi 100nF în paralel, diode pentru eliminarea vârfurilor de tensiune
de la fiecare bornă a motorului la masă şi +5V.
Soft
Un program simplificat la maxim, care sugerează modul în care se comandă motorul este:

PORTA EQU $00 Se alocă denumiri sugestive porturilor A şi C


PORTC EQU $02 precum şi registrelor pentru stabilirea sensului
DRDA EQU $04
DRDC EQU $06
PWMAD EQU $10 portul de date PWM (pe liniile port A
CTLA EQU $14 portul de control al PWM

Start EQU *
CLR CTLA registrul de control al PWM este Resetat
LDA #$20 se trimite 20h în portul de date PWM
STA PWMAD (factor de umplere 50%)
LDA #$00 registrul C este definit cu toate liniile de intrare
CLR PORTC
adr BRSET 0,PORTC,adr1 bitul 0 este setat (buton apasat)?
BSR adr_off dacă da, salt la subrutina motor oprit (off)
adr1 BRSET 1,PORTC,adr2 dacă nu, se verifică următorul buton
...........................................................
BRA adr bucla se repetă continuu

Adr_off LDA #$00 se trimite 00h în portul de date PWM


STA PWMAD
11.Interfaţa pentru comanda motoarelor
HCTL 1100 (Hewlett Packard)

LIMIT STOP Port de


Interfaţa cu
microprocesorul Flaguri urgenţe comandã a
motorului
AD0/DB0
........
MC0
AD5/DB5 INIT Flaguri de stare ............
DB6 PROF
DB7 MC7
/ALE
Generator de profil
/CS
/OE Port PWM PULSE
R//W SIGN
RESET

REGISTRE Comutator PHA


INTERNE PHB
Reacţie
CHA CHB PHC
INDEX PHD
/SYNC Timer
EXTCLK
Funcţionare HCTL 1100
HCTL poate comanda motoare pas cu pas şi motoare de curent continuu.
AD0/DB0- AD5/DB5- sunt 6 linii de adrese multiplexate cu date. Selecţia adresei se face cu /ALE.
DB6, DB7- 2 linii de date
La început se stabileşte adresa pe liniile de date, apoi cu /ALE, aceasta se stochează în registrele interne.
Apoi se stabilesc datele şi se validează cu R//W. Semnalul /OE stabileşte momentul citirii datelor în
registrul intern al lui HCTL1100.
Semnalele CHA, CHB şi INDEX provin de la traductorul foto de turaţie. Aceste impulsuri incrementează
un registru de poziţie actuală de 24 de biţi (se incrementează sau decrementează). Pentru evitarea
impulsurilor eronate CHA şi CHB, acestea trebuie să rămână active cel puţin 3 perioade EXTCLK
pentru a fi luate în considerare.
Intrările LIMIT şi STOP sunt semnale de urgenţă care comandă oprirea motorului independent de
procesorul sau MC gazdă. Ieşirile PROF şi INIT pot fi interogate de MC gazdă pentru a afla starea
circuitului. Cu /SYNC se pot sincroniza între ele mai multe circuite HCTL 1100. Semnalul RESET
aduce circuitul în starea iniţială.
HCTL 1100 are 64 de registre interne pe 8 biţi din care 35 utilizabile din exterior. Aceste registre sunt
adresate pe liniile de adresă AD0-AD5.
Comanda unui motor de curent continuu
printr-un convertor D/A cu HCTL 1100
U
HCTL 1100 +5V +5V
MC0 CD/A
2,5V
MC1

vo
Io 00H 40H 80H C0H FFH registrul 08H
+
Conv. I-U
MC7 -2,5V

-5V

Datele se stochează în registrul 08H al HCTL pe 8 biţi. Pentru a putea comanda motorul în
ambele sensuri, se consideră tensiuni negative în intervalul de comandă 00H-7FH şi valori
pozitive în intervalul 80H-FFH
Comanda PWM a unui motor de c.c.
folosind HCTL 1100
Factor de umplere
100%

50%

80H 9CH 00H 32H 64H


registrul 09H

SIGN=1 SIGN=0

Comanda unui motor de c.c. se face cu semnaleul PULSE. Frecvenţa acestuia este stabilită la
EXTCLK/100. Semnalul SIGN comandă sensul de rotaţie. În registrul 09H al HCTL
1100 se încarcă lăţimea impulsului. Comanda se face cu valori zecimale, astfel 9CH=-
100D înseamnă un factor de umplere de 100%, 32H=50D înseamnă 50% iar 64H=100D
înseamnă 100%.
Comanda unui motor pas cu pas cu
HCTL 1100
/INDEX

PHA

PHB

PHC

PHD

Se pot comanda motoare pas cu pas cu 2,3 sau 4 faze, cu diferite succesiuni de comandă a
fazelor. Semnalul INDEX serveşte la stabilirea poziţiei iniţiale a motorului. Succesiunea
fazelor se poate programa prin registrul 07H. Pentru o programare în care toate fazele
sunt active se generează o secvenţă ca în figură.
Frecvenţa impulsurilor poate fi variabilă (programabilă). Ca urmare se pot comanda şi
motoare pas cu pas cu un anumit profil de viteză.
Traductoare de poziţie şi sens în HCTL
1100
CHA

SENS CHB

CHA

SENS CHB

Traductorul optic de poziţie şi de sens este format dintr-un disc cu orificii dreptunghiulare
dispuse pe circumferinţă. Orificiile sunt sesizate de două sisteme optice decalate. Din
formele de undă generate de cele două sisteme decalate se poate deduce sensul rotaţiei.
Aceste semnale pot constitui atât semnale pentru stabilirea poziţiei (prin numărarea
impulsurilor), a sensului prin verificarea defazajului cât şi a vitezei, printr-un convertor
tensiune/frecvenţă.
Cuplarea circuitului HCTL1100 la
microcontrollerul INTEL 8051 U4
26
1 PHA 27
Vcc SY NC PHB 28
PHC 29
U5 PHD
31 1 2 18
EA/VP P1.0 2 3 AD0 MC0 19
C7 19 P1.1 3 4 AD1 MC1 20
Y2 X1 P1.2 4 5 AD2 MC2 21
22pF P1.3 AD3 MC3
2MHz 5 6 22
P1.4 6 7 AD4 MC4 23
C8 18 P1.5 7 8 AD5 MC5 24
X2 P1.6 8 9 AD6 MC6 25
22pF P1.7 AD7 MC7
9
RESET 21 17
Vcc P2.0 22 37 SIGN 16
C9 12 P2.1 23 40 R/W PULSE
13 INT0 P2.2 24 39 OE 31
14 INT1 P2.3 25 38 CS CHA 30
R7 15 T0 P2.4 26 36 ALE CHB
10uF T1 P2.5 RESET
10K 27 33
39 P2.6 28 INDEX
38 P0.0 P2.7 12
37 P0.1 17 PROF 13
36 P0.2 RD 16 INIT 14
35 P0.3 WR 29 34 LIMIT 15
34 P0.4 PSEN 30 EXT CLK STOP
33 P0.5 ALE/P 11
32 P0.6 TXD 10
P0.7 RXD
HCTL1100
8051

Există două moduri de cuplare a lui HCTL-1100 la MC 8051, şi anume legarea la magistrala de
adrese/date/control sau la portul I/O. Alegerea uneia dintre metode sau a celeilalte depinde de modul în
care este folosit MC 8051. Dacă MC 8051 foloseşte bus-ul în aplicaţia dată se recomandă cuplarea lui
HCTL pe bus. Este necesar hard suplimentar (două circuite TTL). La legarea pe bus se pot cupla până
la 4 circuite HCTL. Dacă circuitul nu foloseşte bus-ul, adică nu are conectată nici un fel de memorie
exterioară se recomandă legarea lui HCTL la portul I/O, soluţie care nu necesită hard suplimentar.
În figură se arată modul de legare la portul de I/O.
12.Circuit driver pentru motoare

Ca şi amplificator de curent se poate folosi circuitul ULN 2003. În figură se arată comanda
unui motor pas cu pas unipolar cu 4 faze de la un port paralel.
13. Traductoare de poziţie
. Senzorii optici echipează imprimantele cu jet de cerneală la poziţionarea capetelor de
scriere. În funcţie de modelul de imprimantă există senzori optici liniari sau
circulari. Un senzor optic circular (encoder) şi unul liniar sunt prezentaţi în figură,
alături de o ruletă gradată în mm pentru comparaţie.

1mm

Zona
Roata
traductor
dinţată de Ruleta
antrenare gradată

Traductor optic de poziţie, circular (stânga), un detaliu (mijloc) şi liniar (dreapta)


Traductoare de poziţie
La primele hard discuri traductorul de poziţie a fost
optic, la fel cu cel de la imprimante. Se poate vedea
în imaginea alăturată suportul capetelor pe care este
prinsă folia cu striaţii. Un detaliu mărit al foliei este
arătat în figura de jos. Rezoluţia asigurată de
traductor este mai mare decât la imprimante, deci
striaţiile sunt mult mai fine şi nu sunt vizibile cu
ochiul liber
Traductoare de poziţie
Senzorul de poziţie M150 este un potenţiometru miniatură (18,8mm) la care axul este rotit
prin tragerea unui fir de oţel acoperit cu plastic cu lungimea de 1,5” (38,1mm) care se
retractează automat [1]. Acurateţea senzorului este mai bună de 1%. Rezistenţa maximă
a potenţiometrului este de 5k şi tensiunea aplicată poate fi de maximum 20V. Extinderea
firului poate să nu fie liniară, cu condiţia respectării unor unghiuri limită. Senzorul SP1
este de dimensiuni mai mari (50mm) dar firul poate atinge lungimea de 1270mm.
Senzorul LX-EP [2] este un senzor cu fir de oţel dar principiul de detecţie a poziţiei este
optic iar ieşirea este digitală, oferind la ieşire două semnale defazate (encoder).
Lungimea maximă a firului este de 1270mm.

Senzor de poziţie M150 (stânga) şi SP1 (mijloc) şi LX-EP (dreapta)


14.Traductoare de viteză

În funcţionarea anumitor motoare se urmăreşte obţinerea unei viteze constante şi nu a


poziţionării precise (de exemplu la motoarele imprimantelor LASER). În aceste situaţii
se pot utiliza traductori Hall sau spirale pe cablaj în care se induce o tensiune
proporţională cu viteza de rotaţie

Senzor Hall
fixat pe cablaj

Magnet fixat pe
rotor
Motoare pas cu pas în domeniul auto
Slide-urile cu titlu bold
(1,2,3,4,6) sunt baze teoretice
obligatorii şi trebuie parcurse cu
atenţie