PX4装机教程(四)F4飞控刷写PX4 您所在的位置:网站首页 f3有刷飞控刷固件教程 PX4装机教程(四)F4飞控刷写PX4

PX4装机教程(四)F4飞控刷写PX4

2024-05-26 00:50| 来源: 网络整理| 查看: 265

👉👉👉**推荐硬件链接,店家提供全程指导**👈👈👈

文章目录 ==👉👉👉**[推荐硬件链接,店家提供全程指导](https://item.taobao.com/item.htm?spm=a1z10.1-c.w137644-23632941727.26.118775c2oUPAnL&id=688860713104)**👈👈👈==前言一、刷bootloader二、刷PX4固件并调参三、PX4 1.13.0固件调参

前言

硬件:F4sd飞控一个,usb线一个 测试过可用的f4飞控有下面两种 在这里插入图片描述 在这里插入图片描述

软件:px4 1.10.1 stable版或更高版本 QGC地面站 参考连接 https://docs.px4.io/master/en/flight_controller/omnibus_f4_sd.html

一、刷bootloader

首先按住boot0 在这里插入图片描述 在这里插入图片描述

通过usb连到电脑 打开zadig,选择Options->List All Devices 在这里插入图片描述 选择STM32 BOOTLOADER,然后点击Reinstall Driver 在这里插入图片描述 安装成功后,断电,按住boot0,重新上电 打开INAV 在这里插入图片描述

显示DFU表示驱动正常

在这里插入图片描述

按上图设置,点击右下加载Firmware 在这里插入图片描述 我这里下载的bl是px4最新的f4bl, 在这里插入图片描述 选择好后点击下载 下载完后插掉usb

二、刷PX4固件并调参

打开qgc 切换到固件下载的页面,插上飞控 在这里插入图片描述 我这里下载的是最新的PX4固件 下载完后查看端口如下 在这里插入图片描述 表示固件下载完毕 打开QGC,连上飞控后,将机型设为四旋翼 在这里插入图片描述 接下来就是校准传感器之类的 在调试的时候遇到一个问题,我是按官网的步骤将接收机用sbus协议接的uart1,但是飞控识别不到接收机。解决办法是用ppm协议,将板子上的ppm脚短接,将接受机接到RCIN口

在这里插入图片描述 将飞控装到无人机上,接上电调,我这里是用ubec给飞控供电,f4好像可以直接用电池供电,我第一次用,还没试过,ubec的正极接VBAT接口,负极接地。 笔者下完PX4固件后,发现没有姿态信息 解决办法,在nsh终端先执行

attitude_estimator_q stop

再执行

attitude_estimator_q start

attitude_estimator_q stop 最后还有一个问题 F4的板子上是有气压计的,但是飞控并没有解算出高度信息,先检查气压计 在这里插入图片描述 发现是有数据的 我一开始以为是解算的算法设置有误, 在这里插入图片描述 于是将这里改成带lpe的,但是没有效果,原因在于这里

在这里插入图片描述 可以把这几行去掉,或者手动启动lpe 在四旋翼启动脚本里加入 local_position_estimator start 重新编译烧录 在这里插入图片描述 这个时候高度可以正常解算,也可以切定高。 需要注意的是,因为f4没有磁力计,所以不能使用ekf进行状态估计,要想用ekf,需要外接一个磁力计。 我这里用的是一个带罗盘的gps

在这里插入图片描述 GPS线头定义如下: 在这里插入图片描述

将gps的iic接口接到飞控的iic(和uart3是复用的)口上。 在这里插入图片描述 注意编译脚本里要有磁力计的驱动,如果被注释的话要取消注释 在这里插入图片描述 然后在qgc中使能一下磁力计 在这里插入图片描述 终端测试一下正常 在这里插入图片描述 将解算方式换成ekf2,注意如果用ekf2的话,就不需要按上面的将lpe在启动脚本里启动了,因为ekf2本身可以结算位置,如果再用lpe会导致重复发布两个不同的位置 在这里插入图片描述然后就可以校准罗盘了。 我这里GPS是接的uart6,所以将GPS的接口要改一下 在这里插入图片描述 在这里插入图片描述 uart6的波特率也要改一下 在这里插入图片描述 终端测试一下 在这里插入图片描述 在室内,所以是0颗星 固件里默认只有usb口做mavlink的通讯接口,如果要接数传的话还要配置下mavlink,f4里只有一个telem2用作数传口,配置如下 在这里插入图片描述 在这里插入图片描述 将飞控上的rssi作为tx,pwm5作为rx接到数传上,我这里的RSSI口在下图位置,有的f4飞控的RSSI口在排针上,根据具体的飞控来即可。 在这里插入图片描述 接好后数传可以连地面站,但是只能显示高度,不能显示姿态,用commander等命令也提示找不到,解决办法是将mavlink的模式设为config 在这里插入图片描述 到此基本所有问题都解决了 在这里插入图片描述 接好后校准一下电调 在这里插入图片描述 其他都校准好了就可以解锁试飞了

三、PX4 1.13.0固件调参

PX4 1.13.0固件与前面的固件调参方法类似,但有一些区别。 刷完PX4固件后,bmp280和mpu6000可以正常识别,可以通过四元数互补滤波解算姿态。 在这里插入图片描述 通过第二节的方法接上乐迪的GPS后,可以识别到hmc5883以及GPS 在这里插入图片描述 PX4 1.13.0固件默认没有编译EKF2。所以无法使用EKF2,如果想使用EKF2,可以修改编译脚本 在这里插入图片描述 添加一行

CONFIG_MODULES_EKF2=y

同时将CONFIG_MODULES_ATTITUDE_ESTIMATOR_Q和CONFIG_DRIVERS_IMU_INVENSENSE_ICM20602改成n,也就是不编译 在这里插入图片描述 如果不把CONFIG_MODULES_ATTITUDE_ESTIMATOR_Q和CONFIG_DRIVERS_IMU_INVENSENSE_ICM20602改成n取消编译的话,编译固件的时候会报下面内存不够的错: 在这里插入图片描述 编译完下载到飞控,设置SYS_MC_EST_GROUP为ekf2,然后重启飞控在这里插入图片描述 重启后飞控能正常解算位姿,ekf2状态如下 在这里插入图片描述 注意接收机只能用ppm模式



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有