?
本系列連載將介紹電力電子相關的基礎知識和各種小知識。本系列涉及到的內容很廣泛,涵蓋從基礎知識到應用部分的豐富內容,希望能夠幫到那些“至今不好意思問別人,但又拿不準自己是否已經理解了”的人。
第一個應該了解的要數“晶體管”了。“晶體管”在電子制作領域是非常常用的易用器件,尤其是在使用Arduino等微控制器控制LED和電機時,晶體管是不可或缺的重要器件。
但是,對于電子制作初學者來說,掌握晶體管的使用方法有點難。剛開始電子制作時使用的元器件,比如電池、LED、電阻器和開關等,幾乎都是兩個引腳,而晶體管卻有三個引腳。看到三個引腳就已經不知道應該接哪里、應該接什么了。一開始我也是這樣。
在本文中,我將以電子制作中常用的方法為例介紹晶體管,內容非常適合那些完全不知道如何使用晶體管的人。
目錄
1. 什么是晶體管?
晶體管的作用是“放大”和“開關”。“放大”是指“把小信號放大成大信號”,比如對收音機等設備的天線接收到的微弱信號進行放大,并通過揚聲器播放出來的應用中會用到晶體管。如果您在初中或高中的技術課上焊接過收音機,可能您焊接的正是這里說的晶體管。
“開關”工作不是通過像無線電音頻信號那樣的平滑波(模擬信號),而是通過0或1(數字信號)來切換ON/OFF的。在電子制作中,多被用于打開/關閉LED和電機。
圖1.1 晶體管
2. 水流的比喻
用“放大”、“開關”這樣詞匯來表達,可能還有些人無法很直觀地理解。那我們將晶體管電路的工作機制比作水流,可能更容易理解。
晶體管用圖2.1左側的電路符號表示。引腳共有三個,分別是B(基極)、E(發射極)和C(集電極)。
* “NPN型”是晶體管的類型,還有“PNP型”晶體管,不過在這里我們不必嚴格劃分,只要了解“NPN型更常用”即可。
這次我們用圖2.1右側的水流模型來比擬左側的晶體管。B側的閥門可以對流過B側的水進行開和關,并且B側的細管和C側的粗管上的閥門開閉是聯動的。
圖2.1 用水流模型比擬晶體管
我們參考圖2.2,將晶體管的“開關”工作比作水流模型進行解說。如圖2.2左側所示,當B沒有水流時,細管的閥門是關閉的,C(粗管)的水也不會流動。而當水如右圖所示注入B時,閥門打開,C(粗管)中的水也會隨之流下。
圖2.2 將晶體管的工作原理比作水流模型
從這個模型可以看出,粗管閥門的開閉可以通過細管閥門的開閉來控制。
可能有人會問,“為什么要特意使用聯動的閥門呢?直接開閉粗管的閥門不就可以了嗎?”這里的重要之處在于“可以用小水流控制大水流(控制粗管閥門的開閉)。”能夠用少量的水流打開和關閉粗管的閥門,是讓人高興的事。
就像這種水流模型一樣,晶體管可以用小電流讓需要大電流的設備運行,也因此會被用在“放大”和“開關”應用中。
3. 事物都是有極限的
對于電子元器件而言,根據其種類和尺寸,會有“電流最大只能流過??A(安培)”和“電壓只能在這個范圍內使用”等限制,這種規格稱為“額定值”。
例如,在電子制作中經常使用的Arduino,標準型號Arduino UNO中使用的微控制器芯片是型號為“ATMEGA328P-PU”的微控制器。
圖3.1 黃框中的是ATMEGA328P-PU芯片
查看微控制器芯片ATMEGA328P-PU的技術規格書(見下圖),可以看到在“電氣特性-絕對最大額定值”項中顯示“每個輸入輸出引腳的直流電流最大為40.0mA”。
圖3.2 ATMEGA328P-PU電氣特性
這就是說,比如當通過Arduino點亮LED時,通常會連接一個通用輸入輸出引腳,此時“如果電流達到40mA以上,大概率會損壞”。
假設每個LED以10mA的電流點亮,那么并聯四個LED時大概率會造成損壞。如果“希望點亮10個LED!”而事實只能讓最多4個LED亮起來,是不是有點難過?在這種情況下,就需要晶體管大顯身手了。
4. 晶體管的基礎知識和選型方法
在電子制作中使用晶體管時,最重要的因素是集電極電流(Ic)的額定值。集電極電流是流入晶體管集電極引腳的電流額定值,是表示“這個晶體管最大允許流過這么大的電流”的指標。該值的大小決定了可以將多少安培電流施加給負載(LED或電機),因此這是一個非常重要的參數。
與各引腳相關的電流名稱如圖4.1所示,表示“該晶體管最大可以將電流放大幾倍”的電流放大系數h_FE用圖4.1中的公式表示。這是一個非常簡單的關系表達式,“輸出電流I_C等于h_FE乘以輸入電流I_B”。
圖4.1 晶體管基礎
當您打開網上銷售晶體管的網店頁面時,會發現出來很多晶體管。選擇晶體管時,需要注意類型(結的結構是NPN還是PNP)、集電極電流額定值和電流放大系數。
本次使用的晶體管是“2SC1740S”。它是NPN型晶體管,集電極電流額定值為150mA。這次的作品每個LED通過10mA的電流,10個LED并聯,總共需要進行100mA電流的開關,在“2SC1740S”的額定范圍內。
圖4.2 晶體管 2SC1740S
?
5. 實際試用晶體管
現在,讓我們把晶體管安裝在面包板上試用一下吧!首先,我們嘗試只讓一個LED開關。
圖5.1 開關電路圖(使用晶體管)
圖5.2 開關電路外觀(使用晶體管)
當我們實際按下開關讓基極流過電流時,集電極也流過電流并且LED亮起。
?
?
6. 引腳順序為“愛?酷?寶”
晶體管有3個引腳,分別為基極(B)、發射極(E)、集電極(C),但引腳名稱并沒有標在器件主體上。因此,在使用之前,一定要確認“技術規格書”,里面記載有引腳分配。技術規格書可以通過搜索產型號獲取,或通過產品銷售頁面下載,但每次都去找有點太麻煩了,所以在這里為您介紹一種可以記住引腳順序的方法。
晶體管引腳從左到右的方向以面向刻有產品型號的一面為基準(本次使用的“2SC1740S”為標有“C1740”的一面)。電子制作中經常用到的晶體管,按照這個方向從左到右大多數依次是發射極(E)、集電極(C)、基極(B)。這個“E、C、B”的順序可以取其諧音“愛、酷、寶”,如果您想省去查看技術規格書的麻煩,通常可以按照這樣的引腳順序進行接線。
圖6.3 晶體管引腳順序的記憶方法
但是需要注意的是,這個“愛酷寶”的順序并不適用于所有的晶體管。即使晶體管的外觀相同,引腳的順序也可能偶爾有不一樣的,表面貼裝型晶體管的引腳順序也可能不同,所以在開始組裝電路時,或使用從未使用過的晶體管型號時,一定要確認一下技術規格書。
7. 嘗試增加負載
現在,使用了晶體管的開關電路已經可以用了。機會難得,讓我們借此機會嘗試將LED的數量從1個逐漸增加到10個!組裝電路圖如圖7.1所示。
圖7.1 開關電路圖(LED×10個)
圖7.2 10個LED
讓10個LED閃爍時,表現如下:
?
?
8. 用Arduino使LED閃爍
最后,我們通過將前面使用了晶體管的開關電路的按鈕開關部分替換為Arduino的通用輸入輸出端口,實現無需手指按按鈕而使LED自動閃爍。在這種通過微控制器控制的情況下,晶體管可以大顯身手。
*使用USB數據線從電腦向Arduino供電。
圖8.1 開關電路圖(使用Arduino和晶體管)
圖8.2 開關電路外觀(使用Arduino和晶體管)
Arduino程序并不需要做什么特別的事,只需在Arduino IDE中寫入作為示例程序的“blink.ino”并執行即可。源代碼中的“LED_BUITIN”是為了使用安裝在Arduino UNO板上的LED時的引腳編號,由于也連接到引腳13,所以只要將引腳13與面包板上的晶體管的基極引腳相連接即可實現聯動。
接線時請一定要連接面包板的GND(電池的負極)和Arduino的GND,如果不連接,電路將無法正常工作。在面包板上進行實驗時,忘記接GND是一個常見的錯誤,所以請務必好好確認。
Arduino示例程序blink.ino(僅摘錄了setup()、loop()部分)
void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(LED_BUILTIN, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }
下面的視頻為使用Arduino進行LED開關的表現。
?
我曾經提到過每個Arduino端口的絕對最大額定電流是40mA,但是通過像這次這樣使用晶體管,就可以控制超出該范圍的負載開關。
?
9. 總結
在本文中,我們學習了晶體管的基本使用方法,同時,還嘗試了通過按鈕開關和Arduino讓晶體管發揮開關作用。毫不夸張地說,不僅控制LED和電機的時候要用到晶體管,在傳感器和放大器等相關電子制作中,幾乎都會用得到晶體管。如果您能夠熟練使用晶體管,那么您將能夠在更寬廣的電子制作世界中享受其中的妙趣,所以,歡迎大家積極挑戰各種電路的制作!
評論
查看更多