当前位置: 首页 >应用方案 >技术应用 >

LoRa模块与Arduino/STM32/ESP32系列单片机连接指南

在物联网项目开发中,LoRa无线模块凭借远距离、低功耗的特性,成为广域物联网通信的首选方案。然而,要让LoRa模块稳定工作,正确的硬件连接是首要前提。不同厂家的LoRa模块引脚定义大同小异,但在与不同MCU(如5V的Arduino UNO、3.3V的STM32、ESP32等)搭配时,电平匹配和引脚分配存在诸多注意事项。本文基于亿佰特全系列LoRa模块官方手册,详细梳理LoRa模块与各类单片机的连接规范与避坑指南。

一、单片机连接前的核心认知:电平与接口

在动手接线前,必须明确以下两个核心原则,这是避免烧毁模块或通信失败的前提:

1. TTL电平匹配

绝大多数LoRa无线串口模块(如E22系列、E32系列、E220系列)的逻辑电平为TTL电平。

1. 3.3V MCU(如STM32、ESP8266/ESP32):天然匹配,可直接连接。

2. 5V MCU(如Arduino UNO、ATmega2560):由于模块TXD和AUX引脚输出高电平通常不超过VCC(3.3V),直接连接5V MCU的RXD引脚通常可以识别;但必须注意,某些5V单片机可能需要在模块的TXD和AUX脚加4~10K上拉电阻,以确保高电平稳定可靠。

3. 特殊警告:对于部分纯3.3V供电的射频模块(如E52系列、E150系列),手册明确规定“使用5V单片机,请进行UART电平转换”,切勿直接连接以免损坏模块。

2. 串口交叉连接

单片机的串口引脚与LoRa模块的串口引脚必须交叉连接:

1. 单片机的TXD 连接 LoRa模块的 RXD;

2. 单片机的RXD 连接 LoRa模块的 TXD。

二、通用连接模型:6线制基础接法

对于标准的LoRa串口透传模组(如E22-xxxTxxx、E220-xxxTxxx、E32系列),最完整的连接包含6根线,这也是实现模块全部功能(配置与收发)的推荐接法:

模块引脚

功能说明

单片机引脚

备注说明

VCC

模块供电

VCC (3.3V/5V)

严格参考具体型号手册的供电范围,部分仅支持3.3V

GND

地线

GND

必须共地

TXD

模块串口发送

MCU_RXD

数据接收,5V单片机建议加4.7K上拉

RXD

模块串口接收

MCU_TXD

数据发送

M0

模式切换引脚0

任意GPIO

用于切换休眠/配置/透传模式

M1

模式切换引脚1

任意GPIO

用于切换休眠/配置/透传模式

AUX

模块状态指示

任意GPIO (建议中断)

用于指示模块收发状态及唤醒,5V单片机建议加上拉

设计小贴士:在PCB设计时,建议在M0/M1接口处预留1MΩ上拉电阻(针对EWM32M、EWM220M等系列),这可以在MCU引脚处于高阻态时保证模块稳定处于默认模式,防止误入配置状态。

三、主流MCU平台接线实战

不同的开发平台在引脚资源和硬件串口数量上有所区别,以下是官方推荐的典型连接方案:

1. Arduino UNO (软串口方案)

Arduino UNO硬件串口常被用于电脑日志打印,因此驱动LoRa模块通常使用SoftwareLibrary(软串口)。

E22/E32/E220模块

Arduino UNO引脚

说明

M0

D7

模式控制

M1

D6

模式控制

RX

D4

Arduino D4(SoftRX) <-- 模块 TX

TX

D5

Arduino D5(SoftTX) --> 模块 RX

AUX

D3

状态检测

VCC

3.3V / 5V

依模块型号而定

GND

GND

共地

驱动库实例化代码:

 cpp
#include "LoRa_E22.h"
// 构造函数参数:RX, TX, AUX, M0, M1
LoRa_E22 e22ttl(4, 5, 3, 7, 6);

2. ESP32 (硬串口方案)

ESP32拥有多个硬件串口,使用HardwareSerial驱动更为稳定,且不会占用CPU资源。

E22/E32/E220模块

ESP32引脚

说明

M0

GPIO19

模式控制

M1

GPIO21

模式控制

RX

GPIO16 (RX2)

硬件串口2接收

TX

GPIO17 (TX2)

硬件串口2发送

AUX

GPIO18

状态检测

驱动库实例化代码:

 cpp
#include "LoRa_E22.h"
// 构造函数参数:Serial对象, AUX, M0, M1
LoRa_E22 e22ttl(&Serial2, 18, 21, 19);

3. STM32 (硬串口方案)

STM32系列单片机拥有丰富的USART外设,以下以STM32F103C8T6为例(使用USART2):

E22/E32/E220模块

STM32引脚

说明

M0

PB0

模式控制

M1

PB10

模式控制

RX

PA3 (USART2_RX)

硬件串口接收

TX

PA2 (USART2_TX)

硬件串口发送

AUX

PA0 / PA1

状态检测

驱动库实例化代码:

 cpp
#include "LoRa_E22.h"
// STM32需先实例化HardwareSerial
HardwareSerial Serial2(USART2);
// 构造函数参数:Serial对象, AUX, M0, M1
LoRa_E220 e220ttl(&Serial2, PA0, PB0, PB10);

4. Raspberry Pi Pico

对于RP2040芯片,同样可以利用其硬件串口进行高效通信:

E220模块

Pico引脚

说明

M0

GPIO10

模式控制

M1

GPIO11

模式控制

RX

GPIO9 (UART1_RX)

硬件串口接收

TX

GPIO8 (UART1_TX)

硬件串口发送

AUX

GPIO2

状态检测

四、特殊模块与进阶接线规范

并非所有LoRa模块都是简单的“串口透传型”,如果您使用的是SPI接口模组或带MCU底板的评估套件,接线方式大不相同。

1. SPI接口LoRa模组(如E22-170M22S, E220-400M22S)

此类模块内部仅包含射频收发芯片(如SX1262、LLCC68),不带MCU,需要主控MCU通过SPI接口直接控制射频芯片寄存器。

核心引脚连接:

模块引脚

功能

主控MCU连接说明

MISO

SPI数据输出

连接MCU的SPI_MISO

MOSI

SPI数据输入

连接MCU的SPI_MOSI

SCK

SPI时钟

连接MCU的SPI_SCK

NSS

片选

连接MCU的SPI_CS,低电平有效

RESET/NRST

模块复位

连接MCU任意GPIO,低电平复位

BUSY

状态指示

连接MCU任意GPIO,必须等待BUSY拉低才能发指令

DIO1/DIO2

中断/射频控制

DIO1常作中断输入;DIO2若短接TXEN,则软件需使能DIO2射频开关控制功能

RXEN/TXEN

收发开关控制

若未短接DIO2,则必须连接MCU两个GPIO,由软件逻辑控制收发切换

2. 评估套件底板(如E220-900MBL-02, E80-xxxMBL-01)

此类评估板已经将LoRa模块焊接在带有STM32F103的底板上,对外提供排针接口,主要用于快速评估,无需再操心模块级接线,只需关注底板排针定义:

1. 供电跳线:底板上的VCC与2号脚短接给模块供电,VIO与3号脚短接给MCU供电。

2. 通信接口:直接使用底板引出的TXD、RXD连接USB转串口或您的MCU。

3. SPI控制脚:底板已将模块的MISO(MOSI/SCLK/NSS)接至底板MCU的PB7(PB6/PB5/PB4),如需用自己MCU控制,需通过底板预留的测试点飞线。

五、连接排雷:硬件调试常见问题(FAQ)

1. 接上线后,模块完全没反应,串口也没有数据输出?

① 排查1:检查VCC和GND是否接反或虚接,使用万用表测量模块VCC引脚电压是否在手册规定范围内。

② 排查2:检查TXD/RXD是否接反。记住永远是TX连RX,RX连TX。

③ 排查3:波特率是否匹配?模块出厂默认通常为9600或115200,请确保MCU串口初始化波特率与模块一致。

2. 能读取模块配置,但无法修改参数?
原因:LoRa模块必须在休眠模式(M0=1, M1=1)下才能写入配置参数。请检查M0、M1引脚是否正确连接并在代码中拉高。

3. 通信距离非常近,且丢包严重?

① 排查1(电源):射频模块对电源纹波极度敏感。手册强调:电源输入端需增加一颗不低于47uF的低ESR电容,特别是E22-XXXT37S这类大功率模组。

② 排查2(射频):检查ANT引脚是否悬空!即使不接天线,也不能让射频输出脚悬空,否则会反射烧毁功放。

③ 排查3(电平):5V单片机驱动3.3V模块时,若RXD信号不够高,会导致模块不断接收错误数据。务必按要求增加上拉电阻或电平转换芯片。

结语

LoRa模块的硬件连接看似只是几根线的对接,实则是电源、电平、时序和射频特性的综合考量。遵循“查手册、认电平、交串口、配模式、稳供电”的十五字方针,就能为后续的无线通信打下最坚实的基石。在硬件连接无误的基础上,再配合Arduino/STM32成熟的驱动库,您将轻松跨越LoRa开发的门槛,让数据飞越千山万水。


今天的分享就到这里啦,EBYTE每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多LoRa模组产品和LoRa技术资料,感兴趣的小伙伴可以登录我们的亿佰特官网和企业公众号(微信号:cdebyte进行了解,也可以直接拨打400电话咨询技术专员!


相关阅读:

1、LoRa模块怎么用?从入门到精通的全方位开发指南

2、LoRa传输距离有多远?LoRa模组实际应用中能传几公里?

3、LoRa功耗多少?从微安级休眠到瓦级发射的全方位解析

4、LoRa模块一对多通信示例教程

5、LoRa模块的选择和使用技巧指南


联系我们:

技术支持:support@cdebyte.com      销售咨询:4000-330-990

点击拨打: 亿佰特官网 4000-330-990