Calineczka pisze:Darku, jak sterujesz Attiny?Rozumiem, że dodatkowy tranzystor-jak w twojej pierwotnej wersji? Nie musisz sztucznie rozładowywać dodatkowym rezystorem kondensatora wejściowego?
Mariuszu, twoja lambda niestety, jak sądzę, pobiera więcej prądu, ja stosuję inny sposób wykrywania klika, mniej skomplikowany, niestety wymaga owego rezystora rozładowującego kondensator żeby mozna było wykryć kliknięcie(zanik napięcia) i w low pobiera więcej prądu.
Mam dodatkowy tranzystor bipolarny, którego baza połączona jest przez 12k z plusem baterii.
Tranzystor ten pracuje w konfiguracji OE i kolektor ma bezpośrednio połączony do portu.
Port ten ma włączony pull-up, więc nie ma potrzeby stosowania dodatkowego rezystora w kolektorze do +Vcc.
Oczywiście z uwagi na odwrotną logikę (OE) musiałem odwrócić poziomy stanów na porcie od switch`a (drobna zmiana w sofcie).
Rozwiązanie takie wybrałem właśnie po to, aby maksymalnie zyskać na sprawności.
Rezystor gaszący niestety pobiera znacznie większy prąd niż mój 12k wzmacniany przez dodatkowy tranzystor.
Dla zasilania z 1,2V prąd pomiaru "switch`a" wynosi: Isw = (Ubatt-Ube)/Rb = (1,2-0,7)/12k = 0,5/12k = 41uA (mikro amperów).
Lambda pracuje do napięcia ok. 0,5V, a przy takim napięciu zasilania tranzystor detekcji zaniku zasilania jest już wyłączony.
A zatem sama przetwornica rozładowuje mi Cin na tyle, abym mógł wykonać bardzo szybko detekcję zaniku napięcia.
Dla porównania rezystor gaszący po stronie LED`a musi mieć dość niską rezystancję, aby szybko rozładować Cout w najbardziej skrajnej sytuacji - czyli gdy LED jest zgaszony.
Wówczas ma on napięcie 5V.
Sterownik ma porty w standardzie CMOS, więc próg logicznego przełączenia następuje na granicy Vcc/2. Procesor jest zasilany przez diodę, na której odpada ok. 0,6V, a zatem próg przełączenia dla diody zgaszonej wyniesie: (5-0,6)/2=2,2V.
Czyli w bardzo krótkim czasie (tyle ile jest wymagane do click`u) musisz rozładować kondensator z napięcia 5V do co najmniej 2,2V.
Jakim rezystorem trzeba to zrobić - zależy od zgromadzonego ładunku, czyli pojemności Cout.
Drugi skrajny przypadek, to LED zapalony na 100% (jasności pośrednie będą się zawierać w uzyskanym z min. i max. przedziale).
Uout=3,7V (tyle ile ma dioda)
Vcc na MCU = 3,7-0,6 = 3,1V
Próg przełączenia portu Vcc/2 = 1,55V
A zatem przy włączonej diodzie na 100% aby został wykryty zanik zasilania napięcie musi zejść z 3,7 do 1,55V
I o ile od 3,7 do 2,xx LED będzie Ci w tym pomagał (będzie pobierał prąd rozładowywując Cout) o tyle dalsze zejście do 1,55V musisz wymusić rezystorem "gaszącym".
Spodziewam się, że rezystor ten będzie miał coś ok. 160 omów.
A zatem będzie zużywał odpowiednio: Ir=5/160 = 31mA przy diodzie zgaszonej i 3,7/160 = 21mA przy zapalonej na 100%.
I co równie istotne jest to prąd pobierany po wtórnej stronie przetwornicy.
Przy założeniu jej sprawności ok. 80% z zasilania rezystor ten będzie ciągnął odpowiednio:
39mA i 17mA.
I teraz widać różnicę - ponad 1000x więcej prądu idzie w detekcję zaniku zasilania przy rezystorze gaszącym!
A jeden sot-21 więcej, to koszt niewielki i zaledwie niecałe 2mm^2 na PCB mniej.
I dlatego właśnie użyłem rozwiązania z dodatkowym tranzystorem
Moja Lambda ma kondensatory we. i wy. warstwowe (monolityczne) o pojemności 4,7uF.
Pobór prądu w trybie ultra-low (najniższy 13-ty w wersji 3.4) na 1xNiMH to 12mA, a na LI-Ion 5mA.