Kuidas ühendada transistorid (BJT) ja MOSFET Arduinoga

Proovige Meie Instrumenti Probleemide Kõrvaldamiseks





Toiteseadmete, nagu BJT-de ja MOSFET-i, liidestamine Arduino väljundiga on ülitähtis konfiguratsioon, mis võimaldab Arduino väikeste väljundväljundite kaudu lülitada suuri võimsuskoormusi.

Selles artiklis käsitleme üksikasjalikult transistoride, nagu BJT-de ja mosfettide, kasutamise või ühendamise mis tahes mikrokontrolleri või Arduinoga õigeid meetodeid.



Selliseid etappe nimetatakse ka 'Taseme vahetaja' kuna see etapp muudab vastava väljundparameetri pingetaset madalamast punktist kõrgemaks. Näiteks rakendatakse siin taseme nihet Arduino 5V väljundist MOSFET 12V väljundiks valitud 12V koormuse korral.

Pole tähtis, kui hästi teie Arduino on programmeeritud või kodeeritud, kui see pole transistori või välise riistvaraga õigesti integreeritud, võib see põhjustada süsteemi ebaefektiivse töö või isegi süsteemiga seotud komponentide kahjustamise.



Seetõttu on äärmiselt oluline mõista ja õppida õigeid meetodeid väliste aktiivsete komponentide, nagu mosfets ja BJT, kasutamiseks mikrokontrolleriga, et lõpptulemus oleks tõhus, sujuv ja tõhus.

Enne kui transistoride liidestamismeetodeid Arduinoga arutame, oleks kasulik õppida BJT-de ja mosfettide põhiomadusi ja toimimist.

Transistorite elektrilised omadused (bipolaarsed)

BJT tähistab bipolaarse ristmiku transistorit.

BJT põhifunktsioon on kinnitatud koormuse sisselülitamine vastuseks välisele pinge päästikule. Koormus peaks olema voolus enamasti suurem kui sisendi päästik.

Seega on BJT põhifunktsioon suurema voolukoormuse sisselülitamine vastusena madalama voolutugevuse päästikule.

Tehniliselt nimetatakse seda ka transistori kallutamine , mis tähendab voolu ja pinge kasutamist transistori käitamiseks ettenähtud funktsiooni jaoks ja see kallutamine peab toimuma kõige optimaalsemal viisil.

BJT-del on 3 juhet või 3 tihvti, nimelt alus, emitter, kollektor.

Alusnõela kasutatakse välise sisendi päästiku toitmiseks väikese pinge ja vooluna.

Emitteri tihvt on alati ühendatud maapinna või negatiivse toitetoruga.

Kollektori tihvt on koormaga ühendatud positiivse toite kaudu.

BJT-sid võib leida kahte tüüpi polaarsusega, NPN ja PNP. Põhiline pin-konfiguratsioon on nii NPN-i kui ka PNP puhul sama, nagu eespool selgitatud, välja arvatud alalisvoolu toite polaarsus, mis muutub vastupidiseks.

The BJT-st saab aru saada järgmise pildi kaudu:

Ülaltoodud pildil näeme NPN-i ja PNP-transistoride (BJT-de) põhilisi kinnituskonfiguratsioone. NPN puhul saab emitterist maandusjoone ja see on ühendatud negatiivse toiteallikaga.

Tavaliselt, kui alalisvooluahelas kasutatakse sõna 'maandus', eeldame, et see on negatiivne toiteliin.
Transistori puhul on emitteriga seotud maandusliin selle aluse ja kollektori pingete suhtes ning emitteri 'maandus' ei pruugi tähendada tingimata negatiivset toiteliini.

Jah, NPN BJT jaoks võib maapind olla negatiivne toiteliin, kuid PNP transistor maapinnale viidatakse alati positiivsele toiteliinile, nagu on näidatud ülaltoodud joonisel.

Mõlema BJT sisse- ja väljalülitamise funktsioon on põhimõtteliselt sama, kuid polaarsus muutub.

Kuna BJT kiirgur on läbi ja aluse siseneva voolu ja kollektori väljundkäik, tuleb see 'maandada' toiteliinile, mis peaks olema vastupidine aluse / kollektori sisendites kasutatava pingega. Vastasel juhul ei saa vooluring lõppeda.

NPN BJT puhul on aluse ja kollektori sisendid seotud positiivse päästiku või lülituspingega, seetõttu tuleb emitterit viidata negatiivsele joonele.

See tagab, et baasi ja kollektorisse sisenevad positiivsed pinged suudavad emitteri kaudu jõuda negatiivse jooneni ja lõpetada vooluahel.

PNP BJT puhul on alus ja kollektor seotud negatiivse pinge sisendiga, seetõttu tuleb loomulikult viidata PNP emitterile positiivsele joonele, nii et positiivne toiteallikas saaks siseneda emitteri kaudu ja lõpetada teekonna baasilt ja koguja tihvtid.

Pange tähele, et NPN-i voolu voog on baasist / kollektorist emitteri suunas, samas kui PNP-ga on see emitterist aluse / kollektori suunas.

Mõlemal juhul on eesmärk kollektori koormuse sisselülitamine väikese pingesisendi kaudu BJT aluses, ainult see polaarsus muutub.

Järgmine simulatsioon näitab põhitoimingut:

kuidas transistor juhib välist pinget

Ülaltoodud simulatsioonis siseneb välise pinge sisend kohe pärast nupu vajutamist BJT baasi ja jõuab emitteri kaudu maandusjooneni.

Kuigi see juhtub, avaneb BJT-s olev kollektori / emitteri kanal ja see võimaldab ülemisest positiivsest toiteallikast siseneda pirni ja läbida emitteri maapinnale, lülitades pirni (koormus) sisse.

Mõlemad lülitused toimuvad peaaegu samaaegselt vastusena surunupu vajutamisele.

Siit saab emitteri tihvt nii sisendvoogude (aluse kui ka kollektori) ühiseks väljumiseks.

Ja emitteri toiteliin muutub sisendtoite päästiku ja ka koormuse ühiseks maandusliiniks.

Mis tähendab, et BJT emitteriga ühendatav toitetorustik peab olema rangelt ühendatud ka välise päästeallika maapinna ja koormusega.

Miks me kasutame takisti BJT baasis

BJT alus on mõeldud töötama väikese võimsusega sisenditega ja see tihvt ei saa suuri voolusisendeid sisestada ja seetõttu kasutame takistit, et veenduda, et alusele ei lubata suurt voolu.

Takisti põhiülesanne on piirata voolu õige määratud väärtuseni vastavalt koormuse spetsifikatsioonile.

Pane tähele et BJT-de puhul peab see takisti olema mõõdetav vastavalt kollektori külgkoormusvoolule.

Miks?

Kuna BJT-d on voolust sõltuvad 'lülitid'.

See tähendab, et baasvoolu tuleb suurendada või vähendada või reguleerida vastavalt kollektoripoolsetele koormusvoolu näitajatele.

Kuid BJT aluses vajalik lülituspinge võib olla nii madal kui 0,6 V või 0,7 V. See tähendab, et BJT kollektori koormuse saab sisse lülitada nii madala pingega kui 1 V BJT baasil / emitteril.
Siin on põhitakisti arvutamise põhivalem:

R = (meie - 0,6) Hfe / koormusvool,

Kus R = transistori baastakisti,

Us = Allikatakisti allikas või päästiku pinge,

Hfe = transistori ettepoole suunatud voolutugevus (leiate BJT andmelehelt).

Ehkki valem näeb välja korralik, pole alustakisti alati nii täpne konfigureerimine tingimata vajalik.

Selle põhjuseks on lihtsalt see, et BJT-baasi spetsifikatsioonidel on lai tolerantsivahemik ja nad suudavad kergesti taluda suuri erinevusi takisti väärtustes.

Näiteks, relee ühendamiseks millel on 30mA mähise takistus, võib valem anda ligikaudu takisti väärtuse 56K BC547 jaoks 12V toiteallikas ... kuid ma eelistan tavaliselt 10K kasutamist ja see töötab laitmatult.

Kuid kui te ei järgi optimaalseid reegleid, võib tulemustes olla midagi head, eks?

Tehniliselt on see mõistlik, kuid jällegi on kaotus arvutuste jaoks kulutatud vaevaga võrreldes nii väike, et selle võib unarusse jätta.

Näiteks 10K kasutamine 56K asemel võib sundida transistori töötama veidi suurema baasvooluga, põhjustades selle veidi rohkem soojenemist, võib olla paar kraadi kõrgem ... mis pole üldse oluline.

Kuidas BJT-d Arduinoga ühendada

OK, tuleme nüüd tegeliku punkti juurde.

Kuna oleme siiani põhjalikult õppinud, kuidas BJT-d tuleb kallutada ja konfigureerida selle kõigi 3 pistiku kaudu, saame kiiresti aru üksikasjadest, mis käsitlevad selle liidestamist mis tahes mikrokontrolleriga, näiteks Arduino.

BJT ja Arduinoga ühendamise peamine eesmärk on tavaliselt koormuse või mõne parameetri sisselülitamine kollektori küljel vastusena Arduino ühe väljundpoldi programmeeritud väljundile.

Siin peaks BJT aluse tihvti päästik sisend tulema Arduinost. See tähendab, et baastakisti ots tuleb lihtsalt kinnitada Arduino vastava väljundiga ja BJT kollektor koos koormuse või mis tahes kavandatud välise parameetriga.

Kuna BJT vajab efektiivseks ümberlülitamiseks vaevalt 0,7 V kuni 1 V, saab Arduino väljundnõelast 5 V täiesti piisavaks BJT juhtimiseks ja mõistlike koormuste käitamiseks.
Konfiguratsiooni näide võib olla järgmine pilt:

Arduino ühendamine või ühendamine transistori relee draiveriga

Sellel pildil näeme, kuidas programmeeritud Arduinot kasutatakse väikese koormuse käitamiseks relee kujul BJT draiveri etapi kaudu. Relee mähisest saab kollektori koormus, samal ajal kui valitud Arduino väljundnõela signaal toimib nagu BJT-aluse sisendlülitussignaal.

ühendades Arduino suure võimsusega LED-iga

Ehkki relee saab parimaks võimaluseks raskete koormuste käitamiseks transistori draiveri kaudu, muutub mehaaniline lülitamine ebasoovitavaks faktoriks, kui BJT-de uuendamine on parem valik suurte voolu alalisvoolu koormuste käitamiseks, nagu allpool näidatud.

Ülaltoodud näites võib näha Darlingtoni transistorivõrku, mis on konfigureeritud näidatud suure praeguse 100-vatise koormuse käsitsemiseks ilma relee sõltumata. See võimaldab LED-i sujuvalt ümber lülitada minimaalse häirega, tagades kõigi parameetrite pika tööea.

Nüüd jätkame edasi ja vaatame, kuidas mosfette saab Arduinoga konfigureerida

MOSFETi elektrilised omadused

Arduinoga mosfeti kasutamise eesmärk on tavaliselt sarnane eespool käsitletud BJT-ga.

Kuna aga tavaliselt MOSFETid on loodud BJT-dega võrreldes suurema voolutugevusega tehniliste näitajate tõhusaks käsitsemiseks kasutatakse neid enamasti suure võimsusega koormuste ümberlülitamiseks.

Enne kui mõistame mosfeti liidest Arduinoga, oleks huvitav teada põhiteavet erinevus BJT-de ja mosfettide vahel

Oma eelmises arutelus saime sellest aru BJT-d on praegusest sõltuvad seadmed , kuna nende baaslülitusvool sõltub kollektori koormusvoolust. Suuremad koormusvoolud nõuavad suuremat baasvoolu ja vastupidi.

Mosfetside puhul pole see tõsi, teisisõnu, mosfets gate, mis on samaväärne BJT baasiga, nõuab sisselülitamiseks minimaalset voolutugevust, hoolimata äravooluvoolust (mosfeti äravoolu tihvt on samaväärne BJT kollektori tihvtiga).

Seda öeldes, kuigi vool pole mosfeti värava vahetamise otsustav tegur, pinge on.

Seetõttu peetakse mosfette pingest sõltuvateks seadmeteks

Mosfeti tervisliku kallutamise loomiseks vajalik minimaalne pinge on 5V või 9V, 12v on optimaalne vahemik mosfeti täielikuks sisselülitamiseks.

Seetõttu võime eeldada, et mosfeti ja kogu äravoolu koormuse sisselülitamiseks saab optimaalse tulemuse saavutamiseks üle värava kasutada 10 V toiteallikat.

Mosfetsi ja BJT samaväärsed tihvtid

Järgmine pilt näitab mosfettide ja BJT-de täiendavaid tihvte.

Baas vastab väravakollektorile vastab tühjendus-emitter vastab allikale.

BJT mosfeti pinouti asendamine Arduinos

Millist takistit tuleks Mosfeti värava jaoks kasutada

Meie varasematest õpetustest saime aru, et BJT põhjas olev takisti on ülitähtis, ilma milleta võib BJT koheselt kahjustuda.

MOSFET-i jaoks ei pruugi see nii asjakohane olla, kuna MOSFET-e ei mõjuta nende väravate voolu erinevused, selle asemel võib kõrgemat pinget pidada ohtlikuks. Tavaliselt võib kõik, mis on üle 20 V, MOSFET-värava jaoks halb olla, kuid vool ei pruugi olla oluline.

Seetõttu ei ole väravas olev takisti asjakohane, kuna takistusi kasutatakse voolu piiramiseks ja mosfeti värav ei sõltu voolust.

See tähendab, et MOSFETid on tohutult haavatav äkiliste hüppeliste ja mööduvate nähtude suhtes nende väravatel, võrreldes BJT-dega.

Sel põhjusel eelistatakse MOSFET-i väravate juures madala väärtusega takistit, lihtsalt selleks, et tagada, et MOSFET-väravast ei saaks äkki tekkida pingelöök ja see sisemiselt lahti rebida.

Tavaliselt mis tahes takisti vahemikus 10 kuni 50 oomi neid saaks kasutada MOSFETi väravate juures, et kaitsta nende väravaid ootamatute pingelöökide eest.

MOSFET-i liidestamine Arduinoga

Nagu eelmises lõigus selgitatud, vajab mosfet korralikuks sisselülitamiseks umbes 10–12 V, kuid kuna Arduinos töötavad 5 V-ga, ei saa selle väljundit mosfetiga otseselt konfigureerida.

Kuna Arduino töötab 5V toiteallikaga ja kõik selle väljundid on loodud tootma 5V kui loogiline kõrge toitesignaal. Kuigi sellel 5V-l võib olla võimalus MOSFET sisse lülitada, võib see põhjustada seadmete ebaefektiivse ümberlülitamise ja probleeme.

Tõhusaks MOSFET-lülitamiseks ja Arduino 5V väljundi teisendamiseks 12V-signaaliks saab konfigureerida vahepuhvri etapi, nagu on näidatud järgmisel pildil:

kuidas ühendada mosfet Arduinoga

Joonisel on näha, et MOSFET on konfigureeritud paari BJT puhvri etapiga, mis võimaldab MOSFETil kasutada 12 V toiteallikast ning lülitada ennast ja koormust tõhusalt sisse.

Siin kasutatakse kahte BJT-d, kuna üks BJT paneks MOSFET-i käituma vastupidi vastusena igale positiivsele Arduino signaalile.

Oletame, et kasutatakse ühte BJT-d, siis kui BJT on positiivse Arduino signaaliga SEES, lülitatakse mosfet välja, kuna BJT kollektor maandab selle värava ja koormus lülitatakse sisse, kui Arduino on välja lülitatud.

Põhimõtteliselt pööraks üks BJT Arfino signaali mosfeti värava poole, mille tulemuseks on vastupidine lülitusreaktsioon.

Selle olukorra parandamiseks kasutatakse kahte BJT-d, nii et teine ​​BJT pöörab vastuse tagasi ja võimaldab mosfetil lülituda sisse ainult Arduinost pärinevate positiivsete signaalide korral.

Lõpumõtted

Nüüdseks oleksite pidanud terviklikult mõistma õiget meetodit BJT-de ja mosfettide ühendamiseks mikrokontrolleri või Arduinoga.

Võib-olla olete märganud, et integreerimisel oleme enamasti kasutanud NPN BJT-sid ja N-kanaliga mosfette ning oleme vältinud PNP- ja P-kanaliga seadmete kasutamist. Seda seetõttu, et NPN-i versioonid töötavad ideaalselt nagu lüliti ja neid on konfigureerimisel lihtne mõista.

See on nagu autoga tavapäraselt edasi liikumine, selle asemel, et vaadata taha ja sõita tagurpidi. Mõlemal viisil auto töötaks ja liiguks, kuid tagurpidikäiguga sõitmine on palju ebaefektiivne ja sellel pole mõtet. Sama analoogia kehtib ka siin ja NPN- või N-kanaliga seadmete kasutamine muutub paremaks eelistuseks võrreldes PNP või P-kanaliga mosfettidega.

Kui teil on kahtlusi või kui arvate, et mul võib siin midagi puudu olla, kasutage edasiseks aruteluks allpool olevat kommentaarikasti.




Paar: Uuritud on 2 lihtsat kahesuunalist mootori juhtimisahelat Järgmine: mootorratta nupu käivitamise lukustusahel