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

2023-05-16

  从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

设计思路及常见问题解答

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

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • APM飞控学习之路:5 串口概述与收发调试

    云中谁寄锦书来 xff0c 雁字回时 xff0c 月满西楼 当无人机在空中飞翔时 xff0c 从APM飞控到飞手之间有几条看不见的 风筝线 xff08 1 xff09 2 4GHz的遥控 xff1b xff08 2 xff09 433 91
  • Pixhawk学习7——位置解算

    Pixhawk的位置解算分为两部分 xff0c 第一部分主要为传感器的数据获取 xff0c 而该部分最主要的就是GPS数据的提取 第二部分为与惯性器件之间的组合导航 组合导航的好处我就不用多说了 Pixhawk代码中目前主要有两处组合导航的
  • Pixhawk_bootloader简介

    Pixhawk Bootloader引导过程简介 自己结合网络上的资源总结的内容 有不对的地方请及时指出 有侵权的请指出 QQ 4862879 Pixhawk硬件使用STM32的芯片 Cortex M3的内核有三种启动方式 xff0c 其分
  • pixhawk飞控小车倒车_Pixhawk 系列

    Pixhawk 系列 Pixhawk opens new window is an independent open hardware project providing readily available low cost and hig
  • 转载:Pixhawk源码笔记八:添加新的参数

    转载 xff1a 新浪 64 WalkAnt 第九部分 添加新的参数 英文参考 xff1a http dev ardupilot com wiki code overview adding a new parameter 本节源自 xff1
  • PX4/PixHawk无人机飞控应用开发

    最近做的一个国防背景的field UAV项目 xff0c 细节不能多谈 xff0c 简单写点技术体会 1 PX4 Pixhawk飞控软件架构简介 PX4是目前最流行的开源飞控板之一 PX4的软件系统实际上就是一个firmware xff0c
  • Pixhawk飞行模式的讨论

    手动模式 offboard 地面站 操控的区别 使用遥控操纵的模式 Simple and Super Simple 选项 加了这个选项之后 xff0c 它的磁力计会记录飞机解锁时 xff0c 朝向就是无人机的前方 每个飞行模式的旁边都有一个
  • Pixhawk代码分析-源码框架

    源码框架 pixhawk代码框架 xff1a pixhawk代码框架基础分析 xff1a 阅读下面内容时请结合源码阅读 xff0c 便于理解 The basic structure of ArduPilot is broken up int
  • pixhawk mc_pos_control.cpp源码解读

    好久没跟新blog了 xff0c 这段时期边调试边看程序 xff0c 所以有点慢 要开始着手调试了 这篇blog是顺着上一篇pixhawk 整体架构的认识写的 xff0c 接下来看程序的话 xff0c 打算把各个功能模块理解一遍 xff0c
  • F450机架 Pixhawk飞控实现自动避障(2019.11.29)

    之前进行无人机项目 xff0c 实现避障 巡航 定点 航拍等功能 xff0c 项目结束 xff0c 在这里进行分享经验 xff0c 项目所用器件为自己使用的 xff0c 仅供参考 xff0c 实际实现须结合自己实际情况 1 传感器选择 权盛
  • PX4/Pixhawk---uORB深入理解和应用

    The Instructions of uORB PX4 Pixhawk 软件体系结构 uORB 主题发布 主题订阅 1 简介 1 1 PX4 Pixhawk的软件体系结构 PX4 Pixhawk的软件体系结构主要被分为四个层次 xff0c
  • pixhawk接口图以及引脚说明

    pixhawk接口图和引脚如下 pixhawk可以同时使用2个GPS xff0c 这只能使用其中一个罗盘 xff0c 实际中飞控挑选其中信号好的一个GPS进行定位 硬件部分 xff1a 第二个GPS插在serial 4 5接口上 xff0c
  • pixhawk串口读取传感器数据

    1 Pixhawk板上串口说明 xff1a 测试 使用Pixhawk板上TELEM2接口的USART2 xff0c 对应的Nuttx UART设备文件尾 dev ttyS2 xff1a 2 读取数据测试 步骤 xff1a 在Firmware
  • 感受一下SPL06气压计+APM三阶互补的高度融合

    不得不说 xff0c spl06气压计很强 xff0c 原始数据也比较干净 xff0c 短时间可以保持在30cm内浮动 xff0c 滤波后在10cm内浮动 就是这么夸张 使用APM的三阶互补滤波融合出 高度 xff0c 速度 xff0c 效
  • 浅谈APM系列-----update_flight_mode(ModeAltHold)

    update flight mode xff08 ModeAltHold xff09 这里只看ModeAltHold 位置 xff1a X ardupilot ArduCopter mode cpp update flight mode c
  • APM与Pixhawk间的关系

    1 APM 本文APM指代 xff1a https github com ArduPilot ardupilot 2 Pixhawk 本文Pixhawk指代 xff1a https github com PX4 Firmware 3 关系
  • APM飞控学习之路:4 源码裁剪与下载

    月盈则亏 xff0c 水满则溢 当博主编译完成 xff0c 以为离成功更近一步准备下载的时候 xff0c 殊不知陷阱也早已准备好 xff0c 等待我的踏入 连上USB线 xff0c 下载 xff0c timeout xff0c timeou
  • Omnibus F4V3 Pro飞控,APM飞控显示电池电压电流

    默认时 xff0c Omnibus F4 Pro烧写APM飞控后 xff0c 电池检测器没有设置的 想要屏幕上显示电池电压和电流信息 xff0c 就需要设置一下 设置信息如下 xff1a BATT MONITOR 61 4 然后重启 xff
  • APM添加参数

    APM添加参数 参考 https ardupilot org dev docs code overview adding a new parameter html 添加应用参数模块 例如 battery Parameters h k par
  • APM中电机输出分析

    一 APM类分析 老规矩 xff0c 先上类图 xff08 1 xff09 如图 xff08 1 xff09 所示 xff0c AP Motors是大部分电机类的父类 xff0c 是AC AttitudeControl姿态控制类的保护型成员

随机推荐