|
在Espressif Systems推出ESP8266之后,又后续推出了一款非常成功的微控制器 - ESP32,它是一款功能强大且便宜的微控制器:
什么是ESP32? ESP32是一款功能强大的32位微控制器,集成了Wi-Fi、用于Internet连接的完整TCP/IP协议栈和蓝牙4.2。由于其低成本、强大的功能以及可以将ESP32连接到众多其他电子设备的功能,该微控制器非常适合IoT项目。
ESP32的技术规格 ● Tensilica Xtensa32位LX6微处理器,具有2个内核 ● 电源供电:2.3V – 3.6V ● 电流消耗:20µA – 240mA。在深度睡眠模式下仅5µA ● 工作温度范围:-40°C – 125°C ● 外部闪存:最大支持16 MB ● 接口 ● UART / SDIO / SPI / I2C / I2S / IR红外遥控 ● 36个可编程I / O引脚,最大20mA ● 2个模拟输入0V至1V,分辨率为12位 ● 所有输入最高可承受3.6V ● 网络 ● WIFI ● WiFi 802.11 b/g/n 2.4 GHz,支持WPA / WPA2 PSK ● 基于Arduino Core 2.5.0的ipv4和ipv6 ● UDP和TCP最多同时连接5个 ● 带宽:150至300 kByte / s ● 延迟:<10ms ● 蓝牙:v4.2 BR / EDR和蓝牙低功耗(BLE)
ESP32 NodeMCU的引脚分布
ESP32 NodeMCU的电源 当我们向ESP32供电时,我们必须了解PCB上的不同电压电平,从电源引脚开始,到微处理器本身为止。
下图为ESP32 NodeMCU上的电压电平示意图。附加表格显示了微处理器的电压相关规格。
微控制器 | 最低电压 | 典型电压 | 最大电压 | ESP32 | 2.3伏 | 3.3伏 | 3.6伏 |
第一种供电方式是使用5V USB电缆,这也是最简单的方式。但是由于ESP32的运行电压为3.3V,所以有一个内置稳压器将USB连接的5V转换为所需的3.3V。 NodeMCU PCB的3.3V引脚也通过该连接供电。
第二种方式是将NodeMCU的VIN引脚用作电源的输入。 AMS1117稳压器的最大输入电压为15V,但在这种方式下,稳压器会产生大量热量,因为稳压器没有散热器或散热风扇来散热。因此,当ESP32由VIN引脚供电时,建议使用7V至12V的电压。
如果电池的最大电压高于ESP32的最大电压(3.6V),则必须使用稳压器将电压降至3.3V。然后将稳压器的输出连接到ESP32电路板的3.3V引脚。
对于电池电源,我建议使用LiFePO4电池,因为在ESP32和电池之间不需要任何额外的稳压器,并且它们是可充电的。此外,LiFePO4电池的容量高达6,000mAh,类似于LiPo和Li-ion电池,结合了将功耗降至最低的电源模式,可以延长项目的使用寿命。
ESP32的电源模式和功耗 启用Wi-Fi后,芯片会在活动模式和调制解调器睡眠模式之间切换。因此,功耗相应地变化。
活动模式(Active Mode) 芯片无线电已打开电源。该芯片可以接收、发送或监听。
调制解调器睡眠模式 CPU是可操作的,时钟是可配置的。 Wi-Fi /蓝牙基带和无线电已禁用。在调制解调器睡眠模式下,CPU频率会自动更改。频率取决于CPU负载和使用的外围设备。
轻度睡眠模式 CPU暂停。 RTC内存和RTC外设以及ULP协处理器正在运行。任何唤醒事件(MAC、主机、RTC定时器或外部中断)都将唤醒芯片。
深度睡眠模式 仅RTC内存和RTC外设供电。 Wi-Fi和蓝牙连接数据存储在RTC内存中。 ULP协处理器可以运行。
休眠模式(Hibernation Mode) 内部8 MHz振荡器和ULP协处理器被禁用。 RTC恢复内存已关闭电源。慢速时钟上只有一个RTC定时器和某些RTC GPIO处于活动状态。 RTC定时器或RTC GPIO可以将芯片从休眠模式唤醒。
在Arduino IDE中选择ESP32开发板 1. 确保您已安装最新版本的Arduino IDE。您可以下载官方网站的最新版本。 2. 安装后,Arduino IDE支持各种不同的Arduino板。由于我们不想对Arduino板进行编程,而是对NodeMCU板进行编程,因此我们必须将NodeMCU开发板引入IDE。这很容易。只需单击File → Preferences。在Additional Board Manager URLs插入以下URL:https://dl.espressif.com/dl/package_esp32_index.json
如果您已经添加了ESP8266开发板的URL,则可以使用逗号分隔URL,如下所示:https://dl.espressif.com/dl/package_esp32_index.json, http://arduino.esp8266.com/stable/package_esp8266com_index.json
3. 现在,我们需要安装ESP32驱动程序。打开boards manager,然后转到Tools > Board > Boards Manager。搜索ESP32,然后点击“ESP32 by Espressif Systems"旁边的安装按钮
总结 在我看来,ESP32是一个功能强大的微控制器,如果您熟悉ESP8266,则很容易上手这款微控制器。 我认为唯一的缺点是板的宽度,因为像NodeMCU V3一样,它也不适合标准的面包板。 您是否尝试过ESP32,您对此有何看法? 欢迎在下面发表回复。
|