1. 源由
有幸得到一台测试用Aocoda-RC F405V2 Mark4 7" PNP四轴(含Betaflight固件)。
由于inav出现过一次救援失败,之后绝大部分时间都在飞Ardupilot。
虽然从BUG #9184的链接情况看,貌似已于Oct 27, 2023加到7.0版本的milestone中,但版本修复还有待确认。
好,那我们拿到这种PNP的飞机,就直接准备上Ardupilot固件了。
注:简单测试了下自带的BF固件,飞了下,基本没什么大问题,证明动力&飞控都是好的,详见:Betaflight + AocodaRC F405V2 + UAV Tech 6/7" + Mark4 7" Long Range First Fly
![在这里插入图片描述](http://image109.360doc.com/DownloadImg/2024/06/2317/285307039_1_20240623050842830)
2. 安装
Ardupilot的安装,详见:First Time Setup。
大体上,可以分为以下步骤:
2.1 Installing Ground Station (GCS) software
Installing Ground Station (GCS) software
目前使用下来比较方便和常用的地面站是Mission Planner
2.2 Autopilot System Assembly Instructions
Autopilot System Assembly Instructions
- 飞控安装位置一般安装在重心位置,或者非常接近重心位置
- 机型尺寸比较小(< 10"),传感器距离重心位置可忽略;若大尺寸机架或者高精度要求,可以适当修正传感器位置,详见:Sensor Position Offset Compensation
- 飞控减震球较好的处理了IMU减震,若需进一步减震,详见:Vibration Damping
- 若安装需要调整角度,可修改AHRS_ORIENTATION参数进行方向对齐
- GPS/Compass: BN880
- RC input: ELRS915
- Motor/Servo Connections: Aocoda-RC 3060S
- VTX: JHEMCU 5.8G 40H 1.6W VTX
- Camera: JIN JIEAN 1200TVL 19x19mm
![接线图](http://image109.360doc.com/DownloadImg/2024/06/2317/285307039_2_20240623050842939.jpeg)
2.3 Loading Firmware
目前官方尚不支持F405V2,不过笔者这里已经有适配好的固件下载链接。
注:笔者常用的固件大家可到我的主页链接看看有没有需要的,如由于“墙”无法下载,请评论联系!
2.4 Connect Mission Planner to AutoPilot
Connect Mission Planner to AutoPilot 组装完成后,最重要的几个步骤,请切记:
- 检查各部件安装的电源供电,千万不要接错,如果接错可能会烧板子的;
- 检查通信线路接线正确:比如:FC_SDA – GPS_SDA、FC_Tx – Receiver_Rx
- 上电检查,请分步操作:一个一个模块单独上电,将损失减小到最低;
- 上电完成后,最重要的就是MP软件连上,并看到几个基本硬件工作正常;
- 连接地面站成功
![在这里插入图片描述](http://image109.360doc.com/DownloadImg/2024/06/2317/285307039_3_20240623050843596.png) - 陀螺仪、气压计、磁力计成功发现
- 正确配置陀螺仪
F405V2只有一颗IMU:MPU6500 或者MPU6000。
笔者拿到手的这块飞控是MPU6500,使用Copter-4.4.2-AORC-2023.11.05,修改配置如下:
EK3_IMU_MASK = 1 //MPU65000(1), MPU6000(2), default 3 INS_ENABLE_MASK = 1 //MPU65000(1), MPU6000(2), default 127 EK3_PRIMARY = 0 //MPU65000(0), MPU6000(1), default 0
重点关注事项:这个显示是MPU6000,实际硬件上是MPU6500,所以具体IMU型号,请看板子,不要看MP显示的。搞了半天这个问题,晕头转向的。
![在这里插入图片描述](http://image109.360doc.com/DownloadImg/2024/06/2317/285307039_5_20240623050845189.png)
3. 配置
Ardupilot的配置,详见:Mandatory Hardware Configuration。
大体上,可以分为以下步骤:
3.1 Basic System Overview
Basic System Overview
关于飞控配置整体上可以分为三点:
- Inputs: 遥控器、地面站
- Outputs: 动力、控制
- Sensors:陀螺仪、气压计、磁力计、GPS等等
3.2 Frame Class and Type Configuration
Frame Class and Type Configuration
FRAME_CLASS = 1 //Quad FRAME_TYPE = 12 //BetaFlightX
3.3 Motor Numbering and Direction
Motor Numbering and Direction 现在,航模上比较流行的固件是inav和betaflight,这里就看一下两种常用四轴构型。
![在这里插入图片描述](http://image109.360doc.com/DownloadImg/2024/06/2317/285307039_6_20240623050845408.png)
- 配置DShot600(地面站连接页面也提示DShot1-4)
注:DShot不需要做ESC校准,如果使用其他协议,请参考:ESC Calibration。
![在这里插入图片描述](http://image109.360doc.com/DownloadImg/2024/06/2317/285307039_7_20240623050845830.png)
如果上述配置过程遇到问题,请在参数表中确认以下参数是否正确。
MOT_PWM_TYPE = 6 // Dshot600 SERVO_BLH_AUTO = 1 SERVO_BLH_POLES = 14 //磁极对数量和电机相关 SERVO_BLH_OTYPE = 6 //dshot600 SERVO_DSHOT_ESC = 2 //BLHeli_S SERVO_DSHOT_RATE = 0 //default 1khz SERVO_BLH_TRATE = 10 //default 10Hz
Copter-4.4.2-AORC-2023.11.05固件不支持bdshot,所以在参数表中无法找到BDMASK。
SERVO_BLH_BDMASK = 0 //default
在d30f080 版本,对比分析dshot600和bdshot600,APM上系统开销增加有限,相差3%。为什么不用bdshot呢???
commit d30f080950b9d44e0d0268ad675dbdb37aaf7adf (HEAD -> Copter-4.4-AocodaRC, origin/HEAD, origin/Copter-4.4-AocodaRC)
Author: daniel.li <lida_mail@163.com>
Date: Thu Nov 16 13:15:29 2023 +0800
hwdef: add bdshot for F405V2
Aocoda-RC F405V2 APM CPU difference bewteen dshot600 and bdshot600
3.4 Radio Control Calibration
Radio Control Calibration
- 摇杆校准
![在这里插入图片描述](http://image109.360doc.com/DownloadImg/2024/06/2317/285307039_10_20240623050847454.png) - 遥控配置
注1:笔者采用TX12配置A+C,进行6个模式选择。各种遥控器的关于通道多个PWM值的配置方式可能有差异,请参考:RC Transmitter Mode Setup。 注2:关于飞行模式的详细解释,请参考:Flight Modes。 ![在这里插入图片描述](http://pubimage.360doc.com/wz/default.gif)
![在这里插入图片描述](http://pubimage.360doc.com/wz/default.gif)
SERIAL2_PROTOCOL = 23 SERIAL2_OPTION = 0 SERIAL2_BAUD = 115 RC_PROTOCOLS = 1 RSSI_TYPE = 3
FLTMODE_CH = 6 RC_OPTIONS = 544 //RC_OPTIONS turn on Bit 9th which is “Suppress CRSF mode/rate message for ELRS systems”. RC7_OPTION = 94 //VTX power RC8_OPTION = 154 //armdisarm RC9_OPTION = 4 //RTL RC2_REVERSED = 1 //forward&backward
注:关于救援的问题比较复杂,不再这里展开,请参考:Failsafe Mechanisms。
3.5 Accelerometer Calibration
Accelerometer Calibration
![在这里插入图片描述](http://pubimage.360doc.com/wz/default.gif) ![在这里插入图片描述](http://pubimage.360doc.com/wz/default.gif)
3.6 Compass Calibration
Compass Calibration 注:磁力计经常受到周边环境的干扰,请多次尝试,或者换干扰相对少的环境进行校准,详细可以参考:Magnetic Interference。 ![在这里插入图片描述](http://pubimage.360doc.com/wz/default.gif)
3.7 Installing GPS+Compass Module
Installing GPS+Compass Module
SERIAL1_PROTOCOL = 5 SERIAL1_OPTION = 0 //default SERIAL1_BAUD = 115 //115200
gps_status = 1 表示GPS串口已经连上。 ![在这里插入图片描述](http://pubimage.360doc.com/wz/default.gif)
3.8 PID Preliminary Set
使用InitialParamsCalculator 对7"机架进行PID初始化,详见:ArduPilot之H743+BMI270x2+First Normal Takeoff
![在这里插入图片描述](http://pubimage.360doc.com/wz/default.gif)
4. 总结
适配后,整体显示正常,可以尝试起飞!!!
注:有兴趣的朋友,请继续关注后续视频和blog记录。
Ardupilot 4.4.3 Aocoda-RC F405V2 Mark4 7“ First Take Off
Copter-4.4.3-AORC-2023.11.18
![在这里插入图片描述](http://pubimage.360doc.com/wz/default.gif)
2023/11/18 16:41:35 : PreArm: RC not found
2023/11/18 16:41:33 : u-blox 1 HW: 00080000 SW: EXT CORE 3.01 (d189ff)
2023/11/18 16:41:31 : GPS 1: u-blox saving config
2023/11/18 16:41:17 : GPS 1: detected as u-blox at 230400 baud
2023/11/18 16:41:14 : EKF3 IMU0 MAG0 initial yaw alignment complete
2023/11/18 16:41:14 : EKF3 IMU0 tilt alignment complete
2023/11/18 16:41:13 : AHRS: EKF3 active
2023/11/18 16:41:13 : EKF3 IMU0 initialised
2023/11/18 16:41:11 : RCOut: DS600:1-4 PWM:5-9
2023/11/18 16:41:11 : AHRS: DCM active
2023/11/18 16:41:11 : ArduPilot Ready
2023/11/18 16:41:10 : Barometer 1 calibration complete
2023/11/18 16:41:10 : Initialising ArduPilot
2023/11/18 16:41:09 : Frame: QUAD/BF_X
2023/11/18 16:41:09 : RCOut: Initialising
2023/11/18 16:41:09 : Aocoda-RC-F405V2 003E002B 32324713 32333535
2023/11/18 16:41:09 : ChibiOS: 17a50e3a
2023/11/18 16:41:09 : ArduCopter V4.4.3 (8eac5843)
2023/11/18 16:41:09 : Frame: QUAD/BF_X
2023/11/18 16:41:09 : RCOut: Initialising
2023/11/18 16:41:09 : Aocoda-RC-F405V2 003E002B 32324713 32333535
2023/11/18 16:41:09 : ChibiOS: 17a50e3a
2023/11/18 16:41:09 : ArduCopter V4.4.3 (8eac5843)
2023/11/18 16:41:09 : Frame: QUAD/BF_X
2023/11/18 16:41:09 : RCOut: Initialising
2023/11/18 16:41:09 : Aocoda-RC-F405V2 003E002B 32324713 32333535
2023/11/18 16:41:09 : ChibiOS: 17a50e3a
2023/11/18 16:41:09 : ArduCopter V4.4.3 (8eac5843)
2023/11/18 16:41:08 : Calibrating barometer
![](http://pubimage.360doc.com/wz/default.gif)
注:PID参数有待调整,一把飞的情况不存在,呵呵!!!
5. 补充资料
5.1 Downloading and Analyzing Data Logs in Mission Planner
Downloading and Analyzing Data Logs in Mission Planner
LOG_DISARMED = 3 If LOG_DISARMED is set to 3 then logging will happen while disarmed, but if the vehicle never arms then the logs using the filesystem backend will be discarded on the next boot.
5.2 INS_ENABLE_MASK = 3 默认值
Copter-4.4.2-AORC-2023.11.05
当INS_ENABLE_MASK = 3 的时候,会出现驱动冲突,导致PID内部逻辑异常。
所以,首先要确认硬件板子上陀螺仪的型号,设置正确的INS_ENABLE_MASK = 1 //MPU65000(1) ,然后再开始调整PID。
Ardupilot 4.4.2 Aocoda-RC F405V2 Mark4 7“ First Take Off
![在这里插入图片描述](http://pubimage.360doc.com/wz/default.gif)
2023/11/12 11:52:08 : u-blox 1 HW: 00080000 SW: EXT CORE 3.01 (d189ff)
2023/11/12 11:52:06 : GPS 1: u-blox saving config
2023/11/12 11:51:52 : GPS 1: detected as u-blox at 230400 baud
2023/11/12 11:51:50 : EKF3 IMU0 MAG0 initial yaw alignment complete
2023/11/12 11:51:50 : EKF3 IMU0 tilt alignment complete
2023/11/12 11:51:48 : AHRS: EKF3 active
2023/11/12 11:51:48 : EKF3 IMU0 initialised
2023/11/12 11:51:46 : RCOut: DS600:1-4 PWM:5-9
2023/11/12 11:51:46 : AHRS: DCM active
2023/11/12 11:51:46 : ArduPilot Ready
2023/11/12 11:51:46 : Initialising ArduPilot
2023/11/12 11:51:46 : ELRS: RSSI now displays normally
2023/11/12 11:51:46 : ELRS: running on non-DMA serial port
2023/11/12 11:51:46 : Barometer 1 calibration complete
2023/11/12 11:51:46 : RCInput: decoding CRSF(3)
2023/11/12 11:51:46 : Frame: QUAD/BF_X
2023/11/12 11:51:46 : RCOut: Initialising
2023/11/12 11:51:46 : Aocoda-RC-F405V2 003E002B 32324713 32333535
2023/11/12 11:51:46 : ChibiOS: 17a50e3a
2023/11/12 11:51:46 : ArduCopter V4.4.2 (fe7a19e9)
2023/11/12 11:51:46 : CRSFv2: requesting RX device info
2023/11/12 11:51:44 : Frame: QUAD/BF_X
2023/11/12 11:51:44 : RCOut: Initialising
2023/11/12 11:51:44 : Aocoda-RC-F405V2 003E002B 32324713 32333535
2023/11/12 11:51:44 : ChibiOS: 17a50e3a
2023/11/12 11:51:44 : ArduCopter V4.4.2 (fe7a19e9)
2023/11/12 11:51:44 : Frame: QUAD/BF_X
2023/11/12 11:51:44 : RCOut: Initialising
2023/11/12 11:51:44 : Aocoda-RC-F405V2 003E002B 32324713 32333535
2023/11/12 11:51:44 : ChibiOS: 17a50e3a
2023/11/12 11:51:44 : ArduCopter V4.4.2 (fe7a19e9)
2023/11/12 11:51:44 : Calibrating barometer
![](http://pubimage.360doc.com/wz/default.gif)
5.3 LOG_DISARM = 0 默认值
![在这里插入图片描述](http://pubimage.360doc.com/wz/default.gif) ![在这里插入图片描述](http://pubimage.360doc.com/wz/default.gif)
5.4 ACRO_TRAINER = 2 默认值
![在这里插入图片描述](http://pubimage.360doc.com/wz/default.gif)
|