際際滷

際際滷Share a Scribd company logo
Reglarea numeric a vitezei motorului de curent continuu  utiliz但nd informa釘ia de la discul cu fante,  implementat 樽n C si ASM ndrumtor, .l. Dr. Ing. Vasiliu Grigore Absolvent, Vasile Alin
Utilitate viteza motorului trebuie s fie independent de sarcin platformele cu ro釘i active trebuie s aib viteza ro釘ilor  sincronizat pentru deplasarea dup o traiectorie  perfect dreapt reglarea vitezei motorului de rotire a unui compact disk  (CD) la viteze superioare, cu densit釘i de stocare  a informa釘iei sporite, cere precizie ridicat a  men釘inerii acesteia
Obiectiv Proiectarea  i implementarea unui sistem de control a vitezei motorului de curent continuu folosind un microcontroller Se vor analiza 2 tipuri de regulatoare   :   regulatorul  PID implementat numeric (crisp) i fuzzy regulatorul optimal LQG Se va realiza practic un montaj experimental cu : ATmega128 traductor de vitez format din  disc cu fante  optocuplor comparator de tensiune amplificator PWM motor de curent continuu Se va ob釘ine un sistem de reglare bazat pe hardware  i  software
Microcontroller-ul ATmega128 Chip cu grad ridicat de integrare ce con釘ine  CPU  (Unitatea Central de   Procesare), memorie i dispozitive de intrare/ieire ATmega128 CPU RISC  (Reduced Instruction Set Computer) pe  8 bi釘i   arhitectur Harvard  cu magistrale separate pentru  program  i  date v itez  de 16 MIPS la 16 MHz memorie program  de 128Kbytes memorie de date  de 4Kbytes memorie EEPROM  de 4Kbytes 53 linii de intrare/ieire  programabile 8 樽ntreruperi externe  (INT0...INT7) 4   numrtoare  pe  8  i  16 bi釘i  integrate, cu posibilitate de generare  PWM Avantaje consum de putere redus poate fi folosit 樽n aplica釘ii 樽n timp real solu釘ie fiabil pentru aplica釘ii industriale i casnice
Microcontroller-ul ATmega128 Programarea microcontroller-ului : dezvoltare program 樽n  C (GCC de la GNU) - folosind WinAVR  ASM (AVRASM de la Atmel) - folosind AVRStudio conectare cu calculatorul printr-un cablu de programare serial programare circuit, prin conectorul ISP
Motorul de curent continuu   U A   tensiunea instantanee aplicat  [V] m   cuplul electromagnetic  [Nm]   R A   rezisten釘a electric a armturii  [ 立 ] m s   cuplul total de frecri statice  [Nm] L A   inductivitatea armturii  [H] J   momentul total de iner釘ie al sistemului  [kgm] I A   curentul prin armtur  [A] F   coeficient de frecare v但scoas  [Nm/rad/s] k   constanta de tensiune electromotoare [Nm/A] 立   viteza de rota釘ie instantanee  [rad/s]
Motorul de curent continuu   Sisteme 樽n bucl deschis : ieirea sistemului nu afecteaz intrarea (nu exist bucl  de reac釘ie) sunt mai pu釘in 樽nt但lnite dec但t sistemele 樽n bucl 樽nchis exemple : controlul sunetului la difuzoarele audio controlul vitezei mainii de gurit
Motorul de curent continuu   UA =24v RA=8立 LA=1mH k=0.05 Nm/A J=0.0000005 kgm Ms=0 F=0 Simularea 樽n Simulink 樽n bucl deschis
Motorul de curent continuu   Sisteme 樽n bucl 樽nchis : se msoar ieirea pentru a controla intrarea (bucl de  reac釘ie) foarte des 樽nt但lnite exemple : termostat pentru aerul condi釘ionat direc釘ia asistat pentru autovehicule
Reglarea 樽n bucl 樽nchis regulator PID regulator PID fuzzy regulator optimal LQG
Regulatorul PID   IEIRE = (INTRARE-IEIRE) x (TERMEN P + TERMEN I + TERMEN D) controleaz partea de  amplificare a sistemului de  reglare 樽n bucl  樽nchis Variabile : eroarea P   factorul de amplificare  propor釘ional I   factorul de amplificare  integrator D   factorul de amplificare  derivativ
Regulatorul PID   Eroarea este ob釘inut prin scderea valorii  ieirii  ( viteza motorului ) din valoarea  intrrii  ( viteza de  referin釘 )  Termenul propor釘ional  P ob釘inut prin 樽nmul釘irea  factorul propor釘ional Kp  cu  eroarea rspunsul  este  liniar  樽n func釘ie de eroare Termenul integrator  I ob釘inut prin 樽nmul釘irea  factorul integrator Ki  cu  eroarea , si  adunat  la  suma termenilor  integrali preceden釘i rspunsul  este 樽n func釘ie de  eroarea 樽nsumat Termenul derivativ  D ob釘inut prin 樽nmul釘irea  factorul derivativ Kd  cu  diferen釘a dintre eroarea curent i eroarea  anterioar rspunsul  este 樽n func釘ie de  varia釘ia erorii
Regulatorul PID   Determinm caracteristicile sistemului care trebuiesc 樽mbunt釘ite   Folosim  Kp  pentru a  reduce   timpul de cretere   Folosim  Kd  pentru a  reduce   suprareglajul  i  timpul de stabilizare   Folosim  Ki   pentru a  elimina   eroarea de stabilizare
Regulatorul PID
Regulatorul PID   1 2 3 Implementarea 樽n C :
Regulatorul PID   4 5 Implementarea 樽n C :
Regulatorul PID   1 2 3 4 Secven釘a de eantionare (cu Timer0)
Regulatorul PID   Dezavantaje  ale regulatorului PID : fenomenul de windup al termenului integral temp = pid_st->sumError + currentError; if(temp > pid_st->sumMaxError){ Iterm = MAX_I_TERM; pid_st->sumError = pid_st->sumMaxError; } else if(temp < -pid_st->sumMaxError){ Iterm = -MAX_I_TERM; pid_st->sumError = -pid_st->sumMaxError; } else{ pid_st->sumError = temp; Iterm = pid_st->Ki * pid_st->sumError; }   fenomenul de depire (overflow) al termenului de ieire   ret = (Pterm + Iterm + Dterm) ;   if(ret > INT8_MAX){   ret = INT8_MAX;   } else if(ret+INT8_MAX<0 ){ ret = -INT8_MAX; }
Regulatorul PID   Simulare Matlab Pentru  Kp=2, Ki=0 .05  i Kd=1,5   Kp = 2
Regulatorul PID  Fuzzy   Fuzzy P Fuzzy PD Control  Fuzzy Incremental Fuzzy PID
Regulatorul PID  Fuzzy   Opera 釘 ia de  fuzzificare  transform   m  rimea de intrare   樽ntr-o mul 釘 ime fuzzy Opera 釘 ia de  defuzzificare  selecteaz   o valoare situat   pe suportul mul 釘 imii fuzzy de ie  ire   rezultate 樽n urma inferen 釘 ei Inferen釘a fuzzy const 樽n evaluarea condi釘iei a fiecrei reguli i evaluarea   concluziei pentru  fiecare regul
Regulatorul PID  Fuzzy   Regulatorul Propor 釘ional ( P ) Regulatorul Propor釘ional Derivativ ( PD )
Regulatorul PID  Fuzzy   Controlul Incremental elimin  fenomenul de windup varia釘ia ieirii Regulatorul Propor釘ional Derivativ Integrator (PID)
Regulatorul PID  Fuzzy    Termeni lingvistici Eroarea  [-48,48] Integrata erorii  [- 100 , 100 ] Derivata erorii  [- 100 , 100 ] Ieirea  [- 18,18 ]
Regulatorul PID  Fuzzy    Implementare numeric IF  Eroare  IS  Negativa  THEN  Iesire  IS  Pozitiva IF  Eroare  IS  Pozitiva  THEN  Iesire  IS  Negativa IF  Eroare  IS  Normala  AND  DeltaEroare  IS  Negativa  THEN  Iesire  IS  Pozitiva IF  Eroare  IS  Zero  AND  SumaEroare  IS  Pozitiva  THEN  Iesire  IS  SemiNegativa IF  Eroare  IS  Zero  AND  SumaEroare  IS  Negativa  THEN  Iesire  IS  SemiPozitiva Fuzzificare   fiecare variabil va fi scalat cu factorul de amplificare corespunztor Inferen釘   vor fi implementate o serie de structuri de decizie ( IF ) pentru a simula baza de reguli   char F_AND(char lValue,char rValue) { return (lValue<rValue) ? lValue:rValue;  } Defuzzificare rezultatul structurii de decizie va fi scalat cu factorul de amplificare al ieirii Baza de reguli : Etapele de implementare :
Regulatorul PID  Fuzzy    Implementare numeric char Error_zero (int __CRISP)  { if (__CRISP < -2) return(0); else { if (__CRISP <= 0)  return((__CRISP + 2) * 85); else{  if (__CRISP <= 2)  return (( + 2 - __CRISP) * 85); else   return(0); } }  } Eroarea  [-48,48] char Error_LPositive (int __CRISP) { if (__CRISP < 0) return(0); else { if (__CRISP <= 2) return ((__CRISP * 12) + 7); else   return(255); } } char Error_LNegative (int __CRISP)  { if (__CRISP <= -48) {  return(255); } else {  if (__CRISP <= 0)  return (( - __CRISP * 12) + 7); else  return(0); } } char Error_normal (int __CRISP) { if (__CRISP < -8) return(0); else { if (__CRISP <= 0) return (((__CRISP + 8) * 12) + 7); else {  if (__CRISP <= 8)  return ((( + 8 - __CRISP) * 12) + 7); else     return(0); } } }
Regulator optimal LQG Modelul de stare al procesului  : y(t)    ie  irea m  surat  z(t)   ie  irea controlat  , corespunde semnalului pe care dorim s    樽 l  minimiz  m  樽 ntr-o perioad   c 但 t mai scurt   de timp , Starea  x  va fi estimat d   perturba 釘 ia,   semnal de covaria 釘 ie Q N n  zgomotul m  sur  rii, semnal de covaria 釘 ie R N
Regulator optimal LQG Solutia este matricea  L  : P  este solutia ecuatiei  : Se urmrete minimizarea erorii
Regulator optimal LQG  Simulare numeric Matlab num=[k]; den=[La*J (Ra*J+F*La) (Ra*F)+k*k ]; [A,B,C,D]=tf2ss(num,den) sys=ss(tf(num,den)) %lqr Qlqr = 10; Rlqr = 1; [K]=lqry(sys,Qlqr,Rlqr); %lqg Q=0.01; %covariatia zgomotului procesului R=1; %covariatia zgomotului masuratorii Kest=kalman(sys(:,[1 1]),Q,R); RQLG = LQGREG(Kest,K);
  Controlul vitezei motorului de curent continuu utiliz但nd  informa釘ia   provenit de la discul cu fante   Aplica釘ie Montaj experimental ce cuprinde : ATmega128 traductor de vitez format din  disc cu fante  optocuplor comparator de tensiune amplificator PWM motor de curent continuu
Controlul vitezei motorului de curent continuu utiliz但nd informa釘ia provenit de la discul cu fante microcontroller   pe baza semnalului de intrare stabilete factorul de umplere al semnalului  PWM de ieire amplificator PWM   adapteaz semnalul TTL (0..5V) la tensiunea de alimentare a motorului MCC   motor de curent continuu cu magne釘i permanen釘i traductor vitez   format dintr-un disc cu fante, cu optocuplo r logica de determinare a vitezei   circuit format din latch-uri D, comparatoare de tensiune pentru  construirea  unui semnal digital de la traductorul de vitez
Controlul vitezei motorului de curent continuu utiliz但nd informa釘ia provenit de la discul cu fante
Controlul vitezei motorului de curent continuu utiliz但nd informa釘ia provenit de la discul cu fante Semnal PWM semnal modulat 樽n l釘ime caracterizat de factorul de umplere factor umplere 50% factor umplere 80%
Controlul vitezei motorului de curent continuu utiliz但nd informa釘ia provenit de la discul cu fante Se comand pornirea motorului de curent continuu.  A par impulsurile de comand active 樽n starea  high  cu factor de umplere mic, insuficient ac釘ionrii motorului. 1 Se mrete factorul de umplere p但n 樽n momentul pornirii motorului. Apare semnalul de la perechea emi釘tor  receptor, cu frecven釘a propor釘ional cu tura釘ia motorului . Datorit frecrilor 樽n lagr, la tura釘ie mic se observ reglaj automat. 2
Controlul vitezei motorului de curent continuu utiliz但nd informa釘ia provenit de la discul cu fante Se fr但neaz manual axul motorului. Se observ  : creterea cuplului motor 樽n vederea men釘inerii tura釘iei fixate anterior cretere a  brusc a factorului de umplere pentru semnalul de comand este vizibil tendin釘a de rotire rapid a axului 樽n momentul dispari釘iei sarcinii.  Rotirea rapid are loc o perioad scurt de timp dup care motorul revine  la tura釘ia de regim ini釘ial  3
Controlul vitezei motorului de curent continuu utiliz但nd informa釘ia provenit de la discul cu fante Sens   (la fiecare ac釘ionare se schimb sensul de rotire). Este activ numai cu motorul oprit.  Crete   Buton av但nd ca efect mrirea factorului de umplere a semnalului de comand (cu perioada i amplitudinea constant), va crete tura釘ia Pornit/Oprit La ac釘ionarea repetat starea notorului trece din starea fr comand 樽n cea cu comand (ini釘ial comanda este insuficient i trebuie mrit prin ac釘ionarea repetat a butonului corespunztor) Scade   Buton care micoreaz factorul de umplere (scade tura釘ia) Comanda vitezei
Controlul vitezei motorului de curent continuu utiliz但nd informa釘ia provenit de la discul cu fante Observa 釘ii Referin釘a este ini釘ializat cu o valoare mai mare ca zero. Rat de eantionare de 1 secund. Regulatorul are comportament : propor釘ional  (factorul de umplere al semnalului de ieire este  propo釘ional cu eroarea) integrator  (ieirea are o 樽nt但rziere fa釘 de varia釘iile intrrii) par釘ial derivativ  (are o reac釘ie destul de rapid la evolu釘ia  procesului) Semnal PWM generat cu numrtor Semnal de intrare eantionat cu sistemul de 樽ntreruperi
Concluzii Pe baza celor demonstrate, se poate folosi simularea computerizat pentru calculul Kp, Ki i Kd, apoi se poate proiecta un regulator PID 樽n C sau ASM, pentru ATmega128.  Se poate merge mai departe, trec但nd de la PID crisp la PID fuzzy, regulile put但nd asigura i o robuste釘e la zgomot sau perturba釘ii. Compensatorul LQG asigur stabilitatea 樽n bucl 樽nchis i o reac釘ie mai rapid la varia釘iile referin釘ei, dar atenueaz amplitudinea semnalului de control de la ieire, 樽n raport cu referin釘a. Ansamblul de module electronice existente 樽n ATmega128 permit proiectarea regulatorului 樽n ambele forme fr a fi nevoie de alte module electronice.

More Related Content

Bachelor thesis

  • 1. Reglarea numeric a vitezei motorului de curent continuu utiliz但nd informa釘ia de la discul cu fante, implementat 樽n C si ASM ndrumtor, .l. Dr. Ing. Vasiliu Grigore Absolvent, Vasile Alin
  • 2. Utilitate viteza motorului trebuie s fie independent de sarcin platformele cu ro釘i active trebuie s aib viteza ro釘ilor sincronizat pentru deplasarea dup o traiectorie perfect dreapt reglarea vitezei motorului de rotire a unui compact disk (CD) la viteze superioare, cu densit釘i de stocare a informa釘iei sporite, cere precizie ridicat a men釘inerii acesteia
  • 3. Obiectiv Proiectarea i implementarea unui sistem de control a vitezei motorului de curent continuu folosind un microcontroller Se vor analiza 2 tipuri de regulatoare : regulatorul PID implementat numeric (crisp) i fuzzy regulatorul optimal LQG Se va realiza practic un montaj experimental cu : ATmega128 traductor de vitez format din disc cu fante optocuplor comparator de tensiune amplificator PWM motor de curent continuu Se va ob釘ine un sistem de reglare bazat pe hardware i software
  • 4. Microcontroller-ul ATmega128 Chip cu grad ridicat de integrare ce con釘ine CPU (Unitatea Central de Procesare), memorie i dispozitive de intrare/ieire ATmega128 CPU RISC (Reduced Instruction Set Computer) pe 8 bi釘i arhitectur Harvard cu magistrale separate pentru program i date v itez de 16 MIPS la 16 MHz memorie program de 128Kbytes memorie de date de 4Kbytes memorie EEPROM de 4Kbytes 53 linii de intrare/ieire programabile 8 樽ntreruperi externe (INT0...INT7) 4 numrtoare pe 8 i 16 bi釘i integrate, cu posibilitate de generare PWM Avantaje consum de putere redus poate fi folosit 樽n aplica釘ii 樽n timp real solu釘ie fiabil pentru aplica釘ii industriale i casnice
  • 5. Microcontroller-ul ATmega128 Programarea microcontroller-ului : dezvoltare program 樽n C (GCC de la GNU) - folosind WinAVR ASM (AVRASM de la Atmel) - folosind AVRStudio conectare cu calculatorul printr-un cablu de programare serial programare circuit, prin conectorul ISP
  • 6. Motorul de curent continuu U A tensiunea instantanee aplicat [V] m cuplul electromagnetic [Nm] R A rezisten釘a electric a armturii [ 立 ] m s cuplul total de frecri statice [Nm] L A inductivitatea armturii [H] J momentul total de iner釘ie al sistemului [kgm] I A curentul prin armtur [A] F coeficient de frecare v但scoas [Nm/rad/s] k constanta de tensiune electromotoare [Nm/A] 立 viteza de rota釘ie instantanee [rad/s]
  • 7. Motorul de curent continuu Sisteme 樽n bucl deschis : ieirea sistemului nu afecteaz intrarea (nu exist bucl de reac釘ie) sunt mai pu釘in 樽nt但lnite dec但t sistemele 樽n bucl 樽nchis exemple : controlul sunetului la difuzoarele audio controlul vitezei mainii de gurit
  • 8. Motorul de curent continuu UA =24v RA=8立 LA=1mH k=0.05 Nm/A J=0.0000005 kgm Ms=0 F=0 Simularea 樽n Simulink 樽n bucl deschis
  • 9. Motorul de curent continuu Sisteme 樽n bucl 樽nchis : se msoar ieirea pentru a controla intrarea (bucl de reac釘ie) foarte des 樽nt但lnite exemple : termostat pentru aerul condi釘ionat direc釘ia asistat pentru autovehicule
  • 10. Reglarea 樽n bucl 樽nchis regulator PID regulator PID fuzzy regulator optimal LQG
  • 11. Regulatorul PID IEIRE = (INTRARE-IEIRE) x (TERMEN P + TERMEN I + TERMEN D) controleaz partea de amplificare a sistemului de reglare 樽n bucl 樽nchis Variabile : eroarea P factorul de amplificare propor釘ional I factorul de amplificare integrator D factorul de amplificare derivativ
  • 12. Regulatorul PID Eroarea este ob釘inut prin scderea valorii ieirii ( viteza motorului ) din valoarea intrrii ( viteza de referin釘 ) Termenul propor釘ional P ob釘inut prin 樽nmul釘irea factorul propor釘ional Kp cu eroarea rspunsul este liniar 樽n func釘ie de eroare Termenul integrator I ob釘inut prin 樽nmul釘irea factorul integrator Ki cu eroarea , si adunat la suma termenilor integrali preceden釘i rspunsul este 樽n func釘ie de eroarea 樽nsumat Termenul derivativ D ob釘inut prin 樽nmul釘irea factorul derivativ Kd cu diferen釘a dintre eroarea curent i eroarea anterioar rspunsul este 樽n func釘ie de varia釘ia erorii
  • 13. Regulatorul PID Determinm caracteristicile sistemului care trebuiesc 樽mbunt釘ite Folosim Kp pentru a reduce timpul de cretere Folosim Kd pentru a reduce suprareglajul i timpul de stabilizare Folosim Ki pentru a elimina eroarea de stabilizare
  • 15. Regulatorul PID 1 2 3 Implementarea 樽n C :
  • 16. Regulatorul PID 4 5 Implementarea 樽n C :
  • 17. Regulatorul PID 1 2 3 4 Secven釘a de eantionare (cu Timer0)
  • 18. Regulatorul PID Dezavantaje ale regulatorului PID : fenomenul de windup al termenului integral temp = pid_st->sumError + currentError; if(temp > pid_st->sumMaxError){ Iterm = MAX_I_TERM; pid_st->sumError = pid_st->sumMaxError; } else if(temp < -pid_st->sumMaxError){ Iterm = -MAX_I_TERM; pid_st->sumError = -pid_st->sumMaxError; } else{ pid_st->sumError = temp; Iterm = pid_st->Ki * pid_st->sumError; } fenomenul de depire (overflow) al termenului de ieire ret = (Pterm + Iterm + Dterm) ; if(ret > INT8_MAX){ ret = INT8_MAX; } else if(ret+INT8_MAX<0 ){ ret = -INT8_MAX; }
  • 19. Regulatorul PID Simulare Matlab Pentru Kp=2, Ki=0 .05 i Kd=1,5 Kp = 2
  • 20. Regulatorul PID Fuzzy Fuzzy P Fuzzy PD Control Fuzzy Incremental Fuzzy PID
  • 21. Regulatorul PID Fuzzy Opera 釘 ia de fuzzificare transform m rimea de intrare 樽ntr-o mul 釘 ime fuzzy Opera 釘 ia de defuzzificare selecteaz o valoare situat pe suportul mul 釘 imii fuzzy de ie ire rezultate 樽n urma inferen 釘 ei Inferen釘a fuzzy const 樽n evaluarea condi釘iei a fiecrei reguli i evaluarea concluziei pentru fiecare regul
  • 22. Regulatorul PID Fuzzy Regulatorul Propor 釘ional ( P ) Regulatorul Propor釘ional Derivativ ( PD )
  • 23. Regulatorul PID Fuzzy Controlul Incremental elimin fenomenul de windup varia釘ia ieirii Regulatorul Propor釘ional Derivativ Integrator (PID)
  • 24. Regulatorul PID Fuzzy Termeni lingvistici Eroarea [-48,48] Integrata erorii [- 100 , 100 ] Derivata erorii [- 100 , 100 ] Ieirea [- 18,18 ]
  • 25. Regulatorul PID Fuzzy Implementare numeric IF Eroare IS Negativa THEN Iesire IS Pozitiva IF Eroare IS Pozitiva THEN Iesire IS Negativa IF Eroare IS Normala AND DeltaEroare IS Negativa THEN Iesire IS Pozitiva IF Eroare IS Zero AND SumaEroare IS Pozitiva THEN Iesire IS SemiNegativa IF Eroare IS Zero AND SumaEroare IS Negativa THEN Iesire IS SemiPozitiva Fuzzificare fiecare variabil va fi scalat cu factorul de amplificare corespunztor Inferen釘 vor fi implementate o serie de structuri de decizie ( IF ) pentru a simula baza de reguli char F_AND(char lValue,char rValue) { return (lValue<rValue) ? lValue:rValue; } Defuzzificare rezultatul structurii de decizie va fi scalat cu factorul de amplificare al ieirii Baza de reguli : Etapele de implementare :
  • 26. Regulatorul PID Fuzzy Implementare numeric char Error_zero (int __CRISP) { if (__CRISP < -2) return(0); else { if (__CRISP <= 0) return((__CRISP + 2) * 85); else{ if (__CRISP <= 2) return (( + 2 - __CRISP) * 85); else return(0); } } } Eroarea [-48,48] char Error_LPositive (int __CRISP) { if (__CRISP < 0) return(0); else { if (__CRISP <= 2) return ((__CRISP * 12) + 7); else return(255); } } char Error_LNegative (int __CRISP) { if (__CRISP <= -48) { return(255); } else { if (__CRISP <= 0) return (( - __CRISP * 12) + 7); else return(0); } } char Error_normal (int __CRISP) { if (__CRISP < -8) return(0); else { if (__CRISP <= 0) return (((__CRISP + 8) * 12) + 7); else { if (__CRISP <= 8) return ((( + 8 - __CRISP) * 12) + 7); else return(0); } } }
  • 27. Regulator optimal LQG Modelul de stare al procesului : y(t) ie irea m surat z(t) ie irea controlat , corespunde semnalului pe care dorim s 樽 l minimiz m 樽 ntr-o perioad c 但 t mai scurt de timp , Starea x va fi estimat d perturba 釘 ia, semnal de covaria 釘 ie Q N n zgomotul m sur rii, semnal de covaria 釘 ie R N
  • 28. Regulator optimal LQG Solutia este matricea L : P este solutia ecuatiei : Se urmrete minimizarea erorii
  • 29. Regulator optimal LQG Simulare numeric Matlab num=[k]; den=[La*J (Ra*J+F*La) (Ra*F)+k*k ]; [A,B,C,D]=tf2ss(num,den) sys=ss(tf(num,den)) %lqr Qlqr = 10; Rlqr = 1; [K]=lqry(sys,Qlqr,Rlqr); %lqg Q=0.01; %covariatia zgomotului procesului R=1; %covariatia zgomotului masuratorii Kest=kalman(sys(:,[1 1]),Q,R); RQLG = LQGREG(Kest,K);
  • 30. Controlul vitezei motorului de curent continuu utiliz但nd informa釘ia provenit de la discul cu fante Aplica釘ie Montaj experimental ce cuprinde : ATmega128 traductor de vitez format din disc cu fante optocuplor comparator de tensiune amplificator PWM motor de curent continuu
  • 31. Controlul vitezei motorului de curent continuu utiliz但nd informa釘ia provenit de la discul cu fante microcontroller pe baza semnalului de intrare stabilete factorul de umplere al semnalului PWM de ieire amplificator PWM adapteaz semnalul TTL (0..5V) la tensiunea de alimentare a motorului MCC motor de curent continuu cu magne釘i permanen釘i traductor vitez format dintr-un disc cu fante, cu optocuplo r logica de determinare a vitezei circuit format din latch-uri D, comparatoare de tensiune pentru construirea unui semnal digital de la traductorul de vitez
  • 32. Controlul vitezei motorului de curent continuu utiliz但nd informa釘ia provenit de la discul cu fante
  • 33. Controlul vitezei motorului de curent continuu utiliz但nd informa釘ia provenit de la discul cu fante Semnal PWM semnal modulat 樽n l釘ime caracterizat de factorul de umplere factor umplere 50% factor umplere 80%
  • 34. Controlul vitezei motorului de curent continuu utiliz但nd informa釘ia provenit de la discul cu fante Se comand pornirea motorului de curent continuu. A par impulsurile de comand active 樽n starea high cu factor de umplere mic, insuficient ac釘ionrii motorului. 1 Se mrete factorul de umplere p但n 樽n momentul pornirii motorului. Apare semnalul de la perechea emi釘tor receptor, cu frecven釘a propor釘ional cu tura釘ia motorului . Datorit frecrilor 樽n lagr, la tura釘ie mic se observ reglaj automat. 2
  • 35. Controlul vitezei motorului de curent continuu utiliz但nd informa釘ia provenit de la discul cu fante Se fr但neaz manual axul motorului. Se observ : creterea cuplului motor 樽n vederea men釘inerii tura釘iei fixate anterior cretere a brusc a factorului de umplere pentru semnalul de comand este vizibil tendin釘a de rotire rapid a axului 樽n momentul dispari釘iei sarcinii. Rotirea rapid are loc o perioad scurt de timp dup care motorul revine la tura釘ia de regim ini釘ial 3
  • 36. Controlul vitezei motorului de curent continuu utiliz但nd informa釘ia provenit de la discul cu fante Sens (la fiecare ac釘ionare se schimb sensul de rotire). Este activ numai cu motorul oprit. Crete Buton av但nd ca efect mrirea factorului de umplere a semnalului de comand (cu perioada i amplitudinea constant), va crete tura釘ia Pornit/Oprit La ac釘ionarea repetat starea notorului trece din starea fr comand 樽n cea cu comand (ini釘ial comanda este insuficient i trebuie mrit prin ac釘ionarea repetat a butonului corespunztor) Scade Buton care micoreaz factorul de umplere (scade tura釘ia) Comanda vitezei
  • 37. Controlul vitezei motorului de curent continuu utiliz但nd informa釘ia provenit de la discul cu fante Observa 釘ii Referin釘a este ini釘ializat cu o valoare mai mare ca zero. Rat de eantionare de 1 secund. Regulatorul are comportament : propor釘ional (factorul de umplere al semnalului de ieire este propo釘ional cu eroarea) integrator (ieirea are o 樽nt但rziere fa釘 de varia釘iile intrrii) par釘ial derivativ (are o reac釘ie destul de rapid la evolu釘ia procesului) Semnal PWM generat cu numrtor Semnal de intrare eantionat cu sistemul de 樽ntreruperi
  • 38. Concluzii Pe baza celor demonstrate, se poate folosi simularea computerizat pentru calculul Kp, Ki i Kd, apoi se poate proiecta un regulator PID 樽n C sau ASM, pentru ATmega128. Se poate merge mai departe, trec但nd de la PID crisp la PID fuzzy, regulile put但nd asigura i o robuste釘e la zgomot sau perturba釘ii. Compensatorul LQG asigur stabilitatea 樽n bucl 樽nchis i o reac釘ie mai rapid la varia釘iile referin釘ei, dar atenueaz amplitudinea semnalului de control de la ieire, 樽n raport cu referin釘a. Ansamblul de module electronice existente 樽n ATmega128 permit proiectarea regulatorului 樽n ambele forme fr a fi nevoie de alte module electronice.