Sommario:
- Passaggio 1: spiegazione schematica
- Passaggio 2: cosa sta succedendo sul pin di interruzione. Perché è sicuro con 20v in?
- Passaggio 3: dimostrazione
- Passaggio 4: il codice
- Passaggio 5: Conclusione:
Video: Circuito On Off Latch con UC. Un pulsante. Un perno. Componente discreto: 5 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
Ciao a tutti, cercavo in rete un circuito on/off. Tutto quello che ho trovato non era quello che cercavo. Stavo parlando da solo, c'è necessariamente un modo per farlo. Questo è ciò di cui avevo bisogno.
-Solo un pulsante per accendere e spegnere.
-Deve usare solo un pin su uC. Non 2.
-Deve funzionare con la batteria.
-Da 3.3v a 20v
-Lavorare con o senza regolatore. (Rimuovere il regolatore da 3.3 a 5v in)
-Nessun i.c. speciale
Ho progettato uno schema e un codice per farlo. Funziona molto bene. Schema molto utile da avere in molti progetti.
Iniziamo il laboratorio…
Passaggio 1: spiegazione schematica
Qui sto usando un atmega328. Ma qualsiasi uC può fare lo stesso. In questo esempio sto usando 20V in. È la tensione massima che posso. Come mai ? perché mosfet vgs max come da scheda tecnica è -20v massimo. Ho provato ad andare a 30v. stava funzionando. Salgo a 35v e ha funzionato… per un po'. Mosfet come colpo:) Il fatto è che lo schema è buono per andare più in alto. Ma dovrai trovare un mosfet per questo.
Sto usando un mosfet P per consentire il passaggio o meno della corrente. La soglia Vgs per Si2369ds è -2.5v.
Quando il pulsante non è premuto. Vgs è 0v. Il resistore R1 1M solleva il gate su Vcc. Quindi Vgs (volt gate vs volt source) è 0v. A Vgs 0v, la corrente non scorre.
Quando premiamo il pulsante. La corrente scorre da R1, R2 e T1.
T1 2n3904 è chiuso dal resistore r2 e mette il gate su gnd. 0v è ora sul collettore del transistor. Vgs ora è -20v e la corrente scorre lancia il mosfet e accendi l'uC.
Ecco la magia che accade, uC si accende, mettiamo il pin di interrupt in modalità input ma attiviamo il pull-up interno, quindi 5v arriva da uC a R2. Ma tieni presente che questo pin è in modalità di input per rilevare l'interruzione sul fronte di discesa.
Rilasciamo il pulsante, ma uC sta inviando 5v su R2 il circuito rimane acceso. T1 resta chiuso, il cancello del mosfet è a 0v.
Fin qui tutto bene. Il circuito è attivo. Il transistor è chiuso, abbiamo 0v sul collettore di transistor. E un 5v esce dal pin di interruzione.
Quando premiamo una seconda volta il pulsante, stiamo inviando un basso (0, 7v) all'uC e appare un'interruzione. Perché, il transistor del collettore è 0v (questo è chiuso). L'interruzione si verifica al fronte di discesa.
ATTENZIONE: In alcuni casi 0, 7v può essere visto come alto o non sufficiente per innescare un basso. Fai il tuo esperimento. Nel mio caso, questo ha sempre funzionato. Se hai bisogno di 0v. Vedi lo schema del mosfet.
Nella subroutine di interrupt mettiamo il pin in modalità output e inviamo un low su quel pin.
Quando rilasceremo il pulsante, T1 si aprirà e l'intero circuito si spegnerà.
Sì, ma se ho 20v in invierò 20v sul pin di interruzione e l'uC esploderà!! ?
Non proprio. Il pin di interruzione non va mai più in alto di 3,7 v. A causa del transistor e di R2.
Ulteriori spiegazioni al passaggio successivo.
Quando il dispositivo è spento, non consumiamo più corrente (pochi pa). Con questa scala possiamo funzionare a batteria per anni…
Ho aggiunto un altro schema che ho fatto e testato. Questo è tutto mosfet. tipo P e un tipo N invece un transistor. Dobbiamo aggiungere un diodo zener 5.1v per proteggere l'uC da Vbatt. Possiamo usare mosfet separati o tutto in un pacchetto ic come DMC3021LSD-13, DMG6601LVT, IRF7319TRPBF.
Entrambi i metodi funzionano bene. Ma la perdita 2n3904 è meglio del mosfet. 50nA vs 1uA come da scheda tecnica. Anche nella versione mosfet abbiamo C1 sempre caldo. Quindi, se questo condensatore perde, la batteria si scaricherà.
Passaggio 2: cosa sta succedendo sul pin di interruzione. Perché è sicuro con 20v in?
La corrente scorre nel modo più semplice. Passa per R1(1M) R2 (100k) e T1 (0, 7v). Come puoi vedere in foto. Il pin di interruzione non va mai più in alto di 3, 7v anche se abbiamo 20v in ingresso.
Se guardi la prima foto. Il tempo di salita è di 163 ms. Non appena premo l'accensione. uC accendere. Il bit del tempo di attesa del fusibile è impostato su 65 ms. Siamo intorno a 0, 68v per questa volta. Dopo, 65ms siamo intorno a 0, 7v perché uC sta inviando 5v con un pull up abbiamo uno 0, 1v di aumento. Ma il pulsante è premuto in modo che non possa andare più in alto di 0, 7v. Presto rilascio il pulsante, la tensione sale a 3, 7v.
Quando spegni il mosfet, possiamo vedere che il pin di interruzione va a 0v in 33us. Quindi il pin è basso ma il dispositivo rimane acceso dal pulsante a basso. Non appena rilasciamo il pulsante il dispositivo si spegne.
Ho fatto un piccolo video sul passaggio successivo per mostrare l'intero processo.
Passaggio 3: dimostrazione
Passaggio 4: il codice
Ecco il codice del laboratorio in C.
Passaggio 5: Conclusione:
Spero che questo laboratorio ti sia piaciuto. Se ti è piaciuto o meglio hai usato questo metodo, lascia un commento. Grazie per la visione.
Consigliato:
Ventola fai da te con pulsante ON-OFF - M5StickC ESP32: 8 passaggi
Ventola fai da te con pulsante ON-OFF - M5StickC ESP32: In questo progetto impareremo come utilizzare un modulo FAN L9110 utilizzando una scheda M5StickC ESP32
Ventola con circuito Easy Snap con interruttore on/off: 3 passaggi
Ventola con circuito a scatto facile con interruttore di accensione/spegnimento: questo è un progetto semplice che utilizza circuiti a scatto --- spero che ti piaccia! Questo progetto è per divertimento e forse potrebbe aiutarti a rinfrescarti. Non funziona davvero così, ma ehi, è educativo! P.S. Questo progetto è solo per i principianti senza la dimostrazione
Circuito del pulsante di allarme panico utilizzando 555 Timer IC (Parte 1): 4 passaggi
Circuito del pulsante di allarme panico utilizzando 555 Timer IC (Parte 1): un circuito di allarme panico viene utilizzato per inviare immediatamente un segnale di emergenza alle persone in una posizione vicina per chiedere aiuto o per avvisarle. La possibile situazione di panico può essere qualsiasi, non è limitata a poche situazioni. Si potrebbe forse mantenere th
Microcontrollore AVR. Attiva/disattiva i LED utilizzando un interruttore a pulsante. Pulsante antirimbalzo: 4 passaggi
Microcontrollore AVR. Attiva/disattiva i LED utilizzando un interruttore a pulsante. Push Button Debouncing.: In questa sezione, impareremo come creare un codice C del programma per ATMega328PU per alternare lo stato dei tre LED in base all'input da un interruttore a pulsante. Inoltre, abbiamo esplorato una soluzione al problema di "Switch Bounce". Come di consueto, vi
Fader LED analogico alternato discreto con curva di luminosità lineare: 6 passaggi (con immagini)
Fader LED analogico alternato discreto con curva di luminosità lineare: la maggior parte dei circuiti per attenuare/attenuare un LED sono circuiti digitali che utilizzano un'uscita PWM di un microcontrollore. La luminosità del LED è controllata modificando il duty cycle del segnale PWM. Presto scoprirai che quando si modifica linearmente il ciclo di lavoro