文档介绍:平衡小车之家出品
平衡小车调试指南
接下来将和大家一起以工程的思想去完成一个平衡小车的调试,包括平衡小
车的直立环、速度环、转向环,一般我们是先调试直立环,再调试速度环,最好
kd 值应
该在 0~2 之间,我们先设定 kd=-,当我们拿起小车旋转的时候,车轮会反向
转动,并没有能够实现跟随效果。这说明了 kd 的极性反了。接下来,我们设定
kd=,这个时候我们可以看到,当我们旋转小车的时候,车轮会同向以相同的速
2平衡小车之家出品
度跟随转动,这说明我们实现了角速度闭环,至此,我们可以确定 kd 的极性是
正的。具体的数据接下来再仔细调试。
确定 kd 值的大小(令 kp=500,请结合本小节开头的直立控制函数理解)
确定参数的原则是:kd 一直增加,直到出现高频抖动。
设定 kd=,这个时候我们可以看到,低频大幅度频抖动已经基本消除。
设定 kd=1,这个时候我们可以看到,整体性能已经非常棒。
设定 kd=,这个时候我们可以看到,小车开始出现高频剧烈抖动(调试过程
遇到这种情况请马上关闭小车,长时间高频抖动会导致驱动被烧坏的)
至此,我们可以确定得到 kp=500,kd= 是 P、D 参数的最大值。然后我们
进行最关键的一步,对每个系数乘以 ,取整得到 kp=300,kd=1,这就是最终我
们需要的参数,这样做的原因是,我们之前得到的参数是 kp、kd 最大值,理想
值是根据我们的工程经验,对每个数据乘以 得到。这个时候我们可以看到,
小车没有任何的抖动, 非常平稳,但是依然无法保持长时间的直立,直立很短一
段时间后会往一个方向加速倒下。这个等我们下面加上速度环才能得到更好的性
能。只有直立环是很难让小车达到很好的直立效果的。至此,直立调试部分就告
一段落了。
平衡小车速度控制调试
平衡小车速度环使用 PI(比例积分)控制器,这也是速度控制最常使用的
控制器。PI 调节器是一种线性控制器,它根据给定值与实际输出值构成控制偏
差,将偏差的比例(P)和积分(I)通过线性组合构成控制量,对被控对象进行
控制。
下面是速度 PI 控制的代码(不包括遥控部分,遥控部分后面再单独讲解):
int velocity(int encoder_left,int encoder_right)
{
static float Velocity,Encoder_Least,Encoder;
static float Encoder_Integral;
float kp=80,ki=;