查看: 19041
回复: 26
模块化MINI两轮平衡小车 本帖主对外承接开发, 联系作者
大熊现在很幸福
4
主题
12
回复
该帖子为嘉立创认证过的开发案例,案例是对作者实际开发产品的介绍,您可以通过这些案例去找到和自己产品相关的一些方案或解决途径。 查看更多案例 >>
发表于2016-10-30 00:11:11 | 显示全部楼层
1# 电梯直达

立创君11月3日晚21点插楼提示:该作品已进入首届立创商城电子制作节15强,点我投票参与公投,选出最终6强!


文章最后有详细资料分享,支持开源~

1、作品简介

整机图片:

 

 


这个电子制作的用途是什么?能实现那些功能?

用途:用来学习使用平衡小车相关的基础知识(I2CPWM,滤波,姿态计算,PID算法)

实现的功能:通过传感器获取小车姿态并使用控制算法控制小车的平衡,使得小车可以直立不倒

为何要制作这个作品?

当下各种平衡车非常火爆,四处可见踩着平衡车代步的人,于是想探究下其中的原理,于是产生了制作这个作品的想法。

这个作品能给使用者或者社会带来哪些改变、益处或进步?

首先从技术方面来说,通过开发这个作品,可以让使用者学习到很多方面的知识,这个东西涉及了物理,数据协议,数据处理,控制算法等很多方面的知识。

其次从生活方面来说,这个作品可以为使用者的生活带来不少乐趣,看着小车扭扭捏捏的站立着,那种感觉还是很奇妙的。

即:实用性,你自己觉得它体现在哪里?

就实用性方面来说,这个小车是比较有限的。当然,使用者可以通过升级其中的算法来提高精度,甚至可以使用到真实的载人平衡车中去。

 

2、作品亮点

您这个作品在设计、实现细节或思路上,用上了哪些新技术或者创新之处?

特别好的性能、参数指标也是一个亮点。

亮点概括为两个:

1 PCB 面积非常小(2.5cm*5.0cm

2 器件可以拆卸,方便开发调试和学习

同网上一般网友制作的平衡小车不一样,这个平衡小车最大的特点就是它的整体很小,PCB面积只有2.5cm*5.0cm,这个可能还没有网友制作的平衡小车的一个电机驱动板大,但是却已经实现了相同的功能。我在器件选型时尽可能用了小的元件,这样使得PCB面积大大减少。

 

3、系统构架图

 

 

 

 4、原理图

附上原理图的图片或者源文件(我们官方建议大家尽量用源文件上传)

如果是图片,请确保图片是清晰可辨的。

此外,还请用文字把该作品的实现原理、系统的工作过程大致讲解一下。

 

 


5、材料清单(BOM列表)

RTU_BBear  Revised: Saturday, October 22, 2016

          Revision: v1.0 

Bill Of Materials        October 27,2016      20:19:27  Page1 

Item    Quantity    Reference   Part

______________________________________________

 1   5   C1,C2,C3,C4,C8  0.1UF

2   1   C5  1UF

3   2   C6,C7   22PF

4   1   C9  10UF

5   2   LED2,C10    POWER

6   1   K1  KEY-4

7   1   LED1    HEARTLED

8   1   L1  LM1117

9   3   R1,R2,R3    10K

10  2   R4,R5   1K

11  1   S1  MPU6050

12  1   U1  STM32F103C8T6

13  1   U2  BOOT0

14  1   U3  CON4

15  1   U4  switch

16  1   U5  BOOT1

17  1   U6  SWD

18  3   U7,U8,U11   CON2

19  1   U9  MOTOR-A

20  2   U10,U13 MOTOR0805

21  1   U12 MOTOR-B

22  1   X1  XTAL

 

关键芯片:

1 STM32F103C8T6

http://www.szlcsc.com/product/details_9243.html

2 MPU6050传感器

http://www.szlcsc.com/product/details_24852.html

6PCB实物图

PCB 3D

PCB 实物图

 

7、软件部分的描述

软件流程:

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

1数据部分

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

1.1数据获取

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

1.2滤波

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

1.3数据处理

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

2控制部分

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

2.1PID算法

PID算法就是比例,积分,微分这三个变量相互作用最后输出到控制器上去。在这里我们只需要P就够了。

2.2电机驱动

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

如果您的作品涉及到软件或者固件,欢迎也介绍介绍。比如列出软件流程图、精彩

或关键部分的例程、源码或者全部源码(如果是您想开源的话)。

 

8、作品演示

录了个小视频:

让大家见笑了~~~


 

9、总结

          这次制作,体会用四个字概括-知易行难。原来看别人做的平衡小车,感觉并没有什么。但是自己做起来才发现不是那么简单,自己做过才有资格评价别人。少说话,多做事。


最后将我自己的模块化平衡小车的资料全部分享给大家,下面是git地址:

https://github.com/bigbearishappy/BBear_balance_car.git

后期我还会进行维护,以求达到更好的效果。

如果有朋友不用git的,可以在评论区留个邮箱,我看见后会在第一时间把资料发给你。当然如果对我的资料有兴趣,也就麻烦顺便给我投上一票吧,谢谢了

ken
1
主题
11
回复
发表于2016-11-04 14:29:19   |  显示全部楼层
9#
我支持你,我投你一票了,资料方便发我邮箱吗,对这个很感兴趣

主题

回复
  • 温馨提示: 标题不合格、重复发帖、发布广告贴,将会被删除帖子或禁止发言。 详情请参考: 社区发帖规则
  • 您当前输入了 0 个文字。还可以输入 8000 个文字。 已添加复制上传图片功能,该功能目前仅支持chrome和火狐

禁言/删除

X
请选择禁言时长:
是否清除头像:
禁言/删除备注:
昵 称:
 
温馨提示:昵称只能设置一次,设置后无法修改。
只支持中文、英文和数字。

举报

X
请选择举报类型:
请输入详细内容:

顶部