Line 12... |
Line 12... |
12 |
// regulator |
12 |
// regulator |
13 |
#define CONP 2 // konstanta pro proporcionalni regulator |
13 |
#define CONP 2 // konstanta pro proporcionalni regulator |
14 |
#define CONI 45 // konstanta pro integracni regulator *0,01 |
14 |
#define CONI 45 // konstanta pro integracni regulator *0,01 |
15 |
#define COND 20 // konstanta pro derivacni regulator *0,01 |
15 |
#define COND 20 // konstanta pro derivacni regulator *0,01 |
16 |
|
16 |
|
17 |
#define SPD_LO 120 // zaklad pro vypocet rychlosti pomalejsiho motoru |
17 |
#define SPD_LO 136 // zaklad pro vypocet rychlosti pomalejsiho motoru |
18 |
#define SPD_HI 150 // zaklad pro vypocetrychlosti rychlejsiho motoru |
18 |
#define SPD_HI 156 // zaklad pro vypocetrychlosti rychlejsiho motoru |
- |
|
19 |
#define SPD_MAX 230 // rychlost motoru po rovince |
19 |
|
20 |
|
20 |
int8 reg_out; |
21 |
int8 reg_out; |
21 |
int8 err1; // odchylka prvni hodnoty |
22 |
int8 err1; // odchylka prvni hodnoty |
22 |
int8 err2; |
23 |
int8 err2; |
23 |
int8 err3; |
24 |
int8 err3; |
Line 589... |
Line 590... |
589 |
lm_speed=SPD_LO-reg_out; |
590 |
lm_speed=SPD_LO-reg_out; |
590 |
rm_speed=SPD_HI+reg_out; |
591 |
rm_speed=SPD_HI+reg_out; |
591 |
} |
592 |
} |
592 |
if(position==50) |
593 |
if(position==50) |
593 |
{ |
594 |
{ |
594 |
lm_speed=200; |
595 |
lm_speed=SPD_MAX; |
595 |
rm_speed=200; |
596 |
rm_speed=SPD_MAX; |
596 |
} |
597 |
} |
597 |
if(position>50) |
598 |
if(position>50) |
598 |
{ |
599 |
{ |
599 |
lm_speed=SPD_HI+reg_out; |
600 |
lm_speed=SPD_HI+reg_out; |
600 |
rm_speed=SPD_LO-reg_out; |
601 |
rm_speed=SPD_LO-reg_out; |