玩單片機的都可能遇到過因外部幹擾或因軟體BUG導致死機,這對於有功率負載的電路是極為不利的。現在MCU都有了WDT看門狗,當計數溢出就強制進行復位。但如果單片機因某種原因(如靜電、浪湧等擊穿)直接導致損壞,使其輸入輸出狀態無法控制,且無法預料時,可能會造成不良後果甚至人身安全。如電機控制、逆變器等,當異常發生MCU輸出端一直輸出固定電平(這裡假設高電平驅動)會導致線圈進入飽和,產生大電流發熱燒毀線圈甚至是起火引發一系列不可預料後果。那如何去有效避免這類問題的發生呢?
任一MOS持續導通都會導線圈飽和發熱
首先,最大的問題是單片機失效後,IO埠狀態無法預料,只能切斷負載供電,所以只要能檢測到MCU是否正常工作,然後去控制負載供電開關就可以避免上述問題了。順著這個思路,我們可以讓單片機一個IO口一直輸出50%佔空比PWM信號,用一個電容進行隔離,當正常工作時PWM信號可以通過電容,經過整流濾波驅動MOS管導通,當死機後就沒有PWM信號輸出了,此時不管IO口是持續的高還是低電平,經過電容後級都沒有電壓了,此時MOS管截止負載供電被關斷,這樣就有效保護了負載。
負載保護電路圖
最後結合上圖重新梳理一遍保護過程。當單片機正常運行時IO1持續輸出PWM信號,整流濾波後推動後級MOS管導通,提供負載供電;當單片機死機或失效後,就沒有PWM信號輸出,無論輸出是持續的高或低電平,都沒有整流電壓推動後級MOS開關管,此時MOS管 截止,負載斷電!本電路重點運用了電容的隔直流特性,既能讓連續變化的PWM耦合通過,又可以阻止直流電壓通過,從而有效檢測MCU是否異常,同時控制負載供電開關。希望可以拋磚引玉,歡迎大家舉一反三,提供寶貴建議共同學習。專注原創技術乾貨分享,喜歡的話評論轉發吧,加關注可享更多乾貨內容!