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

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

如何3.3V單片機(jī)IO口控制 5V LED?

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

一、前言

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

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

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

二、測(cè)試電路

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

 

ADTest2024OctoberTeSTSTMIO.PcbDoc

▲ 圖1.2.1 測(cè)試PCB

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

三、漏極輸出

測(cè)試漏極開(kāi)路輸出端口。周期在該端口輸出 0 和 1??梢钥吹皆摱丝诘男盘?hào)波形呈現(xiàn)周期低電平以及浮動(dòng)干擾信號(hào)。在OB輸出1 的時(shí)候,該端口呈現(xiàn)高阻狀態(tài)。下面,測(cè)試一下漏記開(kāi)路的時(shí)候能夠上拉到多高的電壓。

d:NutdiskMicroVideoG4M1727837766_1920_1080.MP4

▲ 圖1.3.1 OD輸出端口的波形

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

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

四、輸入端口

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

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

五、驅(qū)動(dòng)LED

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

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

??上面是測(cè)試了直接驅(qū)動(dòng)上拉到5V的LED的情況。下面,再測(cè)試一下使用 PNP三極管驅(qū)動(dòng)LED的情況。看是否能夠?qū)?PNP三極管進(jìn)行關(guān)斷。

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

下面給電路增加一個(gè)基極分壓電阻。這個(gè)電阻為 4.7k歐姆,這樣在剩余的電壓中,分壓到三極管基極只有 0.43V。就不足以將PNP三極管打開(kāi)了。測(cè)試一下這種情況。可以看到,此時(shí)LED開(kāi)始閃爍。這說(shuō)明只要增加一個(gè)基極分壓電阻,便可以控制PNP三極管的打開(kāi)與關(guān)斷了。

※ 總??結(jié) ※

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

相關(guān)推薦

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

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