理論上NPN三極體和PNP三極體都可以作為開關管驅動繼電器,但是為什麼絕大部分設計都喜歡使用NPN三極體驅動繼電器呢?很多人的回答並沒有說到點子上。因為使用NPN三極體驅動簡單,在很多場合下若使用PNP三極體驅動繼電器並不是這麼簡單可以實現的。
我們先來看一下NPN三極體和PNP三極體當開關管的原理,下圖為基本驅動原理,左邊為NPN三極體控制原理,右邊為PNP三極體控制原理。三極體導通的條件是基極有電流,假設三極體BE壓降為0.6V,對於NPN三極體來說輸入電壓必須高於0.6V,基極才會有電流,而對PNP三極體來說基極輸入端電壓必須比VCC小0.6V以上才會有電流。
三極體驅動輸入端一般為微處理器的I/O口,比如單片機、DSP、ARM、CPLD、FPGA等,下面以單片機3.3V的I/O口為例。
對於NPN三極體,高電平時三極體導通(飽和),繼電器工作,低電平時三極體截止,繼電器不工作。只要計算選擇合適的限流電阻使三極體工作於飽和區即可,原理簡單。
若是使用PNP三極體驅動就沒這麼簡單了,如果VCC的電壓是3.3V沒問題(即繼電器工作電源為3.3V),可選擇合適的限流電阻使I/O口為高電平時三極體截止,低電平時三極體導通(飽和)。但是一般繼電器的工作電壓比較高有5V、12V、24V等,也就是說繼電器的工作電壓與I/O口高電平的電壓不相等時這麼設計就會出問題了,並沒這麼簡單。假如24V的繼電器,無論使用3.3V或5V的I/O口控制PNP三極體,低電平時PNP三極體導通,高電平(3.3V或5V)時,發射極與基極的壓差仍然很大,基極有電流,PNP三極體也導通,根本無法控制繼電器,而直接使用NPN三極體就不一樣了,不會受到VCC電壓的影響,無論VCC電壓多少一樣能控制。
所以,若使用PNP三極體驅動繼電器,前端還得加一級電路,可以是NPN三極體、光耦等,多此一舉還不如直接使用NPN三極體方便,明白了吧?
總結:繼電器的工作電壓比I/O口控制端高電平電壓高時,只使用一個PNP三極體無法實現控制繼電器,所以一般採用NPN三極體驅動,原理簡單,易實現。