搜索
bottom↓
回复: 107

一份完整的平衡车制作文档 [uC-OS II, Virtual COM,MFC C++, OpenGL]

  [复制链接]

出0入0汤圆

发表于 2012-6-5 21:32:25 | 显示全部楼层 |阅读模式
本帖最后由 xymeng 于 2012-6-5 21:54 编辑

我是学计算机的,闲暇之余也会做一些和电路有关的东西。去年暑假我对平衡车产生了兴趣,开始搜集各方面的资料,在这个论坛也学习了不少前辈的经验。下面我就分享一下我的成果吧。

对平衡车的制作,主要问题是车体状态的获取和PID参数的设置。在车体状态的获取方面,我使用的是基本的MMA7260加速度计和X3500W陀螺仪。X3500W我个人不推荐,因为没有官方的datasheet,不过由于其特性与ENC-03相似,我也就进行了些测试来估算其参数。事实证明效果还是比较理想的。PID的选取我参考了NXT-Way GS的模型。具体的应用请看源代码。

下面我简要介绍一下整个系统各部分的硬件和软件架构和实际的图片。
由于我非电子专业,身在国外受条件所限,有些零件的选择我不得不做出取舍。很多元件其实有更好的替代,大家不妨以批判性的眼光来看待。

首先是平衡车本身:

有经验的朋友通过这张图应该能够了解车是如何工作的。你可以对照源代码和原理图来验证。
有几点大家可能有兴趣:
(1) 我用了AD7899作为ADC。其实7899很贵,而且其精度和STM32自带的差不多(AD7899是5v 14bit版本)。为什么我要用这个呢?其实我用这个很大程度上是为了测试。在自带ADC下,我发现无线通信会影响ADC的读数大概十几个单位,所以我想外部ADC会受到较小干扰。鉴于我是免费得到的样片,所以焊接上后也无意再取下。
其实到现在我仍然很好奇是什么因素使得无线通信会影响ADC。由于手头无示波器,所以也很难找出原因。
(2) 我用了一个STM8S作软开关。其实用一些基本的零件也应能做到。但是考虑到手头零件不全,也就拿STM8S充数了。不过从另一方面,STM8S增加了扩展性。
(3) 我用了STM8S来作为马达控制器。这主要是参考了乐高NXT的设计,使得马达控制模块可以不加修改地用到其他地方。
(4) 我用了MMA7260和ADXL203分别作了测试,感觉实际效果差不太多。
(5) NRF905使用DMA模式与主控制器通信,是为了提高效率。
(6) 主控制器使用uC-OS II,以便于扩展。代码结构也更为清晰。

车体图片:

主控制器


马达控制器


电源


装配在一起测试


加装外壳




电池为Dual Sky 14.8v 1.7Ah 锂聚合物电池,装在车子的底座上。


下面是PC通信部分


通信部分我仍使用了一颗STM32F103ZE,通过DMA与NRF905相接,通过虚拟串口与PC相连。虚拟串口的好处是高的数据吞吐率和更强的稳定性,因为实际的传输格式是USB。
当然,你完全没有必要使用STM32103ZE这种级别的MCU,但由于我当时只有这种,所以也没办法。




PC端调试软件

其实我相当大的一部分精力都放在这里了。一个实时调试的软件对于平衡车这样的动态系统是相当重要的。为此需要设计一份通信协议和编写一些可视化的程序。另外通信部分必须放在另一个线程里,这样才不会干扰UI的更新。
这个调试软件的优点在于可以在任意时刻启动和断开通信,而不会影响车体本身。所有参数都可以随时调整,以实时观察车体的状态变化。
程序的稳定性经过考验,运行3个小时直到车体没电也没有出现问题。
整个程序是用MFC C++写的,使用的都是Windows底层API,可视化部分用了OpenGL 和 FreeType。程序有着良好的构架,而且比较简洁,有兴趣可以参考。


源代码和原理图(注意,原理图是不完整的,只包括必要部件。所有电路都是我手工焊接,画原理图主要是有助于我参考连线方式。)
另:马达控制的STM8S源代码我找不到了,等找到了再发上来。其实通过看通信协议自己写一个并不难。
PC调试软件请用Visual Studio 2010打开。


本帖子中包含更多资源

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

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2012-6-5 21:38:57 | 显示全部楼层
本帖最后由 yyt1372 于 2012-6-5 21:42 编辑

真漂亮,令人心动

出0入0汤圆

发表于 2012-6-6 14:26:09 | 显示全部楼层
哇,不错,谢谢分享,嘻嘻

出0入0汤圆

发表于 2012-6-6 17:57:54 | 显示全部楼层
速度是由电机控制的,那么这个控制平衡的是什么?

出0入0汤圆

发表于 2012-6-6 18:46:37 | 显示全部楼层

哇,不错,谢谢分享 

出0入0汤圆

发表于 2012-6-6 20:14:33 | 显示全部楼层
漂亮的平衡车!!!!

出0入0汤圆

发表于 2012-6-6 20:17:17 | 显示全部楼层
真漂亮!谢谢分享!

出0入0汤圆

发表于 2012-7-7 00:14:21 | 显示全部楼层
非常漂亮

出0入0汤圆

发表于 2012-7-8 20:32:43 | 显示全部楼层
哥们你的PID 怎么调节的呢?

出0入0汤圆

发表于 2012-7-9 14:34:09 | 显示全部楼层
不得不赞一下,哎,差距好大!

出0入0汤圆

发表于 2012-7-9 20:01:20 | 显示全部楼层
赞一个。。。。

出0入0汤圆

发表于 2012-7-9 20:25:37 | 显示全部楼层
谢谢楼主,有时间学习,估计内容很多

出0入0汤圆

发表于 2012-7-9 20:32:22 | 显示全部楼层
看着和给力啊,有机会倒腾一下。

出0入0汤圆

发表于 2012-7-31 17:00:31 | 显示全部楼层
mark

出0入4汤圆

发表于 2012-8-4 19:16:53 | 显示全部楼层
车子很漂亮,楼主做的不错。

出0入0汤圆

发表于 2012-8-6 10:44:14 | 显示全部楼层
羡慕啊。我相信,只要够努力,没有做不出来的东西!
头像被屏蔽

出0入0汤圆

发表于 2012-8-7 09:11:31 | 显示全部楼层
漂亮

出0入0汤圆

发表于 2012-8-7 09:30:18 | 显示全部楼层
ddddddddddddddddddddddd

出0入0汤圆

发表于 2012-8-10 14:26:47 | 显示全部楼层
漂亮  我有一套元器件  不知道怎么编程序

出0入0汤圆

发表于 2012-8-10 15:10:10 | 显示全部楼层
漂亮啊

出0入0汤圆

发表于 2012-8-12 16:11:01 | 显示全部楼层
有视频吗?传个看看

出0入0汤圆

发表于 2012-8-13 18:43:59 | 显示全部楼层
学习了,不错

出0入0汤圆

发表于 2012-8-14 20:40:06 | 显示全部楼层
楼主你好,可以交流吗?有没有邮箱或者qq我的是87689136

出0入0汤圆

发表于 2012-8-15 00:19:45 | 显示全部楼层
非常好,学习了

出0入0汤圆

发表于 2012-8-15 08:58:53 | 显示全部楼层
这个车吃的好胖。。。赞上位机程序

出0入0汤圆

发表于 2012-8-15 09:25:13 | 显示全部楼层
按键很唯美,很好

出0入0汤圆

发表于 2012-8-31 14:15:51 | 显示全部楼层
不错,很好看

出0入0汤圆

发表于 2012-8-31 14:58:46 | 显示全部楼层
学习了,MARK。

出0入0汤圆

发表于 2012-9-14 15:22:50 来自手机 | 显示全部楼层
平衡车MARK。

出0入0汤圆

发表于 2012-9-14 15:29:35 | 显示全部楼层
学习!!!

出0入0汤圆

发表于 2012-9-15 13:34:35 | 显示全部楼层
楼主的上位机真心漂亮!赞一个!

出0入0汤圆

发表于 2012-9-15 13:54:28 | 显示全部楼层
mark平衡车

出0入0汤圆

发表于 2012-9-19 11:40:29 | 显示全部楼层
不错的资料   支持楼主

出0入0汤圆

发表于 2012-9-19 12:02:03 | 显示全部楼层
不错 这个要支持 上位机还是用C# WPF之类的省事

出0入0汤圆

发表于 2012-9-19 12:03:56 | 显示全部楼层
楼主这风格像是在国外呀

出0入0汤圆

发表于 2012-9-20 12:52:12 | 显示全部楼层
做的很好,顶一下

出0入0汤圆

发表于 2012-10-21 15:35:34 | 显示全部楼层
界面相当不错~~~~~~~~~~~~~

出0入0汤圆

发表于 2012-10-21 19:37:03 | 显示全部楼层
mark                     

出0入0汤圆

发表于 2012-10-21 19:42:04 | 显示全部楼层
做的非常不错,要是有一段演示视频给大家看看就更好了。

出0入0汤圆

发表于 2012-10-24 15:39:44 | 显示全部楼层
学习学习,顶个~

出0入0汤圆

发表于 2012-10-24 16:59:12 | 显示全部楼层
漂亮啊

出0入0汤圆

发表于 2012-10-29 15:15:29 | 显示全部楼层
楼主水平牛逼...佩服下

出0入0汤圆

发表于 2012-10-29 15:38:37 | 显示全部楼层
顶楼主
请问楼主此款小车的轮子从哪里买的???

出0入0汤圆

发表于 2012-10-29 19:39:53 | 显示全部楼层
谢谢我也准备用STM32做一个平衡车,电机用的和楼主一个型号的(*^__^*) 嘻嘻……

出0入0汤圆

发表于 2012-11-11 12:48:57 | 显示全部楼层
很强大 mark

出0入0汤圆

发表于 2012-11-11 16:43:35 | 显示全部楼层
赞。标记一下,防止以后找不到。

出0入17汤圆

发表于 2012-11-11 20:27:57 | 显示全部楼层
收藏先,楼主是说他在国外对吧~~~~~~~~

出0入0汤圆

发表于 2012-11-12 08:57:17 | 显示全部楼层
结构很好.

出0入0汤圆

发表于 2012-11-22 11:08:22 | 显示全部楼层
MARK,                     

出0入0汤圆

发表于 2012-11-22 12:46:22 | 显示全部楼层
楼主,你用的电机什么型号的?在哪里买的?自带编码器么?

出0入0汤圆

发表于 2012-12-6 08:34:10 | 显示全部楼层
遇到高手

出0入0汤圆

发表于 2012-12-6 08:42:13 | 显示全部楼层
楼主,这成本的多少啊

出0入0汤圆

发表于 2012-12-6 08:56:48 | 显示全部楼层
楼主确实强,不知道楼主这些件都在哪里买的?

出0入0汤圆

发表于 2012-12-7 17:14:48 | 显示全部楼层
楼主在国外还有空搞这些啊,不错

出0入0汤圆

 楼主| 发表于 2012-12-16 13:46:08 | 显示全部楼层
整体成本并不高。

外壳+电路板 60 元
两个马达 200 元
陀螺仪 30 元
加速度计 30 元
控制器 两个STM32 80 * 2 = 160 元
子控制器 三个STM8 2 * 3 = 6 元
通信 两个 NRF905 55 * 2 = 110 元
开关降压 8 元
运放,电阻,电容等 30 元
AD7899 很贵,但是可以用自带的ADC,成本忽略

材料总体成本 634元

出0入0汤圆

 楼主| 发表于 2012-12-16 14:09:51 | 显示全部楼层
有人想看视频,所以我上传了一段。

用PS3的无线控制器遥控。

注意:这个是改进过的,与上传的程序稍有不同。

http://v.youku.com/v_show/id_XNDg5MDMwMjcy.html

出0入4汤圆

发表于 2012-12-21 12:31:46 | 显示全部楼层
真心不错

出0入0汤圆

发表于 2012-12-21 21:33:09 | 显示全部楼层
楼主做的很好啊,很漂亮

出0入0汤圆

发表于 2012-12-25 09:38:19 | 显示全部楼层
楼主哪买的电机               

出0入0汤圆

发表于 2012-12-25 11:53:19 | 显示全部楼层
mark!!!!

出0入0汤圆

发表于 2012-12-25 12:03:40 | 显示全部楼层
很不错,有机会折腾一个

出0入0汤圆

发表于 2013-1-3 23:05:42 | 显示全部楼层
371278638 发表于 2012-10-29 19:39
谢谢我也准备用STM32做一个平衡车,电机用的和楼主一个型号的(*^__^*) 嘻嘻…… ...

你好,问一下你打算用哪款stm32做,我也是准备用arm做,谢谢。

出0入0汤圆

发表于 2013-1-3 23:19:32 | 显示全部楼层
楼主很强大,向楼主学习!

出0入0汤圆

发表于 2013-3-20 14:27:59 | 显示全部楼层
你好。能把你qq给我吗?我也准备做一个这样的小车。。。

出0入0汤圆

发表于 2013-4-14 21:03:56 | 显示全部楼层
你好,在吗?我也准备仿照你的做一个。有很多不懂得东西,我想问问你。可以吗?

出0入0汤圆

发表于 2013-4-14 21:07:32 | 显示全部楼层
楼主的按钮漂亮,是什么型号的?

出0入0汤圆

发表于 2013-4-14 22:51:04 | 显示全部楼层
350247764 发表于 2013-4-14 21:03
你好,在吗?我也准备仿照你的做一个。有很多不懂得东西,我想问问你。可以吗?
...

有问题 问吧,我们也可以板凳听课。  知道的还可以举手发个言。

出0入0汤圆

发表于 2013-4-15 04:53:10 来自手机 | 显示全部楼层
MARK顶顶

出0入0汤圆

发表于 2013-4-15 08:55:59 | 显示全部楼层
一看那个电机就感觉到差距了。

出0入0汤圆

发表于 2013-4-15 14:55:40 | 显示全部楼层
学习一下

出0入4汤圆

发表于 2013-4-15 17:48:46 | 显示全部楼层
顶OpenGL应用!

出0入0汤圆

发表于 2013-4-15 20:35:31 | 显示全部楼层
mark!!

出0入0汤圆

发表于 2013-6-12 19:09:06 | 显示全部楼层
mark一下。。。。

出0入0汤圆

发表于 2013-6-12 20:12:04 | 显示全部楼层
多谢分享,学习下了,

出0入0汤圆

发表于 2013-7-2 18:37:37 | 显示全部楼层
东西比较豪华啊,做板子挺美观的,视频里看效果也非常好

出0入0汤圆

发表于 2013-7-2 20:22:17 | 显示全部楼层
这么好的帖子果断要顶顶

出0入0汤圆

发表于 2013-7-2 22:10:14 | 显示全部楼层
这贴以前就看过,不错,顶起。

出0入0汤圆

发表于 2013-7-6 23:20:36 | 显示全部楼层
谢谢分享

出0入0汤圆

发表于 2013-7-20 12:14:25 | 显示全部楼层
谢谢分享。

出0入0汤圆

发表于 2013-7-22 09:36:49 | 显示全部楼层
卖不啊????

出0入0汤圆

发表于 2013-7-23 10:37:37 | 显示全部楼层
哈哈哈哈哈哈哈哈哈哈哈哈

出0入0汤圆

发表于 2013-9-9 16:46:55 | 显示全部楼层
mark!!!!!!

出0入0汤圆

发表于 2013-9-15 22:45:08 | 显示全部楼层
不错……

出0入0汤圆

发表于 2013-9-17 21:57:09 | 显示全部楼层
想买楼主的小车,卖不卖?

出0入0汤圆

发表于 2013-10-5 21:18:20 | 显示全部楼层
高端 大气 上档次阿

出0入0汤圆

发表于 2013-10-13 20:33:11 | 显示全部楼层
很棒的 小车

出0入0汤圆

发表于 2013-10-13 20:38:55 | 显示全部楼层
强贴留名

强贴再留名

出0入0汤圆

发表于 2013-10-13 23:04:48 | 显示全部楼层
不错不错,顶一下!!!

出0入0汤圆

发表于 2013-10-15 11:55:03 | 显示全部楼层
论坛 牛人真多

出0入0汤圆

发表于 2015-5-22 09:19:04 | 显示全部楼层
楼主你好 请帮我看下这个帖子 谢谢你了 http://www.amobbs.com/thread-5623212-1-1.html

出0入0汤圆

发表于 2015-5-22 10:35:05 | 显示全部楼层
为什么要用uC-OS II 啊?不用不是也可以调节PID~

出0入0汤圆

发表于 2015-5-22 10:38:32 | 显示全部楼层
真是抬高大上了!

出0入0汤圆

发表于 2015-5-30 19:29:56 | 显示全部楼层
如果能使用无刷电机  声音就会很小了

出0入0汤圆

发表于 2015-5-31 19:30:15 | 显示全部楼层
留名·················

出0入0汤圆

发表于 2015-5-31 21:40:59 | 显示全部楼层
收藏了。谢谢楼主分享!

出0入0汤圆

发表于 2016-5-9 17:29:04 | 显示全部楼层
楼主很强,我觉得上位机软件比较有价值

出0入0汤圆

发表于 2016-5-10 09:04:07 | 显示全部楼层
亲,你好,想问下,你这里还涉及到操作系统?

出0入0汤圆

发表于 2016-5-11 16:20:43 | 显示全部楼层
厉害                                       

出0入0汤圆

发表于 2016-5-18 16:40:44 | 显示全部楼层
顶一下,确实不错

出0入0汤圆

发表于 2016-5-18 16:57:29 | 显示全部楼层
感谢楼主奉献
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-25 19:54

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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