I resistori di pull-up sono essenziali in molti circuiti digitali. Parliamo di come funzionano le resistenze pull-up e come usarle.
Immagine che crea un circuito digitale in cui è necessario un pulsante per accendere un LED. Cablate correttamente il circuito, collegando un'estremità del pulsante a un ingresso digitale e mettendo a terra l'altra. Quando finalmente fornisci alimentazione, noti che il LED si accende e si spegne senza che tu prema l'interruttore.
Se hai mai osservato situazioni come questa, è probabile che tu abbia dimenticato di aggiungere un resistore di pull-up al tuo circuito digitale. Quindi cos'è esattamente un resistore di pull-up? Come funziona e come si usa uno?
Cos'è un resistore di pull-up?
Un resistore di pull-up è un resistore che aggiungi a un circuito digitale per evitare segnali indesiderati che potrebbero interferire con la logica o la programmazione del tuo circuito. È un modo per polarizzare o portare una linea di ingresso a positivo o VCC quando nessun altro dispositivo attivo sta guidando la linea. Trascinando la linea su VCC, imposti effettivamente lo stato predefinito della linea su 1 o vero.
L'impostazione di uno stato predefinito di tutti i pin di input è importante per evitare segnali casuali generati durante il suo stato fluttuante. Un pin di input è in uno stato flottante quando viene disconnesso da una sorgente attiva come terra o VCC.
I resistori di pull-up sono tipicamente utilizzati nei circuiti digitali che utilizzano microcontrollori e computer a scheda singola.
Come funziona un resistore pull-up in un circuito
Quando si utilizza un interruttore momentaneo su un circuito digitale, premendo l'interruttore si provoca la chiusura del circuito e la trasmissione del valore vero o alto al microcontrollore. Tuttavia, il disinnesto dell'interruttore non impedirà necessariamente al pin di ingresso di inviare tali segnali.
Questo perché l'interruzione della connessione tramite un interruttore significa che non è più collegata a nient'altro che all'aria. Ciò fa sì che la linea si trovi in uno stato fluttuante, in cui i segnali dall'ambiente potrebbero potenzialmente far alzare il pin in alto in un dato momento.
Per impedire a questi segnali vaganti di registrarsi nel tuo circuito, dovrai iniettare nella linea di ingresso una tensione sufficiente affinché continui a registrarsi in alto quando la terra non viene più rilevata. Tuttavia, non è possibile collegare direttamente VCC alla linea di ingresso poiché il circuito andrà in corto non appena l'interruttore/sensore collega la linea a terra.
Per evitare di cortocircuitare la tensione di pull-up, dovrai utilizzare un resistore. Avere il resistore del valore giusto assicurerà che la linea flottante abbia una tensione sufficiente per aumentare mentre è abbastanza bassa da non cortocircuitare prematuramente il circuito. La quantità di resistenza dipenderà dal tipo di logica utilizzata dal circuito.
Spiegare le famiglie logiche
Per calcolare correttamente il valore di resistenza del tuo resistore di pull-up, devi sapere quale tipo di logica utilizza il tuo circuito per funzionare. La famiglia logica utilizzata dal tuo circuito detterà il valore di resistenza di cui avrà bisogno il tuo resistore di pull-up.
Esistono diversi tipi di logica. Eccone alcuni:
Abbreviazione |
Nome |
Esempi di circuiti |
Min V attivo |
Massimo V disattivato |
---|---|---|---|---|
CMOS |
Semiconduttore complementare ossido di metallo |
DSP, ADC, DAC, PPL |
3.5 |
1.5 |
TTL |
Logica transistor-transistor |
Orologi digitali, driver LED, memoria |
2.0 |
0.8 |
ECL |
Logica accoppiata all'emettitore |
Radar, laser, acceleratori di particelle |
-1.5 |
-1.8 |
DTL |
Logica diodo-transistor |
Flip-flop, registri, oscillatori |
0.7 |
0.2 |
Se non sei sicuro di quale famiglia logica stai utilizzando, è molto probabile che il tuo circuito utilizzi famiglie logiche CMOS o TTL, poiché ECL e DTL sono obsolete da tempo. I contrassegni del chip con prefissi che utilizzano "74" o "54" sono tipicamente chip TLL, mentre i contrassegni del chip con "CD" o "MC" indicano un chip CMOS. Se non sei ancora sicuro, puoi facilmente scoprire quale famiglia logica sta utilizzando il tuo controller facendo una rapida ricerca online per la sua scheda tecnica.
Come calcolare il valore della resistenza di pull-up
Ora che conosci i diversi tipi di famiglie logiche e le loro tensioni minime di attivazione e disattivazione massima, possiamo ora procedere al calcolo dei valori per il nostro resistore di pull-up.
Per calcolare il valore corretto del resistore, avrai bisogno di tre valori. La minima tensione attiva della famiglia logica utilizzata dal circuito, la tensione di alimentazione del circuito e la corrente di dispersione in ingresso, che è possibile trovare sulla scheda tecnica o tramite utilizzando un multimetro.
Una volta che hai tutte le variabili, puoi semplicemente inserirle nella seguente formula:
Valore di resistenza = (tensione di alimentazione - alta tensione logica) / corrente di dispersione in ingresso
Ad esempio, supponiamo che il tuo circuito utilizzi TTL e che la linea di ingresso utilizzi 100uA a 5V. Sappiamo che TTL ha bisogno di un minimo di 2 V per alzarsi in alto e un massimo di 0,8 volt per alzarsi in basso. Ciò significherebbe che la tensione corretta in uscita dal nostro resistore di pull-up dovrebbe essere compresa tra 3 V e 4 V poiché la tensione deve essere superiore a 2 V ma non superiore alla nostra tensione di alimentazione che è 5 V.
I nostri valori dati sarebbero:
- Tensione di alimentazione = 5 V
- Alta tensione logica = 4 V
- Corrente di dispersione in ingresso = 100μA o 0,0001A
Ora che abbiamo le variabili, inseriamole nella formula:
(5V - 4V) / 100μA = 10.000 ohm
Il nostro resistore di pull-up deve essere di 10.000 ohm (10 kilohm o 10kΩ).
Come utilizzare una resistenza di pull-up in un circuito
I resistori di pull-up sono generalmente utilizzati nei circuiti digitali per evitare interferenze indesiderate con la programmazione digitale di un circuito. È possibile utilizzare resistori di pull-up se il circuito digitale utilizza interruttori e sensori come dispositivi di input. Inoltre, i resistori di pull-up saranno efficaci solo se i pin di ingresso sono collegati a terra. Se i pin di ingresso sono collegati a VCC, potresti voler utilizzare resistori pull-down.
Per utilizzare un resistore di pull-up, dovrai individuare la linea di ingresso che si collega a un dispositivo di input. Una volta individuato, ti consigliamo di calcolare il valore del tuo resistore utilizzando la formula discussa in precedenza. Se il tuo circuito non richiede molta precisione, puoi semplicemente utilizzare valori di resistenza che vanno da 1kΩ a 10kΩ.
Ora che hai il tuo resistore con il valore corretto, puoi posizionare un'estremità del resistore di pull-up su VCC e un'estremità tra il dispositivo di input e l'MCU. Congratulazioni! Ora sai cos'è un resistore di pull-up e come usarlo.
Alcuni microcontrollori come le schede Arduino e gli SBC come il Raspberry Pi dispongono di resistori di pull-up interni che è possibile attivare nel codice al posto dei resistori di pull-up esterni.
Solidifica la tua conoscenza attraverso l'esperienza
In sintesi, un resistore di pull-up è un componente importante per proteggere il circuito dalle interferenze vicine. Impostando lo stato predefinito di un pin di ingresso su alto, impedisce ai segnali casuali di interferire con la logica o la programmazione del circuito. E ora che sai come usarne uno, potresti voler consolidare le tue nuove conoscenze applicandole ai tuoi prossimi progetti.