搜索
bottom↓
回复: 8

N.I.L_BALANCE 51单片机做的平衡车

[复制链接]

出0入0汤圆

发表于 2014-5-5 19:57:10 | 显示全部楼层 |阅读模式
开始做平衡车到现在拖拖拉拉两个月了,小车基本成型,能站立,能遥控,但是有些摇晃。对网上给予我帮助的各位大虾表示深深的感谢。下面这些不能说是经验吧,只是些认识,写出来大家共同讨论,有不对的地方还请指教。有一个小小的希望,我的代码是参考网上开源项目的,如果你的程序中用到我的程序请开源你的代码,我的学习来自论坛中各位大神的指导,如果这篇文章对你有用,请在分享下你的学习过程。这样开源才有意义。。。
我用到的是STC12C5A60,mpu6050,L298N,24L01。不多说了,调试步骤:
①调整传感器数值。确定传感器采集的角度和角速度,是小车运动轴线上的角度和角速度。6050可以读出3轴角速度和3轴加速度,加速度可以用来计算角度。根据传感器安装位置,选取对应的角速度和角度就可以了。将测量的量显示出来,去除零点偏移。因为便于调节,使PID参数为正值,这样角度为正的方向角速度也要为正,如果没有恰好的两轴,在测量值前添加负号“—”即可。这样后面的PID参数和卡尔曼滤波中符号可不用调节,否则请自行更改符号。
②确定轮子转向。确定IN1、IN2,IN3、IN4管脚,使角度角速度为正方向PWM值为正。
③确定编码器中断中数值正负号。规定PWM为正时车子前进,则前进时车子测量速度应为正。完成以上步骤之后开始调整PID参数。至于有人问滤波参数怎么调整,我感觉这个没什么必要,如果你的程序是参考成功例程的,那基本上拿过了就能用,不放心的话,可以用上位机看比较下滤波前后的波形,只要不超前不滞后就可以用了,至于幅度,可以在PID参数正调整回来的。
对于其他模拟量传感器,滤波会有作用,但是6050里有自己的低通滤波器,在初始化时打开了,这样其实是数据经过滤波后才输出的。
④调整PID。PID的控制原理这个就没啥讲的了吧,度娘上一大把。两组PID参数,按照角度,角速度,速度,位移的顺序调整。先增加角度参数,这个不要相信什么大致范围几分之几,这和电机扭矩,小车质量,重心都有关系范围很难确定,向一个方向推小车,能快在平衡位置附件摆动,或者最终倒向另一个方向。再增加角速度参数,至小车可以较长时间站立,或者向一个方向加速前进,最终摔倒。这个较长时间是相对而说的,理论上只有角度和角速度参数就可以站立,只是不能完全稳定,且抗干扰性能差。逐渐加大速度参数,增加小车的抗干扰能力。小车能在一定位移范围内匀速运动之后增加位移参数,使小车能回到原点。如果没有测速编码器可以用输出的PWM值代替测量速度值,也可以增加电机的抗干扰能力。电机的扭矩越大,调整起来参数可选范围越大。如果如何调节都不能使小车稳定的话可以试试增加死区电压。这个都说调节PID难,我刚刚入手时也是感觉无能为力,但是把飞思卡尔的调试视频,各学校飞思卡尔比赛的技术报告看了N多遍之后,对照自己的小车状况慢慢就找到了调试方法方法。看别人的经验总归是别人的,要自己调试看看才能发现对不对。
     上面是小车的组装及调试步骤,下面是我遇到的一些问题,有的解决的有的还没想明白。
①首先是电机的选择,我第一次选电机的时候选了一个扭矩小的电机,怎么调都不好使,也可能是刚刚入手还不熟悉,后来换大扭矩电机才站立起来。电机好坏直接决定着小车的效果和参数调节范围,载人平衡车的控制方案和小车是一样的,之所以载重后不用重新调节参数是因为电机功率完全可以抵消重量变化,就好比火车上多了一杯水,完全感觉不出来。这个说起来有点用牛刀杀鸡的感觉,但是对于初学者还是建议换大扭矩电机。
② 角度计算。我用的5A60单片机运算能力有限,是通过轴向加速度和重力加速度比值得到sinX与X近似相等得到的,再将弧度X值换算成角度,这个数值只是一个近似值,在角度范围较小时可以认为用,角度变大时就不准确了。这就是为什么观看滤波曲线时小角度范围内滤波角度和真实角度幅值相等,大角度晃动时加速度增加,幅值就不一样了。所以使用STM32等单片机直接读取DMP库读出的角度效果要好。
③使用5A60单片机资源很少,稍不注意就有可能变量溢出,所以编程时请注意,编程尽量使用small 格式,调用Xdata数据时总是出错,这个我的没有解决。单片机上电时会有误动作,5A60数据手册上个了一个解决办法,用下拉电阻,但我总感觉不靠谱,没敢去试。把电机和单片机单点共地就没这问题了。
(请忽略我,我是广告:关注英伦电子关注N.I.L   欢迎加QQ群 206334248 讨论
淘宝店铺 http://shop109274092.taobao.com/

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出100入101汤圆

发表于 2014-5-5 20:13:59 | 显示全部楼层
5A60是什么单片机?

出0入0汤圆

 楼主| 发表于 2014-5-5 20:51:13 | 显示全部楼层
fengyunyu 发表于 2014-5-5 20:13
5A60是什么单片机?

STC12C5A60 宏晶的一款增强型51

出0入4汤圆

发表于 2014-5-6 09:54:44 | 显示全部楼层
我的5A60也经常上电误操作,过个几十秒又恢复了。我电机、电源共地,5A60再接个0欧电阻接入地。这个问题还是没解决。解Bug中...

出0入0汤圆

 楼主| 发表于 2014-5-6 12:05:29 | 显示全部楼层
oner 发表于 2014-5-6 09:54
我的5A60也经常上电误操作,过个几十秒又恢复了。我电机、电源共地,5A60再接个0欧电阻接入地。这个问题还 ...

你这几十秒的问题好像就不是共地的问题了

出0入0汤圆

发表于 2014-5-19 08:12:19 | 显示全部楼层
请教楼主,拐弯不利索一抖一抖怎么办?

出0入0汤圆

 楼主| 发表于 2014-5-19 08:49:41 | 显示全部楼层
laotui 发表于 2014-5-19 08:12
请教楼主,拐弯不利索一抖一抖怎么办?

拐弯的PWM給的不对

出0入0汤圆

发表于 2014-5-19 12:18:46 | 显示全部楼层
一轮加一轮减,是幅度太小吗?车走起来就能拐了。

出0入0汤圆

 楼主| 发表于 2014-5-19 20:41:48 | 显示全部楼层
laotui 发表于 2014-5-19 12:18
一轮加一轮减,是幅度太小吗?车走起来就能拐了。

给大点就好了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-6 07:17

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表