注册会员
- 积分
- 87
- 威望
- 61
- 贡献
- 18
- 兑换币
- 16
- 注册时间
- 2016-4-30
- 在线时间
- 4 小时
- 毕业学校
- 理工大学
|
角度环调试好以后,加入速度环。在速度环中,令I=0, P=1.9 时,小车能在平衡位置保持直立,来回的走动。
但是加入I,由小到大怎么调,小车也没啥变化,就是定不住,停不住。
Kp/200=Ki,所以I的值大概在0.01,我从0.00001到0.04 都试过,还是来回走动,大于0.04以后,来回走到幅度加大。
请问,会是什么原因呢?
以下是速度环部分代码,p都调好了,i怎么不行呢?应该不会是代码问题吧?
经验多的同学指导一下吧
if(num2==10) //100MS
{
num2=0;
speed_r_l =(speed_mr + speed_ml)*0.5;
speed *= 0.1; //3μÂÖËù¶èÂË2¨ ò»½×ÖíoóÂË2¨
speed += speed_r_l*0.9;
position += speed; //»y·ÖμÃμ½Î»òÆ
position += speed_need;
if(position<-6000) position = -6000;
if(position> 6000) position = 6000;
speed_mr = 0;
speed_ml = 0;
}
PWM = Kp*Angle + Kd*Gyro_y; //PID£o½ÇËù¶èoí½Ç¶è
PWM += Kpn*position + Ksp*speed; //PID£oËù¶èoíλÖÃ
PWM_R = PWM + turn_need;
PWM_L = PWM - turn_need;
pwm_out(PWM_L,PWM_R);
|
|