Documente Academic
Documente Profesional
Documente Cultură
LUCRARE DE DISERTAIE
Coordonator tiinific:
Prof. Dr. Ing. Sgrciu Valentin
Masterand:
Ing. Cosmin Constantin Butnescu
BUCURETI
2013
Contents
1.
2.
Introducere........................................................................................................................... 4
1.1.
Obiectiv.................................................................................................................................... 4
1.2.
2.2.
2.3.
2.4.
2.4.1.
3.
4.
6.2.
6.3.
7.
Concluzii ............................................................................................................................. 27
8.
Bibliografie ......................................................................................................................... 28
9.
Anexe ................................................................................................................................. 29
9.1.
Anexa 1 Model schem de conexiuni motor pas cu pas EasyDriver Arduino Uno ....... 29
9.2.
9.3.
9.4.
1. Introducere
1.1.
Obiectiv
1.2.
S asigure crearea unui mediu dinamic, cel pe care ocupanii incintei l doresc.
Diferite cerine ale mediului vizual sunt necesare pentru diferite activiti sau funcii.
2.1.
180 si 0,3. Aplicaiile acestora sunt limitate la situaiile n care nu se cer puteri mari (puteri
uzuale cuprinse ntre domeniile microwailor si kilowailor). MPP sunt utilizate n aplicaii de
mic putere, caracterizate de micri rapide, precise, repetabile: plotere x-y, uniti de disc
flexibil, deplasarea capului de imprimare la imprimante serie, acionarea mecanismelor de
orientare si prehensiune la roboti, deplasarea axial a elementelor sistemelor optice, mese de
poziionare 2D pentru mainile de gurit etc.
Utilizarea MPP confer urmtoarele avantaje:
utiliza cu succes in circuit deschis (lipsa traductorului numeric de pozitie face ca sistemele de
comanda in circuit deschis a MPP sa fie in prezent cele mai ieftine sisteme de pozitionare);
memoreaz poziia;
unghi de pas, deci increment de rotaie, de valoare fix pentru un motor dat;
2.2.
MPP sunt de mai multe feluri: rotative sau liniare, numrul nfurrilor de comand
variind ntre unu si cinci. Din punct de vedere al construciei circuitului magnetic sunt trei
tipuri principale:
hibride.
BB
CC
BB
CC
BB
CC
fluxurile magneilor permaneni, dnd natere unor cupluri de fore, care deplaseaz rotorul.
Aspectele legate de comanda n secvene, simpl, dubl i mixt, sunt similare cu cele de la
MPP cu reluctan variabil. n schimb, n msura n care rotorul execut un numr de pai i
polul sud al rotorului se apropie de polul A al statorului, curentul prin nfurarea AA
trebuie s-i schimbe sensul, pentru a-i opune acestuia un pol nord i a menine sensul
cuplului de fore. Alimentarea fazelor se face cu impulsuri de polaritate alternat, lucru care
complic structura dispozitivului de comand, numit comand bipolar.
Acest tip de motor asigur momente motoare mai mari i un cuplu de meninere a
rotorului, chiar n lipsa alimentrii fazelor Paii unghiulari obinui sunt mari (ntre 45 si
120), ntruct numrul de magnei permaneni, care pot fi dispui de-a lungul circumferinei
rotorului este mult mai mic dect numrul de dini accesibil pentru rotorul uni MPP cu
reluctan variabil.
MPP hibrid este o combinaie a primelor dou tipuri, mbinnd avantajele ambelor i
fiind varianta de MPP utilizat n marea majoritate a aplicaiilor. n cazul unui MPP hibrid,
rotorul este constituit dintr-un magnet permanent, dispus longitudinal, la ale crui extremiti
sunt fixate dou coroane dinate din material feromagnetic (fig.2, a). Dinii unei coroane
constituie polii nord, iar dinii celeilalte coroane, polii sud. Dinii celor dou coroane sunt
decalai spaial, astfel nct, dac un dinte al unei coroane se gsete n dreptul unui dinte
statoric, dintele rotoric de pe cealalt coroan s se afle la jumtatea unghiului dintre doi dini
statorici.
10
= 0,9).
2.3.
Printre cele mai importante mrimi caracteristice, mecanice i electrice, ale MPP se
definesc (vezi pentru unele dintre ele, figura 2):
1. Unghiul de pas (
impuls de comand.
2. Frecvena maxim de start-stop n gol este frecvena maxim a impulsurilor de
comand, la care motorul poate porni, opri sau reversa fr pierderi de pai (fAm - fig. 2).
3. Frecvena limit de pornire reprezint frecvena maxim a impulsurilor de comand,
cu care MPP poate porni, fr pierderi de pai, pentru un cuplu rezistent i un moment de
inerie date (fAm fig. 2).
11
4. Cuplul limit de pornire reprezint cuplul rezistent maxim la arbore, cu care MPP
poate porni, la o frecven si un moment de inerie date, fr pierderi de pai (ML* fig. 2).
5. Caracteristica limit de pornire definete domeniul cuplu-frecven de comand
limit, n care MPP poate porni fr pierderi de pai (curba Start-Stop pentru pornire n gol
JL = 0, respectiv curba cu linie ntrerupt pentru pornire n sarcin JL 0).
6. Frecvena maxim de mers n gol este frecvena maxim a impulsurilor de comand
pe care o poate urmri motorul, fr pierderea sincronismului (fBom fig. 2).
7. Frecvena limit de mers reprezint frecvena maxim cu care poate funciona un
MPP, pentru un cuplu rezistent si un moment de inerie date.
8. Cuplul limit de mers reprezint cuplul rezistent maxim, cu care poate fi ncrcat un
MPP pentru un moment de inerie dat i o frecven de comand cunoscut.
9. Caracteristica de mers definete domeniul cuplu limit de mers-frecven limit de
mers (curba Betriebsgrenzmoment MBm fig. 2), n care MPP poate funciona n sincronism,
fr pierderi de pasi.
10.Viteza unghiular (w) poate fi calculat ca produs dintre unghiul de pas si frecvena
de comand:
(2)
11.Puterea la arbore este puterea util la arborele motorului, corespunztoare punctului
de funcionare de pe caracteristica de mers, punct caracterizat de cuplul limit de mers i de
frecvena maxim de mers.
12.Cuplul de meninere este egal cu cuplul rezistent maxim, care poate fi aplicat la
arborele motorului cu fazele nealimentate, fr ca s provoace rotirea continu a rotorului.
12
13
2.4.
Fig. 3 Sistem de poziionare cu motor pas cu pas; comanda unui motor n bucl deschis
Marele avantaj al motoarelor pas cu pas const n faptul c pot fi comandate n bucl
deschis (fig. 3), fr a fi necesar o bucl de reglare a poziiei, care s compare, permanent,
poziia programat cu cea curent, furnizat de un senzor de poziie.
Aceast mod de comand impune, ns, funcionarea n sincronism a MPP, respectiv
numrul de pai efectuai de motor trebuie s coincid, pe tot parcursul funcionrii, cu
numrul de impulsuri de comand, transmise de unitatea de comand. Este motivul pentru
care alegerea unui MPP, pentru o anumit aplicaie, trebuie fcut cu mult discernmnt,
urmrind anumite etape.
2.4.1. Variante de comand a MPP
Comanda pailor MPP poate realiza n mai multe moduri. Astfel, se utilizeaz:
Comand n secven simpl (tabel 1);
Comand n secven dubl (tabel 2);
Comand n secven mixt (tabel 3);
Comand prin micropire. Aceasta este o metod special de control al
poziiei MPP n poziii intermediare celor obinute prin primele trei metode. De
exemplu, pot fi realizate poziionri la 1/10, 1/16, 1/32, 1/125 din pasul
motorului, prin utilizarea unor cureni de comand a fazelor cu valori diferite
de cea nominal, astfel nct suma curenilor de comand prin cele dou faze
alturate, comandate simultan s fie constant, egal cu valoarea nominal. Cu
ajutorul acestei metode sunt asigurate att poziionri fine, ct si operri line,
14
fr ocuri, ns cuplul dezvoltat este mai mic dect n primele trei cazuri.
Presupune un sistem de comand mult mai complex, cu convertoare numericanalogice, pentru a obine profilele de cureni n trepte.
Dintr-un alt punct de vedere, respectiv cel al meninerii/inversrii sensului, sunt dou moduri
de comand distincte:
Comand unipolar, cu meninerea sensului curentului;
Comand bipolar, cu alternarea sensului curentului.
MPP cu 2 faze pot fi comandate n ambele variante, bipolar i unipolar, ntruct cele dou
nfurri ale lor au configuraia prezentat n figura 4, lit. b). Important este numrul de fire
accesibil la ieirea motorului, existnd motoare cu 4, 5, 6 i 8 fire ( fig. 4). Dintre aceste
variante, MPP cu 4 fire poate fi comandat numai n varianta bipolar, iar cel cu 5 fire numai
n varainta unipolar. Cele cu 6 fire i cu 8 fire pot fi comandate n ambele variante, cu
diferena c, n cazul motorului cu 8 fire, n varianta de comand biplolar, nfurrile pot fi
legate i n paralel.
15
16
3.1.
Se cunoaste c domeniul principal de utilizare al motoarelor pas cu pas este cel de comand si
reglare incremental a micrii. Aplicaiile convenionale cu MPP necesit doar comanda
clasic in circuit deschis, oferind performane bune la un pre de cost relativ redus.
Comanda n circuit deschis reprezint cea mai simpl posibilitate de comand a unui motor
pas cu pas, n care motorul execut paii ca rspuns la o secvena de impulsuri aplicate fazelor
17
18
Semnalele analogice din proces sunt achiziionate prin intermediul unor senzori ce furnizeaz
semnale electrice, dupa care sunt preprocesate i convertite n semnale digitale.
Microcontroller-ului i revine rolul de a le prelucra dup un algoritmul implementat, dup care
semnalele de comanda rezultate vor fi reconvertite n semnale analogice. Arhitectura
specializat a microcontroller-elor permite prelucrarea usoar a datelor achiziionate din
proces, execuia n paralel a mai multor instruciuni, execuia operaiilor aritmetice,
implementarea altgoritmilor.
Cunoasterea celor mai noi tendine n acest domeniu, precum i a celor mai recente evoluii
tehnologice i strategii de comand i reglare, sunt factori indispensabili pentru evaluarea
corect a cerinelor pe care trebuie s le satisfac un sistem de acionare performant cu
motoare pas cu pas. Tendinele de modernizare i perfecionare a sistemelor de acionare
bazate pe aceste tipuri de motoare se manifest prin mentinerea modificrilor spectaculoase
din domeniul fabricrii MPP i prin aplicarea unor noi metode de proiectare i optimizare a
circuitelor magnetice.
Tendina generala este acum de a se fabrica motoare modularizate, denumite motoare
inteligente, care au posibilitatea cuplrii directe la sistemele de comand digitale bazate pe
microprocesoare i care pot cuprinde n structura lor traductorul optic incremental, reductorul
de turatie.
n ceea ce privete comanda i alimentarea MPP, n ultimii ani s-a generalizat folosirea
convertoarelor electronice bazate pe tehnicile de modulare n durata PWM. Din punct de
vedere tehnologic, marea majoritate a acestor convertoare includ ntr-un singur chip partea de
comand si logic, ct i comutatoarele electronice.
Prin utilizarea microcontroller-elor tehnologia acionrilor cu MPP a facut un mare pas
nainte, permind implementarea n timp real a unor altgoritmi de reglare.
19
Fig. 5
Circuitelor electronice se pot caracteriza din punct de vedere funcional i din punct de
vedere constructiv sau tehnologic. n cazul proiectrii unui circuit electronic, trebuie s se in
cont simultan de parametri pe care i intim dar i de tehnologia disponibil.
Din punct de vedere funcional, circuitele electronice se caracterizeaz prin funcia de
transfer ce reprezint legtura existent ntre mrimea de ieire i mrimea de intrare.Funcia
de transfer se poate defini:
analitic: e=f(i,c,p); Pentru a defini funcia de transfer pe cale analitic
circuitul electronic (elementele circuitului) trebuie s fie reprezentat printr-un
model adecvat.
grafic calitativ sau cantitativ, construit pe cale experimental
20
Fig. 6
n general, circuitele electronice sunt caracterizate prin mrimi de genul tensiune i
curent. Dup caracterul lor, tensiunea i curentul pot fi mrimi purttoare de energie sau
mrimi purttoare de informaie. n cazul tensiunii, ca i mrime purttoare de energie,
parametrii care caracterizeaz tensiunea nu se modific n timp. n cazul tensiunii interpretat
ca semnal electric parametrii tensiunii se modific, iar informaia este transpus tocmai n
aceti parametri.
21
22
6.1.
Fig. 7
Pentru nceput voi prezenta placa de dezvoltare Arduino, fiind partea component a
sistemului care se ocup cu asigurarea controlului automat al acestuia.
Arduino este o platform de procesare open-source, bazata pe software si hardware
flexibil i simplu de folosit. Const ntr-o platform de mici dimensiuni (6.8 cm / 5.3 cm in
cea mai des ntalnit variant) construit n jurul unui procesor de semnal i este capabil de a
prelua date din mediul nconjurtor printr-o serie de senzori i de a efectua aciuni asupra
mediului prin intermediul luminilor, motoarelor, servomotoare, i alte tipuri de dispozitive
mecanice. Procesorul este capabil s ruleze cod scris ntr-un limbaj de programare care este
foarte similar cu limbajul C++.
In cadrul proiectului, aceasta are si rolul de achiziie a datelor, prin pinii de intrare
analogici, de la senzorul de lumin (fotorezistena), date care sunt interpretate i prelucrate
prin intermediul programului existent n memoria microcontroller-ului, ulterior fiind
responsabil cu transmiterea semnalului de comand (care este un semnal digital) driver-ului
de motor n vederea acionrii motorului pas cu pas pentru executarea procesului de micare a
jaluzelei.
24
6.2.
Fig. 8
Fotorezistena reprezint un conductor electric a carui rezistent variaz in funcie de
radiaia luminoas, funcionnd pe baza efectului fotoelectric intern.
Prin fenomenul de fotoconducie se nelege creterea conduciei unui material (metal,
semiconductor) datorita generrii de purttori de sarcin suplimentari sub influena radiaiei
luminoase.
Printr-un semiconductor supus unei diferene de potenial U va trece un curent electric
slab (de ntuneric), care crete, atunci cnd semiconductorul este iluminat, datorit
fotoconduciei. Intensitatea fotocurentului, diferit de cea a curentului de ntuneric, depinde
de temperatur, tensiunea electric aplicat i de durata iluminrii.
n cazul sistemului prezent citirea intensittii luminoase este posibil prin utilizarea
unei rezistene care depinde de radiaia luminoas, o fotorezistena, caracterizata mai sus.
Calcularea intensitii luminoase se face astfel:
pe unul din porturile analogice ale placuei de dezvoltare Arduino se citete
valoarea semnalului analogic furnizat la bornele fotorezistenei. (valoarea
analogic maxim aferent portului este 1023, care reprezint i pragul maxim
al semnalului de la bornele fotorezistenei care poate fi citit 100%);
la o citire care se aproprie de 0, valoarea intensitii luminoase va fi direct
proporional cu aceasta.
25
6.3.
Fig. 9
EasyDriver este un driver pentru actionarea motoarelor pas cu pas simplu de utilizat,
compatibil cu orice dispozitiv/modul poate scoate un semnal digital de 0 si 5V. EasyDriver
are nevoie de la 7V pn la 30V pentru a alimenta motorul. Prin intermediul unui
poteniometru aflat pe placut, se poate realiza control curentului, putnd lua valori de la
150mA/faza la 750mA/faza. EasyDriver suport motoare bipolare i motoare cablate ca
bipolare. De exemplu, motoarele stepper cu 4,6 sau 8 fire.
n cadrul proiectului s-a realizat conexiunea driver-ului cu motorul pas cu pas bipolar,
care are 4 fire si cu platforma Arduino Uno, obinndu-se un sistem de acionare de mare
precizie. Cu ajutorul acestui driver se realizeaz reglarea turaiei i pasului de rotaie ale
motorului prin PWM, cu ajutorul unui pin, care emite un semnal digital, de pe placuta de
dezvoltare Arduino Uno, iar sensul de rotaie este dat de alti doi pini digitali.
n vederea afirii valorilor intensitaii luminoase citite de fotorezisten i a valorii
pasilor de rotaie, s-a montat un display 16x2. Conectarea acestuia s-a realizat prin
intermediul pinilor digitali aflai pe placa de dezvoltare Arduino Uno, n vederea afirii
parametrilor afereni sistemului automat de acionare a jaluzelei.
26
7. Concluzii
27
8. Bibliografie
[1] C. Ionescu, V. Vldescu, S. Larionescu, D. Ionescu (1993) Automatizri n instalaiile
pentru construcii
[2] C. Ionescu, S. Larionescu, S. Caluianu, D. Popescu (2004) Automatizarea instalaiilor.
Comenzi automate
[3] D. Popescu (2006) Automatizri n construcii
[5] S. Larionescu (2007) Automate i microprogramare (note de curs)
[6] S. Caluianu Acionari electrice i sisteme de automatizare a fluxurilor (note de curs),
UTCB
[7] Kelemen A., Crivii M - Motoare electrice pas cu pas (Editura tehnica)
[8] Kuo B.C., Kelemen A, Crivii M, Trifa V - Sisteme de comanda si reglare incrementala a
pozitiei (Editura tehnica)
[9] Morar A Echipamente de comanda a motoarelor pas cu pas implementate pe
calcuatoare personale (Editura Universitatii Petru Maior Targu Mures, 2002)
[10] Morar A. Sisteme electronice de comanda si alimentare a motoarelor pas cu pas
implementate pe calculatoarele personale Teza de doctorat (Universitatea tehnica, Cluj
Napoca, 2001)
[11] Voiculescu E. Sisteme electronice de comanda a motoarelor pas cu pas Teza de
doctorat (I.P. Cluj Napoca, 1992)
[13] Tony R. Kuphaldt Introducere in circuite electrice si electronice (vol. 1, vol. 3, vol. 4)
[12] http://webbut.unitbv.ro Carti on-line
[13] http://www.arduino.cc/
28
9. Anexe
9.1.
9.2.
29
9.3.
9.4.
Anexa 4 Program
//librarii incluse
#include <LiquidCrystal.h>
//definire variabile
#define DIR_PIN 2
#define STEP_PIN 3
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
const int buttonPin1 = 4;
const int buttonPin2 = 5;
const int modcontrol = 6;
const int manaut = 13;
boolean manFlag = 1;
boolean autFlag = 1;
boolean update1 = 0;
boolean update2 = 0;
int buttonState1 = 0;
int buttonState2 = 0;
int stepCounter = 0;
int modcontrolState = 0;
30
lcd.print("
");
lcd.setCursor(10, 1);
lcd.print(Setpoint);
}
// Afisare parametrii prin RS232
Serial.print("Senzor = " );
Serial.print(Intrare);
Serial.print("\t Setpoint = " );
Serial.print(Setpoint);
Serial.print("\t Output = ");
Serial.print(outputValue);
Serial.print("\t Grade efectuate in total = ");
Serial.print(stepCounter);
Serial.print("\t Grade executate = ");
Serial.println(outputValue);
delay(100);
update2 = 0;
}
//scalare valoare iesire
outputValue = Setpoint - Intrare;
if (outputValue<50 && stepCounter>=950) outputValue = 0;
else if (outputValue>50 && stepCounter<=-950) outputValue = 0;
if(stepCounter<=1000 && stepCounter >= -1000 && outputValue>50)
{
rotateDeg(-10, 0.1);
stepCounter = stepCounter - 10;
}
else if(stepCounter<=1000 && stepCounter >= -1000 && outputValue<-50)
{
rotateDeg(10, 0.1);
stepCounter = stepCounter + 10;
}
oldSetpoint = Setpoint;
oldIntrare = Intrare;
manFlag = 1;
}
else if (modcontrolState == 1)
{
if( manFlag == 1 )
{
rotateDeg(-1*stepCounter, 0.4);
stepCounter = 0;
manFlag = 0;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("MOD MAN rDeg->");
lcd.setCursor(0, 1);
lcd.print("Lum act: ");
32
digitalWrite(manaut, HIGH);
delay(100);
digitalWrite(manaut, LOW);
delay(100);
}
Intrare = analogRead(0);
if(Intrare >= oldIntrare+10 || Intrare <= oldIntrare-10)
{
lcd.setCursor(9, 1);
lcd.print("
");
lcd.setCursor(9, 1);
lcd.print(Intrare);
delay(100);
}
if (update1 == 1)
{
update1 = 0;
Serial.print("\t Grade efectuate = ");
Serial.println(stepCounter);
lcd.setCursor(14, 0);
lcd.print(" ");
lcd.setCursor(14, 0);
lcd.print(stepCounter);
}
buttonState1 = digitalRead(buttonPin1);
buttonState2 = digitalRead(buttonPin2);
if (buttonState1 == HIGH )
{
rotateDeg(10,0.5);
stepCounter = stepCounter + 10;
update1 = 1;
digitalWrite(manaut, HIGH);
delay(200);
digitalWrite(manaut, LOW);
}
else if (buttonState2 == HIGH )
{ update1 = 0;
rotateDeg(-10,0.5);
stepCounter = stepCounter - 10;
update1 = 1;
digitalWrite(manaut, HIGH);
delay(200);
digitalWrite(manaut, LOW);
}
autFlag = 1;
oldIntrare = Intrare;
//stepCounter = 0;
}
}
void rotate(int steps, float speed){
33
//rotate a specific number of microsteps (8 microsteps per step) - (negitive for reverse movement)
//speed is any number from .01 -> 1 with 1 being fastest - Slower is stronger
int dir = (steps > 0)? HIGH:LOW;
steps = abs(steps);
digitalWrite(DIR_PIN,dir);
float usDelay = (1/speed) * 70;
for(int i=0; i < steps; i++){
digitalWrite(STEP_PIN, HIGH);
delayMicroseconds(usDelay);
digitalWrite(STEP_PIN, LOW);
delayMicroseconds(usDelay);
}
}
void rotateDeg(float deg, float speed){
//rotate a specific number of degrees (negitive for reverse movement)
//speed is any number from .01 -> 1 with 1 being fastest - Slower is stronger
int dir = (deg > 0)? HIGH:LOW;
digitalWrite(DIR_PIN,dir);
int steps = abs(deg)*(1/0.225);
float usDelay = (1/speed) * 70;
for(int i=0; i < steps; i++){
digitalWrite(STEP_PIN, HIGH);
delayMicroseconds(usDelay);
digitalWrite(STEP_PIN, LOW);
delayMicroseconds(usDelay);
}
}
34