今天用通俗类比 + 实操检修,性讲透光耦型过零检测。

一、先弄明白:什么叫“过零”?
想象一下海浪,一上一下地起伏。我们家里的交流电也是这样,它的电压不是固定的,而是像海浪一样从0伏开始,升到正的点,再降回0,然后反方向升到负的点,再回到0。这样正反跑一圈,叫一个周期。
所谓“过零”,就是电压刚好经过“海平面”(0伏)的那个瞬间。 50Hz的交流电,1秒钟会过零100次。
为什么要逮住这个瞬间?
因为如果你在电压很高的时候突然打开一个大功率电器,会产生电火花和干扰,就像在浪尖上猛地扎进水里,动静很大。但如果找准电压正好为0的那个瞬间打开或关闭开关,就几乎不会有任何冲击和干扰。过零检测电路,就是个专门逮住这个“0伏瞬间”的哨兵。

二、电路长啥样,怎么工作的?
市面上常用、安全的是一种用“光耦”隔离的方案。它把危险的强电和脆弱的控制芯片完全隔开,既保命又可靠。
1. 电路组成(用眼睛看)。
你可以把它想象成两部分:
· 强电侧: 市电的火线和零线,串上一个大功率的大阻值电阻,接到一个特殊光耦的输入端。
· 弱电侧: 这个光耦的输出端,接一根线到你的单片机(比如Arduino),同时通过一个上拉电阻接到3.3V或5V电源。
2. 工作原理(像开关水龙头)。
这里的关键角色叫双向光耦,你可以把它理解成一个由两个反向并联的LED泡控制的“光控开关”。
· 市电电压较高时: 交流电除了在零点附近,其他时间电压都远高于1.2伏。这个电压通过大电阻点亮了光耦里的LED泡。灯一亮,光耦输出端的三极管就被“照”通了,相当于开关闭合,直接把输出拉到地线,所以你单片机的引脚读到的是低电平(0)。
· 市电溜达到零点附近时: 电压特别小,低于点亮LED泡的门槛,灯就灭了。光耦开关瞬间断开,输出端被上拉电阻拉到电源电压,单片机引脚就读到了高电平(1)。
· 产生信号: 这样一来,交流电每过零点,电路就输出一个窄窄的高电平脉冲。每秒钟正好100个。你的单片机只要开启中断,盯着有没有这个脉冲出现,就能精准知道什么时候过零了。
一句话总结:电大,灯亮,输出0;电小,灯灭,输出1。 那个从0跳到1的瞬间,就是过零点。
假设你的调光灯不亮了,或者抖动得厉害,很可能就是这个电路罢工了。检修前安全,一定确保电路板完全断电,大电容也要先放电!
故障现象:
· 完全没反应:MCU收不到过零信号,电路可能一直输出高电平或低电平。
· 设备抖动、闪烁:信号时有时无,脉冲不稳定。
检修四步走:
步:外观与电阻体检(80%的故障点)。
限流电阻长期承受高压,容易开路。
· 看: 电阻表面是否烧焦、有裂纹。
· 量: 万用表电阻档,测这个大电阻的阻值。如果显示无穷大,就是烧断了,直接换新。常见阻值是100k-200kΩ。
第二步:给光耦做“二极管体检”。
双向光耦输入端内部是两个反向并联的LED。
· 万用表打到二极管档,测量光耦输入端的两个脚。
· 正常情况: 无论红黑表笔正接还是反接,都应该能测到一个1V左右的压降(因为总能测到一个正向导通的LED)。如果某一侧或两侧都显示为“0”(短路)或“OL”(开路),光耦就坏了。
第三步:断电检查输出侧。
主要看输出端的C-E极是否被击穿短路。
· 用电阻档,测光耦输出端的两脚对地(GND)的阻值。如果阻值接近0Ω,可能是三极管被击穿,需要拆下来单独确认。
第四步:通电看波形或电压(此步需谨慎)。
在确保限流电阻正常,且你清楚电路布局的情况下,可以上电。
· 有示波器(一目了然): 探头钩住输出脚,地线夹好。正常的波形应该是一排非常整齐、干净的100Hz窄高电平脉冲。如果是一条直线或波形乱跳,就是有问题。
· 只有万用表(测平均电压): 打到直流电压档,测输出脚对地的电压。
· 因为信号99%的时间是低电平,只有很窄的高电平脉冲,所以平均下来电压会非常低,大概是0.2V-0.5V。
· 如果测到的是3.3V或5V,说明光耦一直没导通,可能限流电阻开路或光耦内的LED断路。
· 如果测到的是稳定的0V,说明输出一直短路接地,可能是光耦击穿。