Sådan forbindes transistorer (BJT) og MOSFET med Arduino

Prøv Vores Instrument Til At Fjerne Problemer





Grænsefladen mellem kraftenheder som BJT'er og MOSFET'er med Arduino-udgang er en afgørende konfiguration, der gør det muligt at skifte høje effektbelastninger gennem lave Arduino-output.

I denne artikel diskuterer vi udførligt de korrekte metoder til at bruge eller forbinde transistorer som BJT'er og mosfeter med en hvilken som helst mikrokontroller eller en Arduino.



Sådanne stadier kaldes også 'Niveauskifter' fordi dette trin ændrer spændingsniveauet fra et lavere punkt til et højere punkt for den relevante outputparameter. For eksempel implementeres her niveauskift fra Arduino 5V output til MOSFET 12V output for den valgte 12V belastning.

Uanset hvor godt programmeret eller kodet din Arduino kan være, hvis den ikke er korrekt integreret med en transistor eller en ekstern hardware, kan det resultere i ineffektiv drift af systemet eller endda skade på de komponenter, der er involveret i systemet.



Derfor bliver det ekstremt vigtigt at forstå og lære de rigtige metoder til brug af eksterne aktive komponenter som mosfeter og BJT'er med en mikrocontroller, så det endelige resultat er effektivt, glat og effektivt.

Før vi diskuterer grænseflademetoderne for transistorer med Arduino, ville det være nyttigt at lære de grundlæggende egenskaber og funktion af BJT'er og mosfeter.

Elektriske egenskaber ved transistorer (bipolar)

BJT står for bipolar junction transistor.

Den grundlæggende funktion af en BJT er at tænde for en tilsluttet belastning som reaktion på en ekstern spændingsudløser. Belastningen formodes for det meste at være tungere i strøm sammenlignet med inputudløseren.

Den grundlæggende funktion af en BJT er således at tænde for en højere strømbelastning som reaktion på en lavere strømindgangsudløser.

Teknisk kaldes dette også forspænding af transistoren , hvilket betyder at bruge strøm og spænding til at betjene en transistor til en bestemt funktion, og denne forspænding skal udføres på den mest optimale måde.

BJT'er har 3 ledninger eller 3 ben, nemlig base, emitter, samler.

Basestiften bruges til at føde den eksterne indgangsudløser i form af lille spænding og strøm.

Emitterstiften er altid forbundet med jorden eller den negative forsyningsledning.

Samlestiften er forbundet med belastningen via den positive forsyning.

BJT'er kan findes med to typer polariteter, NPN og PNP. Den grundlæggende pin-konfiguration er den samme for både NPN og PNP som forklaret ovenfor, bortset fra jævnstrømsforsyningens polaritet, som bliver lige det modsatte.

Det pinouts af en BJT kunne forstås gennem følgende billede:

På billedet ovenfor kan vi se den grundlæggende pinout-konfiguration af en NPN og en PNP-transistorer (BJT'er). For NPN bliver emitteren jordlinjen og er forbundet med den negative forsyning.

Normalt når ordet 'jord' bruges i et jævnstrømskredsløb, antager vi, at det er den negative forsyningsledning.
For en transistor er jordledningen forbundet med emitteren imidlertid med reference til dens base og kollektorspændingerne, og emitterens 'jord' betyder muligvis ikke nødvendigvis den negative forsyningsledning.

Ja, for en NPN BJT kunne jorden være den negative forsyningslinje, men for en PNP transistor 'jorden' henvises altid til den positive forsyningslinje, som vist i figuren ovenfor.

Tænd / sluk-funktionen for begge BJT'er er stort set den samme, men polariteten ændres.

Da emitteren til en BJT er 'udgangspassagen' for den strøm, der kommer igennem og basen og samleren, skal den 'jordes' til en forsyningsledning, der skal være modsat den spænding, der anvendes ved base / kollektorindgange. Ellers slutter kredsløbet ikke.

For en NPN BJT er basen og kollektorindgangene forbundet med en positiv trigger eller koblingsspænding, derfor skal emitteren henvises til den negative linje.

Dette sikrer, at de positive spændinger, der kommer ind i basen og samleren, er i stand til at nå den negative linje gennem emitteren og fuldføre kredsløbet.

For en PNP BJT er basen og samleren forbundet med en negativ spændingsindgang, derfor skal naturligvis emitteren til en PNP henvises til den positive linje, så den positive forsyning kan komme ind gennem emitteren og afslutte sin rejse fra basen og samlestifterne.

Bemærk, at strømmen for NPN er fra base / kollektor mod emitter, mens det for PNP er fra emitteren mod basen / samleren.

I begge tilfælde er målet at tænde for kollektorbelastningen via en lille spændingsindgang i bunden af ​​BJT, kun polariteten ændres, det er alt.

Følgende simulering viser den grundlæggende funktion:

hvordan transistor leder med en ekstern spænding

I simuleringen ovenfor, så snart der trykkes på knappen, kommer den eksterne spændingsindgang ind i BJT-basen og når jordlinjen via emitteren.

Mens dette sker, samler / emitterpassagen inde i BJT åbner sig op og tillader den positive forsyning ovenfra at komme ind i pæren og passere gennem emitteren til jorden og tænde pæren (belastning).

Begge skift sker næsten samtidigt som reaktion på tryk på trykknappen.

Emitter pin her bliver den almindelige 'exit' pinout for både input feeds (base og collector).

Og emitterforsyningslinjen bliver den fælles jordlinje for inputforsyningsudløseren og også belastningen.

Hvilket betyder, at forsyningsledningen, der forbinder med BJT-emitteren, også skal være strengt forbundet med jorden på den eksterne udløserkilde og belastningen.

Hvorfor bruger vi en modstand i bunden af ​​en BJT

Basen på en BJT er designet til at fungere med lave strømindgange, og denne pin kan ikke optage store strømindgange, og derfor anvender vi en modstand, bare for at sikre, at ingen stor strøm får lov til at komme ind i basen.

Modstandens grundlæggende funktion er at begrænse strømmen til en korrekt specificeret værdi i henhold til belastningsspecifikationen.

Bemærk venligst at for BJT'er skal denne modstand dimensioneres i henhold til kollektorsidens belastningsstrøm.

Hvorfor?

Fordi BJT'er er strømafhængige 'switche'.

Det betyder, at basisstrømmen skal øges eller formindskes eller justeres i overensstemmelse med belastningsstrømsspecifikationerne på kollektorsiden.

Men den koblingsspænding, der kræves ved bunden af ​​en BJT, kan være så lav som 0,6V eller 0,7V. Betydning, BJT-samlerbelastning kunne tændes med en spænding så lav som 1V over basen / emitteren til en BJT.
Her er den grundlæggende formel til beregning af basismodstanden:

R = (Us - 0,6) Hfe / belastningsstrøm,

Hvor R = transistorens basismodstand,

Us = Kilde eller udløserspændingen til basismodstanden,

Hfe = Transistorens fremadgående forstærkning (kan findes fra databladet til BJT).

Selvom formlen ser pæn ud, er det ikke absolut nødvendigt altid at konfigurere basismodstanden så nøjagtigt.

Det er simpelthen fordi BJT-basespecifikationerne har et bredt toleranceområde og let kan tåle store forskelle i modstandsværdierne.

For eksempel, at forbinde et relæ med en 30mA spolemodstand, kan formlen groft give en modstandsværdi på 56K for en BC547 ved 12V forsyningsindgang .... men jeg foretrækker normalt at bruge 10K, og det fungerer fejlfrit.

Men hvis du ikke følger de optimale regler, kan der være noget, der ikke er godt med resultaterne, ikke?

Teknisk giver det mening, men igen er tabet så lille sammenlignet med den indsats, der bruges til beregningerne, at det kan overses.

For eksempel kan brug af 10K i stedet for 56K tvinge transistoren til at arbejde med en lidt mere basisstrøm, hvilket får den til at varme op lidt mere, kan være et par grader højere ... hvilket ikke betyder noget overhovedet.

Sådan forbindes BJT med Arduino

OK, lad os nu komme til det egentlige punkt.

Da vi indtil videre har lært omfattende, hvordan en BJT skal forspændes og konfigureres på tværs af dens 3 pinouts, kan vi hurtigt forstå detaljerne vedrørende grænsefladen til enhver mikrocontroller som Arduino.

Hovedformålet med at forbinde en BJT med en Arduino er normalt at tænde for en belastning eller en eller anden parameter på samlersiden som reaktion på et programmeret output fra en af ​​Arduino-udgangsstifterne.

Her skal triggerindgangen til BJT-basestiften komme fra Arduino. Dette indebærer, at slutningen af ​​basemodstanden simpelthen skal fastgøres med det relevante output fra Arduino, og samleren af ​​BJT med belastningen eller en hvilken som helst tilsigtet ekstern parameter.

Da en BJT næppe kræver 0,7V til 1V for en effektiv skiftning, bliver 5V fra Arduino-udgangsstiften perfekt til at køre en BJT og køre rimelige belastninger.
Et eksempel på konfiguration kan ses på følgende billede:

grænseflade eller tilslutning af Arduino med en transistorrelædriver

På dette billede kan vi se, hvordan en programmeret Arduino bruges til at betjene en lille belastning i form af relæ via BJT-førertrin. Relæspolen bliver kollektorbelastning, mens signalet fra den valgte Arduino-udgangsstift fungerer som indgangskoblingssignalet til BJT-basen.

forbinder Arduino med en høj effekt LED

Selvom et relæ bliver den bedste mulighed for at betjene tunge belastninger via en transistordriver, når mekanisk skiftning bliver en uønsket faktor, bliver opgradering af BJT'er et bedre valg til drift af DC-belastninger med høj strøm, som vist nedenfor.

I ovenstående eksempel kan et Darlington-transistornetværk ses, konfigureret til at håndtere den angivne højstrøm 100 watt belastning uden at være afhængig af et relæ. Dette muliggør problemfri skift af LED med minimal forstyrrelse, hvilket sikrer en lang levetid for alle parametre.

Lad os nu gå videre, og se hvordan mosfeter kan konfigureres med en Arduino

Elektriske egenskaber ved MOSFET

Formålet med at bruge en mosfet med en Arduino svarer normalt til BJT's som beskrevet ovenfor.

Men da normalt MOSFET'er er designet For at håndtere højere strømspecifikationer effektivt sammenlignet med BJT'er bruges disse mest til at skifte høj effektbelastning.

Før vi forstår grænsefladen mellem en mosfet og Arduino, ville det være interessant at kende det grundlæggende forskel mellem BJT'er og mosfeter

I vores tidligere diskussion forstod vi det BJT'er er aktuelt afhængige enheder , fordi deres baseskiftestrøm er afhængig af kollektorbelastningsstrømmen. Højere belastningsstrømme vil kræve højere basisstrøm og omvendt.

For mosfets er dette ikke sandt, med andre ord mosfets gate, der svarer til BJT-basen, kræver minimal strøm for at tænde, uanset afløbsstrømmen (mosfets afløbsstift svarer til BJT's opsamlingsstift).

Når det er sagt, selvom strømmen ikke er den afgørende faktor for at skifte en mosfet-port, spænding er.

Derfor betragtes mosfeter som spændingsafhængige enheder

Den mindste spænding, der kræves for at skabe en sund forspænding for en mosfet, er 5V eller 9V, hvor 12v er det mest optimale område til fuldt at tænde en mosfet.

Derfor kan vi antage, at en 10V forsyning kan bruges på tværs af porten for at få et optimalt resultat for at tænde en mosfet og en belastning over dens afløb.

Ækvivalente stifter af Mosfets og BJT'er

Det følgende billede viser de supplerende ben af ​​mosfeter og BJT'er.

Base svarer til Gate-Collector svarer til Drain-Emitter svarer til Source.

BJT mosfet pinout-udskiftning i Arduino

Hvilken modstand skal bruges til en Mosfet Gate

Fra vores tidligere tutorials forstod vi, at modstanden ved bunden af ​​en BJT er afgørende, uden hvilken BJT straks kan blive beskadiget.

For en MOSFET er dette muligvis ikke så relevant, fordi MOSFET'er ikke påvirkes med strømforskelle ved deres porte, i stedet kan en højere spænding betragtes som farlig. Normalt kan alt over 20V være dårligt for en MOSFET-port, men strømmen kan være uvæsentlig.

På grund af dette er en modstand ved porten ikke relevant, da modstande bruges til at begrænse strøm, og mosfet gate er ikke afhængig af strøm.

Når det er sagt, er MOSFET'er det meget sårbar over for pludselige pigge og transienter ved deres porte sammenlignet med BJT'er.

Af denne grund foretrækkes generelt en modstand med lav værdi generelt ved portene til MOSFET'er, bare for at sikre, at ingen pludselig spændingsspids er i stand til at gå gennem MOSFET-porten og rive den internt.

Typisk enhver modstand mellem 10 og 50 ohm kunne bruges ved MOSFET-porte til at beskytte deres porte mod uventede spændingsspidser.

Grænseflade mellem en MOSFET og Arduino

Som forklaret i ovenstående afsnit har en mosfet brug for omkring 10V til 12V for korrekt at tænde, men da Arduinos arbejder med 5V, kan dens output ikke konfigureres direkte med en mosfet.

Da en Arduino kører med 5V forsyning, og alle dens udgange er designet til at producere 5V som det logiske højforsyningssignal. Selvom denne 5V muligvis har mulighed for at tænde en MOSFET, kan det resultere i en ineffektiv kobling af enhederne og problemer med at varme op.

For effektiv MOSFET-skift og for at transformere 5V-output fra Arduino til et 12V-signal, kunne et mellemliggende buffertrin konfigureres som vist i følgende billede:

hvordan man forbinder mosfet med Arduino

På figuren kan MOSFET ses konfigureret med et par BJT-buffertrin, som gør det muligt for MOSFET at bruge 12V fra strømforsyningen og tænde sig selv og belastningen effektivt.

To BJT'er bruges her, da en enkelt BJT ville få MOSFET til at opføre sig modsat som svar på alle positive Arduino-signaler.

Antag, at der bruges en BJT, så mens BJT er TIL med et positivt Arduino-signal, vil mosfet blive slukket, da dens gate ville være jordforbundet af BJT-samleren, og belastningen ville blive tændt, mens Arduino er OFF.

Dybest set ville en BJT vende Arduino-signalet til mosfetporten, hvilket resulterede i et modsat omskiftningsrespons.

For at rette op på denne situation bruges to BJT'er, så den anden BJT inverterer svaret tilbage og tillader mosfet at tænde for alle positive signaler kun fra Arduino.

Afsluttende tanker

Nu skulle du have forstået den rigtige metode til at forbinde BJT'er og myfeter med en mikrocontroller eller en Arduino.

Du har måske bemærket, at vi for det meste har brugt NPN BJT'er og N-kanal mosfeter til integrationerne og har undgået at bruge PNP og P-kanal enheder. Dette skyldes, at NPN-versioner fungerer ideelt som en switch og er lette at forstå, mens de konfigureres.

Det er som at køre en bil normalt fremad i stedet for at kigge bagud og køre den i bakgear. På begge måder ville bilen fungere og bevæge sig, men kørsel i bakgear er meget ineffektiv og giver ikke mening. Den samme analogi gælder her, og brug af NPN- eller N-kanal-enheder bliver en bedre præference sammenlignet med PNP- eller P-kanalmosfeter.

Hvis du er i tvivl, eller hvis du tror, ​​jeg måske har gået glip af noget her, skal du bruge kommentarfeltet nedenfor til yderligere diskussion.




Forrige: 2 enkle tovejs motorstyringskredsløb udforsket Næste: Motorcykelknap Start låsekredsløb