Oh bene, una taglia! Alla fine sono andato con questo circuito dall'aspetto non orribile che oscilla ancora alla tensione della batteria, ma stabile alla tensione della batteria superiore! È probabile che la tensione della batteria sia max 4,5 V con acido al piombo, che è il limite inferiore delle specifiche USB.
Il problema non è la tensione di rete che potrebbe non essere stabile. Potrebbe essere instabile per un solo istante e non è un problema. Se è davvero instabile o fuori specifica, sostituire la verruca a parete. Potrebbero esserci molte cose sbagliate in una verruca da parete che non può mantenere la tensione. Non vorrebbe fidarmi per alimentare i microcontrollori.
Il vero problema è la tensione della batteria che deve essere interrotta una volta che si abbassa troppo per evitare di danneggiare permanentemente la batteria. Regola i resistori a piacere. Il circuito è meno costoso di prima e più affidabile. Schottky è mio amico, non mi interessa più! Mi ha risparmiato un sacco di mal di testa. Il circuito che funziona a batteria deve essere in grado di funzionare comunque molto più in basso di 4,7 V.
PS: Non mi piacciono le soluzioni a chip singolo, giocano duro per arrivare dalla mia parte del pianeta. Inoltre, non posso fumarli volenti o nolenti ...
AGGIORNAMENTO :
Ecco uno schema molto più elegante (non orribile). Come hanno sottolineato Dorian e altri, TL431 richiede una corrente minima per funzionare. Quindi, per funzionare richiede una fonte di tensione affidabile. Ciò significa che deve funzionare a batteria. Il TL431 deve davvero fungere da comparatore, altrimenti i mosfet saranno in modalità lineare e inizieranno a riscaldarsi. La tensione di gate si avvicina molto alla tensione di sorgente di U2 a causa della tensione di rete in ingresso. Questa è la vera causa delle oscillazioni di cui sopra, non la violazione della scheda tecnica del tl431. Le oscillazioni avverranno anche se il tl431 viene rimosso completamente. I mosfet essendo a livello logico non aiutano neanche. Per il circuito sottostante, i mosfet sono stati sostituiti con mosfet a canale N. Tuttavia, ciò provoca una caduta di tensione alla fonte quando è completamente acceso. La tensione da caricare varia da 2. 8 V a 4,7 V e il circuito funziona perfettamente senza oscillazioni. Potrebbe essere possibile cambiare la posizione di R6 e tl431, ma poi l'anodo tl431 salirà solo a 2,5 V e i mosfet (ora sostituiti di nuovo con mosfet a canale P) rimarranno sempre attivi.
Ma poi, poiché tl431 viene comunque utilizzato come comparatore e richiede anche una corrente di alimentazione per funzionare, perché non sostituirlo del tutto con un comparatore di corrente inferiore come un dispositivo .... Sfortunatamente, lm358 non raggiunge la guida + ve, e i mosfet sono a livello logico. Pertanto, quando la tensione di rete è elevata, una corrente inversa scorre nella batteria (0-60 mA quando la batteria scende da 3,85 a 3,6 V). Questo caricherà gradualmente la batteria quando la carica si sta esaurendo. Speriamo che possa essere una buona cosa. Il circuito funziona perfettamente a tutte le tensioni di rete da 2 V a 5 V, senza oscillazioni. Il circuito dipende dalla caduta di tensione sul diodo. Sostituirlo con 1N4148 non garantisce che funzioni senza oscillazioni se la tensione della batteria è alta. Il circuito non è stato simulato correttamente con l'LM393, che è un vero comparatore. Prima dell'uso si consiglia di testare correttamente.
Le oscillazioni sono causate da un qualche tipo di condizioni di razza alla sorgente e tensioni di gate del secondo mosfet. Non so ancora esattamente cosa stia succedendo. Ma i circuiti modificati funzionano e risolve i miei problemi. Questa non è la risposta perfetta. Ma è la risposta migliore. Sto accettando la mia risposta.
più aggiornamento!
Ritoccato di nuovo, osserva attentamente, i mosfet vengono ruotati sull'asse Y in modo che la sorgente sia all'interno. Il circuito è ora completamente stabile a tutte le tensioni di rete e batteria. A seconda della differenza tra la tensione di rete e quella della batteria, in alcuni casi potrebbe fluire una corrente di mantenimento (forse 60mA). Il circuito funziona con uno schottky o 1n4148 (anche se ovviamente con 1n4148 attingerà maggiormente dalla batteria se la tensione della batteria è alta). Funziona con il comparatore reale LM393 e LM358, senza modifiche. Opamp / comparatore accetta la tensione di rete o di uscita sul pin non invertente per il confronto con la batteria. Penso che sia vicino alla perfezione. Grazie per la generosità!
PS: probabilmente dovrebbe sostituire 1N4148 con 1N4007, ma 1N5819 è il migliore.