Post on 27-Jan-2016
description
SISTEME DE ACŢIONARE
Comanda cu microcontrollere
Petre Ogruţan, dec. 2009
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ă
MPP
SERVOMECANISM SARCINA
TACT
FAZA 1
FAZA 2
FAZA 3
FAZA 4
t
t
t
t
t
Un pas într-un sens Un pas în sensul contrar Menţinere
Secvenţele digitale pentru comanda motorului în varianta cea mai simplă sunt:
2.Motoare pas cu pas- cea mai simplă comandă
Conectarea unui motor pas cu pas la un port paralel
• Pentru exemplificare se alege un port paralel pentru microprocesoarele din familia x86, linia D0 este cel mai puţin semnificativ bit şi un motor pas cu pas cu 3 faze. Un pas înseamnă parcurgerea tuturor fazelor.
• Programul care generează un pas într-un sens este:MOV DX, adr
MOV AL,01
OUT DX, AL
CALL ______
MOV AL,02
OUT DX,AL
CALL ______
MOV AL, 04
OUT DX,AL
CALL ______
Ce rutină trebuie executată după alimentarea fiecărei faze?
• Exemplu de motor pas cu pas
• Motor bipolar pas cu pas• Tensiunea de alimentare +12 - 24 VDC•Curentul de pas pe fază 0.25 - 2.0 Amperi• Pasul 1,8 grade• Se poate comanda cu semnale: Pas, Directie, Validare, decuplate optic
• •Protectie la depasirea temperaturii de lucru şi la subtensiunePort paralel,
adresa “adr”D0
D1
D2
D3........
F1 F2 F3
3.Motoare de curent continuu- principiu
• 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 accelerare, dintr-o deplasare cu viteză constantă şi o frânare, conform unei traiectorii de viteză:
• Timpul de deplasare td= ta+ tc +tf
• Timpul de poziţionare este suma dintre timpul de deplasare şi timpul de stabilire (de amortizare a oscilaţiilor sistemului de poziţionare după atingerea poziţiei finale),
• tp= td+ ts
Poziţia actuală
Valoarea numerică a poziţiei finale
Comparator numeric
MCC
SERVOMECANISM
SARCINA
Convertor D/A
Traductor de poziţie numeric
Traductor de viteză
v
t
Accelerare Viteza Frânare ta constantă tc tf
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ă ş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
EXEMPLU: Motor liniar
5.Comanda motoarelor de curent continuu cu convertor digital analogic
Motorul stăMOV DX, adrMOV AL,80OUT DX,AL
C1
0.01F
+VCC/2 5V
-
C2
0.01F
+VCC/2 5V
-
MCC
BD 140
BD 139
RE10.47
RE10.47
D!N4001
A741
2
3
6-
+_
R45K
4
2
IO
__IOVLC
1
V+ V-
+15V -15V
C
13
3 16R25K
15
14
R15K
+12V
R3 10K
PORT PARALEL
DAC 08
D0(2) 3 4 5 6 7 8 D7(9) 9
B1 B2 B3 B4 B5 B6 B7 B8
Motorul are viteza maximăîntr-un sensMOV DX, adrMOV AL,FFOUT DX,AL
Motorul are viteza maximăîn celălalt sensMOV DX, adrMOV AL,00OUT 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
PWM1=0 MCC
PWM0=0
PWM1=1 MCC
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 canale PWM şi motorul nu se roteşte pentru că tensiunea la bornele lui este 0
Motorul se roteşte pentru că tensiunea la bornele lui (PW0-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
• Conectarea unei înfăşurări (de exemplu 1a-1b) la cele 2 canale PWM permite inversarea curentului ca în diagramele din figura
Î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.
PWM0
PWM1
Tensiunea pe înfăşurarea 1a-1b
+V0-V
Factorul de umplere al PWM0 este > decât al PWM1, tensiunea aplicată este pozitivă
Factorul de umplere al PWM0 este < decât al 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
• Î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.
V
I
V
I
• 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
OSC1 PWMA1
OSC2
Vdd
PC0 PC1 PC2
Vss
+5V
+5V
Motor de c.c. cu perii
OpritCreştere viteză
Scădere viteza
Pentru că motorul cu perii este foarte perturbator, se impun măsuri de protecţie. Se recomandă conectarea unor condensatori de 6,8F între bornele motorului şi masă şi de 0,33F între bornele motorului. De asemenea se recomandă decuplarea tensiunii de alimentare cu condensatori de 50F, 6,8F şi 100nF în paralel, diode pentru eliminarea vârfurilor de tensiune de la fiecare bornă a motorului la masă şi +5V.
SoftUn 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)
Interfaţa cu microprocesorul
AD0/DB0........AD5/DB5DB6DB7/ALE/CS/OER//WRESET
REGISTRE INTERNE
LIMIT STOPFlaguri urgenţe
INIT Flaguri de starePROF
Generator de profil
ReacţieCHA CHB
Port de comandã a motorului
MC0 ............ MC7
Port PWM PULSE SIGN
Comutator PHA PHB PHC INDEX PHD
/SYNC TimerEXTCLK
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
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
HCTL 1100
MC0 MC1
MC7
CD/A+5V
Io
Conv. I-U
vo+ 00H 40H 80H C0H FFH registrul 08H
U+5V
2,5V
-2,5V
-5V
Comanda PWM a unui motor de c.c.
folosind HCTL 1100
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%.
100%
50%
Factor de umplere
SIGN=0SIGN=1
80H 9CH 00H 32H 64H registrul 09H
Comanda unui motor pas cu pas cu HCTL 1100
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ă.
/INDEX
PHA
PHB
PHC
PHD
Traductoare de poziţie şi sens în HCTL 1100
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ţă.
CHA
CHB
CHA
CHB
SENS
SENS
Cuplarea circuitului HCTL1100 la microcontrollerul INTEL 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.
Vcc
Vcc
U4
HCTL1100
AD02
AD13
AD24
AD35
AD46
AD57
AD68
AD79
MC018
MC119
MC220
MC321
MC422
MC523
MC624
MC725
SYNC1 PHA
26
PHB27
PHC28
PHD29
SIGN17
PULSE16
CHA31
CHB30
INDEX33
PROF12
INIT13
LIMIT14
STOP15
EXT CLK34
R/W37
OE40
CS39
ALE38
RESET36R7
10K
C9
10uF
C8
22pF
C7
22pF Y2
2MHz
U5
8051
EA/VP31
X119
X218
RESET9
INT012
INT113
T014
T115
P1.01
P1.12
P1.23
P1.34
P1.45
P1.56
P1.67
P1.78
P0.039
P0.138
P0.237
P0.336
P0.435
P0.534
P0.633
P0.732
P2.021
P2.122
P2.223
P2.324
P2.425
P2.526
P2.627
P2.728
RD17
WR16
PSEN29
ALE/P30
TXD11
RXD10
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.
Ruleta gradată
1mm
Roata dinţată de antrenare
Zona traductor
Traductor optic de poziţie, circular (stânga), un detaliu (mijloc) şi liniar (dreapta)
Traductoare de poziţieLa 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
Slide-urile cu titlu bold (1,2,4,6) sunt baze teoretice obligatorii şi
trebuie parcurse cu atenţie