amobbs.com 阿莫电子技术论坛

标题: 做的高性能两轮平衡小车 大负载 [打印本页]

作者: xuyang1234    时间: 2014-3-15 18:32
标题: 做的高性能两轮平衡小车 大负载
本帖最后由 xuyang1234 于 2014-3-16 01:58 编辑

在做小车的时候也能得到很多的快乐。这个小车采用的是飞思卡尔公司16位中档的单片机,性能优越,工作频率高达80MHZ,IO口数量丰富,姿态传感器采用的当前比较流行MPU6050,当然stm32,arduino也可以做,小车的程序可以移植到相应的单片机上, 在这里我和大家分享一下做小车的体会,不知道对不对(希望高手大神指正)做小车个人觉得,电机的选择是重要的, 电机的性能直接决定小车的性能,优越的电机可以使您在调试当中减去很多事情,之前选择过多种电机来做小车,最终选择的是一款超霸道的电机,该电机是直流减速电机,减速比1:30,低静音,扭矩大,效率高,电机基本没有虚位,尾部带有高速4脚霍尔芯片,配合平面16磁极的磁铁,车轮单圈输出8*30=240个脉冲,配合速度环,小车可以静止在一点,小车的性能就显得更好(现在我用的是更换了测速,采用光栅测速单圈输出4200个AB相脉冲)。电机驱动采用的是 TB6612FNG 电机驱动模块,该驱动和电机配合,的性能就不多说了。


之前用的测速传感器
[attach]176375[/attach]

现在用的测速传感器
[attach]176376[/attach]
小车整个布局
[attach]176377[/attach]
[attach]176378[/attach]
[attach]176379[/attach]
小车视频优酷链接:
麻烦复制下连接,新手等级低!    youku.com/v_show/id_XNjU1NDQ1NTUy.html

小车源程序:希望对新人有帮助!!!!

[attach]176380[/attach]



作者: zlpvch    时间: 2014-3-15 18:55
不错            
作者: xuyang1234    时间: 2014-3-15 18:59
本帖最后由 xuyang1234 于 2014-3-16 09:23 编辑


作者: 电子爱好者ABC    时间: 2014-3-15 19:01
大神啊,受我一拜
作者: Xujuango    时间: 2014-3-15 22:45
膜拜中
作者: iqxt88    时间: 2014-3-15 22:53
不做定一下
作者: xuyang1234    时间: 2014-3-16 00:09
需要其他的资料,我会一一上传的各位,祝大家学习工作愉快
作者: xl1736    时间: 2014-3-16 00:25
小车的性能看上去巨屌,我是来学习LZ的滤波算法的。谢谢LZ的开源资料,膜拜膜拜!!!
作者: banyan_city    时间: 2014-3-16 00:43
多谢楼主分享            
作者: cqb98    时间: 2014-3-16 14:12
求电机的具体参数
作者: fengdingkusong    时间: 2014-3-16 14:18
很不错  
作者: rom    时间: 2014-3-16 15:00

作者: xuyang1234    时间: 2014-3-16 15:23
小车电机参数,程序里应该有的
作者: xuyang1234    时间: 2014-3-16 16:10
mpu6050 资料
[attach]176443[/attach]

电机驱动资料
[attach]176441[/attach]

电机参数
[attach]176442[/attach]

参数整定
[attach]176444[/attach]
作者: 酷爱diy    时间: 2014-3-17 16:53
牛人,我做了个自平衡小车车体,用STC15F2K60S2控制,程序不会移植还在那闲着呢佩服楼主的能力,会程序的就是高啊
作者: mao001    时间: 2014-3-17 17:14
不错,顶楼主
作者: shenhm_3    时间: 2014-3-18 10:19
小车非常稳啊
作者: Skyujian    时间: 2014-3-18 19:51
看了视频,效果很棒啊。
作者: rantingting    时间: 2014-3-18 20:02
比我的好,不错
作者: fengshuai_1984    时间: 2014-3-18 20:48
赞楼主资料,赞楼主开源精神!
作者: xiaowenshao    时间: 2014-3-18 20:54
屌爆了 谢谢开源
作者: fengyuxiaoxiao    时间: 2014-3-18 20:54
谢谢分享!!!
作者: xuyang1234    时间: 2014-3-18 21:17
rantingting 发表于 2014-3-18 20:02
比我的好,不错

朋友你好,我是看了你的程序,写的,只是硬件比你的要好一点,当时看你做的视频背景音乐挺喜欢的
作者: cbailjc    时间: 2014-3-18 21:50
下载顶帖
作者: donglaile    时间: 2014-3-18 23:07
厉害,顶顶,我做的一直在打抖
作者: rantingting    时间: 2014-3-18 23:26
xuyang1234 发表于 2014-3-18 21:17
朋友你好,我是看了你的程序,写的,只是硬件比你的要好一点,当时看你做的视频背景音乐挺喜欢的{:smile: ...

选了好久的音乐……
作者: ouyj_0210    时间: 2014-3-18 23:39
感谢楼主
作者: xuyang1234    时间: 2014-3-19 09:12
rantingting 发表于 2014-3-18 23:26
选了好久的音乐……

非常有感觉啊!
作者: cjp88811283    时间: 2014-3-19 15:23
楼主辛苦了,谢谢分享!
作者: xuyang1234    时间: 2014-3-19 23:46
再上传一个视频给大家:视频链接:youku.com/v_show/id_XNjg3NDkzOTMy.html

[attach]177195[/attach]


作者: 绝版彬仔    时间: 2014-3-21 23:35
敢问楼主电机哪里买的,能否发给链接,我正筹备着做
作者: xuyang1234    时间: 2014-3-22 12:48
绝版彬仔 发表于 2014-3-21 23:35
敢问楼主电机哪里买的,能否发给链接,我正筹备着做

程序里最上方有链接啊,碉堡电机
作者: 凡事不可强求    时间: 2014-3-22 13:24
楼主不仅是个技术牛,还是生意牛哦,呵呵,mark,收藏了
作者: 卡斯发动机    时间: 2014-3-22 13:36
说不定仿制一个
作者: qrytian    时间: 2014-3-23 08:39
楼主,滤波出来的波形要怎么样才算做好呢?还有啊,卡尔曼滤波的参数要怎么调整呢?我试着调整了几次参数,感觉出来的波形都一样啊
作者: qrytian    时间: 2014-3-23 08:51
楼主,我用的5A60,卡尔曼程序和PID程序也是参照   ran  大神的。目前还没加编码器,怎么调PID也站不住,是没有速度环的原因吗?
作者: xuyang1234    时间: 2014-3-23 11:13
qrytian 发表于 2014-3-23 08:51
楼主,我用的5A60,卡尔曼程序和PID程序也是参照   ran  大神的。目前还没加编码器,怎么调PID也站不住,是 ...

加速度环会好很多
作者: qrytian    时间: 2014-3-23 15:02
xuyang1234 发表于 2014-3-23 11:13
加速度环会好很多

我的滤波出来后的数据总是在一个小范围内波动,不超前也不滞后,就是幅度小,有关系吗?
作者: ali1019    时间: 2014-3-23 15:18
佩服!佩服!
作者: xuyang1234    时间: 2014-3-24 01:44
qrytian 发表于 2014-3-23 15:02
我的滤波出来后的数据总是在一个小范围内波动,不超前也不滞后,就是幅度小,有关系吗? ...

控制效果怎么样啊,什么主控
作者: xuyang1234    时间: 2014-3-24 01:44
qrytian 发表于 2014-3-23 15:02
我的滤波出来后的数据总是在一个小范围内波动,不超前也不滞后,就是幅度小,有关系吗? ...

只要电机质量好,很容易做的朋友
作者: xuyang1234    时间: 2014-3-24 01:45
卡斯发动机 发表于 2014-3-22 13:36
说不定仿制一个

来吧,做一个
作者: qrytian    时间: 2014-3-24 08:23
xuyang1234 发表于 2014-3-24 01:44
控制效果怎么样啊,什么主控

stc12车a60 +  6050     时间还是10ms但我调整了dt,效果好点。还有啊,请问楼主  speed=speed*0.7+speed_now*0.3  这是什么滤波方法
作者: xuyang1234    时间: 2014-3-24 11:29
我确定啊啊,朋友,现在小车达到什么控制效果了啊
作者: 好人不学坏    时间: 2014-3-24 14:02

作者: xuyang1234    时间: 2014-3-29 19:07
绝版彬仔 发表于 2014-3-21 23:35
敢问楼主电机哪里买的,能否发给链接,我正筹备着做

491564428 扣Q
作者: 电子爱好者ABC    时间: 2014-3-30 19:01
牛的一塌糊涂啊
作者: rantingting    时间: 2014-4-10 22:56
你的车子真是越看越漂亮,我感觉只是电机的话应该没有这么大的提升,你PWM频率多少,电源什么电源?
作者: xuyang1234    时间: 2014-4-13 20:51
rantingting 发表于 2014-4-10 22:56
你的车子真是越看越漂亮,我感觉只是电机的话应该没有这么大的提升,你PWM频率多少,电源什么电源? ...

电机确实好的电机,电机驱动也比传统的L298效率高,电池是5200MA 6A的,我感觉还是电机和电机驱动。驱动频率应该是100HZ
作者: rantingting    时间: 2014-4-13 21:11
xuyang1234 发表于 2014-4-13 20:51
电机确实好的电机,电机驱动也比传统的L298效率高,电池是5200MA 6A的,我感觉还是电机和电机驱动。驱动 ...

或许我对电机研究的还不够多
作者: xuyang1234    时间: 2014-4-14 22:51
rantingting 发表于 2014-4-13 21:11
或许我对电机研究的还不够多

兄弟你用那个电机做的小车很好了啊,我只是选了一个好的电机和驱动做的,要是电机不贵的话,我就送你两个
作者: rantingting    时间: 2014-4-15 09:17
xuyang1234 发表于 2014-4-14 22:51
兄弟你用那个电机做的小车很好了啊,我只是选了一个好的电机和驱动做的,要是电机不贵的话,我就送你两个 ...

呵呵  多谢  不用了  如果需要的话我自己买就行
作者: 294689006    时间: 2014-4-15 09:24
受教了。。。
作者: tearedice    时间: 2014-5-1 10:23
不错,楼主做过飞思卡尔?
作者: xuyang1234    时间: 2014-5-3 12:52
没有啊,学过这种单片机的
作者: laotui    时间: 2014-5-3 13:12
楼主请教一个问题,电池几伏啊?我用7.4的航模电池感觉力量差点站不住。
作者: wx-ta    时间: 2014-5-3 13:16
有用,楼主经验多,问下dmp好用还是自己的滤波算法好用呢
作者: logosz    时间: 2014-5-3 13:24
xuyang1234 发表于 2014-5-3 12:52
没有啊,学过这种单片机的

楼主,看了你的程序, 陀螺仪积分得到的角度值Angle_gy好像没有没有使用啊[attach]188177[/attach]
作者: xuyang1234    时间: 2014-5-3 14:07
滤波分析用的
作者: justdomyself    时间: 2014-5-3 15:03
xuyang1234 发表于 2014-3-23 11:13
加速度环会好很多

你的码盘是怎样安装的    我的安装不好    有的时候有反应   有的时候根本没反应

作者: xuyang1234    时间: 2014-5-3 23:32
电机和码盘是配套的,直接用就行,另外电机要选择好
作者: xuyang1234    时间: 2014-5-3 23:32
justdomyself 发表于 2014-5-3 15:03
你的码盘是怎样安装的    我的安装不好    有的时候有反应   有的时候根本没反应
...

电机和码盘是配套的,直接用就行,另外电机要选择好
作者: xuyang1234    时间: 2014-5-3 23:33
logosz 发表于 2014-5-3 13:24
楼主,看了你的程序, 陀螺仪积分得到的角度值Angle_gy好像没有没有使用啊 ...


滤波分析用的
作者: logosz    时间: 2014-5-4 09:41
xuyang1234 发表于 2014-5-3 23:33
滤波分析用的

恩,我在其他部分没见引用这个变量,你的意思是不是说这个只是调试时候用的,实际小车没有这一句代码也可以正常运行是吧
作者: xuyang1234    时间: 2014-5-4 21:05
恩,程序分析部分没有在程序里啊
作者: justdomyself    时间: 2014-5-5 18:20
光栅的那个  电机和码盘不是配套的吧  貌似和rantingting的那个是一个码盘和编码器  


还是你的pid参数是怎么调节的       你上传的那个里面没有提到啊  

我当时试的时候  车子总是站不稳    总是一倾斜就向一侧倒   
还有  就算没有速度环    平衡应该是没有问题的     要不载人的车子如何正常使用
作者: justdomyself    时间: 2014-5-5 18:21
你那个霍尔传感器  1圈输出多少个冒充啊    和这个光栅的有啥区别                霍尔传感器是电机自带的么        
作者: xuyang1234    时间: 2014-5-7 20:36
justdomyself 发表于 2014-5-5 18:21
你那个霍尔传感器  1圈输出多少个冒充啊    和这个光栅的有啥区别                霍尔传感器是电机自带的 ...

精度不一样,光栅的精度比霍尔的要高150倍左右
作者: xuyang1234    时间: 2014-5-7 20:43
justdomyself 发表于 2014-5-5 18:20
光栅的那个  电机和码盘不是配套的吧  貌似和rantingting的那个是一个码盘和编码器  

测速精度要4到5倍,电机性能更好,
下面复制一位大神的讲解,先感谢一下您!
                       1、关于加速度计的转换系数                        要制作自平衡车,角度和角速度的计算就很重要。关于加速度计和陀螺仪的使用就不多说了,他们一个用来测加速度计,一个用来测角速度。                        把从加速度计读出来的数据转换成角度,要乘以一个比例系数。在转换成角度角度的过程中,可以完全不用三角函数(因为车的倾角其实不会超过正负10度,后面会提到),直接把(最大值-最小值)/90(/2如果有正负的话)作为比例系数就可以了(这样可以和真实角度比较)。其实理论上这个比例系数是什么都可以,因为后面陀螺仪转换系数是根据加速度计的转换比例系数跳出来的,所以加速度计的比例系数无论是什么值都没有影响。                                        2、关于陀螺仪转换系数                        陀螺仪的转换系数需要根据滤波的波形来调(我是在飞思卡尔公布的官方方案中看到的,经实践千真万确),陀螺仪的转换系数不用去算,只需要通过看波形去调就可以了,直到不超调也不滞后就可以了,具体的可以看附件官网方案中的93页(第二版)。                                         3、关于滤波                         角度滤波有很多方案,我所知道的是互补滤波、官网的方案和卡尔曼滤波,我的感想是什么滤波都不重要,重要的是参数要调好。                        互补滤波:这是很简单也很实用的方法,其实和官网的方案有一点类似的地方,在网上有一个很著名的20页的PPT文件The Balance Filter,介绍的是互补滤波,相信大家看了之后都会明白的。在文件中,作者把高通滤波系数a和时间常数T(涛,不知道怎么打出来)及采样周期dt用一个公式建立了联系,而我的经验是,我们不要用这个公式去计算。高通滤波系数取0.98(不能比0.98再小了,会不平滑),采样周期根据你程序的需要是多少就多少(5ms的效果会比10ms好很多,越小越好),滤波可以通过调陀螺仪的转换系数达到很好的效果。也就是说,用互补滤波的关键调试参数是陀螺仪转换系数,把加速度计转换系数、高通滤波系数和采样周期定好之后,只需要调试陀螺仪转换系数就可以达到满意的效果了                       PS:互补滤波的效果一定不差,我看过网上用互补滤波和单纯的P控制达到很好的效果的。                       官网滤波方案:我总觉得官网的和互补滤波有些相似,经实验,效果也是很好的。具体的公式在参考方案里面也有。调试的关键就是陀螺仪转换系数。                       卡尔曼滤波:一直没用过,也不会用,主要是没弄懂。我不喜欢用一知半解的东西,因为出现问题的时候排查不出来或者不知道怎么解决问题。网上也有很多卡尔曼滤波的程序,因为一直看不懂,就连试也没试。如果会用的话,效果应该是好的,但我不会用。如果有谁用兴趣的话还请多多指教,互相交流一下。                       4、关于控制                       当然有再好的角度和角速度控制不好的话也是站不好的。控制就用一般的PID控制,PWM=P*角度+D*角速度,这里没用积分控制,效果已经很好了。                       在官网的方案中,还加上了死区电压,我的最大的体会就是,这个死区电压是可以不要的,而且不要更好(或者去一个小一点的值)。                       这样的话就要把P调的很大。具体是多大呢,至少是电机满值的十分之一(五分之一甚至三分之一都是没问题的),例如电机最大输出是1的话,P取0.1、0.2、0.3都是没问题的(官网的方案好像是取的0.3),如果点击最大输出是5000的话,那么P取500、1000、1500都是可以的,(当然前提是加速度计转换系数转换出来的角度值和真实值相当,否则另当别论)。所以车模的角度应该不会超过正负十度,因为当P=0.3的时候,车模有三度多的偏差时电机就满电压输出了。我之前就是一直用一个很小的P去调,原来所有的问题就在于把P调大就可以了。                       至于D的话,大概在P的七十分之一或八十分之一之间都是可以有很好的效果的。这个关系就和加速度转换系数没有关系了。比如官网中P=0.3则D=0.3*1/75=0.004,在我这里P=1000,则D=1000*1/75=13.3,效果都是很好的。PS:这个关系只是在车模静止平衡时的关系,行进中的关系我还没有实验过。                                                       附官网车模调试录像资料                        调试指南                           http://v.youku.com/v_show/id_XMzUzMzE1MDI4.html                           多车演示                           http://v.youku.com/v_show/id_XMzUyNTQyNjM2.html                           调试全过程                           http://v.youku.com/v_show/id_XMzUyNTUwOTI0.html                        5、说明                      (1)陀螺仪的过冲是一个严重问题,高通滤波的那个电容是不可取的,要把它去掉才好。                      (2)每一步都是关键,要真正理解原理才会知道怎么调,还有各个参数的极性要设置好。                      (3)欢迎交流
作者: zhudadragon    时间: 2014-5-7 21:20
mark,高性能两轮平衡小车,顶,做得很好!
作者: zhzj2007    时间: 2014-5-7 21:52
学习                  
作者: wsh    时间: 2014-5-7 23:58
牛逼得很,谢谢分享
作者: skyxjh    时间: 2014-5-8 12:48
效果很好啊,顶一个。
作者: YANGTUTAI    时间: 2014-5-8 13:47
小车非常稳啊
作者: xuyang1234    时间: 2014-5-9 23:11
justdomyself 发表于 2014-5-5 18:20
光栅的那个  电机和码盘不是配套的吧  貌似和rantingting的那个是一个码盘和编码器  

没有速度环,小车没有抵抗力的
作者: justdomyself    时间: 2014-5-10 01:05
xuyang1234 发表于 2014-5-9 23:11
没有速度环,小车没有抵抗力的

但是载人的那种平衡车   貌似没看到有用编码器之类的啊
作者: xuyang1234    时间: 2014-5-11 13:29
justdomyself 发表于 2014-5-10 01:05
但是载人的那种平衡车   貌似没看到有用编码器之类的啊

载人的好像还有其他的算法,有时间去研究一下
作者: rantingting    时间: 2014-5-29 22:23
买了两片TB6612FNG,测试的时候全部烧了,你调试的时候有烧过么,不知道是芯片问题还是电路问题,感觉电路没什么问题,电机稍微堵的时候芯片就挂了,感觉芯片很脆弱……
作者: andmain999    时间: 2014-5-30 16:41
围观中。。
作者: JQ_Lin    时间: 2014-5-30 16:53
羡慕年轻人!
顶!!


作者: wsm80828    时间: 2014-5-31 07:50
谢谢分享
作者: 落叶知秋    时间: 2014-5-31 12:11
下载顶贴~!
作者: 六月峰    时间: 2014-5-31 20:56
楼主开网店的?刚在淘宝上看到一样的图片、视频,莫非楼主做的太好了被人盗去做宣传了?
作者: xuyang1234    时间: 2014-6-1 12:07
六月峰 发表于 2014-5-31 20:56
楼主开网店的?刚在淘宝上看到一样的图片、视频,莫非楼主做的太好了被人盗去做宣传了? ...

同一个人,开源
作者: flotox    时间: 2014-6-7 16:43
MARKMARKMARK
作者: pz91    时间: 2014-6-9 15:38
LZ我准备仿作一个,不知道AVR的单片机可以做吗
作者: xuyang1234    时间: 2014-6-11 22:15
pz91 发表于 2014-6-9 15:38
LZ我准备仿作一个,不知道AVR的单片机可以做吗

可以的啊
作者: pz91    时间: 2014-6-16 09:51
rantingting 发表于 2014-3-18 23:26
选了好久的音乐……

lz的背景音乐确实很有感觉,不知道叫什么
作者: 技术平原    时间: 2014-6-17 00:54
楼主太厉害了,以后还请多多分享。
作者: xuyang1234    时间: 2014-6-19 21:04
好啊,哈哈
作者: dfzcx    时间: 2014-6-22 14:11
谢谢分享
作者: 10xjzheng    时间: 2014-7-2 12:36
谢谢楼主
作者: 442502587    时间: 2014-7-6 19:45
pz91 发表于 2014-6-16 09:51
lz的背景音乐确实很有感觉,不知道叫什么

she is my sin
作者: xuyang1234    时间: 2014-7-11 09:18
442502587 发表于 2014-7-6 19:45
she is my sin

用酷狗收索NBA 歌曲就里面很多的
作者: moonspell    时间: 2014-7-11 09:32
高手在民间
作者: luckytwt1984    时间: 2014-8-5 21:22
谢谢楼主分享,改天做一个玩玩

作者: xuyang1234    时间: 2014-8-8 21:30
rantingting 发表于 2014-5-29 22:23
买了两片TB6612FNG,测试的时候全部烧了,你调试的时候有烧过么,不知道是芯片问题还是电路问题,感觉电路 ...

没有啊,芯片要原装的应该没有问题
作者: wengxiaoming    时间: 2014-8-10 14:58
高手在民间,感谢分享
作者: limaotaizi    时间: 2014-8-10 15:21
牛人~~~~~~~~~~
作者: backlaneboy    时间: 2014-8-11 12:38
楼主,我想请教一下你的平衡车算法。你的车采用了速度闭环,我想问一下你的速度闭环是怎么加到最终的PWM输出里去的?是采用了串级PID还是直接把速度、速度积分、角度、角度积分加起来?




欢迎光临 amobbs.com 阿莫电子技术论坛 (https://www.amobbs.com/) Powered by Discuz! X3.4