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
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
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
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 :
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
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
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.