极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: wujingyu

低成本、低档自平衡小车历程(超声自平衡小车)

  [复制链接]
 楼主| 发表于 2014-12-3 07:32:43 来自手机 | 显示全部楼层
Super169 发表于 2014-12-2 23:10
经测试後, 现在的平衡点, 大约是 0.52 左右.

之後 5) 有点看不明白...."这此之后小车的整定过程中不要断 ...

我这里不要断电的意思是程序也不要重新启动,通过上位机发送各种参数的调整命令实时调整控制的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-3 07:40:28 来自手机 | 显示全部楼层
本帖最后由 wujingyu 于 2014-12-3 07:49 编辑
Super169 发表于 2014-12-3 02:10
再挑战了一个晚上, 还未成功, 只可以在一个经不起考验的状态下站起来.

现在的设定是:


祝贺你,你这个已经成功了一大半了呀!
再把速度环的PID参数调整好就可以达到推一下自己也会问下来了!!!
建议你增加上位机与小车的无线实时通讯能力,这样更方便调试与控制。
你心中的目标与大多数人的目标是一致的,加上负重,如果对平衡角影响太大,肯定是要自动调整更换一组参数的。但这些都要一步一个脚印的踏踏实实的前进。
预祝你今晚再上一层楼!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-3 23:21:34 | 显示全部楼层
本帖最后由 wujingyu 于 2014-12-4 08:12 编辑

今天参考了
Arduino 自平衡小车,制作经验记录与分享,愿有兴趣人士,一起学习探讨。
http://www.geek-workshop.com/thread-9879-1-1.html
的帖子,根据自己小车的实际情况做了一些调整,完成了第3版的平衡小车,没用使用MPU6050的DMP功能了,读取原始数据采用一阶互补滤波求角度,这样可以用两个中断测量左右轮的速度了。
这个效果感觉更好,几乎仅用一个Kp就能站立了,我测试了一下程序的整个运行周期,大概在3~4ms,这样调整速度更快了,所以感觉效果好多了。
另外,由于码盘一圈才20个孔,我才用电平变化测量方式,一圈也就计数40次,所以在一个周期这么短的时间内,速度计数几乎为0,所以我是200ms左右测量一次速度。
读取MPU6050的原始数据计算出来的角度几乎启动后就是稳定的数据,DMP方式要20秒左右才能稳定!!!
回复 支持 反对

使用道具 举报

发表于 2014-12-3 23:30:31 | 显示全部楼层
gsunfeng 发表于 2014-11-26 18:27
想问一下,我按楼主的程序,在程序文件夹下已经装了PID库文件,运行后程序会出现“PID”has not been decla ...

谢谢楼主!现在放到Arduino库文件去就可以了,感谢!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-4 18:40:14 | 显示全部楼层
本帖最后由 wujingyu 于 2014-12-6 19:22 编辑

第三版最新程序代码:

程序中增加了一个两轮速度差修正系数Kdsp,由于我这个测速码盘只有20孔,所以速度差检测不太敏感,目前效果不明显,要么增大速度差的采样周期,但这样反应也就变得很慢,先天硬缺陷,没法与高端的相比。

测试记录数据(500ms一个点)见下图:

图中红色区域,可以看出,当小车实际角度偏离机械平衡点超过一定值(这个值由PID的调整输出与电机的启动阈限决定),由于快速的PID调整,即使是香蕉电机也能很快调整到新的平衡点。
详细数据如下:


最新视频效果



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2014-12-4 22:29:56 | 显示全部楼层
wujingyu 发表于 2014-12-4 18:40
第三版最新程序代码:

程序中增加了一个两轮速度差修正系数Kdsp,由于我这个测速码盘只有20孔,所以速度 ...


感谢 大大不断无私分享自己既成果.
昨晚找来一片 蓝芽模块, 尝试用手机连线改变数值.
当我装好一切, 准备按之前的设定改好它时, 接上电後, 竟然突然完全不能平衡.
可以我装蓝牙时, 弄松了某些地方, 令平衡点改变了....搅了一晚, 还未成功.  变成倒退了.
或者我也尝尝把资料储存下来, 来来它的变化, 希望今晚有好转.

另外, 我看到大大的 android 程式, 下载时同时有一个像是 Basic 的程式.
看来又不像是 B4A, 请问楼主是用什麽编程的?
我想找一个比较好的 Android Terminal, 可以方便发出修定的指令, 又可以记下数据.
现在用的, 当车子有问题时, 也不可以即时停止接收的输出, 结果想看看数值的变化也不行.
回复 支持 反对

使用道具 举报

发表于 2014-12-4 22:54:16 | 显示全部楼层
本帖最后由 Super169 于 2014-12-4 22:55 编辑

找到了, 看來應該是 BASIC! 吧, 還未找到那裡下載, 及如果 compile 成 APK.
怎麼只有 android 的 UI (BASIC.APK), 找不到 PC 的版本.
讓我先花少少時間, 做一個好的工具給自己調試.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-5 06:38:58 来自手机 | 显示全部楼层
本帖最后由 wujingyu 于 2014-12-5 07:37 编辑
Super169 发表于 2014-12-4 22:54
找到了, 看來應該是 BASIC! 吧, 還未找到那裡下載, 及如果 compile 成 APK.
怎麼只有 android 的 UI (BASI ...


最好先使用PC机蓝牙串口调整和监测小车,这样可以很方便的控制和保存原始的大量数据,在所有调整完成后再考虑用手机控制。

这个在安卓软件(我在360的安全市场)中输入“BASIC运行时”即可查到下载。

我这里有以前下载的,新的网上能自动更新:



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-6 19:23:36 | 显示全部楼层
最新版源代码:v1_4_2

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-8 09:15:40 | 显示全部楼层
本帖最后由 wujingyu 于 2015-3-23 22:26 编辑

一阶互补滤波系数选择 如何调整,判断的依据?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-9 10:09:03 | 显示全部楼层
本帖最后由 wujingyu 于 2014-12-9 10:11 编辑

第二阶段目标:

上位机(PC)通过蓝牙采集自平衡小车MPU6050和测速码盘的数据,控制算法由PC机实现,并将处理结果通过蓝牙串口发送给平衡小车,控制小车的运动行为。

其目的是用这个简易的平台研究先进的控制算法。

目前手上的PC机性能太差,等家里装修完成换一台能处理大量数据能力的台式机。

先上一个上位机的测试源代码(仅实现了数据采集和处理结果发送,算法部分还是空的):

开发环境:LabWindows/CVI
程序中的串口端口号:COM3
发送数据三个字节:DIR,PWM1,PWM2
接收数据6个字节四个数据:ax,gy,sp1(速度1),sp2(速度2)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-9 10:09:58 | 显示全部楼层
第二阶段下位机采集执行程序源代码:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2014-12-9 21:25:43 | 显示全部楼层
最近也做这个,楼主能否私聊,很多问题需要请教啊··············
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-10 06:39:10 来自手机 | 显示全部楼层
liy 发表于 2014-12-9 21:25
最近也做这个,楼主能否私聊,很多问题需要请教啊··············

有问题给我发消息留言,或者QQ:727038906
回复 支持 反对

使用道具 举报

发表于 2014-12-12 16:12:06 | 显示全部楼层
我和LZ的差不多,不过我做的是载人的,也是PRO MINI+MPU6050 不带测速
过程其实都是一样的,DMP的角度值还是相当不错的(我的不存在20S,开机就正常的),车子的抖动,移动时的加速度问题,可以通过 适当加入时间积分来改善。
载人的相对来说更简单些,毕竟人站在上面,自身可以调整重心。
最近尝试了滑变PID,效果不错,在KP设置很大的值时,初始点也能比较稳定
希望和LZ一起研究研究
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-19 17:53 , Processed in 0.049801 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表