加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 一、前言
    • 二、測試電路
    • 三、漏極輸出
    • 四、輸入端口
    • 五、驅(qū)動LED
    • ※ 總??結(jié) ※
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

如何3.3V單片機IO口控制 5V LED?

10/10 14:20
3112
閱讀需 6 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

一、前言

今天看到網(wǎng)絡(luò)上一個短視頻,一位面試官詢問學(xué)生,這個單片機電路有什么問題??如何解決?

這個問題就在于工作在3.3V下的STM32單片機是無法關(guān)斷 PNP 三極管的,這是因為它的發(fā)射極連接到5V電壓。面試官看到學(xué)生無法回答如何來解決這個問題,于是給出了解決這個穩(wěn)妥的答案,那就是將 STM32的端口設(shè)置為 漏極開路模式,這樣就可以關(guān)斷三極管了。

實際是,這個問題真正的答案是在三極管的基極增加一個 4.7k歐姆左右的分壓電阻,才能夠?qū)崿F(xiàn)對連接到5V的PNP三極管開關(guān)控制。下面讓我們通過實驗來檢查一下吧。

二、測試電路

為了測試IO的開關(guān)電壓特性,將 F103單片機的四個端口引至外部實驗面包板。設(shè)計單面電路板,適合一分鐘制板。

 

ADTest2024OctoberTeSTSTMIO.PcbDoc

▲ 圖1.2.1 測試PCB

??一分鐘之后得到測試電路板,焊接電路,將四個 IO端口連接到測試面包板上。設(shè)置四個IO口,分別是 漏極開路、推挽輸出、帶有上拉電阻的輸入端口,帶有下拉電阻的輸入端口。端口的特性,在 CubeMX 中進行設(shè)置。下面就可以分別測試這四個端口的輸出耐壓了。

三、漏極輸出

測試漏極開路輸出端口。周期在該端口輸出 0 和 1。可以看到該端口的信號波形呈現(xiàn)周期低電平以及浮動干擾信號。在OB輸出1 的時候,該端口呈現(xiàn)高阻狀態(tài)。下面,測試一下漏記開路的時候能夠上拉到多高的電壓。

d:NutdiskMicroVideoG4M1727837766_1920_1080.MP4

▲ 圖1.3.1 OD輸出端口的波形

??使用一個 10k歐姆電阻,將 漏極開路的 IO 連接到 5V。此時,該端口的電壓為 3.7V。通過內(nèi)部結(jié)構(gòu)可以看到,在端口有鉗位二極管,將輸入端口電壓鉗位的工作電壓。只有某些5V容忍端口,鉗位二極管上拉到 更高的 電壓,此時輸入電壓才能夠達到5V。不過現(xiàn)在 F103 單片機的這個端口只能上拉到 3.3V。

在F103數(shù)據(jù)手冊中,關(guān)于GPIO的 5V 容忍性 說明中,只有輸入端口才能夠容忍5V輸入。一旦端口設(shè)置為輸出狀態(tài),該端口就不再允許電壓達到5V了。下面我們測量一下輸入端口是否允許電壓超過5V。

四、輸入端口

將10k歐姆的電阻修改在輸入端口,仍然上拉到5V,該端口電壓還是被鉗位在 3.7V。由此可見,該輸入端口也不是5V容忍的端口。下面查看一下 STM32的數(shù)據(jù)手冊,確認該端口是否為 5V容忍的。

在STMF103數(shù)據(jù)手冊中,現(xiàn)在實驗所使用的PB12到PB15端口 都是5V容忍的。這就奇怪了,為什么上拉電阻達到 5V,該端口的電壓無法上升的5V呢。無論是輸入端口還是 漏極開路端口。

五、驅(qū)動LED

將一個紅色 LED 串聯(lián)330 歐姆電阻,上拉到 5V,連接到單片機的輸出端口??梢园l(fā)現(xiàn) 無論是 漏極開了 ,還是推挽輸出,LED都可以正常閃爍。這有可能是因為 LED的 開啟電壓超過 1.3V,所以,3.3V工作的單片機可以關(guān)斷這個連接到5V電壓的LED。

▲ 圖1.5.1 驅(qū)動上拉5V的LED

??上面是測試了直接驅(qū)動上拉到5V的LED的情況。下面,再測試一下使用 PNP三極管驅(qū)動LED的情況??词欠衲軌?qū)?PNP三極管進行關(guān)斷。

使用 8550 這顆 PNP 三極管搭建電路,可以看到,LED 并沒有閃爍。這說明,使用 3.3V 的單片機,驅(qū)動 PNP 三極管,是無法將三極管關(guān)斷的。

下面給電路增加一個基極分壓電阻。這個電阻為 4.7k歐姆,這樣在剩余的電壓中,分壓到三極管基極只有 0.43V。就不足以將PNP三極管打開了。測試一下這種情況??梢钥吹剑藭rLED開始閃爍。這說明只要增加一個基極分壓電阻,便可以控制PNP三極管的打開與關(guān)斷了。

※ 總??結(jié) ※

本文測試了 3.3V工作的單片機 控制5V負載的情況。單片機IO口可以直接控制連接到5V的LED的打開與關(guān)斷,如果控制PNP三極管,通過增加基極分壓電阻,也可以實現(xiàn)PNP三極管的打開與關(guān)斷。

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

公眾號TsinghuaJoking主筆。清華大學(xué)自動化系教師,研究興趣范圍包括自動控制、智能信息處理、嵌入式電子系統(tǒng)等。全國大學(xué)生智能汽車競賽秘書處主任,技術(shù)組組長,網(wǎng)稱“卓大大”。