xFlight开源飞控之AT32F435计划

news2024/10/6 8:27:03

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 结构件

  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

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

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 - 整理&参数优化

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1136678.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ubuntu中使用yum命令出现错误提示:Command ‘yum‘ not found, did you mean:

Ubuntu中使用yum命令出现错误提示:Command ‘yum’ not found, did you mean: command ‘gum’ from snap gum (0.12.0) command ‘num’ from deb quickcal (2.4-1) command ‘yum4’ from deb nextgen-yum4 (4.5.2-6) command ‘uum’ from deb freewnn-jserver (1.1.1~a021…

ASEMI肖特基二极管MBR40200PT参数和作用详解

编辑-Z 肖特基二极管MBR40200PT是一种高效的电子元件,广泛应用于电源管理和功率控制领域。它具有低导通压降和快速恢复特性,能够在高频率和高温环境下稳定工作。 MBR40200PT采用了肖特基结构,该结构是由一个金属与一个半导体材料接触而形成的…

hdlbits系列verilog解答(向量5)-19

文章目录 一、问题描述二、verilog源码三、仿真结果一、问题描述 给定五个 1 位信号(a、b、c、d 和 e),计算 25 位输出向量中的所有 25 个成对一比特比较。如果要比较的两个位相等,则输出应为 1。 out[24] = ~a ^ a; // a == a, so out[24] is always 1. out[23] = ~a ^ b…

linux安装vscode vscode使用 创建项目并运行

下载 https://code.visualstudio.com/ 下载.deb文件 安装 假如文件被下载到了 /opt目录下 进入Opt目录,右键从当前目录打开终端。 输入下面的安装命令。 sudo apt-get install ./code_1.83.1-1696982868_amd64.deb 安装成功。 安装插件 使用c,必…

MyBatisPlus创建新的Mapper.xml映射文件而不使用框架自带的?

MyBatisPlus创建新的Mapper.xml映射文件而不使用框架自带的? 以后使用数据库框架的时候可以使用MyBatisPlus而不适用MyBatis,因为MyBatisPlus更为简便,像简单的增删改查操作,在MyBatisPlus中可以直接完成,不用写Mappe…

开发知识付费小程序的兴起:机会与挑战

近年来,随着移动互联网的快速发展,知识付费成为了一种备受欢迎的商业模式。知识付费小程序作为这一领域的新兴力量,正逐渐崭露头角。本文将探讨知识付费小程序的兴起、机会与挑战,以及这一趋势对于创业者和知识分享者的影响。 一、…

iOS开发-Lottie实现下拉刷新动画效果

iOS开发-Lottie实现下拉刷新动画效果 在开发过程中,有时候需要自定义下拉刷新控件,这里使用Lottie实现下拉刷新动画效果。 一、Lottie Lottie 是一个应用十分广泛动画库,适用于Android、iOS、Web、ReactNative、Windows的库,它…

洞察运营机会的数据分析利器

这套分析方法包括5个分析工具: 用“描述性统计”来快速了解数据的整体特点。用“变化分析”来寻找数据的问题和突破口。用“指标体系”来深度洞察变化背后的原因。用“相关性分析”来精确判断原因的影响程度。用“趋势预测”来科学预测未来数据的走势,

OpenLayers入门,OpenLayers从vue的assets资源路径加载geojson文件并解析数据叠加到地图上,以加载世界各国边界为例

专栏目录: OpenLayers入门教程汇总目录 前言 本章以加载世界各国边界的GeoJSON格式数据为例,讲解如何使用OpenLayers从vue的assets资源路径加载geojson文件并解析数据叠加到地图上。 二、依赖和使用 "ol": "^6.15.1"使用npm安装依赖npm install ol@…

我是这样保持精力充沛的

精力管理就好比是计算机的内存清理,你以为关掉一些程序就行了,结果你还是卡成翔。 我的现状 雷猴啊,我是一个临期程序员。打过几年工,被好几个同事问过我为什么精力这么旺盛。 这两年我大多数情况都是早上8点前就到公司*(原本9点上…

LVS-DR模式+keepalived+nginx+tomcat实现动静分离、负载均衡、高可用实验

实验条件: test2——20.0.0.20——主服务器——ipvsadm、keepalived服务 test3——20.0.0.30——备服务器——ipvsadm、keepalived服务 nginx5——20.0.0.51——后端真实服务器1(tomcat的代理服务器)——nginx服务 nginx6——20.0.0.61—…

buuctf_练[CISCN2019 华东南赛区]Web4

[CISCN2019 华东南赛区]Web4 文章目录 [CISCN2019 华东南赛区]Web4掌握知识解题思路代码分析正式解题 关键paylaod 掌握知识 ​ 根据url地址传参结构来判断php后端还是python后端;uuid.getnode()函数的了解,可以返回主机MAC地址十六进制;pyt…

Vue进阶(幺陆捌)项目部署后IE报 SCRIPT1002:语法错误 解决方案探讨

文章目录 一、前言二、组件懒加载2.1 什么是懒加载2.2 如何实现懒加载 三、延伸阅读 软件程序唤醒3.1 protocolCheck 实现3.2 自定义实现 四、拓展阅读 一、前言 Vue项目改造升级后,原本本地热部署后IE可正常打开的项目出现页面白屏且控制台给出SCRIPT1002:语法错误…

ssh连接远程服务器,并在终端安装anaconda

官网下载安装:anaconda2023.09版本(官网地址:https://www.anaconda.com/download#downloads) wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh使用阿里云镜像下载安装,官网下载太慢。阿…

【ModbusTCP协议】

ModbusTCP协议 一、搭建一个ModbusTCP环境二、ModbusTCP通信协议报文格式ModbusTCP的特点 一、搭建一个ModbusTCP环境 搭建一个ModbusTCP环境 1、使用ModbusSlave 2、可以用西门子PLC来做 使用西门子搭建ModbusTCP环境,就需要先搭建一个西门子PLC仿真环境 下载软件P…

ES6新特性:let关键字详解

文章目录 1 声明提升2 作用域3 重复声明 在JavaScript中,let 和 var 都是声明变量的关键字,但在用法和作用域方面有一些区别。 let 是ES6引入的新的声明变量的关键字,它与 var 相比,更加严格,语法更加规范&#xff0c…

如何租用香港写字楼,需要注意哪些事项

1. 确定您的所需 你需要多少空间 在一切开始之前,您需要确切地知道您的业务(即您、您现有的员工和预计的招聘、您的访客或客户以及您想要的设施如食品储藏室、接待处、服务器机房甚至健身房,婴儿护理室等),以实用面积计算需要多少空间。空间…

「滚雪球学Java」:数组(章节汇总)

🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!&#xf…

文化融合:TikTok如何弥合跨文化差异

随着全球化的加速和数字媒体的崛起,社交媒体平台已经成为连接世界各地人们的纽带。其中,TikTok作为一个引领者,正在以惊人的速度消除跨文化差异,促进文化融合,使人们更加了解和尊重不同背景和传统。 本文将深入探讨Ti…

后端实现大文件分片上传

项目框架 net6 webapi 放开上传大小限制 放开代码 | 框架层限制 在 Program.cs 文件中添加如下代码 不然会出现下面的限制错误 From表单限制:Failed to read the request form. Multipart body length limit 134217728 exceeded 请求体超长:Request bo…