Як реалізувати м'який вимикач живлення, керований мікроконтролером?


16

Я хочу розробити схему таким чином, щоб мікроконтролер міг перемикати штифт GPIO і закривати всю систему (включаючи сам мікроконтролер). А коли користувач натисне кнопку миттєвого вимикання, живлення знову повертається.

Чи можливо це?

Відповіді:


11

alt text

У цьому прикладі використовується регулятор посилення Maxim MAX1835 , але він може бути застосований і до інших, які мають вимикач .

Схема, як правило, відключається. Коли користувач натискає кнопку, акумулятор подається на контакт -SHDN, що дозволяє регулятору та включити 3,3 В до мікроконтролера. Потім мікроконтролер ставить логіку 1 на відвід POWER ON, утримуючи живлення після того, як користувач відпустить кнопку. Коли мікроконтролер хоче вимкнутись, він встановлює вихід POWER ON на 0.


2
Думаю, дуже важливим є відключення цього вимикача.
Кортук

2
@Kortuk, хороший момент. Я припускав, що мікрокабель увімкнеться досить швидко, що може змінити перемикач перед першим відскоком, припускаючи, що управління мікроконтролером було першим ділом, що мікро зробив. Якщо це не так, можна додати конденсатор на відвід -SHDN, щоб створити константу часу для включення (хоча це також призведе до невеликої затримки вимкнення). Для придушення шуму, мабуть, потрібно залишити 10 nF (він був включений у схему зразка таблиці). Або можна додати додаткову схему RC для просто комутатора.
tcrosley

Я раніше бачив якийсь божевільний відскак від перемикачів.
Кортук

Більшою проблемою, яка відхиляє перемикання, є поведінка процесора під час відключення живлення. Зокрема, може бути гарно переконатися, що процесор може увімкнути живлення лише тоді, коли його VDD знаходиться вище точки, в якій гарантується правильна робота. Мені довелося налаштувати деякі схеми автоматичного відключення живлення, які періодично виходили з ладу внаслідок випадкового коду процесора, коли VDD впав нижче дійсної робочої напруги. Випадковий код може встановити високий вихід "включення", що в свою чергу призведе до резервного копіювання пристрою, запуску коду за випадковою адресою.
supercat

1

Один із способів зробити це - перейти в режим глибокого сну на мікроконтролері.

Багато мікроконтролери підтримують зовнішнє переривання, наприклад, край на штирі вводу-виводу.


то я також отримав би спокійний струм притягування живлення регулятора в мікро-право?
cksa361

Так. Ви були б.
Тобі Джаффі

@ cksa361, деякі мікроси, це нано або мікро ампери. Я використовую MSP430 і ми тримаємо його близько 3-5 мікроампер.
Кортук

0

Так, це, безумовно, можливо, але як ви цього досягнете, залежить від того, яке навантаження ви будете включати та вимикати.

Це, мабуть, так просто, як просто використання реле, підключеного до вихідного PIN мікроконтролера (через транзистор та захисний діод), і кнопковий перемикач, підключений до штифта, налаштованого як вхід.

Ось простий приклад схеми: схема реле, керована мікроконтролером

Під час використання миттєвого перемикача кнопки будьте уважні розблокування, хоча вам потрібно буде застосувати затримку в коді мікроконтролера, щоб переконатися, що ви перевіряєте стан кнопки протягом певного періоду часу (наприклад, 1 мс), перш ніж перемикати реле. Повернутися на. Якщо цього не зробити, мікроконтролер може приймати кілька сигналів і перемикати реле кілька разів за дуже короткий проміжок часу, і ви побачите, що ваша кнопка працює з перервами.

ОНОВЛЕННЯ Я щойно побачив вашу редакцію щодо вимкнення мікроконтролера. Чи можете ви дати трохи більше інформації про те, що ви насправді намагаєтесь зробити? Важко відповісти на ваше запитання, не розуміючи всієї системи.

Якщо ви також хочете відключити мікроконтролер, то вам знадобиться якийсь спосіб повернення живлення до мікроконтролера. Можливо, ви могли б використовувати реле для живлення всього, включаючи мікроконтролер, таким чином мікроконтролер може вимикатись, але не вмикати його. Тоді ваша кнопка може бути підключена через ваш релейний вимикач, щоб ефективно коротко вимкнути його, даючи йому достатньо часу для включення та утримування реле відкритим.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.