8. ESP32无线控制模块

模块描述

ESP32是乐鑫公司推出的集成WiFi和蓝牙的双核MCU,采用Tensilica Xtensa LX6处理器,主频最高240MHz。内置WiFi 802.11b/g/n、蓝牙4.2/BLE,支持丰富的外设接口。板载4MB Flash,适合物联网、无线通信、远程控制等应用。特别适合电赛中需要无线通信、数据传输、远程监控的题目,是物联网应用的首选方案。

工作原理

[5V/3.3V输入] → [AMS1117-3.3V] → [3.3V系统供电]
                                    ↓
[40MHz晶振] → [PLL] → [最高240MHz] → [双核Xtensa LX6]
                                    ↓
                        ┌───────────┴──────────┐
                        ↓                       ↓
                [核心0:应用任务]        [核心1:WiFi/BT协议栈]
                        ↓                       ↓
                    [外设控制]              [无线通信]
                        ↓                       ↓
                [GPIO/ADC/DAC/PWM]      [WiFi 2.4GHz天线]
                [UART/SPI/I2C]          [蓝牙天线]

技术指标

- 处理器: 双核Xtensa LX6 - 主频: 80/160/240MHz可调 - SRAM: 520KB - Flash: 外部4MB (最大16MB) - WiFi: 802.11 b/g/n, 2.4GHz - 蓝牙: BT 4.2 + BLE - GPIO: 34个 (部分仅输入) - ADC: 2个12位SAR ADC, 18通道 - DAC: 2个8位DAC - 触摸: 10个触摸传感器 - PWM: 16路LED PWM - 通信: 3×UART, 4×SPI, 2×I2C, 2×I2S - 其他: SD/SDIO, CAN, 红外, 霍尔传感器 - 工作电压: 3.0V-3.6V - 功耗: 运行80mA, 调制解调器睡眠20mA, 深度睡眠5μA

接口管脚定义 (ESP32-WROOM-32)

管脚 名称 功能 备注
————————
1 GND 电源地
2 3V3 电源 3.3V
3 EN 使能 高电平使能
25-36 GPIO0-15 通用I/O 多功能
26 GPIO2 I/O 板载LED
9 GPIO0 I/O 启动模式(低电平下载)
37-38 GPIO16-17 I/O 部分模块用于Flash
30-33 GPIO34-39 输入 仅输入,无上拉
4-8 GPIO6-11 Flash接口 禁止使用

板上设置和信号指示

- 电源LED: 3.3V供电指示 - WiFi LED: 板载LED(GPIO2)可编程 - 复位按键: EN引脚复位 - BOOT按键: GPIO0启动模式选择 - 天线: PCB天线或IPEX外接天线 - USB转串口: CH340/CP2102 - 自动下载: DTR/RTS控制EN和GPIO0

电气指标

- 供电电压: 3.0V-3.6V (推荐3.3V) - 工作电流: 平均80mA, 峰值240mA (发射) - GPIO电流: 单个最大40mA, 推荐12mA - ADC输入: 0-3.3V (可衰减至0-11dB) - ADC精度: 12位 (有效约10位) - DAC输出: 0-3.3V, 8位 - PWM频率: 可调 (常用1kHz-5kHz) - WiFi发射功率: 最大20dBm - WiFi灵敏度: -98dBm@11Mbps - 蓝牙发射功率: 最大12dBm

使用说明

1. 开发环境: Arduino IDE (安装ESP32支持包) 或 ESP-IDF 2. 程序下载: 按住BOOT键,按RESET键,松开RESET,松开BOOT进入下载模式 3. WiFi连接: 使用WiFi.begin()连接AP,支持STA/AP/STA+AP模式 4. 蓝牙使用: 经典蓝牙(SPP)或BLE模式 5. 双核编程: 使用xTaskCreatePinnedToCore()指定任务运行核心 6. ADC校准: 使用espadccal库进行ADC校准 7. 深度睡眠: espdeepsleep_start()进入深度睡眠,降低功耗 8. OTA更新: 支持WiFi无线更新固件

全国大学生电子设计竞赛相关赛题

- 2021年: 物联网数据采集题目 - 2019年: 无线数据传输与监控 - 2017年H题: 远程幅频特性测试装置 - 未来趋势: 物联网、远程监控、智能家居类题目

应用技术要点总结

1. WiFi编程: 连接路由器或作为AP,TCP/UDP通信 2. HTTP服务器: 创建Web服务器显示数据或控制设备 3. MQTT协议: 使用PubSubClient库实现MQTT通信 4. 蓝牙串口: 使用BluetoothSerial库实现蓝牙SPP 5. BLE应用: 创建BLE服务器/客户端,低功耗数据传输 6. 双核任务: 核心0处理WiFi/BT,核心1运行用户任务 7. FreeRTOS: 使用任务、队列、信号量实现多任务 8. 功耗优化: 关闭WiFi、降低主频、使用睡眠模式