最近拆解了一款40W的PIR人體感應(yīng)LED燈,發(fā)現(xiàn)其電路設(shè)計(jì)頗有門(mén)道。主照明由M2612EN非隔離恒流芯片驅(qū)動(dòng),PIR信號(hào)由MCU處理控制亮滅,供電則來(lái)自獨(dú)立的AC-DC和LDO。但電路板上一個(gè)不起眼的“過(guò)零檢測(cè)”電路引起了我的注意——它到底在扮演什么角色?MCU檢測(cè)到這個(gè)信號(hào)又該如何“回應(yīng)”?今天就來(lái)扒一扒這個(gè)隱藏在感應(yīng)燈里的“節(jié)奏大師”。
簡(jiǎn)單說(shuō),過(guò)零檢測(cè)就是捕捉交流電(AC 220V/50Hz)電壓從正到負(fù)或從負(fù)到正經(jīng)過(guò)零點(diǎn)的那個(gè)瞬間。我國(guó)的工頻交流電每秒有100個(gè)這樣的過(guò)零點(diǎn)(50Hz * 2)。
在LED驅(qū)動(dòng)尤其是可控硅調(diào)光或需要同步控制的場(chǎng)合,這個(gè)信號(hào)至關(guān)重要。它就像是整個(gè)系統(tǒng)與市電同步的“心跳信號(hào)”或“時(shí)間基準(zhǔn)”。
結(jié)合這個(gè)具體電路(M2612EN + MCU控制)分析,過(guò)零檢測(cè)很可能承擔(dān)以下關(guān)鍵使命:
實(shí)現(xiàn)“無(wú)頻閃”開(kāi)啟與關(guān)閉(最重要?。?/span>
如果沒(méi)有過(guò)零檢測(cè),MCU可能在交流電周期的任意時(shí)刻觸發(fā)LED亮/滅。如果在電壓峰值時(shí)突然導(dǎo)通或關(guān)閉,會(huì)形成電流突變,容易產(chǎn)生肉眼可見(jiàn)的閃爍,對(duì)眼睛不友好,也影響燈珠壽命。
有了它:MCU可以刻意將燈的開(kāi)啟或關(guān)閉時(shí)機(jī),精準(zhǔn)對(duì)齊在交流電壓過(guò)零點(diǎn)附近。此時(shí)電壓最低,通斷產(chǎn)生的電流沖擊和電磁干擾最小,從而實(shí)現(xiàn)“柔和平滑”的亮滅,有效抑制頻閃。
為PWM調(diào)光或亮度調(diào)節(jié)提供同步基準(zhǔn)
雖然描述中說(shuō)“控制亮燈”,但若此燈有“微亮待機(jī)”或“多檔亮度”功能,M2612EN可能需要接收MCU的PWM信號(hào)進(jìn)行調(diào)光。
過(guò)零信號(hào)確保了MCU產(chǎn)生的PWM控制信號(hào)與交流電周期同步,避免因不同步導(dǎo)致的亮度不均勻或低頻閃爍。
配合電流檢測(cè),進(jìn)行過(guò)流保護(hù)與功率計(jì)算
描述中提到還有“電流檢測(cè)輸出”。MCU可以結(jié)合過(guò)零信號(hào)這個(gè)時(shí)間坐標(biāo),更準(zhǔn)確地分析電流波形。例如,判斷是否在每個(gè)半波周期內(nèi)電流都異常超標(biāo),實(shí)現(xiàn)周期的過(guò)流保護(hù)。甚至可粗略計(jì)算實(shí)時(shí)功率。
為MCU提供低成本的時(shí)間參考
50Hz的過(guò)零信號(hào)間隔是固定的10ms。MCU可以利用它來(lái)校準(zhǔn)自身的定時(shí)器,實(shí)現(xiàn)一些需要實(shí)時(shí)鐘功能但又不便使用RTC芯片的計(jì)時(shí)功能。
當(dāng)硬件電路(通常由分壓電阻、光耦或晶體管構(gòu)成)將220V的過(guò)零時(shí)刻轉(zhuǎn)化為MCU IO口可識(shí)別的低電平脈沖后,軟件就該上場(chǎng)了:
中斷響應(yīng),捕捉瞬間:
通常會(huì)將連接過(guò)零檢測(cè)電路的IO口配置為外部中斷輸入模式,并設(shè)置為下降沿和/或上升沿觸發(fā)。
每當(dāng)交流電過(guò)零,硬件電路就會(huì)產(chǎn)生一個(gè)邊沿跳變,立即觸發(fā)MCU中斷。這確保了檢測(cè)的及時(shí)性,誤差在微秒級(jí)。
中斷服務(wù)程序(ISR)里的“標(biāo)準(zhǔn)操作流程”:
清中斷標(biāo)志:第一步,避免重復(fù)進(jìn)入。
設(shè)置同步標(biāo)志/計(jì)時(shí)器:將一個(gè)軟件標(biāo)志位置1(如 flag_ZCD = 1),或者直接重置一個(gè)用于計(jì)時(shí)10ms的軟件計(jì)數(shù)器。這向主程序宣告:“一個(gè)新的周期開(kāi)始了!”
觸發(fā)控制動(dòng)作:這是核心!在中斷中,或通過(guò)標(biāo)志位通知主程序,在極短的延遲內(nèi)(例如過(guò)零后1-2ms內(nèi))輸出對(duì)M2612EN的控制信號(hào)(如使能EN、調(diào)節(jié)PWM占空比)。這樣就實(shí)現(xiàn)了“過(guò)零開(kāi)啟”。
如果需要關(guān)閉:同樣,判斷需要關(guān)閉時(shí),等待下一個(gè)過(guò)零中斷到來(lái),在中斷里執(zhí)行關(guān)閉操作,實(shí)現(xiàn)“過(guò)零關(guān)斷”。
主程序中的協(xié)同:
主循環(huán)不斷檢測(cè)flag_ZCD標(biāo)志。一旦發(fā)現(xiàn),就清除該標(biāo)志,并知道接下來(lái)約10ms內(nèi)是一個(gè)完整的半周期,可以基于此進(jìn)行一些與市電同步的計(jì)時(shí)或狀態(tài)判斷。
結(jié)合電流檢測(cè)IO的AD采樣值,只有在過(guò)零后的特定相位窗口內(nèi)采樣,得到的電流值才有比較意義,可以用于判斷是否短路、過(guò)載。
所以,這個(gè)看似多余的過(guò)零檢測(cè)電路,實(shí)則是提升感應(yīng)燈品質(zhì)的靈魂配角。它讓MCU從“盲人摸象”變成了“心中有譜”,實(shí)現(xiàn)了:
用戶(hù)體驗(yàn):燈光柔和啟閉,告別惱人頻閃。
產(chǎn)品性能:降低開(kāi)關(guān)應(yīng)力,保護(hù)LED燈珠和驅(qū)動(dòng)IC,提升整體壽命。
系統(tǒng)智能:為精確控制、電流保護(hù)和功率管理提供關(guān)鍵的時(shí)間錨點(diǎn)。
啟示:下次再看到LED驅(qū)動(dòng)板上有顆光耦或幾個(gè)電阻看似“多余”地連在AC進(jìn)線(xiàn)上,別忽視它,它很可能就是維系燈光品質(zhì)與壽命的“同步之心”。硬件工程師的一個(gè)巧妙設(shè)計(jì),加上軟件工程師的精準(zhǔn)同步,共同點(diǎn)亮了這盞不簡(jiǎn)單的燈。
思考:你的項(xiàng)目里,有沒(méi)有這樣一個(gè)需要被同步的“心跳”信號(hào)呢?用好它,可能是從“能工作”到“工作得好”的關(guān)鍵一躍。
