Com connectar transistors (BJT) i MOSFET amb Arduino

Proveu El Nostre Instrument Per Eliminar Problemes





La interfície de dispositius de potència com els BJT i ​​els MOSFET amb sortida Arduino és una configuració crucial que permet canviar càrregues elevades de potència a través de sortides de baixa potència d’un Arduino.

En aquest article analitzem detalladament els mètodes correctes d’utilitzar o connectar transistors com BJT i ​​mosfets amb qualsevol microcontrolador o un Arduino.



Aquestes etapes també es coneixen com a 'Level Shifter' perquè aquesta etapa canvia el nivell de tensió d'un punt inferior a un punt més alt per al paràmetre de sortida rellevant. Per exemple, aquí s’està implementant el canvi de nivell des de la sortida Arduino 5V fins a la sortida MOSFET de 12V per a la càrrega de 12V seleccionada.

Per molt programat o codificat que estigui el vostre Arduino, si no està integrat correctament amb un transistor o un maquinari extern, pot provocar un funcionament ineficient del sistema o fins i tot danyar els components del sistema.



Per tant, esdevé extremadament important entendre i aprendre els mètodes adequats d’ús de components actius externs com mosfets i BJT amb un microcontrolador, de manera que el resultat final sigui eficaç, suau i eficient.

Abans de discutir els mètodes d'interfície dels transistors amb Arduino, seria útil aprendre les característiques bàsiques i el funcionament dels BJT i ​​dels mosfets.

Característiques elèctriques dels transistors (bipolars)

BJT significa transistor de unió bipolar.

La funció bàsica d’un BJT és encendre una càrrega adjunta en resposta a un activador de tensió extern. La càrrega se suposa que és majoritàriament de corrent en comparació amb el disparador d’entrada.

Per tant, la funció bàsica d’un BJT és activar una càrrega de corrent més alta en resposta a un activador d’entrada de corrent inferior.

Tècnicament, això també s’anomena polarització del transistor , el que significa utilitzar el corrent i el voltatge per operar un transistor per a la funció desitjada, i aquesta polarització s'ha de fer de la manera més òptima.

Els BJT tenen 3 cables o 3 pins, és a dir, base, emissor i col·lector.

El pin base s'utilitza per alimentar el disparador d'entrada extern, en forma de petit voltatge i corrent.

El pin emissor sempre està connectat a terra o a la línia de subministrament negativa.

El passador del col·lector està connectat a la càrrega mitjançant el subministrament positiu.

Els BJT es poden trobar amb dos tipus de polaritats, NPN i PNP. La configuració bàsica del pin és la mateixa tant per a NPN com per a PNP, tal com s’explica més amunt, excepte la polaritat de subministrament de CC que esdevé tot el contrari.

El es podrien entendre els pinouts d’un BJT a través de la imatge següent:

A la imatge superior podem veure la configuració bàsica de pinout d’un transistors NPN i PNP (BJT). Per a l'NPN, l'emissor es converteix en la línia de terra i està connectat amb l'alimentació negativa.

Normalment, quan s'utilitza la paraula 'terra' en un circuit de corrent continu, suposem que és la línia d'alimentació negativa.
No obstant això, per a un transistor, la línia de terra associada a l'emissor fa referència a la seva base i a les tensions del col·lector, i pot ser que la 'terra' de l'emissor no signifiqui necessàriament la línia d'alimentació negativa.

Sí, per a un NPN BJT el terra podria ser la línia de subministrament negativa, però per a un Transistor PNP el 'terra' sempre es fa referència a la línia de subministrament positiva, tal com es mostra a la figura anterior.

La funció d’encès / apagat dels dos BJT és bàsicament la mateixa, però la polaritat canvia.

Atès que l’emissor d’un BJT és el pas de “sortida” del corrent que entra per la base i el col·lector, s’ha de “posar a terra” a una línia de subministrament que hauria de ser oposada a la tensió que s’utilitza a les entrades de base / col·lector. En cas contrari, el circuit no es completarà.

Per a un NPN BJT, la base i les entrades del col·lector s’associen a un activador positiu o tensió de commutació, per tant l’emissor s’ha de fer referència a la línia negativa.

Això garanteix que les tensions positives que entren a la base i al col·lector puguin arribar a la línia negativa a través de l'emissor i completar el circuit.

Per a un PNP BJT, la base i el col·lector s’associen a una entrada de tensió negativa, per tant, naturalment s’ha de fer referència a l’emissor d’un PNP a la línia positiva, de manera que l’alimentació positiva pugui entrar a través de l’emissor i acabar el seu recorregut des de la base. i els passadors del col·lector.

Tingueu en compte que el flux de corrent per a l'NPN és de la base / col·lector cap a l'emissor, mentre que per al PNP, des de l'emissor cap a la base / col·lector.

En ambdós casos, l'objectiu és engegar la càrrega del col·lector a través d'una entrada de voltatge petita a la base del BJT, només canvia la polaritat.

La simulació següent mostra l'operació bàsica:

com es condueix el transistor amb una tensió externa

A la simulació anterior, tan bon punt es prem el botó, l'entrada de voltatge extern entra a la base del BJT i ​​arriba a la línia de terra a través de l'emissor.

Mentre això passa, el passatge del col·lector / emissor a l'interior del BJT s'obre i permet que el subministrament positiu des de la part superior entri a la bombeta i passi a través de l'emissor fins a terra, engegant la bombeta (càrrega).

Tant la commutació es produeix gairebé simultàniament com a resposta al prémer el botó.

Aquí el pin emissor es converteix en el pinout de sortida comú tant per a les fonts d’entrada (base com per al col·lector).

I la línia de subministrament de l’emissor es converteix en la línia de terra comuna per al disparador de subministrament d’entrada i també en la càrrega.

Això vol dir que la línia de subministrament que es connecta amb l'emissor BJT també ha d'estar estrictament connectada amb la terra de la font de disparador extern i la càrrega.

Per què fem servir una resistència a la base d’un BJT

La base d’un BJT està dissenyada per funcionar amb entrades de baixa potència, i aquest pin no pot tenir entrades de corrent grans i, per tant, fem servir una resistència, només per assegurar-nos que no es permeti l’entrada de corrent gran a la base.

La funció bàsica de la resistència és limitar el corrent a un valor especificat correcte, segons l’especificació de càrrega.

Tingueu en compte que, per als BJT, aquesta resistència s'ha de dimensionar segons el corrent de càrrega lateral del col·lector.

Per què?

Com que els BJT són 'commutadors' actuals dependents.

És a dir, cal augmentar o disminuir el corrent base o ajustar-lo d’acord amb les especificacions de corrent de càrrega al costat del col·lector.

Però la tensió de commutació necessària a la base d’un BJT pot ser tan baixa com 0,6 V o 0,7 V. És a dir, la càrrega del col·lector BJT es podria activar amb una tensió tan baixa com 1V a través de la base / emissor d’un BJT.
Aquí teniu la fórmula bàsica per calcular la resistència base:

R = (Us - 0,6) Hfe / Corrent de càrrega,

On R = resistència base del transistor,

Us = Font o tensió del disparador a la resistència base,

Hfe = Guany de corrent directe del transistor (es pot trobar a la fitxa tècnica del BJT).

Tot i que la fórmula sembla ordenada, no és absolutament necessari configurar sempre la resistència base de manera tan precisa.

És simplement perquè les especificacions de la base BJT tenen un ampli rang de tolerància i poden tolerar fàcilment àmplies diferències en els valors de la resistència.

Per exemple, per connectar un relé amb una resistència de bobina de 30 mA, la fórmula pot proporcionar aproximadament un valor de resistència de 56K per a un BC547 a 12V d’entrada de subministrament ... però normalment prefereixo utilitzar 10K i funciona perfectament.

Tanmateix, si no seguiu les regles òptimes, hi hauria alguna cosa que no resultés bo amb els resultats, oi?

Tècnicament això té sentit, però de nou la pèrdua és tan petita en comparació amb l’esforç invertit en els càlculs que es pot deixar de banda.

Per exemple, utilitzar 10K en lloc de 56K pot obligar el transistor a treballar amb un corrent de base una mica més, cosa que fa que s’escalfi una mica més, pot ser un parell de graus més alt ... cosa que no importa en absolut.

Com connectar BJT amb Arduino

D'acord, ara arribem al punt real.

Com que fins ara hem après de forma exhaustiva sobre com cal configurar un BJT i ​​configurar-lo a través dels seus 3 pinouts, podem copsar ràpidament els detalls sobre la seva interfície amb qualsevol microcontrolador com Arduino.

El propòsit principal de connectar un BJT amb un Arduino sol ser encendre una càrrega o algun paràmetre al costat del col·lector, en resposta a una sortida programada d’un dels pins de sortida d’Arduino.

Aquí, l’entrada del disparador per al pin base BJT se suposa que prové de l’Arduino. Això implica que l'extrem de la resistència base simplement s'ha de connectar amb la sortida pertinent de l'Arduino i el col·lector del BJT amb la càrrega o qualsevol paràmetre extern previst.

Com que un BJT requereix amb prou feines 0,7 V a 1 V per a una commutació efectiva, 5 V del pin de sortida Arduino es converteixen en perfectament adequats per conduir un BJT i ​​operar càrregues raonables.
Un exemple de configuració es pot veure a la següent imatge:

interfície o connexió d

En aquesta imatge podem veure com s’utilitza un Arduino programat per operar una petita càrrega en forma de relé mitjançant l’etapa de control BJT. La bobina del relé es converteix en la càrrega del col·lector, mentre que el senyal del pin de sortida Arduino seleccionat actua com el senyal de commutació d’entrada de la base BJT.

connectant Arduino amb un LED d

Tot i que, un relé es converteix en la millor opció per operar càrregues pesades mitjançant un controlador de transistor, quan la commutació mecànica es converteix en un factor indesitjable, l’actualització dels BJT es converteix en una millor opció per operar càrregues de corrent continu de gran intensitat, com es mostra a continuació.

A l'exemple anterior es pot veure una xarxa de transistors de Darlington, configurada per manejar la càrrega de 100 watts de corrent elevat indicada sense dependre d'un relé. Això permet una commutació perfecta del LED amb una mínima pertorbació, garantint una llarga vida laboral de tots els paràmetres.

Ara anem més endavant i vegem com es poden configurar els mosfets amb un Arduino

Característiques elèctriques de MOSFET

El propòsit d’utilitzar un mosfet amb un Arduino sol ser similar al de BJT com s’ha comentat anteriorment.

No obstant això, ja que normalment Els MOSFET estan dissenyats per manejar les especificacions de corrent més altes en comparació amb els BJT, s’utilitzen principalment per canviar càrregues d’alta potència.

Abans de comprendre la interfície d'un mosfet amb Arduino, seria interessant conèixer el bàsic diferència entre BJT i ​​mosfets

En la nostra discussió anterior, ho vam entendre Els BJT són dispositius actuals dependents , perquè el seu corrent de commutació base depèn del corrent de càrrega del col·lector. Els corrents de càrrega més elevats exigiran un corrent de base més alt i viceversa.

Per als mosfets això no és cert, és a dir, la porta mosfets que equival a la base BJT requereix un corrent mínim per activar-se, independentment del corrent de drenatge (el pin de drenatge del mosfet és equivalent al pin del col·lector de BJT).

Dit això, tot i que el corrent no és el factor decisiu per canviar una porta de mosfet, tensió és.

Per tant, els mosfets es consideren dispositius que depenen de la tensió

La tensió mínima necessària per crear un biaix saludable per a un mosfet és de 5V o 9V, sent 12v el rang més òptim per encendre el mosfet completament.

Per tant, podem suposar que per encendre un mosfet i una càrrega a través del seu desguàs, es pot utilitzar un subministrament de 10V a través de la porta per obtenir un resultat òptim.

Pins equivalents de Mosfets i BJT

La imatge següent mostra els pins complementaris de mosquetes i BJT.

La base correspon a Gate-Collector correspon a Drain-Emitter correspon a Source.

Substitució de pinout per mosfet BJT a Arduino

Quina resistència s'ha d'utilitzar per a una porta Mosfet

Dels nostres tutorials anteriors vam entendre que la resistència a la base d’un BJT és crucial, sense la qual el BJT es pot danyar instantàniament.

Per a un MOSFET, això pot no ser tan rellevant, ja que els MOSFET no es veuen afectats amb diferències de corrent a les seves portes, en canvi es podria considerar perillós un voltatge més alt. Normalment, qualsevol cosa superior a 20V pot ser dolenta per a una porta MOSFET, però el corrent pot ser poc important.

A causa d'això, una resistència a la porta no és rellevant, ja que s'utilitzen resistències per limitar el corrent i la porta de mosfet no depèn del corrent.

Dit això, els MOSFET ho són enormement vulnerable a pics sobtats i transitoris a les seves portes, en comparació amb els BJT.

Per aquest motiu, generalment es prefereix una resistència de baix valor a les portes dels MOSFET, només per assegurar-se que cap pujada sobtada de tensió sigui capaç de passar per la porta del MOSFET i desgarrar-la internament.

Normalment qualsevol resistència d'entre 10 i 50 ohms es podria utilitzar a les portes MOSFET per protegir les seves portes de pics de tensió inesperats.

Interfície d'un MOSFET amb Arduino

Com s’explica al paràgraf anterior, un mosfet necessitarà uns 10V a 12V per encendre’s correctament, però, ja que els Arduinos funcionen amb 5V, la seva sortida no es pot configurar directament amb un mosfet.

Atès que un Arduino funciona amb subministrament de 5V i totes les seves sortides estan dissenyades per produir 5V com a senyal lògic d’alimentació elevada. Tot i que aquest 5V pot tenir la possibilitat d’encendre un MOSFET, pot provocar un canvi ineficient dels dispositius i problemes d’escalfament.

Per a una commutació MOSFET eficaç i per transformar la sortida de 5V d’Arduino en un senyal de 12V, es podria configurar una etapa de memòria intermèdia com es mostra a la imatge següent:

com connectar el mosfet amb Arduino

A la figura, el MOSFET es pot veure configurat amb un parell d’etapes de memòria intermèdia BJT que permet al MOSFET utilitzar el 12V de la font d’alimentació i activar-lo i activar la càrrega de manera efectiva.

Aquí s’utilitzen dos BJT, ja que un BJT únic provocaria que el MOSFET condueixi de manera oposada en resposta a tots els senyals Arduino positius.

Suposem que s’utilitza un BJT, mentre que mentre el BJT estigui activat amb un senyal Arduino positiu, el mosfet estaria apagat, ja que la seva porta estaria connectada a terra pel col·lector BJT i ​​la càrrega s’encendria mentre l’Arduino estigui apagat.

Bàsicament, un BJT invertiria el senyal Arduino per a la porta del mosfet, donant lloc a una resposta de commutació oposada.

Per corregir aquesta situació, s’utilitzen dos BJT, de manera que el segon BJT inverteix la resposta i permet que el mosfet s’encengui només per a tots els senyals positius de l’Arduino.

Pensaments finals

A hores d'ara hauríeu d'entendre de manera exhaustiva el mètode correcte de connectar BJT i ​​mosfets amb un microcontrolador o un Arduino.

És possible que us hàgiu adonat que principalment hem fet servir NPN BJT i ​​mosfets de canal N per a les integracions i hem evitat utilitzar els dispositius PNP i P-channel. Això es deu al fet que les versions NPN funcionen idealment com un commutador i són fàcils de comprendre mentre es configura.

És com conduir un cotxe normalment en direcció endavant, en lloc de mirar enrere i conduir-lo a la marxa enrere. De totes dues maneres, el cotxe funcionaria i es mouria, però conduir a la marxa enrere és molt poc eficient i no té sentit. La mateixa analogia s'aplica aquí, i l'ús de dispositius NPN o de canal N esdevé una preferència millor en comparació amb els mosfets de canal PNP o P.

Si teniu dubtes o si creieu que potser he trobat a faltar alguna cosa aquí, utilitzeu el quadre de comentaris següent per a més discussió.




Anterior: Es van explorar 2 circuits senzills de controlador de motor bidireccional Següent: Circuit de bloqueig d’inici del botó de la motocicleta