首先是一大堆的感谢,太多人的帮助,感谢不完了…………首先要说明,这个PCB工程的出现要感谢论坛上的台湾大哥 john800422 开源了自己的飞控板的工程文件,我这样的没啥基础的小弟们才能学会如何制板,也才能开发出这套F4的飞控。要感谢论坛上第一个做wifi小四轴的小哥,那小哥确实花了好多功夫才把RTT自带的那个基本没法用的wifi驱动移植上来的……要不是那小哥后来蒸发了,我怎么想买他的板子都买不到,也许我也就不会做这个小四轴了…………wifi部分基本是参照这小哥的思路来的,虽然这小哥没提供多少资料,但是在我从新移植的过程中却在网络上各处搜到了这小哥当时移植驱动留下的足迹,确实非常困难,感谢这小哥之前一年多的辛勤付出。飞控程序继续沿用我之前的“山猫飞控”,鉴于硬件的增强,算法相应参数也做了适当的调整,性能提高了不少。感谢俊哥提供了最初的算法支持,无雪大神传授惯导经验,猴哥等人讨论控制算法,嘉哥条哥拓哥……………………果然感谢不完了…………
本次更新废除了几乎全部的商业软件和代码(操作系统由uCIII换成了RTT,上位机全部使用java开发,3D引擎图表引擎摇杆驱动均为开源协议),整个飞控从此严格遵守GPLv2协议,使用该代码的人需要开源自己的相关代码。
好了,开始介绍我的LynxFly吧~
该飞机面向有科研和强烈学习意向的小伙伴们使用,如果只是想玩的话你肯定不会喜欢这套四轴的,主要设计思想是提供一个高性能的控制和姿态算法验证平台,因此牺牲了许多“玩”的性能,却大幅的提高了通信和运算的能力。该机可以承载很大的通信数据量,通信部分我已经做了多线程时线程安全的考虑,可以随意的printf给上位机,完全不用自己考虑线程安全和数据胡乱穿插的问题(还没测试过最大能承载多大的数据量,但是实时发送存储飞控数据已经足够了)。最关键的是中央最优越的地理位置被一颗螺丝孔霸占了……这是做控制算法的人所必须的,连接万向节测试控制效果。上下位机软件的开发遵循“最简,方便修改”的原则,实现了大多数的功能,但是没有把程序写到“很大很复杂”,这样使用我程序的小伙伴们就可以非常方便的找到核心代码并按照自己的需求进行更改。
硬件:
为了更好的兼容台湾大哥 john800422以后的硬件和代码,电路连线未做大幅更改,仅将按键换了IO口。
主控:STM32F405RGT6
传感器: MPU9150+ms5611
通信: 完全的wifi通信 WM-G-MR-09
锂电充电:TP4056
SD卡: 支持
USB:支持 但目前没有驱动,仅提供充电
遥控方式: 航模手柄(接收机会超重,不建议使用),电脑USB游戏手柄,android手机(2.3以上可以遥控,4.0以上支持多点触控遥控)
电池: 300mah航模1s动力锂电池
电机驱动:MOS管驱动,带续流与匹配电容(没有试验条件暂时没法确定匹配电容的容量)
电机: 716空心杯电机 配46mm桨
重量: 含电池39.3g 不含电池30.4g
最大特点: 中央螺丝孔设计,可以连接转杆和万向节,方便进行控制和姿态算法的测试。
软件:
下位机:RT-Thread实时开源操作系统,UDP wifi通信,山猫飞控,SWD编程,不支持无线下载固件。
上位机:JAVA上位机,可接主流各种游戏手柄,强实时的3D姿态显示,飞控各种数据实时图表显示,自动记录并保存为excel格式。
android上位机:目前只提供虚拟摇杆的控制方式,3D姿态显示和体感控制暂时没有时间开发。
飞控算法:
导航:梯度法的全姿态姿态解算,200Hz姿态输出,仿DMP的自动陀螺0飘校准,磁阻融合姿态可以使用,但在室内环境下变化实在太大,会影响整体的姿态而被我暂时关闭了。有简单的惯导空间位移输出,但在简单的校准情况下漂移异常严重,仅空间速度勉强可用。在使用无雪大神的椭球拟合矫正加计和磁阻以后可以实现能用的空间位移输出,但是由于是付费软件的关系没有加到我的代码中,真的有需求的话可以找无雪大神购买。
控制:目前仅提供位置式PID的姿态控制 100Hz控制,以及单轴的自适应控制(原因见以前文章),稳定性上肯定是不如wmc的小四轴的(比如兔斯基),但是可以更好的理解控制的内涵而被我固执的保留了下来……飞机自带在线系统辨识的代码,可以提供几组在“最优参数范围”内的位置式PID参数供大家使用,所以该飞机只适合有科研和强烈学习意向的小伙伴们使用,如果只是想玩的话你肯定不会喜欢这套四轴的。
图片位~~~~~~~~~~~~~
视频位:
http://v.youku.com/v_show/id_XNjM2MDMwMzky.html
http://v.youku.com/v_show/id_XNjM1MjMyMTIw.html
http://v.youku.com/v_show/id_XNjM1MjM0MjQ4.html
本人不是专业做四旋翼的,现在研究生工作非常忙,不会大规模的卖东西,当然有强烈需求的话欢迎与我联系~我自然会开源我的代码的,有兴趣有时间的欢迎自己按照图纸制作。作为学生,最希望的还是能够得到更多的交流和知识,特别欢迎大家与我探讨导航和控制算法。扣扣 巴斯六舅三思六舅
下位机代码: http://download.csdn.net/detail/lynx2/6602901
百度网盘全部开源资料下载: http://pan.baidu.com/s/1oZBDM 电路工程文件:http://pan.baidu.com/s/1gSPbw