一板网电子技术论坛

风筝
发表于: 2020-12-7 09:57:08 | 显示全部楼层

在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-pinout-1024x578.jpg


ESP32 NodeMCU的电源

当我们向ESP32供电时,我们必须了解PCB上的不同电压电平,从电源引脚开始,到微处理器本身为止。


下图为ESP32 NodeMCU上的电压电平示意图。附加表格显示了微处理器的电压相关规格。

ESP32-voltage-overview.png

微控制器
最低电压
典型电压
最大电压
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

InstallingIDE_file-1.png

如果您已经添加了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 by Espressif Systems.png


总结

在我看来,ESP32是一个功能强大的微控制器,如果您熟悉ESP8266,则很容易上手这款微控制器。 我认为唯一的缺点是板的宽度,因为像NodeMCU V3一样,它也不适合标准的面包板。 您是否尝试过ESP32,您对此有何看法? 欢迎在下面发表回复。


跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 24 | 回复: 39



手机版|

GMT+8, 2021-5-13 00:40 , Processed in 0.036401 second(s), 31 queries . Powered by Discuz! X3.4

YiBoard一板网 © 2015-2020 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表