ESP32 使用电平转换模块把3.3V转换成5V

ESP32是一款广泛使用的WiFi+蓝牙单片机,工作电压为3.3V。而传感器的工作电压有各种不同的类型,比如很多传感器的工作电压为5V。如果直接将5V传感器连接到ESP32的IO口,会因过高电压烧坏ESP32。

反之,ESP32的引脚最高3.3V电压,也无法在通信中作为高低电平区分信号(部分传感器通信需高于3.7V才为高电平,否则为低电平)。

所以我们需要使用电平转换模块在二者之间进行电压转换。电平转换模块内部集成了电压比较器、运算放大器等电路,可以将高电压转换为低电压,也可以将低电压转换为高电压。

实验效果

凌顺实验室(lingshunlab.com),通过电平转换模块可以在不同电压的设备之间进行转换,实现二者的正常连接通信。例如,在本示例中把ESP32的IO口高电平的电压从3.3V提升到5V(实测4.9V,这是压降问题)。电平转换大多是使用在不同设备间的通信电压不一样的场景,而不是用于负载,否则压降会非常严重。

WX20230908-1146422x

元件说明

WX20230908-1157332x

产品特性

  • 1、四MOS管实现四路3V和5V电平的双向转换
  • 2、电源输入带防反接保护,集成3.3VLDO,并可对外提供不大于150mA的。
  • 3、电流带电源指示灯,工作与否一目了然。
  • 4、可实现UART、lIC、1-wire,SPI等总线信号3V-5V电平的双向转换。
  • 5、稳定通信波特率28800bps以内。

注意:本产品为电平转换模块不是电源转换模块!!必须接5V电源才能正常工作!

引脚说明

5V - 接5V电源

3V - 接3.3V电源

GND - 接电源负(地)

HVx - 高电平信号(双向:输入or输出)

LVx - 高电平信号(双向:输入or输出)

BOM表

  • ESP32 x1
  • 电平转换模块 x1
  • 跳线(杜邦线) x若干
  • 面包板 x1

接线图

WX20230908-1129482xx

本示例是把ESP32引脚的高电平的3.3V电压转换成5.0V电压,只需要连接5VGND即可。

当引脚D13输出高电平时,在电平转换模块的HV1端,可以测出是5.0V的高电平

程序代码

// welcome to lingshunlab.com

// 定义输出引脚为D13
int OUTPUT_PIN = 13;

void setup() {
  // 设置引脚模式为 OUTPUT
  pinMode(OUTPUT_PIN, OUTPUT);
}

void loop() {
  // 输出引脚 输出高电平信号
  digitalWrite(OUTPUT_PIN, HIGH);  
  delay(2000);          
  // 输出引脚 输出低电平信号
  digitalWrite(OUTPUT_PIN, LOW);   
  delay(1000);                      
}

上传完代码,即可使用万用表进行测量,在LV1端测得3.3V,在HV1端测得4.9V。