Resistori pull down


18

Nella mia ricerca per comprendere l'ingegneria elettrica, mi sono imbattuto in questo tutorial:

http://www.ladyada.net/learn/arduino/lesson5.html

Ho capito i diagrammi fino a quando non sono arrivato agli switch. Non sono sicuro di come funzionano gli switch sulla breadboard o sui diagrammi. Questo è quello specifico a cui sto pensando (questo è un resistore pull down):

inserisci qui la descrizione dell'immagine

L'implementazione è:

inserisci qui la descrizione dell'immagine

Sulla base del diagramma, ciò che penso stia accadendo è: l'alimentazione passa all'interruttore, se il pulsante è attivo, il circuito non è completo. Se si preme il pulsante, la corrente segue il percorso di minor resistenza al pin2 perché ha più pull (100ohm <10kohm).

Il modo in cui è descritto nel tutorial suona come quando il pulsante è attivo, il circuito è ancora completo, ma la resistenza da 10k ohm porta la potenza a terra. Non sono sicuro di come o perché se entrambi i 10k ohm e 100ohm ricevono la stessa corrente, la corrente verrebbe tirata a terra attraverso una resistenza maggiore di quella aperta sul pin 2.


3
A parte: prova a pensare a un circuito in termini di quale sarà la tensione in ogni punto, piuttosto che dove scorre la corrente. Questo mi ha aiutato a capire quando stavo imparando l'EE per la prima volta.
geometrikal,

Sono un po 'deluso dalla qualità delle risposte a questa domanda. Suggerirei invece di guardare questo video di AddOhms. . Non capisco abbastanza questo concetto per spiegarlo, ma nessuna delle risposte qui al momento della stesura sta nemmeno parlando di ciò che causa lo stato fluttuante, o di come il pull-up o il push-down risolvano il problema.
Evan Carroll,

@EvanCarroll D'altra parte, la domanda al momento della scrittura non fa domande su quelle cose che ti interessano.
Dmitry Grigoryev

Risposte:


29

Innanzitutto, dimentica la resistenza da 100 Ω per ora. Non è necessario per il funzionamento del pulsante, è lì solo come protezione nel caso in cui si commettesse un errore di programmazione.

  • Se si preme il pulsante P2 verrà collegato direttamente a +5 V, quindi verrà visualizzato come livello alto, essendo "1".
  • Se il pulsante viene rilasciato, +5 V non conta più, ci sono solo 10 kΩ tra la porta e la terra.

×


Ora la resistenza da 100 Ω. Se si crea accidentalmente l'uscita del pin e la si imposta in basso, la pressione del pulsante provocherà un corto circuito: il microcontrollore imposta 0 V sul pin e l'interruttore +5 V sullo stesso pin. Al microcontrollore non piace e l'IC potrebbe essere danneggiato. In questi casi la resistenza da 100 Ω dovrebbe limitare la corrente a 50 mA. (Che è ancora un po 'troppo, un resistore da 1 kΩ sarebbe meglio.)

Dato che non ci sarà flusso di corrente in un pin di ingresso (a parte la bassa dispersione) non ci sarà quasi alcuna caduta di tensione attraverso il resistore.

10 kΩ è un valore tipico per un pull-up o pull-down. Un valore più basso garantisce una caduta di tensione anche inferiore, ma 10 mV o 1 mV non fanno molta differenza. Ma c'è qualcos'altro: se il pulsante viene premuto ci sono 5 V attraverso il resistore, quindi fluirà una corrente di 5 V / 10 kΩ = 500 µA. È abbastanza basso da non causare alcun problema e comunque non tieni premuto il pulsante per molto tempo. Ma è possibile sostituire il pulsante con un interruttore, che può essere chiuso a lungo. Quindi se avessi scelto un pull-down da 1 kΩ avresti 5 mA attraverso il resistore fintanto che l'interruttore è chiuso, e questo è un po 'uno spreco. 10 kΩ è un buon valore.


Nota che puoi capovolgerlo per ottenere una resistenza di pull-up e passare a terra quando viene premuto il pulsante.

inserisci qui la descrizione dell'immagine

Questo invertirà la tua logica: premendo il pulsante ti darà uno "0" invece di uno "1", ma il funzionamento è lo stesso: premendo il pulsante renderai l'ingresso 0 V, se rilasci il pulsante il resistore collegherà il ingresso al livello +5 V (con una caduta di tensione trascurabile).

Questo è il modo in cui di solito viene fatto e i produttori di microcontrollori ne tengono conto: la maggior parte dei microcontrollori ha resistenze pull-up interne, che è possibile attivare o disattivare nel software. Se usi il pull-up interno devi solo collegare il pulsante a terra, tutto qui. (Alcuni microcontrollori hanno anche pull-down configurabili, ma questi sono molto meno comuni.)


Non credo sia chiaro come il metodo Push-Down risolva il problema con lo stato mobile da questa risposta.
Evan Carroll,

7

Nota che l'interruttore non è un dispositivo sofisticato che consuma energia e crea un segnale di uscita - invece, pensalo come un filo che stai solo aggiungendo o rimuovendo dal circuito premendo il pulsante.

Se l'interruttore è disconnesso (non premuto), l'unico percorso possibile per la corrente è P2attraverso entrambi i resistori verso terra. Pertanto, il microcontrollore leggerà un valore BASSO.

Se l'interruttore è collegato (premuto):

  • La corrente viaggia dall'alimentazione attraverso l'interruttore

  • Parte della corrente viaggia attraverso la resistenza da 100 ohm a P2. Il microcontrollore leggerà ALTO.

  • Una piccola quantità di corrente fluirà attraverso la resistenza da 10 Kohm verso terra. Questo è fondamentalmente uno spreco di energia.

Si noti che il resistore da 100 ohm è proprio lì per limitare la massima corrente in ingresso P2. Normalmente non è incluso in un circuito come questo, perché l' P2ingresso del microcontrollore è già ad alta impedenza e non assorbirà molta corrente. Tuttavia, includere il resistore da 100 ohm è utile nel caso in cui il software presenti un bug o un errore logico che induce a tentare di utilizzarlo P2come output. In tal caso, se il microcontrollore sta cercando di abbassarsi P2ma l'interruttore è in cortocircuito e lo collega in alto, è possibile che si danneggi il pin del microcontrollore. Per sicurezza, la resistenza da 100 ohm limiterebbe la corrente massima in quel caso.


5

Quando si preme il pulsante si posiziona un livello logico alto (+5 V) sull'ingresso. Ma se si omette il resistore e il pulsante viene rilasciato, il pin di input fluttuerebbe, il che in HCMOS significa che il livello non è definito. Questo è qualcosa che non vuoi, quindi metti a terra l'ingresso con il resistore. Il resistore è necessario perché altrimenti la pressione del pulsante provocherebbe un cortocircuito.

L'ingresso è ad alta impedenza, il che significa che difficilmente scorrerà corrente attraverso di essa. La corrente zero attraverso il resistore significa tensione zero attraverso di esso (legge di Ohm), quindi lo 0 V su un lato sarà anche 0 V (o molto vicino) sul pin di ingresso.

Questo è un modo per collegare un pulsante, ma puoi anche scambiare resistenza e pulsante, in modo che la resistenza vada a +5 V e il pulsante a terra. La logica viene quindi invertita: premendo il pulsante si ottiene un livello basso sul pin di ingresso. Questo viene spesso fatto, tuttavia, poiché la maggior parte dei microcontrollori ha resistori pull-up integrati, quindi è necessario solo il pulsante, quindi la resistenza esterna può essere omessa. Si noti che potrebbe essere necessario abilitare il pull-up interno.



Vedi anche questa risposta .


Non credo sia chiaro come il metodo Push-Down risolva il problema con lo stato mobile da questa risposta.
Evan Carroll,

4

Il resistore da 10kohm è chiamato resistore pull-down perché, quando il nodo "verde" (sul collegamento dei resistori da 100ohm e 10kohm) non è collegato a + 5V dall'interruttore, quel nodo viene tirato a terra (assumendo bassa corrente attraverso quel ramo , ovviamente). Quando l'interruttore è chiuso, quel nodo guadagna un potenziale di + 5V.

Questo è usato per controllare gli ingressi di circuiti integrati logici (porte AND, porte OR, ecc.), Poiché questi circuiti si comporteranno in modo irregolare se non vi è alcun valore determinato sui loro ingressi (un valore 0 o 1). Se si lascia mobile l'ingresso di un gate logico, l'uscita non può essere determinata in modo affidabile, quindi è consigliabile applicare sempre un input determinato (uno 0 o un 1, di nuovo) all'ingresso del gate. In questo caso, P2 sarebbe un input per un gate logico specifico e quando l'interruttore è aperto, ha un valore di input di 0 (GND); quando l'interruttore è chiuso, ha un valore di ingresso di 1 (+ 5V).


2

la corrente prende il percorso di minor resistenza

Non sono sicuro da dove provenga questo malinteso comune, ma è davvero sbagliato in quanto contraddice direttamente la legge di Ohm. La corrente prende tutti i percorsi possibili , inversamente proporzionali alla loro resistenza. Se si applicano 5 V a un resistore da 10k, 0,5 mA scorreranno attraverso di esso, indipendentemente dal numero di percorsi alternativi (bassa resistenza o altro) forniti.

Per inciso, quel percorso attraverso la resistenza da 100 Ohm non è necessariamente "minima resistenza", poiché la resistenza non è collegata a terra . In genere, si collegherebbe quel resistore a un ingresso MCU con impedenza> 10 MOhm, rendendo efficacemente il resistore 10k il percorso di minor resistenza.


1

Il motivo per cui è richiesta la resistenza di pull-down è che il microcontrollore è un dispositivo CMOS e quindi il pin di ingresso è in definitiva la porta di un MOSFET.

Se il tuo pulsante controllava una lampadina o un LED o un relè non avresti bisogno di una resistenza di pull-down perché un circuito aperto sarebbe "spento". Quando il pulsante veniva rilasciato, la lampadina si spegneva perché non scorreva corrente.

Se il tuo dispositivo fosse una vera parte TTL come i chip logici originali della serie 7400 non avresti bisogno del resistore di pulldown perché quegli ingressi sarebbero transistor bipolari e quando il pulsante fosse rilasciato nessuna corrente scorrerebbe attraverso la giunzione emettitore di base e l'ingresso sarebbe "off".

Al contrario, l'ingresso del microcontrollore è una porta MOSFET che agisce come un condensatore. Quando la tensione del gate è sufficientemente elevata, l'ingresso è "on". Ciò accade quando si preme il pulsante e la corrente scorre attraverso il resistore 100R nel microcontrollore. Il gate si carica (molto rapidamente) come un condensatore e l'ingresso diventa "on". Ora cosa succede quando si rilascia il pulsante? Niente più flussi di corrente. Ma cosa significa questo per l'input? Se non esiste una resistenza di pull-down, la carica sul gate non ha nessun posto dove andare. La tensione rimarrà lì vicino a 5 V e l'ingresso sarà comunque "acceso". La resistenza di pull-down scarica la carica del gate in modo che la sua tensione scenda al di sotto del livello "on". Questo è ciò che si desidera garantire che l'ingresso digitale sia considerato "disattivato".

Puoi sperimentarlo agganciando due pulsanti al tuo pin di input. Collegare uno a 5 V e uno a terra. Quando si preme il pulsante 5V, l'ingresso si attiverà. Quando lo rilasci rimarrà acceso fino a quando non premi quello collegato a GND.


In TTL è davvero la giunzione base-emettitore che non condurrà, ma non nel modo in cui si potrebbe pensare: l'ingresso è l' emettitore del transistor NPN di ingresso e il transistor conduce se l'ingresso è basso. Il galleggiamento è uguale all'altezza.
Stevenvh,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.