![](http://www.elektronika.lt/_sys/img/dot.gif) |
![](/_sys/img/dot.gif)
|
Elektronika.lt portalo forumas
Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo.
Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.
Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius,
kurie nesilaiko forumo taisyklių.
Pastebėjus nusižengimus, prašome pranešti.
Dabar yra 2025 02 15, 04:44. Visos datos yra GMT + 2 valandos.
|
|
|
![](/_sys/img/box_ico.gif) |
Forumas » Mikrovaldikliai » PD paprograme
|
Jūs negalite rašyti naujų pranešimų į šį forumą Jūs negalite atsakinėti į pranešimus šiame forume Jūs negalite redaguoti savo pranešimų šiame forume Jūs negalite ištrinti savo pranešimų šiame forume Jūs negalite dalyvauti apklausose šiame forume
|
|
|
![](/_sys/img/dot.gif) |
![](/_sys/img/dot.gif) |
![](templates/elektronikalt/images/folder.gif) |
PD paprograme |
Parašytas: 2012 02 12, 00:08 |
|
|
|
Sveiki, norėčiau paklausti ar gerai aš apsirašiau PD reguliatoriaus paprogramę.
Kodas čia:
Kodas: |
volatile unsigned int W=600;
volatile float Kp=3;
volatile float Kd=0.001;
volatile int R_n=0;
volatile int P;
volatile int D;
volatile int Error;
volatile int PD;
//=============================================
ISR(TIMER2_COMP_vect)
{
Error=W-adcread(1);
P=Error*Kp;
D=(Error-R_n)*Kd;
PD=P+D;
if(PD<=0)
{
if(TCCR1A>1)
{
PWM_isjungimas();
}
OCR1A=0;
}
else
{
if(TCCR1A<1)
{
PWM_ijungimas();
OCR1A=PD;
}
OCR1A=PD;
}
R_n=Error;
} |
Į kd ir kp reikšmes nekreipkitė dėmesio. Paprogramė iššaukiama kas 1 ms.
Kodas: |
laikmatis2()
{
TCCR2|=(1<<WGM21)|(1<<CS22); //16e6/(64*2*145)=1000 Hz
TIMSK|=(1<<OCIE2);
} |
Paprogrames PWM_ijugimas ir PWM_isjugimas kodai:
Kodas: |
PWM_ijungimas()
{
TCCR1A|=(1<<WGM10)|(1<<WGM12)|(1<<COM1A0)|(1<<COM1A1);
TCCR1B|=(1<<WGM12)|(1<<CS10)|(0<<CS12)|(1<<CS11);//16e6/(64*256)=976 Hz
}
//=================================================
PWM_isjungimas()
{
TCCR1A=0;
TCCR1B=0;
TCNT1=0;
} |
Tai gi, domintu ar PD reguliatorius paprogramė aprašytas teisingai? |
|
_________________ Diplomas tik etikete ant konservų dėžutes. O kas slepiasi dėžutėje neaišku. |
|
|
|
![](/_sys/img/dot.gif) |
![Atsakyti į pranešimą](templates/elektronikalt/images/lang_lietuviu/reply.gif) |
|
![](/_sys/img/dot.gif) |
|
![](http://www.elektronika.lt/_sys/img/box_ico.gif) |
Google paieška forume |
|
![](http://www.elektronika.lt/_sys/img/box_ico.gif) |
Naujos temos forume |
|
![](http://www.elektronika.lt/_sys/img/dot.gif) |
FS25 Tractors
Farming Simulator 25 Mods,
FS25 Maps,
FS25 Trucks |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
ETS2 Mods
ETS2 Trucks,
ETS2 Bus,
Euro Truck Simulator 2 Mods
|
![](http://www.elektronika.lt/_sys/img/dot.gif) |
FS22 Tractors
Farming Simulator 22 Mods,
FS22 Maps,
FS25 Mods |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
VAT calculator
VAT number check,
What is VAT,
How much is VAT |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
LEGO
Mänguköök,
mudelautod,
nukuvanker |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
KCD2 Mods
Installing KCD 2 Mods,
KCD 2 Guides,
KCD 2 Cheats |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
FS25 Mods
FS25 Harvesters,
FS25 Tractors Mods,
FS25 Maps Mods |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
FS25 Mods
FS25 Maps,
FS25 Cheats,
FS25 Install Mods |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
GTA 6 Wiki
GTA 6 Map,
GTA 6 Characters,
GTA 6 News |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps |
![](http://www.elektronika.lt/_sys/img/dot.gif) |
ATS Trailers
American Truck Simulator Mods,
ATS Trucks,
ATS Maps |
|
![Reklama](http://www.elektronika.lt/_sys/img/rrr2.gif)
|
![Reklama](http://www.elektronika.lt/_sys/img/rrr1.gif) |