Divisore di tensione zero o bassa corrente per l'identificazione dell'interruttore


8

È possibile progettare un circuito divisore di tensione con interruttori che utilizzano corrente zero o corrente molto bassa? Funzionerebbe con un transistor per collegare / scollegare l'estremità della stringa del resistore da terra?

sfondo

Il circuito farà due cose. Ogni interruttore nel circuito attiverà un IC (ATMEGA328P) usando un transistor per inviare un pin di interruzione BASSO. Una volta che l'IC si è svegliato, l'ADC campionerà le tensioni provenienti dal circuito, consentendo all'IC di sapere quale pulsante è stato premuto.

L'intero progetto sarà alimentato a batteria e la presenza di questo divisore di tensione potrebbe influire significativamente sulla durata della batteria.

Il progetto 1) leggerà i file da una scheda SD, 2) andrà in modalità sleep, 3) si sveglierà e riprodurrà i suoni quando viene premuto uno dei 16 pulsanti e 4) andrà in sleep e ripeterà il processo a partire dal # 3 alla pressione del pulsante. Prevedo che quando è in esecuzione ha un assorbimento di corrente significativo.

Circuito divisore di tensione esistente

inserisci qui la descrizione dell'immagine

Possibile soluzione a transistor

Posizionando un transistor tra l'estremità della stringa del resistore e la terra, e premendo il pulsante si attiva il transistor, si collega l'estremità della stringa di tensione alla terra. Ciò comporterà una lettura della tensione iniziale di 5 V e, una volta acceso il transistor, la tensione di lettura effettiva sarà la tensione prevista. Non ho idea se funzionerà.

possibile circuito partitore di tensione con transistor

Altre soluzioni

Per domanda 28897 potrei usare alti valori di resistori come 10 MOhm. Ma questo avrà ancora un pareggio attuale di centinaia di nA. Preferirei zero.


3
Se si utilizza una batteria da 1000 mAh con 5 V su 10 MOhm, la batteria durerà 228 anni o 6 anni con una minuscola cella al litio da 30 mAh. Ogni campione che prendi con un ADC caricherà o scaricherà anche un tappo. Inoltre, le impedenze di ingresso ADC sui controller tendono a essere nella gamma di 10K e caricherai un limite per ogni campione. Detto questo, sei sicuro che la tua soluzione nA avrebbe davvero un impatto notevole sulla durata della batteria?
Scott Seidman,

Hai ragione, dato che la somma della corrente di quiescenza del regolatore di tensione e dell'MCU stesso (durante il sonno) è probabilmente di almeno 10 uA. Sto solo cercando di ridurre l'eventuale assorbimento di corrente non necessario.
LucasMcGraw,

@ n.taco Alcuni dati aggiuntivi potrebbero essere d'aiuto. Qual è la tua massima tensione della batteria? Qual è la tua tensione Vcc? Come viene alimentato uC (tramite un regolatore lineare, o modalità switch o direttamente dalla batteria)?
Nick Alexeev

La fonte della batteria sarà probabilmente di 4 celle D. Il regolatore di tensione è un MAX667 (regolatore di tensione lineare) Maxim che fornirà energia a tutti i dispositivi (nessun dispositivo vedrà la tensione della batteria, tranne il regolatore). Vcc è 5V.
LucasMcGraw,

@ n.taco BTW, scrivi i progettisti dei componenti nei tuoi schemi. È molto più facile dire "Q23" che "3 ° BJT inferiore da destra". Leggere questo . Il rischio di ipertensione aumenta notevolmente se non si seguono queste linee guida su EE.SE. Giusto avvertimento.
Nick Alexeev

Risposte:


5

Nuova risposta

Il tuo approccio può funzionare. Ma il tuo secondo schema presenta un bug, credo. L'ADC vedrà sempre V essere del transistor, che è sempre 0,7 V circa.

Questa variazione non dovrebbe avere questo problema, perché c'è un resistore R39 tra base e ADC.

inserisci qui la descrizione dell'immagine

Vecchia risposta, che non era una risposta

Il divisore può essere attivato con un transistor per risparmiare la batteria. Tuttavia, deve essere un interruttore laterale alto. Se si commuta a terra, la tensione della batteria apparirà sul pin A / D, che potrebbe danneggiare l'ingresso.

(Inizialmente, lo schema era pubblicato in questa discussione .)


Come funzionerebbe questa idea con il vincolo che gli interruttori attivano il transistor?
LucasMcGraw,

1
Sostituire il segnale digitale divider On/Off, che controlla il transistor, con un interruttore manuale. Che ne dici di quello?
Nick Alexeev

1. Sto facendo fatica a vedere come estenderei questo per identificare quale interruttore è premuto. Per N switch, non dovrei avere N transistor più i resistori per dividere la tensione? 2. Se Vcc <= tensione massima ADC, sarei in grado di commutare a terra? In tal caso la tensione sull'ADC inizierà a 5 V ma diminuirà alla tensione divisa, giusto?
LucasMcGraw,

@NickAlexeev Vedo il bug, grazie per averlo sottolineato; Inoltre, non mi rendevo conto che ciò potesse essere fatto con un transistor. Sembra fantastico, lo proverò questo fine settimana.
LucasMcGraw

3

Non è nemmeno necessario un transistor per disconnettere la stringa del resistore, è sufficiente collegarlo a un pin di uscita MCU. Impostalo sullo stesso valore dell'altra estremità della stringa e utilizzerà una corrente quasi zero. Ho usato questo approccio e funziona benissimo.

(Nel diagramma, assegnare al transistor la propria terra e collegare il pin MCU alla parte inferiore della stringa del resistore).


Ti riferisci al secondo diagramma o al primo?
LucasMcGraw

Inoltre, se entrambi i pin sono ALTI, ci sarà una caduta di tensione nel divisore?
LucasMcGraw

Primo diagramma (hai modificato il tuo post per includerli direttamente). Se entrambe le estremità sono alte, la tensione in tutti i punti lungo il divisore sarà alta e non fluirà corrente.
pjc50,

2

È possibile progettare un circuito divisore di tensione con interruttori che utilizza corrente zero ...

Questo dovrebbe fare il trucco e non è necessario cambiare terra. Un divisore è collegato alla batteria solo quando un interruttore è chiuso e l'ingresso ADC viene tirato a terra quando tutti gli interruttori sono aperti.

Per 5 V Vcc, l'ingresso ADC è:

  • 5.0 V = SW1 chiuso
  • 3,3 V = SW2 chiuso
  • 1,7 V = SW3 chiuso
  • 0 V = tutti gli interruttori aperti

Ovviamente, puoi regolare i valori della resistenza a tuo piacimento.

inserisci qui la descrizione dell'immagine


Tale approccio può essere utile se si utilizzano interruttori di qualità. Può essere molto brutto se si utilizzano cupole in carbonio su una scheda PC, poiché la resistenza di un pulsante leggermente premuto può essere inferiore a 1K, o superiore a 100K, o in qualsiasi punto intermedio, e tale resistenza può sembrare ragionevole stabile per una frazione significativa di secondo. Mentre in genere va bene che il sistema ignori la pressione dei pulsanti luminosi, in genere è fastidioso che una leggera pressione su un pulsante sia interpretata come un pulsante totalmente diverso.
supercat

Sono d'accordo; usando un resistore sensibile alla pressione invece di una ragionevole approssimazione di geniune, aperto quando spento, corto quando acceso, l' interruttore porterà, in questo circuito, a risultati imprevedibili.
Alfred Centauri,

In molte applicazioni, un contatto a cupola in carbonio, sebbene si comporti come un resistore sensibile alla pressione, può essere utilizzato come interruttore (sebbene l'aggiunta di qualche isteresi hardware o semi-hardware, possa sicuramente aiutare). Volevo solo assicurarmi che i lettori sapessero che questa non è una di quelle applicazioni.
supercat

Anzi e, purtroppo, è una distinzione che deve essere fatta. Solo perché qualcosa viene chiamato "interruttore" non significa necessariamente che sia una buona approssimazione di un interruttore ideale.
Alfred Centauri,

1

Dati due pin I / O con soglie di commutazione ragionevolmente coerenti, si potrebbe collegare un cappuccio messo a terra a ciascun pin del processore tramite un piccolo resistore, legare un cappuccio a ciascuna estremità della stringa del resistore e fare in modo che ciascun interruttore colleghi un tocco sulla stringa a VDD o terra (a seconda di quale sia più conveniente; assumerò VDD per questa discussione). Hanno una resistenza significativa tra le due estremità e il primo interruttore. Qualche volta quando non viene premuto alcun interruttore, mettere a terra entrambi i pin abbastanza a lungo da scaricare i tappi; quindi float uno e impostare l'altro su VDD. Tempo quanto tempo impiega il perno mobile a cambiare stato. Se le soglie degli ingressi potrebbero differire, ripetere il test per l'altro ingresso. Quindi collegare a terra entrambi i pin e quindi farli galleggiare: questo è lo stato inattivo.

Quando è stato osservato che un perno cambia stato, mettere a terra entrambi i piedini abbastanza a lungo da scaricare il tappo e farli galleggiare. Tempo quanto tempo impiega ogni pin a cambiare stato. Il rapporto tra questo tempo e la linea di base misurata sopra ti dirà la resistenza da ciascun pin a VDD. Assicurarsi che la somma delle due misurazioni sia ragionevolmente vicina alla resistenza totale della stringa (altrimenti il ​​pulsante non sta stabilendo un buon contatto, quindi la lettura potrebbe essere errata).

Se il processore può assorbire corrente in eccesso quando gli ingressi fluttuano lontano dalle guide, può essere una buona idea scaricare periodicamente i tappi anche quando non viene premuto alcun pulsante. In questo caso, le correnti di riposo per il sistema dovrebbero essere piuttosto minime.


Idea interessante. I condensatori non assorbiranno corrente continuamente?
LucasMcGraw,

1
@ n.taco: aumentare la tensione su un limite di una certa quantità richiede l'aggiunta di una quantità di carica (in coulomb) pari alla variazione di tensione (in volt) volte la capacità (in farad). Per ridurre la tensione è necessario rimuovere la carica. Un ampere rappresenta un coulomb al secondo. Caricare un condensatore e scaricare la sua carica a terra a una certa frequenza periodica richiederà una quantità di corrente pari alla carica per ciclo per la frequenza. Se il condensatore passa la maggior parte del tempo seduto a una tensione costante, tuttavia, durante tale tempo utilizzerà essenzialmente corrente zero.
supercat
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.