<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 三極管極性分辨有絕招!三極管測(cè)量儀DIY看著邊!

          三極管極性分辨有絕招!三極管測(cè)量儀DIY看著邊!

          作者: 時(shí)間:2016-12-26 來源:網(wǎng)絡(luò) 收藏
          三極管測(cè)量在電路設(shè)計(jì)中時(shí)經(jīng)常要做的,特別是對(duì)剛接觸懵懂的不清楚為什么要分NPN,PNP型的同學(xué)們,就更有必要好好的學(xué)學(xué)如何快速分辨三極管三個(gè)極!小編這里為大家分享了相關(guān)知識(shí)點(diǎn),同時(shí)也分享了自己DIY三極管測(cè)量儀的相關(guān)設(shè)計(jì)。 應(yīng)該說晶體三極管是最基礎(chǔ)一種元器件,因此每次三極管測(cè)量都是必須的,尤其是在剛接觸這東西時(shí)候搞不清楚它為什么要分NPN,PNP型。而且腳位有那么多種,EBC、ECB、BCE等等。而且電流放大系數(shù)也各不相同,記得曾經(jīng)花了好久來記怎樣用萬用表來分辨它的各個(gè)極,不過到今天我還是用這個(gè)方法來分辨不明型號(hào)三極管的三個(gè)極,實(shí)在有些麻煩。 想來學(xué)習(xí)單片機(jī)N久了,決定用STC的51單片機(jī)來做一個(gè)能快速分辨出三極管各個(gè)腳的機(jī)器;后期還打算測(cè)量出三極管的hEF值、漏電流Iceo、各結(jié)壓降等基本參數(shù)。(今天已經(jīng)完成到能分辨PNP和NPN型的任意腳位,通過LCD1602顯示出來了。)先分析晶體三極管構(gòu)造:
          三極管構(gòu)造 NPN內(nèi)部相當(dāng)于兩個(gè)二極管陽極相連作為B極(基極),其他兩極為C、E極。所以對(duì)于NPN型管子最方便能確定的腳就是B極,STC單片機(jī)設(shè)為非標(biāo)準(zhǔn)IO口模式(默認(rèn)模式),內(nèi)部上拉作用相當(dāng)于一個(gè)300K左右的上拉電阻,我們就利用這個(gè)電阻來提供一個(gè)較小的B極電流Ib,而且能作為共射極放大電路的集電極電阻Rc。 將三極管三個(gè)腳接到單片機(jī)的3個(gè)IO口,都輸出高電平,按順序每次置低一個(gè)腳,檢測(cè)剩余兩個(gè)腳電平情況,在所有情況中,只有拉低E極時(shí)會(huì)出現(xiàn)剩余兩個(gè)腳都為低,因?yàn)镋接地,Vcc通過內(nèi)部上拉作用給B極一個(gè)Ib電流,這個(gè)電流比較小,大概只有15uA,有了Ib,就勢(shì)必會(huì)有Ic從C極留下來,上拉電阻有300K多,哪怕Ib很小或hEF較小也能輸出低電平,而且B極被鉗制在Ube≈0.7V(普通硅管),單片機(jī)認(rèn)為:1/2Vcc以下為低電平,所以當(dāng)用單片機(jī)掃描各個(gè)腳時(shí)一個(gè)腳拉低,其他兩個(gè)腳也為低時(shí),說明被人為拉低的那個(gè)腳就是NPN型的E腳。 然而在我們分析時(shí)卻不能單獨(dú)分析NPN型的特點(diǎn)而忽略PNP型的作用,否則就出麻煩了!PNP內(nèi)部正好和NPN的二極管方向相反,如果按剛說的方法判別,如果是PNP型的管子B極被拉低,它的C和E極也都會(huì)因?yàn)槎O管的鉗制作用鉗制成低電平,此時(shí)就不能分辨所測(cè)管子是哪一種情況了。但可以確定的是,人為拉低這個(gè)腳要么是NPN的E,要么是PNP的B!為了將其區(qū)分開來,還需要找到一個(gè)條件,就像二元一次方程,兩個(gè)條件才能確定兩個(gè)未知數(shù)。 底怎樣才能確定呢?我們?cè)倏?,在以上過程中,我們按順序拉低某個(gè)腳,判斷其他腳的電平情況,NPN型是不是拉低E或者C都會(huì)把B腳拉低,而PNP型只有拉低B極才會(huì)拉低其余兩個(gè)腳。我們是不是只要記錄每次變換拉低一個(gè)腳時(shí)把其余任何一個(gè)腳被拉低的情況記個(gè)數(shù),三次變換后看這個(gè)計(jì)數(shù)值,如果有兩次其余腳有拉低情況則說明這個(gè)為NPN型三極管,如果只有一次拉低就說明是PNP型。 現(xiàn)在是不是就能判斷到底是NPN還是PNP了。到此為止,我們已經(jīng)用單片機(jī)確定出了所測(cè)管子的類型和一個(gè)腳(NPN的E或者PNP的B)。整個(gè)主電路設(shè)計(jì)使用了3片4051,1片4066,三個(gè)繼電器。 這是整個(gè)電路的鳥瞰圖:
          整個(gè)電路圖一


          整個(gè)電路圖二1602液晶開機(jī)顯示

          9014三極管的測(cè)試照片 NPN型三極管測(cè)試程序最簡單,可以很快測(cè)試出來,程序設(shè)計(jì)比較人性化,即插即顯示,拔出即顯示錯(cuò)誤,不用任何按鍵,不過現(xiàn)在是測(cè)試階段,沒有焊接專門的ZIP座,直接插上杜邦線里。液晶第二行顯示晶體三極管類型 、從左到右管腳名稱,很明顯,液晶顯示 : NPN E B C。

          然后把9014反個(gè)方向來插,會(huì)顯示什么呢?請(qǐng)看圖:
          電路圖三 是不是照樣能顯示出正確的管腳名稱!再看,測(cè)量下PNP型的三極管吧,這是一個(gè)9015型號(hào)的:
          電路圖四

          電路圖五 之前修改到整機(jī)能夠分辨出NPN,PNP這兩種類型的任意腳位三極管了,但是還不能測(cè)量其電流放大系數(shù),也就是俗稱的β值。

          先弄兩個(gè)恒流源,一個(gè)正方向的供NPN型測(cè)量,一個(gè)負(fù)方向的供PNP測(cè)量,當(dāng)完成鑒別類型和管腳序列后我把4051組成的陣列達(dá)到相應(yīng)的檔位,然后接通后面的共射極測(cè)量電路(這里考慮到STC12單片機(jī)內(nèi)部AD只能測(cè)量正極性的電壓,必須要有切換方向的操作),將之前的三個(gè)IO置成高阻輸出狀態(tài)防止影響各電流,如果三極管是NPN型(大多數(shù)情況下),則默認(rèn)繼電器繞組不供電時(shí)電路接通為NPN共射放大電路,如果是PNP型,則三個(gè)繼電器吸合接通為對(duì)應(yīng)的PNP共射放大電路;K2實(shí)現(xiàn)了Ib電流的切換,只要測(cè)量C端口的電壓經(jīng)過計(jì)算就能計(jì)算出該晶體三極管的電流放大系數(shù)β值。如圖:
          共射極測(cè)量電路 下面說說這恒流源該怎么弄。手頭上最多的就是LM358這款運(yùn)放,里面兩個(gè)單元的運(yùn)放剛剛好,雖然精度有限,但在這個(gè)粗制濫造的DIY里已經(jīng)足夠了。用運(yùn)放和三極管搞定它!如圖:正的Ib產(chǎn)生靠這個(gè)電路,Ib=(Vcc-Uref)/R1。
          恒流源電路一 這個(gè)電路產(chǎn)生負(fù)方向的Ib。Ib=Uref/R2。
          恒流源電路二 因?yàn)镽c取的是1.5K的電阻,Vcc=5V,按可測(cè)最大hEF值為400,而且考慮到三極管Uce飽和管壓降,初步打算采用Ib=8uA,雖然計(jì)算很粗糙,但就先這樣設(shè)定吧,之后有問題再來調(diào)整了。 以上的程序和硬件還有很多地方要修改,為了讓感興趣的大家也能跟著我一起,先給大家分享個(gè)只能測(cè)量NPN型的程序,這個(gè)程序只要有最最普通的51單片機(jī),AT89系列的或者STC的都行,而且除了基本最小系統(tǒng)電路和1602,完全不需要其他電路,因?yàn)槿齻€(gè)接三極管的IO口我程序里是寫在P0口的,所以如果使用AT89系列的朋友要改下端口,因?yàn)锳T89的單片機(jī)P0口為OD輸出,不具備上拉作用。


          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();