|
Praktični del tega predmeta je izvedba programske specifikacije krmilnega sistema na osnovi danih zahtev in upoštevanja vseh pravil programskega inženirstva. Celoten projekt je malce šriši, saj zajema še spoznavanje in razumevanje celotnega sistema, za katerega se bi naj napisala specifikacija in bi v končni fazi bilo izvedeno tudi načrtovanje (izvedeno v Sistemih realnega časa). Na tej strani lahko vidite celotno programsko specifikacijo krmilnega
sistema.
1. Uvod Naziv projekta: Kaskadna regulacija položaja in vrtljajev enosmernega servomotorja Definicija (kratek opis) projekta: Naloga projekta je načrtovanje in specifikacija krmilnega sistema za nadzor, vodenje in regulacijo položaja in vrtilne hitrosti (vrtljajev) servopogona, izvedenega z enosmernim motorjem s permanentnimi magneti in pripadajočim napajalnikom. 2. Zahteve Zahteve (projektni cilji): - delovno območje spreminjanja vrtljajev od 0 do 6000 /min (na osi motorja) v obe smeri - dovoljeno regulacijsko odstopanje +- 2 delca (v stacionarnem stanju) - signalizacija odstopanja vrtljajev za več kot 10% (LED1 indikator na kontrolnem panelu) - signalizacija vrtenja v levo ali desno (LED2) - signalizacija odstopanja položaja za več kot +-5 delcev (LED3) - vnos parametrov regulatorja (v "Off-line" režimu) preko tipkovnice osebnega računalnika - kot testni model servomotorja z napajalnikom in vključenim tokovnim regulatorjem uporabite enosmerni motor ESCAP28DT 12-219P moči (20W) s krmilnim vhodom -10 do +10V, tahogeneratorjem (-10 do +10V) in inkrementalnim dajalnikom (144 p./obrat) - kot krmilni sistem uporabite Miniaturni krmilnik MPU V1.1 z mikrokrmilnikom H8/532, ustreznimi vhodno/izhodnimi vmesniki in osebni računalnik (PC) - določite potreben korak (časovni interval) diskretne regulacije - regulator hitrosti naj bo diskretni PI, regulator položaja diskretni P ![]() 3. Analiza Kontekstni diagram Kaskadna_regulacija (CD) ![]() 3.1. Terminatorji 3.1.1. Opis terminatorja kontrolni_pano V kontrolnem panoju imamo stikalo in tri LED diode: Stikalo S1 -nam služi za začetek in konec regulacije. LED 1 -predstavlja indikator odstopanja vrtljajev za več kot 10% LED 2 -predstavlja indikator vrtenja motorja levo/desno LED 3 -predstavlja indikator odstopanja položaja za več kot +-5 delcev V kontrolni pano imamo naslednje vhode: Vhod LED_1 Vhod LED_2 Vhod LED_3 Iz kontrolnega panoja imamo naslednji izhod: Izhod On_Off 2. Opis terminatorja operater Operater nam v bistvu predstavlja osebo, ki uporablja PC računalnik, s katerim komunicira z mikrokrmilnikom. Le-ta je omogočena s serijskim vmesnikom RS 232. Operaterju se na PC-ju sproti prikazujejo podatki o položaju, hitrosti, referenčni vrednosti ter odstopanju. Ti so v številski in/ali grafični obliki. Operater deluje v On-line in Off-line režimu. V On-line režimu vnaša preko PC-ja parametre regulatorja. V Off-line režimu pa vnaša referenčno pozicijo in maksimalno hitrost. V operater imamo naslednje vhode: Vhod hitrost Vhod odstopanje Vhod polozaj Iz operater imamo naslednje izhode: Izhod Start_Stop Izhod parametri_reg Izhod ref_pozicija Izhod max_hitrost 3.1.3. Opis terminatorja servopogon Kot servopogon je v našem primeru uporabljen enosmerni motor ESCAP 28DT 12-219P. Motor je krmiljen s signalom, pripeljanim preko signalne linije nast_hitrosti. Na motorju je inkrementalni dajalnik pulzov za določitev pozicije motorja, ter tahogenerator, ki ima kot izhod napetost v mejah -10V do +10V in je le-ta proporcionalna motorjevi hitrosti. V servopogon imamo naslednje vhode: Vhod sprostitev_reg Vhod nast_hitrosti Iz servopogon imamo naslednje izhode: Izhod ID Izhod hitrostni_senzor 3.2. Proces KaskReg ![]() 3.2.1. Opis procesa KaskReg Proces KaskReg nam predstavlja model za kaskadno regulacijo položaja in vrtljajev enosmernega servomotorja. V procesu je kot krmilni sistem uporabljen miniaturni krmilnik MPU V1.1 z mikrokrmilnikom H8/532. Kaskadna regulacija je izvedena v obliki programa shranjenega v mikrokrmilniku. Regulator hitrosti je diskretni PI regulator, regulator položaja pa je diskretni P regulator. Mikrokrmilnik je povezan z:
Kot vhode ima
Kot vhode ima
Kot vhode ima
Vhod parametri_reg Vhod ref_pozicija Vhod hitrostni_senz Vhod ID Vhod max_hitrost Vhod On_Off Vhod Start_Stop Iz KaskReg imamo naslednje izhode: Izhod LED_1 Izhod LED_2 Izhod LED_3 Izhod polozaj Izhod hitrost Izhod odstopanje Izhod nast_hitrosti Izhod sprostitev_reg V procesu KaskReg imamo tudi naslednje pomnilne elemente, ki jih uporabljamo za shranjevanje podatkov na disk:
Vhodi v sprejem_podat:
3.2.1.3. Proces reg_hitrosti V proces reg_hitrosti imamo naslednje vhode: Vhod parametri_reg Vhod nast_pozicija Vhod hitrost V proces reg_hitrosti imamo naslednje izhode: Izhod nas_hitrosti Izhod LED_1 Kot regulator hitrosti smo v procesu reg_hitrosti uporabili PI regulator, kateremu parametre izračunamo po naslednji formuli: a(k) =kr(1+Ts/Ti) a(k-1) =-kr Za vhod PI regulatorja velja naslednja formula: u(k)=e_hit=ref_hit(k)-hitrost(k) Pri tem moramo pretvoriti pozicijo (nast_pozicija) v hitrost (ref_hit), kar naredimo z naslednjo enačbo: ref_hit=nast_pozicija/(4*144) Za izhod PI regulatorja velja naslednja formula: y(k)=nast_hitrosti=a(k)*u(k)+a(k-1)*u(k-1)+y(k-1) Za izhod LED_1, velja naslednje pravilo: če e_hit >10% potem LED_1=1 drugače LED_1=0 3.2.1.4. Proces prikaz_rez V proces prikaz_rez imamo naslednje vhode: Vhod ID Vhod hitrost Vhod interval_prik Iz procesa prikaz_rez imamo naslednje izhode: Izhod polozaj Izhod hitrost Izhod odstopanje Pri tem pošljemo hitrost v vrtljajih na minuto (0-6000 v levo in desno stran), položaj v inkrementih (vrtljaj 4*144 inkrementov) ter za odstopanje pozicije razliko ID-ref_pozicija. Interval prikaza pa mora biti Ts < 0.1*Ti 3.2.1.5. Proces meritev_hit V proces meritev_hit imamo naslednje vhode: Vhod hitrostni_senz Vhod interval_reg Iz procesa meritev_hit imamo naslednje izhode: Izhod LED_2 Izhod hitrost Pri tem je LED_2 signalizacija za vrtenje motorja v levo oz. desno stran. Za signal hitrost se nam napetost, generirano od tahogeneratorja na motorju, pretvori v A/D pretvorniku, ki je v mikrokrmilniku, v številsko vrednost (v intervalih Ti). Mikrokrmilnik ima vgrajen 10-bitni A/D pretvornik z multiplekserjem 8 na 1, tako, da je na voljo 8 analognih vhodov, z napetostnim območjem 0-5V. Čas pretvorbe znaša 13.8 ms na kanal ob frekvenci takta 10MHz. 3.2.1.6. Proces nast_PWM V proces nast_PWM imamo naslednje vhode: Vhod nast_hitrosti Iz procesa nast_PWM imamo naslednje izhode: Izhod nast_hitrosti Mikrokrmilnik ima tri 8-bitne pulzno-širinske izhode, ki so na čelni plošči in označeni z PWM1, PWM2 in PWM3. Izhodi so napetostno zaščiteni ter vodeni naprej v nizkoprepustno sito prvega reda s časovno konstanto 0.5ms, izhodi pa so speljani na OA0, OA1 in OA2 (ne smejo se tokovno obremeniti nad 4A za doseganje valovitosti izhoda pod 50mV). Pri uporabi analognih izhodov je priporočljivo uporabljati frekvenco PWM izhodov 20kHz za doseganje minimalne valovitosti analognega izhoda. 3.2.1.7. Proces reg_pozicije V proces reg_pozicije imamo naslednje vhode: Vhod ref_pozicija Vhod ID Vhod parametri_reg Vhod max_hitrost Iz procesa reg_pozicije imamo naslednje izhode: Izhod LED_3 Izhod nast_pozicija Kot regulator pozicije smo v procesu reg_pozicije uporabili P regulator, kateremu parameter je: kr. Za vhod P regulatorja velja naslednja formula: u(k)=e_poz=ref_pozicija(k)-ID(k) Za izhod P regulatorja velja naslednja formula: y(k)=nast_pozicija=kr*u(k) Za izhod LED_3, velja naslednje pravilo: če e_poz > +-5delcev potem LED_3=1 3.2.1.8. Proces meritev_poz V proces meritev_poz imamo naslednje vhode: Vhod ID Vhod interval_reg Iz procesa meritev_poz imamo naslednji izhod: Izhod ID V področju med H'FA20-HFA2F je naslov 24-bitnega vmesnika inkrementalnega dajalnika. Uporabljajo se lahko vsi inkrementalni dajalniki, ki potrebujejo za svoje delovanje 5 V napajanje.Pri tem se uporablja zapis , kompatibilen s podatkovnim tipom "long" v programskem jeziku C, kjer moramo paziti na predznačenje. Način delovanja inkrementalnega dajalnika določamo z skakačem J9: J9 -Način dela ON -dekodiranje kota OFF -dekodiranje položaja 3.3. Krmilni proces KaskReg 3.3.1. C-spec procesa KaskReg ![]() Vhodi v proces KaskReg: Vhod On_Off Vhod Start_Stop Izhodi iz procesa KaskReg Izhoda interval_reg Izhod interval_prik Izhod sprostitev_reg 4. Seznam vseh povezav 4.1. Povezava hitrost Je dejanska hitrost v številski obliki. 4.2. Povezava ID Iz ID (inkrementalnega dajalnika impulzov) potujejo impulzi v ID števec v mikrokrmilniku. Priključek je 9 polni SUB-D. 4.3. Povezava ID_transf Pomnilni element za pozicijo v številu inkrementov. 4.4. Povezava hitrostni_senz Iz tahogeneratorja, ki je na gredi motorja se prenaša napetostni signal na A/D pretvornik ANI0, ter dobimo napetost proporcionalno hitrosti. Vhod v kanal: -10V do +10V Izhod iz kanala: 0V do 5V (TTL tehnologija) 4.5. Povezava hitrost_transf Pomnilni element za hitrost. 4.6. Povezava interval_prik Signal za prikazovanje. Rezultati se na zaslonu obnovijo vsako periodo Ts. 4.7. Povezava interval_reg Signal za regulacijo. 4.8. Povezava max_hitrost Linija za prenašanje podatka o maksimalni hitrosti motorja v mikrokrmilnik (on-line). 4.9. Povezava max_hitr_transf Pomnilni element za maksimalno hitrost. 4.10. Povezava nast_hitrosti Je signal iz PWM1 v obliki pulzov s frekvenco 20 kHz na krmilni vhod motorja. vhod v kanal: 0V do 5V ; pulzno širinski signal ; frekvenca 20kHz izhod iz kanala: -10V do +10V 4.11. Povezava nast_pozicija Prenos pozicije iz P regulatorja v PI regulator. 4.12. Povezava odstopanje Je podatek o odstopanju regulacije med referenco ter izmerjeno vrednostjo in teče od mikrokrmilnika na PC. 4.13. Povezava On_Off Je kontrolna povezava med kontrolnim panelom in mikrokrmilnikom. On pomeni začetek regulacije, Off pomeni blokada regulacije. 4.18. Povezava parametri_reg Prenos parametrov regulatorja v pomnilnik mikrokrmilnika (Off-line režim). 4.19. Povezava param_reg_transf Pomnilni element za shranjevanje parametrov obeh regulatorjev: Za P regulator shranjujemo: kr Za PI regulator shranjujemo: a(k-1) in a(k) 4.20. Povezava polozaj Prenos podatkov o trenutnem položaju motorja iz mikrokrmilnika. 4.21. Povezava LED_1 Povezava predstavlja signalizacijo odstopanja vrtljajev za več kot 10% (LED1 indikator na kontrolnem panelu). 4.22. Povezava LED_2 Povezava predstavlja signalizacijo vrtenja v levo ali desno (LED 2 indikator na kontrolnem panelu). 4.23. Povezava LED_3 Povezava predstavlja signalizacijo odstopanja položaja za več kot +-5 delcev (LED3 indikator na kontrolnem panelu). 4.24. Povezava ref_pozicija Povezava za prenašanje podatkov o želeni (referenčni) poziciji. Podatki se prenašajo v On-Line režimu 4.25. Povezava ref_poz_transf Pomnilni element za referenčno oz. želeno pozicijo. 4.26. Povezava sprostitev_reg Kontrolna linija za sprostitev regulatorja. Pri tem velja: signal: 1 -omogočitev signal: 0 -blokada 4.27. Povezava Start_Stop Predstavlja krmilno povezava iz PC-ja na mikrokrmilnik. Uporabljena
je za kontrolo sprejema podatkov iz mikrokrmilnika in za kontrolo prenosa
parametrov in reference na mikrokrmilnik.
|
| Avtor: Boštjan Štumberger |
|










