Fórum témák

» Több friss téma
Fórum » PIC PID library
 
Témaindító: kyrk, idő: Aug 6, 2008
Lapozás: OK   1 / 6
(#) kyrk hozzászólása Aug 6, 2008 /
 
Hali!

Elkeszült PIC-re a PID szabályozo algoritmust megvalosito könyvtaram elso verzioja:
PIC_PID_LIBRARY

Sok sikert a hasznalathoz!
(#) potyo válasza kyrk hozzászólására (») Aug 7, 2008 /
 
Király

Csak a sok kommenttől nem látom a kódot.
(#) kyrk válasza kyrk hozzászólására (») Aug 8, 2008 /
 
Kicsit valtoztattam rajta:
- Be lehet allitani, hogy milyen idonkent hivodik meg a fuggveny.
- Kulon PID szabalyzo kerult bele, nem kell a felhasznalonak sajat magnak kissakoznia a hasznalatat
- Peldalkalmazas kerult bele
- GCC-vel fordithato, makefile. Igy PC-n is ki lehet probalni.

Kommentek meg mindig hianyoznak, de majd be lesznek potolva.
(#) zsimon hozzászólása Aug 15, 2008 /
 
Mi az a PID?
(#) kyrk válasza kyrk hozzászólására (») Aug 15, 2008 /
 
Roviden: A PID az egy analog szabalyozo elem. Egyszerubb dolgok szabalyozasara lehet hasznalni, pl: homerseklet, pozicio, vizszint stb...

Hosszan: A lenyege az hogy a szabalyozoban harom fele tag van:
P: aranyos tag
D: differencialo tag (jelvaltozasra erzekeny)
I: integralo tag (bemeneti jelet hozzadja az aktualis kimenethez)
P tag nagyajbol egy alap szabalyozo. Ez altalaban valamilyen fix hibaval tudja beallitani a kivant erteket.
D tag a valtozasokat sietteti, tehat ha valtozik a kivant ertek akkor jol megrugja szabalyozando jellemzot es gyorsitja annak beallasat a kivant ertekre. Hatranya hogy a zajt is erositi.
I tag "emlekszik", igy egy ido utan egyre jobban rugdossa a szabalyozando jellemzot, hogy az bealljon a kivant ertekre. Pl ha egy tartajbol folyik ki a viz picit, akkor ez egy ido utan annyit tolt bele alapbol amennyi kifolyik.

A harom tag megfelelo beallitasaval elerheto, hogy a szabalyozni kivant jellemzo bealljon a kivant ertekre.

Nagyjabol ennyi.
(#) zsimon hozzászólása Aug 30, 2008 /
 
Hali!

Library témában a fórumban csak téged dobott ki a gép.
ASM-ben csinálom a dolgaimat, és van egy kis formai gondom, MpLAB-ban.
Unom és gondolom nem praktikus hogy a különböző moduljaim include file-ként futnak. Kellene help hogy hogy kell Library-ként gyártani a projec-t et.... Ha esetleg van ilyen tapasztalatod akkor lécci...
(#) kyrk válasza zsimon hozzászólására (») Szept 7, 2008 /
 
Hali!

ASM-ben nem dolgoztam sokat MPLAB alatt (mas alatt sem). Amikor dolgom volt modulrendszeru ASM programmal ott includal volt megvalositva az osszefuzes. De hogy ezen felul milyen szokasok vannak meg arrol fogalmam sincs. Gondolom a memoria foglalas sem lehet praktikus, ha kezzel kell atirni egy masik fajl ahhoz hogy a libraryd mukodjon.
(#) lidi válasza kyrk hozzászólására (») Márc 26, 2009 /
 
El tudnád magyarázni ennek a lényegét nekem, még érthetőbben ?

Pl egy alap szabályzáshoz képest, ami így néz ki: megnézzük hogy kisebb-e az érték a kelleténél, ha igen, akkor a kimenő jel=kimenő jel+1; Ha meg nagyobb akkor meg kivonunk belőle egyet. Ha egyenlő, akkor meg nem bántjuk. Majd kezdjuk előröl az ellenőrzést.

Nah, ehhez képest hogy néz ki a proporcionális ?

És ha azt el tudod magyarázni, akkor léphetnénk tovább a PID felé.
(#) bladika válasza lidi hozzászólására (») Márc 27, 2009 /
 
Azt hiszem kicsit nehéz lesz! Nem tudom mennyire akarod megérteni, de főiskolán ez 2évnyi tananyag!
(#) icserny válasza lidi hozzászólására (») Márc 27, 2009 /
 
A proporcionális tag úgy néz ki, hogy a kimenő (beavatkozó) jelet nem egységnyi lépésekben növeljük, hanem arányos a hibajellel, azaz az előírt és a tényleges érték különbségével.

A PID szabályozóban a hibajel időbeli változását is figyelembe vesszük, és a proporcionális tag mellett van egy diferenciáló és egy integráló tag is. Bővebben: Link
(#) Norberto válasza lidi hozzászólására (») Márc 27, 2009 /
 
Ha nem bánjátok, én is bedobnék a közösbe egy nagyon szuper és közérthető módon írt, magyarázatokkal teli linket: LINK

Az oldal fejlécében az egyes fejezetekre rá lehet kattintani, és így elolvasni őket! Szerintem szuper tananyag én jópárszor támaszkodtam már rá főiskolai féléveim alatt! Sőt, az oldal hierarchiájában feljebb is lehet lépni néhány szintet, és így más tantárgyak online anyagai is hozzáférhetőek!
(#) lidi válasza icserny hozzászólására (») Márc 27, 2009 /
 
Ah, szóval ha jól olvasom Norberto magyar linkjét, meg a te magyarázatodat, akkor ha 50% a szabályzó jel, és a kimenet is 50%, majd a kimenet hirtelen lecsökken 40% -ra, akkor a szabályzó jel nem 60% ra fog felugrani, hanem 70%-ra, ha a P = 2. Na de így túllövünk a célon, nem ? És a következő ellenőrzési ciklusban meg mivel már túl magas lett a kimeneti jel, akkor meg lecsökkentjük. Nem fog ez így begerjedni ? Vagy ez a 2-es érték a P-nek, csak egy hülye példa ?
(#) icserny válasza lidi hozzászólására (») Márc 27, 2009 /
 
Belengés biztosan lesz (lásd a korábban belinkelt anyag ábráit). A begerjedés viszont az erősítési tényezőn kívül a fázistolástól is függ, azt meg a konkrét rendszer ismerete nélkül nehéz volna megbecsülni.

Egyébként én csak egyszer kényszerültem rá, hogy (analóg) PID szabályozót építsek. Olyan lassan reagált a folyamat a szabályozójelre, hogy a megfelelő időállandójú differenciáló tag nélkül nem lehetett elkerülni a begerjedést. A méretezést Tietze, Schenk: Analóg és digitális áramkörök c. könyv alapján végeztem.
(#) bladika válasza lidi hozzászólására (») Márc 27, 2009 /
 
De igen előfordulhat, hogy begerjed! Akkor rossz a szabályzásod, ilyenkor változtatni kell szabályzón!

Amit linkeltem képet, az a fent linkelt jegyzetből van kivágva! A szabályozott jellemzőnk tranziens állapotbeli 3 lehetséges beállási formáját mutatja!

Azt, hogy melyiket választod azt maga az alkalmazás helye és a lehetőségek adják meg.

A 4 ami nincs a képen amikor begerjed, csak ugye akkor már nem beszélünk szabályzásról inkább rezgőkörről.

image025.gif
    
(#) bladika válasza icserny hozzászólására (») Márc 27, 2009 /
 
Mire érted azt pontosan, hogy belengés biztosan lesz?

Csupán 1 esetben van tényleges belengés (piros), max 2 esetben, ha az egyszeri túllövést annak vesszük, bár az nem lengés (kék), viszont a szürke esetben egyáltalán se lengés, se túllövés. Megjegyzem ellenben nagyon lassú az a fajta szabályzás.
(#) icserny válasza bladika hozzászólására (») Márc 27, 2009 /
 
Mire érted azt pontosan, hogy belengés biztosan lesz?
Emlékeztetőül: a proporcionális szabályozóról beszéltünk, és az általam ajánlott linken levő ábrán úgy láttam, hogy mindig van belengés:
Bővebben: Link

De ha másképp tudod, akkor hagyom magam meggyőzni. Az viszont tanulságos volna, ha megértenénk, hogy mi a belengés (vagy túllövés) kiküszöbölésének a feltétele.


(#) kyrk válasza icserny hozzászólására (») Márc 27, 2009 /
 
Erdemes tisztazni ket fogalmat:
Stabilitas: Itt arrol van szo, hogy adott kor (szabalyzo+szakasz+visszacsatolas) el tud-e érni egy stabil állapotot vagy biztosan lengeni fog. Létezik olyan szabályzási kör ami biztosan stabil (strukturálisan stabil; akarhogy parameterezem mindig beall valami ertekre), létezik olyan amelyik paraméterezéstől függően stabil és létezik olyan ami biztosan instabil (strukturálisan instabil). Erre vannak modszerek, hogy hogyan lehet megallapitani.

Pontossag: A szabalyozokor pontossaga fugg a kovetendo alapjeltol (fix, valtozo) illetve fugg a szabalyozasi korben talalhato alaptagoktol. Leteznek modszerek amivel ki lehet szamolni a ponstossagot. Altalaban 3 fele minosegi osztalyba lehet sorolni a pontossagot: 0, K, vegtelen. 0 az abszolut pontos, K az ami valamilyen fix ertekkel ter el, illetve a vegtelen amikor a szabalyozott jellemzo soha nem eri el az alaperteket. Ezt persze akkor "merik" amikor a szabalyozasi korben lecsengtek a valtozasok.

Pl be lehet latni hogy egy PT1-es hotechnikai szakasz szabalyozasa P taggal K lesz, mig PI taggal szabalyozva 0. Az hogy a K menny pontosan az megint szamithato. A kovetelmenyektol fuggoen lehet donteni hogy eleg egy P tag mert a K < Kmegengedett (pl 5fok, de 20fok ingadozas megengedheto), vagy nem. Ekkor viszont kerdes, hogy I tagot hogyan parameterezzem. I tag kiszedi a hibat de tullovest okozhat. Itt megint felmerul hogy meg van-e engedve a tulloves vagy sem (pl lehet hogy 180foknal begyullad az a valami de nekem pont 179kellene).>
(#) kyrk válasza icserny hozzászólására (») Márc 27, 2009 /
 
PID szabalyzo eseten PT1 tag eseten a P tag novelese elvileg noveli a tullovest es lengeszamot (abran ez lathato) illetve csokkenti az allandosult allapotban a hibat. Ez nem latszik mert I tag is van es az teljesen lecsokkenti.

Megfelelo PID parameterezessel lehet aperiodikus a beallas. Pl D tag szinte nullan, I tag szinten es megfelelo alacson P tag aperiodikussa teszi.
(#) Bonca válasza icserny hozzászólására (») Ápr 18, 2009 /
 
Automatizálási szempontból a túllendülés kiküszöbölésének a feltétele analóg szabályozási körökben legalább 65 fok fázistartalék, mintavételes rendszereknél 80-90 fok. A szabályozási kör Bode vagy Nyquist diagramjában könnyedén megoldható az ilyen feladat. A nehézsége ott van, hogy szükség van a kör elemeinek differenciálegyenleteire vagy azok laplace transzformáltjaira. Elektronikai körökben viszonylag egyszerű a a laplace-os felírás:
kapacitás: Xc=1/j omega*C = 1/sC
induktivitás: Xl=j omega*L = sL
ellenállás: konstans
Ezeket az adott körnek megfelelően összegezve már felrajzolható a Bode diagram és kompenzálható a kör adott túllendülésre.

Bonca
(#) ciw válasza Bonca hozzászólására (») Nov 30, 2009 /
 
Üdv !

Én próbálkozok ezzel a libraryval, de mint minden pid szabályzót elég nehéz belőni.

Én hűtésre (ventillátoros hűtés) szeretném használni, eddig nem volt időm erre, de most van és elég jól el lehet vele kísérletezgetni.

Van egy hőérzékelőm, amit jobb hijján rátettem az aramkört tápláló stab ic-re, ill. a szabályzó kimenetén van egy Ventillátor, ami hűti a stab ic-t (pwm fordulat szabályzással).

Szóv al a lényeg, hogy elég nehéz volt belőni a cuccot, de most jó.

Hogy lehetne megoldani egy önhangolást, hiába olvastam rengeteget, nem nagyon értem az autotune lényegét.

Gondolom ez a Ziegler Nichols féle megoldás lenne a jó.
Itt ha jól értelmezem nem szabályoz csak kapcsolgat (mint egy termosztát) és ebből megállapítva a pid paramétereit átkapcsol szabályzásra.

Az lenne a kérdésem, hogy milyen paramétereket kell ilyenkor figyelembe venni? A kapcsolások között eltelt időt, vagy mit, és ebből hogy lesz PID érték?

A kóddal kapcsolatban pedig az lenne a kérdésem, hogy mit jelentenek a következő függvény paraméterei?

code=c]extern void setParameters(double Ap, double Ad, double Td, double Ai, double Ti);

én így gondolom:
Ap=P
Ad=D
Ai=I

Td= nem tudom
Ti = nem tudom

Segítségeteket előre is köszönöm !
(#) Norberto válasza ciw hozzászólására (») Nov 30, 2009 /
 
Én úgy valószínűsítem az elnevezéseket, hogy:

Ap=P jellegű tag átviteli tényezője
Ad=D jellegű tag átviteli tényezője
Ai=I jellegű tag átviteli tényezője

Td= differenciálási idő
Ti = integrálási idő

Ezek alapján a PID szabályozó 3 különállóan beállítható elemből/egységből van összerakva, egy arányos tagból, amihez semmi más nem tartozik, csak egy erősítés/csillapítás érték, van egy integráló tag, aminek külön beállítható az átviteli tényezője és külön az integrálási ideje, és végül van egy differenciáló tag, s ennek is egy átviteli tényezője és egy differenciálási ideje.
(#) ciw válasza Norberto hozzászólására (») Nov 30, 2009 /
 
De az időnek mi értelme van, akkor az I és D tagot kissebre veszem és akkor elnyúlik a történet.

Viszont ez az autotune magas nekem.
(#) ciw válasza Norberto hozzászólására (») Nov 30, 2009 /
 
Találtam egy leírást

De sajos ez is hivatkozik valami táblázatra, ami viszont nincs benne.

Ill, mit jelent, hogy a rendszert kritikus állapotig viszi ?

Esetemben az a pont, amikor a venti már nem tudja jobban hűteni a stab-ic-t ?
Ez viszont függ a környezeti hőmérséklettől.


(#) potyo válasza ciw hozzászólására (») Nov 30, 2009 /
 
A kritikus pont nem az, amit ha túllépsz, akkor már lengésekkel fog reagálni a változásra a rendszer?
(#) ciw válasza potyo hozzászólására (») Nov 30, 2009 /
 
Dehát elsőnek a P taggal kell mahinálni, az meg ugye csak lengésekkel tud beállni.

Nemértem, mostmár tudom, hogy miért kell ezt 2 évig tanulni .

Nembaj, nem adom fel.
(#) Norberto válasza ciw hozzászólására (») Nov 30, 2009 /
 
De. Azt jelenti, amit potyo is írt.

Pont ez a lényege a Ziegler Nichols féle módszernek. Belengeti a szabályozást, szóval kritikus pontig tornázza fel az értékeket, és ha sikerült megtalálni ezt a pontot, akkor vissza lehet számolni belőle az optimális paramétereket az adott szakaszra vonatkoztatva. Mert ugye a lengés amplitúdója, frekvenciája a szakasz tulajdonságaitól függ és minden külön esetben, feladatnál egyedi, a szabályozandó egységre jellemző.
(#) potyo válasza ciw hozzászólására (») Nov 30, 2009 /
 
Nekem is volt egy fél éves tantárgyam erről az egyetemen, amit ott tanultunk, az világos is volt, de hogy az hogyan kerül át a gyakorlatba, arról fogalmam sincs...
(#) ciw válasza Norberto hozzászólására (») Nov 30, 2009 /
 
Ok.

Tehát elkezdem tornázni a P tagot, ha jól vettem ki a leírásból akkor addig, amíg nem állandósul a lengés, tehát ismétlődő az amplitúdó, és a lengési periódus ekkor elértem a kritikus pontot?

Bocs, hogy enyit értetlenkedek, de sajna én erről nem tanultam, pedig nagyon érdekel.

Ja a periódust azt milyen egységben kell mérni?
s, ms ?

(#) Norberto válasza ciw hozzászólására (») Nov 30, 2009 /
 
Idézet:
„Tehát elkezdem tornázni a P tagot, ha jól vettem ki a leírásból akkor addig, amíg nem állandósul a lengés, tehát ismétlődő az amplitúdó, és a lengési periódus ekkor elértem a kritikus pontot?”


A leírásokat még nem olvastam át, mármint amik olvashatóak 1-2 oldal tartományban. Viszont elméletileg így kellene működnie, igen.

Idézet:
„a periódust azt milyen egységben kell mérni? s, ms ?”


Hivatalosan s, azaz másodperc. Kivéve, ha nincs más irányú javaslat az adott forrásban.
(#) ciw válasza Norberto hozzászólására (») Nov 30, 2009 /
 
Valahol itt böngészés közben azt olvastam, hogy ez a Ziegler Nichols féle módszer elég elavult, mert akkor használták, amikor még nem nagyon voltak ilyen kapacitásu uC-k, mint ma.

És közben ráakadtam egy ún. Fuzzy logic szerű dologra, nem tudom ez mi, de ez is valami PID hez hasonló dolog lehet?

A PID re visszatérve az amplitúdóból és periódus időből, hogy lesz meg a 3 tag (P I D) ?
Következő: »»   1 / 6
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem