Svetelektro.com

Svetelektro.com

Meno:
Heslo:
SVETELEKTRO • Rocnikovy projekt - PID regulacia teploty

Rocnikovy projekt - PID regulacia teploty

Problematika ohladne regulácií (PI, PID), ovládania pohonov, odmeriavaní veličín, automatizácie PLC

Moderátori: Drakoush, Moderátori

Rocnikovy projekt - PID regulacia teploty

Odoslaťod romiadam » 13 Feb 2020, 04:43

Zdravim vsetkych,

Riesim rocnikovy projekt, kde som si dal ulohu vyrobit PID regulator teploty (volna tema) s tym ze budem prezentovat ako sa system chova ked je teplota regulovana regulatorom On/OFF a potom ked je aktivny len P regulator, PI egulator a PID regulator.

Uz som tu povodne otvoril temu regulacie otacok motora, ale zmenil som to na teplotu (su tam omnoho pomalsie prechodove javy), tak som zalozil tuto temu aby tema bola totozna s problematikou a pripadne pomohla aj inym v buducnosti ak budu riesit nieco podobne prakticky.

Popis systemu:
Kedze je to len skolsky projek (vyrob to a potom hod to do kosa) tak som s to chcel maximalne zjednodusit, ale aby o splnalo podmienky projektu. Nakolko som uz mal pre MCU naprogramovany snimac teploty DS18B20, ktory zmeria max. +125°C, a zaroven on je uz kalibovany, tak som sa rozhodol ze ho pouzijem v projekte a budem merat teplotu niekde okolo 70-100°C neakeho hlinikoveho bloku. Aby to malo malu tepelnu kapacitu a teplota sa rychlo menila, tak som ten blok zatial zvolil co najmensi (zatial - uvidim ako sa to bude chovat).

20200212_224027.png


Ohrievacie teleso je 24V 40W. Momentalne pouzivam pre to ohr. teleso napatie len 12V. Ten hlinikovy blok je ako vidite miniaturny. Tepelnu kapacitu ma minimalnu.

Regulator sa bude dat ovladat manualne On/Off + nastavenie manuale PWM, alebo v automatickom On/Off mode s tym ze manualne mozem nastavit % PWM pre On a potom v P-PI-PID mode(tam PWM bude riadit regulator sam).

Z programu Labviev (nakolko sme mali ten predmet, tak som ten Labview zakomponoval do projektu) budem posielat v urcitych intervaloch do MCU cez USART udaje ako zelana teplota, % PWM pre manualnu regulaciu vykonu ohrievacieh telesa, parametre PID regulatora (P. I, D), skenovaciu frekvenciu MCU, ako casto ma MCU posielat data do PC (Labview), neake bitove informacie ako napr. Manualna regulacia/Automatcka regulacia, On/Off regulacia, P regulacia, PI regulacia, PID regulacia a podobne, a co este casom pride.

Front Panel.PNG


MCU zase bude posielat do PC udaje o teplote, a este PWM hodnotu nacitanu z MCU registrov pre PWM (potvrdenie ze je tam nastavene co tam ma byt). A este uvidim neskor co sa bude posielat z MCU do PC.

Momentalne som vo faze ze som zpojazdnl komunikaciu MCU - PC cez USART, Uz mi funguje manualne ovladanie a automaticka regulacia On/Off. Dalsi krok je P regulator.

Lenze ja som v tomto novacik a par veci mi nie je jasnych tak sa tu chcem s vami co sa do toho vyznate poradit a opytat na par nejasnosti este skor ako sa pustim do PID regulacie.


Otazky:
1. Ako zmerialm prechodovu charakteristku mojho hlinikoveho bloku? Viem ze tam treba poslat jdnotkovy skok. Ale co je to v tomto pripade? Zvysit PWM o 1%? Alebo pojmom jednotkovy skok sa mysli vseobecne zmena teploty z X do Y? Cize zmena z jednej ustalenej teploty do druhej ustalenej teploty. Teda lubovolne mozem zmenit % PWM?

2. MCU mi bezi na 4Mhz (max 40Mhz) (mam rad ked 1instrukcia trva 1 usek. Dobre sa pocitaju casy, ale ak bude treba nemam problem zmenit frekvenciu MCU). Tak som zvolil PWM na slepo bez znalosti/skusenosti, PWM 14.2kHz a 8-bitove rozlisenie (max 10). Neviem ci to bolo rozumne. Preco? Lebo pri izbovej teplote 21,5°C som nameral nasledovne teploty (dlho som cakal ky sa to ustalilo)
PWM na 1% - 23,5°C
PWM na 2% - 29.5°C
PWM na 3% - 73.°C
PWM na 4% - 95.°C

Potom som zapol malicky vemtilator (40x40mm )a ofukoval nim ten hlinikovy blok (simlacia toho ze by som nahradil ten malicky blok za neaky chladc z PC procesora)
PWM na 1% - teplota hlinikoveho bloku sa nemeni
PWM na 2% - 25.5°C
PWM na 3% - 40.5°C
PWM na 4% - 49.5°C
PWM na 5% - 60.5°C
PWM na 6% - 69°C
PWM na 7% - 76°C
PWM na 8% - 83.5°C
PWM na 9% - 89.5°C
PWM na 10% - 94°C
PWM na 11% - 101°C
PWM na 12% - 107°C

(jeden zaznam na grafe nizsie = 10 sekund)

Test1.PNG


Test2.PNG


Co si myslite o tom to? Nemal by som predsa tam dat ten PC chladic a napajacim napatim pre vyhrevne teleso posunut to do oblati 50%PWM ? Inak povedane, ak chcem regulovat teplotu okolo 80°C, nemal by som mat napatie pre vyhrevne teleo nastavne tak aby pri 50% PWM v ustalenom stave som bol blizko tych 80°C?
Lebo teraz ako to bude PID regulovat pre napr. 80°C? Tam vlastne PID prejde do rezimu On/Off regulacie medzi 76°C (7%) a 83.5°C (8%). Alebo sa mylim? Alebo PID stale prechadza do tzv. On/Off rezimu ked dosiahne zelanu teplotu? Len je otazne ci je to +- 5°C alebo +-2°C alebo +-0,1°C alebo +-0,05°C? (zalezi od rozlizenia PWM?)

Tu je este graf teploty bez ofukovania ventilatorom (aby ste videli ako sa to chova) pre On/Off regulaciu pre 50% a 100% PWM (12V). 1 zanam na grafe = 0,5sek. MCU skenovanie = 200ms

Test4.PNG


Priblizenie
Test5.PNG


Dakujem vam voped za reakcie a pomoc s tymto projektom.
Prepáčte mi za diakritiku a preklepy - väčšinou píšem z mobilu a ENG klavesnice.
(výroky nemenovaného člena fóra:) ...základy elektrotechniky ovládam dokonale, tak napr. taký tyristor neviem ako presne funguje
romiadam
Obrázok používateľa
Ultimate člen
Ultimate člen
Príspevky: 3266
Založený: 09.04.2008
Bydlisko: Wicklow, Irsko
Karma: 15

Re: Rocnikovy projekt - PID regulacia teploty

Odoslaťod Atlan » 13 Feb 2020, 06:35

1. Nemal by si regulovat jednu nastavenu teplotu-z jednoducheho dovodu bude to fungovat pri dobrom algoritme aj na on-off, ale nebude to dobre fungovat ked zmenis teplotu alebo pridas ventilator.
Preto uvazuj o regulacii v urcit rozsahu napr 40 az 90st.
2.pridaj viac hmoty alebo daj vacsi chladic aby si ziskal jnejsiu regulaciu, alebo vacsie rozlisenie ad prevodnika. Proste to urob tak aby si mri minimalnom vykone tam mal o 5st menej ako pozadovana teplota tj35st (ak potrebujes min reg 40st)
Atlan
Obrázok používateľa
Stály člen
Stály člen
Príspevky: 182
Založený: 01.02.2008
Karma: 0

Re: Rocnikovy projekt - PID regulacia teploty

Odoslaťod romiadam » 13 Feb 2020, 09:38

Tych 80st. bol priklad. Ano uvazoval som ze to bude pre neaky rozsah. Tak to urobim napr. ako vravis 40-90 (mozno 50-100). Doplnkove info: Ide mi tu v projekte o prezentaciu PID regulacie nie hladanie algoritmu pre On/Off regulaciu. Ked som znizil PWM na myslim 5% alebo 10%, tak On/Off regulacia to uregulovala pekne na +- 0.5st. okolo zelanej hodnoty.



aby si mri minimalnom vykone tam mal o 5st menej ako pozadovana teplota tj35st (ak potrebujes min reg 40st)


Ok, skusim tam dat neaky chladic taky aby pri cca 4% teplosa sa ustalila okolo 40st. Ak sa ustali na 45st. tak budem regulovat od 45st. (alebo 50st.) A mozem to "nastavovat" aj napatim pre ohrievacie teleso? t.j namiesto 12V PWM tam bude 9V PWM alebo dokonca 5V PWM aj za cenu predlzenia casu ohrevu? Alebo nechat tam tych 12V a zvatsovat hmotu?

3.Aka je idealna zmena v stupnoch pre zmenu PWM pre 1% pre dobru regulciu? Napr. ak pre 4% PWM dosiahnem teplotu 35st. tak aka teplota by sa mala ustalit pri 5% PWM.
Prepáčte mi za diakritiku a preklepy - väčšinou píšem z mobilu a ENG klavesnice.
(výroky nemenovaného člena fóra:) ...základy elektrotechniky ovládam dokonale, tak napr. taký tyristor neviem ako presne funguje
romiadam
Obrázok používateľa
Ultimate člen
Ultimate člen
Príspevky: 3266
Založený: 09.04.2008
Bydlisko: Wicklow, Irsko
Karma: 15

Re: Rocnikovy projekt - PID regulacia teploty

Odoslaťod breta1 » 13 Feb 2020, 11:15

Není správné, abys dosáhl maximální teploty uváděného tělesa 95 st. už při malé střídě 4%.
Připoj topné těleso přímo na regulovaný zdroj a zjisti, při jakém napětí U se ustálí teplota na těch požadovaných 95 st uvedeného bloku.
A pak to napětí zvyš třeba o 20% a tuto hodnotu napětí použij pro PWM do topného tělesa v bloku.
Samozřejmě pokud ale bude v zadání, že se teplota tělesa má nastavit co nejrychleji na určitou hodnotu, pak to napájecí napětí musí být vyšší a pak při maximu teploty bude střída malá.
breta1
Obrázok používateľa
Power user
Power user
Príspevky: 8961
Založený: 06.02.2009
Bydlisko: brno
Karma: 61

Re: Rocnikovy projekt - PID regulacia teploty

Odoslaťod romiadam » 13 Feb 2020, 12:37

Asi sme sa nepochopili.

Atlan mi radil aby som pri napr. 4% PWM mal ustalene napatie cca 30st. (nie maximum ako ty pises, breta). To zabezpeci to, ze ked nastavimzelanu teplotu na 40st., PWM PWM vyskoci na 100% a postupne sa ustali niekde okolo 5-8 %.

Ak by som to tak urobil ako pises breta1, tak sa to cele bude zohrievat cca 20-30 min a ked to trosku ofuknem ("externe rusenie")
tak sa to uz nedokaze zohriat lebo to napatie bude male na to.

Nemam nic udane. Cela tema je zadana len ze mame uribit ptojekt kde bude HMI (moze to byt aj PC displej), a nech tam je regulacia, alebo kamerova kontrola a navhnut neaky program na detekciu ci je to okalebo nie.

Takze to ci pise Atlan dava logiku. Len este nrviem ci je to tych 4% akurat alebo to radsej posunut na 10%

A este neviem ci pri zmene PWM o 1 % o kolko sa ma zmenit teplota. Ci o 1st., o 5st.,10st. alebo o viac ?
Prepáčte mi za diakritiku a preklepy - väčšinou píšem z mobilu a ENG klavesnice.
(výroky nemenovaného člena fóra:) ...základy elektrotechniky ovládam dokonale, tak napr. taký tyristor neviem ako presne funguje
romiadam
Obrázok používateľa
Ultimate člen
Ultimate člen
Príspevky: 3266
Založený: 09.04.2008
Bydlisko: Wicklow, Irsko
Karma: 15

Re: Rocnikovy projekt - PID regulacia teploty

Odoslaťod pin » 13 Feb 2020, 17:51

Efektívna hodnota napätia U spínaného pomerom pwm = t/T je Uef = U*√(t/T). Keď teraz napájaš to vykurovacie teleso s konštantným odporom R nejakým výkonom P1 = U²*pwm1/R, po nejakom čase sa teplota chladiča ustáli a bude oproti teplote okolia o Δth vyššia. Z toho sa dá približne zistiť tepelný odpor medzi chladičom a okolím, lebo Δth1 = P1*Rth. Ak sa podmienky ochladzovania nezmenia, bude Rth rovnaké aj pri vyššom príkone P2 = U²*√pwm2/R, a teda Δth2 = P2*Rth. Z toho plynie:

Δth2/Δth1 = P2/P1 = pwm2/pvm1;

Ak napr. pri pwm1=4% zmeriaš oteplenie 2°C, pri pwm2=5% by malo vzrásť 1,25x na 2,5°C. Vyskúšaj, či nekecám.
pin
Obrázok používateľa
Power user
Power user
Príspevky: 2274
Založený: 09.05.2009

Re: Rocnikovy projekt - PID regulacia teploty

Odoslaťod romiadam » 14 Feb 2020, 01:53

Dakujem za reakcie.
Dnes som sa s tym este pohral a zistil som vela nedostatkov co vnieslo do totoho problemu celkom iny pohlad

Zacnem s tym ze ja som v Labiew mal nastaveny bezec pre PWM od 0-100%. Lenze PWM som mal 8,14 bitovy (hodnota pre PWM register (0-283). Takze skok o 1% v labview vlastne bol skok o 3-4 hodoty v PWM registri, takze teplota sa menila krokovo asi po 1,5-2,5°C.Uz som to prerobil a bezec mam od 0-283. Mozno to prerobim na 9 bitovy PWM.

Dalsi vec je ta, ze som na vyhrevne teleso pripojl len 5V zdroj a
pri PWM 5% (hodnota PWM registra 14) sa teplota ustalila na 49°C,
pri PWM 6% (hodnota PWM registra 16) sa teplota ustalila na 54°C
pri PWM 7% (hodnota PWM registra 19) sa teplota ustalila na 49°C

Ked som nastavil PWM na 100% teplota mi vyletela na 80°C za 120 sekund. Pri 80°C som vypol PWM na 0 a teplota sa ustalila na 83°C a po par sekundach zaala padat.

Este uvidim ci pouzijem tento 5V zdroj, alebo 9V alebo 12V. Mozno ak zvysim PWM na 9 alebo 10 bitov, bude to OK aj s 12V zdrojom. Zajtra vyskusam.
Prepáčte mi za diakritiku a preklepy - väčšinou píšem z mobilu a ENG klavesnice.
(výroky nemenovaného člena fóra:) ...základy elektrotechniky ovládam dokonale, tak napr. taký tyristor neviem ako presne funguje
romiadam
Obrázok používateľa
Ultimate člen
Ultimate člen
Príspevky: 3266
Založený: 09.04.2008
Bydlisko: Wicklow, Irsko
Karma: 15

Re: Rocnikovy projekt - PID regulacia teploty

Odoslaťod romiadam » 14 Feb 2020, 09:15

EDIT (oprava textu)
Takze skok o 1% v labview vlastne bol skok o 3-4 hodoty v PWM registri, takze teplota sa menila krokovo asi po 1,5-2,5°C


Tam ma byt po cca 5°C. To este s tym povodnym PWM, kes som memil PWM po 1% v Labview.
Potom ked som ten Labview program prerobil, ze teraz natavujem priamo hodnotu PWM registra od 0-283 tak teplota sa meni bez ofukovania po cca 1,5-2,5.°C

Teraz uz mam "problem" s DS18B20, lebo rozlisenie tam mam len 0.5 °C. Asi to prerobim na rozlisenie 0.25 alebo 0.125°C.


Mam dalsiu otazku.

Ako mam menit PWM vzhlaom na velkost reg odchylky?

Napr. ak zelana hodnota je 80°C tak od 20°C po napr. 50°C mam teleso napajat plnym vykonom a potom aktivovat Kp * reg odglhylka alebo hned od zaciatku?

A ak zelana hodnota bude mensia ako skutocna (teplota vybehne nad nastanenu hodnotu), tak PWM sa ma vypnut na nulu (rychlo bude klesat teplota) alebo budem postupne pomaly znizovat PWM hodnotu (v zavislosti od hodnoty Kp a reg. odchylky) ?

Inak povadane, ak bez tegilacie pri 10% PWM sa teplota ustali na napr. 80°C, tak potom s regulaciou ked zelana hodnota bude 80°C a skutocna vybehne na 85°C, tak mam PWM vypnut na nulu, alebo postupne znizovat od 10% po nulu vzavislosti od Kp a reg. odchylky?
Prepáčte mi za diakritiku a preklepy - väčšinou píšem z mobilu a ENG klavesnice.
(výroky nemenovaného člena fóra:) ...základy elektrotechniky ovládam dokonale, tak napr. taký tyristor neviem ako presne funguje
romiadam
Obrázok používateľa
Ultimate člen
Ultimate člen
Príspevky: 3266
Založený: 09.04.2008
Bydlisko: Wicklow, Irsko
Karma: 15

Re: Rocnikovy projekt - PID regulacia teploty

Odoslaťod maskrtnik01 » 14 Feb 2020, 21:27

Ja by som keď je napríklad +-20 od želanej išiel podľa PID, nižšia 100%, vyššia 0%.

Podľa toho akú to bude mať dynamiku, a ako vlastne PID rátate. Teóriu som už mal najmenej dva semestre, žial praktické zadanie žiadne. No ale taký mám na to pohľad.
maskrtnik01
Obrázok používateľa
Ultimate člen
Ultimate člen
Príspevky: 1559
Vek: 23.27
Založený: 20.07.2010
Bydlisko: okolie KE
Karma: 7

Re: Rocnikovy projekt - PID regulacia teploty

Odoslaťod peterple » 14 Feb 2020, 22:07

Tak postupne na čo si spomeniem.
  1. Ak máš tak výkonný akčný člen (40W) že teplota vyletí nad 100°C tak si si zle zvolil snímač teploty. Isto dá sa to obísť ako si to urobil ty, teda znížil si výkon akčného člena. Tiež si mohol zväčšiť sústavu napríklad tam dať nádobu s vodou. Zvyčajne je ale sústava daná a automatizér navrhuje snímače, regulátor a akčné členy. Takže ak sústava je daná. A dajme tomu že aj akčný člen je daný, tak si potom zvolil nevhodný snímač. Tepelné sústavy sú z princípu statické. Teda po určitej dobe sa vždy ustália na nejakej hodnote. V toto prípade to môže byť aj 200 - 300°C Takže cesty sú dve a vybral si si opäť tú ľahšiu
  2. Jednotkový skok. Si môžeš opäť urobiť hocijaký. Ale v tomto prípade prečo nie z 0 na 100%. A nameriaš peknú prechodovku a zistíš aj limity sústavy. V tomto prípade to sústava bez problémov znesie. Ten hlinik sa neroztopí. Ak kúriš odporom tak tam si treba overiť akú má max dovolenú teplotu.
  3. Aby to nebolo len nejaké niečo k ničomu tak v tomto momente ma hneď napadá reálne využitie. Celé výhrevné teleso sa dá do silikónovej trubičky do ktorej sa bude fúkať vzduch z kompresora (asi cez redukčak). Ak dáš tych 300°C tak máš horkovzdušnú pájkovačku vlastnej konštrukcie.
  4. Kedže ideš robiť PID tak zabudni nejaké hnanie na 100% a pri prekročení znova na vypnutie. To je dvojpolohová regulácia a v takom prípade to PWM robí vlastne ten dvojpolohový regulátor.
  5. Ty chceš spojitú reguláciu. Teda ty si tam akože ideš nastavovať ten výkon spojito od 0 do 40W. To sa dá samozrejme robiť niekoľkými spôsobmi - reguláciou napätia, alebo reguláciou prúdu (teoreticky aj reguláciou odporu). No a ty si si vybral reguláciu napätia. Lenže spojité menenie napätia by síce šlo. Urobiť 40W reguláciu napätia žiadny problém (regulovateľný, stabilizovaný zdroj napätia tisíc krát otrepaná vec aj na tomto fóre). Lenže to má trochu veľa súčiastok a je to dosť nehospodárne. Čo by ti okamžite na obhajobe asi vytmavili ekologicky zmýšľajúci oponenti. Takže si si pomohol takým malým trikom. Tú spojitú reguláciu výkonu (napätia) robíš pomocou PWM. Čo samozrejme nevadí ak je časová konštanta tej sústavy s PWM oveľa menšia ako je časová konštanta sústavy. (aspoň 10x, lepšie 100x). To pri f 14kHzz určite je. Takže na to môžeš pozerať ako na analógovú vec čo má na vstupe číselká od 0 po 255 (v prípade 8 bit) a na výstupe výkon od 0 po 40W či koľko. Pin ti aj odvodil podľa akej závislosti ten výkon stúpa. Ale to je tebe viac menej jedno. Od toho tam je regulátor aby si s tým poradil.
  6. P regulátor je y= K*e =K*(w-x). A to je jediný výpočet čo tam môžeš robiť. Žiadne iné špekulácie. Samozrejme ak ti vyjde záporné číslo tak tam vrazíš 0 ak viac než 255 tak 255. No a potom skúšaš nájsť nejaké K pri ktorom by to aspoň nejako regulovalo. Pomeriaš zopár regulačných dejov a porovnáš s tým čo ste sa o P učili.
  7. Potom skúsiš PI, PD, a PID
  8. desatinné čísla sa dajú riešiť dvomi cestami. Tak ako si mi písal v SS alebo použi float. Predpokladám že nie si masochista a nepíšeš to v ASM ale v C. Aj najblbší MCU čo poznám (8051) z mojej éry nebude mať problém to vypočítať.
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.
peterple
Ultimate člen
Ultimate člen
Príspevky: 1990
Vek: 53.25
Založený: 25.06.2013
Bydlisko: Krajné
Karma: 53

Re: Rocnikovy projekt - PID regulacia teploty

Odoslaťod romiadam » 15 Feb 2020, 00:56

maskrtnik01:
Aj ja som tak neako rozmyslal, len neviem ako urcit tu hranicu. Dnes som nad tym uvazoval a myslim si, ze ta hranica zavisi aky vykon sa pusti do ohrievacieho telesa (ci to vyhrevne teleso budem napajat 24V PWM, alebo len 12V PWM alebo 9V PWM popr. len 5V PWM). Mozno urobim obe moznosti.


peterple:
dakujem za tak rozsiahlu reakciu. Tie informacie mi pomohli.

Len upresnim informacie:
1. Ja som to ohrievacie teleso kupil z ebay
https://www.ebay.ie/itm/3D-Printer-Extr ... 2749.l2649
Bolo maleho vykonu a na 24V. S mensim vykonom som nenasiel. Odpor som pouzit nechcel. To je original ohrievac do neakej 3D tlaciarne. Nie je to odpor. Snimac teploty DS18B20 som zvolil preto, lebo uz k nemu mam naprgramovane rutiny pre MCU, mam ich par kusov v sufliku a nechcelo sa mi to robit cez termoclanok (aj ked mozem ak mi zostane cas pred terminom odvzdnia, myslim ze termin mame v Maji. Neviem ako dlho to cele budem prezentovat, aky tam bude vyhradeny cas, preto som nechcel ohrievat nadobu s vodou, aby to netrvalo dlho. Aby sa teplota ustalila co najrychlejsie (radovo za par minut). Aby som tam mohol prezentovat ako sa chova On/Off regulator, P regulator, PI rgulator, PID regulator a mozno aj PD reglator. To uz tu mam hned 5 prezentaci.
Tema a vsetko okolo toho je volna. Mam "volnu ruku" vo vsetkom. Takze si to mozem prisposobovat ako chcem a robit to metodou "najmensieho odporu" - zjednodusovat. Hlavne nech tam je regulacia. No a kedze ja uz mam rutiny pre ten DS18B20, tak preco ho nepouzit. Teda si zvolim zadanie ze potrebujem regulovat nieo napr. okolo 80°C. A kvoli tomu snimacu (DS18B20) ja ani nechcem is nad 100°C. Napriklad v robote aplikujeme lepidlo zohriate na 35°C aby bolo redsie a viac toho lepidla preslo cez tenku trysku (tam je dana hruba trysky a 6 bar je este malo na pretlacenie studneho lepidla, preto sa zohrieva lepidlo). Tryska lepidla je v malom hlinikovom bloku 8x5x1 cm ktorom je presne take vyhrevne teleso ako som kupil, len myslim s ze je na 110V a je tam aj termoclanok. A reguluje to Omron regulator. Takze aj ten moj hlinikovy blocek je nieco podobne ako mame v robote, len je to miniaturne. Ale mozno ho trosku zvacsim.

2. Vcera som uz pokusne robil rozne jednotkove skoky (nevedel som ze ci je to OK, ci mozem sustavu merat na rozne jednotkove skoky) a zistil som ze sustava ma + - stale rovnaku casovu konstantu. Z toho som vlastne zistil, ze presne ako pises mozem robit rozne jednotkove skoky. Grafy neboli casovo presne, takze aj odcitanie casovej konstanty bolo ako pisem + - . Ale tych 63.2% z ustalenej hodnoty sa dosiahlo okolo 200-230 sekund (casova konstanta).

3. Kludne to moze byt hocico. Nechce sa mi este nieco konstruovat. Uz z nas studentov (my sme vekovo od 25 po cca 50) vacsina "si skriabe hlavu" ze nevedia ako to vsetko stihnu a rozmyslaju o odklade projektu na dalsi rok po skuskach, lebo si zvolili moc komplikovane projekty. Chodit do roboty, po veceroch pocuvat v PC nahrate prednasky vo forme power pointu), pred skuskami sa ucit, zena, 2 deti, robota okolo domu... mam toho dost. A horkovzdusnu pajkovacku uz mam. Kupil som ju tu na fore tu BAKU z ciny. Niekto to tu vtedy organizoval.

4. To viem, to je ta regulacia On/Off. Urobim aj to (to mi uz pekne funguje). Ak budu chciet tak im to tiez odprezentujem ak bude cas. Ale mysim si ze budu zvedavy skor na tu PID regulaciu.

5. Ja tu regulaciu napatia chcem robit od zaciatku cez PWM (riadena z MCU) Nechcel som ju robit spojito. Presne tak ako si to popisoval v druhej casti tohoto bodu. Len nerozumiem co je to
časová konštanta tej sústavy s PWM
. Ako sa to meria/pocita?

6. Ten vzorec ten poznam. Informacie v tomto bode mi najviac pomohli. Je mi jasne ze ak K=1 e=0 tak y=0 PWM=0%.

Ale neviem ako nastavit PWM
ak napr. K=1 e=1 tak y=1. Ak je PWM 8 bit (0-255) tak PWM register nastavim na binarnu hodnotu 1 => PWM =0.39% ? Tak to mam robit?
Dalej
ak K=1 e=10 tak y=10 PWM register = 10 => PWM=3.9% Tak?
Zvacsim K=50
K=10, e=2, => y=20 PWM register = 20 => PWM=7.8%
K=10, e=10, => y=100 PWM register = 100 => PWM=39.21%
K=10, e=25, => y=250 PWM register = 250 => PWM=98.03%
K=10, e=35, => y=350 PWM register = 255 => PWM=100.% (do PWM registra sa neda zapisat hodnota 350)
takto sa to robi?

AK budem potrebovat nastavit K medzi dve hodnoty napr 10 a 11 tak v Labview na paneli zadam 10.5, tam to nie je problem, este v Labview to vynasobim s cislom 10 a do MCU poslem cislo 105. K=105, e=25, y=2625, "y" vydelim cislom 10 a dostanem 262 a to nastavim do PWM registra?
Takto si to predstavujem. Slo by to tak? Je to spravne? Alebo sa to ma robit inak?

8.
Predpokladám že nie si masochista a nepíšeš to v ASM ale v C.

Nakolko C neovladam a neviem si najs na to cas (uz aj spravnu literaturu mam pozhananu, vsetko je ready, uz to len precitat), tak Ano, Pisem to v ASM a som "masochista" :mrgreen: . Co ine mi ostava, ked to C neovladam. Na ruhej strane ma to bavi ak "mam kazdy bit pod kontrolou" samozrejme pokial sa to da pisat v ASM :mrgreen:.
Prepáčte mi za diakritiku a preklepy - väčšinou píšem z mobilu a ENG klavesnice.
(výroky nemenovaného člena fóra:) ...základy elektrotechniky ovládam dokonale, tak napr. taký tyristor neviem ako presne funguje
romiadam
Obrázok používateľa
Ultimate člen
Ultimate člen
Príspevky: 3266
Založený: 09.04.2008
Bydlisko: Wicklow, Irsko
Karma: 15

Re: Rocnikovy projekt - PID regulacia teploty

Odoslaťod peterple » 15 Feb 2020, 01:29

Ok ty vieš čím môžeš hýbať a čo je konštanta. Priohnuť sa to dá tak ako ti to najviac vyhovuje.

5. Časová konštanta PWM
To je čas za ktorý sa po zmene PWM ustáli výstupná veličina na novej strednej hodnote. Teda zmeníš PWM napr z 10% na 80%. Ako rýchle sa stredná hodnota napätia ustáli na novej hodnote napätia? Teda ak by si tam dal idealny merač napätia tak ako rýchle by si zistil novú strednú hodnotu?. Asi dosť rýchle keď to PWM je 14kHz. V podstate za jednu periódu už tam je nová stredná hodnota.

6. asi si myslel zmeniť K z 1 na 10 podľa výpočtov čo nasledujú.
Áno tak som to myslel. P regulátor nemôže robiť nič iného len prenásobiť regulačnú odchýlku jeho zosilnením. A to dá akčnú veličinu. Z toho vyplýva jeho základná vlastnosť že nemôže nikdy regulovať na nulovú regulačnú odchýlku. Lebo 0*K je 0 a teda nič nekúriš.
Ale to si vyskúšaj prakticky a zbadáš ako veľkosť K vplýva na veľkosť regulačnej odchýlky a možno aj na stabilitu regulačného deja.
Lebo čím väčšie K tým menšie e stačí na vytvorenie potrebnej akčnej veličiny y. Lenže ako vždy je niečo za niečo.
No neviem či tam budeš potrebovať 10.5 ale ak áno tak ako si to napísal to v asm pôjde urobiť. Ak ti teda nerobí problém aritmetika na 16bitoch (plus minus je lopata - dve inštrukcie, násobenie delenie už je horšie ale sú na to rutiny už aj hotové ak tomu človek nerozumie do podstaty veci)
8. Nuž to sa už dnes moc nevidí. V C máš tiež kontrolu nad každým bitom a výpočty čo ty budeš asi programovať hodiny by si v C odbil jedným riadkom za 10 sekund. Ale máš moje sympatie. Ja som podobného razenia.
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.
peterple
Ultimate člen
Ultimate člen
Príspevky: 1990
Vek: 53.25
Založený: 25.06.2013
Bydlisko: Krajné
Karma: 53

Re: Rocnikovy projekt - PID regulacia teploty

Odoslaťod romiadam » 15 Feb 2020, 12:00

Super, Diki moc za informacie. Dnes prsi, vonku sa neda nic robit, tak to poobede naprogramujem a dam sem par gafov.

Ano na aritmeticke operacie 16bit, 24bit mam rutiny z internetu.

Ja viem ze C je jednoduchsie, myslim ze sa matematicke operace zapisuju ako c=a+b, c=a-b, c=a*b,c=a/b a toto je "malina" oproti ASM a C si vygeneruje kod, kdez to ja ten kod musim poskladat v ASM, a ked sa to naucim, tak sa budem na sebe "smiat" ze som robil veci v ASM, len sa k tomu neviem dostat. :D
Raz na to pride.
Prepáčte mi za diakritiku a preklepy - väčšinou píšem z mobilu a ENG klavesnice.
(výroky nemenovaného člena fóra:) ...základy elektrotechniky ovládam dokonale, tak napr. taký tyristor neviem ako presne funguje
romiadam
Obrázok používateľa
Ultimate člen
Ultimate člen
Príspevky: 3266
Založený: 09.04.2008
Bydlisko: Wicklow, Irsko
Karma: 15

Re: Rocnikovy projekt - PID regulacia teploty

Odoslaťod peterple » 15 Feb 2020, 14:22

A čo je na tom C problém? Veď to je len if, for, while, do, switch. Asm je v dnes dobré len k tomu aby si pochopil ako to v MCU šrotuje. Keď máš predstavu tak pochopiť C je podľa mňa oveľa jednoduchšie ako bez toho. Ak to prirovnám k šoférovaniu tak je samozrejme dobré vedieť čo je v motore, prevodovke, ako to pracuje ale k šoféronaniu sú to mnohé nepodstatné veci. Oveľa dôležitejšie je vedieť fyziku aby si si nemyslel že všelijaké fičúry ta udržia na ceste za každých okolností.

To iste v programovaní, ak si niekto myslí že sa nikdy nemôže tá hláška objaviť tak neovláda "programátorskú fyziku" = informatiku.
Kód: Vybrať všetko
int a;
a = abs(a);
if (a<0) printf ("chyba ktora nemoze nastat");

Je jedno či bude programovať v asm, C, alebo JAVA, tak za určitých nepriaznivých okolností dopadne rovnako ako šofér čo nepočul o odstredivej sile a o ťažisku.
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.
peterple
Ultimate člen
Ultimate člen
Príspevky: 1990
Vek: 53.25
Založený: 25.06.2013
Bydlisko: Krajné
Karma: 53

Re: Rocnikovy projekt - PID regulacia teploty

Odoslaťod maskrtnik01 » 15 Feb 2020, 16:23

Síce offtopic, ale poprosil by som vysvetlenie, kedy uvedený kód vypíše tú hlášku.
maskrtnik01
Obrázok používateľa
Ultimate člen
Ultimate člen
Príspevky: 1559
Vek: 23.27
Založený: 20.07.2010
Bydlisko: okolie KE
Karma: 7

Re: Rocnikovy projekt - PID regulacia teploty

Odoslaťod pin » 15 Feb 2020, 17:24

Niečo medzi druhým a tretím riadkom kódu musí zmeniť hodnotu tej premennej. Aké sú tu možnosti?
pin
Obrázok používateľa
Power user
Power user
Príspevky: 2274
Založený: 09.05.2009

Re: Rocnikovy projekt - PID regulacia teploty

Odoslaťod peterple » 15 Feb 2020, 18:23

pin: nie tu nejde o problém s atomickostou.
Skúste si nasledovný kód
Kód: Vybrať všetko
int a=INT_MIN;
a = abs(a);
if (a<0) printf ("chyba ktora nemoze nastat");
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.
peterple
Ultimate člen
Ultimate člen
Príspevky: 1990
Vek: 53.25
Založený: 25.06.2013
Bydlisko: Krajné
Karma: 53

Re: Rocnikovy projekt - PID regulacia teploty

Odoslaťod maskrtnik01 » 15 Feb 2020, 18:32

Overflow pri signed int?
maskrtnik01
Obrázok používateľa
Ultimate člen
Ultimate člen
Príspevky: 1559
Vek: 23.27
Založený: 20.07.2010
Bydlisko: okolie KE
Karma: 7

Re: Rocnikovy projekt - PID regulacia teploty

Odoslaťod mac26 » 15 Feb 2020, 20:24

16b int ma rozsah od -32768 do 32767. Ta 1 najmensia hodnota sposobuje problem
mac26
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1107
Založený: 01.02.2010
Bydlisko: Martin
Karma: 7

Re: Rocnikovy projekt - PID regulacia teploty

Odoslaťod pin » 15 Feb 2020, 21:23

Dobrá pasca! 8O
pin
Obrázok používateľa
Power user
Power user
Príspevky: 2274
Založený: 09.05.2009

Ďalšia

Naspäť na Automatizácia

Kto je prítomný

Užívatelia prezerajúci si toto fórum: Žiadny registrovaný používateľ a 1 hosť.

Forums ©
Autor stránky je Ondrej Závodský(zawin), o graficky design sa stará Ľuboš Fabo(BUFU).

TOPlist

Powered by Copyright © UNITED-NUKE CMS. All Rights Reserved.
Čas potrebný k spracovaniu stránky 0.79 sekúnd