欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3619|回復: 5
打印 上一主題 下一主題
收起左側

STC單片機IO引腳驅動不了光耦PC817的原因及解決(帶PC817參數及驅...

[復制鏈接]
跳轉到指定樓層
樓主
這是一個單片機通過光耦來信號隔離,驅動外部負載的電路。單片機為STC15系列,光耦為PC817,如圖1,光耦的陽極輸入端接到單片機的P20-P23引腳,光耦的輸出DJ1-DJ4接到外部電路。
但是在改變P20的電平時卻出現了問題,并不能改變DJ1的電平,怎么回事呢?

1、是限流電阻的問題嗎?
先看看光耦的參數表。


由圖2和圖3可知,PC817輸入側的最大允許電流為50mA, 并且只需讓輸入側電流大于3.2mA就能讓光耦工作。
  由圖 4可知,光耦輸入側光電二極管的壓降為1.2V,接到5V單片機后,一般需加限流電阻,限流電阻最大值R1=(5V-1.2V)/3.2mA=1.18KΩ,限流電阻最小值R2=(5V-1.2V)/50mA=76Ω,那么圖 1中選擇的限流電阻為660Ω,是合適的。
那么,又是什么原因導致光耦不能被控制呢呢?再看看STC15單片機引腳的參數。
2、STC15單片機P2引腳的參數

看圖5,原來,STC15單片機的P2引腳上電默認為準雙向口模式,灌電流可達20mA,但是拉電流只有270uA, 那么當P2引腳輸出1時,是不可能達到PC817需要的3.2mA的,那么在這個準雙向口模式下,不能驅動光耦。
3、該怎么解決呢?
3.1 方法1:設置P20-P23引腳為推挽輸出模式
將對應的P20-P23引腳設置為推挽輸出模式,那么該引腳的輸出電流最大可達20毫安,可滿足驅動光耦的要求。
要改變P2引腳的模式只需設置寄存器P2M1, P2M0即可。
3.2 方法2:將光耦輸入側改為灌電流電路

如圖 6,將光耦輸入側的陽極接電源正極,陰極接入單片機的引腳,形成灌電流的電路,那么在準雙向口的模式下,STC15單片機也能驅動光耦。
當然,可能不止STC15單片機有這個問題,其他也許也有,具體需要查各個單片機的手冊。如有單片機、PLC、電路板、控制器/箱、儀器儀表、機電設備或系統、自動化、工控、傳感、數據采集、自控系統、控制系統,軟件、APP開發設計定制需要,可聯系 Q:2531二六3726
修改的原則就是,能動程序就不動電路,畢竟動電路要花錢。
補充說明:
在之前的文章《容易出錯!C語言中的外部變量關鍵詞extern可不能隨便使用》里,說到的在KEIL中用extern讀取變量出錯是由于讀取時沒有分配內存地址這個說法似乎有誤,雖然用方法1改變讀寫順序也解決了問題,但是變量出錯的原因也可能是由于編譯器過度優化引起的。
可以試試降低編譯器優化等級,或者在出錯的變量前加volatile來避免。理論不重要,實踐出真知。在此感謝提示。

評分

參與人數 1黑幣 +30 收起 理由
wpppmlah + 30 贊一個!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發
ID:654797 發表于 2023-3-31 22:46 | 只看該作者
我買了個STC8G的模塊,有時間可以試試這個工能,
回復

使用道具 舉報

板凳
ID:654797 發表于 2023-3-31 22:54 | 只看該作者
想用灌電流好像也不用推免呀!直接準雙向IO口就行呀
回復

使用道具 舉報

地板
ID:1042619 發表于 2023-4-1 17:19 | 只看該作者

回復

使用道具 舉報

5#
ID:26723 發表于 2023-4-2 23:04 | 只看該作者
驅動光耦就是點亮LED, 點燈是基本知識。
回復

使用道具 舉報

6#
ID:996773 發表于 2023-4-3 13:13 | 只看該作者
不就是拉低io口點個燈么?簡單的事情怎么搞這么復雜
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表