這是一個單片機通過光耦來信號隔離,驅(qū)動外部負載的電路。單片機為STC15系列,光耦為PC817,如圖1,光耦的陽極輸入端接到單片機的P20-P23引腳,光耦的輸出DJ1-DJ4接到外部電路。
但是在改變P20的電平時卻出現(xiàn)了問題,并不能改變DJ1的電平,怎么回事呢?
1、是限流電阻的問題嗎?
先看看光耦的參數(shù)表。
由圖2和圖3可知,PC817輸入側(cè)的最大允許電流為50mA, 并且只需讓輸入側(cè)電流大于3.2mA就能讓光耦工作。
由圖 4可知,光耦輸入側(cè)光電二極管的壓降為1.2V,接到5V單片機后,一般需加限流電阻,限流電阻最大值R1=(5V-1.2V)/3.2mA=1.18KΩ,限流電阻最小值R2=(5V-1.2V)/50mA=76Ω,那么圖 1中選擇的限流電阻為660Ω,是合適的。
那么,又是什么原因?qū)е鹿怦畈荒鼙豢刂颇啬??再看看STC15單片機引腳的參數(shù)。
2、STC15單片機P2引腳的參數(shù)
看圖5,原來,STC15單片機的P2引腳上電默認為準雙向口模式,灌電流可達20mA,但是拉電流只有270uA, 那么當P2引腳輸出1時,是不可能達到PC817需要的3.2mA的,那么在這個準雙向口模式下,不能驅(qū)動光耦。
3、該怎么解決呢?
**3.1 **方法1:設(shè)置P20-P23引腳為推挽輸出模式
將對應(yīng)的P20-P23引腳設(shè)置為推挽輸出模式,那么該引腳的輸出電流最大可達20毫安,可滿足驅(qū)動光耦的要求。
要改變P2引腳的模式只需設(shè)置寄存器P2M1, P2M0即可。
**3.2 **方法2:將光耦輸入側(cè)改為灌電流電路
如圖 6,將光耦輸入側(cè)的陽極接電源正極,陰極接入單片機的引腳,形成灌電流的電路,那么在準雙向口的模式下,STC15單片機也能驅(qū)動光耦。
當然,可能不止STC15單片機有這個問題,其他也許也有,具體需要查各個單片機的手冊。如有單片機、PLC、電路板、控制器/箱、儀器儀表、機電設(shè)備或系統(tǒng)、自動化、工控、傳感、數(shù)據(jù)采集、自控系統(tǒng)、控制系統(tǒng),軟件、APP開發(fā)設(shè)計定制需要,可聯(lián)系 Q:2531二六3726
修改的原則就是,能動程序就不動電路,畢竟動電路要花錢。
-
光電二極管
+關(guān)注
關(guān)注
10文章
398瀏覽量
35863 -
STC單片機
+關(guān)注
關(guān)注
9文章
222瀏覽量
38060 -
限流電阻
+關(guān)注
關(guān)注
2文章
85瀏覽量
17159 -
光耦隔離
+關(guān)注
關(guān)注
7文章
39瀏覽量
14467 -
PC817
+關(guān)注
關(guān)注
4文章
34瀏覽量
24735
發(fā)布評論請先 登錄
相關(guān)推薦
評論