Sto lavorando a un interruttore di alimentazione soft per un microcontrollore in cui un interruttore momentaneo può accendere il circuito (incluso il microcontrollore), quindi quando l'interruttore viene premuto una seconda volta, il microcontrollore può spegnersi dopo aver eseguito un po 'di pulizia.
Finora ho il circuito sopra, ma non sono sicuro che sarà affidabile. Sto usando una batteria agli ioni di litio (3,7-4,2 V) e il regolatore TC1015 (uscita 3,0 V). L'idea è che quando si preme l'interruttore, il regolatore si accende, quindi il microcontrollore si alza uC Power
, mantenendosi acceso. Quando l'interruttore viene premuto una seconda volta, un interruzione uC Switch
consentirà al microcontrollore di uC Power
abbassarsi, spegnendosi.
Ciò di cui non sono sicuro è se devo proteggere il microcontrollore dalla tensione della batteria. Il microcontrollore che sto usando ha una tensione massima assoluta sui pin I / O di Vdd + 0.4V, quindi non sono sicuro di come gestirlo al meglio.
In secondo luogo, questo circuito impedirà al regolatore di accendersi quando è nello stato "off"? Avevo pensato di utilizzare un resistore di pulldown sulla linea di abilitazione, ma sono preoccupato per l'assorbimento di corrente mentre il chip è acceso.
Modifica: il microcontrollore è il carico principale che verrà commutato, quindi sfortunatamente metterlo in modalità a basso consumo non funzionerà qui.
Modifica n. 2 (dopo aver pubblicato le risposte):
Ho finito usando il circuito qui sotto:
Il circuito precedentemente pubblicato non funzionava molto bene e aveva problemi con una linea di abilitazione mobile quando il microcontrollore non lo alimentava.
Il nuovo circuito utilizza un flip flop, con la linea dati normalmente abbassata. Premendo l'interruttore si attiva l'orologio, accendendo il sistema. Le successive pressioni dell'interruttore guidano la CLOCK
linea in alto (consentendo al microcontrollore di rilevare la pressa), ma non influenzano l'uscita del regolatore. Una volta che il microcontrollore è pronto per spegnersi, imposta la DATA
linea alta e quindi imposta la CLOCK
linea alta, che causerà l'arresto del regolatore.
Una delle cose veramente belle di questa configurazione è che la prima pressione del pulsante accende il regolatore e lo tiene acceso fino a quando il microcontrollore non è pronto per spegnersi. Il rimbalzo non è un problema, perché non importa quante volte la linea di clock si alza, la linea di dati viene comunque mantenuta bassa dal pull down. Inoltre, l'assorbimento di corrente dovrebbe essere minimo (solo il flip flop e il TC1015 quando è spento) e l'assorbimento di corrente minimo attraverso i resistori è acceso.
Il microcontrollore deve essere protetto dalla tensione della batteria sulla linea di clock, ma come suggerito da @Andy aka, ciò può essere fatto con un resistore acceso CLOCK
.