打印
[STM32F1]

模块化迷你两轮平衡小车

[复制链接]
1112|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 大熊寻找很幸福 于 2016-12-21 10:09 编辑

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

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

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

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

PCB图:
各位大神看见我这凌乱的布线就不要吐槽了,毕竟不是电子专业出身,这些工具什么的都是自学的,如果哪位大神有关于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上面,

  刚才发了发现没有发链接的权限...

  如果需要资料大家就去github里面搜索BBear_balance_car就可以找到

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

12月21日最新更新:

为了让更多人近距离感受平衡小车的魅力,我目前正在筹备这个平衡小车的众筹工作,

到时会以非常优惠的价格推出套件,大家如果有兴趣请联系我:

邮箱:BBear_mail@163.com

qq交流群:600087425(验证消息请填写:迷你两轮平衡小车)

谢谢~

评分
参与人数 1威望 +3 收起 理由
luvemcu + 3 赞一个!
沙发
daheshangshang| | 2016-12-11 11:11 | 只看该作者
谢谢楼主分享,电机和驱动是哪里买的,能不能发个连接

使用特权

评论回复
板凳
598330983| | 2016-12-11 12:53 | 只看该作者
不错,模块化的可以很容易扩展到其他的上面。

使用特权

评论回复
地板
逍遥李| | 2016-12-11 19:18 | 只看该作者
模块化的设计非常赞,不错不错,码盘的话,是不是没有预留空间呀?你电机用的什么型号?是否可以在背面加装码盘

使用特权

评论回复
5
Ketose| | 2016-12-11 20:13 | 只看该作者
想知道楼主的无刷电机用什么来驱动?

使用特权

评论回复
6
大熊寻找很幸福|  楼主 | 2016-12-11 21:19 | 只看该作者
逍遥李 发表于 2016-12-11 19:18
模块化的设计非常赞,不错不错,码盘的话,是不是没有预留空间呀?你电机用的什么型号?是否可以在背面加装 ...

当初设计时准备是找个直接带有码盘的轮子的,但是没有找到,准备后期用3d打印做轮子来实现速度反馈,你如果有更好的想法,也可以指教指教我啊~

使用特权

评论回复
7
大熊寻找很幸福|  楼主 | 2016-12-11 21:19 | 只看该作者
Ketose 发表于 2016-12-11 20:13
想知道楼主的无刷电机用什么来驱动?

有专门的驱动模块~

使用特权

评论回复
8
逍遥李| | 2016-12-12 09:27 | 只看该作者
大熊寻找很幸福 发表于 2016-12-11 21:19
当初设计时准备是找个直接带有码盘的轮子的,但是没有找到,准备后期用3d打印做轮子来实现速度反馈,你如 ...

我也想的是3D打印,这个找我呀,我可以帮你打,给我个尺寸我帮你设计一下,满意帮你打一套,当然是免费的

使用特权

评论回复
9
dql2015| | 2016-12-12 10:16 | 只看该作者

使用特权

评论回复
10
lanjackg2003| | 2016-12-12 12:23 | 只看该作者
赞一个

使用特权

评论回复
11
大熊寻找很幸福|  楼主 | 2016-12-12 12:30 | 只看该作者
逍遥李 发表于 2016-12-12 09:27
我也想的是3D打印,这个找我呀,我可以帮你打,给我个尺寸我帮你设计一下,满意帮你打一套,当然是免费的{ ...

好啊好啊,正和我意,等我晚上回去了测好相关数据了就给你~费用什么的我还是要给,不能让你吃亏~

使用特权

评论回复
12
逍遥李| | 2016-12-12 13:34 | 只看该作者
大熊寻找很幸福 发表于 2016-12-12 12:30
好啊好啊,正和我意,等我晚上回去了测好相关数据了就给你~费用什么的我还是要给,不能让你吃亏~ ...

没什么费用,电费材料也不值几个钱,就是玩玩;我发私信给你了,你收下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

8

帖子

0

粉丝