Evo probao sam malo da se igram sa ovom regulacijom i nije bas sjajna situacija, ne znam u cemu je problem :(
Problem mi je u tome sto trenutno sa PD regulacijom mi stalno "bezi" nanize izlazni napon od zadatog.
Tehnicki radi regulacija ali nedovoljno, bez nje se sve (naravno) jos losije ponasa.
Racun koji sam koristio je sledeci
Code:
//-----
//regulaciona petlja, AD=12bit, PWM=12bit, zadato=2048 (50% duty), izmereno=Vrednost sa A/D preko naponskog delitelja
//Kp i Kd su iskazani kao integer da bih mogao sa debugerom u letu da ih menjam (nisam mogao direktno float da upisujem)
//PD
pre_greska = greska;
greska = izmereno - zadato;
outpwm = zadatao + (greska * (Kp / 1000)) + ((Kd/1000) * (greska - pre_greska));
SetPWM(outpwm);
//------
Koje god da koeficijente izaberem na isto se svodi, ne postize zadatu vrednost (fali jedno 10%), sa vecim vrednostima koeficijenata pocinju da se javljaju oscilacije, sa manjim se sve ponasa kao da nema FB.
Kada kao ustelujem korektno koeficijente, uvek mi bude izlazni napon ispod zadate vrednosti. Probao da menjam ulazni napon ili opterecenje na isto ispadne.
Menjao sam i "brzinu" (od 200Hz do 90kHz) kojom se vrti ova regulacijona petlja, ne pomaze.
Radio sam i ujednacavanje (od 2 do 2048 puta) za "izmereno", ne pomaze.
Imam tu i neku saturaciju greske, to pomaze samo da ne "ludi" previse.
Nisam stigao jos do integrala jer kako ljudi pisu i PD bi morao da radi korektno, integral bi trebao da bude sa relativno malim koeficijentom za postizanje dugorocne stabilnosti.
Ako nesto znaci, PWM ucestanost je oko 115kHz (probao sad zadnje i 25kHz), izlazna L=100uH, izlazi C=1000uF, ulazni napon 12V.
Mislio sam da me tu zeki Int/Float ali nije do toga problem, vidim u debugeru da to lepo sve racuna ali nekako taj racun (algoritam) nije dobar.
Dakle vidim da nekako radi regulacija, recimo dobijem "slicnu" povrsinu aktivnog PWM impulsa, sa vecim ulaznim naponom je uzi impuls i obrnuto sa nisim naponom je siri impuls ali mu fali jos malkice da to bude idelano i ne znam kako to da nadoknadim.
Da li ima neko predstavu o cemu se ovde radi, gde ja to gresim ili ima tu jos neka caka?
[Ovu poruku je menjao mikikg dana 29.11.2013. u 18:30 GMT+1]