xFlight开源飞控之AT32F435计划

xFlight开源飞控之AT32F435计划

  • 1. 源由
  • 2. 材料清单
    • 2.1 结构件
    • 2.2 动力件
    • 2.2 电子件
    • 2.3 天线
    • 2.4 附件
  • 3. 固件准备
  • 4. 整机
    • 4.1 接线图
    • 4.2 外观
  • 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参数无效
    • 5.10 【已解决】GPS芯片未发现
  • 6. 总结
  • 7. 参考资料

1. 源由

注:xFlight主要指betaflight/inav,延伸扩展Ardupilot/PX4-Autopilot。

雅特力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 结构件

  1. 5寸机架(Mark4) x 1 (套)
  2. 硅胶减震 x 8 (个)
  3. VTX天线 + 915天线 + GPS(含compass) 打印件 x 1 (个)

2.2 动力件

  1. 2205 - 2300kv motor x 4 (个)
  2. 4合1电调 Bluejay, bdshot
  3. 5寸桨叶 x 1 (套)
  4. 3S-4S电池 x 1 (个)

2.2 电子件

  1. F435V2飞控 AocodaRC F405V2 + AT32F435 x 1 (个)
  2. 915ELRS接收机 x 1 (个)
  3. BZ251 GPS x 1 (个)
  4. JHEMCU 5.8G 40H 1.6W VTX x 1 (个)
  5. RunCam 19x19mm 摄像头 x 1 (个)
  6. LED + Buzzer集成板 x 1 (个)

2.3 天线

  1. 915天线 x 1 (T型天线)
  2. VTX天线 x 1 (棒状天线)
  3. 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

xFlight开源飞控之AT32F435计划_第1张图片
xFlight开源飞控之AT32F435计划_第2张图片

4. 整机

4.1 接线图

xFlight开源飞控之AT32F435计划_第3张图片

4.2 外观


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异常

xFlight开源飞控之AT32F435计划_第4张图片
初步怀疑原因:#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功能无法使用

源由:测试、使用下LED stripe功能。
实测:不会操作,经过指点:按照下面顺序进行操作设置,即可。
官方链接:betaflight
xFlight开源飞控之AT32F435计划_第5张图片

5.9 【已解决】Tramp切换VTX参数无效

按照官网JHEMCU RuiBet Tran-3016W 5.8GHZ 1.6W提供的如下表格进行BF配置

  • 下载JHEMCU RuiBet Tran-3016W 5.8GHZ 1.6W json文件

xFlight开源飞控之AT32F435计划_第6张图片xFlight开源飞控之AT32F435计划_第7张图片xFlight开源飞控之AT32F435计划_第8张图片
实际效果,无法准确的切换到OSD菜单指定的选项,比如:切到R8频点,实际在F7信号最强;而R8图像扭曲不异常;但是OSD上显示是R8频点;重启BF后,进入菜单,确不显示任何频段,通道信息;笼统的在菜单最上方显示R8,而实际信号在F7。

经厂家技术支持反馈:

  • 短按是调通道(对应蓝灯, 1- 8 共8次)
  • 长按2秒是调组别 (对应绿灯, A-B-E-F-R, 共5次)
  • 长按5秒是调功率 (对应红灯,25-200-400-800-1.6W, 共5次)
  • 长按10秒以上,是打开11个禁止USA频道。
  • 默认不输出禁止USA频道: 5705, 5685, 5665, 5885, 5905, 5880, 5658, 5695, 5732, 5880, 5917

5.10 【已解决】GPS芯片未发现

经检查

  1. 磁力计找到,证明5V上电正常
  2. 串口连接正确:GPS_TX ==> FC_RX,GPS_RX⇒ FC_TX

但BF配置软件无法显示GPS相关信息。

xFlight开源飞控之AT32F435计划_第9张图片拆下来,最后定位问题,GPS模块配置问题,需要重置GPS配置。
xFlight开源飞控之AT32F435计划_第10张图片

6. 总结

目前,仅仅将整机进行了安装和初步配置,经过连续两天的调试,上述10个问题已经获得比较好的解决。

后续推进工作主要有:

1)betaflight试飞
2)inav试飞
3)尝试PX4进行试飞

有兴趣的朋友们,请评论,点赞哦!!!

7. 参考资料

【1】四轴飞控DIY简明步骤介绍
【2】四轴飞控DIY调试起飞简明步骤
【3】四轴飞控DIY Mark4 - 减震
【4】四轴飞控DIY Mark4 - RTH/GPS Rescure
【5】四轴飞控DIY Mark4 - 整理&参数优化

你可能感兴趣的:(xFlight,DIY,Drones,开源,AT32F435,betaflight,inav)