Stránka 1 z 1

Nastavení PID regulátoru

Napsal: 21 srp 2016, 22:42
od Celeron
Potřeboval bych od nějakýho znalce poradit jak co nejlíp nastavit PID regl na vyhřejvání tavný komůrky pro vstřikování plastu. Komůrka má obsah cca 30 ml a měla by se 100W topným tělískem udržet co nejblíž teplotě cca 250 stupňů. Ohřívá se obsah komůrky a její pouzdro cca 0,25 kg mosazi a nerezu. Regl je "displejovej" digitální PID, teplotu měří K-čkem a výstup je SSR.
Hledal jsem na netu jak na to, metod je spousta, některý jsou hodně vědecký a tak chci zkusit dost používanou starou Ziegler-Nicholsovu metodu:
- Zapněte regulator a vynulujte integrační i derivační konstanty
- Zvyšujte zesílení K do té míry až systém začne sám kmitat. Zaznamenejte si zesílení Kmax a čas periody pro vlastní oscilace.
- Nastavte parametry v PID-regulátoru dle následující tabulky :
Regulator...K..............Ti.............Td
P...............0.5Kmax
PI..............0.45Kmax..0.85T0
PIDparalel..0.6Kmax....0.5T0.......0.125T0
PIDserie.....0.3Kmax....0.25T0.....0.25T0
Kmax je zesílení , kdy P-regulator se sám rozkmitá. T0 je čas periody kmitů.

Zkoušel jste to někdo s touhle metodou? Jak je úspěšná? Jo a jakej je fyzickej rozdíl mezi PID paralel a PID serie, nebo to je jen matematická záležitost, nikde se o tom nepíše....
Díky

Napsal: 22 srp 2016, 00:40
od Ivan_Ryger
pre komôrku by Vám mal stačiť P-I regulátor. Ziegler-Nichols by mal fungovať fajn, no je to pomerne nepríjemné nastavovanie pre systémy s dlhou časovou konštantou, keďže musíte správne odhadnúť kritické zosilnenie.

Ja som nastavenia robil "matematicky". Existujú metódy, kedy si človek zmeria tepelnú časovú konštantu systému a potom nastaví regulátor tak, aby bol stabilný.

Napsal: 22 srp 2016, 06:21
od BOBOBO
Hlavně je třeba si uvědomit , že přesnost někde končí a někde je hranice . Pokud nevadí kolísání +-5°C , tak si nehrej na Boha , a nechtěj tam dosáhnout +-1°C . Zde bývá hlavní problém při nastavování .

Napsal: 22 srp 2016, 08:55
od Zaky
Jak je psáno výše, musí stačit PI, pokud je krátká časová konstanta, je to v pohodě a naladíš to od oka pokus omyl, nebo to nastřelíš Ziegler-Nicholsem a doladíš. Velmi pomůže, pokud jsi schopen sypat data do PC a malovat si je do grafu, ideálně nejen teplotu, ale i P a I složku, to je velmi edukativní přístup, jeden na tom krásně vidí, jak to vlastně celé funguje. Pokud si regulátor sám programuješ, není problém si příslušná data do PC posílat, pokude je ovšem použito hotové řešení, tak asi smůla. Co je velice důležité, je správné umístění teplotního senzoru, jak si do systému zavedeš zpoždění způsobené šířením tepla, tak regulátor rozumně nenaladíš.

Napsal: 22 srp 2016, 10:10
od Victronix
Využij ty poučky a pak dolaďuj dle citu.
Jednou jsem "ladil" 3 sériové PID.
Požadavkem bylo dosáhnout teplotu média na vratu z technologie 2,4°C ±0,2. První PID počítal teplotu média na vstupu do technologie. Druhé PID počítalo požadavek vypařovací teploty chladícího kompresoru, a třetí PID řídil výkon kompresoru.
Ten první PID měl odezvu cca 12 až 15 minut! Ladění jsem prováděl cca. 6-8 hodin. A funguje to už asi 12 let.

Napsal: 22 srp 2016, 20:07
od Celeron
BOBOBO píše:Hlavně je třeba si uvědomit , že přesnost někde končí a někde je hranice . Pokud nevadí kolísání +-5°C , tak si nehrej na Boha , a nechtěj tam dosáhnout +-1°C . Zde bývá hlavní problém při nastavování .

No právě že je potřeba co nejvyšší přesnost, co se dá dosáhnout. On ten přechod pevná - tekutá fáze u plastů je dost prudkej a hodně se v něm mění vlastnosti tý "vláčný nudle", co leze z trysky. Čím je teplejší, tím je řidčí, tím víc teče a dělá za tryskou menší průměr. Čím je studenější, tím je hustější, tím potřebuješ v komůrce vyšší tlak a zase za tryskou se ti nudle expanduje na průměru až o 1/3. Pokud je teplota konstantní, tak stačí jen trochu regulovat tlak a nudle je pak stále stejná. Takže přesnost je dost zásadní.
Zkouším právě podle Nicholse odladit K a T s vypnutou I a D a je to asi na dlouho. Chová se to nějak divně, jak zvyšuju P, tak se mi to nedaří rozkmitat, spíš se ani nedostanu k požadovaný teplotě. Myslel jsem, že zvyšování P je vlastně zvyšování zesílení a ono to vypadá, že se to chová naopak...

Napsal: 22 srp 2016, 20:58
od BOBOBO
Však jo , sestava je nějaká a ty si myslíš , že ji zlomíš , nezlomíš .... já jsem z průmyslu ....

Napsal: 22 srp 2016, 21:31
od Victronix
Celeron > a nemáš to zesílení obráceně? 1/P?

Napsal: 22 srp 2016, 23:45
od Celeron
Victronix píše:Celeron > a nemáš to zesílení obráceně? 1/P?

Já ti nevím, nikde o obrácený hodnotě nepíšou ani v návodu reglu, ani v teorii Ziegler-Nicholse ale chová se to tak.
Zjistil jsem tedy při jakým P sestava přejde z tlumenýho zákmitu do netlumenýho. Je to cca P=12. Perioda kmitu byla kolem 70 sekund. Tak jsem podle tabulky zadal paralelní PID P=6, I=35, D=9. Požadovaná teplota 220 st. Po zapnutí to kmitalo kolem 220 st +8 -13 st. Tak jsem zkusil P na 24 a ejhle, výrazně lepší jeden tlumený kmit +2, -4 a -1st a pak držel 220 a nehnul se. Abych si to potvrdil, nastavil jsem P, I, D na 1 a zapnul autotuning. 20 minut to šrotovalo na obě strany a vyplivlo P=26, I=37 a D=9. Koukal jsem jak puk, já to vlastně při zkoušení zesílení a měření periody trefil téměř přesně. Protože displej ukazuje jen celý stupně, stále to sedí na 220 st.
Ještě jsem zkusil reakci na poruchovou veličinu ve formě PC 120 mm větráku ve vzdálenosti 40 cm připojenýho jen na 5V. Různě jsem si hrál s P a I a zapínal a vypínal větrák. Postupně jsem došel k hodnotám P=23, I=34 a D=9. Při nich teplota najede z cca 180 st bez překmitu na 220 st. Při zapnutí větráku teplota poklesne na 216 a rychle se vrátí na 220st. Pokud vypnu větrák, teplota vyleze na 221-222, spadne na 219 a vrátí se na 220 a drží. Myslím, že to asi není tak špatný, ochazení od větráku je poměrně prudký, v reálu tam tak velkej skok nikdy nebude, granulát do komůrky přichází stále se stejnou teplotou pod konstantníma otáčkama šneku.
Ještě tak vědět, co s tím provede změna D, jestli má cenu nad ní bádat. Mohla by mít ještě nějaký zásadní vliv na odezvu na tu poruchovou veličinu?
Díky všem, kdo poradil.
To BOBOBO: Myslím, že jsem na tom líp, než jsi mě "strašil" :) Přeci jenom to je relativně hmotností malá věc, malý topný výkon a celkem dost rychlá soustava, tak to chodi docela mravně. Horší by byla nějaká mnohatunová mechanická soustava, ta by se dala při použití Ziegler-Nicholse i docela slušně rozmlátit při rozkmitání. :wink:

Ještě jsem se chtěl zeptat regulačních expertů, co to je u digitálního PID reglu:
- Limit Integration Operation Work Range (Proportional band 0-100%, default 25)
- Working Cycle (1-100 sec, default 2)
- Deviation Amendment (-200 to +200, default 0)
Díky!

Napsal: 23 srp 2016, 09:07
od Victronix
Laicky
Limit integrace - integruje se vnitřní proměnná. A její hodnota roste, pokud je rozdíl mezi žádanou hodnotou a hodnotou skutečnou. A rostla by donekonečna (až by někde něco přeteklo). Tak je třeba jí omezit.
Working cycle - Perioda matematického výpočtu.

To třetí nevím, ale řekl bych, že to bude nějaké mrtvé pásmo? Kdy regulátor nic nedělá, pokud se žádaná liší od skutečné v rozmezí této hodnoty.

Napsal: 27 črc 2017, 08:25
od ok1f
Řeším regulaci pece: topení 4kW, prostor cca 1 m^3, teplota max 110 °C.
Regulace Arduino a SSR, zatím ovládám celé topení najednou, je možné ho rozdělit po 1 kW. Metodou pokus-omyl jsem nastavil P=70, I=0,2, D=0 a je to celkem v pohodě pro např. 80°C, ale jen pro tuto teplotu, na jiných se pec přehřívá, nebo naopak nedosáhne nastavené teploty.

Prosím o názor, jestli:

- je možný takový rozdíl mezi P a I
- je možné regulátor vyladit tak, že bude zvládat různé teploty, nebo je běžné pro jinou nastavenou teplotu nastavit i jiné parametry P a I
- potřebuji též nastavovat dobu náběhu teploty, šlo by to parametrem D? Dočetl jsem se, že ten je citlivý na rychlost změny...

Je nutné, aby teplota nepřekmitla přes nastavenou za žádných okoilností

Teď jsem vše o dost vylepšil P=100, I=1, D=1

Napsal: 28 črc 2017, 06:30
od Atlan
Tie hodnoty su abolutne mimo.
Ten algoritmus ti funguje?

Napsal: 28 črc 2017, 07:15
od ok1f
Je to knihovna https://playground.arduino.cc/Code/PIDLibrary.

Zdá se že je funkční, změny P, I, D ovlivní chování tak, jak by se dalo předpokládat.
Nejsem si ale jistý, jestli zadávané hodnoty nejsou třeba 10x větší, než je běžné, pak bych měl nastaveno P=10,0 I=0,1 D=0,1.
Teď to docela chodí, dojede to na nastavenou teplotu (100°C) pěkně zvolna , překmitne o cca 0,4°C a drží. Problém je, že když je nastaveno třeba 50°C tak je překmit větší (2°C).