Jak wdrożyć miękki wyłącznik zasilania sterowany mikrokontrolerem?

16

Chcę zaprojektować obwód tak, aby mikrokontroler mógł przełączać pin GPIO i wyłączać cały system (w tym sam mikrokontroler). A kiedy użytkownik naciśnie chwilowy przycisk, moc zostaje ponownie przywrócona.

czy to możliwe?

cksa361
źródło

Odpowiedzi:

11

alternatywny tekst

W tym przykładzie zastosowano regulator podwyższający Maxim MAX1835 , ale można go również zastosować do innych, które mają kołek wyłączający .

Obwód jest zwykle wyłączony. Gdy użytkownik naciśnie przycisk, akumulator jest doprowadzany do pinu -SHDN, umożliwiając regulator i włączając 3,3 V do mikrokontrolera. Mikrokontroler ustawia następnie logikę 1 na przewodzie POWER ON, utrzymując zasilanie po zwolnieniu przycisku przez użytkownika. Gdy mikrokontroler chce się wyłączyć, ustawia przewód POWER ON na 0.

tcrosley
źródło
2
Myślę, że bardzo ważne jest ogłoszenie tego przełącznika.
Kortuk
2
@Kortuk, dobra uwaga. Zakładałem, że mikro włączy się na tyle szybko, że może przesłonić przełącznik przed pierwszym odbiciem, zakładając, że podniesienie szpilki było pierwszą rzeczą, którą zrobiła mikro. Jeśli tak nie jest, można dodać kondensator na przewodzie -SHDN, aby utworzyć stałą czasową dla włączenia (chociaż spowodowałoby to również niewielkie opóźnienie wyłączenia). 10 nF prawdopodobnie należy pozostawić w celu tłumienia hałasu (został on uwzględniony w schemacie przykładowym arkusza danych). Lub można dodać dodatkowy obwód RC dla samego przełącznika.
tcrosley
Wcześniej widziałem jakieś szalone odbicie na przełącznikach.
Kortuk
Większym problemem, który powoduje odskok przełączania, jest zachowanie procesora podczas wyłączania. W szczególności dobrze jest upewnić się, że procesor może włączyć zasilanie tylko wtedy, gdy jego VDD znajduje się powyżej punktu, w którym gwarantowane jest prawidłowe działanie. Musiałem dostosować kilka obwodów automatycznego wyłączania, które czasami ulegały awarii w wyniku losowego kodu procesora, gdy VDD spadło poniżej prawidłowego napięcia roboczego. Losowy kod może ustawić wysoką moc wyjściową, która z kolei zasila urządzenie z powrotem, uruchamiając kod pod losowym adresem.
supercat
1

Jednym ze sposobów jest przejście do trybu głębokiego uśpienia na mikrokontrolerze.

Wiele mikrokontrolerów obsługuje budzenie przez zewnętrzne przerwanie, takie jak zbocze na pinie IO.

Toby Jaffey
źródło
wtedy dostałbym również prąd spoczynkowy zasilania regulatora do mikro, prawda?
cksa361
Tak. Ty byś.
Toby Jaffey
@ cksa361, niektóre mikroskopy to nano lub mikro ampery. Używam MSP430 i trzymamy go około 3-5 mikroamperów.
Kortuk
0

Tak, z pewnością jest to możliwe, ale sposób osiągnięcia tego zależy od rodzaju obciążenia, które zamierzasz włączać i wyłączać.

Prawdopodobnie jest to tak proste, jak użycie przekaźnika podłączonego do wyjściowego numeru PIN mikrokontrolera (za pośrednictwem tranzystora i diody zabezpieczającej) oraz przełącznika przyciskowego podłączonego do pinu skonfigurowanego jako wejście.

Oto prosty przykładowy schemat obwodu: schemat przekaźnika sterowanego mikrokontrolerem

Korzystając z chwilowego przełącznika przycisku, należy jednak uważać na usunięcie , należy wprowadzić opóźnienie w kodzie mikrokontrolera, aby upewnić się, że sprawdzany jest stan przycisku przez pewien okres czasu (np. 1 ms) przed przełączeniem przekaźnika z powrotem. Jeśli tego nie zrobisz, mikrokontroler może odebrać wiele sygnałów i kilkakrotnie przełączyć przekaźnik w bardzo krótkim czasie, a przekonasz się, że twój przycisk działa sporadycznie.

AKTUALIZACJA Właśnie widziałem Twoją edycję dotyczącą wyłączania mikrokontrolera. Czy możesz podać więcej informacji na temat tego, co naprawdę próbujesz zrobić? Trudno jest odpowiedzieć na twoje pytanie bez zrozumienia całego systemu.

Jeśli chcesz również wyłączyć mikrokontroler, potrzebujesz sposobu na przywrócenie zasilania mikrokontrolera. Być może możesz użyć przekaźnika do zasilania wszystkiego, w tym mikrokontrolera, w ten sposób mikrokontroler może się wyłączyć, ale nie ponownie włączyć. Następnie przycisk można podłączyć do przełącznika przekaźnika, aby skutecznie go zwrzeć, dając mu wystarczająco dużo czasu na włączenie zasilania i przytrzymanie przekaźnika otwartego.

BG100
źródło