我设计了一款开源飞控,性能远超Pixhawk,运行APM固件-怒飞垂云

时间:2024-05-20 20:59:35

  从2009年到现在,我从事无人机研发将近11年了,中途设计过很多飞控,有闭源的无人飞艇飞控、大型固定翼无人机飞控,也有在开源飞控Pixhawk基础上修改的飞控,如今,基于STM32F7系列单片机的飞控逐步稳定成熟,于是我基于FMUv5架构设计了一款开源飞控,先上参数:

硬件参数

  • 处理器:STM32F765IIK6(Cortex M7内核,216MHz主频,2MB flash,512kB RAM)
  • 加速度计:ICM-20689、BMI088
  • 陀螺仪:ICM-20689、BMI088
  • 磁罗盘:IST8310
  • 气压计:MS5611
  • FRAM:FM25V02
  • 日志存储:TF卡
  • 遥控器输入:1个,支持PPM、SBUS、DSM
  • PWM接口:14个(8个主输出,6个AUX输入/输出)
  • CAN总线接口:2个
  • 串口:5个
  • IIC接口:3个
  • 电源接口:1个,含电压、电流传感器
  • 安全开关接口:1个
  • USB接口:GH连接器转Type-C
  • 尺寸:63.1mm*43.4mm*17.4mm
  • 重量:56g

我设计了一款开源飞控,性能远超Pixhawk,运行APM固件-怒飞垂云

设计思路及常见问题解答

1、为什么不上STM32H7,而是采用了STM32F7?

 在硬件设计上,无人机飞控以稳定可靠为第一优先级,这一点与一年一代的手机等电子产品不同。原版Pixhawk采用STM32F4系列单片机,发布已经将近7年了,但是其配置放到现在依然不过时,只是RAM大小逐渐无法满足更多的飞控功能需求。基于STM32F7系列单片机的开源飞控已经上市2年多了,APM固件对其支持已经非常完善,运行起来也称得上稳定可靠;而基于STM32H7系列单片机的开源飞控最近陆续发布,APM对其支持还在不断完善中,因此“怒飞垂云”的第一款通用型飞控决定基于STM32F7开发,达到性能和稳定性的均衡。

2、为什么只采用了2套IMU,而不是3套?

 根据我多年的飞行经验来看,2套IMU已经够用,如果为了凑够3套IMU,再额外加上一个低成本的IMU芯片意义不大。我们采用BMI088这款相对较贵的IMU(当然性能也更好????),结合ICM-26089,足以达到较高的可靠性。

3、为什么没有采用内减震的设计思路?

 飞了这么多年的无人机,我发现不管飞机是大是小,尽量都要上减震。但是不同飞机的震动特性差异很大,一种减震方法很难做到匹配多种机型。因此,作为一款通用型飞控,“怒飞垂云-鹏心”通用型飞控没有做内减震,这一方面降低了成本,另一方面也利于大家根据自己飞机的特性选择减震措施。不过,大部分情况下,我推荐使用“减震神器”,它之所以是“神器”,就是因为大部分情况下它能直接完美地解决问题。

4、USB座为什么不做在飞控底板上,而是通过GH连接器引出?

 大部分情况下,我们都是将飞控安装在机身里面的,可是“刷固件”、“下载日志”等常用操作又需要经常用到USB接口,使用USB延长线是能解决这个问题,但是一般USB延长线等线材都比较硬,拉扯着飞控会极其影响“外减震”的效果,多年来我深受其扰,因此我们将USB口直接通过GH连接器引出,方便使用。

5、为什么只支持APM(ardupilot)固件,而不支持PX4固件?

 从硬件上,我们是可以支持PX4固件的,但是需要一定的移植工作。我个人使用、修改APM固件将近6年,对APM更加熟悉,并且在网易云课堂上发布了一门基于APM固件的《无人机固件开发教程》(教程链接:https://study.163.com/course/introduction/1209568864.htm),门门通,不如一门精,我们很少遇到既用到APM固件又用到PX4固件的情况,因此我们的硬件暂时只支持APM固件,并且打算在APM固件的深入研究这条路上越走越远。

6、为什么采用“核心板”+“底板”的架构?

 此飞控将飞控所有的关键功能集成到了核心板上,将接口芯片放在了底板上,二者使用2mm间距排针焊接在一起。试想一下,如果你想快速制作出一款针对垂直起降固定翼无人机的飞控,打算将空速计、电源模块集成到飞控中,使用怒飞垂云飞控核心板,最快可以在1周内拿到整个飞控实物,这是不是很方便?如果你更急,直接将飞控核心板焊接在2mm间距的“万用板”上,1天是不是可以出一个专用飞控?

7、为什么核心板采用2mm间距排针而不是更紧凑的表贴B2B连接器?

 a、2mm间距排针引脚间距够大,两个引脚间可以走线,方便底板布线;b、2mm间距排针可以直接焊接在底板上,相对于插接件可靠性更高,并且不需要通过螺丝将核心板和底板固定在一起。

8、为什么飞控本体上没有集成RGB LED?

 大部分情况下,我们都是将飞控放在机身内部的,飞控本体集成RGB LED意义不大(当然调试的时候方便),因此“怒飞垂云-鹏心-通用型飞控”本体没有集成RGB LED,用户可以使用外置LED,或者“怒飞垂云GNSS模块”上集成的RGB LED。

作为一款开源飞控,开源到什么地步?

开到你拿着开源资料直接就能生产飞控!

资料下载地址:https://gitee.com/junzixing/Hardware

飞控官方介绍:http://www.nufeichuiyun.com/?p=799