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   6 / 6
(#) kit6263 hozzászólása Jan 7, 2014 /
 
Ahogy modellezgetem pont úgy van ahogy mondod.
Mikor bekapcsolom a PID algoritmust, a hiba jellemzően pozitív.
Error = Setpoint - Input;

És mivel :
ITerm+= (ki * error);

Ez elszalad a fenébe !
Csak akkor fog csökkenni, ha hiba negatívra vált. Vagyis mindenképpen túllövésbe kell mennie, ahhoz, hogy az I hatás ne nyomja folyamatosan fölfelé a kimenetet. Hosszútávon egy hullámzást generál. Ez meg olyan kicsi és +-, hogy az I tényleg mindig cibálni fogja.

Mindenesetre betettem :

  1. #ifdef I_TIME_FILTER
  2.         ctITerm &= 7;
  3.         arrITerm[ ctITerm ] = Ki * Error;
  4.         ITerm =  arrITerm[ 0 ]+arrITerm[ 1 ]+arrITerm[ 2 ]+arrITerm[ 3 ]
  5.                 +arrITerm[ 4 ]+arrITerm[ 5 ]+arrITerm[ 6 ]+arrITerm[ 7 ];
  6.         ctITerm ++;
  7. #else
  8.         ITerm += Ki * Error;
  9. #endif


Ezzel nem halmozódik fel az I akkor sem ha korán bekapcsolom a PID-et. A múltbeli nyolc érték, meg elég infót ad. Egyébként ugyanilyet csak 4 elemre betettem a D-re is. Mivel átlagol ez egy aluláteresztő szűrő lesz a D-n. Majd meglátom.
Ez csak elvi gond, mert úgyis 100%-al fűtök amíg meg nem közelíti a Setpoint körüli szabályozási sávot.

Ez nagyon jó : Building PID Controls in Software
Meg ez is hasznos lehet : BME PID modellezés
(#) watt válasza kit6263 hozzászólására (») Jan 8, 2014 /
 
Inkább az I-nek olyan értéket kéne adni, ami a körödnek megfelelő változást okoz(nagy érték valószínű, bár ha a legutóbbi képletet használod, akkor nagyon kicsi!) és korlátozni az Ymax-hoz, Ymin-hez...
Ezek a kitalációk csak tévútra vezetnek. Neked nem kell elvileg kitalálni semmit, csak megérteni a működést és megfelelő paramétereket beállítani...
A hozzászólás módosítva: Jan 8, 2014
(#) m.joco hozzászólása Máj 3, 2014 /
 
Sziasztok!

Az utóbbi időben sikerült működésre bírnom egy PID-es szabályozót PIC mikrovezérlővel (a mikrovezérlő kimenete PWM volt). Kicsit furcsának találtam az általam használt függvényeket és példakódot, ugyanis a PID kimenete egy olyan szám volt, ami végül hozzá volt adva (negatív előjel esetén kivonva) a PWM periféria kitöltési tényezőjéhez. Tehát a PID kimenete a kitöltési tényező változását adta ciklusonként. Javítsatok ki ha tévedek, de egy hagyományos PID-es szabályozásnál jelen esetben nem a PID kimenetének kéne jelentenie az új PWM kitöltési tényezőt?
A szabályozott folyamat egy elektromos fojtószelep (rugó húzza vissza zárt állapotba) szabályozása. Tehát az alapjel gyakorlatilag a kívánt nyitási szög analóg fesz. értéke, az ellenőrző jel a fojtószelepbe integrált potméter fesz. kimenete.

Igazából működik az áramkör, sikerült beállítani. Csak igazából én magamtól a "másik" módszer szerint oldottam volna meg a szabályzót.

Üdv.
(#) watt válasza m.joco hozzászólására (») Máj 3, 2014 /
 
A PID három függvény összege és a beavatkozójelet(Y) állítja elő, azaz itt a PWM-et. Mindegy hogyan van megvalósítva a három matematikai összefüggés és mindegy milyen együtthatókat kell alkalmazni a P, I, D helyén, végül mind egyformán fog működni. Sajnos nincs szabvány, ezért elég nagy a káosz a megvalósítások között, de lényegét tekintve, mind egy elven működik. Ha valaki megérti a PID működési elvét, mi hogyan hat az Y-ra, maga is tud PID-et programozni másolás nélkül...
A hozzászólás módosítva: Máj 3, 2014
(#) m.joco válasza watt hozzászólására (») Máj 3, 2014 /
 
Helló!

Az én kérdésem inkább a beavatkozójel felhasználására irányult. Ha nem tévedek, akkor annak 0-nak kell lennie, ha nincs hiba, és nincs szükség beavatkozásra. Az én példámban gondolom ezért a beavatkozójel a ciklusonkénti változása a PWM kitöltésének (ezért van hozzáadva), viszont egy pozició-szabályozási feladatban (ahol pl. nem hat külső nyomaték a motorra) közvetlenül a PWM kitöltését jelentené.

Üdv.
(#) randras hozzászólása Máj 3, 2014 /
 
Hello!
Tudnátok segiteni? A pid szabályzásnál hogyan kell kiszámolni hogy a P I és D konstansok értéke mekkora legyen? És azt hogy az I nél hány mintavételig visszamenőleg összegezze a hibajeleket? Meg hogy a D nél mennyi idő legyen a minták közt (mostani és előző)? Hogyan lehet ezeket kiszámolni? Ha tudtok segíteni nagyon hálás lennék. Olvastam a PID ről de ezeket nem értem...
(#) watt válasza m.joco hozzászólására (») Máj 3, 2014 /
 
Nem feltétlenül 0 a kimenet, ha az SP=PV, sőt, a legtöbb esetben nem 0! A P tag Y része, (nevezzük P_Y-nak) 0, de a I_Y annyi, amennyi összegyűlt a beállás alatt, vagy amennyi szükséges volt a korrekcióhoz, hogy beálljon az SP (kívánt érték).
(#) m.joco válasza watt hozzászólására (») Máj 4, 2014 /
 
Köszi, így már világos.

Üdv.
(#) jym válasza randras hozzászólására (») Máj 4, 2014 /
 
Üdv!

A behangolásra a relés módszert javaslom. Lásd csatolt pdf az elvért, és a két képet, hogy ez miképp működik a gyakorlatban.
(#) kit6263 hozzászólása Máj 28, 2014 /
 
Valami jó regisztrátor progit nem tudtok ?
Csak a SerialtChart-ot találtam !
Jobb híján az Excel. Csak ez nem on-line.

PID XLS.gif
    
(#) jym válasza kit6263 hozzászólására (») Máj 29, 2014 /
 
Üdv!

Az Excel tun online lenni, attól függ honnan jön az adat.

Nálam pl. PLC-ből jön, a formátum XML, HTTP protokoll, valami ilyen makróval:

  1. Public Sub getData()
  2.     Application.DisplayAlerts = False
  3.    
  4.     On Error GoTo ugrik
  5.    
  6.     xmlHttpRequest.Open "GET", url, False 'Open socket
  7.    xmlHttpRequest.Send 'Send request
  8.  
  9.     Dim oszlop As Long
  10.    
  11.     If xmlHttpRequest.Status = 200 Then
  12.         XMLDOC.Load (xmlHttpRequest.responseXML)
  13.         Set note = XMLDOC.DocumentElement
  14.    
  15.         ' dátum
  16.        Cells(sor, 1).Value = Date & " " & Time
  17.        Columns(1).AutoFit
  18.    
  19.        For j = 0 To note.ChildNodes.Length - 1
  20.            oszlop = j + 2
  21.            If Not fejleszKesz Then
  22.                Cells(2, oszlop).Value = note.ChildNodes(j).nodeName
  23.            End If
  24.            
  25.            Cells(sor, oszlop).Value = note.ChildNodes(j).nodeTypedValue
  26.            Columns(oszlop).AutoFit
  27.        Next j
  28.        fejleszKesz = True
  29.        sor = sor + 1
  30.    End If
  31.  
  32. ugrik:
  33.    On Error GoTo 0
  34.    StartTimer ' Reschedule
  35. End Sub


Az XML ilyen:
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <note>
  3. <mert_ertek>32.5</mert_ertek>
  4. <setpoint>33.5</setpoint>
  5. </note>


A PLC az XML-ben kicseréli a mért értéket és a setpoint-ot mindig az aktuális értékre.

Ha neked RS232-ből jön az adat, a neten vannak rá példák, bár nem próbáltam, de szerintem az is működik, szóval tudsz RS232-ből adatot kinyerni online Excel-be.

Imi.
(#) kit6263 válasza jym hozzászólására (») Máj 29, 2014 /
 
Köszi..erre nem is gondoltam.
Hirtelen rákerestem és vannak találatok...
Biztos kell vele görcsölni de megoldható.
A SerialChart frankó, csak nem log-ol.
Nincs valaki VB-Excel mágus akinek ez nem gond ?
(#) kit6263 hozzászólása Máj 29, 2014 /
 
watt !!!
Már eddig is sokat segítettél....köszi még egyszer, de ha belefér az idődbe ránézhetnél a csatolt XLS-re.
Ez egy kb. 2 kW-os hőprés. A tulaj nagyon elégedett, jobb mint az eddigi OMRON hőfokszabályozás és a PLC-s megoldás. Jól látszik a 3 préselés. A valós programban ez a hőelvonás persze korrigálva van.
Az elvárás a +- 0.5 fok szabályozás lenne.
PIC18F46K80 12 bit AD, PT100 XTR105 4...20mA távadóval. 4.096 V referencia.
PWM 0...100% 10 msec osztással és így 1 sec a PID ciklusidő.
A matek 32 bites double, de a mért hőfok le van csapva 1 tizedesre.
Nagyon sokat görcsöltem, de hőmérséklet mérés mindig zajos.
Átlagolok, diszkrét LowPassFilter stb. Az alsó pár bit zsizsikel. Ha eldobom a legalsót akkor sem jobb sokkal, de akkor már nem tud 0.1 fokot.
Már mindenféle fúrmányokat bevetettem pl. :
Felvettem a setpoint körül egy +-0.5 fok-os határt.
// Ha fűtés van és csökken és az előző mérés már a határon felül van akkor az előzővel számol
// Ha fűtés nincs és növekszik és az előző mérés már a határon alul van akkor is az előző
Ettől jobb lett.
A görbékből különösen a D-ből és persze a PWM-ből jól látszik a zaj.
Végül is jól jól működik, de hátha lehet javítani rajta !

PID 180.xls
    
(#) watt válasza kit6263 hozzászólására (») Máj 29, 2014 / 1
 
Én egy digitális szűrést tennék bele. pl. 10mérés, két szélső érték kidobva, maradék összeadva, majd osztva 8-al. Amíg a mérés nem stabil, nem lehet jól szabályozni rá.
(#) watt válasza kit6263 hozzászólására (») Máj 29, 2014 / 1
 
A másik az áramköri kialakítás. Külső referencia fesz kell és az analog GND-t külön kell huzalozni a forrástól és szokott segíteni, ha 1..10ohm körüli ellenállással van összekötve a digit GND-vel. Emellett mindent hidegíteni kell kerámia kondikkal(SMD jobb), nagyon rövid vezetékekkel. Itt nem sok a több...
(#) kit6263 válasza watt hozzászólására (») Máj 30, 2014 /
 
Az áramkör jelenleg adott. A régi dolgokhoz kellett csatlakoznom. A földelés sajnos nem ideális.
A 4-20 mA-t egy 200 ohm fogadja. Ide jön az áram bemenet és az XTR105-ről föld. A 200 ohm-al parallel 10µF majd jön egy soros 1K majd 10 µF-a földrel. Amit terveztem vezérlőt azon csillag a földelés. Minden analóg csatorna saját ágon megy be a puffer kondihoz. A táp 24->5V buck MPS1591. Ez is rászórhat kicsit. A gépen belül a régi XTR105-ös panelen van közösítve a föld.
Most készül egy új interfész panel a vezérlő fenekére ( szendvics szerkezet), azon már rajta lesz az XTR105. Remélem jobb lesz.
A következő fejlesztési változat már MAX 31865 vagy NAU7802 lesz.
A szoftver először pont ugyanolyan mozgóátlagos volt amit javasoltál.
Az előző projektben ami egy NTC-s mérő volt és ott bevált. Itt nem volt elég.
Ami a legjobbat adja, az most 10 msec-enként ADC olvasás és rögtön egy 8 as tömbben átlagolás.
Ez csak pár usec...nem gond.
Ezt megkapja egy digitális szűrő.
  1. //=========================================================
  2. // ADC read by discrete lowpass filter
  3. static near U32                 _lpf = 0;
  4. #define ADC_LPF_SHIFT   4               // 4 -> delay =  80 sample _lpfMax = 0x10000
  5.  
  6. void ADC_lpf_filter( U16 adc )
  7. {
  8.         _lpf = _lpf - ( _lpf >> ADC_LPF_SHIFT ) + adc;
  9. }
A hozzászólás módosítva: Máj 30, 2014
(#) watt válasza kit6263 hozzászólására (») Máj 30, 2014 /
 
Nézted már az MCP3424-et? Elég jól használható, ha nem szükséges túl gyors mérés. Előnye, hogy nem kell külön erősítő, közvetlenül ráköthető a hőelem. Hátránya, hogy saját hőelem referenciatáblázatot kell használni, ami helyigényes, de egy külső EEPROM-al, vagy nagy memóriával rendelkező PIC-el ez megoldható. Elég olcsó és 4 hőelemet kiszolgál. Tized pontosan még nem használtam, (eleve egy hőelem effektív pontossága 1,5fok), de 18 biten képes nagyobb felbontásra.
(#) watt válasza (Felhasználó 15355) hozzászólására (») Máj 30, 2014 /
 
Igazad lehet, viszont pt100-ra is jó.
(#) Droot hozzászólása Ápr 12, 2015 /
 
Sziasztok!

Szeretnék segítséget kérni egy PID szabályozó behangolásához.
A Kp, Ki, Kd, Kt konstansokat kellene megállapítanom.

Addig világos, hogy az I és D konstansok 0-k és a p-t állítom be először.

Valaki aki tapasztalt leírná nekem, hogy lépésről lépésre hogyan kell behangolni?
(#) holex válasza Droot hozzászólására (») Ápr 12, 2015 /
 
Elkezded alacsony P-vel, megvárod, hogy beálljon. Aztán magasabbra állítod és megint megvárod hogy beálljon. Ezt addig csinálod amíg nem találsz egy olyan értéket amivel állandó amplitúdóval kezd oszcillálni a rendszer. Ekkor megnézed a periódusidőt és Ziegler-Nichols alapján beállítod a P, I, D értékeket.
(#) Peter65 válasza Droot hozzászólására (») Ápr 13, 2015 /
 
Szia!
Nem írod, hogy mi a szabályozott szakasz, azaz mit szabályozol. Elvileg a szabályozott szakasz átviteli függvényétől függ elsősorban, hogy mit és hova kell állítani.
Villamos hajtásoknál (áramszabályzókör, fordulatszám-szabályzókör) a gyakorlatban egységugrás jelre vizsgáljuk a rendszert, és addig hangoljuk, amíg a leggyorsabb túllendülés nélküli beállást el nem érjük. Célszerűen kis erősítésről nagy integrálási időállandóval indulunk általában. Először csak kicsi ugrásokkal, majd a végén a névleges értékkel ellenőrizzük.
(#) Droot válasza Peter65 hozzászólására (») Ápr 13, 2015 /
 
Szia!

Egy fűtőtest hőmérsékletét szabályozom.
Nos kipróbáltam. Addig növeltem a P-t (2-essével 0-32ig), amíg el nem kezd oszcillálni. Sajnos elértem 32-ig, tehát nem oszcillált. Nagyon kis mértékben viszont igen, kb 1-2 volt az amplitudó és 1 másodperc a periódusidő (vagy 0,75).
(#) Peter65 válasza Droot hozzászólására (») Ápr 14, 2015 /
 
Ha nekem kellene megoldanom, akkor keresnék egy megfelelő regisztrátort vagy szkópot vagy bármi mást, ami az időben értékelhető módon felrajzolja a hőmérséklet beállását.
Így egységugrás jelre láthatod a rendszer válaszát, és a kapott eredmény szerint módosítasz. Ha nagyon nagy a hőtehetetlenség (egy nagyobb kemencénél ez akár órás nagyságrendű is lehet), akkor bizony ez igencsak sziszifuszi munka, több napig is eltarthat.
Megpróbálhatod azt az utat, amit Holex ajánlott, bár nekem ez új volt. A periódus időt pontosabban kellene megmérni, többnek az átlagolásából. Ha beállítottad, akkor is ellenőrizd le egységugrással, mert az így beállított szabályzó korrigálására szükség lehet.
Azt nem írtad, hogy a szabályzót te készítetted-e vagy gyári. Ha te készítetted, akkor lehet hogy szükség lesz a paraméterek értéktartományának módosítására. Arányos erősítés értékét már előzetesen is célszerű lett volna úgy felvenni, hogy legalább 100-ig tudd állítani.
(#) Droot válasza Peter65 hozzászólására (») Ápr 14, 2015 /
 
Én készítettem az algoritmust. Egy makróval állítható be a max erősítés. Viszont egy másik ilyen fűtőtesthez használt konstansokkal jól működik, de szeretném én magam behangolni. Viszont ott egyik konstans sincs 25 felett.
A belengést meg tudom mérni és uarton ki tudom küldeni de tényleg nem oszcillál csak 1-2 amplitudóval.
Vagy az oszcillációhoz lehet hogy akár 50-es erősítésre is szükség lesz a p taghoz?
(#) Peter65 válasza Droot hozzászólására (») Ápr 14, 2015 /
 
Szeretném hangsúlyozni, hogy ezen az úton (Ziegler-Nichols alapján) én még a gyakorlatban nem állítottam be szabályzót. A leírások szerint nem kell feltétlenül nagy amplitúdójú lengéseket várni, nem is szükséges, hiszen a frekvenciaválaszra vagyunk kíváncsiak, azaz nem szétverni akarjuk a szabályzókört, csak a jellemző frekvenciáját megkeresni. A számítási eljárás szerint az arányos erősítést a belengési értékének kb. a felére vissza kell venni, ezért ha ez a formula szerint ideális a beállítás, akkor kb. a kétszeres értéknél várható a lengés.
Szerintem vedd fel az egységugrásra adott választ. Ha kellően gyors, nincs jelentős túllövése, és aperiodikus a beállása, akkor nem érdemes tovább állítgatni. Ha valamilyen elvárásnak nem felel meg, akkor viszont érdemes elmélyülni benne.
(#) kit6263 hozzászólása Jún 10, 2015 /
 
Üdv...kicsit döglött a topik
Hagyományos PID-em hőfokszabályozásra nagyon szépen muzsikál. Kicsi barkácsolással ( I esetén ) minimális az induló túllövés (180 C esetén max 1.5 C ). Végül is beál +- 0.1...0.2 C-ra.
A fűtés kb. 20 %-on megy a szinten tartáshoz.
Akarok csinálni egy velocity C tipusu PID-et. Azt irják az okosok, hogy ez jobb !

BESTune
CO(k) = CO[k-1] - Kp*(PV[k] - PV[k-1]) + Ki*Ts *e[k] - Kd/Ts*( PV[k] - 2*PV[k-1] + PV[]k-2])
PID Controller Calculus
CO[k] = CO[k-1] + Kc*( (PV[k-1] - PV[k]) + Ts/Ti*e[k] + Td/Ts*(2*PV[k-1] - PV[k] - PV[k-2]) )
e[k] = SP - PV[k]

Ez a kimenet változását számolja. De nem igazán tudom összehozni !
A D csak akkor hat, ha nem egyenletes a változás. Gyorsul vagy lassul. Gondolom a neve is ebből van.
A P a változást szorozza. Kb. +0.2 C/sec. Vagyis ha nő akkor visszavesz, de nagyon kicsit.
I mindenképpen kell (csak P-vel nem indul el).
Az I miatt viszont a kiment rögtön 100% lesz. Ha nagyon kicsi az I akkor meg nagyon lehül az SP alá.
Csinált már valaki ilyet ?
Azt hogy lehet kiküszöbölni, hogy sokkal lassabban hül a rendszer mint ahogyan felmelegszik?
Köszi a segítséget előre is.
(#) Peter65 válasza kit6263 hozzászólására (») Jún 11, 2015 /
 
Szia!
Hol találtál anyagot erről a "velocity C típusú PID"-ről?
Jó lenne, ha az értelmezést segítenéd; CO gondolom a szabályzó kimenete (?Controller Output?), Amit nem látok, hogy mi lenne az alapjel és a visszacsatolt jel? Egy visszacsatolt huroknál rendszerint az alapjelből kivonjuk a visszavetett jelet, és ezzel a hibajellel számolunk tovább. Esetleg ez lenne a PV?
Ha így van, akkor ez lényegileg a hagyományos PID szerinti eredményt adja, csak talán egyszerűbb a számítás. Ha felírod a hagyományos PID számítás k-ra és k-1-re és kivonod egymásból, némi átrendezéssel a fenti sorok jönnek ki. Az integráló tag szerepét az előző kimeneti érték veszi át, és a hibajel változással korrigálja. Szerintem működnie kellene csak arányos taggal is.
A melegedés és hűlés sebessége közötti különbségből adódó szabályozási problémákat változó paraméterű szabályzóval lehetne mérsékelni (külön paraméter ha a hibajel pozitív, másik ha a hibajel negatív).
(#) kit6263 válasza Peter65 hozzászólására (») Jún 12, 2015 /
 
Irodalom is ott van !
Google : PID Bestune illetve PID Controller Calculus
A hagyományos PID pedig Arduino Beginner’s PID

A Bestune-on a V-PID-re van 3 képlet is. A,B,C tipusú. Az irják a C a legjobb.

Általában igy használják :
SP Set Point
CO Controller Output
e Error
PV Process Value

Mivel most sör illetve Whisky főzőt akarok csinálni és a minőséghez nagyon fontos a maláta pontos hőfokon tartása próbálok kicsit görcsölni. Egyébként a mostani PID OK, csak a szakmai érdeklődés is hajt. A hagyományos PID esetén nagy gáz a zaj a D tagban. PT100 ról 4..20mA jön a ADC-re és elégé zajos. Nagyon sokat vacakoltam a zajjal. Többféle digitális szűrőt próbáltam.
Ez azért mégiscsak egy 8 bites PIC18f46k80-as proci.
Jelenleg ha nincs bekapcsolva a fűtés, akkor +- 0.1 fokot ugrál. Ha beindul a fűtőlap akkor néha 0.5 fokot is ugrik.

A mostani alkalmazást 180-200 (max 230) fokra kell felfűteni.
200 foknál 190 fokig 100% PWM utánna bekapcsol a PID 202 fok után 0% a fűtés.
Hagyományos PID esetén beállítom a P-t hogy ne lőjjön túl. Majd növelem az I-t hogy beáljon az SP. A D hab a tortán ez csak jósolja a jövőt, kicsit csökkenti a túllövést és a hullámzást.

V-PID nél a csak P nem valósítható meg.
Ha a Ki = 0 és Kp csak a változásból növekszik ami nagyon kicsi és nem tud működni. Ráadásul a zaj is itt jelentkezik leginkább.

Normál PID algoritmussal mindig nagyon túllő és lassan hül le. Ideális hangolásnál legalább 10 fokkal. Ez nem lehet !

Korlátoztam az integrálást. És amint felfűtéskor átlépi az SP+0.2 fokot integrált 0 ra teszem. Amikor lehül pedig egy beállítható értékre.

Ez is segit a túllövésben lásd kicsit feljebb : http://www.hobbielektronika.hu/forum/topic_post_1561740.html#1561740.

A V-PID esetében ez a módszer bukta, hiszen az algoritmus a változást számítja !
Most beírtam a programba különböző állapot státuszokat és a CO-t státuszváltozásnál átállítom.
// Ha fűt és +0.2 akkor CO=0 (nem megy nagyon fel)
pid.CO = pid.CO_SP_over;
// Ha hül és SP akkor CO-t pozitívba teszi (nem megy nagyon le)
pid.CO = pid.CO_init;
// Túllövés után sáv fölött van
pid.CO = pid.CO_SP_over;
// Felfűtéskor még sáv alatt van
pid.CO = pid.CO_SP_under;
// Felfűtéskor belép a sávba
pid.CO = 0;

Még nem próbáltam ki, majd hétfőn.
Gőzöm sincs, hogy a gyári szabályozókban ezt hogyan csinálják.

Igazából vannak módszerek a holtidő kiküszöbölésére.
pl. Smith predictor - ilyen szintű matekot 30 éve tanultam. Mivel ez is igényel plusz paraméterezés, és rossz beállítás inkább ront, csak bonyolítja a helyzetet.
Fuzzy szabályozó is jó lehetne, de ott is precízen be kell a tagsági fügvényeket paraméterezni, hogy igazán jó legyen.
Valami lepogramozható automatikus finomhangálási algoritmus kellene. Láttam olyat, hogy a PID paramétereket fuzzy logika változtatja. Ehhez viszont már doktorátus is jó lenne.
A PID beállítása meg csak gyakorlati úton is viszonylag egyszerű.
Az is érdekes, ha összejön, hogy majd egyforma paraméterek kellenek-e ?
A 2 képlet különböző. A 2.-ban Kc val szorozza ID részt is.
Nem tudom a gyári szabályozókban ez hogy van, de nem tartom valószínőleg, hogy van azonosan működő de különböző gyártó piacon. Ha csak nem klón. Nálunk Omron PID hőfokszabályzók vannak, de tök másként van beállítva egy adott fűtőlapra mint egy unitronics PLC.
A hozzászólás módosítva: Jún 12, 2015
(#) kit6263 hozzászólása Jún 15, 2015 /
 
A V-PID egyenlőre a fiók aljába került. 3 napi kínlódás után sem tudom úgy kézben tartani, mint a hagyományosat.
A gond a holtidő.
Érdekes, hogy pont a sörfőzénél használják, ahol nagyon nagy a holtidő.
A hagyományos PID esetében az I manipulálásával, viszonylag jól kezelhető a kezdeti túllövés és hullámzás. Itt még megpróbálog a D tagra egy pótlólagos szűrést.
Következő: »»   6 / 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