首先是一大堆的感谢,太多人的帮助,感谢不完了…………首先要说明,这个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

最新文章

  1. CentOS搭建SVN记录
  2. KMP算法分析
  3. Unity5网络模块UNet介绍
  4. linux shell 命令学习(1) du- estimate file space usage
  5. flex脚本的申明
  6. asp.net中bin目录下的 dll.refresh文件
  7. JavaScript的作用域和变量对象
  8. xml动态修改 dom4j修改
  9. php模式设计之 策略模式
  10. 通过 docker 搭建自用的 gitlab 服务
  11. git 实际操作
  12. bootstrapvalidator的简单校验【必填校验、长度校验、是否存在校验(remote)】
  13. Oracle集群(RAC)时间同步(ntp和CTSS)
  14. 记一次Chrome冒充QQ浏览器领取奖励之行
  15. Web(一)
  16. 每天CSS学习之text-shadow
  17. Dubbo(4)消费Dubbo服务
  18. POJ 3415 Common Substrings 【长度不小于 K 的公共子串的个数】
  19. 膨胀卷积与IDCNN
  20. 关于 IOC和spring基本配置详解

热门文章

  1. java并发基础(四)--- 取消与中断
  2. 三星打印机SCX-4824HN全套驱动(打印/扫描)
  3. Upsync:微博开源基于Nginx容器动态流量管理方案
  4. dotNetSpider 手记
  5. h股和L股
  6. maven报错
  7. 【python】python安装tensorflow报错:python No matching distribution found for tensorflow==1.12.0
  8. cocos2d-x系列笔记技巧篇(2)---关于CREATE_FUNC宏的用法
  9. Java 正则表达式格式化时间显示
  10. Quartz 2.3.0 升级感受