本帖最后由 末未本 于 2015-1-12 09:34 编辑 1 r; ~& j. l1 n7 {/ v: N 4 h( \# X+ ~3 O 分享一个MWC开源项目的基于STM32的飞控程序,工程包含了MPU6050,MS5611,HMC5883L等常用传感器代码,以及IIC,SPI等代码,对于学习STM32或者学习飞控程序有较高的帮助。' X0 Z; c5 o2 |* C7 j 先贴个MWC简介: MWC是Multiwii Copter的缩写,Multiwii是控制多旋翼航模的开源固件。Multiwii最初由法国航模爱好者Alex创立,用于控制他自己做的三轴飞行器。后经全世界各大高手改造扩展,现在Multiwii不仅仅支持三轴飞行器、四轴、六轴等多轴系列,还支持固定翼和直升机等航模。功能强大而且简单易用。我个人觉得,Multiwii支持的传感器类型极为丰富,而且支持十分广泛的外部设备和飞行模式,这让Multiwii飞控固件发展为国外最受欢迎的多轴开源固件之一。 9 F2 r3 M7 s2 Z3 B4 H: y 使用教程系列网址: 1、Multiwii官网 http://www.multiwii.com/* X& u. y0 H2 ]) O 2、Multiwii wiki 网址 http://www.multiwii.com/wiki/index.php?title=Main_Page j4 X8 T4 _ Q4 g 3、Multiwii 的GUI程序需要JAVA虚拟机的支持,需下载安装:http://java.com/zh_CN/download/manual.jsp?locale=zh_CN 0 M6 u( m' w) \. F" a( U1 Z 3 b: {+ D* T* ^0 J! X 这里分享的baseflight是MWC在STM32上的移植,包含了keil的工程文件。使用与原程序基本一样,原程序是基于Atmega328P(或Atmega2560)的,DIY MWC飞控还是很方便的,一个最小系统板加几个传感器模块就可以了,DIY教程百度下就有,这里不重复了。用STM32最小系统版加传感器模块也能实现飞控的DIY,另外传个FF飞控的原理图,与baseflight基本配套,可以做参考。上位机和原MWC的也是通用的,附件贴了个,打不开可能是因为没有装java环境。MWC的调参比APM的要麻烦些,APM的默认参数就可以飞了,MWC则需要折腾一番,不过也不算太难吧,调参主要调ROLL PITH YAW 和LEVEL。顺便贴个我的F450机架的大概参数,仅供参考,合适的参数都是自己摸索出来的。 |
F450æºæ¶XXDçµè°çµæºçåæ°åè
å·¥ç¨ä¸çä¸äºæ件
STM32_baseflight.part1.rar
下载6 MB, 下载次数: 23384
STM32é£æ§ç¨åº
STM32_baseflight32.part2.rar
下载4.3 MB, 下载次数: 23387
STM32é£æ§ç¨åº
å°é¢ç«.rar
下载1.93 MB, 下载次数: 6990
MWCå°é¢ç«
FFåçå¾.pdf
下载131.95 KB, 下载次数: 3897
é£æ§åèåçå¾
. l- Q- P& ^" O, a, w
' w) d% Y7 f! E8 ?$ Q' C
; K) H# w/ _$ Y$ J8 x: c: g
! i& a' h" r1 d( X
2 Y( { b& \$ x8 k' |$ }
0 Z$ A7 A8 k% W2 M$ u
嗯,多谢。我去年做过四轴,从网上找的开源代码改的,感觉还是比较简单,其实主要就是pid和姿态解算,那时候不知道mpu6050的dmp,如果用dmp就不用那一串姿态融合算法了。今年想捣鼓捣鼓直升机。
收到你的邮件了,速率要求不高的话DMP比较方便吧。直升机还没玩过,有机会向你请教请教
多谢支持~还在学习阶段,有后续成果了会来继续分享~
我是先用了MWC的程序平稳飞了,然后再来研究它的代码,整姿态整了有点久。
这东西的确好玩,以后搞通了多分享一下心得呀,什么常用算法,调试方法的
OK!已发送,有问题可以一起交流。
已发送,有问题可以一起交流
哈,我只是个搬运工。调试可以把PID都清0,先调P看看效果,P越大感觉回力越大。网上也有调试的视频。