发新帖本帖赏金 300.00元(功能说明)我要提问
12下一页
返回列表
打印

【电子竞赛预热赛】+基于卡尔曼滤波和PID调节的自平衡小车

[复制链接]
5346|32
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
feng31|  楼主 | 2017-11-9 22:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
第一次参加二姨家的竞赛,也是第一次发帖,有点紧张。。。。
废话少说,直接上料子,希望可以给大家提供一些思路,能够喜欢,帮忙顶一波!!!@21ic小喇叭 烦请花点时间看看,给点建议吧,哈哈

首先我是10.9看到这个比赛才开始做的,之前做的时候没有发帖的原因是因为没有料子给大家看,现在自己有一些心得与体会,容我从头开始细谈:--

原理:主要是电机控制、传感器的读取,  核心是结合传感器数据对电机的闭环控制,响应要快,算法要找个比较好的。

处理过程:采集MPU6050相关参数->结合一些算法对采集到的参数进行滤波->对参数结合PID算法运算->将具体数据发送给双轮电机执行->编码器闭环控制反馈   LOOP

主控芯片
stm32F1C8T6 最小系统板,最好有个串口芯片,方便调试

使用电机(自带编码器):金属一体成型 极速Mini版自平衡车底盘 迷你两轮小平衡车双轮车架
某宝搜索直接可以买到,这类电机比其他普通电机有些贵,所以想做类似的童鞋们要做好资金方面的准备

传感器:MPU6050 GY-521 三维角度传感器6DOF 三轴加速度计电子陀螺仪

电机模块:L298N L298N电机驱动板模块
不建议此模块,因为实验室有很多这个模块,而且之前做四轮用的是L298N模块,也比较熟悉,就是缺点是工作久一些就会发烫

Android app:之前有学一些,会基本界面布局。

小车的接线,焊接,熔合已经做了一些,现在在调试怎么让他立起来,准备实在不行请教一下老师把,毕竟老师对这个还是更专业一些

过一段时间再更新一些细节方面,大家有问题可以直接回帖,我都在,后面直接上图上视频,给大家有一目了然的效果出来!还有免费贴源码哦哦!

大家帮忙顶起啦!!你们的支持是对我最大的鼓励!!






打赏榜单

21ic小喇叭 打赏了 300.00 元 2017-12-18
理由:电子竞赛活动三等奖

相关帖子

来自 2楼
feng31|  楼主 | 2017-12-9 22:47 | 只看该作者
楼主要表达的都在视频里,欢迎大家提供宝贵意见!!

不足:
1 小车真正开起来效果还不是很好,只能慢慢的开,不然小车会倒
2 小车前后重心可以,但是左右重心就不够平衡,而且总体设计也不利于后续开发

备注
1 此为副控板效果,主控板效果比这个差一些,但是也可以
2 寻迹模块前几天烧掉了,楼主函数写好了,图纸也找人打印了,系统也调试好了,结果真伤心。。

总结:对于竞赛,这个作品是可以了,但是楼主的制作平衡车生涯才刚开始,打算继续做,把他做到自己满意为止!
包括:1 车的造型大改:改用双层或三层亚克力板
          2 参考高级一些的自平衡车,优化算法

使用特权

评论回复
来自 3楼
feng31|  楼主 | 2017-12-9 22:52 | 只看该作者
由于被限制,大家可以复制前半部分和后半部分到浏览器即可
v.youku.com/v_show/id_XMzIxODEzMDY3Ng

==.html?spm=a2hzp.8244740.0.0

使用特权

评论回复
来自 4楼
feng31|  楼主 | 2017-12-9 22:58 | 只看该作者
如图

)(A0G~9IIX@DW_WER$`UMYN.png (6.51 KB )

)(A0G~9IIX@DW_WER$`UMYN.png

使用特权

评论回复
5
caijie001| | 2017-11-9 22:44 | 只看该作者
不错啊,加油,期待完成,帮顶

使用特权

评论回复
6
21ic小喇叭| | 2017-11-10 08:22 | 只看该作者
第一次发帖就是参加大活动,不错呀~~~小喇叭期待你后续的更新哦

使用特权

评论回复
7
caijie001| | 2017-11-15 15:39 | 只看该作者
楼主做完了吗期待啊

使用特权

评论回复
8
feng31|  楼主 | 2017-11-17 23:01 | 只看该作者
测试贴(请大家忽略)

使用特权

评论回复
9
feng31|  楼主 | 2017-11-18 11:26 | 只看该作者
杰杰开发,早就看到你催贴了,多谢期待,整理了一下料子,好给大家一起参考分享一下吧
首先感谢两位朋友的支持和鼓励,哈哈@21ic小喇叭@caijie001 ,大家有问题或是建议可以直接问我,欢迎骚扰!
继续上料子,
进度:正在为实现自平衡一直努力着!打算这一两天先把蓝牙和四路寻迹给做了,然后实在不行老师走起一波!
现在主体程序已经差不多了(有参考了相关的网上的一些例子),就是经过PID计算的值怎么通过PWM来调节电机这一块还有点欠缺,小车就是会这样一直摇摆

如何充电:
虽然楼主加了两节18650电池在他的两侧,但鉴于这种车十分会吃电池,然后这辆车又打算永久使用,所以加了一个TP4056电池充电模块(焊在小车上,又要考虑外观,还是有点难度的,焊了我几天)上原理图(字有点丑,图有点乱,忽略~-~),下次一起上整图,好有个期待,卖个关子,哈哈!


更新MPU6050细节:GY521MPU6050I2C元件,需要用I2C时序才能读写,关于I2C时序的话内容较多,楼主这里就不多介绍了,如果有需求的话楼主可以贴出来。这边提一下关键要点,
1 配置SCLSDA引脚,需要单片机有此复用功的引脚,注意开漏输出
2 初始化时主要配置MPU6050里面的这几个寄存器: 电源管理        陀螺仪采样率  低通滤波频率  陀螺仪自检及测量范围  加速计自检、测量范围及高通滤波频率  关于这几个寄存器地址及作用可参考MPU6050手册(网上大把,大多为英文版)
3 在对MPU6050/写时,需要加入EV事件检测,如:主机发送启始信号后,会产生事件“EV5”,并会对 SR1 寄存器的“SB”位置 1,表示起始信号已经发送
更新编程心得:楼主从开始拿到F103到现在,可以说到网上查了不少资料,发现大多关于F103的程序前面都有
Stm32_Clock_Init(9);delay_init(72);
而且一些论坛或是其他的博客很多对这两个解释不是很具体,在这里用最简单的话来解释一二
Stm32_Clock_Init(9);//系统时钟设置为外部晶振,99倍频得到72MHz
        //寄存器版的存在此函数,作用倍频时钟,而库函数版就没有(如f4SystemInit
delay_init(72);//系统SysTick初始化,72为当前为72MHz环境
        //在后面调用delay_ms(u32Nms);delay_us(u32 Nus);就可以得到很准确的延时
料子上到这里,难得周末,楼主今天还要加班加点先把四路寻迹和蓝牙给做了,其他的一些细节楼主后续再更新!希望大家继续支持!

使用特权

评论回复
评分
参与人数 1威望 +10 收起 理由
caijie001 + 10 不错啊,加油加油,叫我杰杰就行了,哈哈
10
caijie001| | 2017-11-19 08:39 | 只看该作者
feng31 发表于 2017-11-18 11:26
杰杰开发,早就看到你催贴了,多谢期待,整理了一下料子,好给大家一起参考分享一下吧 首先感谢两位 ...

很棒

使用特权

评论回复
11
feng31|  楼主 | 2017-11-19 17:15 | 只看该作者
占楼,待更新

使用特权

评论回复
12
逍遥李| | 2017-11-22 11:48 | 只看该作者
你做的比我快啊,开始站立了,加油加油

使用特权

评论回复
13
caijie001| | 2017-11-22 23:29 | 只看该作者
逍遥李 发表于 2017-11-22 11:48
你做的比我快啊,开始站立了,加油加油

哈哈哈,想看看你的进展

使用特权

评论回复
14
feng31|  楼主 | 2017-11-26 15:51 | 只看该作者
小车还没做好,厚着脸皮更一次,一些小细节强调一下!
感谢大家的支持和期待,哈哈@caijie001 @逍遥李 @21ic小喇叭  ,可以给些意见和建议,也可以一起讨论问题!

进展:小车会在平衡点左右震荡,震荡幅度比之前小很多了,但是没有那么稳,放开手的话会朝一个方向(两边)一直前进,然后死掉。。。。

更新蓝牙模块:HC-05 主从机一体蓝牙模块板(图片来自卖家)
   班上有很多同学问我怎么用蓝牙模块,干碎在这里写好,后面给网站链接,叫他们自己看,恩,
   首先蓝牙模块如果买现成的,在不自己写协议的情况下还是很好使用的,多用于短距离无线通信,接线:VCC +5V(不超7V)  GND  RX接开发板Tx Tx接开发板Rx(注意单片机两个引脚均开漏输出),直接把他当做串口模块来用就行了,就是当成无线的串口

更新L298N模块:L298N电机驱动板模块(红板)(图片来自卖家)


      这个模块简单得讲就是用于这个控制长时间会发烫,然后控制原理不是很复杂,取关键来说,就是单片机外引两路PWM,对使能端A,B进行PWM占空比调节,达到伺服调速的作用,另外,在倾角Angle过大的时候,可以令ENA和ENB为0,电机四路输出即全为0!


关于小车app部分:网上有一些写好的软件,比如BSC蓝牙控制,竞赛有说明要求原创,不知道用他人的app行不??@21ic小喇叭


料子先上这里,楼主赶紧把小车弄好去,比赛快截止了呢!大家一起加油!!

5ZPS_OLBKZ00T~[0BHO3S%R.jpg (132.78 KB )

5ZPS_OLBKZ00T~[0BHO3S%R.jpg

M7UU2X$19[8}I34I0$W0EBN.jpg (110.54 KB )

M7UU2X$19[8}I34I0$W0EBN.jpg

M7UU2X$19[8}I34I0$W0EBN_副本.jpg (114.89 KB )

M7UU2X$19[8}I34I0$W0EBN_副本.jpg

5ZPS_OLBKZ00T~[0BHO3S%R_副本.jpg (141.22 KB )

5ZPS_OLBKZ00T~[0BHO3S%R_副本.jpg

使用特权

评论回复
15
caijie001| | 2017-11-26 16:14 | 只看该作者
feng31 发表于 2017-11-26 15:51
小车还没做好,厚着脸皮更一次,一些小细节强调一下!
感谢大家的支持和期待,哈哈@caijie001 @逍 ...

不错哦,加油,原创是最好的,这个加分,因为很多时候我们需要的功能是别人对应APP没有的,比如显示超声波测得的距离这些啊,实在开发不了可以使用别人的,

使用特权

评论回复
16
逍遥李| | 2017-11-26 16:36 | 只看该作者
caijie001 发表于 2017-11-22 23:29
哈哈哈,想看看你的进展

现在开始调试码盘了,略慢略慢

使用特权

评论回复
17
caijie001| | 2017-11-26 21:27 | 只看该作者
逍遥李 发表于 2017-11-26 16:36
现在开始调试码盘了,略慢略慢

使用特权

评论回复
18
feng31|  楼主 | 2017-12-4 20:21 | 只看该作者
进度更新:app基础界面搭建好了,后台也弄好了。
              现在楼主在实现运动过程中的自平衡,时间!等我!

使用特权

评论回复
19
caijie001| | 2017-12-5 13:38 | 只看该作者
快结束了哦,请上传些演示视频吧(可以放在顶楼):
应该包括但不仅限于
开机 ——  一系列操作(遥控等等)——通过视频来展示相关数据与运动状态 ——  保持一小段时间  —— 关机

使用特权

评论回复
20
feng31|  楼主 | 2017-12-6 11:29 | 只看该作者
caijie001 发表于 2017-12-5 13:38
快结束了哦,请上传些演示视频吧(可以放在顶楼):
应该包括但不仅限于
开机 ——  一系列操作(遥控等等 ...

好的!

使用特权

评论回复
21
feng31|  楼主 | 2017-12-9 21:53 | 只看该作者
自平衡系统调试完毕,视频也已经录好,已发至优酷,等待审核,稍后将发送链接,方便大家观看和审阅

使用特权

评论回复
发新帖 本帖赏金 300.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

31

帖子

0

粉丝