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?

Link to post
Share on other sites

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.

Link to post
Share on other sites

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.

Link to post
Share on other sites

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.

Link to post
Share on other sites

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.

Link to post
Share on other sites

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.

Link to post
Share on other sites

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.

Link to post
Share on other sites

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?

Link to post
Share on other sites

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?

Link to post
Share on other sites

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ć.

Link to post
Share on other sites

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.

Link to post
Share on other sites
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.