开源自己的微型四轴—全套原理图.程序.上位机.11日晚更新
本帖最后由 wangjt1988 于 2013-1-11 20:02 编辑毕业以来,实在闲不住,总想做点什么玩,不想搞太复杂的硬件,想到了四轴,于是开始走入模界......
先买了大四周,mwc,调的差不多了,发现我们这天天有风,实在是郁闷,于是开始计划做微型四轴,这次决定完全diy,成品实在是无味...
用业余时间做一架自己的四轴,是很有意思也是很难,很难有时间静下心来做.自己做板,写程序,写自己的上位机,用自己的协议来遥控.
因为平时上班忙,工作也全与电子无关,所以进度比较慢.
在跟大学好友俩人的共同努力下,我们的小四轴终于完工了.现在已经可以比较稳定的飞了,情况见下面视频.现在板子也升级到第二版本了,更加集成,遥控接收也做到板子上了.
下面把这段时间来的成果,自己的经验,还有原理图、程序、上位机分享给大家.
方案:
CPU: STM32F103CB
2.4G: NRF24L01
电子罗盘:HMC5883
陀螺仪+加速度计:MPU-6050
视频:
http://v.youku.com/v_show/id_XNDg5Njk2MTI0.html
http://v.youku.com/v_show/id_XNDkwMTU3MjUy.html
http://v.youku.com/v_show/id_XNDkwNTY1NTQw.html
http://v.youku.com/v_show/id_XNDk2OTUyNzA4.html
视频都不长,但是可以看出四轴慢慢成长的过程,从最初的电亮LED,到马达转动,到成功起飞....过程是最精彩的,看到自己的小四轴能飞起来,实在是高兴.虽然现在飞的还不好,但相信还会改进的!!这里还要感谢所有帮助过我的DX们!!
做四轴过程中的一些经验什么的..
HMC5883:要我评价就是娇气,大家焊这个片的时候温度一定不要太高!焊第一片的时候,风枪开到350度,焊好后读取ID没问题,但不管怎么动板子,读出的数据都在正负2以内。后来发现网上很多人也碰到这个问题,主要是焊接时温度太高,HMC5883焊坏了。看它的DATASHEET后知道,温度不能超过260度,湿度较大时还要120度烘烤24小时。后来我把风枪温度调到250度,总算是OK了。(这家伙实在太娇气)
MPU6050:6轴,不错,也不贵,就不过多评论了
电机:7*16还行就是感觉动力不足,换7*20的试试.0.7mm的轴也容易弯,下次换1mm的试试.
主角STM32:速度可以,什么都可以,就是iic蛋疼....实在蛋疼,还没AVR好用......不想多说了...
上位机:开始VB6,做好了,开用,后来增加功能,发现没有代码折叠实在不方便,改delphi,直接跳过用的最多的7,上RAD2007,目前用着不错..后来觉得C#也不错,有想法改投C#,,,,都是半吊子水平...哎,,以后要专心啊....
飞控程序:目前四元数,还没上卡尔曼,卡尔曼还没弄懂..后悔大学数学没学好啊...
工程文件:
上位机写了好久,全部功能还未实现,但是已经比较好用了,可以显示角度,各个传感器读数,波形显示
固定的传感器通讯格式为:0X88+0XA1+0X1D+ACC XYZ+GYRO XYZ +MAG XYZ +ANGLE ROLL PITCH YAW + cyc_time +0x00 + 0x00 +0x00
注意,所有数据位int16格式,angle飞控端为float,发送时乘以100,上位机以int16格式接收,显示时再除以100
自定义通讯格式为:0x88+自定义功能字如0xf1+lengh+data
float格式的通讯还没做,感觉不如转成int16再上传上位机
上位机是和飞控一起成长的,现在不完善的以后都会慢慢完善.
原理图:
还有好多东西,一下也想不起来,不能一一说了,大家以后多多交流啊!!!
2013年1月11日20:00更新上位机:
增加飞控数据波形滚动功能,可以自己设置一页显示的数量
上位机:
另外,只要打开高级收吗,不用设置帧头和功能字,就会接受0X88+0XA1开头的飞控数据,不用自己设置
还没看完先抢沙发 {:2_37:} 必须顶一个啊。 第一个站着抢位 站位站位 影响重大 楼主做的真心漂亮啊!!! 楼主给力啊!顶起来哈 楼主做的好认真,非常漂亮,给楼主加加油,希望你再接再厉,就算是玩,也玩出自己的特色,不失为人生的一件乐事!! 前来学习,感谢分享 必须顶,,,,,走起。。。。。 - -IAR~不过还是感谢开源。{:victory:} 支持哦! 这个好,先收藏了再说 等你这个很久了。。 我替其他人问一句:有套件吗? {:lol:}{:lol:} 冲着楼主的精神就必须要顶一下 顶起,有机会自己也要搞一个。 面包会有的,套件也会有的! 顶起。。。考完试,也要开始了! STM32的硬件I2C正是我用的,还可以吧?主要是要自己弄个中断驱动的状态机,注意一下细节就行了。 下了大虾程序,粗看了一下,但还没完全看懂。
IMU.C的姿态解算,看着貌似用4元数了,但不像卡尔曼滤波,是一种基于四元数的互补滤波吗?有没有相关算法的理论能拜读一下? 还有,航向怎么解算的? 磁罗盘的数据怎么能融合进去? 我的控制算法和你差不多,都是最简易的 控制量= 基础油门+横滚调整+俯仰调整+航向调整
这种算法在自动起飞阶段可能会出些细节问题,微小机架没事,但巨大的就会明显甚至侧翻了。后来我增加了个控制量,改成:
控制量= (基础油门+横滚调整+俯仰调整+航向调整)*油门控制度
这个不顶对不起楼主啊!给力!!!我也在玩,呵呵 已举报:建议置酷! 冬天冷,莫大能否给条“裤子”穿穿,{:titter:} 楼主的5883在装上电机后还能正确读出数据吗?我的在装上电机后,转动一圈输出变化量很小,数据就明显不对了,不装电机读出来的数据是正常的。 学习了,我磁场还没加进来,手工焊,没焊好 下一版板子好了,5883焊好了,电机还没装,装上再试试 agnd 发表于 2013-1-11 06:03
下了大虾程序,粗看了一下,但还没完全看懂。
IMU.C的姿态解算,看着貌似用4元数了,但不像卡尔曼滤波,是 ...
其实就是四元数,没有卡尔曼,卡尔曼我也不懂呢,希望哪位dx分享下卡尔曼的使用 頂貼!!!
爲什麽要用2.4G通訊呢?只是上傳傾角,前後左右這些信息,需要2.4G那種帶寬嗎? 如果观察传感器波形,加速度陀螺仪磁场,就有18字节,加上6字节的角度,就24字节了,如果2ms发一次,波特率至少115200,加上余量,现在用的波特率是256000,空中速度必须高于这个,能满足的不多,2。4g又便宜,当然选用它了 楼主有上位机的源码要公布吗? 或者说下上位机用到的控件名称。 对VB编程蛮感兴趣的,想学习下。 哈哈,支持 上位机不是vb,是delphi 楼主厉害的,支持下,顶起~~ 好东西呀,楼主做的很漂亮呀,cool 这个必须顶!!!! 这个我喜欢,还有套件 好给力啊 下载了楼主的上位机软件,试了一下,果然很是不错!
入乡随俗,我临时按楼主协议改了一下我的飞控发送,使用115200波特率,每6mS(1个卡尔曼姿态解算周期)发一帧数据,连续测了14秒,共接收384320字节
,12010帧数据,竟然没出错,波形也同步画出来了,看来还是比较牛的!!
下边附我实际用的截图和从基本功能窗口考出的数据.
我的数据中时标字段(cyc-time)忘了颠倒高低位了,是从0x0437开始到0x3321结束,单位为6mS
顺便问一下:数据怎么方便存盘? 从窗口剪切太雷人了.
还有,波形挤成一堆了,如何缩放?? 没法细看啊
另外,使用中还发现几个细节问题:
比如,使用0x88,0xA1即传感器数据帧格式时,怎么"高级收码"窗口不同步显示了? 楼主确实给力,这个上位机软件相见恨晚!
正准备使用双串口密集下传实际飞行中的所有数据(主要是调和观察PID过程),已经整了两块ST-MW-08S模块,4轴上双串口转Wi-Fi发送, 笔记本无线接收后虚拟成两个115200波特串口无间隔密集发数,但愿这软件能不负众望啊!
不错,顶一个
毕业后一年多,都没有做东西了
没有勇气开始啊,怕半途而废 必须顶一个啊。 上位机还在更新中,你们提到的都记下来了,会改进的 谢谢楼主开源!学习中 给力,支持!!
来自:amoBBS 阿莫电子论坛 Windows Phone 7 客户端 顶一个,谢谢楼主分享!
这个框架结构很有创意啊 记下,顶起. 有套件吗,大概多少钱 dj3365 发表于 2013-1-11 12:35
有套件吗,大概多少钱
会应大家需求出套件的。 这几天吧 我觉得应该做个稍微大点的.太小了电池重量或许是个问题 目前做适合室内玩的,也安全,打到手没啥事,小的也挺好玩,小的玩好了在搞别的,摄像头啊GPS啊什么的 楼主空板有卖的么 用什么遥控的? 空板再等等吧,遥控用nrf模块,可以用电脑,可以采集ppm,可以采集pwm,自己diy就这个优势,想咋控制咋控制,写写代码就行了 我目前用的是采集接收机的pwm,什么都不用改,就给mwc飞控换个自己的程序,再接个nrf就OK了,下一步打算做个遥控板 强烈支持,楼主伟大 呵呵,就是自己的爱好,发上来大家一起交流一起学习下 等楼主套件 很快会有的 必须学习了 坐等套件了〜〜〜 遥控板我有现成的,如果楼主需要,可以赠送一块成品给你,大家一起玩才好,呵呵。样子是下面这样的。
先借用这个图吧,晚上重传一下图装上遥杆的。
http://cache.ourdev.cn/new2012/forum/201301/04/185942b87wf8lwsrgwsgvv.jpg.thumb.jpg plc_avr 发表于 2013-1-11 16:14
遥控板我有现成的,如果楼主需要,可以赠送一块成品给你,大家一起玩才好,呵呵。样子是下面这样的。
先借 ...
思路不太一样,我要做的是只负责信号采集转发和数据接收,不带摇杆,摇杆用商品控的,手感好,大多玩航模的都有自己的遥控,要利用起来,没有的再考虑加摇杆 红蜘蛛。 jiang47 发表于 2013-1-11 16:35
红蜘蛛。
哈哈,很形象啊 等了好久。总算有程序了,谢谢楼主 楼主费心了,为中国无人机的普及作了重大贡献啊!!!很给力的顶一下 楼主威武啊 严重关注,谢谢共享~~~~~~~~~~~~~~~~~~ 谢谢大家支持,抽点时间把上位机改了,稍后上传.. 必须顶啊 上位机更新了传感器波形的每页显示数量,已经上传 我来学习C#的
要不是已经买了成品,肯定就买楼主的了! 目前上位机还是delphi做的....c#是愿望.. {:kiss:}真心不错,真想买个套件玩玩 板子做的好漂亮啊 谢谢楼主更新软件。回来晚了(加班打扫卫生迎接明天领导视察),刚下了软件,明天再试试。 已再次“举报”建议老大给裤子 agnd 发表于 2013-1-11 22:48 static/image/common/back.gif
已再次“举报”建议老大给裤子
谢谢支持!!哈哈 这样更有动力了 有进展会更新的 頂一個
考完試來試一下{:smile:} 再支持一下。 fighterallen 发表于 2013-1-12 00:21 static/image/common/back.gif
再支持一下。
非常感谢大家的支持!!
刚玩了下C#,可以串口通讯了,还不错 http://www.udacity.com/view#Course/cs373/CourseRev/apr2012/Unit/513014/Nugget/513015
Kalman Filter 這 UNIT 看完就懂了... 好东西 得留着 这个我喜欢,要是套件价格能承受就搞一件玩下! 不贵,需要的器件也不多 vs的ide做的确实厉害 楼主的开源精神,在这再顶一次! 很多人无私的帮我,大灰狼,de-boy等等,在别人帮助下做了点东西,开源必须的,大家一起学习嘛 好玩,顶一下 {:victory:}{:victory:}{:victory:}{:victory:}{:victory:} 电力,我接触的电压都是 22W50W v 电力,高压,有钱人啊 不景气啊,,,,实话,工资低的离谱....后悔当初啊 寒假回去学原理~ 支持楼主的开源精神{:victory:}