我的账户
中国电子DIY

科技成就未来

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

模块化迷你两轮平衡小车

[复制链接]
熊健 发表于 2016-12-11 00:57:04 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
本帖最后由 熊健 于 2017-1-22 11:15 编辑

17年1月22日,文章有更新~
目前平衡小车已经添加了速度反馈控制,性能已经有了很大提升,大家如果有兴趣可以去git或者众筹网站上查看:
https://github.com/bigbearishappy/BBear_balance_car
另外,平衡小车目前已经开始了众筹前的预热,感谢大家的鼓励,也希望能够得到大家的支持;
众筹预热地址:
http://z.elecfans.com/94.html

588176d590d56.gif

很多人对平衡车的相关技术很有兴趣,但是在实际搭建平衡车或者购买套件时会发现其实成本很高,动辄需要300~400的价钱,而且搭建出来的东西块头很大,做好后的存放是个问题...
  之前自己就走这条路做过一个平衡小车,为了填坑,我专门花了不少时间进行选型,最后在经过三次PCB打样后终于有了一款非常小巧的平衡小车,这个平衡小车在实现了平衡的前提下做到了非常小的尺寸以及高度的模块化设计,其整体尺寸仅为8cm*4cm*4cm;其模块化设计做到了将传感器,电机驱动器,红外遥控接收器,以及马达和电池都是可以拆卸的模块。
  其次就是关于代码和资料方面,感谢很多网友的无私奉献,他们的资料给了我很大帮助,现在小车已经差不多完成,我也在这里分享给大家。

  先上个全家福:
BBear_balancecar1.jpg
东西大小可以通过尺子看出来,控制方面采用的红外遥控~

刚才提到了模块化的问题,在设计中,我尽可能的将能够安装的模块都采用模块化方式处理,这样就算以后不用小车了,它的很多模块都是可以放到别的地方继续使用的。
我专门把所有东西都拆开后照了张照片:
BBear_balancecar2.jpg
其实东西不多,
一个核心板,
一个mpu6050陀螺仪加速度计,
一个电机驱动,
两个无刷电机减速马达,
两个轮子,
一个红外遥控器,
一块锂电池,
一个红外接收管

  接下来给大家看看电路原理图:
QQ截图20161210225327.png
因为是截图,有点模糊,如果需要源文件,我待会儿放在附件里面~
原理图没什么难的,最小系统+电机控制+电机电源
绘制时细心加耐心就没什么问题,不然就会和我画第一版时一样吧tx和rx给画反了...

PCB图:
QQ截图20161210230230.png
各位大神看见我这凌乱的布线就不要吐槽了,毕竟不是电子专业出身,这些工具什么的都是自学的,如果哪位大神有关于PCB方面比较好的书籍推荐我学习学习我会非常乐意接受的,嘿嘿~

上面是关于硬件设计部分,接下来是软件了:

软件流程:

软件部分分为两个大部分:

1数据部分

数据部分围绕MPU6050传感器展开。分为数据获取,滤波,数据处理

1.1数据获取

STM32通过I2C和MPU6050进行通讯,其中涉及到基础的I2C通信协议实现,在I2C基础上,涉及到MPU6050各种参数的设置,比如加速度的范围等。不同的设置获取到的数据会不一样并且精度也不一样。

1.2滤波

在获取到原始数据后经过简单转化变为角度,但是这个数据是不准确的,因此需要滤波处理,由于小车比较简单,滤波就用的是互补滤波。这样就能获取比较精确的数据的了。

1.3数据处理

在滤波前需要对获取的原始数据进行处理,这个需要一点点物理知识,还有一个就是角速度的积分操作,这个需要使用定时器来完成。


2控制部分

控制部分主要分为PID算法,电机驱动

2.1PID算法

PID算法就是比例,积分,微分这三个变量相互作用最后输出到控制器上去。刚开始时以为需要P就够了,最后发现效果不好,在加入了D之后,效果就很好了。

2.2电机驱动

电机驱动主要设计的知识就是PWM波的控制,STM32有相关的库操作,只需要按要求设置好就OK了。然后将PID算法产生的结果作为参数输入到这里就可以实现控制了。


软件部分涉及的东西不多,就算是单片机新手,花功夫肯琢磨也不会用多久时间。


  七七八八说了那么多,没有视频说个毛线,在这里录了个小视频,让大家见笑了:

做这个小车还是花了些时间,目的是希望给后来者多填坑,小车目前还有很多不足需要改进,由于选型问题,没有找到合适的码盘测速,所以目前这个小车还没有车轮的速度反馈,如果解决这个问题,小车的性能会更上一层楼。

  希望大家能给我多多提出意见,如果有什么疑惑,我也会尽可能帮助解决~


  差点把资料的事情给忘记了,我的这个小车的所有相关资料都放在github上面,地址:

  https://github.com/bigbearishappy/BBear_balance_car


  如果觉得还行的话给我点个星星,如果觉得做的不好的话也希望大家能够帮我一起改进~


17年1月22日最新更新:

为了让更多人近距离感受平衡小车的魅力,我目前正在筹备这个平衡小车的众筹工作,到时会以非常优惠的价格推出套件,大家如果有兴趣请联系我:

邮箱:BBear_mail@163.com


谢谢~


参与人数 6下载币 +33 刀币 +44 收起 理由
我爱电子 + 5
苗条的猩猩 + 5 + 16 空间利用的很好,看起来很爽。
疯爱 + 5 支持DIY精神!
看门查水表 + 6 + 6 支持DIY精神!
黎明之光 + 7 + 7 我对单片机一窍不通啊
diyhome + 10 + 10 很给力!

查看全部评分总评分 : 下载币 +33 刀币 +44

精彩评论42

 楼主| 熊健 发表于 2016-12-11 11:23:31 | 显示全部楼层
谈天说地吧 发表于 2016-12-11 09:24
搞的不错,有套件卖吗?

51没有尝试过,你可以试试看~
回复

使用道具 举报

苗条的猩猩 发表于 2016-12-11 11:28:06 | 显示全部楼层
看门查水表 发表于 2016-12-11 08:37
为什么这么多人用STM32呢?51不行么?

stm32写程序很多功能都有函数库,要IIC,调个函数,要pwm,调个函数,要fft,调个函数。51就不行了,都需要自己写。当然51速度也慢一些,毕竟8位嘛,但是写平衡车完全够的。
回复

使用道具 举报

看门查水表 发表于 2016-12-11 08:37:03 | 显示全部楼层
为什么这么多人用STM32呢?51不行么?
回复

使用道具 举报

谈天说地吧 发表于 2016-12-11 09:24:17 | 显示全部楼层
搞的不错,有套件卖吗?
回复

使用道具 举报

王栋春 发表于 2016-12-11 10:14:13 | 显示全部楼层
好货 学习一下         
回复

使用道具 举报

 楼主| 熊健 发表于 2016-12-11 11:22:34 | 显示全部楼层
51没有尝试过,你可以试试看~
回复

使用道具 举报

 楼主| 熊健 发表于 2016-12-11 11:24:27 | 显示全部楼层
谈天说地吧 发表于 2016-12-11 09:24
搞的不错,有套件卖吗?

暂时还没有,小车还有问题,以后改进的差不多了才会考虑出套件
回复

使用道具 举报

看门查水表 发表于 2016-12-11 11:52:55 | 显示全部楼层
苗条的猩猩 发表于 2016-12-11 11:28
stm32写程序很多功能都有函数库,要IIC,调个函数,要pwm,调个函数,要fft,调个函数。51就不行了,都需 ...

看来STM32很方便啊,以后接触接触
51慢?STC公司的IAP那速度,延时一毫秒都要很多行程序,前些天STC出新型号了STC8A8K,STC8F8K,STC8F2K那速度也不是盖的。。。所以对我来说89能满足的就不用更高级的,大材小用了
回复

使用道具 举报

夜漫亭 发表于 2016-12-11 13:13:58 | 显示全部楼层
这么强大,两轮平衡车
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关注0

粉丝5

帖子5

发布主题
最新发布
推荐阅读
关注我们
中国电子DIY官方微信

客服电话:000-000-0000

客服邮箱:776513803@qq.com

周一至周五 9:00-18:00

公司地址:深圳市南山区美丽湾大厦B座

Powered by Discuz! X3.4@ 2001-2013 Comsenz Inc.