搜索
bottom↓
回复: 24

慢慢悠悠半年做出的自平衡小车,纯草民,无基础打造

[复制链接]

出0入0汤圆

发表于 2012-4-7 15:35:26 | 显示全部楼层 |阅读模式
本帖最后由 wujohn 于 2012-4-7 15:37 编辑

我做自平衡小车是因为这是我的毕业设计,我以前有过的做控制的基础仅限于用16做过的巡线小车,后来就没有接触过了,
首先感谢zlstone,他的帖子是我做这个的引路的,不过帖子时间太长,无法交流了,
还要感谢前几天发帖说自己做电磁组飞思卡尔的哥们,是你的几句话让我顿悟了


首先讲硬件,
主控:cortex-M3  LM8962
传感器:mma7361     enc03
电机驱动:bts7970
电机:淘宝上45那种带码盘二手escape电机

    其实主控没有必要用8962的,我当时用这个主要是因为有现成的顶板,就用了,还有一个原因就是听说这个可以直接调用库函数,不用编写寄存器,想试试这个,后来真的感觉很爽,比如电机测速,测位置,直接调用库函数就ok,返回电机位置及速度,如果钱不是很充裕的话,不建议选用这个,没必要,可以把钱花在其他需要提高的地方,主控随便大i家选,都没啥问题的,我都是参考大家的程序,改成8962的
    再说传感器,这个超级超级关键,如果你有钱的话,一定要花在这个上面,我就是当时省钱,结果酿成大错,耽搁了几个月的时间,还不知道是因为这个,这两个应该是最基本的了,可以做出来,但是超级痛苦,如果我用高级传感器的话,应该早就做出来了,请允许我yy一下,感觉7361还是比较准的,那个enc03不要说了,简直误人子弟,只要不是参加飞思卡尔比赛的,请一定要换高级一点的陀螺仪芯片
    关于电机驱动,我原来用的l298n,没有做出来,后来换成7970了,我想先前没有做出来应该驱动不是主要原因,当然7970比298用起来爽多了,线性度超级好,尤其配上的我那个二手进口电机,如果要买7970,不要谈便宜,一定要买新的,这样每个芯片的性能很接近,由于7970是两片驱动一个电机正反转,不然两片性能不同,电机正反转的性能就不同了,超级苦逼的,不要被我这个7970吓着了啊,跟大家听说过的7960是兄弟
    关于电机,我在这里打个广告,超级好用,淘宝上面二手电机很便宜,这个45,可能新家伙就是450,网上几百就可以买maxon电机了,如果不知道maxon的,可以去百度之,CCTV机器人比赛中最常见的高级电机,说回来,这个还带码盘,增量式,简直爽歪歪



     现在说我的制作过程
     去年开始慢悠悠地做,首先可能跟大家一样,在网上看看大家的经验,看别人用的什么器件,用什么器件能完成,结果我因为贪便宜买了便宜的传感器,浪费了我半年的生命,
     关于AD,我没有什么好说的,因为我是调用库函数的,和大家都不同,有个可以注意的,加速度计和陀螺仪都有个基准,不要用datasheet里面的,谁的安装时标准水平呢,谁的芯片没有点误差呢,谁的人品是爆发的呢,可以自己测这个基准,芯片启动后,不断循环测一千两千次,取平均就可以了,其实加速度计的基准还可以用来平衡小车的重心不在竖直轴上的情况,当时这个是我后来才发现的,关于采样周期,我的感觉是越短越好,当然周期短了,我的液晶是无字库的,跑一次要30ms+,就没法用液晶了
    然后就是滤波,网上最多的是kalman,我原来也用了,其实也就是copy的zlstone大哥的,最先是感觉实时性不高,稳定是非常稳定,角度变了半天了,计算的angle还没有变化到真实值,也不知道怎么办,后来才知道调开头的Q R 的那三个参数,不过屡试不爽,因为我不会上位机,只能用串口传回数据观察,感觉不是反应慢了就是要过冲,后来就用了一个稍微看起来顺眼点的参数,后来在调试时,感觉电机速度总是容易突变,尤其是在用了高线性度的7970驱动后,感觉是滤波不好,后来有幸看到前几天参加飞思卡尔的大哥意见,他都敢用互补滤波,我还是试试,他说要调加速度计和陀螺仪的参数,我就第一次怀疑了我的陀螺仪,就把陀螺仪的输出*0.1,用了互补滤波后,那叫一个爽啊,
    对于驱动电机,我最先听说要用角度环,位置环融合,感觉不知道怎么办,看看zlstone大哥的程序,K_angle*angle + K_angle_dot*angle_dot+ K_position*position_robot+ K_position_dot*position_dot_filter就搞定,其实就是两个pid函数写成一个了,,注意我的和他的有点点不同,他用电位器来调参数的,我是直接程序里面改的,K_angle*angle 所以这里相乘的只有两个量,计算出的pwm占空比可以稍微限幅一下,对于控制电机,我用了一个没有见其他人用过的想法,大家都是直接控制电机了,我是感觉电机驱动性能不同,统一的占空比,用在不同的驱动上,电机的转动速度都不同,所以讲电机速度线性化了,再用了一个pid,让电机速度不断趋近于一个值,这个值是上面计算出的pwm占空比乘以一个比例,,这个比例怎么得来呢?我是给电机5%  10%15%……的占空比,测得相应的速度,在matlab里面进行线性拟合,得出的斜率就是前面需要的比例
    然后就调试四个参数,很好调,先调角度的,再调位置的,我现在只是能实现站立,参数还是不是很理想,折腾了半年,无心调试了,休息几天有心情再调试参数吧,
    程序本来给大家也没关系,但是我的主控是非主流的,就算了吧,需要的可以pm我
http://www.ourdev.cn/thread-5464211-1-1.html这是我常说的前几天的关于这个的帖子,给我启发很大

出0入0汤圆

发表于 2012-4-7 15:46:47 | 显示全部楼层
我也准备搞个自平衡的..不过不是传统意义的这种平衡车...嘻嘻..

出0入0汤圆

发表于 2012-4-7 16:17:00 | 显示全部楼层
自平衡小车的原理是什么?我看见新闻报道京都的JC居然站在这个上面在街上巡逻。

出0入0汤圆

 楼主| 发表于 2012-4-7 16:18:35 | 显示全部楼层
lengshuicha 发表于 2012-4-7 16:17
自平衡小车的原理是什么?我看见新闻报道京都的JC居然站在这个上面在街上巡逻。 ...

原理就是倒立摆啊 ,相当于你拿一根长杆在手中倒立一样

出0入0汤圆

发表于 2012-4-10 23:13:09 | 显示全部楼层
同楼主,目前苦逼中

出0入0汤圆

发表于 2012-4-11 01:50:55 | 显示全部楼层
传个视频看下

出0入0汤圆

发表于 2012-4-11 11:53:57 | 显示全部楼层
有个小问题想问下,我的电机和轮子的连轴器之间会有一点晃动,连接不是太稳,会有问题吗,就是说如果把两个轮子用手固定住的话,车身不是静止的,还是会有一点晃动的,这样会有问题吗。
还有的就是我的车子没有码盘,不知道车速,这样可以吗,会出现问题吗?!

出0入0汤圆

 楼主| 发表于 2012-4-11 13:25:21 | 显示全部楼层
ws89927267 发表于 2012-4-11 11:53
有个小问题想问下,我的电机和轮子的连轴器之间会有一点晃动,连接不是太稳,会有问题吗,就是说如果把两个 ...

感觉轮子电机连接器的晃动不会很大的,只要你是在淘宝上面买的那种所谓的智能小车联轴器(我不喜欢这样喊,因为联轴器很明显是另外一个机械上用的东东),我由于电机轴只有3mm,经常轮子要掉,后来直接用AB胶给粘死了,我想如果不粘,晃动也不会影响很大的,
没有码盘的话也是可以的,我未加位置环时,也就是只用角度,角速度来调节都可以实现基本站立,只是有时要一直以很慢的速度往一个方向移动,另个zlstone提供了一个方法,用pwm乘以一个系数来代替轮子速度,这样虽然有误差,感觉应该还是有效果吧,加上位置环后,可以看到很明显的,往一个方向走几厘米后,要自动回来

出0入0汤圆

 楼主| 发表于 2012-4-11 13:28:32 | 显示全部楼层
catshit_one 发表于 2012-4-10 23:13
同楼主,目前苦逼中

我苦逼了很久,加油,会成功的

出0入0汤圆

 楼主| 发表于 2012-4-11 13:30:37 | 显示全部楼层
zhikai_wu 发表于 2012-4-11 01:50
传个视频看下

我看传视频必须先在视频网站上传,再复制链接过来,比较麻烦,算了,
如果你想看,可以跟我联系,qq    383886063,加好友说明是做平衡车的

出0入0汤圆

发表于 2012-4-11 21:04:15 | 显示全部楼层
同为苦逼,毕业设计和老师商量做的这个小车,基本站立了~不稳定而已,抗干扰很差,因为没加速度环,一直没搞懂AB向咋个算法,哈哈,这会还在testAB的正反转判断,话说我也该开个帖子哈~除了主控不一样atmega16,别的貌似很像,参考的feng741的,帖子http://www.ourdev.cn/thread-4506043-1-1.html我相当于把他的程序去了遥控和显示部分,别的做了部分修改,导师让用模糊pid做,搞个模糊表,查表....蛋疼中.....
关于你说的卡尔曼,我用的蛮好,修改了参数,跟踪能够立即跟上来,蛮好,就没尝试别的滤波算法~

出0入0汤圆

发表于 2012-4-11 21:07:37 | 显示全部楼层
现在的问题就是减速电机贪便宜,齿轮的间隙太大,导致有个很大的可自由转动角,放大后轮子能转2-4度!小车就在那个可活动区间那个抖啊!!

出0入0汤圆

 楼主| 发表于 2012-4-12 09:17:54 | 显示全部楼层
culapple 发表于 2012-4-11 21:04
同为苦逼,毕业设计和老师商量做的这个小车,基本站立了~不稳定而已,抗干扰很差,因为没加速度环,一直没 ...

我是因为kalman滤波的参数调得绝望了,不是过冲就是实时性差,而且我有不会上位机,没有用图像显示,只是用串口传回数据在电脑上看看,然后就试了一下互补滤波,程序只有五行,感觉效果很爽,就用上了,结果效果还行

出0入0汤圆

 楼主| 发表于 2012-4-12 09:22:29 | 显示全部楼层
culapple 发表于 2012-4-11 21:04
同为苦逼,毕业设计和老师商量做的这个小车,基本站立了~不稳定而已,抗干扰很差,因为没加速度环,一直没 ...

我用的主控有正交码盘接口,直接调用函数就可以返回带正负的电机位置及速度值,你用16需要自己写,这个参考一下叫feng……的程序吧,或者zlstone的,其他feng……也是参考zlstone的

出0入0汤圆

发表于 2012-4-12 09:26:45 | 显示全部楼层
楼主,上图,无图无真相啊

出0入0汤圆

发表于 2012-4-12 09:28:58 | 显示全部楼层
wujohn 发表于 2012-4-12 09:17
我是因为kalman滤波的参数调得绝望了,不是过冲就是实时性差,而且我有不会上位机,没有用图像显示,只是 ...

feng上位机你可以参考下啊~蛮好的~有波形~杠杠的~当示波器用了!!别的我再看看Z的~

出0入0汤圆

发表于 2012-4-12 09:39:38 | 显示全部楼层
Z的那个卡尔曼滤波只要调试Dt就可以了~我的Dt=0.012.波形相当的完美~回头看看你的互补

出0入0汤圆

发表于 2012-5-21 09:32:04 | 显示全部楼层
想问下LZ虽然用的主控不同但是原理应该是相通的吧,mma7260和enc03经过单片机获得的数字信号如何经过卡尔曼滤波得到数据,然后怎么样去控制电机,原理至今没搞明白,资料也不知道去哪搜,LZ可否告知一二,小弟也想做一个!

出0入0汤圆

发表于 2012-5-21 09:32:37 | 显示全部楼层
culapple 发表于 2012-4-12 09:39
Z的那个卡尔曼滤波只要调试Dt就可以了~我的Dt=0.012.波形相当的完美~回头看看你的互补 ...

想问下mma7260和enc03经过单片机获得的数字信号如何经过卡尔曼滤波得到数据,然后怎么样去控制电机,原理至今没搞明白,资料也不知道去哪搜,可否告知一二,小弟也想做一个!

出0入0汤圆

发表于 2013-5-18 14:45:56 | 显示全部楼层
楼主,请问你说的那个 电机 转矩够吗?只有0.143N*M?

出0入0汤圆

发表于 2013-5-20 22:05:58 | 显示全部楼层
求电机的淘宝网址啊

出0入0汤圆

发表于 2013-5-21 13:43:53 | 显示全部楼层
Sir:

I want the source,Can you give it to me.

Thank you.

出0入0汤圆

发表于 2013-6-7 10:21:39 | 显示全部楼层
请问楼主所用电机的测速码盘可以直接连接单片机使用吗?需要加非门吗?

出0入0汤圆

发表于 2013-6-26 17:03:19 | 显示全部楼层
阳光天蓝色 发表于 2013-6-7 10:21
请问楼主所用电机的测速码盘可以直接连接单片机使用吗?需要加非门吗?

恐怕加上波形会好些

出0入0汤圆

发表于 2013-10-5 03:48:08 | 显示全部楼层
请教一下楼主,我那小车,平衡站立没问题,但是只要前进后退就会趴地问题折腾好几个月了没搞定不知是何原因!!!用的是L298\6050模块、电机是70转每分钟扭力7KG!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-5 01:17

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

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