#申请原创# #技术资源#
Betaflight 是一个开源的飞行控制固件,主要用于四轴飞行器、遥控模型和其他飞行器的控制。由于其开源特性,用户可以对其进行修改和定制,满足具体的飞行需求。无论是初学者还是经验丰富的飞行员,Betaflight 都能够提供良好的支持。
APM32F405/407系列具备168Mz主频,192kSRAM、1024K Flash,6个串口,3个SPI,具备USB_DFU烧录升级功能,很好的满足了四轴飞行器飞控对性能和外设的需求。
近期Betaflight开源项目新增了对APM32F405/407系列的支持。APM32F405/407系列成为穿越机项目的国产主控方案。接下来就来看看APM32F405/407该如何应用
APM32F405穿越机应用基于Betaflight开源项目,相关资料和源码均在Github开源网站上。
MCU固件源码:https://github.com/betaflight/betaflight
地面站源码:https://github.com/betaflight/betaflight-configurator
一、地面站安装:
地面站源码右侧开源下载到各版本的地面站软件
https://github.com/betaflight/betaflight-configurator/releases/tag/10.10.0
需注意10.10.0以上版本才能支持APM32F405的在线烧录。APM32固件的支持需11.0.0版本支持,目前可以使用网页版:https://master.dev.app.betaflight.com/#
二、DFU烧录
APM32F405/407具备USB_DFU烧录功能,可以直接使用USB更新代码,调试地面站调参也是使用USB虚拟串口,方便用户使用。
DFU烧录WIN系统需要安装对应驱动,Betaflight地面站需要使用Zadig安装Winusb驱动,地面站才能正常使用。
按住飞控板的BOOT按键插入USB线。
电脑能识别到外设接入,但有感叹号表示没有驱动。
打开Zadig能够看到有设备能安装驱动
安装完成后的设备管理器界面
如果是使用Linux系统,就没有USB驱动,而是需要udev规则允许用户对USB设备进行写访问。官方WIKI中有指导如何添加:
https://betaflight.com/docs/development/building/Building-in-Ubuntu $ sudo usermod -a -G dialout $USER
$ sudo usermod -a -G plugdev $USER
$ sudo apt-get remove modemmanager
$ sudo tee -a /etc/udev/rules.d/46-stdfu-permissions.rules <<EOF
# DFU (Internal bootloader for STM32, AT32 and APM32 MCUs)
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="0664", GROUP="plugdev"
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="2e3c", ATTRS{idProduct}=="df11", MODE="0664", GROUP="plugdev"
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="314b", ATTRS{idProduct}=="0106", MODE="0664", GROUP="plugdev"
EOF
三、地面站烧录固件
安装驱动后,地面站就能识别到DFU设备。
固件烧写可以选择在线能找到的板子网络加载后烧录,也可以从本地电脑加载固件烧录。
Ubuntu系统下的示例:
烧录后重新拔插USB即可连接开始运行,板子焊接没问题就能正常工作识别到陀螺仪气压计等外设。
|
@Alden :未满800字不予审核~~可继续填充内容~
@21小跑堂