xFlight开源飞控之AT32F435计划
- 1. 源由
- 2. 材料清单
- 2.1 结构件
- 2.2 动力件
- 2.2 电子件
- 2.3 天线
- 2.4 附件
- 3. 固件准备
- 4. 整机外观
- 5. 问题汇总
- 5.1 【已解决】iNav固件无法找到Baro芯片
- 5.2 【已解决】正反电机问题
- 5.3 【已解决】摄像头图像模糊
- 5.4 【已解决】ESC 电机 bdshot异常
- 5.5 【已解决】RPM filter异常,无法解锁
- 5.6 【已解决】MSP异常,无法解锁
- 5.7 【已解决】RESCURE_SW异常,无法解锁
- 5.8 【已解决】LED Strip功能无法使用
- 5.9 【待分析】Tramp切换VTX参数无效
- 6. 总结
- 7. 参考资料
1. 源由
雅特力AT32芯片在betaflight上的移植2022年已经如火如荼的进展非常不错,详见:atbetaflight
inav和betaflight代码架构上是非常相似的,因此betaflight一旦成功porting,那么inav也就快了。
从目前了解官方分支进展:
- betaflight 2023-1-31 Merged AT32 development, introduction of AT32F435 target #12247
- iNav 2023-5-23 Merged Add support for AT32 chips #8752
也就是说,后续含有AT32芯片的飞控将与inav&betaflight开源特性同步发展,这可是可喜可贺的消息。有消息PX4的移植(PX4-AT32)也已经有了苗头,期望能更快的合入官方分支。
是时候搞一套AT32的时候了,本次计划组一台AT32 F435 Mark4,用于inav/betaflight/px4的验证。
2. 材料清单
2.1 结构件
- 5寸机架(Mark4) x 1 (套)
- 硅胶减震 x 8 (个)
- VTX天线 + 915天线 + GPS(含compass) 打印件 x 1 (个)
2.2 动力件
- 2205 - 2300kv motor x 4 (个)
- 4合1电调 Bluejay, bdshot
- 5寸桨叶 x 1 (套)
- 3S-4S电池 x 1 (个)
2.2 电子件
- F435V2飞控 AocodaRC F405V2 + AT32F435 x 1 (个)
- 915ELRS接收机 x 1 (个)
- BZ251 GPS x 1 (个)
- JHEMCU 5.8G 40H 1.6W VTX x 1 (个)
- RunCam 19x19mm 摄像头 x 1 (个)
- LED + Buzzer集成板 x 1 (个)
2.3 天线
- 915天线 x 1 (T型天线)
- VTX天线 x 1 (棒状天线)
- IPX 转SMA的天线转接线 x 1 (打印件上固定棒棒天线)
2.4 附件
注:主要是一些连接线,螺丝,螺母,备件等
3. 固件准备
鉴于目前PX4-AT32的固件尚未合入官方主分支,本次将会重点使用inav/betaflight。
AocodaRC F405V2采用的是LQFP64封装的STM32F405RGT6芯片,鉴于STM32F405RGT6 v.s. AT32F435RGT7 Comparison for Flight Controller几乎没有差异。
因此,我们打算直接替换芯片,但是固件得自己DIY,网上资料很多,这里推荐:
- BetaFlight飞控AOCODAF435V2MPU6500固件编译
- BetaFlight飞控AOCODARC-F7MINI固件编译
- iNav飞控AOCODARC-F7MINI固件编译
至于代码,我们也相应做了clone,修复一些问题:
- inav Copter-7.x-AocodaRC
- betaflight master-AocodaRC
- betaflight-config
4. 整机外观
5. 问题汇总
5.1 【已解决】iNav固件无法找到Baro芯片
详细讨论见:Can’t find baro chip, what I have missed? #9399
最终原因:iNav at32 I2C驱动代码初始化有问题,iNav7.0将会修复#9412。
5.2 【已解决】正反电机问题
装好以后突然发现,这套电机是正反向的。还好安装的时候顺序没有装错,不幸中的万幸!
5.3 【已解决】摄像头图像模糊
一开始不知道,以为摄像头或者图传哪里有问题。最后经过初中物理:光学成像原理思考。发现需要进行手动旋转RunCam镜头进行清晰度调整。
5.4 【已解决】ESC 电机 bdshot异常
初步怀疑原因:#4号电机有DMA资源,ESC电调问题。
# resource show all
Currently active IO resource assignments:
(reboot to update)
--------------------
A00: SERIAL_TX 4
A01: FREE
A02: SERIAL_TX 2
A03: SERIAL_RX 2
A04: GYRO_CS 1
A05: SPI_SCK 1
A06: SPI_SDI 1
A07: SPI_SDO 1
A08: FREE
A09: SERIAL_TX 1
A10: SERIAL_RX 1
A11: USB
A12: USB
A13: OSD_CS
A14: SWD
A15: FREE
B00: FREE
B01: LED_STRIP
B02: FREE
B03: SPI_SCK 3
B04: SPI_SDI 3
B05: SPI_SDO 3
B06: I2C_SCL 1
B07: I2C_SDA 1
B08: BEEPER
B09: FREE
B10: FREE
B11: FREE
B12: USB_DETECT
B13: SPI_SCK 2
B14: SPI_SDI 2
B15: SPI_SDO 2
C00: FLASH_CS
C01: ADC_CURR
C02: ADC_BATT
C03: FREE
C04: GYRO_EXTI
C05: FREE
C06: MOTOR 1
C07: MOTOR 2
C08: MOTOR 3
C09: MOTOR 4
C10: FREE
C11: FREE
C12: FREE
C13: LED 1
C14: FREE
C15: FREE
D00: FREE
D01: FREE
D02: FREE
D03: FREE
D04: FREE
D05: FREE
D06: FREE
D07: FREE
D08: FREE
D09: FREE
D10: FREE
D11: FREE
D12: FREE
D13: FREE
D14: FREE
D15: FREE
H00: FREE
H01: FREE
H02: FREE
H03: FREE
H04: FREE
H05: FREE
H06: FREE
H07: FREE
H08: FREE
H09: FREE
H10: FREE
H11: FREE
H12: FREE
H13: FREE
H14: FREE
H15: FREE
Currently active Timers:
-----------------------
TIM1: FREE
TIM2: FREE
TIM3:
CH4 : LED_STRIP
TIM4: FREE
TIM5: FREE
TIM8:
CH1 : MOTOR 1
CH2 : MOTOR 2
CH3 : MOTOR 3
CH4 : MOTOR 4
TIM20: FREE
Currently active DMA:
--------------------
DMA1 Channel 1: MOTOR 1
DMA1 Channel 2: MOTOR 3
DMA1 Channel 3: MOTOR 2
DMA1 Channel 4: MOTOR 4
DMA1 Channel 5: SPI_SDO 1
DMA1 Channel 6: SPI_SDI 1
DMA1 Channel 7: SPI_SDO 2
DMA2 Channel 1: LED_STRIP
DMA2 Channel 2: SPI_SDI 2
DMA2 Channel 3: SPI_SDO 3
DMA2 Channel 4: SPI_SDI 3
DMA2 Channel 5: ADC 1
DMA2 Channel 6: FREE
DMA2 Channel 7: FREE
5.5 【已解决】RPM filter异常,无法解锁
经思路整理,是前面bdshot设置,配置打开了RPM filter功能。但是RPM获取#4电机异常,基于RPM的滤波无法使用。导致解锁无法成功。
5.6 【已解决】MSP异常,无法解锁
以前USB线连着电脑,遥控器可以解锁飞机。目前4.5版本,USB连接电脑,默认无法解锁,提示MSP异常。
5.7 【已解决】RESCURE_SW异常,无法解锁
配置了GPS RTL功能,但是遥控器开关切换到RTL功能时解锁,就会报这个异常。需要将GPS RTL功能默认关闭,然后进行解锁。
5.8 【已解决】LED Strip功能无法使用
不会操作,经过高人指点后,正常。请按照下面顺序进行操作设置。
5.9 【待分析】Tramp切换VTX参数无效
TBD.
6. 总结
目前,仅仅将整机进行了安装和初步配置。后续推进工作主要有:
1)陆续解决上面的问题
2)betaflight试飞
3)inav试飞
4)尝试PX4进行试飞
7. 参考资料
【1】四轴飞控DIY简明步骤介绍
【2】四轴飞控DIY调试起飞简明步骤
【3】四轴飞控DIY Mark4 - 减震
【4】四轴飞控DIY Mark4 - RTH/GPS Rescure
【5】四轴飞控DIY Mark4 - 整理&参数优化