2、核心器件选型:红外发射管与接收头选型、主控芯片(ESP32/ESP8266)选型、网络模块(W5500/以太网)选型、电源模块设计
好,咱们进入正题。这一章聊的是选型,说白了就是给这个红外转网络的中继方案挑「骨架」和「器官」。我做了这么多年硬件,最深的体会就是:选型选对了,项目就成功了一半。选错了,后面调试能让你怀疑人生。
2.1 红外发射管与接收头选型
先说说红外这块。红外通信其实不复杂,但坑不少。我刚开始做红外项目时,就吃过发射功率不够的亏——遥控距离只有两米,客户差点退货。
2.1.1 红外发射管
发射管的核心参数就三个:波长、功率、角度。
- 波长:市面上主流是940nm。别问我为什么,这是行业标准。你买遥控器、空调、电视,基本都是这个波长。选940nm就对了。
- 功率:用额定电流和辐射强度来衡量。我一般选50mA~100mA的管子,配合限流电阻使用。功率太小,穿不透电视柜的玻璃门。
- 角度:角度越大,覆盖范围越广,但距离会缩短。我个人习惯选20°~30°的,兼顾距离和覆盖。
重要提醒:发射管不能直接接GPIO!必须加三极管驱动。ESP32的GPIO输出电流只有12mA左右,推不动红外管。我见过有人直接接,结果GPIO烧了。
这里给个典型电路参数:
发射管:940nm,50mA额定电流
限流电阻:100Ω(5V供电时)
驱动三极管:S8050(NPN,便宜又好用)
GPIO控制:高电平有效
2.1.2 红外接收头
接收头我推荐用一体化接收头,比如VS1838B、HS0038B。为什么?因为内部集成了解调电路,直接输出数字信号,省事。
选接收头要注意三点:
- 载波频率:大部分家电用38kHz。你买接收头时,一定要确认是38kHz的。我遇到过有人买了36kHz的,结果死活收不到信号。
- 供电电压:3.3V还是5V?看你的主控。ESP32是3.3V系统,那就选3.3V的接收头。电平不匹配,要加电平转换,麻烦。
- 响应时间:这个容易被忽略。好的接收头响应时间在10μs以内。太慢的话,高速码流会丢包。
我的经验:接收头的输出引脚是开漏输出,记得加上拉电阻。我一般用10kΩ,接到VCC。不加的话,信号波形会很难看。
2.2 主控芯片选型:ESP32 vs ESP8266
嗯,这里要好好聊聊。ESP8266和ESP32,都是乐鑫的明星产品。但选哪个,得看需求。
2.2.1 ESP8266
ESP8266的优势就一个字:便宜。批量价不到10块钱。如果你只是做个简单的红外转发,不需要太多外设,ESP8266够用。
但它的缺点也很明显:
- 只有一个UART,接了WiFi就没法同时接串口屏
- GPIO只有9个,而且有些引脚有特殊功能,实际可用的更少
- 没有硬件I2C,全靠软件模拟,稳定性一般
- 内存只有160KB,跑大程序会吃力
2.2.2 ESP32
ESP32是我个人更推荐的。为什么?
- 双核处理器:一个核跑WiFi协议栈,一个核跑你的应用代码。互不干扰。
- 丰富的外设:3个UART、2个I2C、2个SPI、18个ADC通道。想接什么接什么。
- 蓝牙:除了WiFi,还支持蓝牙和BLE。万一客户想用手机直连呢?
- 内存:520KB SRAM,4MB Flash。跑FreeRTOS都绰绰有余。
注意:ESP32的功耗比ESP8266高。如果做电池供电的产品,要慎重。我有个项目就是选了ESP32,结果电池撑不过一天,最后被迫改方案。
我的建议是:
- 做原型、做验证、做高端产品 → 选ESP32
- 做低成本、大批量、功能简单的产品 → 选ESP8266
2.3 网络模块选型:W5500 vs 以太网
这里说的「以太网」,指的是用ESP32自带的MAC+外部PHY芯片的方案。而W5500是WIZnet的硬协议栈芯片。
2.3.1 W5500方案
W5500最大的特点就是:硬件TCP/IP协议栈。什么意思?就是它自己处理TCP、UDP、IP这些协议,主控芯片只需要通过SPI发数据就行。
优点:
- 不占用主控CPU资源
- 协议栈稳定,不会因为主控程序卡死而断网
- 开发简单,SPI接口,几行代码就能跑起来
缺点:
- 贵。W5500芯片本身就要十几块,加上变压器、RJ45座,成本不低
- 功能固定。不支持IPv6,不支持某些高级协议
2.3.2 ESP32内置以太网方案
ESP32内部有以太网MAC控制器,只需要外接一个PHY芯片(比如LAN8720)和变压器,就能实现以太网。
优点:
- 成本低。PHY芯片几块钱,整体方案比W5500便宜
- 灵活。协议栈跑在ESP32上,想怎么改就怎么改
缺点:
- 占用CPU资源。协议栈处理会吃掉一部分算力
- 开发复杂。要配置MAC地址、PHY寄存器,还要处理中断
我的选择:如果项目对网络稳定性要求极高,比如工业控制、医疗设备,我选W5500。如果是消费类产品,成本敏感,我选ESP32+LAN8720。
2.4 电源模块设计
电源是系统的命脉。我见过太多项目,功能都调通了,最后死在电源上。
2.4.1 供电方案选择
我们这个中继方案,典型功耗在200mA~500mA之间。供电方式有三种:
| 供电方式 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| USB 5V供电 | 方便,通用 | 需要USB线 | 原型验证、桌面设备 |
| DC-DC降压 | 效率高,发热小 | 纹波大,需要滤波 | 12V/24V工业环境 |
| LDO线性稳压 | 纹波小,电路简单 | 效率低,发热大 | 对噪声敏感的场景 |
我个人习惯:原型阶段用USB供电,省事。正式产品用DC-DC,比如MP1584、LM2596,效率能到90%以上。
2.4.2 电压选择
ESP32工作电压是3.3V。红外发射管需要5V才能达到最佳功率。所以系统需要两路电压:
- 3.3V:给ESP32、W5500、接收头供电
- 5V:给红外发射管供电
如果输入是5V USB,那就直接用LDO降到3.3V。如果输入是12V,那就先DC-DC降到5V,再用LDO降到3.3V。
避坑指南:我曾经在DC-DC后面直接接ESP32,结果WiFi老是断连。查了半天,发现是DC-DC的开关噪声干扰了WiFi射频。后来在DC-DC输出端加了LC滤波,问题解决。记住:射频电路对电源纹波极其敏感。
2.4.3 电容选型
电源滤波电容不能省。我的标准配置:
- 输入端:100μF电解电容 + 0.1μF陶瓷电容
- LDO输出端:10μF陶瓷电容
- 每个芯片的VCC引脚:0.1μF陶瓷电容,紧贴引脚放置
嗯,这里要注意:陶瓷电容的容值会随电压变化。10V耐压的10μF电容,在5V下实际可能只有6μF。所以选电容时,耐压要留余量,至少2倍。
2.5 本章小结
选型这件事,没有绝对的对错,只有合不合适。我的建议是:
- 红外部分:940nm发射管 + VS1838B接收头,经典组合,不会错
- 主控:预算够就上ESP32,不够就ESP8266
- 网络:追求稳定用W5500,追求成本用ESP32内置以太网
- 电源:先确定输入电压,再选合适的降压方案,别忘了滤波
下一章,咱们开始画原理图。到时候我会把每个引脚的连接都讲清楚。准备好了吗?