该方案利用PWM的输出值近似计算出车速,再用速度PD计算出平衡距离修订值,从而实现小车的速度给定。该方案的优势与用速度PD计算出PWM修订值不同,换上真实速度传感器,即可在变化的坡度上实现超声自平衡小车的平衡。
http://v.youku.com/v_show/id_XOTA3NDAzODQw.html
6、调试流程
超声平衡小车装配完毕后如下图所示。
串口调试助手程序
a、准备工作
将Kp与Kd调为0,调整方法是,旋转电位器后,按下Arduino模块上的复位键调整方可有效。调整后用串口调试助手(sscom42.exe)发送“F”命令,读取超声自平衡小车参数的设定值。在使用串口调试助手前,首先选择串口调试助手对应的串口号,设置好波特率,方可发送上述命令读取超声自平衡小车参数的设定值,操作界面如下图所示。第一个数据为平衡点设定值,第二个数据为Kp,第三个数据为Kd。
b、超声波测距测试
发送相应“L”命令,读取超声波的测距值,注意,这里不是实际的mm或cm值,而是对应距离来回的传播时间值,是单片机内部计时的输出值。
操作界面如下图所示。
第一个数为超声波测距模块的直接输出值,第二个数为一阶滤波后的值。改变超声波测距模块与被测界面的距离,这两个值会发生相应的改变,距离近,测得的值变小,距离远测得的值就增大。
c、寻找物理平衡点
在Kp、Kd为0时,用手寻找自平衡小车的物理平衡点,同时用“L”命令(500ms定时发送)读取超声波测量的返回值,确定平衡点的返回值,并记录下来。
d、平衡点PB的设定
调整PB电位器,并在Arduino复位后,用“F”命令读取超声自平衡小车参数的设定值,使得第一个返回的数据与上述确定的物理平衡点相一致。
(待续)
6、调试流程(续)
e、判断电机运转方向是否正确
在完成上述调整后,逐渐增大Kp(请记住,每次调整后,都必须复位Arduino模块,调整才能生效),看到电机能够动作时,停止调整Kp。这时将超声波模块一端稍稍下压(也就是使超声波探头与地面距离缩短),观察两个电机的转动方向,往前(超声波测距模块一端为前)转测试正确的,往后转则说明相应的电机两根线接反了,将接反的线调换过来即可。
f、Kp参数整定
在电机接线正确后,再逐渐增大Kp,使得小车能够来回有点摆动即可进入调整Kd参数阶段。
g、Kd参数整定
在调整完Kp后,逐渐增大Kd,使得摆动消失,如果继续增大Kd,小车会出现明显的抖动,此时将Kd往回调整,使得抖动消失即可。
h、平衡点PB的进一步调整
在上述参数调整完毕后,小车一般就能保持平衡了,如果出现小车往一边跑的现象,可通过调整PB电位器加以修正。如果小车往前跑(超声波模块一端为前),调整PB使得平衡点设定值增大;如果小车往后跑,调整PB使得平衡点设定值减小,直到小车能够长时间稳定为止。
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图四被打赏50分 | |
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 |