F4飞控刷写PX4教程

硬件准备
F4sd飞控一个,usb线一个

固件px41.10.1 stable版
参考连接
https://docs.px4.io/master/en/flight_controller/omnibus_f4_sd.html
F4飞控刷写PX4教程_第1张图片

刷写步骤分两步,第一步刷bootloader,第二步刷px4固件

博主之前尝试用stlink下载bl,但是脸上stlink后擦除芯片的时候会报错,所以放弃,然后又尝试用flymcu刷写,但是擦除完芯片后却连接不到飞控,最后参考这篇帖子刷写了bl,
https://tieba.baidu.com/p/6384648729
首先按住boot0
F4飞控刷写PX4教程_第2张图片
通过usb连到电脑
打开zadig
F4飞控刷写PX4教程_第3张图片
F4飞控刷写PX4教程_第4张图片

F4飞控刷写PX4教程_第5张图片
安装成功后,断电,按住boot0,重新上电

打开INAV
F4飞控刷写PX4教程_第6张图片
显示DFU表示驱动正常

F4飞控刷写PX4教程_第7张图片
按上图设置,点击右下加载Firmware

F4飞控刷写PX4教程_第8张图片
我这里下载的bl是px4最新的f4bl,
F4飞控刷写PX4教程_第9张图片
选择好后点击下载

下载完后插掉usb

打开qgc
切换到固件下载的页面,插上飞控
F4飞控刷写PX4教程_第10张图片
我这里下载的是最新的PX4固件
下载完后查看端口如下
在这里插入图片描述
表示固件下载完毕

打开QGC,连上飞控后,将机型设为四旋翼
F4飞控刷写PX4教程_第11张图片
接下来就是校准传感器之类的

在调试的时候遇到一个问题,我是按官网的步骤将接收机用sbus协议接的uart1,但是飞控识别不到接收机。解决办法是用ppm协议,将板子上的ppm脚短接,将接受机接到RCIN口

F4飞控刷写PX4教程_第12张图片

将飞控装到无人机上,接上电调,我这里是用bec给飞控供电,f4好像可以直接用电池供电,我第一次用,还没试过,bec的正极接VBAT接口,负极接地。

最后还有一个问题
F4的板子上是有气压计的,但是飞控并没有解算出高度信息,先检查气压计
F4飞控刷写PX4教程_第13张图片
发现是有数据的
我一开始以为是解算的算法设置有误,

F4飞控刷写PX4教程_第14张图片
于是将这里改成带lpe的,但是没有效果,原因在于这里

F4飞控刷写PX4教程_第15张图片
可以把这几行去掉,或者手动启动lpe
在四旋翼启动脚本里加入
local_position_estimator start
重新编译烧录
F4飞控刷写PX4教程_第16张图片
这个时候高度可以正常解算,也可以切定高。
需要注意的是,因为f4没有磁力计,所以不能使用ekf进行结算,要想用ekf,需要外接一个磁力计。
我这里用的是一个带罗盘的gps

F4飞控刷写PX4教程_第17张图片
将gps的iic接口接到飞控的iic口上,注意不要将gps的串口接到串口6上,否则可能导致接收不到遥控器信号

F4飞控刷写PX4教程_第18张图片
注意编译脚本里要有磁力计的驱动,如果被注释的话要取消注释
F4飞控刷写PX4教程_第19张图片
然后在qgc中使能一下磁力计

F4飞控刷写PX4教程_第20张图片
终端测试一下正常
F4飞控刷写PX4教程_第21张图片
将解算方式换成ekf2,注意如果用ekf2的话,就不需要按上面的将lpe在启动脚本里启动了,因为ekf2本身可以结算位置,如果再用lpe会导致重复发布两个不同的位置
F4飞控刷写PX4教程_第22张图片
然后就可以校准罗盘了。

到此基本所有问题都解决了
F4飞控刷写PX4教程_第23张图片
接好后校准一下电调
F4飞控刷写PX4教程_第24张图片
其他都校准好了就可以解锁试飞了

你可能感兴趣的:(笔记)