Hur man ansluter transistorer (BJT) och MOSFET med Arduino

Prova Vårt Instrument För Att Eliminera Problem





Gränssnittet mellan kraftenheter som BJT och MOSFET med Arduino-utgång är en avgörande konfiguration som gör det möjligt att växla höga effektbelastningar genom låga effektutgångar från en Arduino.

I den här artikeln diskuterar vi detaljerat de korrekta metoderna för att använda eller ansluta transistorer som BJT och mosfets med vilken mikrokontroller som helst eller en Arduino.



Sådana steg kallas också 'Nivåväxlare' eftersom detta steg ändrar spänningsnivån från en lägre punkt till en högre punkt för den relevanta utgångsparametern. Till exempel implementeras här nivåförskjutningen från Arduino 5V-utgång till MOSFET 12V-utgång för vald 12V-belastning.

Oavsett hur väl programmerad eller kodad din Arduino kan vara, om den inte är korrekt integrerad med en transistor eller en extern hårdvara, kan det leda till ineffektiv drift av systemet eller till och med skada på komponenterna som är inblandade i systemet.



Därför blir det oerhört viktigt att förstå och lära sig rätt metoder för att använda externa aktiva komponenter som mosfeter och BJT med en mikrokontroller, så att det slutliga resultatet blir effektivt, smidigt och effektivt.

Innan vi diskuterar gränssnittsmetoderna för transistorer med Arduino, skulle det vara användbart att lära sig de grundläggande egenskaperna och funktionen hos BJT och mygg.

Elektriska egenskaper hos transistorer (bipolär)

BJT står för bipolär övergångstransistor.

Den grundläggande funktionen för en BJT är att slå PÅ en ansluten belastning som svar på en extern spänningsutlösare. Belastningen ska vara mestadels tyngre i ström jämfört med ingångsutlösaren.

Således är den grundläggande funktionen för en BJT att slå PÅ en högre strömbelastning som svar på en lägre strömingångsutlösare.

Tekniskt kallas detta också förspänning av transistorn , vilket innebär att man använder ström och spänning för att driva en transistor för en avsedd funktion, och denna förspänning måste göras på det mest optimala sättet.

BJT har 3 ledningar eller 3 stift, nämligen bas, emitter, samlare.

Basstiftet används för matning av den externa ingångsutlösaren, i form av liten spänning och ström.

Emitterstiftet är alltid anslutet till marken eller den negativa matningsledningen.

Uppsamlingsstiftet är anslutet till lasten via den positiva matningen.

BJT finns med två typer av polariteter, NPN och PNP. Den grundläggande stiftkonfigurationen är densamma för både NPN och PNP som förklaras ovan, förutom DC-matningens polaritet som blir precis tvärtom.

De pinouts av en BJT kunde förstås genom följande bild:

I bilden ovan kan vi se den grundläggande pinout-konfigurationen för en NPN och en PNP-transistorer (BJT). För NPN blir emittern jordlinjen och är ansluten till den negativa matningen.

Normalt när ordet 'jord' används i en likströmskrets antar vi att det är den negativa matningslinjen.
För en transistor är emellertid jordledningen associerad med emittern med hänvisning till dess bas och kollektorspänningarna, och emitterens 'jord' betyder inte nödvändigtvis den negativa matningslinjen.

Ja, för en NPN BJT kan marken vara den negativa försörjningslinjen, men för en PNP-transistor 'marken' hänvisas alltid till den positiva försörjningslinjen, som visas i figuren ovan.

PÅ / AV-funktionen för båda BJT: erna är i princip densamma, men polariteten ändras.

Eftersom sändaren till en BJT är 'utgång' -passagen för strömmen som går genom och basen och kollektorn, måste den 'jordas' till en matningsledning som ska vara motsatt spänningen som används vid bas / kollektoringångar. Annars slutar inte kretsen.

För en NPN BJT är bas- och kollektoringångarna associerade med en positiv utlösare eller omkopplingsspänning, därför måste sändaren hänvisas till den negativa linjen.

Detta säkerställer att de positiva spänningarna som kommer in i basen och kollektorn kan nå den negativa linjen genom sändaren och slutföra kretsen.

För en PNP BJT är basen och kollektorn associerad med en negativ spänningsingång, därför måste naturligtvis emitteren till en PNP hänvisas till den positiva linjen, så att den positiva matningen kan komma in genom sändaren och avsluta sin resa från basen och uppsamlingsstiftet.

Observera att strömmen för NPN är från bas / kollektor mot emitter, medan för PNP är det från emitter mot bas / kollektor.

I båda fallen är målet att slå PÅ kollektorbelastningen genom en liten spänningsingång vid BJT-basen, bara polariteten ändras.

Följande simulering visar den grundläggande funktionen:

hur transistorn leder med en extern spänning

I simuleringen ovan, så snart knappen trycks in, kommer den externa spänningsingången in i basen på BJT och når jordlinjen via sändaren.

Medan detta händer öppnas kollektor- / emitterpassagen inuti BJT och låter den positiva tillförseln uppifrån komma in i glödlampan och passera genom sändaren till marken och slå på lampan (belastning).

Båda bytena sker nästan samtidigt som svar på att trycka på tryckknappen.

Emitterstiftet här blir den vanliga 'exit' pinout för både ingångsflöden (bas och samlare).

Och emitterförsörjningsledningen blir den gemensamma markledningen för ingångsförsörjningsutlösaren och även belastningen.

Vilket innebär att matningsledningen som ansluter till BJT-sändaren också måste vara strikt ansluten till marken för den externa utlösarkällan och belastningen.

Varför använder vi en motstånd vid basen av en BJT

Basen på en BJT är utformad för att fungera med ingångar med låg effekt, och denna stift kan inte ta in stora strömingångar, och därför använder vi ett motstånd, bara för att se till att ingen stor ström får komma in i basen.

Motståndets grundläggande funktion är att begränsa strömmen till ett korrekt specificerat värde enligt lastspecifikationen.

Vänligen notera att för BJT måste detta motstånd dimensioneras enligt kollektorsidans belastningsström.

Varför?

Eftersom BJT är strömberoende 'switchar'.

Det betyder att basströmmen måste ökas eller minskas eller justeras i enlighet med lastströmsspecifikationerna på kollektorsidan.

Men den växlingsspänning som krävs vid basen av en BJT kan vara så låg som 0,6V eller 0,7V. Betydelse, BJT-samlarbelastning kan kopplas till med en spänning så låg som 1V över bas / emitter på en BJT.
Här är grundformeln för beräkning av basmotståndet:

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

Där R = basmotstånd hos transistorn,

Us = Källa eller utlösarspänningen till basmotståndet,

Hfe = Transistorns framåtriktade förstärkning (kan hittas från databladet för BJT).

Även om formeln ser snygg ut är det inte absolut nödvändigt att alltid konfigurera basmotståndet så exakt.

Det är helt enkelt för att BJT-basspecifikationerna har ett brett toleransområde och lätt kan tolerera stora skillnader i motståndsvärdena.

Till exempel, för att ansluta ett relä med en 30mA spolmotstånd, kan formeln ungefär ge ett motståndsvärde på 56K för en BC547 vid 12V matningsingång .... men jag föredrar normalt att använda 10K, och det fungerar felfritt.

Men om du inte följer de optimala reglerna kan det vara något som inte är bra med resultaten, eller hur?

Tekniskt är det vettigt, men återigen är förlusten så liten jämfört med ansträngningen för beräkningarna att den kan försummas.

Till exempel kan 10K istället för 56K tvinga transistorn att arbeta med en något mer basström, vilket får den att värmas upp lite mer, kan vara ett par grader högre ... vilket inte spelar någon roll.

Hur man ansluter BJT med Arduino

OK, nu ska vi komma till den faktiska punkten.

Eftersom vi hittills helt har lärt oss hur en BJT behöver förspännas och konfigureras över sina 3 pinouts, kan vi snabbt förstå detaljerna om dess gränssnitt med alla mikrokontroller som Arduino.

Huvudsyftet med att ansluta en BJT med en Arduino är vanligtvis att sätta PÅ en last eller någon parameter på samlersidan, som svar på en programmerad utgång från en av Arduino-utgångarna.

Här ska triggeringången för BJT-basstiftet komma från Arduino. Detta innebär att slutet på basmotståndet helt enkelt behöver anslutas med relevant utgång från Arduino och samlaren av BJT med belastningen eller någon avsedd extern parameter.

Eftersom en BJT knappast kräver 0,7V till 1V för en effektiv omkoppling blir 5V från Arduino-utgångsstiftet helt adekvat för att köra en BJT och köra rimliga belastningar.
Ett exempel på konfiguration kan se följande bild:

gränssnitt eller anslutning av Arduino med en transistorrelädrivare

I den här bilden kan vi se hur en programmerad Arduino används för att driva en liten belastning i form av relä via BJT-förarsteg. Reläspolen blir kollektorbelastning, medan signalen från den valda Arduino-uttaget fungerar som ingångsväxlingssignalen för BJT-basen.

ansluter Arduino med en högeffekts-LED

Även om ett relä blir det bästa alternativet för att driva tunga laster via en transistordrivrutin, när mekanisk omkoppling blir en oönskad faktor, blir uppgradering av BJT ett bättre val för drift av likström med hög ström, som visas nedan.

I exemplet ovan kan man se ett Darlington-transistornätverk, konfigurerat för att hantera den angivna höga strömmen på 100 watt utan att bero på ett relä. Detta möjliggör sömlös växling av lysdioden med minimal störning, vilket garanterar en lång livslängd för alla parametrar.

Låt oss nu gå vidare och se hur mosfeter kan konfigureras med en Arduino

Elektriska egenskaper hos MOSFET

Syftet med att använda en mosfet med en Arduino liknar vanligtvis BJT som diskuterats ovan.

Men sedan normalt MOSFETs är utformade För att hantera högre strömspecifikationer effektivt jämfört med BJT, används de mest för att växla höga belastningar.

Innan vi förstår gränsytan mellan en mosfet och Arduino vore det intressant att veta det grundläggande skillnad mellan BJT och mygg

I vår tidigare diskussion förstod vi det BJT är nuvarande beroende enheter , eftersom deras basomkopplingsström är beroende av kollektorns belastningsström. Högre belastningsströmmar kräver högre basström och vice versa.

För mosfets är detta inte sant, med andra ord mosfets gate, vilket motsvarar BJT-basen, kräver minimal ström för att slå PÅ, oavsett avloppsströmmen (mosfets dräneringsstift motsvarar BJT: s kollektorstift).

Med detta sagt, även om strömmen inte är den avgörande faktorn för att byta en mosfet-grind, spänningen är.

Därför betraktas mosfetter som spänningsberoende enheter

Minsta spänning som krävs för att skapa en sund förspänning för en mosfet är 5V eller 9V, 12v är det mest optimala intervallet för att sätta på en mosfet helt.

Därför kan vi anta att för att sätta på en mygg och en belastning över dess avlopp kan en 10V-matning användas över porten för ett optimalt resultat.

Motsvarande stift av Mosfets och BJTs

Följande bild visar kompletterande stift av mosfeter och BJT.

Base motsvarar Gate-Collector motsvarar Drain-Emitter motsvarar Source.

BJT mosfet pinout-byte i Arduino

Vilken motstånd ska användas för en Mosfet Gate

Från våra tidigare handledning förstod vi att motståndet vid basen av en BJT är avgörande, utan vilken BJT omedelbart kan skadas.

För en MOSFET kanske detta inte är så relevant, eftersom MOSFET inte påverkas av strömskillnader vid sina portar, istället kan en högre spänning anses vara farlig. Vanligtvis kan allt över 20V vara dåligt för en MOSFET-grind, men strömmen kan vara oväsentlig.

På grund av detta är ett motstånd vid grinden inte relevant eftersom motstånd används för att begränsa strömmen och mosfet-grinden är inte beroende av ström.

Med detta sagt är MOSFET oerhört utsatt för plötsliga spikar och transienter vid deras portar, jämfört med BJT.

Av denna anledning föredras i allmänhet ett motstånd med lågt värde vid portarna till MOSFET, bara för att säkerställa att ingen plötslig spänningspik kan gå igenom MOSFET-grinden och riva den isär internt.

Vanligtvis vilket motstånd som helst mellan 10 och 50 ohm kan användas vid MOSFET-grindar för att skydda sina grindar från oväntade spänningspinnar.

Gränssnitt mellan en MOSFET och Arduino

Som förklarats i ovanstående avsnitt behöver en mosfet cirka 10V till 12V för att sätta PÅ korrekt, men eftersom Arduinos arbetar med 5V kan dess utgång inte konfigureras direkt med en mosfet.

Eftersom en Arduino går med 5V-matning, och alla dess utgångar är utformade för att producera 5V som den logiska högförsörjningssignalen. Även om denna 5V kan ha möjlighet att slå på en MOSFET, kan det leda till en ineffektiv omkoppling av enheterna och uppvärmningsproblem.

För effektiv MOSFET-omkoppling och för att omvandla 5V-utgången från Arduino till en 12V-signal kan ett mellanliggande buffertsteg konfigureras som visas i följande bild:

hur man ansluter mosfet till Arduino

I figuren kan MOSFET ses konfigurerad med ett par BJT-buffertsteg som gör att MOSFET kan använda 12V från strömförsörjningen och slå på sig själv och belastningen effektivt.

Två BJT används här eftersom en enda BJT skulle få MOSFET att fungera motsatt som svar på alla positiva Arduino-signaler.

Anta att en BJT används, då medan BJT är PÅ med en positiv Arduino-signal, skulle mosfeten vara avstängd, eftersom dess grind skulle jordas av BJT-samlaren, och lasten skulle slås PÅ medan Arduino är AV.

I grund och botten skulle en BJT invertera Arduino-signalen för mosfet-grinden vilket resulterar i ett motsatt växlingssvar.

För att rätta till den här situationen används två BJT: er, så att den andra BJT inverterar svaret tillbaka och låter mosfet slå PÅ för alla positiva signaler endast från Arduino.

Slutgiltiga tankar

Nu borde du ha förstått den korrekta metoden för att ansluta BJT och myfeter med en mikrokontroller eller en Arduino.

Du kanske har lagt märke till att vi mest har använt NPN BJTs och N-channel mosfets för integrationerna och har undvikit att använda PNP- och P-channel-enheterna. Det beror på att NPN-versioner fungerar som en switch och är lätta att förstå när de konfigureras.

Det är som att köra en bil normalt framåt, snarare än att titta bakom och köra den i backväxeln. På båda sätten skulle bilen fungera och röra sig, men att köra i backväxeln är mycket ineffektivt och inte meningsfullt. Samma analogi gäller här, och användning av NPN- eller N-kanalanordningar blir en bättre preferens jämfört med PNP- eller P-kanalmosfeter.

Om du är osäker, eller om du tror att jag kan ha missat något här, använd kommentarfältet nedan för vidare diskussion.




Tidigare: 2 enkla dubbelriktade motorstyrkretsar utforskade Nästa: Motorcykelknapp Startlåsningskrets