查看: 970|回复: 0

《穿越机技术基础》穿越机开源飞控BF固件RPM滤波器的 ...

[复制链接]

361

主题

399

帖子

1122

积分

金牌飞友

Rank: 6Rank: 6

积分
1122
飞币
721
注册时间
2017-7-29
发表于 2022-10-26 09:49:12 | 显示全部楼层 |阅读模式
穿越机开源飞控BF固件RPM滤波器的使用方法

广西百色市右江区 郭远东 微信bbsgyd  V2022.8.12
1.RPM滤波器的作用
穿越机开源飞控RPM滤波器,是基于电调提供的电机转速精准数据,测算出电机转动所带来的噪声的频率,开启RPM滤波器后,陀螺仪在进行飞机姿态振动采样时,可快速有效地避开因电机旋转所带来的抖动频率,使采集的飞机姿态抖动频率更加纯净,后续运算出更符合实际姿态修正的指令数据。
2.RPM滤波器的必要性
有别于其它类型的滤波器,RPM滤波所耗费的CPU处理器资源很低,效率很高;对于电机在不同转速时带来的各种振动,陀螺仪在采集姿态信息时,有效区别有用抖动频率和噪声频率,测算精准度高,针对性强;因为RPM滤波过程的处理速度非常快,它造成的操控延迟非常低,适合用在需要快速反应的各种飞行操控中。RPM滤波器的使用可减少滤波处理时延,有效增加飞机姿态稳定性,还可以减少电机发热量、增加电池续航时间,这是一个提升穿越机综合性能的有效技术手段。
3.RPM滤波器开启的条件
需要飞控固件支持RPM滤波功能,飞控单片机处理速度足够快,如飞控采用STM32F405或者F7系列单片机;电调处理器为16位或者32位,且电调固件支持RPM功能。如需刷写更新飞控和电调的固件,需要在安装了windows系统的电脑上,使用飞控和电调调参软件完成固件写入工作。
4.飞控固件版本要求
本文以STM32F405单片机开源飞控为例进行实验,飞控固件需要4.2.0或者以上版本,如4.2.4或者4.2.11均可,4.3.0版本需要配合10.8.0地面站软件。
5.电调固件版本要求
16位BLHeliSuite四合一电调固件版本要求为16.77以上,如16.77或者16.80、16.90版本均可支持RPM滤波器。32位BLHeli四合一电调固件版本要求为32.7以上,如32.8或者32.8版本均可支持RPM滤波器。
6.支持RPM滤波的电调固件和电调读写软件下载
电调调参软件的下载
https://www.mediafire.com/folder/dx6kfaasyo24l/BLHeliSuite
https://github.com/bitdump/BLHeli/releases
这两个软件下载地址,都是32位电调调参软件,适用于电调处理器为32位的电调,windows电脑请下载BLHeliSuite32_32.9.0.3.zip文件。
http://www.pc0359.cn/downinfo/110912.html
https://www.pcsoft.com.cn/soft/197782.html
https://www.mediafire.com/file/yaxfwc5e8q42iaj/BLHeliSuite16714902a.zip/file
这三个软件下载地址,都是16位电调读写软件下载地址这是穿越机常用的BLHeli、BLHeli_S四合一电调调参软件BLHeliSuite16.7.14。下载对应电调调参软件,用它来进行电调固件写入工作。
电调读写软件https://github.com/jflight-public/jesc-configurator,这是一个不同开发者提供的电调读写软件,用它来读写电调,它提供的固件版本比较有限,电调的驱动参数会与BLHeli固件有所不同,电机的动力输出通常更为柔和。经实验,该软件在16位电调中更新完固件后,仍旧不能成功开启飞控的RPM滤波功能,本软件可用于读取飞控参数之用。
https://github.com/JazzMaverick/BLHeli/tree/JazzMaverick-patch-1/BLHeli_S%20SiLabs/Hex_files_16.8/Hex_files_16.8_24k这是电调固件下载地址,适用于16位单片机的电调。下载电调固件需要知道电调的型号,如J_H_30、C_H_40等,这个型号可以使用电调读写软件查看,必须将电调型号做好记录,下载对应型号的固件,如果搞错型号,固件刷完后电调就变砖了,需要用读写设备重新给电调写固件,这需要返厂或者找专业维修电调的师傅帮助,才能完成电调起死回生的工作。

《穿越机技术基础》穿越机开源飞控BF固件RPM滤波器的 ...-1.jpg

电调固件型号列表   

《穿越机技术基础》穿越机开源飞控BF固件RPM滤波器的 ...-2.jpg

电调固件16进制编码文本

电调固件下载方法:通过下载地址进入网站,看到电调固件文件列表后,在对应的型号名称上点击鼠标右键,选择在新标签页中打开链接,新页面加载完成后,会开到一个16进制文本,它们已经被循序排列,选定所有行的文本,复制,粘贴到一个新建的TXT文本文件中,保存退出,将文本文件后缀名改成.HEX,如将刚才新建立的文件C_H_40_REV16.9.TXT,改成C_H_40_REV16.9.HEX。电调固件刷新时,选择C_H_40_REV16.9.HEX文件,这个文件的大小约19.2KB。如果不通过这个方法获取电调固件文件,而是直接在固件型号文件名列表直接下载源代码文件,它也是.HEX文件,该文件的大小是272KB,无法用电调调参软件加载它,会提示错误,无法继续文件操作。
7.支持RPM滤波的飞控固件下载
https://github.com/betaflight/betaflight/releases,打开该页面后看到固件版本,如Betaflighe4.3.1,向下滚动到底,点击第几页,看到需要的版本后点击Assets按钮展开固件列表,下载对应的固件,下载方法为:在固件名称上点击鼠标右键另存为,下载完成后得到一个固件文件,假如下载飞控的固件版本为4.3.1,那么会得到一个betaflight_4.3.1_STM32F405.hex文件,大小为1.45MB。飞控固件文件下载后可以在调参软件中的固件更新页面直接加载使用,但电调固件则不同,电调固件文件需要在网站上打开文件,将它保存为文本后才能在电调调参软件中加载使用。
8.飞控底层I/O资源配置命令行下载与使用
https://github.com/betaflight/unified-targets/tree/master/configs/default,打开网页后看到文件列表,找到符合飞控型号的文件名,点击鼠标右键,选择在新标签页面中打开。网页加载完后会看到许多命令行,全选并复制这些命令行,粘贴到一个新建的TXT文档中保存备用。不能直接下载列表中的源代码配置文件,这是无法直接得到配置命令行文本的,我们需要的是命令行文本。

《穿越机技术基础》穿越机开源飞控BF固件RPM滤波器的 ...-3.jpg

飞控I/O资源配置命令行文件列表

《穿越机技术基础》穿越机开源飞控BF固件RPM滤波器的 ...-4.jpg

飞控I/O配置命令行文本

如何获知飞控的型号?在BF调参软件中的CLI命令行页面,输入DUMP回车,窗口中有很多命令行显示,在最上面的其中一行里有如:
# version(版本信息)
# Betaflight / STM32F405 (S405) 4.2.4 Oct 20 2020 / 08:18:45 (fbcaf8c50) MSP API: 1.43(飞控单片机型号、当前固件版本)
# start the command batch(启动命令批处理)
batch start(批量启动)
board_name OMNIBUSF4SD(飞控厂商的型号)
manufacturer_id AIRB(飞控类型归属)
# resources(资源)
resource BEEPER 1 B04(资源寻址命令行…)
……
上面命令行中的OMNIBUSF4SD,就是该飞控的型号,对应配置文件名为AIRB-OMNIBUSF4SD.config,这是公版F4V3S飞控,飞控带一个TF卡插槽,插入的存储卡用于保存飞行日志文件,也就是飞控黑匣子数据记录仪的存储器插槽。这是许多F4公版飞控常用的配置命令行文件,通用性很强。刷完对应芯片固件后,需要在CLI命令行窗口中,将下载的飞控底层I/O资源配置参数命令行粘贴上去并回车,完成后输入save回车,飞控将保存设置并重启。如果不做这个工作,飞控可能无法正确连接陀螺仪、接收机、电机等设备。
重点提示:刷新飞控固件前,请先使用DUMP命令,在CLI窗口中显示并复制所有命令行,保存为一个文本文件,如果刷新固件后找不到最新的飞控配置命令文件,那么,这个备份的命令行就可以用来恢复飞控的配置,以免飞控变砖。
如果你不能访问外网获取飞控和电调的固件及配置文件,可以访问百度网盘获取相关资源,但你需要下载一个多文本编辑器软件来查看源代码固件包中的文本内容。作者经常也是需要刷新很多遍,等待无尽岁月,才有可能打开得那么一两次外网页面,访问这些资源网站真的是太困难了。所以特意对有些常用的资源做了搬运,虽有但不全,分享给需要的人研究之用,百度地址链接: https://pan.baidu.com/s/1e9vVmMlkXi8fMuttg9jntw?pwd=bbbb 提取码: bbbb。
9.F4飞控固件更新
飞控需要连接电脑,安装两个驱动程序,一个是飞控正常调参的串口驱动,一个是飞控固件更新模式的DFU驱动,如果驱动未安装或者安装错误,将无法进行往后的步骤。
F4飞控正常调参模式下的端口驱动程序下载:
链接:https://pan.baidu.com/s/1ft-dJzd5yqlBHkImAkE6lA?pwd=bbbb
提取码:bbbb

《穿越机技术基础》穿越机开源飞控BF固件RPM滤波器的 ...-5.jpg

F405飞控驱动程序网盘文件列表

《穿越机技术基础》穿越机开源飞控BF固件RPM滤波器的 ...-6.jpg

指定驱动文件路径安装驱动程序

飞控正常调参使用串口驱动,文件名位TP Serial Port(COM4),这是一个指定文件夹安装的驱动文件,需要到电脑的系统设备管理器中去安装驱动程序,操作方法为:windows7操作系统,桌面-我的电脑-右键属性,在系统信息页面点设备管理器,进入设备管理器页面后,将飞控用USB数据线接入电脑中,此时系统会提示发现新硬件,系统会自动安装硬件驱动,一般过一会就会提示硬件驱动安装失败。在设备管理器中会看到一个未知设备,有些版本的操作系统会显示为未知的串口设备,在这个未知设备上点击鼠标右键-更新驱动程序软件-浏览计算机以查找驱动程序软件-将路径指向下载并解压缩后的驱动程序文件,下一步,提示页面选择始终安装,直到驱动程序正确完成安装,提示安装成功。在设备管理器中会看到刚才的未知设备已经变成一个串口设备,例如端口下的TP Serial Port (COM4)。

《穿越机技术基础》穿越机开源飞控BF固件RPM滤波器的 ...-7.jpg

设备管理器发现未知设备  

《穿越机技术基础》穿越机开源飞控BF固件RPM滤波器的 ...-8.jpg

驱动程序安装完成后飞控端口

部分操作系统在安装驱动时可能无法完成,提示缺少文件或者程序错误,最有效的方法是使用驱动人生、驱动精灵、360驱动大师帮助修复系统文件错误,在此安装驱动程序。
安装DFU设备端口驱动的方法为:
启动BF调参软件,按压飞控板上的BOOT按钮,接上USB数据线,飞控开机进入DFU固件更新模式,安装好驱动后,调参软件捕获一个DFU端口,这就可以开始刷入提前下载来的飞控固件了。

《穿越机技术基础》穿越机开源飞控BF固件RPM滤波器的 ...-9.jpg

电脑设备管理器中发现新设备

《穿越机技术基础》穿越机开源飞控BF固件RPM滤波器的 ...-10.jpg

指定驱动程序文件路径安装

DFU设备端口驱动具体安装步骤:必须在安装好正常调参驱动端口的前提下进行,按压飞控板上的BOOT按钮,将飞控接上USB数据线,飞控通电开机自动进入BOOT固件更新模式,指示灯常亮。此时,在电脑设备管理器中会发现一个新硬件,系统试图安装驱动程序,但过一会就会提示安装失败,电脑设备管理器中出现一个STM32 BOOTLADER的未知设备,在这个名称上点击鼠标右键属性-更新驱动程序-浏览计算机以查找驱动程序软件-提示选始终安装驱动程序软件,完成设备驱动安装。
完成固件更新模式驱动程序安装,成功安装了正确的驱动,设备管理器中出现一个STM32 BOOTLOADER设备,飞控的两个模式驱动安装完成。

《穿越机技术基础》穿越机开源飞控BF固件RPM滤波器的 ...-11.jpg

固件更新模式驱动安装成功

此时在飞控调参软件的端口捕获复选框中会出现一个DFU端口,这是飞控固件更新模式的端口,此时就可以对飞控进行固件烧写了。

《穿越机技术基础》穿越机开源飞控BF固件RPM滤波器的 ...-12.jpg

捕获DFU固件更新模式端口

《穿越机技术基础》穿越机开源飞控BF固件RPM滤波器的 ...-13.jpg

捕获COM串口调参模式端口

点击固件更新按钮,进入烧写固件页面,选择预先下载来的飞控固件程序,点击烧写固件,等待完成,飞控重启后进入调参软件正常调参模式;到CLI命令行页面去配置飞控I/O参数,重启,校准加速度计一次,再去设置各项参数。

《穿越机技术基础》穿越机开源飞控BF固件RPM滤波器的 ...-14.jpg

更新固件页面中从本地电脑加载固件

重点提示:飞控固件从4.2.0开始支持RPM滤波器功能开启,之前版本的固件是无法使用RPM滤波的,必须注意固件的版本。
关于访问外网:为何要先下载好固件再去更新固件呢?直接在更新固件页面上点选飞控的型号名称和对应的固件版本文件不行吗?这是因为祖国的网络安全设定,将许多电脑连接外网的权限限制了,调参软件的通信端口不能访问外网,很多运行调参软件的电脑不能读取调参软件文件服务器上的固件文件,在调参软件上无法显示可选择的飞控名称和固件,所以需要提前下载好飞控固件程序文件,用本地电脑加载的方式来刷新飞控固件,当然你也可以让电脑网络fan墙一下。
10.电调固件更新
启动电调读写软件BLHeliSuite.exe,进入软件界面中。给电调接上电池,选择串口号Port:COM4,点击Connect按钮连接电调,连接成功后点击右下角的按钮Check进行电调信息读取,如显示电调型号ESC#1: C_H_40-Rev.16.80,这是电调的型号,固件应选择24K频率的C_H_40,固件选错刷入后电调会死掉,一定要注意;如果电调未上电或者电调固件损坏或者连接不正常,会无法读取电调的型号和固件版本号,弹出来的信息提示框中数据为空白的----。

《穿越机技术基础》穿越机开源飞控BF固件RPM滤波器的 ...-15.jpg

电调信息读取成功  

《穿越机技术基础》穿越机开源飞控BF固件RPM滤波器的 ...-16.jpg

选择电调固件文件

点击FlashBLHeli按钮选择一个固件文件,点Ignore the list,pick a file...,弹出警告信息,选YES,进入警告界面并显示要刷入的固件名称及版本号,如果前面选了不对应的固件文件,这里也会显示对应的固件信息,但是刷入错误的固件,电调会变砖。
如果已经确定固件文件信息对应电调型号一致,点击YES按钮,开始写入固件,第一个完成后会出现提示,选yes继续刷写第二个通道的电调,直到四个电调都刷写一遍后完成电调固件更新工作。回到电调刷写工具软件的主界面,点击上方的Motors电机测试页面,测试一下电机是否转动。将Iunderstand the risks...打钩后,将M滑动条向上拉动,如果电机转动,说明固件更新成功,如果没有反应,说明需要重新刷写固件,有时候可能需要重复几次才能刷写成功,这和USB数据线的品质有很大的关系。

《穿越机技术基础》穿越机开源飞控BF固件RPM滤波器的 ...-17.jpg

电机转动测试页面  

《穿越机技术基础》穿越机开源飞控BF固件RPM滤波器的 ...-18.jpg

电机功能参数设置页面

刷写电调固件时,电调板是通过飞控的通信端口和电脑连接,电调通过四条控制信号线与飞控通信,连接电调前必须关闭飞控的正常调参软件,如果调参软件自动连接了飞控,进入了调参状态,电调软件将无法获得连接端口,也就无法正确进入电调读写模式。如有意外情况导致无法进入电调读写模式,请注意查看以上提示内容,或者检查飞控上电自检是否正常,电调是否接上电池。
重要提示:读写电调前需要给电调接上电池供电,固件一定要对应电调型号,不要尝试刷入不确定的电调固件,以免导致电调变砖。
11.RPM调参设置
重要提示:读写电调前需要给电调接上电池供电,固件一定要对应电调型号,不要尝试刷入不确定的电调固件,以免导致电调变砖。
将支持RPM滤波器功能的飞控固件、电调固件刷写完成后,启动飞控的BF调参软件,连接飞控,进行RPM滤波器的相关参数设置。
RPM滤波器相关的设置项不多,在调参软件的配置页面中,将电调电机功能栏下的双向DSHOT开关打开,电机极数是需要去观看电机,数一下外转子上粘住的磁铁数量,一般大电机14颗,小电机12颗;电调电机协议选择DSHOT300或者600,将陀螺仪更新频率设置为8K、4K或者4K、4K;电调电机协议选择DSHOT300时,陀螺仪更新频率设置为4K、4K;陀螺仪更新频率设置为8K、4K或者8K、8K时,需要选择DSHOT600。

《穿越机技术基础》穿越机开源飞控BF固件RPM滤波器的 ...-19.jpg

电调电机功能与陀螺仪更新频率设置

《穿越机技术基础》穿越机开源飞控BF固件RPM滤波器的 ...-20.jpg

电调电机功能与陀螺仪更新频率设置

《穿越机技术基础》穿越机开源飞控BF固件RPM滤波器的 ...-21.jpg

电调电机功能与陀螺仪更新频率设置

设置完以上的几个参数后,点击保存并重启飞控按钮,飞控重新启动并自检完成,接着需要到调参软件的电机界面测试电机是否正可以常开启。给飞机接上电池,接上数据线,进入电机界面,检查螺旋桨是否卸载,开始测试电机。

《穿越机技术基础》穿越机开源飞控BF固件RPM滤波器的 ...-22.jpg

接上飞机电池后及测试电机转动时的正常情况

《穿越机技术基础》穿越机开源飞控BF固件RPM滤波器的 ...-23.jpg

接上飞机电池后及测试电机转动时的正常情况

将右下角的我已了解风险开关打开,轻微向上拉动主控制滑块,观察电机是否转动,电机的转动方向是否与机型要求一致,正常开启RPM滤波时,油门滑块数值变化时,电机的转速数据也会相应变换,如上图中油门处于1298脉宽参数值时,电机转速为R:4171,错误E:0.00%,如果出现下图中的红色错误提示E:100%,要么是没有给电调接上电池,要么就是RPM滤波开启的相关参数设定错误,或者电调固件不支持RPM转速数据回传到飞控。

《穿越机技术基础》穿越机开源飞控BF固件RPM滤波器的 ...-24.jpg

未给飞机接电池或者RPM开启错误的提示

RPM滤波器在PID调参页面中的应用设置,需将陀螺仪RPM滤波器开关打开,谐波数量1-3个,建议设置3个,5寸机架或者更小的机架,最低频率建议设置为100,RPM滤波器应用设置参数如下图。

《穿越机技术基础》穿越机开源飞控BF固件RPM滤波器的 ...-25.jpg

陀螺仪RPM滤波器应用设置参数

飞控接入的设备较多时,如过多开启滤波器与陷波滤波器,会导致部分F405飞控的单片机处理器使用负荷会大于75%,如果使用8K、8K陀螺仪更新频率配合DSHOT600电调通信协议,可能会导致飞控处理负荷过大导致摔机事故,F405飞控请谨慎使用RPM滤波器,如果飞控负荷较高,又必须使用RPM滤波器,可以考虑使用处理能力更强的F7系列飞控。
当然,使用高品质的电机、桨叶、机架硬件、辅于精良的制作工艺是减少振动噪声最好的办法,软件滤波是必须的,但不是万能的,许多软件滤波是万不得已才使用;滤波器用得越多,滤波越狠,造成的操控延时就越大,飞机的操控手感就越差,滤波是一把双刃剑,做穿越机组装和调参时需要谨慎对待!
重点提示:测试电机时请不要安装螺旋桨,以免失控伤害到自己或他人!
安全申明:如果使用本文内容,使你的人身安全和财产安全造成危害或者损失,作者不承担任何后果,不承担任何赔付责任。使用本文,代表你理解并同意本安全申明,一切后果自行承担,如你不同意这个申明,请你放弃使用本文内容!
----------------------------------------------------
作者说明:本文最后更新于2022年8月12日星期五,文中难免出现错误的地方,希望读者能指出并告诉作者,作者会在下一个版本中改进。本文为作者原创,请勿用于商业盈利活动,如需用于商业培训和分发请联系作者授权;穿越机个人爱好者可将本文用于技术学习,这是免费使用的,作者不会向你提出版权受益要求,但是,你不可以将本文私自修改和发布于互联网站,如需要修改,请注明原文内容,修改后的内容也请遵循个人用户免费的原则进行共享。作者的微信在文章的开头处,穿越机技术爱好者可以添加微信探讨。
您需要登录后才可以回帖 登录 | 加入联盟

本版积分规则

快速回复 返回顶部 返回列表