工控智汇

工控智汇

教程 | ExpressLRS一篇你就懂了

admin 35 40

01

为什么选择ExpressLRS?

ExpressLRS是一种经济实惠的开源RC系统,可提供超低延迟和长距离。由AlessandroCarcione(又名AlessandroAU)和许多其他开发人员开发。ExpressLRS为流行的TBSCrossfire和FrskyR9M提供了高性价比的远程替代品。他们甚至声称其性能优于这些商业系统。

ExpressLRS实现了更好的延迟和范围。例如,ExpressLRS900MHz200Hz将大大超出Crossfire150Hz的范围,而ExpressLRS50Hz将超出Crossfire50Hz的范围。

02

ExpressLRS硬件选项

ExpressLRS基于SemtechSX127x/SX1280LoRa硬件,结合ESP8285、ESP32或STM32。ExpressLRS支持广泛的DIY硬件平台,也支持FrSkyR9系统。ExpressLRS也可以刷入ImmersionRCGhostTX和Atto/Zepto接收器。

无魔君这里推荐BetaFPV900MHz和2.4GHzTX发射器模块,颜值相当的不错。


ExpressLRS官方支持的硬件列表可以在这里找到:

03

OpenTX中配置

ExpressLRS使用CRSF串行协议在无线电发射器和ELRSTX模块之间进行通信。要设置CRSF协议,请转到模型设置(ModelSetup),在“模型设置”选项卡中,启用“ExternalRF”并选择“CRSF”作为协议:

ELRSTX模块配置与LUA脚本

所有TX模块参数和配置都可以在LUA脚本的帮助下进行更改。

从此链接下载LUA文件:

你也可以通过ExpressLRS配置器下载最新的LUA脚本。

ExpressLRS配置器在这里下载:

将LUA脚本文件复制到遥控器SD卡上的文件夹\SCRIPTS\TOOLS\里。

长按SYS按钮,然后从列表中选择ELRSLua脚本来运行ExpressLRSLUA配置器


一旦ERLSLUA脚本开始工作,你会看到的配置选项。

在LUA脚本中有3个设置:(数据包率)、TLMRatio(遥测率)和Power(功率)。

(数据包率)

这是范围和延迟的折衷。较高的数据包速率具有较低的延迟。

大多数情况下,飞行距离都在1公里以内,推荐使用最高数据包速率,即500Hz。

TLMRatio(遥测率)

遥测率是发送遥测数据的频率。较大的数字意味着较慢的遥测更新,例如1:8表示每8帧发送一次遥测数据,而1:128是每128帧发送一次。

更频繁的遥测会导致控制链路的延迟,但更少的遥测更有可能给您提供遥测丢失警告。这也取决于您的要求,如果您想要更频繁的更新,那么您需要设置一个较小的数字。

Power(功率)

BetaFPV的发射模块最高支持500mW,但我相信100mW对大多数人来说已经足够了。测试表明,100mW可以使用2.4GHz机子进行33km的范围飞行。

可能遇到的问题和解决方案

如果LUA脚本在屏幕上仅显示“Connection”,则表示LUA未与ExpressLRSTX模块通信。

此问题的可能原因和解决方法:

1.模块在遥控器外部JR模块托架中没有正确连接。尝试重新安装JR托架/机箱内的TX模块。工作的ExpressLRS模块应该有(红色)LED亮起。

2.您正在运行早于2.3.12的OpenTX版本。至少需要2.3.12版本才能使用ExpressLRS。

3.尚未在模型设置中将外部RF设置为CRSF。转到遥控器上的模型设置并仔细检查设置。内部射频应该关闭。

4.ExpressLRSTX模块处于WiFi更新模式。需要关闭无线电电源才能在正常模式下启动ExpressLRS模块。

5.如果LUA脚本显示!!!VerisonMismatch!!!错误警告,这意味着您需要更新TX模块固件。

04

更新ExpressLRS固件

ExpressLRS是一个不断发展的固件,每次更新都包含许多错误修复和改进。更新到最新版本可以保护你免受一些潜在问题的影响。

1.01稳定版刚刚发布,建议大家及时更新。强烈建议更新你新购买的ExpressLRS硬件(比如BetaFPVELRSNanoTX和RX发射器模块和接收器,HappymodelES24TX、ES915TX和NamimnoFlashVoyager)。通常购买的TX模块和接收器不包含最新的固件。

目前没有办法知道TX/RX上的固件版本。必须将所有模块更新为最新的已知固件,以确保您在TX/RX上拥有相同且最新的固件。这点,会在将来推出的版中得到改进。

如何刷写/更新ExpressLRS

有多种方法可以将ExpressLRS固件刷入TX或RX模块。这些取决于您使用的硬件及其功能(是否有USB插座,是否有WiFiESP32芯片等)。

TX模块可用的方法有TX更新、WiFi更新、UART更新。

对于RX模块,可用的方法是BF串行直通、WiFi更新、UART更新。

一般情况下:如果你的TX和RX有ESP板载芯片,则可以通过wifi更新可用。如果您的TX模块有USB接口,则可以使用UART更新方法。任何RX都可以通过BFPassthrough或UART更新方法更新。

你可以在这里找到每个硬件项目可能的固件刷新方法:

为了刷写TX或RX模块,您需要准备好固件。

编译和刷写TX/RX固件

下载并安装ExpressLRS配置器。您可以从这里下载ExpressLRS配置器

无魔君使用的是PC,所以下载下面这个exe安装包

第一步,启动ExpressLRSConfigurator并选择固件版本。

“RC-x”意味着这是候选版本,例如1.0.0-RC5。如果如非必要,您应该使用正式版本。这里我选择最新版本1.0.1

编译发送器模块(TX)固件

选择要为其构建固件的硬件和更新类型

然后选择刷新方式,这一步将决定接下来通过那种方式刷新固件。

TX有两种方式

RX有三种方式

选择“Device”设备后,必须设置所选硬件的“DeviceOptions”设备选项。

设备选项

RegulatoryDomains-监管领域,根据你所在国家区域,选择915还是868频率固件设置。

BindingPhrase-绑定短语,基本上就像你的VTX频道号一样,你应该让和你一起飞行的人知道,这样他们就不会使用相同的短语并导致问题。它应该是一个您可以记住的独特短语,而不是密码或秘密。长度要超过6个字。

NO_SYNC_ON_ARM:竞速=启用。远距离=禁用

HYBRID_SWITCHES_8:通过禁用它将使您的所有开关处于2位。如果您想使用3位开关,请启用此功能,但请注意,您的解锁开关(AUX1)仍将是2位

ENABLE_TELEMETRY:启用额外的遥测,如电池电压、电流、GPS数据、飞行模式(基本遥测如RSSI、链路质量始终传输)

AUTO_WIFI_ON_INTERVAL:在启动时启用WiFi更新的自动启动。超时值可以自定义(默认为40秒)。

一切设置好后,按BUILD按钮(不是BuildandFlash)。这可能需要几分钟时间。

配置器完成构建后,应弹出一个窗口,其中包含名为“”的固件文件,将其复制到你之后可以轻松找到的地方。


通过WiFi刷新ExpressLRSTX

通过WiFi更新可能是最方便的固件刷新/更新方式。前提是你上一步选择了WiFI刷新。

首先,您必须将TX置于WiFi更新模式。在遥控器上进入ELRSLua脚本,选择“WiFiUpdate”并保持遥控开启。

然后连接到名为“ExpressLRSTXModule”的WiFi网络。WiFi网络的密码是“expresslrs”

不要弄错“ESPWiFiManager”Wi-Fi网络-这是ESP芯片的热点网络,目前(固件版本为1.0)不被使用。

连接到ExpressLRSTX模块WiFi网络后,在浏览器并打开此地址:

将看到ExpressLRSWiFi更新页面欢迎屏幕。

等待网页刷新,地址变为。该页面可能如下所示:

别慌!至少再等10秒钟,直到更新完成。

通过UART刷新/更新ExpressLRSTX

如果您选择UART刷新,那么你可以按[BUILDFLASH]按钮来创建和烧写ExpressLRS模块。在此步骤之前,发射器模块应通过USB线连接到PC。

ExpressLRS配置器将首先编译,然后会自动检测连接ExpressLRSTX模块的串行端口,并尝试将编译后的固件刷入其中。

如果刷新成功,应该看到以下结果。

如果ExpressLRS配置器未能检测到TX模块,那么您将看到此类错误。

编译接收器(RX)固件

编译RX固件和编译TX类似,在Device设备选项选择“xxxxRX”

设备选项和上面TX设置保持一致

通过WiFi刷新/更新ExpressLRSRX

首先,必须将RX置于WiFi更新模式。为此,您需要在没有连结遥控信号的情况下打开接收器。在AUTO_WIFI_ON_INTERVAL超时后,接收器将进入自动WiFiupade模式。

然后连接到名为“ExpressLRSRX模块”的WiFi网络。WiFi网络密码是“expresslrs”。

其余步骤和上面“通过WiFi刷新/更新ExpressLRSTX”是一样的。

通过BetaflightPassthrought刷新/更新ExpressLRSRX

如果您选择了“BetaflightPassthrought”的刷新方式。那么您可以按[BUILDFLASH]按钮一步构建和刷写ExpressLRS接收器。

在此步骤之前,您的接收器应连接到飞控,并且您的飞控应通过USB线连接到PC。

ExpressLRS配置器会先编译,然后会自动检测飞控所连接的串口,尝试将飞控设置为BetaflightPassthrough模式,并将编译好的固件刷入其中。

如果刷新成功,那么您应该看到以下结果。

05

绑定ExpressLRS

ExpressLRS接收器可以通过两种方式绑定——使用相同绑定短语时自动绑定,或者通过将TX和RX都置于绑定模式以传统方式绑定。

如果TX和RX模块的固件具有相同的绑定短语,ExpressLRS接收器会自动绑定到发射器模块。您可以在ExpressLRS配置器中设置您的自定义绑定短语。

或者,您可以将任何ExpressLRS接收器绑定到任何ExpressLRS发射器,方法是将两者都设置为绑定模式。为了将接收器设置为绑定模式,您必须将接收器打开和关闭循环3次,然后接收器将进入绑定模式。发送器模块可以通过在ERLSLua脚本中选择[Bind]选项来设置为绑定模式。

BetaFPVNano接收器868MHz/915MHz版本图如下所示。短按3次Nano模块上的按钮,进入绑定状态。

一些ExpressLRS发射器模块在模块上有绑定按钮,您可以通过按下该按钮进入绑定模式。下面是BetaFPVTX模块绑定方法。进入绑定状态时LED不会闪烁。5秒后模块自动退出绑定状态。短按连续按3次进行绑定。

▲BetaFPVELRSNanoTX模块绑定

06

安装/焊接ExpressLRS接收机

ExpressLRS接收器使用CRSF协议与飞控通信。因此,ExpressLRS接收器的连接方式应与TBSCrossfire接收器的连接方式相同。任何Crossfire接收器连接图也适用于ExpressLRS接收器。此外,ExpressLRS接收器具有与TBSCrossfireNano接收器相同的引脚排列,因此它们可以像TBSCrossfireNanoRX一样直接安装(焊接)在FC板或适配器板上。

一般规则是将ExpressLRS接收器TX焊点连接到飞控RX焊点,RX焊点连接到TX焊点。还有GND到GND,通常ExpressLRS接收器由5V供电。

▲BetaFPVELRSNano接收机接线图

07

Betaflight中的设置

打开BetaflightConfigurator,在“端口”选项卡,将ELRS接收器连接到的UART启用“串行数字接收机”。按“保存并重启”按钮。

您的RX现在应该可以工作了。

要确保遥测正常工作,请转到遥控器中的遥测页面,然后选择“Deleteallsensors”删除所有传感器选项,然后选择“DiscoverNewSensors”发现新传感器。

星号闪烁表示遥测正在更新

在模式选项卡中,您应该将AUX1设置为您的ARM解锁开关(请注意,它现在是一个2位开关)。

08

OSD设置

RSSI–信号强度,信号有多大(值从-130dBm到0dBm)

LQ–连接质量,您的接收器对信号的理解程度(值从0%到100%)

这两个指标都很有用,但如果你必须选择一个,LQ可能更重要。

要正确显示LQ,您应该使用或更新版本,他们为LQOSD元素引入了新的RFMD:LQ%格式。

首先在配置选项卡,禁用RSSI_ADC

接收器选项卡,将RSSI通道设置为禁用

OSD选项卡,启用“连接质量”和“RSSIdBM值”

有两个测量值很有用。例如:

低LQ、高RSSI=你周围有很多干扰

LQ高,RSSI低=你距离很远,应该小心,如果距离很近,则表明您的天线可能有问题

低LQ、低RSSI=达到你装备的范围限制

08

问答为什么要AUX1用于解锁ARM?

当该选项HYBRID_SWITCHES_8打开时,每个数据包只发送AUX1通道。其他通道(AUX2–AUX8)每一个数据包发送一个通道,并且最多可能需要7个数据包才能将通道值发送到接收器。使用AUX1进行解锁可确保上锁命令尽快发送到模型。AUX1是ExpressLRS中延迟最低的AUX通道。

注意:如果您不使用,那么您可以使用任何通道进行ARM/DISARM,因为所有通道AUX1-AUX8值都随每个数据包一起发送。所有通道都只有2-pos(ON-OFF)。

为什么需要先打开发射器TX?

始终首先打开发射器TX,然后在遥控上切换到您的ExpressLRS模型,然后才给无人机通电,否则您可能会使ExpressLRS进入WiFi更新模式,特别是如果Wifi间隔(auto_wifi_on_interval)设置为20秒(默认值)。
您可以在更改为不同的无人机之间保持无线电开启。您还可以将WiFi间隔增加到40秒或更多,以防您想先为无人机供电,然后有足够的时间为打开TX。

ELRS是否支持Betaflightlua脚本?

在ExpressLRS配置器中的启用ENABLE_TELEMETRY选项增加了对Betaflightlua脚本的支持。

如何修复偶尔出现的“Telemetrylost”遥测丢失警告的问题?

如果您收到“遥测丢失”警告,而您的dBm/link质量仍然良好,则意味着您的遥测速率太低。尝试增加它,直到“遥测丢失”警告消失。

参考资料:

年轻的飞手哟,动一下你打杆的无名指和大拇指,点个赞再走吧~