红外38kHz通信原理与555发射接收电路实战
简介:本资源是一份面向电子初学者的红外通信入门实践资料,聚焦38kHz红外发射与接收原理及基础电路搭建,适用于单片机课程设计、智能硬件入门、遥控类小项目开发等场景。资料以1个47KB的Word文档(.doc)形式提供,内容涵盖HS38(HS0038)红外接收模块的工作特性解析、38kHz方波生成方案(支持555定时器与单片机两种实现)、占空比优化建议(20%–30%以降低功耗)、示波器实测验证方法,以及通用型38kHz接收模块(如TL0038、VF0038等)引脚识别技巧与试触判别法。文档还特别说明该电路未加限流电阻与三极管驱动,强调其教学演示定位,便于读者快速理解核心元件功能与信号响应逻辑。目前已有1669人学习下载,是掌握红外无线通信底层机制、积累硬件调试经验的轻量级实用参考。
1. 这不是遥控器拆解,而是一扇能亲手“看见”无线信号的电子小门:红外发射接收电路到底是什么?
你有没有试过把电视遥控器对准手机摄像头按一下?屏幕里突然闪出一串紫光——那不是幻觉,是红外光在“说话”。可它怎么说话?谁在听?为什么非得是38kHz?为什么遮一下就断?这些问题,光看遥控器外壳永远得不到答案。今天要带你打开的,就是一个最简、最透明、连限流电阻都省掉的红外发射接收电路:它不追求稳定商用,也不堆功能,就干一件事——让你用示波器“亲眼看见”无线信号是怎么从电变成光、再变回电的。HS38(HS0038)这个小黑块,就是你的“光耳朵”;红外发射管,就是你的“光嗓子”。它不连Wi-Fi,不走蓝牙,不用写一行代码,只靠基础元件和一个固定频率,就能完成一次完整的“光通信闭环”。适合谁?零基础刚焊完第一个LED、分不清VCC和GND、看到示波器菜单就手抖的新手;也适合想甩开开发板、回归电路本质、搞懂“信号到底是怎么被检测出来的”那层黑匣子的实践派。这不是玄学,是看得见、测得到、遮一下就翻车、通电就出结果的物理事实。
2. 先搞懂两个核心角色:HS38不是万能接收头,红外发射管也不是普通LED
2.1 HS38(HS0038):一个只认“38kHz暗号”的挑剔守门人
HS38不是个放大器,也不是个通用传感器。它是个高度特化的集成模块,内部已经封装了红外二极管、前置放大、带通滤波、解调和比较器——整套链路全焊死在一块小芯片里。它的任务非常专一:只监听频率严格落在38kHz±1.5kHz范围内的方波信号。注意,是“方波”,不是连续光;是“38kHz”,不是37或39;是“调制信号”,不是直流亮灭。一旦满足这三个条件,它立刻把输出脚拉低(0V),表示“我听到了暗号”;否则,输出脚默认高电平(通常接VCC,约5V),表示“没动静,我歇着”。这种设计极大抑制了日光灯、白炽灯甚至阳光里的红外干扰——因为那些都是宽谱、无规律的“噪音”,根本凑不出38kHz的节奏。所以,别指望拿它去测温度、测距离或接收任意红外遥控码;它只做一件事:当且仅当38kHz方波照到它脸上时,“咔哒”一声关掉输出。这是它存在的全部意义,也是你理解整个电路的起点。
2.2 红外发射管:长得像LED,但必须“喘气式”发光
你手边那个黑色圆头、两根引脚的红外发射管,外观和普通红色LED几乎一样。但关键区别在于:它不能长时间直流点亮。原因很简单——效率低、发热大、寿命短。实际应用中,它必须工作在“脉冲模式”:亮10微秒,灭40微秒,再亮10微秒……这样循环,平均功率只有连续点亮的1/5,却能维持足够强的瞬时光强。这个“亮-灭”节奏,就是38kHz方波——频率38000次/秒,周期≈26.3微秒,其中高电平时间(占空比)建议控制在20%~30%,也就是约5~8微秒。为什么是这个区间?太窄(<10%),光强不够,HS38收不到;太宽(>50%),发热飙升,发射管容易提前退休。所以,你给它的不是“开/关”指令,而是一个持续振荡的方波节拍器。它不关心内容,只忠实地跟着节拍“喘气”。
2.3 为什么非得是38kHz?——避开光污染的生存策略
这个问题常被新手忽略,但它直指设计本质。可见光波段(400~700nm)之外,近红外(850~940nm)是电子设备最常用的无线通信窗口,因为LED和硅基接收器对它响应好、成本低。但环境里红外“噪音”太多:太阳光含大量红外、白炽灯发热辐射红外、甚至人体都在散发红外。如果发射端用直流或低频闪烁(比如1Hz),HS38根本分不清是遥控信号还是窗外飘过的云影。而38kHz是个精心选择的“高频静音区”:自然光源的红外辐射变化极其缓慢(毫秒级),无法形成如此高速的明暗切换;日光灯镇流器噪声多在几十到几百Hz;就连开关电源的干扰也集中在几十kHz以上或以下。38kHz就像一条专属快车道,既够快让环境噪声跟不上节奏,又够低让普通数字电路(555、单片机IO)轻松生成。这不是玄学参数,是工程师用示波器实测、用频谱仪验证过的生存策略。
提示:HS38的供电电压标称是4.5~5.5V,但实测中3.3V也能勉强工作(输出电平会变弱)。不过,为保证信号干净、抗干扰强,入门阶段请务必使用稳定的5V电源,避免用USB口直接供电(内阻大、纹波高)。
3. 第一步动手:不用单片机,用555定时器搭出你的第一个38kHz心跳
3.1 为什么选555?——因为它够傻瓜、够透明、够教学
新手第一次做红外发射,最容易卡在“怎么产生38kHz”这步。有人想抄遥控器芯片,有人想啃STM32手册,结果三天没亮灯。其实,555定时器就是为你准备的“第一课教具”。它只有8个引脚,外围只需2个电阻+1个电容,就能稳稳输出方波;所有参数计算公开透明,没有寄存器、没有时钟树、没有启动文件。你调一个电阻,频率就变;换一个电容,占空比就改。它不隐藏过程,不抽象逻辑,就是赤裸裸的RC充放电物理——这正是初学者建立直觉的最佳入口。
3.2 电路搭建:三步接好,555开始打拍子
我们采用555的“无稳态多谐振荡器”模式(Astable Mode),这是生成方波最经典接法。所需元件:NE555芯片1片、10kΩ可调电阻(电位器)1个、10nF陶瓷电容1个、100nF退耦电容1个、5V电源、面包板、导线。接线步骤如下:
1. 555第1脚(GND)→ 接地 2. 555第2脚(TRIG)与第6脚(THRES)短接 → 接电容C(10nF)另一端,该端同时接100nF退耦电容到地 3. 555第4脚(RESET)与第8脚(VCC)→ 同时接5V电源 4. 555第5脚(CTRL)→ 悬空(或经0.01μF电容接地,防干扰,新手可先悬空) 5. 555第7脚(DISCH)→ 接可调电阻R1(10kΩ)一端;R1另一端接5V,中间抽头(滑臂)接R2(1kΩ)一端;R2另一端接第2/6脚节点 6. 555第3脚(OUT)→ 即方波输出端,接红外发射管阳极(长脚);发射管阴极(短脚)→ 串联一个100Ω限流电阻 → 接地注意:这里故意没加发射管限流电阻——但你必须加上!原文说“没有限流电阻”是为强调“极简演示”,实际操作中,红外管正向压降约1.2~1.4V,5V供电下若不串电阻,电流可达数十mA,远超其额定值(通常20mA),几秒钟就烧毁。100Ω是安全起步值,后续可微调。
3.3 参数计算:手算频率,告别“抄参数”玄学
555在此模式下的输出频率公式为:
f ≈ 1.44 / ((R1 + 2×R2) × C)
其中R1是可调电阻(10kΩ),R2是固定电阻(1kΩ),C是电容(10nF = 0.01μF)。代入得:
f ≈ 1.44 / ((10000 + 2000) × 0.00000001) ≈ 1.44 / 0.00012 ≈ 12000Hz —— 显然不对!
问题在哪?电容单位错了。10nF = 10 × 10⁻⁹ F = 0.00000001 F,没错;但R1+2R2=12000Ω,乘积是12000×10⁻⁸=1.2×10⁻⁴,1.44除以它≈12000Hz。说明当前参数只能到12kHz。要上38kHz,需减小RC乘积。方案:将C换为3.3nF(常见值),R1调至约4.7kΩ(电位器旋钮位置),R2保持1kΩ,则:
f ≈ 1.44 / ((4700 + 2000) × 3.3×10⁻⁹) ≈ 1.44 / (6700 × 3.3e-9) ≈ 1.44 / 2.211e-5 ≈ 65100Hz —— 又超了。
正确做法:固定C=10nF,目标f=38000Hz,反推总电阻:
R_total = 1.44 / (f × C) = 1.44 / (38000 × 10⁻⁸) = 1.44 / 3.8×10⁻⁴ ≈ 3789Ω
即 R1 + 2×R2 ≈ 3789Ω。取R2=1kΩ,则R1≈1789Ω。所以,用10kΩ电位器,旋钮调到约1.8kΩ位置(18%行程)即可。这就是你手动校准的依据——不是靠运气旋,而是有公式托底。
3.4 验证输出:示波器上看到“心跳”,才算真正启动
接好电路,上电。用示波器探头(10X衰减)触碰555第3脚(OUT),地线夹接GND。你应看到清晰方波:
- 频率:中心值38kHz,允许±2kHz波动(元件误差);
- 峰峰值:接近5V(高电平≈5V,低电平≈0V);
- 占空比:因R1/R2比例,当前约(1.8k+1k)/(1.8k+2k)≈2.8/3.8≈74% —— 偏高!需增大R2或减小R1来降低。但对HS38接收影响不大,先确保频率正确。
此时,用万用表直流电压档测红外管两端:应显示约1.3V(正向压降),证明它在脉动发光。若电压为0或5V,检查阴极是否真接地、限流电阻是否虚焊。这一步成功,意味着你的“光嗓子”已开始按38kHz节拍呼吸。
4. 接收端实战:HS38如何把“看不见的光”翻译成“看得见的电平”
4.1 HS38引脚识别:三根线,但顺序可能“反直觉”
HS38是三脚直插封装,但不同厂家印字方向不同,引脚定义易混淆。标准排列(正面印字朝向自己,引脚向下)为:
- 左:GND(接地)
- 中:VOUT(数据输出)
- 右:VCC(电源,5V)
但!有些国产模块印字旋转180°,或丝印模糊,导致新手把VCC当GND。最稳妥方法是“试触法”:
- 任取两脚,接5V和GND(用万用表二极管档测通断,确认无短路);
- 第三脚悬空,用万用表电压档测其对地电压;
- 用手电筒(或手机闪光灯)快速照射HS38正面透镜,观察电压是否跳变;
- 若某脚电压从5V突降至0.2V,此脚即为VOUT;剩余两脚中,接5V后电压稳定的为VCC,另一脚为GND。
这个过程5分钟搞定,比查“网上找不到的引脚图”高效十倍。
4.2 接收电路连接:三线接法,拒绝复杂
HS38本身是完整模块,无需外部元件。接线极简:
- VCC脚 → 接5V电源(务必与发射端共地!);
- GND脚 → 接地(与555电路同一GND);
- VOUT脚 → 接示波器探头,同时可接LED+限流电阻(220Ω)到GND作视觉指示(亮=无信号,灭=收到信号)。
关键细节:HS38的VOUT是“集电极开路”(Open Collector)输出,内部等效一个NPN三极管的集电极。这意味着它只能主动拉低(输出0V),不能主动拉高。所以,VOUT必须外接一个上拉电阻(通常4.7kΩ~10kΩ)到5V,才能在无信号时呈现高电平(5V)。若忘记上拉,VOUT将始终浮空,示波器看到的是乱跳的噪声,而非稳定高低电平。这是新手翻车最高发点。
4.3 实时观测:遮与不遮之间,见证光电信号转换
一切接好,上电。示波器通道1(CH1)接555输出(发射端),通道2(CH2)接HS38的VOUT(接收端),双踪显示。
- 正常状态(发射管对准HS38,无障碍):CH1显示38kHz方波,CH2显示稳定低电平(≈0V);
- 遮挡状态(用手完全盖住HS38透镜,或关闭555电源):CH2立刻跳变为高电平(≈5V),且稳定不动;
- 快速遮/撤:CH2电平随动作同步翻转,延迟小于100μs(HS38典型响应时间)。
此时,你正在目睹一个完整的物理过程:555的电信号 → 红外管的光信号 → HS38透镜的光收集 → 内部光电二极管的光电转换 → 放大滤波后的电信号 → 输出级的电平翻转。每一步都可测、可调、可破坏(遮一下)、可恢复。这不是仿真,是真实世界里光与电的握手。
注意:HS38对发射距离敏感。新手常犯错误是把发射管紧贴HS38,导致过载饱和,输出无法恢复高电平。建议初始距离10cm,后续逐步拉远测试灵敏度。
5. 新手必踩的5个坑:现象、原因、当场解决法
5.1 现象:示波器CH2(HS38输出)一直显示0V,遮不遮都低电平
原因:最可能是VOUT脚缺少上拉电阻,导致输出无法返回高电平;其次是HS38的VCC/GND接反,芯片损坏(反接5V易烧毁内部ESD保护二极管)。
解决:立即断电,用万用表通断档测VOUT到5V间是否接有4.7kΩ电阻;若无,补焊一个;若有,再测VCC与GND是否接反(VCC对地应为5V,GND对地为0V)。若确认接反过,HS38大概率已损,需更换。
5.2 现象:CH1(555输出)波形杂乱、频率漂移大,或干脆没波形
原因:555第5脚(CTRL)悬空未接地滤波,受空间干扰;或100nF退耦电容未接/虚焊,导致电源纹波进入芯片;或电容C(10nF)是电解电容(应为陶瓷电容,电解电容漏电大、精度差)。
解决:在555第5脚与GND间加一个0.01μF(103)瓷片电容;检查100nF退耦电容是否焊牢;确认C是标有“103”“104”的圆片陶瓷电容,非铝电解电容。
5.3 现象:CH2电平能跳变,但反应迟钝(遮挡后几秒才变高),或跳变后不稳定抖动
原因:HS38供电不足(USB口供电压降大);或发射管与HS38距离过近(<2cm),导致接收端过饱和,内部AGC电路失效;或环境强光直射HS38(如台灯、窗户),淹没微弱信号。
解决:改用稳压5V电源(如LM7805模块);拉开距离至5~10cm;用纸筒罩住HS38透镜,只留正前方小孔;关闭附近强光源。
5.4 现象:红外管不亮,万用表测其两端电压为5V
原因:红外管阴极(短脚)未真正接地,或限流电阻开路/虚焊;或红外管本身击穿(正反向均导通)。
解决:断电,用万用表二极管档测红外管:正向(红笔阳极、黑笔阴极)应显示1.2~1.4V压降,反向应无穷大。若正反都通,管子已坏;若正向不通,检查焊接;重点查限流电阻两端是否连通。
5.5 现象:CH1有波形,CH2始终高电平,遮挡无反应
原因:发射管与HS38未对准(角度偏差>±15°),或发射管已老化光衰严重;或HS38型号非38kHz专用(如误用36kHz或40kHz模块)。
解决:用手机摄像头对准发射管,按遥控器键看是否闪紫光(确认发射管能工作);调整两者轴线严格对齐;查阅HS38丝印,确认为“HS0038”或“VS1838”,非“HS0036”等。
6. 下一步学什么:从“看见信号”到“读懂信号”,一条平滑升级路径
6.1 加一道“解码”:让38kHz方波带上信息
你现在实现了“有/无信号”的二进制通信,下一步是让光传递更丰富的信息。核心是调制协议——在38kHz载波上叠加数据。最经典的是NEC协议:一个引导码(9ms高+4.5ms低),后跟32位数据(每位用560μs高+560/1690μs低表示0或1)。实现它不需要新硬件,只需升级555:用单片机(如Arduino Nano)替代555,编程生成精确时序。代码框架极简:
// Arduino伪代码:发送NEC引导码 void sendNECHeader() { digitalWrite(IR_PIN, HIGH); // 开始发射 delayMicroseconds(9000); // 9ms高电平 digitalWrite(IR_PIN, LOW); delayMicroseconds(4500); // 4.5ms低电平 } // 后续32位数据循环发送...此时,HS38仍是接收端,但你的示波器CH2将不再只是高低电平,而是一串精密的脉宽序列。你可以用逻辑分析仪(或高级示波器)捕获并解码,看到“0x00FFAA55”这样的地址+命令。这一步跨越了“物理层”到“数据链路层”,是理解所有红外遥控的基础。
6.2 换一种“耳朵”:从HS38到TSOP38238,性能升级清单
HS38是教学利器,但商用场景需更强性能。TSOP38238是其工业升级版,参数对比:
| 特性 | HS38(HS0038) | TSOP38238 |
|---|---|---|
| 供电电压 | 4.5~5.5V | 2.7~5.5V(兼容3.3V系统) |
| 接收距离 | ≤5m(理想) | ≤15m(增益更高) |
| 抗干扰能力 | 一般 | 内置AGC,强光下更稳 |
| 响应速度 | ~100μs | <15μs(支持更高码率) |
| 封装 | 直插DIP | 贴片SMD(节省空间) |
升级只需三步:① 确认新模块引脚定义(TSOP38238是VCC-GND-OUT,顺序不同);② 移除原上拉电阻(TSOP38238内置上拉);③ 若用3.3V系统,直接替换,无需电平转换。你会发现,同样距离下,原来需要凑近才能触发的信号,现在隔桌都能稳定接收。
6.3 做一个“红外学习器”:用Arduino记录并重放任意遥控码
这是从理论走向实用的关键跃迁。思路:用HS38接收任意遥控器按键,Arduino捕获脉宽序列并存储;再用同一Arduino驱动红外管,原样重放。核心是IRremote库,它已封装所有协议解析。实操步骤:
- 接线:HS38 VOUT → Arduino D11;红外管 → D3(经限流电阻);
- 上传示例代码
IRrecvDumpV2,打开串口监视器; - 对准HS38按遥控器键,串口立即打印出协议类型、地址、命令(如
NEC: FF02FD); - 记录下该命令,修改代码调用
irsend.sendNEC(0xFF02FD, 32)即可重放。
从此,你拥有了一个可编程的“红外万能钥匙”。这不是炫技,是理解协议、调试设备、逆向分析的真实工具。
从那以后我每次带新人,都坚持让他们先焊通这个“没限流电阻”的极简电路——不是因为它完美,而是因为它的每一个失败都指向一个确定的物理原因:电阻虚焊、电容极性、引脚接反、电源不稳。它强迫你放下“应该能行”的幻想,回到万用表和示波器面前,用证据说话。当CH2第一次随着你的手掌起落而精准翻转,那种“我造出了光的语言”的笃定,会成为你继续深入所有无线技术的底层信心。希望帮到你。
本文还有配套的精品资源,点击获取