『文章』平衡小车PID,就该这么调( 三 )


从上文程序中可以看到:
Encoder_Least =(Encoder_Left+Encoder_Right)-0; //===获取最新速度偏差==测量速度(左右编码器之和)- 目标速度(此处为零) 这句程序的意思就是 , 获取最新速度偏差 , 控制小车目标速度为 0 。
直立环中控制小车不倒下是用来控制小车的角度 , 所以直立环的机械中值是:角度
速度环控制小车不倒下是用来控制小车的速度 , 所以速度环的“中值”就是:速度为 0
应该不难理解!
那么如何抑制小车速度为 0 呢?
既然我们可以知道小车的当前速度 , 只要速度环的 P 为正反馈即可 , 意思就是假如向前倒 , 那么小车就要以更快的速度向前冲 , 保持直立 。
同样的 , 屏蔽前文的直立环 , 分别给速度环 P 正负值 , 看现象 。
正反馈的现象为:
当旋转其中一个轮子 , 两个轮子往相同方向旋转 , 到速度最大值 。 此时应该为正反馈 。 此时的现象说明 , 速度环的 P 极性是对的!
如果出现旋转其中一个轮子 , 另外一个轮子往反方向转动 , 让偏差趋向于零 。 这就是负反馈 , 此时说明 P 极性错误!
3.3 速度环 P 大小确定:确定 P 极性和大小之后 , 由于 P 和 I 有比例关系且 P 为 I 的 200 倍!P 和 I 的大小可以一同调试 , 可以将 P 和 I 慢慢从小到大的参数去试 , 观看小车效果 。
如果出现以下效果:
1、小车放在地上 , 慢慢的 , 随着时间越来越长 , 小车会来回晃荡 , 此时可以认为 P 和 I 的参数过小 。
2、小车放在地上 , 用手去推 , 如果小车无法回到初始位置 , 一直来回晃荡 , 来回晃荡的时候 , 车身出现较为大的倾斜 , 此时可以认为 P 和 I 的参数过大 。 如果车身没有出现较大的倾斜 , 只是小车来回晃荡 , 此时可以认为 P 和 I 的参数过小 。
关于速度环的初步调试 , 大致就讲到这里 , 这种试错的方法是较为愚钝的 , 但却是较为方便且简单的一种方法 。
可以帮助大家很快速的调试站立好小车 。
4、转向环 【『文章』平衡小车PID,就该这么调】关于转向环 , 其实没什么好讲的 , 很多种转弯方式 , P 控制 , 固定电机 pwm 差速控制 , 唯一牵扯到的就是转向环可以矫正小车走直线的问题 , 这个可以单独拉出来进行聊聊 。 在这里不再聊了 。