[ gocha990 @ 11.08.2015. 10:32 ] @
Ljudi imam jednu banalnost pa me zanima samoda mi potvrdite sta nije uredu ako nesto nije uredu,izvinjavam se unapred zbog crteza skicirano je u paintu.

[ bogdan.kecman @ 11.08.2015. 11:25 ] @
sta pokusavas? zero crossing detekciju da uradis ili? samo 2xR tamo pre opto-a ti i nije dovoljno treba dodas bar jos jednu diodu na red sa otpornikom mada mnogo bolje grec
[ gocha990 @ 11.08.2015. 12:43 ] @
Da za zero crossing,otpornicu su od 15k 2w,ako dodam diodu ili grec onda nece valjda biti to to?
E sada zar ne bi trebalo da stavim sa emitera signal da mi ide?
[ bogdan.kecman @ 11.08.2015. 12:56 ] @
mcu strana je ok, imas week pull up koji opto povuce na gnd to je ok, ne valja ti deo prema 230VAC, posto ti celu jednu poluperiodu imas negativan napon na ledici, fora je da turis grec tako da imas 100Hz impulse i vatas svaki zero crossing (100 komada u sekundi) sa druge strane ... moze sa jednom diodom pa da na mcu radis prepoznavanje 0->1 i 1->0 pa te ivice detektujes kao zero crossing ali bez diode je smor posto tuces negativan napon na opto i ima crkne vrlo brzo
[ foxhunter1 @ 11.08.2015. 13:24 ] @
Citat:
bogdan.kecman: ... moze sa jednom diodom pa da na mcu radis prepoznavanje 0->1 i 1->0 pa te ivice detektujes kao zero crossing ali bez diode je smor posto tuces negativan napon na opto i ima crkne vrlo brzo

Nece crkne vrlo brzo, ima crkne vrlo ODMA'. :)
[ gocha990 @ 11.08.2015. 13:46 ] @
Foxhunter nije crklo probav ga,ali imam problem jer mi opto nije zero crossing H11AA1.
Zar u ovo slucaju kad bih stavio grec diodica ne bi svetlela tokom cele poluperiode?
[ bogdan.kecman @ 11.08.2015. 13:53 ] @
ne treba opto da bude zero crossing ako hoces da radis detekciju tako
kako si nacrtao, samo dodaj grec pre opto-a (obavezno bez konda!!)

DA treba da svetli ledica tokom svake poluperiode .. ti na mcu hvatas
trenutak kad je u nuli, koji se desava izmedju svake poluperiode, dakle
100x u sekundi ...

ono sto je zgodno je da turis neki komparator posle opto pre mcu ali
zavisi koji mcu koristis ne mora
[ mikikg @ 11.08.2015. 14:15 ] @
Optocoupleri i ne postoje sa zero-crossing!
Postoje opto-triaci ali to je nesto sasvim drugo.

Prepostavljam da ti je cilj da radis nekakvu regulaciju sa faznim zasekom, zavisno od zeljene preciznosti regulacije valjalo bi da imas i precizan detektor koji je obicno resavaju kao naponski komparatori sa nekim OP.

Druga stvar, ne moras da radis uvek sa 230VAC, iskoristi recimo isprvaljac od tog MCU ako je realizovan sa klasicnim transformatorom, pratis napon u sekundaru, to je potpuno isto samo baratas manjim naponima i jos si galvanski izolovan od mreze!
[ gocha990 @ 11.08.2015. 14:22 ] @
Mikikg upravosam to i probao ali,kada sam probavao onu gornju varjantu napon mi je bio oko 30V(start da kazem),e sada ova varjanta sa grecom i napon mi je 15V... ?http://static.elitesecurity.org/cry.gif
[ bogdan.kecman @ 11.08.2015. 14:46 ] @
zavisi cime i kako meris :D, dal rms ili p2p etc ..

[ mikikg @ 11.08.2015. 14:49 ] @
Tesko mogu da ispratim tako kada mi kazes neke napone, to su AC signali i dok ne vidim oscilogram pre i posle opto mogu samo da nagadjam sta se desava.

BTW: ako nemas osciloskop a "uhvatio" si se faznog zaseka sa MCU, u velikom si problemu!
[ macolakg @ 11.08.2015. 15:48 ] @
Taj optokapler treba da bude LTV814 (824, 844) koji ima na ulazu dve antiparalelne LED, gde obe osvetljavaju tranzistor.

LTV814 je inače namenjen baš za AC aplikacije jer mu ne treba nikakav grec ispred već samo otpornik.
Takođe je vrlo osetljiv i dovoljno mu je svega 1mA za sasvim solidan rad.
Ujedno bez ikakvih problema podnosi čitavih 50mA u vrhovima polutalasa i to kroz obe LED.

To znači da mu je sasvim regularan signal za raspone struja LED od najmanje 1:50, a iz prakse znam da je to drastično više i da se to može udesiti kolektorskim otpornikom fototranzistora.

Sa LTV814 se ZC detekcija može bez frke izvesti za raspone napona veće od 1:150 sa samo jednim predotporom ispred obe LED i sa nekih 10-tak K na kolektoru foto tranzistora.
Dakle, levo i desno od teoretskog ZC je vidljiv ugao koji odgovara naponima oko 2-3V, odnosno oko 1.5 ugaonih stepeni približno. To je sasvim dovoljno za fazni zasek jer je ugao od 1.5 stepeni sasvim nebitan sa obe strane.


Kome pak treba baš precizna info o prolazu kroz nulu, jedano od načina za izvođenja toga je u prilogu.

Op-amp ima standardno napajanje od +-15VDC, i izlaz iza 10K se mora klampovati ka napajanjima MCU sa dve šotki diode.

Trimerpotom se može veoma precizno namestiti da tranzicija na op-ampu bude strogo poravnata sa stvarnim ZC u mreži, uzimajući čak u obzir i samo kašnjenje zbog trešholda ulaza MCU.

Filter na ulazu op-ampa obezbeđuje vrlo visoku imunost za frekventne komponente koje nisu 50Hz.
[ gocha990 @ 11.08.2015. 15:55 ] @
Bogdane nisam te bas razumeo? http://static.elitesecurity.org/cry.gif
Mikikg druze uvek mi procitas misli skrcana mi je sonda na osciloskopu i to me ebe strasno jer ni ja ne znam sta se tu desava sa signalom...
[ bogdan.kecman @ 11.08.2015. 16:04 ] @
nema sta preterano da razumes, ako meris sa dmm pitanje sta meris, da li je truerms ili meris peak to peak ili .. bez osciloskopa je pitanje sta meris

pogledaj voo sto je macola napisao, to je mnogo razumljivije :D
[ gocha990 @ 11.08.2015. 16:12 ] @
Lol bogdane,da merim sa dmm,e sada me bune te velike vredosti napona...
Moracu da vidim nesto sa oscilokopom...
iskreno ja sam slabo iskusan,,i jos sam u samom pocetku tako da ovo sto je macola napisao samo do pola razumem ... Opto H11AA1 ima takodje dve antiparalelne diodice i ffc 60mA,e sada ovaj bogdanov predlog je itekako jasan ali mi te k sada nista nije jasno,ja samo znam da nista ne znam....
Al se necu predati...
[ bogdan.kecman @ 11.08.2015. 16:28 ] @
ako tvoj opto ima antiparalelne (nisam gledao datasheet gledao sam tvoju semu na kojoj nema) onda ti ne treba grec..
ali bez osciloskopa ces tesko da se snadjes.. moze al .. ovo sto ti je macola zakacio je mnogo iskusnija fora
[ gocha990 @ 11.08.2015. 17:55 ] @
Sve te ja bogdane razumem i za diode i za grec i sve sam ja to predpostavio ali prepravke kao macola sto je reko trenutno ne moguda izvojim,pokusacu nekako da se docepam nekog osciloskopa...
[ bogdan.kecman @ 11.08.2015. 18:02 ] @
tako kako si stavio samo sa otpornicima bez greca (ne treba grec ako
imas 2 diode tamo unutra) koji ti je problem? sta vidis na mcu? da li
okidas interapt ili citas u petlji?
[ mikikg @ 11.08.2015. 18:23 ] @
Moraces osciloskop tj sondu da osposobis.
Uzmi privremeno zbudzi nekako sondu 1:1 ili 1:10 sa par otpornika i parcetom koaksialca + BNC.
Tacnost i brzina sonde za ovu potrebu ti nije toliko bitna, samo da vidis oblike signala koji ulaze u MCU. U medjuvremenu pazari negde sondu, trebaceti podosta tokom rada na tom sklopu.

Ako imas counter/frekvencmetar, moze i sa njim ali ti i tu treba opet ista sonda :)

Sto se tice programa, najbolje je da se radi preko interapta, sve ostale varijante su vrlo diskutabilne.
Jednostavno mora da se "okine" rutina kada signal prodje tacno kroz nulu pa od tog momenta odbrojavas neki tvoj counter i poredis sa nekom zadatom vrednoscu i kada te vrednosti budu jednake ili vece palis izlazni triak ili solid-state relej koji pod obavezno ne smeju da imaju interno ZC kolo (u suprotnom ne mozes da kontrolises fazni zasek).

[Ovu poruku je menjao mikikg dana 11.08.2015. u 19:35 GMT+1]
[ gocha990 @ 11.08.2015. 20:14 ] @
Uff to za sondu je komplikovano za mene sada jer ne znam kako se pravi,tj nisam ulazio u sustinu a sada imam i dosta posla tako da to msm nije najbolje resenje...
Vozi mi trijak naravno bez ZC,uf pogledacu program,ljudi hvala vam puno,ja sam jos dosta nov u ovome i povrsan takoda konfuzija xD
[ mikikg @ 11.08.2015. 21:21 ] @
Ako hoces da ti pomognemo daj malo vise detalja o celom uredjaju:

1) sta ti je izvrsni element, grejac? Koje snage su u pitanju?
2) koji tip regulacije planiras, PID?
3) jel imas jos neke senzore, davace temperature?
4) koji procesor (MCU) koristis?
5) u kom jeziku pises program i koji kompajler koristis?
6) da li imas nekakav LED ili LCD displej?
[ gocha990 @ 12.08.2015. 06:57 ] @
E pa vako 😊,posto kao sto napomenu nov sam,izvrsni element je kantal traka ili ti grejac,snage jos ne znam koje jer njije namesteno ali naravno ne velike ako se razumemo...
Naravno idem preko PID regulacije,sa temperaturnom sondom...
mC atmega 328-p(arduino uno)😊
IDE processing
Planiram i jedan lcd sa tasterima za regulaciju preko njega ali otom potom za to.posto to jos treba malo da proucavam...
Takodje,imam pitanje(nevezano malo za trenutnu situaciju ali),kasnije(kazem jer tek treba da naucim to),planiram da napravim jedan programcic za windows os preko koga cu mocu da stelujem npr taj mC,odgovarao bi mi visual c ,e sada ima li neko od vas kvalitetne literature za podeliti i neke korisne linkove gde to moze da se prouci najbolje kroz neke evidentne primere... :D
[ macolakg @ 12.08.2015. 15:40 ] @
Pošto nameravaš da koristiš kantal grejač, čiji je limit 1250*C, mogu pretpostaviti da ti kao merni element mora poslužiti termopar čiji je gornji limit približno na istom nivou.
To je K termopar ili Nikl - Hrom Nikl.
I grejač od kantala i K termopar pri temperaturama koje se približavaju graničnim imaju povišeno stanje oksidacije, odnosno postaju vrlo reaktivni sa vazduhom (što važi za sve metale), te im je radni vek kraći ako je temperatura viša.

Primera radi, do 200*C se sa dugim vekom može koristiti platinski temperaturno zavisni RTD element (PT-100, PT-1000) koji pruža visoku tačnost merenja i lako se očitava.
Za temperature do 400-600*C se koristi termopar J tipa (fero konstantan), ali kod bilo kog termopara je teže očitavanje i nešto manja tačnost merenja jer se mora vršiti kompenzacija hladnog kraja. Ujedno, termoparovi poseduju i izvestan stepen nelinearnosti veći od RTD elemenata, te ako se želi visoka tačnost mora se uneti linearizacija istog.

Za temperature ranga 200-1200*C se najčešće koristi pomenuti K tip (Ni - CrNi).

Iznad toga su retko primenjene zone, obično vezane za industriju topljenja i legiranja metala, gde se koriste veoma skupi termoparovi (ubuduće TC što je skraćenica od "termocouple"), poput tungsten-renijum, platina - rodijum platina i slično.
Krajnji domet merenja termoparom takvih tipova ne prelazi gornji limit od 2600*C. Iznad tih temperatura se koriste optičko pirometarske metode.

Kod negativnih temperatura je slična stvar, i u toj zoni postoje preporučeni materijali za zone u kojima se radi i to se može videti sa podataka koji se mogu naći iz podataka sa linka koji ispod postavljam.

Koristan link ka vrlo opsežnoj bazo podataka o termocouples i RTD je sledeći:
http://srdata.nist.gov/its90/main/

----------------------------------------------------
Da bi se vršila bilo kakva termoregulacija sa zatvorenom povratnom vezom, merenje temperature je neophodno.
Senzori temperature koji imaju "zgodan" izlazni signal koji se može direktno dovesti na MCU bilo kog tipa su uglavnom elektronski senzori, digitalnog (podatak o temp. nekom komunikacijom) ili analognog tipa (podatak V/*C ili mA/*C) i njihov krajnji domet je obično reda max.150*C i ponekad i 200*C gde im je znatno snižen radni vek.

Za RTD ili TC je ispred ADC neophodan analogni front-end i evo neke literaturice o tome, a ako tražiš na osnovu sličnih stvari lako ćeš naći i više od ovoga:
https://www.google.rs/url?sa=t...=bv.99804247,d.bGQ&cad=rja

Nešto o osobinama raznih tipova kantala kao grejnog elementa možeš naći ovde:
https://www.google.rs/url?sa=t...=bv.99804247,d.bGQ&cad=rja

Nešto o faznoj kontorli pomoću SCR elemenata ovde:
https://www.google.rs/url?sa=t...=bv.99804247,d.bGQ&cad=rja

O PID u pojednostavljenoj a simpatičnoj formi ovde:
http://m.eet.com/media/1112634/f-wescot.pdf

Oko Atmel će ti pomoći neko drugi jer ja radim sa Microchip.
Suština se svodi na isto u oba slučaja ali prvo moraš pokupiti i razraditi ova znanja oko samog merenja i kontrole, uraditi interfejse između MCU, mernih uređaja i izvršnih elemenata, potom programirati.

Pozdrav
[ macolakg @ 12.08.2015. 15:58 ] @
Da bi pouzdano izveo to sve što želiš, a radi se o čitavom projektu koji obuhvata:
-merenje,
-regulaciju,
-LCD i tastaturu kao korisnički interfejs,
-udaljeni akviziciono-kontrolni sistem pomoću PC, komunikacijom povezan sa PC...

Bilo bi logično ići sledećim redom:

-prvo napraviti samo merni sistem, tj. analogni front-end i onda potom prikaz toga na LCD. To podrazunmeva "produvavanje" baratanja sa ADC i LCD,

-potom, regulaciju faznog zaseka bez povratne veze, sa prikazom upravljačke veličine na LCD,

-sve to konačno povezati softverski u automatski sistem sa povratnom vezom (PI ili PID) i testirati,

-razraditi lokalni korisnički interfejs tako da bude ugodan za korisnika.

-potom "produvati" komunikaciju sa PC tako da bude pouzdana i konačno napraviti i PC interfejs.

-napraviti potom pomoćni grafički monitorski sistem na PC, koji će budućem korisniku olakšati podešavanje PID ili ako je autotuning, onda omogućiti fino baratanje tim.

Takav ili redosled sličan tome će ti kao početniku obećavati uspeh u projektu.

Ukoliko sve to odjednom pokušaš da uradiš, razvoj toga će najverovatnije potrajati mnogostruko više od očekivanog, posebno uzevši u obzir da si početnik (kako si sam rekao).

Postupnim razvojem korak po korak, stičeš i šeme, modele, biblioteke i alate za buduću primenu, koji ti za uvek ostaju u arhivi.

Pozdrav
[ gocha990 @ 12.08.2015. 18:08 ] @
Eeee,ovo je stvarno lepo videti da se neko ovako potrudi,STVARNO HVALA,icicu i idem takvim redom,jer i ne volim nesto naslepo ici volim prvo dobro da ga proucim,jer i jesam apsolutni pocetnik...
Kantal nece prelaziti 250*C tako da ide pt 100 i RTD.
Oko PID regulacije jos se edukujem...
Sve do prikaza pid na lcd bice lako cini mi se ali ovo posle to moram krenuti iz nule,takoda je to posle malo dalja buducnost...
[ bogdan.kecman @ 12.08.2015. 23:07 ] @
mozes da pogledas source od mog drajvera za lemilicu, koristi ili rtd ili termopar (moz biras), ima pid kontrolu....
ja ne radim (namerno) regulaciju faznog zaseka vec pid upravlja "sporim" pwm-om tako sto pusta n od m punih perioda

ovako izgleda oscilogram za takav pid .. dakle ne fazno nego

mnogo lakse za kontrolu, mnogo manje emi sto je meni bilo bitno za lemilicu ..
e sad 0-100% nemas bas neku veliku rezoluciju, realno je rezolucija 5% ali ti za grejac retko treba vise..





[ mikikg @ 12.08.2015. 23:36 ] @
To sam i ja hteo da predlozim, da se izbegne fazni zasek ako nije totalno neophodan.
Sve zavisi od tehnoloskog procesa koji se tu desava, koja je zahtevana stabilnost temperature i koja je masa (inertnost) grejanog objekta.
Besmisleno je recimo koristiti fazni zasek za neki objekat od 10 ili 100 kilograma jer tu fizicki ne mozes da promenis temperaturu tako brzo (bez nekih sumanuto velikih snaga), nema pojma to raditi u delicima sekunde, to se meri minutima ili satima i onda prost ON/OFF princip (spori PWM) poput onog u Bogdanovom SID, totalno moze da zavrsi posao.
U ovom slucaju je onda pozeljno da imas izvrsni element (triak) koji se vozi sa ZC kolom (opto triak sa ZC) zbog manjih smetnji.

BTW: ako ti treba to sve da "zavrsis posao", bolje onda pazari neki gotov PID regulator i da preskocis sve ove spomenute probleme. Ako ti je cilj da "ucis i vezbas" + da zavrsis posao onda lagano jedno po jedno resavaj kao sto ti je Macola predlozio.


[Ovu poruku je menjao mikikg dana 13.08.2015. u 00:52 GMT+1]
[ gocha990 @ 16.08.2015. 11:03 ] @
E ljudi posto se dobro gubim sa ovom pid regulacijom,hajde pomozite opet
Naime,mozes li mi objsniti kako ti funkcionise ovaj sklop,malo se gubim u tvom programcicu za regulaciju
Citat:
bogdan.kecman:
mozes da pogledas source od mog drajvera za lemilicu, koristi ili rtd ili termopar (moz biras), ima pid kontrolu....
ja ne radim (namerno) regulaciju faznog zaseka vec pid upravlja "sporim" pwm-om tako sto pusta n od m punih perioda

ovako izgleda oscilogram za takav pid .. dakle ne fazno nego

mnogo lakse za kontrolu, mnogo manje emi sto je meni bilo bitno za lemilicu ..
e sad 0-100% nemas bas neku veliku rezoluciju, realno je rezolucija 5% ali ti za grejac retko treba vise..

E sada ako mozete malo da mi uprostite to oko PID regulacije,znaci:

Kp- pojacanje
P- proporcijalni clan(znaci mnozi Kp sa "greskom(razlika zadane i izmerene vrednosti)")
I- integralni clan,Ti "integralno vreme"
D-diferencioni clan,Td "diferenciono vreme"

E sada ako neko moze lepo da mi objasni kako funkcionise P+I+D ?

Npr. P=pojacanje * greska (sta ja tada radim sa driverom grejaca kako ga pojacavam,etc...)

Ako me razumete jer bas sam u konfuziji....

@Mikikg
Mozes li mi objasniti samo ovo za ZC trijakom za sum?
[ bogdan.kecman @ 16.08.2015. 11:10 ] @
imas milion clanaka na netu koji objasnjavaju kako koji clan pid kontrole utice na kontrolu, kreni sa wikipedije pa predji na neke specijalizovane clanke, ima ih stotine, samo cukni "how pid works" u neki pretrazivac i voila :D

evo ti jedno kratko objasnjenje
http://machinedesign.com/sensors/introduction-pid-control
[ mikikg @ 16.08.2015. 12:04 ] @
Kada nemas potrebe da radis fazni zasek tj kada su ti procesi koje kontrolises vremenski drasticno duzi od jedne periode mreze, ide se na sporu PWM regulaciju, npr 3 sekunde ukljuceno i 7 sekundi iskljuceno, prakticno si svoj grejac poterao sa 30% snage.
ZC kolo je korisno jer tada trijak i potrosac ukljucujes kada je napon u mrezi 0 volti, pa je i struja 0 ampera (za cisto aktivno opterecenje) i kako sinusni napon raste tako i struja raste, dakle imas "meko" ukljucivanje.
Bez ZC kola, ukljucivanje moze da se dogodi bilo kad a najgore je ako se dogodi u trenutku kada je sinusni napon na svom masimumu, tada je i struja ukljucivanja maksimalna.
Triaci i tiristori se ukljucuju vrlo brzo, skoro odmah kada im das signal i poras struje u vrenu (delta I) za spomenuti slucaj bez ZC kola moze da bude veoma velik i upravo je to uzrok povecanog elektromagnetnog zracenja koje moze da smeta tvojoj elektronici (EMI).
U interesu ti je da potrosac ukljucis sto je moguce sporije ali praktican limit je ono vreme koje diktira 50Hz mreza.
Bez ZC kola delta I moze da bude i nekoliko desetina puta vece (zavisi od brzine ukljucivanja tiristora) i onda se tu javljaju jaki "pikovi" kojih ne mozes tako lako da se resis i onda bolje da ne razmisljas, turis opto-triak sa ZC koji gura glavni triak i resio si se jednog problema manje. Cak i tad je pozeljno da se ima R/C snubber preko triaka ali u svakom slucaju je to sve daleko "tise" nego bez ZC.

[Ovu poruku je menjao mikikg dana 16.08.2015. u 13:44 GMT+1]
[ gocha990 @ 16.08.2015. 12:09 ] @
Me mogu najbolje da razumem,naime koliko mogu da razumem u globalu P przi doko se zadana i izemrena vrednost ne izjednace ili ti dok greska nebude nula,e sada kod takvog rada pri dizanju temeperature dok se vrednosti ne izjednace on popne temperaturu i previse... Ajde to mi je jasno,E SAD integrator :

When the integral factor functions properly in the control loop, the basket is nearly empty. Even when error is so small that the proportional factor is no longer effective, the integral is still hard at work, collecting error until it is large enough to matter — as part of the integral's function is to eliminate steady-state offset.?

Znaci on itegralno prikuplja greske i kada je greska dovoljno velika on sta?,ne razumem ovo zadnje?

Kako integrator i P rade u dilu? :D

Ajde D da ostavim za kasnije... :D
[ mikikg @ 16.08.2015. 12:16 ] @
https://www.youtube.com/watch?v=jx_GNDAaDyg
[ vojinFTN @ 16.08.2015. 21:21 ] @
Evo malo da se ukljucim oko PID-a. U procesnoj industriji se u 98% slucajeva koristi PI regulator. Diferencijalno dejstvo se ne koristi, jer ono problematicno za podesavanje i onda regulator lako proosciluje. Svaki regulator ima zadatak da svede gresku u ustaljenom stanju na sto je moguce manju vrednost (idealno nula). Greska prestvavlja razliku izmedju zadate vrednosti i izmerene vrednosti. Kada se izmerena vrednost izjednaci sa zadatom vrednoscu, onda je greska jednaka nuli i znaci da regulator radi svoj posao.
Proporcionalni regulator "P" ima zadatak da smanji gresku u ustavljenom stanju i da poveca brzinu odziva sistema, tj. u(t) = Kp * e(t); // e(t) - greska sistema, Kp - koeficijent proporcionalnog dejstva.
znaci sa podesavanjem Kp mozemo odredimo koliko brzo cemo da se priblizimo zeljenom stanju. Problem kod koriscenja samo P regulatora je taj sto uvek postoji greska u ustaljenom stanju. Ovo je mozda malo teze da se razume, ali tek analizom u frekvencijskom domenu moze da se jasno vidi zasto je to tako.
Da bismo skroz eliminisali gresku sistema u ustaljenom stanju, onda dodajemo integralni clan. Integrator nije nista drugo nego sabirac, tj. sumu odbiraka greske mnozimo sa koeficijentom integralnog dejstva, tj.

u(k) = Kp * (e(k) + (1 / Ti) * sum(e(k)))

ovo znaci da na onu gresku koja postoji u ustaljenom stanju, dodajemo ofset (sumu gresaka) koja nam dovodi sistem do nulte greske u ustaljenom stanju. Kada e(k) bude jednako nula, onda vise ne koristimo P regulator, suma gresaka (integral greske) ima svoju vrednost i upravljanje je konstantno. Promena upravljanja se dogadja samo kada imamo neki poremecaj u sistemu ili kada se promeni merena velicina.
Ovde moze da se vidi jedan problem, a to je nagomilavanje greske u integralnom clanu. Greska moze da ima pozitivan i negativan znak, sto znaci da suma ili raste ili opada. Na pocetku je greska najveca i integralni clan ima veliku vrednost. Kod digitalne implementacije PID-a moze da dodje do overflow-a. Ovaj prikazani nacin implementacije PI-a se naziva pozicioni regulator. Mnogo pogodnija varijanta za racunarsku implementaciju je tzv. brzinska ili inkrementalna forma. Kod ove forme nema nagomilavanja greske, jer se kod nje gleda promena upravljanja, du(k). Postoje mehanizni koji se zovi anti wind-up, koji sluze za sprecavanje nagomilavanja greske.
Evo prilazem i jedan moj stariji kod PI regulatora, koji je sluzio za regulaciju protoka pur pene.

//***** PI regulator *****
float PI_Controller(void)
{
float Control_PI;
float Kp; // Koeficijent proporcionalnog dejstva
float Ki; // Koeficijent integralnog dejstva
float Ti; // Vreme integralnog dejstva

Kp = 0.15;
Ti = 10.0;
Ki = Kp / Ti;

Error = (float)ComponentNumberCalibration - (float)(1024 - Flow2AD) * 100.0 / 1024.0;
DeltaU = Error * (Kp + Ki) - Kp * ErrorOld; // Brzinski zakon upravljanja
Control_PI = DeltaU + U_Old;
// Anti wind-up
if (Control_PI > 100.0)
Control_PI = 100.0;
else if (Control_PI < 0.0)
Control_PI = 0.0;
ErrorOld = Error; U_Old = Control_PI;

return Control_PI;
}
[ vojinFTN @ 17.08.2015. 15:14 ] @
Imam jedno pitanje? Miki je predlozio kao algoritam upravljanja ON/OFF regulator sa histerezisom. Po meni je ovo najelegantnije rešenje. Nema zezanja sa parametrima regulatora. Ne znam kolika je tolerancija temperature? Ja bih kao sto je Miki predlozio, implementirao on/off. Kod pid-a ima mnogo proBlema oko podešavanja parametara, pogotovu jer mala promena u karakteristici nekog elementa znaci podešavanje novih parametara. Podešavanje stabilnosti, preskoka i drugih pokazatelja kvaliteta regulacije ne dosta komplikovano.
[ mikikg @ 17.08.2015. 17:45 ] @
Mozda se nismo dobro razumeli, kada sam spominjao ON/OFF ja sam i dalje mislio na PID.
Sve isto samo je ciklus regulacije usporen.
Recimo u tvom parcetu code-a koji si postavio, sve bi ostalo isto samo se rezultat posle pretvori u odnos signal/pauza sa "nekom" duzinom periode, bas kao sto se moze videti iz Bogdanovih oscilograma.
Duzina periode bi trebalo naknadno ustanoviti a vezano je za zeljenu preciznost, snagu grejaca i tezinu/masu grejanog objekta.
[ veselinovic @ 17.08.2015. 19:04 ] @
Bilo bi dobro da nam otkrijes sta zelis grijati.
Od toga umnogome zavisi algoritam upravljanja.
Mozda je i dvopolozajni relej sa histerezom dovoljan ( on/off) a mozda i nije.
Postoje i autotjuning algoritmi, postoji i samopodesavanje u toku rada, ma ima svega od kako su bajtovi postali jeftini.
A miki je pricao o izvrsnom elementu, a ne o algoritmu.
[ gocha990 @ 17.08.2015. 20:44 ] @
Veselinovic zelim da varim male plasticne kesice relativno male debljine,e sada,posto stabilnost temperature tu nije bitna mnogo,a i zbog okoline nema neka velika raspianja,a i kesice su male inertnosti+plastika je dobar toplotni izolator tako da nije bitna toliko preciznost temperature,cak(i trenutno sada je radim sa obicnim reg. snage na pot i radi poso),ali sada posto ja ucim,zeleo sam da proucim i primenim tehniku pid-a,sobzirom da nemam nikakav osciloskop sada bataljujem do daljnjeg(dok mi nestigne sonda),uzgred kad pominjem osciloskop videh jedan na kineskom sajtu,radi se o Hantek 6022BE usb,pa da li se isplati ovo za 60e za mene kao amatera?
Miki moze li ukratko primer realizacije tvog resenja?
[ vojinFTN @ 17.08.2015. 20:55 ] @
Ako ti preciznost nije bitna, i ako zelis da naucis algoritme upravljavljanja, moj islreni savet je da prvo napravis cist ON/OFF. Posle toga ON/OFF sa histerezisom da mozes sam da zakljucis prednosti i mane jednog i drugog. Ako bas zelis da udjes u vrh upravljanja onda PID. Namerno sam napisao VRH upravljanja za PID, posto trenutno ne postoji bolji algoritam upravljanja. Mozda ce neko da se pozove na Fuzzy ili Neuro ili Fuzzy-Neuro, SVM itd, ali verujte da nijedan Fuzzy ili bilo koji drugi ne mogu da se mere sa PID. Postoje Dead-beat ili Cancellation Controller-i, ali za njihovu implementaciju je neophodan egzaktan matematicki model. Za presovanje je savrsen ON/OFF sa histerezisom. Nista bolje od toga nema smisla.
[ mikikg @ 17.08.2015. 22:18 ] @
Hehe, znas sta je jedino bolje od PID? :)

Dva PID-a! :D
Jos bolja su tri PID-a … ili dva PID-a i feed-forward … :)

Uvek je bolje da PID radi u nekom uzem opsegu regulacije, npr jedan koji se bavi grupom regulacijom a drugi finom.

Mada to su neke extremne situacije kada tako nesto zatreba ali nije neizvodljivo posebno sa modernim MCU ili DSP.
Mada bi dupli analogni PID jos bolje radio nego sa DSP jer nema A/D konverzije ...