🔌 Circuiti e progettazione · Guida 07

Transistor BJT come interruttore

Un transistor BJT può essere usato non soltanto per amplificare, ma anche come interruttore elettronico. Pilotando opportunamente la base possiamo portarlo in interdizione o in saturazione e comandare LED, relè, solenoidi, piccoli motori e altri carichi con un segnale logico proveniente da Arduino, ESP32 o da un circuito digitale.

Livello: intermedio Tempo di lettura: 25–30 min NPN + PNP RB = (VCTRL − VBE)/IB

Come funziona un BJT usato come interruttore?

Nel funzionamento “switch” non ci interessa mantenere il transistor nella regione lineare. Vogliamo invece due condizioni nette:

OFF

Base non pilotata → transistor in interdizione → corrente di collettore quasi nulla.

ON

Base sufficientemente pilotata → transistor in saturazione → carico alimentato.

Controllo

Una piccola corrente di base permette di controllare una corrente maggiore nel collettore.

Il transistor non è un interruttore ideale Quando è acceso rimane una piccola tensione VCE(sat), quindi dissipa potenza.

Interdizione, regione attiva e saturazione

RegioneCondizioneUso tipico
InterdizioneIB ≈ 0, transistor OFFInterruttore aperto
AttivaIC ≈ β·IBAmplificazione
SaturazioneBase fortemente pilotataInterruttore chiuso
Per uno switch non si dimensiona la base usando semplicemente il beta nominale del datasheet Il beta varia molto tra esemplari, corrente e temperatura. Per garantire la saturazione si usa un margine maggiore.

NPN come interruttore low-side

È la configurazione piĂš comune. Il carico viene collegato tra VCC e collettore, mentre l’emettitore va a GND.

Schema NPN come interruttore low-side con resistenza di base, carico e alimentazione VCC
Configurazione NPN come interruttore low-side: il transistor commuta il carico sul lato massa ed è pilotato tramite la resistenza di base.
Logica positiva VCTRL alta → corrente di base → NPN ON → carico alimentato.

PNP come interruttore high-side

Con un PNP il transistor viene posto sul lato positivo del carico. L’emettitore è collegato a VCC e il carico è sul collettore.

La logica si inverte Per accendere un PNP la base deve essere portata sufficientemente piĂš bassa dell’emettitore.
Attenzione ai livelli logici Se VCC è maggiore della tensione del microcontrollore, il pilotaggio high-side può richiedere uno stadio aggiuntivo.

Corrente di base, collettore e guadagno

IC ≈ β · IB Relazione valida soprattutto nella regione attiva.

Quando il transistor viene usato come interruttore, vogliamo invece portarlo in saturazione. Per questo non conviene affidarsi al solo β nominale.

Beta forzato per garantire la saturazione

Una tecnica pratica è scegliere un rapporto tra corrente di collettore e corrente di base molto piÚ basso del beta nominale.

βforzato = IC / IB
Esempio Vogliamo commutare 200 mA e scegliamo βforzato = 10:

IB = 200 mA / 10 = 20 mA.
20 mA possono essere troppi per un GPIO Bisogna verificare sempre la corrente massima consigliata dal microcontrollore.

Come calcolare la resistenza di base

RB = (VCTRL − VBE) / IB

Per una stima iniziale si può usare VBE ≈ 0,7–0,9 V in funzione della corrente e del transistor.

Esempio a 5 V VCTRL = 5 V
IB = 10 mA
VBE ≈ 0,8 V

RB = (5 − 0,8) / 0,01 ≈ 420 Ω.

Valore commerciale vicino: 430 Ί.

Esempio: accendere un LED con un NPN

Supponiamo di voler pilotare un LED a 20 mA con un transistor NPN. Il LED mantiene comunque la propria resistenza serie.

RLED = (VCC − VF,LED − VCE(sat)) / ILED
VCC = 5 V, LED rosso VF = 2 V, VCE(sat) = 0,2 V, I = 20 mA

RLED = (5 − 2 − 0,2) / 0,02 = 140 Ω.

Si può scegliere 150 Ί.

Pilotare un BJT da Arduino

Un’uscita digitale di Arduino può pilotare la base attraverso RB. La corrente richiesta deve però restare entro limiti sicuri per il GPIO e per il microcontrollore complessivo.

Non collegare mai la base direttamente al pin La giunzione base-emettitore si comporta come un diodo e senza resistenza la corrente sarebbe limitata male.
GND comune Nel classico pilotaggio low-side, Arduino e alimentazione del carico devono condividere il riferimento GND, salvo isolamento galvanico.

Pilotare un BJT da ESP32 a 3,3 V

Con ESP32 la tensione logica è 3,3 V. Il calcolo di RB deve quindi usare 3,3 V, non 5 V.

Esempio VCTRL = 3,3 V
VBE = 0,8 V
IB = 5 mA

RB = (3,3 − 0,8) / 0,005 = 500 Ω.

Valore commerciale: 510 Ί.
Non progettare la corrente di base al limite massimo del GPIO È preferibile restare entro valori raccomandati dal datasheet e scegliere il transistor in modo coerente.

VCE(sat): la tensione residua quando il transistor è ON

Un BJT saturo non equivale a un corto perfetto. Tra collettore ed emettitore rimane una tensione:

VCE(sat) ≈ 0,05…0,3 V Valore indicativo: dipende da transistor, IC e IB.
Usa il datasheet VCE(sat) viene specificata a determinate correnti di collettore e base. Queste condizioni sono piĂš utili del beta nominale per progettare uno switch.

Dissipazione di potenza del BJT

P ≈ VCE(sat) · IC
Esempio VCE(sat) = 0,2 V
IC = 500 mA

P ≈ 0,2 × 0,5 = 0,1 W.
Per correnti elevate verifica la temperatura di giunzione La potenza ammessa dipende da package, temperatura ambiente, PCB e resistenza termica.

Carichi induttivi: relè, solenoidi e motori

Un carico induttivo immagazzina energia nel campo magnetico. Quando il transistor si spegne, la corrente non può annullarsi istantaneamente.

v = L ¡ di/dt
La tensione può salire fino a danneggiare il transistor Serve un percorso alternativo per la corrente dell’induttore.

Diodo flyback: protezione fondamentale

Nel pilotaggio DC di un relè o solenoide si collega normalmente un diodo in antiparallelo alla bobina. Durante il funzionamento normale il diodo è interdetto; allo spegnimento conduce la corrente della bobina.

Schema di protezione con diodo flyback su relè pilotato da transistor NPN
Protezione con diodo flyback: quando il transistor si spegne, il diodo fornisce un percorso sicuro alla corrente della bobina del relè.
Orientamento In un NPN low-side classico, il catodo del flyback va verso VCC e l’anodo verso il collettore.

Esempio pratico: pilotare un relè

Dati Bobina 5 V
Corrente bobina = 70 mA
Transistor NPN
βforzato = 10

IB = 70 mA / 10 = 7 mA.

Con controllo a 5 V e VBE ≈ 0,8 V:

RB ≈ (5 − 0,8) / 0,007 ≈ 600 Ω

Un valore commerciale di 620 Ί può essere un buon punto di partenza, verificando poi VCE(sat) e i dati reali del transistor.

Pilotare un piccolo motore DC

Un piccolo motore è anch’esso un carico induttivo, ma presenta anche correnti di spunto elevate. La corrente di avviamento o di stallo può essere molte volte superiore alla corrente nominale.

Dimensiona sul caso peggiore Il transistor deve sopportare la corrente di stallo, non soltanto quella misurata a motore giĂ  in rotazione.
Per motori con correnti importanti è spesso preferibile un MOSFET Riduce la caduta di tensione e la potenza dissipata rispetto a un BJT.

Resistenza tra base ed emettitore

In alcuni circuiti viene aggiunta una resistenza tra base ed emettitore per garantire che il transistor rimanga spento quando il segnale di controllo è flottante o ad alta impedenza.

Valori tipici Spesso da qualche kΊ a decine di kΊ, ma la scelta dipende dal circuito e dalla corrente di pilotaggio.

VelocitĂ  di commutazione e saturazione profonda

Portare un BJT molto profondamente in saturazione può aumentare il tempo necessario per spegnerlo, perchÊ nella base viene immagazzinata carica.

Alle basse frequenze è spesso irrilevante Per relè, LED e semplici controlli ON/OFF non è un problema. Nei circuiti veloci va invece considerato il tempo di storage.

Limiti elettrici da controllare

ParametroSignificato
VCEOMassima tensione collettore-emettitore.
ICMassima corrente di collettore.
IBMassima corrente di base.
VCE(sat)Caduta in saturazione alle condizioni specificate.
PDPotenza dissipabile.
hFEGuadagno in corrente, non costante.
SOASafe Operating Area.

BJT o MOSFET come interruttore?

BJTMOSFET
Richiede corrente continua di base.Il gate richiede soprattutto corrente durante le transizioni.
Perdita ≈ VCE(sat)·IC.Perdita di conduzione ≈ I²·RDS(on).
Semplice per piccole correnti.Spesso migliore per correnti medio-alte.
Può saturare.Non usa il concetto di saturazione allo stesso modo del BJT switch.
Il BJT resta molto utile Per LED, piccoli relè, semplici inverter e correnti moderate è economico, robusto e didatticamente importante.

Errori comuni usando un BJT come interruttore

  • collegare la base direttamente al GPIO;
  • dimensionare RB usando soltanto il beta nominale;
  • dimenticare VCE(sat);
  • superare la corrente consigliata del GPIO;
  • non condividere GND quando necessario;
  • dimenticare il diodo flyback sui carichi induttivi;
  • dimensionare il transistor sulla corrente nominale del motore anzichĂŠ sulla corrente di stallo;
  • ignorare la dissipazione termica;
  • usare un NPN high-side come se fosse un low-side;
  • non controllare VCEO, IC, PD e SOA nel datasheet.