怒飞垂云“鹏心”通用型飞控说明书

经过长达一年的等待,怒飞垂云“鹏心”通用型飞控已经上市,淘宝链接:点我

硬件参数

  • 处理器: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

配件

  • USB Type-c 线 × 1
  • GH转USB Type-c 模块 × 1
  • 电源模块 × 1 :3S~12S 转5V/5A
  • TF卡 × 1 :16G
  • GH线缆若干
  • GPS模块(选配):ublox M8N,CAN总线接口,集成RGB LED,IST8310外置磁罗盘

固件下载

 我们会定时发布稳定版的固件(固定翼、多旋翼、无人车等),下载地址:

链接:https://pan.baidu.com/s/1Ri_YiuwkFlV3164sskpaKg
提取码:nfcy

 当然,你也可以自主编译固件并下载,参考链接:http://www.nufeichuiyun.com/?p=834

注意,暂时不支持使用MissionPlanner联网自动下载固件,请使用MissionPlanner的“加载自定义固件”的功能来烧写固件。

接口定义

需要飞控控制舵机的用户请注意:上图中PWM输出接口中,只有SBUS信号(RC IN)对应的电源插针是与飞控内部5V连接在一起的,从而飞控可以为遥控器接收机供电。但是,其他PWM接口(M1~M8、A1~A6)的电源插针是没有跟飞控内部的5V连接在一起的,我们只是将这些PWM接口(M1~M8、A1~A6)的电源并联在了一起。这样做的原因是:在某些固定翼应用中,如果使用飞控内部5V给舵机供电,舵机的峰值电流如果过大,可能导致飞控电源模块过流保护,进一步导致飞控重启,这是非常致命的,因此业内普遍的做法是将飞控和舵机分开供电。对于我们这个飞控,大家只需要在任意一个空余的PWM接口上插一个UBEC模块,即可为所有PWM接口提供单独的5V电源,从而在不修改任何线缆的情况下,实现飞控与舵机的单独供电。

输出通道与参数对应关系:全部参数表中,SERVO1~SERVO8对应硬件的M1~M8,SERVO9~SERVO14对应硬件的A1~A6。

设计思路及常见问题解答

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?share=1&shareId=1448054983),门门通,不如一门精,我们很少遇到既用到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。

9、作为一款开源硬件,都公开哪些设计资料?

 作为一款开源硬件,怒飞垂云“鹏心”通用型飞控向用户提供核心板、底板、电源模块的PCB设计文件以及飞控外壳的三维图。下载地址:链接

 使用这些文件,用户可以直接生产出一模一样的飞控,并且也可以将这些设计文件应用到自己的设计中。电路板设计文件中的原理图、封装都是经过验证的,大家可以放心使用。可以说,怒飞垂云“鹏心”飞控算是业内开源开的最彻底的。

使用注意事项

1、连接GPS模块

 注意,如果飞控只连接一个串口版的GPS模块,请插在“S3&IIC4”接口上,不要插在“S4&IIC2”上,否则无法识别到GPS。

2、电源模块设置

 由于对系统总电流的测量需要在供电回路中串联电阻,这会在一定程度上降低系统的可靠性,因此飞控附带的电源模块只保留了总电压测量的功能,在全部参数表中修改如下参数的值可以打开电压测量功能:

  • BATT_MONITOR:3
  • BATT_VOLT_MULT:19.47
  • BATT_VOLT_PIN:0

3、串口对应关系

 飞控中有两个串口概念:一个是物理串口概念(UART1~UART8),另一个是软件里的串口概念(SERIAL0~SERIAL7),比较让人困惑的是二者不是一对一关系,比如UART1不是对应SERIAL1。为了方便大家使用,我们这个飞控设计时将对应关系梳理了一下,在飞控外壳激光打标的标记里直接标记了“SERIALx”字样,直接与全部参数列表中的SERIALx_BAUD等参数一一对应,在字符太长的地方,我们将“SERIALx”简称为了“Sx”,比如“S4&IIC2”表示“SERIAL4和IIC2”。各个SERIAL对应功能列举如下:

  • SERIAL0:这个实际对应的是USB接口,飞控的USB接口插到电脑上之后会虚拟成一个或者两个串口,由于是虚拟串口,因此没有实际的波特率一说,大家通过USB连接飞控时不需要刻意选择波特率,使用任何波特率都行;
  • SERIAL1:默认参数下是用来接数传电台,默认波特率为57600。但是注意,后面的“SERIAL2~SERIAL5”都可以配置为接数传电台,只需要将“SERIALx_PROTOCOL”设置为1即可。当然也可以根据自己的实际需求将其配置为其他任意功能,非常灵活;
  • SERIAL2:默认参数下也是用来接数传电台的,默认波特率是57600;
  • SERIAL3:默认参数下接第一个GPS,注意,如果你只有一个GPS,请插到这个接口上面。在此飞控中SERIAL3和IIC4共用了一个GH6pin连接器(打标:S3&IIC4),用来接市面上常用的含外置磁罗盘的GPS模块,其中GPS的TX接飞控的RX,GPS的RX接飞控的TX,磁罗盘的SCL接飞控的SCL,磁罗盘的SDA接飞控的SDA(也就是说只有串口需要交叉连接,其余接口不能交叉连接);
  • SERIAL4:默认参数下接第二个GPS,注意,如果你有两个GPS,将第二个GPS插到这个接口上面。
  • SERIAL5:默认参数下处于关闭状态,可以配置为任何功能;
  • SERIAL6:飞控中并没有引出,保持默认参数即可。

京ICP备19049723号   |   京公网安备 11010502039327号