Post on 08-Aug-2015
transcript
Universitatea Politehnica BucurestiFacultatea de Inginerie Mecanica si Mecatronica
Proiect Actionari Electrice
Modelarea şi Simularea funcţionării unui motor electric pas cu pas in regim dinamic
Titular de curs: Student: Toma StelianProf.dr.ing. Spanu Alina Grupa: 542B Mecatronica
Cuprins
Tema de proiect
2
DATE INITIALE
NUMAR DINTI ROATA 1 Z1 = 28NUMAR DINTI ROATA 2 Z2= 96NUMAR DINTI ROATA 3 Z3=35NUMAR DINTI ROATA 4 Z4=89GROSIME ROATA 1 G1=3 mmGROSIME ROATA 2 G2=3 mmGROSIME ROATA 3 G3=4 mmGROSIME ROATA 4 G4=4 mmMOMENTUL 1 M1=2.5 mmMOMENTUL 2 M2=3.5 mmMOMENTUL DE INERTIE AL DL Jdl=6.2 x 10-7 Kg m2
FRECVENTA 150 pasi / secundaMOMENTUL REZISTIV Mrez=0.021 N m COD MOTOR 2232
1. Consideratii teoretice
3
Motoare pas cu pas
Din punct de vedere al electronicii discrete s-au dezvoltat elemente componente pentru comanda semnalelor discontinue folosind tehnica numerica.
S-a eliminat dezavantajul miscarii continue, sau analogice, a elementelor de executie.Datorita aparitiei materialelor magnetice cu performante ridicate, s-au dezvoltat diferite tipuri
de motoare electrice: motoare de CC, servomotoare de CC, servomotoare de CA.Toate elementele au proprietatea de a transforma comanda prin impulsuri in miscare
incrementala la arborele motorului.
Clasificare
Motoarele pas cu pas
1. solenoidale 2. cu reductanta variabila a) miscare liniara
b) miscare rotatie
Dupa constructia statorului: a) monostatoric b) polistatoric
3. cu magnet permanent a) in stator b) in rotor
4. hibrid - prezinta un magnet permanent si reductanta variabila 5. electromecanice sau motoare electrohidraulice
Marimi caracteristice pentru motorul electric pas cu pas
Din punct de vedere constructiv motorul pas cu pas este format din stator si rotor.
4
Intrefierul are valori foarte mici 0.1 mm – 1 mm, campul electromagnetic care apare intre stator si rotor are lungimea liniilor de camp mai mici, iar polii statorici sunt dispusi jumatate pe N jumatate pe S, liniile inchizandu-se prin poli diametrali opusi.
Θp = 2 π / ps × zr = 2 π / 4*50 = 1.8 º
Viteza unghiulara a rotorului
f – frecventa [p/s]N – numar pasi pe rotorN = m * zr (m – numar faze, zr – dinti rotorici).
La motoarele pas cu pas cu reductanta variabila, pozitia de echilibru stabil se obtine atunci cand axa dintelui rotoric coincide cu cea a dintelui statoric si se obtine reductanta minima a circuitului magnetic.
Pozitia de echilibru instabil se obtine atunci cand axa dintelui statoric coincide cu axa golului dintre cei doi dinti rotorici.
Avantaje Dezavantaje
Mai fiabile decat cele cu miscare continua
Frecventa maxima de comanda are valori mari, rezulta viteze mari
Constructia mecanica este mai simpla, unghiul de pas poate fi micsorat
Sunt bidirectionale Schimbarea sensului de rotatie se face
inversand succesiunea fazelor de alimentare
Nu memoreaza pozitiaNu are cuplu electromagnetic in absenta
alimentarii fazelorDaca motorul este alimentat in secventa
simpla, faza cu faza, atunci cand cuplul de frecare este mic, scade cuplul electromagnetic.
unde M = cuplul electromagnetic al motorului, iar p este numarul de
perechi de poli magnetici
2. Calculul momentului de inertie masic redus
Pentru calcularea momentului de inertie masic redus folosim un program de calcul realizat in Matlab , sistemul fiind impartit, pentru usurinta calcului in elementele sale componente:
Cuplajul :
5
A fost realizat in SolidWorks pentru a putea determina cu usurinta caracteristicile masice ale piesei:
Jxx = 1180.55*10-9 Kg m2
Jyy = 3212.587*10-9 Kg m2
Jzz = 391.236*10-9 Kg m2
Motorul
Frecventa de lucru a motorului este egala cu 150 pasi / secunda notata in programul de lucru cu “frec”, iar pasul este egal cu 1.8º
w motor = (pas * π /180) * frecventa notatie “omegam”w motor = (1.8 * π/180) * 150w motor = w rotor
Momentul de inertie al rotorului, Jrotor = 230*10-7 kg m2 “Jrotor” in program
Rotile dintate
Pentru a calcula momentul rotilor dintate se foloseste formula:
Unde Rd=m1*z/2; m1 fiind momentul pe prima treapta, iar z – numarul de dintiMasa se calculeaza ca produsul dintre densitate si volum; densitatea fiind 7800 kg / m3; iar volumul rotii dintate = pi*rd12*g1; g1 fiind grosimea rotii respective
Astfel, momentul de inertie masic pentru prima roata dintata, la fel ca la roata 2 si 3 este:
Jroata1=ro*v1*rd1^2/2;
Bratul portsatelit
6
Inaltimea bratului, H este egala cu rd3 + rd4 iar raza este egala cu 3 mm,Astfel Jbrat = densitatea (2700 kg/m3) * volumul * raza 2 / 2 *2 , ultima inmultire cu 2 facandu-se deoarece am considerat bratul ca o piesa in forma de L cu doua parti identice
Dispozitivul de lucru
Momentul de inertie al dispozitivului de lucru este dat in cerinta proiectului:
JDL = 6.2 x 10-7 Kg m2
Vitezele de rotatie
Viteza de rotatie a cuplajului este egala cu W motor wcuplaj=wmotorViteza de rotatie a rotii dintate 1 este egala cu W motor: wroata1=wmotorLa roata 2 avem un mecanism planetar:
ωroata2=ωmotor*z2/z1
La bratul port satelit avem de asemeni un mecanism planetar:
Momentul de intertie masic redus pentru sistem este:
i reprezentand fiecare element al sistemului.
3. Modelarea matematica a motorului
Se considera doua faze alimentate simultan pentru efectuarea unui pas (a si b).Avantajul acestei alimentari este ca motorul dezvolta un cuplu mai mare in comparatie cu
motorul care functioneaza cu o singura faza alimentata.θm= θp=1.8˚
Ia si Ib - curentul pentru fiecare faza, au valori egale si se gasesc in catalogul motorului.Ra si Rb - rezistentele egale pentru fiecare faza si se gasesc, de asemenea, in catalog.
2pz = 50
Inductanta proprie pentru prima faza: Laa= L0+Lp*cos(2pz*θm)
7
Inductanta mutuala:Lab=Lp*sin(2pz* θm)
Ecuaţiile ce descriu funcţionarea motorului sunt:
,
Acest sistem de ecuaţii diferenţiale de ordinul 2, pentru a putea fi rezolvat prin metode numerice(Runge-Kutta), trebuie adus la o formă cu ecuaţii diferenţiale de ordinul 1. Ca urmare apare o a patra ecuaţie:
Ecuaţiile electrice:
,
Prin rezolvarea ecuaţiilor de mai sus găsim următorul sistem:
Ecuaţia de mişcare
Graficele celor doua necunoscute: θm(t) si ωm se obtin din rezultatele rezolvarii numerice cu metoda Runge – Kutta.. Programul principal apeleaza functia ode23 avand un set initial de valori, un timp si o eroare initiala, apeland o functie ce calculeaza iterativ valorile pentru Ia si Ib, calculand intai inductantele si derivatele acestora, apoi folosind ecuatia matriciala descrisa mai sus.
Pentru alegerea motorului de actionare rulam programul pentru trei motoare cu date diferite, urmand a alege motorul cu timpul de amortizare a oscilatiilor cel mai mic:
Motor 1:
8
Intensitate: 1.6 ARezistenta: 3.4 ohmiL0 = 9 mHJrotor=230 g cm2
Timpul de stabilizare: 1.8 secunde
Motor 2Intensitate: 1.9 ARezistenta: 2.2 ohmiL0 = 5.7 mHJrotor=230 g cm2
Timpul de stabilizare: 1.6 secunde
Motor 3:Intensitate: 4.7 ARezistenta: 0.39 ohmiL0 = 1.5 mHJrotor=640 g cm2
Timpul de stabilizare: 1.1 secunde
Concluzii
Dintre aceste trei motoare, cel de-al treilea are timpul de stabilizare cel mai mic. Desi toate cele trei motoare se stabilizeaza, primele doua au performantel mai mici datorita unei intensitati mai mici a curentului in conditiile unei rezistente mari. Se observa aici importanta mai mare pe care o au parametrii electrici fata de cei mecanici (momentul de inertie masic al rotorului)
9
10
4. Simularea motorului electric pas cu pas
Date de intrare: Ua, Ub, Ra, Rb, L0, Dr, Mrezred, Jredus
Date de iesire: Ia, Ib, Wmotor, θmotor
In Simulink se face simularea motorului ales la capitolul anterior, considerand ca forme pentru sursa de curent ,treapta si rampa. Dintre cele doua forme, mai avantajoasa este cea treapta, pentru sursa de tip rampa se observa un comportament instabil al motorului. De asemenea, timpul de stabilizare pentru semnalul treapta este mai mare decat cel modelat, datorita intarzierilor introduse de calculul derivatelor in program.
In cadrul programului exista doua subsisteme, unul care calculeaza inductantele si altul care calculeaza derivatele acestora, avand intrarile Lp, L0, θm
Subsistemul care calculeaza Subsistemul care calculeaza inductantelederivatele inductantelor
11
SURSA DE TIP RAMPA
12
SURSA DE TIP TREAPTA
13
5. Stabilitatea sistemului acţionat cu motor electric pas cu pas
Prin stabilitate se înţelege un echilibru reciproc al mărimilor mecanice şi a celor electrice care apar în timpul funcţionării sistemului de reglare automată a poziţiilor.Stabilitate poate fi statică şi dinamică. Stabilitatea statică presupune un echilibru static la diferite perturbaţi. Stabilitatea dinamică se referă la stabilitatea regimului tranzitoriu pentru o perturbaţie exterioară limitată ca valoare.
Criteriul Bode - este de fapt criteriul Nyquist care analizează stabilitatea pe baza a două diagrame: amplitudine – fază raport cu pulsaţia proprie.
Pentru a vedea dacă sistemul este stabil se analizează prima dată graficul dreaptă – pulsaţie în raport cu valoarea: 1) -180o; după 2) se stabileşte punctul de intersecţie – π cu dreapta pulsaţie; 3) se merge la fază – pulsaţie şi se analizează margine de amplitudine ; 4) dacă graficul amplitudine – pulsaţie se află sub axa omega ăn punctul i atunci marginea de amplitudine este pozitivă; 5) amplitudine – pulsaţie respectiv se determină punctul în care intersectează axa 01; 6) se revine în graficul fază – pulsaţie şi dacă acest grafic se află deasupra axei – π atunci marginea de fază este pozitivă. Daca ambele sunt pozitive şi marginea de amplitudine şi marginea de fază sistemul este stabil.
In urma rularii programului in Simulink rezulta ca sistemul este stabil si nu are nevoie de un regulator PID.
14
15
6. Comanda motorului
Indiferent de principiul de funcţionare al unui motor pas cu pas comanda acestuia se realizează prin comutarea succesivă a fazelor înfăşurărilor,
Pentru un motor pas cu pas cu reluctanţă variabilă sunt posibile următoarele tipuri de comenzi:
- comanda simetrică simplă sau cu putere pe jumătate;- comanda simetrica dublă sau cu putere întreagă;- comanda nesimetrică sau cu comanda cu jumătate de unghi de pas.
1.2.1. Comanda simetrică simplăPentru un motor pas cu pas cu patru faze (m1, m2, m3, m4) aceasta presupune alimentarea
pe rând a acestora. Comanda poate fi în sens orar, dacă fazele sunt al imentate în succesiunea m1-m2-m3-m4 sau în sens antiorar, dacă fazele sunt alimentate în succesiunea m 1-m4-m3-m2-m1.
Tabelul de stare pentru cele patra înfăşurări şi diagrama de semnale sunt date de Fig. 3:
Sens orar Sens antiorar
m1 m2 m3 m4 m1 m2 m3 m4
1 0 0 0 1 0 0 0
0 1 0 0 0 0 0 1
0 0 1 0 0 0 1 0
0 0 0 1 0 1 0 0
Fig. 3
Pentru acest tip de comandă valoarea pasului electric este:
(6)iar motorul are patru stări electrice,
16
1.2.2. Comanda simetrică dublăAceasta presupune alimentarea celor patru faze ale motorului pas cu pas în succesiunea
12-23-34-41...pentru sensul orar al rotorului şi în succesiunea 14-43-32-21-14... pentru sensul antiorar.Tabelul de stare pentru cele patru înfăşurări şi diagrama de semnale sunt date în Fig. 4
17
Sens orar Sens antiorar
m1 m2 m3 m4 m1 m2 m3 m4
1 1 0 0 1 0 0 1
0 1 1 0 0 0 1 1
0 0 1 1 0 1 1 0
1 0 0 1 1 1 0 0
Fig. 4
Pentru această comandă pasul electric are valoarea:
(7)
iar stările sunt defazate cu n>4 faţă de stările electrice de bază.
1.2.3. Comanda nesimetricăComanda presupune alimentarea fazelor în secvenţa 12-2-23-3-34-4-41-1... pentru
deplasarea în sens orar a rotorului, iar secvenţa 14=4-43-3-32-2-21-1.., asigură deplasarea în sens antiorar.
Pentru această comandă rotorul execută o deplasare cu o jumătate de pas, comparativ cu pasul de la comenzile simetrice.
Tabelul de stare pentru această comandă şi diagrama de semnale sunt în F ig. 5.
Sens orar Sens antiorar
m1 m2 m3 m4 m1 m2 m3 m4
1 0 0 0 1 0 0 11 1 0 0 0 0 0 10 1 0 0 0 0 1 00 1 1 0 0 0 1 00 0 1 0 0 1 1 00 0 1 1 0 1 0 00 0 0 1 1 1 0 01 0 0 1 1 0 0 0
Fig. 5
Pentru comanda motorului se foloseste comutatia in secventa dubla, bidirectionala asimetrica pentru cazul alimentarii jumatate de pas cu succesiunea (1)(1,2)(2)(2,3)(3)...... si in secventa simpla pentru cazul pas cu pas. Avantajul acestui tip de comanda este cresterea cuplului dar trebuie tinut seama de pierderile de flux magnetic.
Marimea care caracterizeaza acest tip de comanda este numarul de pasi pe ciclu de comutatie.
Datele de intrare sunt numarul de pasi (egal cu frecventa data de tema proiectului) si intervalul de intarziere dintre pasi (egal cu timpul de stabilizare al motorului dupa fiecare pas).
Fiecare faza alimentata este sugerata pe panoul de control al instrumentului virtual printr-un LED.
19
Programul de comanda al motorului realizat in Labview permite selectarea intre tipul de miscare pas intreg sau semipas si are rolul de a prezenta grafic succesiunea fazelor alimentate si numarul de pasi in raport cu timpul
20
% program calcul j redusz1=28;z2=96;z3=35;z4=89;g1=3*10^-3;g2=3*10^-3;g3=4*10^-3;g4=4*10^-3;m1=2.5*10^-3;m2=3.5*10^-3;JDL=6.2*10^-7;Mre=0.021;ro=2700;frec=150;pi=3.14;%calcul omega-uriomegam=1.8*pi*frec/180;omegamomega1=omegam;omegah=(-omegam*z1*z3)/(z2*z4-z1*z3);omega2=(omega1*z1-omegah*z1+omegah*z2)/z2;omega3=omega2;omega3omega4=0;%momente de inertie fata de centru de masalxx=1180.55*10^-9;lyy=1180.55*10^-9;lzz=149.62*10^-9;%raze de divizarerd1=m1*z1/2;rd2=m1*z2/2;rd3=m2*z3/2;rd4=m2*z4/2;% volum roti si masevd1=pi*rd1^2*g1;vd2=pi*rd2^2*g2;vd3=pi*rd3^2*g3;vd4=pi*rd4*g4;md1=ro*vd1;md2=ro*vd2;md3=ro*vd3;
%calcul J-uriJcuplaj=sqrt(lxx^2+lyy^2+lzz^2);J1=md1*rd1^2/2J2=md2*rd2^2/2J3=md3*rd3^2/2Jrotor=230*10^-7; %catalog%calcul pt HLh=rd3+rd4;rh=3*10^-3;Vh=2*pi*rh^2*Lh;mh=ro*Vh;Jh=mh*rh^2/2;%momentul de inertieJredus=(Jrotor*omegam^2+Jcuplaj*omegam^2+J1*omegam^2+J2*omega2^2+J3*omega2^2+JDL*omegah^2+Jh*omegah^2)/omegam^2;Jredus
function yPRIM=functie(x,y)% a- alfa b-beta%notatiiIa=1.9;Ib=Ia;Ra=2.2; Rb=Ra;Ua=Ra*Ia;Ub=Rb*Ib;L0=5.7*10^-3;Lp=0.05*10^-3;pz=50;pi=3.14;Dr=0.001;
function yPRIM=functie(x,y)% a- alfa b-beta%notatiiIa=1.6;Ib=Ia;Ra=3.4; Rb=Ra;Ua=Ra*Ia;Ub=Rb*Ib;L0=9*10^-3;Lp=0.05*10^-3;pz=50;pi=3.14;Dr=0.001;tm=1.8;Jredus=1.5868e-4;omegam=4.71;omegaDL=0.9415;MreDL=0.021;%tetas=pi/2 constanta care variaza unghiul electric; matriciLaa=L0+Lp*cos(pz*y(3));Lbb=L0+Lp*cos(pz*y(3)-pz*pi/2);Lab=Lp*sin(pz*y(3));DLaa=-pz*Lp*sin(pz*y(3));DLbb=-pz*Lp*sin(pz*y(3)-pz*pi/2);DLab=pz*Lp*cos(pz*y(3));MatL=[Laa Lab;Lab Lbb];MatDL=[DLaa DLab; DLab DLbb];%Tens=[Ua-Ra*y(1);Ub-Rb*y(2)];MatDERIV=inv(MatL)*Tens-inv(MatL)*MatDL*[y(1);y(2)]*y(4);yPRIM(1)=MatDERIV(1);yPRIM(2)=MatDERIV(2);yPRIM(3)=y(4);
%Moment redus dispozitiv lucruMrezred=MreDL*omegaDL/omegam;Mem=1/2*(y(1)^2*DLaa+y(2)^2*DLbb)+y(1)*y(2)*DLab;yPRIM(4)=(1/Jredus)*(Mem-Mrezred-Dr*y(4));yPRIM=[yPRIM(1);yPRIM(2);yPRIM(3);yPRIM(4)];
%Runge-Kuttat11=0;t2=2;y0=[0 0 0 0];[t1 y1]=ode23('functie1',t11,t2,y0);
%graficefigure(1);plot(t1,y1(:,1),'r'); %curentgrid;xlabel('timp(s)');ylabel('intensitate(A)');figure(2);plot(t1,y1(:,3),'g'); %tetagrid;xlabel('timp(s)');ylabel('teta(rad)');figure(3);plot(t1,y1(:,4),'b'); %omega motorxlabel('timp(s)');ylabel('omega(rad/s)');grid;
%Runge-Kuttat11=0;t2=2;y0=[0 0 0 0];[t1 y1]=ode23('functie2',t11,t2,y0);
21
tm=1.8;Jredus=1.5868e-4;omegam=4.71;omegaDL=0.9415;MreDL=0.021;%tetas=pi/2 constanta care variaza unghiul electric; matriciLaa=L0+Lp*cos(pz*y(3));Lbb=L0+Lp*cos(pz*y(3)-pz*pi/2);Lab=Lp*sin(pz*y(3));DLaa=-pz*Lp*sin(pz*y(3));DLbb=-pz*Lp*sin(pz*y(3)-pz*pi/2);DLab=pz*Lp*cos(pz*y(3));MatL=[Laa Lab;Lab Lbb];MatDL=[DLaa DLab; DLab DLbb];%Tens=[Ua-Ra*y(1);Ub-Rb*y(2)];MatDERIV=inv(MatL)*Tens-inv(MatL)*MatDL*[y(1);y(2)]*y(4);yPRIM(1)=MatDERIV(1);yPRIM(2)=MatDERIV(2);yPRIM(3)=y(4);
%Moment redus dispozitiv lucruMrezred=MreDL*omegaDL/omegam;Mem=1/2*(y(1)^2*DLaa+y(2)^2*DLbb)+y(1)*y(2)*DLab;yPRIM(4)=(1/Jredus)*(Mem-Mrezred-Dr*y(4));yPRIM=[yPRIM(1);yPRIM(2);yPRIM(3);yPRIM(4)];
function yPRIM=functie(x,y)% a- alfa b-beta%notatiiIa=4.7;Ib=Ia;Ra=0.39; Rb=Ra;Ua=Ra*Ia;Ub=Rb*Ib;L0=1.5*10^-3;Lp=0.05*10^-3;pz=50;pi=3.14;Dr=0.001;tm=1.8;Jredus=1.5868e-4;omegam=4.71;omegaDL=0.9415;MreDL=0.021;%tetas=pi/2 constanta care variaza unghiul electric; matriciLaa=L0+Lp*cos(pz*y(3));Lbb=L0+Lp*cos(pz*y(3)-pz*pi/2);Lab=Lp*sin(pz*y(3));DLaa=-pz*Lp*sin(pz*y(3));DLbb=-pz*Lp*sin(pz*y(3)-pz*pi/2);DLab=pz*Lp*cos(pz*y(3));MatL=[Laa Lab;Lab Lbb];MatDL=[DLaa DLab; DLab DLbb];%Tens=[Ua-Ra*y(1);Ub-Rb*y(2)];MatDERIV=inv(MatL)*Tens-inv(MatL)*MatDL*[y(1);y(2)]*y(4);yPRIM(1)=MatDERIV(1);yPRIM(2)=MatDERIV(2);yPRIM(3)=y(4);
%Moment redus dispozitiv lucruMrezred=MreDL*omegaDL/omegam;MrezredMem=1/2*(y(1)^2*DLaa+y(2)^2*DLbb)+y(1)*y(2)*DLab;yPRIM(4)=(1/Jredus)*(Mem-Mrezred-Dr*y(4));yPRIM=[yPRIM(1);yPRIM(2);yPRIM(3);yPRIM(4)];
%graficefigure(1);plot(t1,y1(:,1),'r'); %curentgrid;xlabel('timp(s)');ylabel('intensitate(A)');figure(2);plot(t1,y1(:,3),'g'); %tetagrid;xlabel('timp(s)');ylabel('teta(rad)');figure(3);plot(t1,y1(:,4),'b'); %omega motorxlabel('timp(s)');ylabel('omega(rad/s)');grid;
%Runge-Kuttat11=0;t2=2;y0=[0 0 0 0];[t1 y1]=ode23('functie3',t11,t2,y0);
%graficefigure(1);plot(t1,y1(:,1),'r'); %curentgrid;xlabel('timp(s)');ylabel('intensitate(A)');figure(2);plot(t1,y1(:,3),'g'); %tetagrid;xlabel('timp(s)');ylabel('teta(rad)');figure(3);plot(t1,y1(:,4),'b'); %omega motorxlabel('timp(s)');ylabel('omega(rad/s)');grid;
22
23