ArduPilot飞控之DIY-F450计划

本文详述了一个DIY者从BetaFlight转向ArduPilot飞控系统的F450四轴无人机计划,包括硬件选择(如KakuteF7飞控,BN880GPS,ELRS接收机等),软件配置,以及接线与校准步骤。作者分享了从选择机架到配置电源、校准传感器和设置安全功能的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 历史

去年这个时候(2022年5月),DIY第一台航模,详见:四轴飞控DIY简明步骤介绍

初衷还是比较简单的,大致整理如下:

  1. 从多方面了解航模

结构,电子,软件,空气动力学,视频通讯链路,远程控制链路等

  1. 上手组装一台高性价比的试飞体验

DIY且能更换开源固件,以便体验控制系统差异带来的好处

  1. 简单且容易上手

希望不要太受打击,要能比较好的上手体验

基于上面的各种考虑,最后挑了个F450的机架,选择了BetaFlight飞控系统。同时经历了下面各种“坑”。

【1】四轴飞控DIY简明步骤介绍
【2】四轴飞控DIY调试起飞简明步骤
【3】四轴FPV无人机手动操作简明介绍
【4】四轴飞控DIY集成FPV功能
【5】TX12 + ExpressLRS 915MHz RC控制链路配置及问题汇总
【6】关于穿越机FPV视频果冻效应的讨论
【7】BetaFlight & BeeRotorF3 四轴飞行器配置F450
【8】穿越机用途和机架尺寸
【9】四轴飞控DIY Mark4 - 减震
【10】四轴飞控DIY Mark4 - RTH/GPS Rescure
【11】四轴飞控DIY Mark4 - 整理&参数优化
【12】四轴异常炸机分析讨论集锦
【13】四轴FPV手动训练进阶步骤
【14】【杭州】户外航模试飞地踩点

2. 源由

作为新手玩航模入门,对上面这些基础概念有了一定了解,大体上有了对四轴航模飞行,有了一手体验。

BetaFlight是一个着重飞行体验的系统,因此全程基本上手不离遥控器(虽然也有自稳模式,但是离手,总感觉飞机就要坠毁)。

因此,想使用开源系统体验一把大疆无人机的控制感受(这里不是指视频,主要指控制,比如:任务模式)。

鉴于KakuteF7硬件内部有1MB的Flash存储空间。当前ArduPilot支持该硬件,也就有了本文关于ArduPilot飞控之DIY-F450计划,有兴趣的朋友可以跟着我一起来看看这个过程。

3. 计划

关于ArduPilot飞控之DIY-F450计划大体上分几个步骤来展开:

  1. 硬件
  2. 软件
  3. 接线
  4. 配置
  5. 遥控试飞
  6. 地面站试飞

注:试飞这段内容我们将后面结合实际情况再行介绍,本文着重1 ~ 4步。

3.1 硬件

  1. 飞控:Kakute F7 AIO V1.5
  2. 机架:F450
  3. 动力:翱云2212电机(正反一对)x 2 + ESC电调(20A) x 4 //这个电机网站链接已经废了,具体规格可以参考:四轴飞控DIY简明步骤介绍
  4. 桨叶:正反自锁桨叶(一对) x 2
  5. 遥控:TX12
  6. ELRS:发射机 + 接收机
  7. GPS:BN880 (含磁力计)
  8. 电传:权盛电子 Radio Telemetry V5 433MHz/57600bps 100mW
  9. 电池:3S 2200mAh 25C
  10. 杜邦线若干 + SH1.25 6pin 连接线 x 2
  11. 小米pad4 x 1 (安装android版本Mission Planner)
  12. 笔记本电脑 x 1 (安装Windows桌面版本Mission Planner)

3.2 软件

  1. Mission Planner v1.3.80
  2. Ardupilot 4.3.5 @Kakute F7 AIO
  3. ELRS v3.2

注:这里都是开源软件,开源就是真理!!!

4. 动手

4.1 接线

基本DIY-F450接线与之前类似,请参考:四轴飞控DIY简明步骤介绍

注1:每块板子Ardupilot官网都有介绍,请查阅:Holybro Kakute F7 and KAKUTE F7 AIO

注2:Kakute F7 AIO板子 5V供电最大支持2A,一般来说是够用了。因为本次需要用到GPS/ELRS/Telemetry,考虑以下几个问题:1)接线;2)供电;3)当前现状,F450使用了PBD板;本次将GPS/Telemetry的供电直接从PDB板子引出。

4.1.1 ELRS nano接收机

VCC:5V供电
RX:接飞控Tx
TX:接飞控Rx
GND:要靠近飞控

注:笔者就用了PDB板子供电,导致Rx/Tx信号电平不太对,无法通信。如果GND是直接使用飞控板子上的地,通常没问题。

在这里插入图片描述
注:如果要使用Kakute F7 AIO板子上的Serial6,请注意配置BRD_ALT_CONFIG = 1。

4.1.2 BN880 GPS模块

在这里插入图片描述

4.1.3 Radio Telemetry

这个权盛电子 3DR Radio Telemetry V5 433MHz/57600bps 100mW接线都是给PX4飞控用的,所以接线头都是做好的,但是为了给笔者的KakuteF7用,那就需要焊接。

焊接就需要知道6pin引脚的定义,但是问题规格里面没有这个JST-GH1.25 6pin引脚定义。

Specifications:
Item Name: For 3DR Radio Telemetry Module
Band: 433MHz 915MHz
Receiver sensitivity: -117 dBm
Air data rates: up to 250kbps
Transmit power: up to 20dBm (100mW)
Antenna connectors: RP-SMA connector
Output Power: 100mW (20dBm), adjustable between 1-20dBm
Interface: Standard TTL UART
Connection status: L ED indicators
FPV Radio telemetry air module size: 50 x 27 x 10mm
FPV Radio telemetry ground module size: 70 x 22 x 11mm
Package size: 165 x 80 x 11mm
Color: Black

在这里插入图片描述
在这里插入图片描述

因此我们找了PX4飞控引出给电传使用的引脚定义,然后找到VCC/GND/TX/RX,这样就能够进行连接。

在这里插入图片描述
最终,测试得出结果如下(CTS/RTS可以不接):

在这里插入图片描述

4.2 配置

可参考如下视频:

ArduCopter setup and first flights

Ardupilot Drone Build How-To Series Part 1- Basic Hardware

Ardupilot Drone Build How-To Series Part 2- GPS Setup

Ardupilot Compass Configuration CAN - Serial - Drone Build How-To Series Part 3

4.2.1 选择四轴机型

因为使用的是外置PWM电调,所以只要把机型选对,转向到时候可以手动调整。

在这里插入图片描述

在这里插入图片描述

4.2.2 电源参数调整

采用的是3S电池,所以调整Battery CellCount

在这里插入图片描述

4.2.3 校准加速度计

请一次根据页面提示进行操作,逐步校准IMU。

在这里插入图片描述

4.2.4 校准磁力计

最好用电池,拿掉桨叶。连着USB线,翻转不是很方便。

在这里插入图片描述

4.2.5 遥控器校准

主要是对遥控器各个通道的范围进行校准。

注:这里需要注意的是一个飞行模式,最多有6个模式,需要好好的研究下遥控器使用手册。这里只是简单示意。
在这里插入图片描述

4.2.6 电机设置

四轴电机,主要是#1 #2 #3 #4,四个电机设置。
在这里插入图片描述

4.2.7 电调校准

请按照UI上面的提示进行操作。
在这里插入图片描述

4.2.8 飞行模式

这里笔者使用默认(所有的都是stabilize),直接手动自稳飞行。

注:关于模式的设置,后续会专门结合Mission Planner或QGC进行解释给出。
在这里插入图片描述
笔者TX12配置的飞行模式如下所示:

在这里插入图片描述

4.2.9 Failsafe设置

新手刚接触Ardupilot,建议采用默认。

在这里插入图片描述

4.2.10 检查硬件情况

这里主要是Baro/MagMeter/IMU识别情况,请确认硬件识别是否正确。

在这里插入图片描述

4.2.11 额外电源监测设置

Google/Baidu没有找到这块KakuteF7 AIO的设置方法,但是如下设置确实可以正确的识别电压。

注:鉴于目前使用了PDB板,所以电流无法获取。
在这里插入图片描述

5. 总结

经过上面的基本配置,ArduPilot飞控DIY-F450初步整机情况如下:

MissionPlanner界面

在这里插入图片描述

硬件连线

在这里插入图片描述
整机情况
在这里插入图片描述

在这里插入图片描述

声明:该设计资料来源于网友eeworld-lb8820265的开源分享,仅供学习参考,不可用途商业用途。 你是否也和我一样有这样的疑惑:论文中那么多四旋翼控制算法和姿态解算算法,为何在开源四旋翼平台中见不到?控制算法都是PID,姿态解算都是mahony和EKF。 但现在四旋翼控制还存在很多问题,例如:抗干扰能力和鲁棒性有待继续提高,变重心变质量情况下的控制效果不佳,起飞不稳定,室内自主悬停控制不够理想,惯性导航和室内导航精度低等。可研究的内容还很多,任重而道远。会发现当仿真通过后,却找不到一个趁手的四旋翼平台进行验证。 目前适合研究的四旋翼平台: Pixhawk功能强大,可扩展性好。但是也存在着如下的问题: 1. 编译复杂,开发环境不是IDE,无法在线debug 2. Nuttx操作系统复杂,而且实时性有待提高,传感器数据读取到最后控制输出的时间过长 3. 很多代码用matlab生成,不利于阅读,没有利用F4的Dsp核,效率低下,且代码结构复 杂,不利于二次开发 4. 数传速度低,只有1Hz,不能实时分析 5. IMU没有减震,需要整个飞控加减震 6. 修改程序到成功烧录过程繁琐,且不支持无线更新 大疆的M100和guidance是不错的开发平台,但是却主要用来开发视觉算法。控制算法和姿态解算给封装了。 其他:某宝上面的各种飞控,元器件性能低下,无操作系统,控制算法和姿态解算算法性能低,接口少,作为玩具还可以,作为科研那就呵呵了。Ascending Technologies公司的四旋翼开发平台倒是经常被各个科研院校和比赛使用,但是价格摆在那里。 因此越来越感受到拥有一个适合研究的四旋翼平台的重要性,无奈我个人的精力和能力有限,因此开贴聚拢志同道合的朋友共同学习,只有开源才能促进技术的进步。 初步设想的四旋翼具有如下的特点: 1. 具有先进的控制和姿态解算算法 2. 程序模块化设计,方便各种算法的实现 3. 提供Matlab仿真和理论支持 4. 高速数传,数据波形实时查看和分析 5. 高性能MCU和IMU 6. 优化代码,充分利用DSP核 7. 支持无线更新 8. 使用IDE编写、编译、调试和烧录 9. 采用简单高效的操作系统,充分减少控制延时 10. IMU放到有减震海绵的铝盒子里,接口形式可更换不同方案 11. 提供多种常见接口,也提供以太网接口,方便连接机载电脑 根据我个人的优势和技术的特点,初步确定四旋翼软硬件如下: MCU+GPS+IMU盒子方案一: 元器件 型号 MCUSTM32F746ZGT6 GPS+Mag3DR GPS Acc+MagLSM303AGR GroL3GD20H Acc+GroLSM6DSM 气压计LPS22HB IMU盒子方案一全部采用ST最新的高性能元器件,有现成的驱动,和Pixhawk一样采用双陀螺仪加速度计冗余设计。MCU 采用高性能F746,可以运行复杂算法。 IMU盒子方案二:元器件型号 AccADXL354 GroADXRS642 ×3 气压计MS5803 IMU盒子方案二采用ADI高性能惯性传感器和高性能气压计,满足更高性能需求。飞控软件相关: 部分 具体 操作系统FreeRTOS 文件系统FatFs 通信协议Mavlink 开发环境Keil+QT 协同工作Github 开源协议BSD3-clause 四旋翼飞控的主板,IMU,元器件和主控板第一代实物截图: 过一番探讨,决定第一版硬件采用三部分组成,核心版采用Nucleo F767,主板固定在机架上,IMU做成减震盒子。 主板上接口与硬件:PWM遥控接口,PPM遥控接口,8个电机控制接口,1个PWM用户接口, 3DR GPS的接口,SD卡接口,电源管理,Flash,三色LED灯,F450机架接口。 IMU上硬件与接口:LSM6DSM,LPS22HB,LSM303AGR,ICM20608,2W加热电阻,3.3V电源,14pin的排线接口。 IMU上采用了很多冗余器件,例如LSM6DSM与ICM20608功能重合,主要是为了测试性能。 说明: EEDrone开源四旋翼从零开始详细的制作步骤,详见“相关文件”超链。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值