平衡小车之家出品
1
平衡小车调试指南
接下来将和大家一起以工程的思想去完成一个平衡小车的调试,
包括平衡小
车的直立环、速度环、转向环,一般我们是先调试直立环,再调试速度环,最好
调试转向环。另外需要说明的是,因为我们使用的电机性能非常好,对
PID
参
数不敏感,
也就是说每个参数的取值范围都很广,
这将对我们接下来的调试有很
大的帮助。
1.1
平衡小车直立控制调试
平衡小车直立环使用
PD
(比例微分)控制器,其实一般的控制系统单纯的
P
控制或者
PI
控制就可以了,
但是那些对干扰要做出迅速响应的控制过程需要
D
(微分)控制。
下面是直立
PD
控制的代码:
int
balance(float
Angle,float
Gyro)
{
float
Bias,kp=300,kd=1;
int
balance;
Bias=Angle-0;
//
计算直立偏差
balance=kp*Bias+Gyro*kd;
//
计算直立
PWM
return
balance;
//
返回直立
PWM
}
入口参数是平衡小车倾角和
Y
轴陀螺仪(这个取决
MPU6050
的安装)
,我
们的小车前进方向是
MPU6050
的
X
轴的正方向,电机轴与
Y
轴平行。前面两
行是相关变量的定义,第三行是计算角度偏差,第四行通过
PD
控制器计算直立
PWM
,最后一行是返回。
调试过程包括确定平衡小车的机械中值、
确定
kp
值的极性
(也就是正负号)
和大小、
kd
值的极性和大小等步骤。