Skocz do zawartości

[SOLVED]Jeden przycisk: on, off, auto-off


ethanak

Pomocna odpowiedź

Hm... o ile wiem w temacie jest "solved". Moje rozwiązanie to cztery elementy (dual mosfet, dual shottky i dwa rezystory). Nie interesują mnie rozwiązania dla innej przetwornicy (typu "puścimy zasilanie przez mosfeta bo po co wykorzystywać wejście przetwornicy") ani rozwiązania z więcej niż czterema elementami.

Takoż nie interesują mnie "rozwiązania" które nie realizują założeń.

Macie coś fajnego do zaproponowania?

  • Lubię! 1
Link do komentarza
Share on other sites

Moje rozwiązanie jest na 5 elementach.Rozwiązanie jest proste.Jeśli chcesz to rozwiązać musisz dopisać kawałek programu.Nie wiem  jakiego  procesora użyjesz i na razie jest to mniej istotne. Według mnie to bym skorzystał z przerwania zewnętrznego.Arduino  atmel 328 jest biedne w przerwania zewnętrzne i wygląda na to,że jeśli robić coś magicznego to na STM32fxxxx.Wykorzystujesz przerwanie na zboczu opadającym.Istotne jest by układ nie zareagował  wyłączeniem w momencie gdy naciśniemy przycisk w celu włączenia a następnie puszczony.Styki przycisku lubią wibrować a to powoduje,że kontroler wykryje przerwanie lub szereg przerwań.Ten problem jest usuwalny programowo.Jak to się robi to zapewne wiesz a mnie to co przychodzi do głowy pisząc tego posta to jakiś delay 300-400ms chociaż mnie mierzi stosowanie delay.Istotne będą priorytety na przerwaniach. Jest jakaś przyczyna,że chcesz zastosować akumulator.Jeśli używasz akumulatora to istotne jest oszczędzanie energii(zresztą zawsze trzeba oszczędzać energię).Jeśli przetwornica będzie ciągle włączona a układ wykonawczy(mikrokontroler z przyległościami) będzie wyłączony to i tak bateria się rozładuje bo przetwornica swoje ciągnie w stanie jałowym.Dlaczego o tym piszę?Bo kiedyś miałem podobny problem a rozwiązałem podobnie jak to opisałem w poprzednim poście tyle,że nie miałem zasilacza tylko baterie.Był to specyficzny pilot i w stanie bezczynności ciągnął strasznie dużo bo ok.2mA.Gdy układ był w stanie bezczynności dłużej niż 10sek. na jednym z wyjść pojawiał się niski stan,który wyłączał cały układ.Straty zero i pełna kontrola urządzenia.Zamiast zenerki 3,3V możesz wstawić rezystor -może nawet będzie lepiej.Jeszcze jedno oporność mosfeta w stanie przewodzenia to kilka mΩ a ta Twoja przetwornica  jaki prąd pobiera przy zasilaniu 4,2V i obciążeniu maksymalnym 1A.To będzie 3,3W/4,2V=0,78A przy sprawności 0,9 będzie to 0,78/0,9=0,87A a zatem moc tracona na tranzystorze  to 0,87*0,87*0,004Ω =3,02mW.Zwracam uwagę,że styki styczników gdy są zwarte mają niewiele niższą oporność.I jeszcze jedno to,że Twoja przetwornica startuje już przy 0,4V nie ma żadnego znaczenia bo Twój akumulator nie może zejść poniżej 2,7- 2,5V.Jeśli zejdzie poniżej  prawdopodobnie akumulator będzie nadawał się do utylizacji.Poniżej rozwiązanie.Jeśli nie chcesz wyłączać zasilacza to pozostaje rozwiązanie czysto programowe w którym musisz zastosować któryś trybów Low-power .Wówczas wszystko sprowadzi się do przycisku NO lub NC i jednego rezystora np.4,7k ,który jest połączony z jednej strony do masy a z drugiej strony do wejścia mikrokontrolera a przycisk z jednej strony tego samego pinu kontrolera a z drugiej strony do 3,3V z wyjścia zasilacza.Nie wiem czy wyczerpałem temat ale mam nadzieję,że tak.

1022311221_wacznik2.thumb.png.3fa7c6f935b129e4afe893d42871878e.png

Link do komentarza
Share on other sites

9 godzin temu, szymonw napisał:

Moje rozwiązanie jest na 5 elementach.

Czyli odpada (zresztą nie tylko dlatego), ale idźmy dalej.

9 godzin temu, szymonw napisał:

Nie wiem  jakiego  procesora użyjesz

Dziwne, bo temat jest tagowany ESP32 i jakoś ten ESP przez cały wątek się przewija...

10 godzin temu, szymonw napisał:

na razie jest to mniej istotne

Wręcz przeciwnie - ale o tym już było pisane i możesz sobie przejrzeć cały wątek.

 

12 godzin temu, szymonw napisał:

Poniżej rozwiązanie.Jeśli nie chcesz wyłączać zasilacza to pozostaje rozwiązanie czysto programowe w którym musisz zastosować któryś trybów Low-power .

Przecież od początku piszę, że chcę wyłączyć przetwornicę (która posiada do tego specjalne wejście na co nie zwróciłeś uwagi), a układ składa się nie tylko z mikrokontrolera ale również z innych modułów które będą żarły prąd (nie mówiąc już o pracującej cały czas przetwornicy).

Mała prośba: zanim zaczniesz odpowiadać w jakimś wątku sprawdź:

  • czego dotyczy wątek i czy na pewno odpowiadasz w temacie
  • komu odpowiadasz i czy pouczając tego kogoś jak się pisze programy nie robisz z siebie... no, sam sobie dopowiedz.

Tak przy okazji: delay() we FreeRTOSie (ściślej vTaskDelay, ale we frameworku Arduino delay to po prostu wrapper do tej funkcji) jest nie tylko mile widziany, ale w większości przypadków wręcz niezbędny do działania programu.

 

 

 

Link do komentarza
Share on other sites

Tak, 2 rezystory  np.50k ,1dioda  np.1N4148 i przycisk NO/NC porządny np. przemysłowy i to są wszystkie części,które  należy użyć.Reszta to program i można to zrealizować na wiele sposobów.Na kontrolerze potrzebne są dwa piny jeden wejście drugi pin wyjście.Układ poniżej.Oczywiście wartości rezystorów są przykładowe ale najlepiej będzie jeśli R1=R2 przy założeniu,że bateria to te 4,2V.Jeśli zasilanie będzie wyższe np. 11,8V należy tak dobrać rezystory by na wejściu napięcie było 3V czyli jeśli  R1=R to R2=4R.

928589995_wcznik3.thumb.png.4bfbb2f5973c66ed9d67e27a05652a9b.png

Link do komentarza
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

Tak pół na pół bo jakieś podobne rozwiązania to robiłem ale warto sprawdzić.Rezystory powinny być dużo mniejsze jakieś 5k a może nawet trochę mniej bo tam gdzieś jest rezystor 100k podciągający SHDN ale nie na tyle mniej by prąd płynący w obwodzie wyjście z kontrolera R1 masa przekraczał wartość dozwoloną przez producenta kontrolera.To rozgrywa się w pewnym przedziale wartości oporności.Nie wiem czy ten rezystor jest na przetwornicy czy w układzie scalonym.Ale jeśli jest na zewnątrz to to można go wylutować bo jest zbędny.Natomiast jeśli jest w scalaku to rezystory należy dobrać tak by napięcie na końcówce SHDN było niższe niż 0,4V po to by przetwornica mogła być stanie uśpienia.Sama kombinacja elementów jest na pewno ok. Zawsze można zmontować "na sucho" bez udziału kontrolera i sprawdzić jak działa.Dioda zabezpiecza wyjście kontrolera przed niechcianym  potencjałem.

Link do komentarza
Share on other sites

Pół na pół? Czyli nie sprawdziłeś? To kiego ...... się wypowiadasz?

Na temat "nie wiem gdzie jest rezystor" będę tym razem zgodny z PPF i nie będę używał słów które co prawda tu pasują, ale nie powinny być używane w publicznej dyskusji.

 

Link do komentarza
Share on other sites

Anonim
Ten temat został zamknięty.
×
×
  • 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.