【教程】F4 V3飞控刷ardupilot固件教程——多旋翼

2023-05-16

首先说明一下我不是第一个给OmnibusF4刷ardupilot固件(也就所谓的pix固件,apm固件)的,之前有很多大佬,都用OmnibusF4刷好ardupilot固件用来飞固定翼,而且取得了很好的效果,也有大佬拿来飞直升机的,很厉害。

有需要的可以参考下面的帖子:

http://bbs.5imx.com/forum.php?mod=viewthread&tid=1438864&extra=page%3D2

http://www.5imx.com/forum.php?mod=viewthread&tid=1490256

有能力的请参考ardupilot官方说明,会有更加专业的讲解:

http://ardupilot.org/copter/docs/common-omnibusf4pro.html

我这个教程只针对多旋翼,由于多旋翼要实现定点和返航需要接入罗盘和GPS,调试时也比较费心,我没找现成的资料所以只能自己一路摸索过来,关于说为什么要折腾F4而不是直接买minipix之类的飞控,主要还是想低成本折腾,,,况且ardupilot的大佬们都把固件给准备好了,就剩下调试了,F4飞控还集成了OSD和电流计,这些功能再加上稳定可靠的固件,简直是远航穿越机入门的福音,以一个较低的价格获得不错的飞行体验,何乐而不为呢

先说一下配置,我使用的飞控是OmnibusF4 V3,也就是不带电流计的版本,之前的帖子基本上都是F4 pro v3,我用不到电流计,而且V3可以检测电压,最重要的还是省钱,机架是幻神的御动力,之前inav固件的体验并不好,这也算是我换固件的原因之一吧,GPS是BN880集成罗盘,其他配置和接线大同小异,我从inav固件换到ardupilot固件也只是换了两根电调线(ardupilot固件和inav固件的电机编号不一样,一定要注意这一点,当然ardupilot新的固件也可以直接改电机编号,为了避免混淆,建议还是重新接一下),其他不用动,接线图参考下面的:

 陀螺仪接在I2C,GPS接在UART1,接收机短接ppm,接在对应的位置即可,飞控会自己选择ppm或sbus。想使用uart6(serial3)需要切断sbus触点旁边的连线,虽然是通过焊点选择sbus或者PPM,但是实际上sbus触点是默认连接的,如果不断开会影响串口上设备的通讯。本文只使用了GPS一个串口设备,方便起见接到UART1上。

                                                                                 

由于F4 v3受价格限制,板载的陀螺仪和气压计都比较一般,所以强烈建议加上减震和海绵块,可以很显著地提升飞行体验,我用的5块钱4个胶钉,虽然贵点,但是效果很好。要准备一张tf卡,用于记录log信息。

接下来刷固件

在下面的网站,选择latest最新的固件,

http://firmware.ardupilot.org/Copter/

这里官方给列出了很多的硬件版本,下载对应自己飞控的就可以,至于你问为什么有没有国内厂商出飞控,,你不如去问问客服他们是基于哪个版本设计的,,,

第一次刷选择带bl(bootloader)的hex文件,具体过程不演示,方法很多,几乎所有地面站都可以用来刷固件,只要最后提示成功就可以,然后就需要连接电脑Mission Planner地面站

如果识别到串口且连接成功,说明固件刷写成功(多么熟悉的界面),第一次连接可能会有很多错误提示,不用管,后面会解决。

这里建议大家使用最新版的MP1.3.64地面站,这里新增了一个选项(需要开启osd),用来调试OSD很方便,和BF,INAV一样可以拖动,不然的话只能用修改参数坐标盲改,这里也可以看出ardupilot很用心了,当然最新的不一定最好,这个后面再说。

下面进入调参阶段,按照顺序来就可以,有变化的步骤会说明,简单的会跳过,注意,如果接线正确罗盘直接可以用,GPS需要修改串口参数,这个下面会有详细的说明。

先选择机架类型

校准罗盘,那个方向不用动,会自动修改,我的是yaw180;如果电机接线是对的servo output也不用动,不确定的话,可以用电机测试,电机编号ABCD是从右上角的电机开始,顺时针循环的;ESC里面可以修改电调协议,电机怠速之类的,看个人需求,我用的dshot(新版地面没dshot选项这个选项,1.3.58版本可以看到,可能是bug)

可选硬件里开启OSD和电池监测器,OSD直接点启用遥测,需重启才会在参数表里看到参数

电流计这里,F4 V3没有电流计,所以选择只检测电压,APM版本也不用选,也需要重启才会生效,电压可能不准,自己用万用表量一下添上即可

以上图形界面的设置,在完成后重启飞控,如果设置正确的话,重启后不会再有错误信息弹出

下面到全部参数表里进行设置

找到serial开头的参数,后面数字对应的是相应的串口,在ardupilot默认参数下serial3和serial4对应的是GPS,这符合pixhawk的设定,但是不适用于F4飞控,在f4飞控上UART3是和I2C复用的接口,也就是接罗盘的地方,UART4找不到,所以要做相应的修改,以下为Ardupilot官方对于串口定义的说明(仅供参考,与本文接线不同)

SERIAL0对应的是usb,不用动

SERIAL1我接的是GPS,选5,波特率选38400

SERIAL2不动

SERIAL3和SERIAL4改为-1(我没接数传)

写入参数

然后重启飞控

重启飞控后,如果地图上有个四轴的图标在漂移,说明飞控收到了GPS回传的信息(我的GPS之前用过,所以会直接出现在上次的位置),刚才的修改起了作用,

这个时候在自稳模式下可以解锁,定点模式下会提示没有3D定位

如果不能解锁请根据错误提示,自行调整

可以找个宽阔的地方“试飞”,但是不建议,原因如下

你以为下面就到了爽飞环节吗?

并不是!!

没调pid 飞个锤子,都抖出帕金森了

pix的默认pid适合轴距450-650的大多数机型,但是穿越机的轴距通常是250及以下,默认的pid显然不适用于这个轴距,御动力的轴距我粗略量了一下,在320左右,所以在经过无数次调参过后我得到了一套相对稳定的pid,在自稳模式下飞行器很跟手,飞行平稳,没有肉眼可见的抖动,定点模式下,姿态修正积极且不过激,电机加减速很平顺。

我的PID可能并不适用于你的飞机!!慎用!!

关于log的查看,我简单的说一下,可以查看飞行器飞行数据,也可以用来检验pid调教是否合理,具体可以参考这个博主写的文章,

https://blog.csdn.net/xazzh/article/details/72814567

下面这两个图是气压计在未加海绵和加海绵情况下的对比,结果一目了然,在加了海绵之后高度基本稳定,可以实现钉钉子的效果,且急加急减速的暴力飞行,无明显掉高

下面图两条线是目标值和实际值,基本重合,说明飞机非常跟手,反应不迟钝

陀螺仪参数,浮动越小越好,保持在+-1之间是合理值,如果飞控不加减震会造成这个值有非常明显的波动。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【教程】F4 V3飞控刷ardupilot固件教程——多旋翼 的相关文章

随机推荐