飞行:ELRS学习心得

ELRS是一个开源的遥控器发射和接收的新型协议,其软件和硬件都是开源的。

其也使用了两个主流频率,2.4GHz和915MHz。915MHz频率较低,波长较长,理论上具有更好的绕射性,但实际上2.4GHz的绕射性经过网友的大量测试也是非常优秀,且相比于915MHz,其延迟更低,更适合于穿越机。

ELRS的硬件是开源的,出现了各大生产厂家,但其都是根据同一套开源方案做制作,理论上可以互相对频连接使用。

高频头:

高频头主要是针对OpenTX系统来开发,支持主流的以OpenTX为系统的遥控器,比如Jumper系列,FrSky系列,Futeba系列等。

高频头的软件,又叫做高频头的固件,各自厂家都有自己的固件,但其核心都是来自于ELRS的开源固件,因此,版本号与开源固件的版本号是一致的,但刷机要用厂家提供的正式固件为宜。其通讯协议都是CRSF协议。在遥控器的接收机选项处要选择为CRSF协议才会正常启用高频头。

目前固件的稳定版是1.2.0,测试版到了2.0.0-RC2。不同厂商出厂使用的固件版本可能会不同,甚至同一厂商生产的不同批次的产品,固件版本也会不同。以betaFPV高频头为例,七八月份生产的高频头及接收机的固件为1.0.0,最大只支持250Hz频率,互相对频没有问题,而现在的高频头和接收机固件版本为1.2.0,最大支持500Hz频率,互相对频也没有问题。但如果用较早生产的高频头与最近买的接收机,或用较新的高频头与较早的接收机对频,可能会对频失败。如果对频失败,建议也检查一下固件版本。

需要注意的是,遥控器的版本也是需要考虑的。以OpenTX系统为例,如果使用较早的系统,可能不会支持ELRS,或者只支持低频率模式的ELRS,比如你希望用500Hz刷新率,但遥控器只支持到250Hz刷新率。建议将遥控器升级到最新版的OpenTX 2.3.14 (open-tx.org)(2021-07-23发布)。升级方法请参看相关教程,资料非常多。

对频时,可以按高频头的对频按键,也可以通过LUA脚本来按bind。不同厂家的高频头按键可能是不同的,按的次数可能也是不同的,甚至没有物理按键(只能使用LUA脚本)。

当按下时,高频头将向周围发送对频信息,如果有接收机正在等待对频,则会收到对频信号。对频时接收机的灯将闪烁,对频成功后将保持常亮。如果接收机的灯没有什么反应或变化,说明接收机不识别高频头的“请求”,一般可能是接收机与高频头的固件版本不一致,或者LUA脚本不匹配。

接收机:

不同厂家的接收机的硬件方案也是基于同一个开源方案,所以理论上也都差不多,只不过可能在非核心芯片上有所不同。因此,接收机的固件也应该使用厂家提供的正式固件为宜。但是,如果需要和高频头对频,其固件版本号要与接收机的固件版本号一致。

接收机的安装方式目前有两种,第一种是使用UART串口方式,第二种是使用SPI方式。

对于UART串口方式,其安装方法与安装其他非ELRS接收机类似,即RX与TX交叉连接,GND与VCC正常连接即可,一共是四根线。硬件连接好后,需要在地面站中配置所连接的串口号为接收机,并选择接收机的型号为CRSF。然后连续通断电3次(每次以接收机的灯亮为准),第3次通电后不要断开,则指示灯将会双慢闪,意味着准备接受对频。

对于SPI方式,则在硬件连接完毕后,配置接收机为SPI,并可以在。一些AIO飞控采用的就是SPI方式,比如BetaFPV的5A AIO 和12A AIO等。

固件

固件的核心来自于ELRS在github上的项目。固件依然在不断迭代更新中,目前已经到了 2.0.0-RC2 版本。建议使用稳定版本,目前的稳定版本为1.2.0。另外,高频头的版本和接收机的版本必须一致才可以对频

不同厂家有不同的固件,应该使用与之对应的固件,只要版本号一致即可。

比如,给HappyModel家的ELRS接收机刷入HappyModel的1.2.0版本的固件,则也必须给BetaFPV家的ELRS高频头刷入BetaFPV的1.2.0版本的固件,尽管这两个固件来自不同厂家。之所以不同厂家之间还可以互相对频,是因为它们都使用的同一家开源方案。

在固件中有一处地方需要注意,即“Binding phrase”。不同厂家默认的“Binding phrase”都是空的,或者说没有Binding phrase。由于没有Binding phrase,所以高频头和接收机是彼此不认识的,必须向上述对频方式一样去对频。

如果设置了“Binding phrase”(要求为6位字符),且高频头和接收机的“Binding phrase”都一样,比如使用“abc123”,则两者上电之后,不需要额外的操作,即可自动对频。这极大的方便了对频,但也增加了使用成本,即新买到接收机后都需要刷入加了“Binding phrase”的代码固件才行。因此,这个“Binding phrase”加不加,根据需求,因人而异。给新接收机刷入“Binding phrase”的方法是,打开该链接:ELRS Binding Phrase to UID Bytes (busheezy.github.io),输入你的“Binding phrase”,则会自动生成CLI代码,将CLI代码在地面站中输入即可。(前提是要更新地面站位最新版,特别旧的版本可能不能识别ELRS的代码。)

比如对拼密码是taholab,则代码就是:

 

对频失败的排查方法

如果对频失败了,建议以以下方式排查问题:

  1. 接线是否正确,尤其是TX与RX的连接
  2. 地面站的配置是否正确,要打开正确的串口号,还要在接收机那里选择正确的接收机协议(外置选CRSF,AIO飞控选择SPI接收机并保持第二个下拉菜单选项内容为空白)
  3. 观察对频灯是否正常闪烁,检查是否点击了bind
  4. 检查接收机和高频头的固件版本是否一致
  5. 检查接收机和高频头的刷新率是否一致,建议都为500Hz。因为很多AIO飞控采用的SPI通讯方式默认开启的是500Hz。
  6. 检查是否开启了Binding phrase,必须保持一致,默认都是留空的。
  7. 建议更新遥控器固件到最新版,再将高频头和接收机的固件更新到1.2.0的稳定版本(更新到最新的2.0.0也可以,只不过是测试版)再次尝试。

固件升级方式

无论是高频头还是接收机,都可以通过有线或无线的方式来刷入固件或者升级。

有线方式:

1、如果高频头或接收机带有USB接口,则可以直接连接,通过UART方式更新固件

2、如果高频头或接收机无USB接口,便无法使用方法1。此时,可以通过地面站刷入固件。

无线方式:

这是一种比较简单的方式,即通过WiFi刷入。无论是高频头或接收机都带有WiFi热点功能,即自己能产生一个WiFi热点,高频头默认的WiFi热点名称为ExpressLRS TX,接收机默认的WiFi热点名称为ExpressLRS RX,默认密码都是 expresslrs(全部小写)。

成功用电脑无线网连接高频头或接收机的热点后,可以在浏览器打开  http://10.0.0.1(默认管理连接,该连接一般不变,除非在编译固件时专门设置),即可打开网页,会显示当前版本号,以及上传并刷写固件的按钮。选择合适的固件,上传刷写即可,刷写成功后,网页会返回类似“success”的字样。

一些参数的解释

Regulatory domains: 启用2.4G频段。(当然我们要启用,这里必须勾选。)

Binding phrase:绑定短语。(默认为空,各厂家为了能方便匹配其他厂家的设备,默认都是留空的。用户可以自行设置,其设置的优点与缺点见上文描述。)

I usually enable the following options for my freestyle quad, you might want different options enabled for your particular application. You can also click on the question mark to learn about them.

In a nutshell:

  • NO_SYNC_ON_ARM: Racing = Enable; Long Range = Disable; Not sure? Just disable it.
  • HYBRID_SWITCHES_8: by disabling it will make all your switches 2-position. If you want to use 3-position switches, enable this, but note that your arm switch (AUX1) would still be 2-position
  • Enable Telemetry: I don’t use telemetry as I have Betaflight OSD

500Hz mode is enabled by default so there is no need to select it anymore.

Comments

No comments yet. Why don’t you start the discussion?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注