聚丰项目 > 模块化迷你两轮平衡小车

模块化迷你两轮平衡小车

现在有越来越多的人对平衡车技术非常感兴趣,但是往往一个只是用来学习的平衡小车套件去需要300~400,为了降低学习门槛,我们通过精心选型开发出了一套低成本的平衡车学习套件,降低了学习平衡车的门槛。

大熊现在很幸福 大熊现在很幸福

分享
8 喜欢这个项目
团队介绍

大熊现在很幸福 大熊现在很幸福

团队成员

熊健 开发

分享
项目简介
现在有越来越多的人对平衡车技术非常感兴趣,但是往往一个只是用来学习的平衡小车套件去需要300~400,为了降低学习门槛,我们通过精心选型开发出了一套低成本的平衡车学习套件,降低了学习平衡车的门槛。
硬件说明

同样是两轮平衡小车,我们的小车重点突出了两个特色:

1 小巧:整体尺寸仅为8cm*4cm*4cm,

用图片说话,只有我手掌的一半长BBear_balancecar10.jpg

2 模块化设计:姿态传感器,电机驱动,红外接收管,电池,驱动电机,轮子都是可以拆卸的,当你学完了平衡小车,你可以将上面的模块应用到其他的设计上,省时省力,也提高了器件的重用性。

下面是全部拆开后的图片:

BBear_balancecar9.jpg


最后关于组装过程我们专门制作了一个GIF:

组装过程.gif

软件说明

软件流程:

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

1数据部分

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

1.1数据获取

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

1.2滤波

在获取到原始数据后经过简单转化变为角度,但是这个数据是不准确的,因此需要滤波处理,由于小车比较简单,滤波就用的是互补滤波。这样就能获取比较精确的数据的了。当然后期也可以升级高级点的卡尔曼滤波。

1.3数据处理

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


2控制部分

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

2.1PID算法

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

在小车的具体控制中,又分为角度环和速度环控制,角度环控制小车直立,而速度环有两个作用,一个是作为角度环控制的补充,使其效果更好,另外一个是结合红外遥控进行运动控制。

这个地方的难点就是PID参数的整定。

2.2电机驱动

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


演示效果

演示效果我们制作了几个小视频:

模块化迷你两轮平衡小车左转弯测试


模块化迷你两轮平衡小车前进后退测试


模块化迷你两轮平衡小车右转弯测试

附件

(0.00 MB)下载

评论区(3 )
  • shi_dongyu: 这个很不错,能不能把设计资料等分项下,好想好好怎么控制的

    回复

  • shi_dongyu: 能不能把所有设计资料打包分享下,好像看看是怎么实现的

    回复

    • L_J_Zzzz: 同求

      回复