|
楼主 |
发表于 2015-11-12 23:57:01
|
显示全部楼层
芯片使用的是STM32
其中通过
tim3_pwm(7199,0);
设置PWM的频率此时为72*10的6次方/7200=10000HZ
我说的直立环就是只改变P参数(先设置微分PD为0,就只有P参数了)
但是我发现当PWM的频率为10000HZ的时候,在角度0度的附近拿起车子摇晃感觉不到明显的高频震动,反而
把频率设置为很低(50HZ)的时候却可以感觉到高频震动,但是还是不能直立起来
到底L298N此时应该怎么设置才对呢
下面是代码
float Get_angle()
{
Accel_Z=getAccZ();
Accel_X=getAccX();
Angle_ax=atan2(Accel_X,Accel_Z)*180/PI;
Angle_ax=Angle_ax;
Gyro_Y1 = getGyroY()+8;
Gyro_Y2 = (Gyro_Y1 )/16.4;
Yijielvbo( Angle_ax, -Gyro_Y2);
return angle;
}
int balance(float Angle,float Gyro)
{
float Bias,kp=400,kd=0,a;
int balance;
Bias=Angle;
a=kp*Bias+Gyro*kd; //KP就是P参数 KD==0;
balance=(int)a;
return balance;
} |
|