Come collegare transistor (BJT) e MOSFET con Arduino

Prova Il Nostro Strumento Per Eliminare I Problemi





L'interfacciamento di dispositivi di alimentazione come BJT e MOSFET con l'uscita Arduino è una configurazione cruciale che consente di commutare carichi ad alta potenza attraverso uscite a bassa potenza di un Arduino.

In questo articolo discutiamo in modo elaborato i metodi corretti di utilizzo o collegamento di transistor come BJT e mosfet con qualsiasi microcontrollore o Arduino.



Tali fasi sono anche indicate come 'Cambio di livello' perché questa fase cambia il livello di tensione da un punto più basso a un punto più alto per il relativo parametro di uscita. Ad esempio qui lo spostamento di livello viene implementato dall'uscita Arduino 5V all'uscita MOSFET 12V per il carico 12V selezionato.

Non importa quanto ben programmato o codificato possa essere il tuo Arduino, se non è integrato correttamente con un transistor o un hardware esterno, potrebbe comportare un funzionamento inefficiente del sistema o addirittura danneggiare i componenti coinvolti nel sistema.



Pertanto, diventa estremamente importante comprendere e apprendere i giusti metodi di utilizzo di componenti attivi esterni come mosfet e BJT con un microcontrollore, in modo che il risultato finale sia efficace, fluido ed efficiente.

Prima di discutere i metodi di interfacciamento dei transistor con Arduino, sarebbe utile apprendere le caratteristiche di base e il funzionamento di BJT e mosfet.

Caratteristiche elettriche dei transistor (bipolari)

BJT sta per transistor a giunzione bipolare.

La funzione di base di un BJT è quella di accendere un carico collegato in risposta a un trigger di tensione esterno. Si suppone che il carico sia per lo più più pesante in corrente rispetto al trigger di ingresso.

Pertanto, la funzione di base di un BJT è quella di attivare un carico di corrente più elevato in risposta a un trigger di ingresso di corrente inferiore.

Tecnicamente, questo è anche chiamato polarizzazione del transistor , il che significa utilizzare corrente e tensione per far funzionare un transistor per una funzione prevista, e questa polarizzazione deve essere eseguita nel modo più ottimale.

I BJT hanno 3 cavi o 3 pin, ovvero base, emettitore, collettore.

Il pin di base viene utilizzato per alimentare il trigger di ingresso esterno, sotto forma di piccola tensione e corrente.

Il pin emettitore è sempre collegato a massa o alla linea di alimentazione negativa.

Il pin del collettore è collegato al carico tramite l'alimentazione positiva.

I BJT possono essere trovati con due tipi di polarità, NPN e PNP. La configurazione dei pin di base è la stessa sia per NPN che per PNP come spiegato sopra, ad eccezione della polarità di alimentazione CC che diventa esattamente l'opposto.

Il le piedinature di un BJT potrebbero essere comprese attraverso l'immagine seguente:

Nell'immagine sopra possiamo vedere la configurazione di base del pinout di un transistor NPN e PNP (BJT). Per l'NPN l'emettitore diventa la linea di massa ed è collegato con l'alimentazione negativa.

Normalmente quando la parola 'massa' viene utilizzata in un circuito CC, si presume che sia la linea di alimentazione negativa.
Tuttavia, per un transistor la linea di massa associata all'emettitore è riferita alla sua base e alle tensioni del collettore, e la 'massa' dell'emettitore potrebbe non significare necessariamente la linea di alimentazione negativa.

Sì, per un BJT NPN la massa potrebbe essere la linea di alimentazione negativa, ma per un Transistor PNP la 'massa' è sempre riferita alla linea di alimentazione positiva, come mostrato nella figura sopra.

La funzione di accensione / spegnimento di entrambi i BJT è sostanzialmente la stessa, ma la polarità cambia.

Poiché l'emettitore di un BJT è il passaggio di 'uscita' per la corrente che entra attraverso, la base e il collettore, deve essere 'messo a terra' su una linea di alimentazione che dovrebbe essere opposta alla tensione utilizzata agli ingressi di base / collettore. Altrimenti il ​​circuito non si completerà.

Per un BJT NPN, la base e gli ingressi del collettore sono associati a una tensione di attivazione o commutazione positiva, pertanto l'emettitore deve essere riferito alla linea negativa.

Ciò garantisce che le tensioni positive che entrano nella base e nel collettore possano raggiungere la linea negativa attraverso l'emettitore e completare il circuito.

Per un BJT PNP, la base e il collettore sono associati ad un ingresso di tensione negativa, quindi naturalmente l'emettitore di un PNP deve essere riferito alla linea positiva, in modo che l'alimentazione positiva possa entrare attraverso l'emettitore e terminare il suo percorso dalla base e i perni di raccolta.

Si noti che il flusso di corrente per la NPN è dalla base / collettore verso l'emettitore, mentre per il PNP, è dall'emettitore verso la base / collettore.

In entrambi i casi l'obiettivo è quello di accendere il carico del collettore tramite un piccolo ingresso di tensione alla base del BJT, cambia solo la polarità, tutto qui.

La seguente simulazione mostra il funzionamento di base:

come il transistor conduce con una tensione esterna

Nella simulazione sopra, non appena si preme il pulsante, l'ingresso di tensione esterna entra nella base del BJT e raggiunge la linea di terra tramite l'emettitore.

Mentre questo accade il passaggio collettore / emettitore all'interno del BJT si apre, e permette all'alimentazione positiva dall'alto di entrare nella lampadina, e passare attraverso l'emettitore a massa, accendendo la lampadina (carico).

Entrambe le commutazioni avvengono quasi contemporaneamente in risposta alla pressione del pulsante.

Il pin dell'emettitore qui diventa il pinout di 'uscita' comune per entrambi i feed di ingresso (base e collettore).

E la linea di alimentazione dell'emettitore diventa la linea di massa comune per il trigger di alimentazione in ingresso e anche il carico.

Ciò significa che anche la linea di alimentazione che si collega con l'emettitore BJT deve essere strettamente collegata alla massa della sorgente di trigger esterna e al carico.

Perché usiamo un resistore alla base di un BJT

La base di un BJT è progettata per funzionare con ingressi a bassa potenza e questo pin non può accettare grandi ingressi di corrente, quindi utilizziamo un resistore, solo per assicurarci che nessuna grande corrente possa entrare nella base.

La funzione di base del resistore è limitare la corrente a un valore specificato corretto, secondo le specifiche del carico.

Notare che che, per i BJT, questo resistore deve essere dimensionato in base alla corrente di carico lato collettore.

Perché?

Perché i BJT sono 'interruttori' dipendenti dalla corrente.

Ciò significa che la corrente di base deve essere aumentata o diminuita o regolata in base alle specifiche della corrente di carico sul lato del collettore.

Ma la tensione di commutazione richiesta alla base di un BJT può essere fino a 0,6 V o 0,7 V. Ciò significa che il carico del collettore BJT potrebbe essere attivato con una tensione di appena 1 V sulla base / emettitore di un BJT.
Ecco la formula di base per il calcolo del resistore di base:

R = (Us - 0.6) Hfe / Corrente di carico,

Dove R = resistenza di base del transistor,

Us = Source o la tensione di trigger al resistore di base,

Hfe = Guadagno di corrente diretto del transistor (può essere trovato dal datasheet del BJT).

Sebbene la formula appaia pulita, non è sempre assolutamente necessario configurare la resistenza di base in modo così accurato.

È semplicemente perché le specifiche di base BJT hanno un ampio intervallo di tolleranza e possono facilmente tollerare ampie differenze nei valori del resistore.

Per esempio, per collegare un relè avendo una resistenza della bobina da 30 mA, la formula può fornire approssimativamente un valore di resistenza di 56K per un BC547 con ingresso di alimentazione a 12V ... ma normalmente preferisco usare 10K e funziona perfettamente.

Tuttavia, se non stai seguendo le regole ottimali, potrebbe esserci qualcosa di non buono con i risultati, giusto?

Tecnicamente ha senso, ma ancora una volta la perdita è così piccola rispetto allo sforzo speso per i calcoli, può essere trascurata.

Ad esempio, l'uso di 10K invece di 56K potrebbe costringere il transistor a funzionare con una corrente di base leggermente superiore, facendolo riscaldare leggermente di più, potrebbe essere un paio di gradi più alto ... il che non ha alcuna importanza.

Come collegare BJT con Arduino

OK, ora veniamo al punto vero e proprio.

Dato che finora abbiamo appreso in modo completo su come un BJT deve essere polarizzato e configurato attraverso i suoi 3 pinout, possiamo cogliere rapidamente i dettagli riguardanti la sua interfaccia con qualsiasi microcontrollore come Arduino.

Lo scopo principale del collegamento di un BJT con un Arduino è solitamente quello di attivare un carico o un parametro sul lato del collettore, in risposta a un'uscita programmata da uno dei pin di uscita di Arduino.

Qui, l'ingresso trigger per il pin di base BJT dovrebbe provenire da Arduino. Ciò implica che l'estremità del resistore di base deve essere semplicemente collegata con l'uscita pertinente da Arduino e il collettore del BJT con il carico o qualsiasi parametro esterno previsto.

Poiché un BJT richiede appena 0,7 V a 1 V per una commutazione efficace, 5 V dal pin di uscita di Arduino diventano perfettamente adeguati per pilotare un BJT e far funzionare carichi ragionevoli.
Una configurazione di esempio può essere vista nella seguente immagine:

interfacciare o collegare Arduino con un driver di relè a transistor

In questa immagine possiamo vedere come un Arduino programmato viene utilizzato per azionare un piccolo carico sotto forma di relè tramite lo stadio driver BJT. La bobina del relè diventa il carico del collettore, mentre il segnale dal pin di uscita Arduino selezionato agisce come il segnale di commutazione in ingresso per la base BJT.

collegare Arduino con un LED ad alta potenza

Sebbene un relè diventi l'opzione migliore per il funzionamento di carichi pesanti tramite un driver a transistor, quando la commutazione meccanica diventa un fattore indesiderabile, l'aggiornamento dei BJT diventa una scelta migliore per il funzionamento di carichi CC ad alta corrente, come mostrato di seguito.

Nell'esempio sopra si può vedere una rete di transistor Darlington, configurata per gestire il carico indicato di 100 watt ad alta corrente senza dipendere da un relè. Ciò consente una commutazione senza soluzione di continuità del LED con il minimo disturbo, garantendo una lunga durata di tutti i parametri.

Ora procediamo oltre e vediamo come i mosfet possono essere configurati con un Arduino

Caratteristiche elettriche del MOSFET

Lo scopo dell'utilizzo di un mosfet con un Arduino è solitamente simile a quello di BJT come discusso sopra.

Tuttavia, poiché normalmente I MOSFET sono progettati per gestire le specifiche di corrente più elevate in modo efficiente rispetto ai BJT, questi vengono utilizzati principalmente per la commutazione di carichi ad alta potenza.

Prima di comprendere l'interfacciamento di un mosfet con Arduino sarebbe interessante conoscere le basi differenza tra BJT e mosfet

Nella nostra discussione precedente, lo abbiamo capito I BJT sono dispositivi dipendenti dalla corrente , perché la loro corrente di commutazione di base dipende dalla corrente di carico del collettore. Correnti di carico più elevate richiederanno una corrente di base più elevata e viceversa.

Per i mosfet questo non è vero, in altre parole il gate mosfet che è equivalente alla base BJT, richiede una corrente minima per accendersi, indipendentemente dalla corrente di drain (il pin di drenaggio del mosfet è equivalente al pin del collettore di BJT).

Detto questo, sebbene la corrente non sia il fattore decisivo per la commutazione di un mosfet gate, la tensione è.

Pertanto i mosfet sono considerati dispositivi dipendenti dalla tensione

La tensione minima richiesta per creare una polarizzazione sana per un mosfet è 5V o 9V, 12v è la gamma ottimale per accendere completamente un mosfet.

Pertanto possiamo presumere che per accendere un mosfet e un carico attraverso il suo drenaggio, è possibile utilizzare un'alimentazione di 10 V attraverso il suo gate per un risultato ottimale.

Perni equivalenti di Mosfet e BJT

L'immagine seguente mostra i pin complementari di mosfet e BJT.

Base corrisponde a Gate-Collector corrisponde a Drain-Emitter corrisponde a Source.

Sostituzione del pinout del mosfet BJT in Arduino

Quale resistenza dovrebbe essere usata per un Mosfet Gate

Dai nostri tutorial precedenti abbiamo capito che il resistore alla base di un BJT è fondamentale, senza il quale il BJT può essere danneggiato istantaneamente.

Per un MOSFET questo potrebbe non essere così rilevante, perché i MOSFET non sono influenzati dalle differenze di corrente ai loro gate, invece una tensione più alta potrebbe essere considerata pericolosa. In genere qualsiasi cosa superiore a 20 V può essere dannosa per un gate MOSFET, ma la corrente potrebbe essere irrilevante.

A causa di ciò, un resistore al gate non è rilevante poiché i resistori vengono utilizzati per limitare la corrente e il gate mosfet non dipende dalla corrente.

Detto questo, i MOSFET lo sono estremamente vulnerabile a picchi improvvisi e transitori alle loro porte, rispetto ai BJT.

Per questo motivo un resistore di basso valore è generalmente preferito alle porte dei MOSFET, solo per garantire che nessun picco improvviso di tensione sia in grado di attraversare il gate del MOSFET e strapparlo internamente.

Tipicamente qualsiasi resistenza tra 10 e 50 ohm potrebbe essere utilizzato ai gate MOSFET per proteggere i gate da picchi di tensione imprevisti.

Interfacciare un MOSFET con Arduino

Come spiegato nel paragrafo precedente, un mosfet avrà bisogno di circa 10V a 12V per accendersi correttamente, ma poiché Arduino funziona con 5V la sua uscita non può essere configurata direttamente con un mosfet.

Poiché un Arduino funziona con alimentazione a 5 V e tutte le sue uscite sono progettate per produrre 5 V come segnale di alimentazione logica alta. Sebbene questo 5V possa avere la capacità di accendere un MOSFET, potrebbe causare una commutazione inefficiente dei dispositivi e problemi di riscaldamento.

Per una commutazione MOSFET efficace e per trasformare l'uscita 5V da Arduino in un segnale 12V, è possibile configurare uno stadio buffer intermedio come mostrato nell'immagine seguente:

come collegare mosfet con Arduino

Nella figura, il MOSFET può essere visto configurato con una coppia di stadi buffer BJT che consentono al MOSFET di utilizzare i 12V dall'alimentatore e di accendere se stesso e il carico in modo efficace.

Qui vengono utilizzati due BJT poiché un singolo BJT farebbe sì che il MOSFET conduca in modo opposto in risposta a tutti i segnali Arduino positivi.

Supponiamo che venga utilizzato un BJT, quindi mentre il BJT è ON con un segnale Arduino positivo, il mosfet sarebbe spento, poiché il suo gate sarebbe messo a terra dal collettore BJT e il carico sarebbe acceso mentre Arduino è OFF.

Fondamentalmente, un BJT invertirebbe il segnale Arduino per il gate mosfet risultando in una risposta di commutazione opposta.

Per correggere questa situazione, vengono utilizzati due BJT, in modo che il secondo BJT inverta la risposta e consenta al mosfet di accendersi per ogni segnale positivo solo da Arduino.

Pensieri finali

A questo punto dovresti aver compreso a fondo il metodo corretto per collegare BJT e mosfet con un microcontrollore o un Arduino.

Avrai notato che per le integrazioni abbiamo utilizzato principalmente BJT NPN e mosfet a canale N e abbiamo evitato di utilizzare i dispositivi PNP e canale P. Questo perché le versioni NPN funzionano idealmente come un interruttore ed è facile da comprendere durante la configurazione.

È come guidare normalmente un'auto in avanti, piuttosto che guardarsi indietro e guidarla con la retromarcia. In entrambi i modi l'auto funzionerebbe e si muoverebbe, ma guidare con la retromarcia è molto inefficiente e non ha senso. La stessa analogia si applica qui e l'utilizzo di dispositivi NPN o a canale N diventa una preferenza migliore rispetto ai mosfet PNP o a canale P.

Se hai dei dubbi o se pensi che possa essermi perso qualcosa qui, usa la casella dei commenti qui sotto per ulteriori discussioni.




Precedente: 2 semplici circuiti del controller del motore bidirezionale esplorati Avanti: Circuito di blocco avvio pulsante motocicletta