Skocz do zawartości

Układ zabezpieczający akumulator li-ion przed nadmiernym rozładowaniem


Pomocna odpowiedź

No nie, spróbuj jeszcze raz. Pokazałem Ci MOSFETy typu P, żebyś odłączał plus zasilania. Taki układ jest bardziej elegancki i nie robi dziwnych problemów z odłączoną masą. Teraz dioda obok kanału zasila Twoje obciążenie cały czas..

Wstaw kanał tranzystora szeregowo z plusem zasilania tak, by wewnętrzna dioda nigdy nie przewodziła. Podciągnij bramkę opornikiem np. 100k do plusa akumulatora. Masz już wyłączony klucz PMOS. Teraz wystarczy zewrzeć bramkę do masy by zaczął działać. Przełącznik jest oczywisty, ale użyj dodatkowego małego npn do ścigania bramki do masy przez procesor.

Co to za robot na 100mA? Jakieś nanosumo?

To jest OK.

Pomyśl jeszcze o tym, że procesor przy ekstremalnie niskich napięciach głupieje. Gdy wyłączy sobie zasilanie i gdy już przestaną działać wszystkie jego oscylatory i RESETy może być jeszcze z 1V zasilania, które gdy wydostanie się przez port może z powrotem załączyć npn. Daj tam (oprócz obowiązkowego opornika szeregowego do bazy) opornik z 5-10k do masy żeby port musiał naprawdę się wysilić by załączyć tranzystor.

Dodaj też ze 100nF równolegle do przycisku, by jego odbicia nie powodowały drgawek na rosnącym zasilaniu procesora. Żeby jego POR działał prawidłowo, napięcie musi rosnąć monotonicznie.

Nie wiem dlaczego w amatorskich konstrukcjach widzianych w internecie nikt nie używa tranzystorów BRT z wbudowanymi rezystorami. Ze względu na dostępność? Można chyba taki tranzystor z rezystorami wstawić zamiast Q1.

Okej, teraz jak równie mądrze zrobić rozłączanie baterii, najlepiej tym samym przyciskiem, tylko np. przy przytrzymaniu, albo jakoś inaczej.

@Edit:

Czy może zrobić to tak, że zrobić odgałęzienie od przycisku S2 do nóżki mikrokontrolera z wejściem pull-up i programowo sprawdzać czy przycisk był przyciśnięty (czy stan jest równy 0) dłużej niż np. sekunda i wtedy odłączać tranzystor i tym samym baterie.

Podłączasz przycisk do drugiej nóżki mikrokontrolera i dopisujesz w swoim programie wyłączanie jak jakiś tam warunek jest spełniony (wciśnięty długo, albo może wystukane morsem hasło, cokolwiek).

Alternatywnie, dodajesz drugi przycisk do wyłączania, równolegle do pierwszej nóżki mikrokontrolera.

[ Dodano: 28-11-2017, 15:47 ]

Pull-up już tam przecież masz.

Ale jeżeli podłącze przycisk do drugiej nóżki mikrokontrolera, to jeżeli będzie załączony npn to będę na tej nóżce miał stan niski cały czas, czyż nie?

Możesz wyłączanie na żądanie zrobić czysto programowo - i to może być przycisk, timer, pomiar napięcia, przejechanie przez metę - cokolwiek co Ci przyjdzie do głowy. I tak wtedy de facto to procesor sam się wyłącza.

Możesz też zrobić to "sprzętowo" np. przez zwieranie bazy npn do masy (za opornikiem szeregowym) zwykłym przyciskiem lub rozwieranie obwodu bazy lub kolektora npn przełącznikiem rozwiernym (normalnie zwartym, NC). Możesz też dać w kolektor dodatkowy opornik szeregowy (1k?) i wtedy przycisk dać równolegle do opornika podciągającego bramkę. I to na pewno nie kończy wszystkich pomysłów.

Ogólnie to chciałbym móc zrobić to tym samym przyciskiem, tylko np. po przytrzymaniu go przez okres 1 sekundy. Pomyślałem, że wystarczy podłączyć ten przycisk pod nóżkę mikrokontrolera, ale to nie zadziała, bo przecież jak będzie załączony npn to tam zawsze będzie stan niski już niezależnie od tego przycisku, czy go wcisnę czy nie.

Acha, nareszcie rozumiem. Trzeba było tak od razu. Zrób tak:

- PMOS tak jak wcześniej, szeregowo z zasilaniem z opornikiem podciągającym bramkę do plusa akumulatora,
- npn z kolektorem do bramki i bazą sterowaną przez opornik z procka,
- przycisk postaw na masie,
- do górnej nogi przycisku daj dwie diody katodami w stronę przycisku (np. BAT54C),
- anodę jednej diody podłącz do bramki i to będzie załączanie urządzenia,
- anodę drugiej diody daj do wejścia procka pracującego z włączonym pullupem, to będzie podczytywanie stanu przycisku.

Teraz nawet krótkim przyciśnięciem włączasz urządzenie i procesor musi szybciutko włączyć sobie "power_hold" przez wysterowanie npn'a. Ponieważ jednak procesor widzi teraz przyciśnięcia, to gdy kiedyś tam przytrzymasz dłużej przycisk, program może to zrozumieć jak chęć wyłączenia i wystawi zero na bazę npn'a. Gdy tylko puścisz przycisk, całość zdechnie. Czy to jakoś wpisuje się w Twoje oczekiwania?

Tak, wydaje mi się, że się zrozumieliśmy, dzięki za pomoc, z której się sporo nauczyłem. Wykorzystam to do konstrukcji robota, ale też chciałem mieć taką sprawdzoną bazę do podobnych urządzeń. Jeżeli wszystko dobrze zrozumiałem to powstał z tego taki schemat, czy wszystko jest z nim okej?

Ponieważ npn steruje zupełnie mikroskopijnym prądem swojego kolektora, jako R2 możesz dać nawet i 100k. Na 2k2 szkoda prądu z baterii. Przesunąłbym też (a przy tak dużym R2 to obowiązkowo) R9 bezpośrednio na pin procesora. On ma tu za zadanie specjalnie obciążać wyjście portu, by nie doszło do przypadkowego załączenia npn podczas opadania napięcia zasilania. To może być cokolwiek w okolicach 4.7-10k. Im mniejszy R9 tym bardziej stopień wyjściowy portu musi się postarać i mniejsza szansa stanów nieustalonych, ale tym więcej prądu wypływa na bezdurno w czasie pracy robota.

Hm, cechą (wadą?) tego rozwiązania jest wyłączanie zasilania w czasie RESETu - a wiec także i programowania - procesora. Jeśli nie chcesz trzymać przycisku przez te kilka sekund, dodaj może jeszcze jakąś zworkę równolegle do S2 (albo po prostu bocznikującą MOSFETa). W czasie pisania programu nie od razu jego kod obsługujący załączanie będzie działać poprawnie więc przyda się jakieś obejście. Być może coś równolegle do kanału tranzystora jest lepsze, bo nie upośledza działania przycisku, którego obsługę można wtedy testować.

Jeśli mogę się trochę przyczepić - wydaje mi się, że układ będzie nieco dziwnie zachowywał się przy podłączaniu baterii. Po odłączeniu na dłużej C4 będzie rozładowany i układ wystartuje bez naciskania S2. Ale jeśli C4 będzie naładowany, start programu nie nastąpi. Taka trochę niekonsekwencja, chociaż może nieistotna.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...