Як перемикати живлення мікроконтролера кнопкою?


13

У мене є мікроконтролерний пристрій з живленням від акумулятора. В даний час я перемикаю живлення простим перемикачем включення / вимкнення. Я хочу переключити живлення однією кнопкою з мінімальною модифікацією схематично (і, можливо, мікроконтролером) і без споживання, коли пристрій вимкнено. Як я можу це зробити?

ДОБАВЛЕНО . Я знаю наступний трюк:

введіть тут опис зображення

Тут на старті мікроконтролер встановлює PB3 на високий рівень і, таким чином, утримує потужність для пристрою. Але це не є вирішенням моєї проблеми, оскільки мені також потрібно вимкнути пристрій, натиснувши S1.

ДОБАВЛЕНО . Чи можу я виключити VT2 з ланцюга (тобто безпосередньо приводу мікроконтролера VT1)?


Чи було б кнопкові засувки прийнятним рішенням?
AndrejaKo

@AndrejaKo: Ні.

Успіхів тоді! Я бачу, як зарядити конденсатор під час натискання кнопки, а потім спробувати активувати щось із цим, як MOSFET, але це залежатиме від часу натискання кнопки.
AndrejaKo

@tcrosley Це не дублікат, питання, на яке ви посилаєтесь, не вимагає включення живлення при натисканні кнопки, воно просто вимагає включення, що дозволяє мікроконтролеру відключитися.
Бруно Феррейра

@BrunoFerreira нормально, згоден - я видалив свій попередній коментар. У цій відповіді я додав рядок до мікро, але я не включив ценеру, як ви це зробили у своїй відповіді, що є гарним доповненням.
tcrosley

Відповіді:


6

Виходячи з схеми, яку ви надаєте, ви можете просто додати діод послідовно після вимикача (S1) (катод підключений до вимикача), і ви можете використовувати вхід для виявлення, чи натиснути перемикач знову, якщо так, вимкнути PB3.
Потрібна модифікація

Ценеровий діод захищає вхід PIC від напруги, що надходить від джерела живлення.


Яка роль діода?
м.Алін

@ m.Alin Тут діод дозволяє мікроконтролеру виявляти, коли вимикач вимикається. Якби у нас не було діода, коли VT1 ​​починає проводити, ми завжди мали б високий рівень на вході мікроконтролера.
Бруно Феррейра

8

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

Цей тип вмикання / вимкнення набуває досить поширеного в наш час. Коли потрібно лише мкА, мікроконтролеру не потрібно по-справжньому вимикатись, а спати, що він може робити під власним контролем. Лінія кнопок повинна бути підключена до чогось, що може спричинити пробудження мікросону від сну, але майже кожен мікрофон має принаймні один із них, як правило, декілька.


1
Погоджено, багато моїх конструкцій сьогодні навіть не мають кнопки включення / вимкнення, вони просто прокидаються при натисканні кнопки.
Олі Глазер

Мені пристрої містять також РК та інші периферійні пристрої. Таким чином, я повинен також вимкнути його.

4
@user: Це не означає, що ви повинні вимкнути мікро, лише інша логіка. Якщо мікроелектронний апарат робить мислення увімкнення / вимкнення, мікрофон може керувати живленням інших пристроїв, щоб вони були вимкнені, коли мікросн спав. Це означає, що у вас є свідомий цифровий вихід, який може бути будь-якої полярності, щоб вмикати та вимикати речі, і вам не потрібно впроваджувати переключення в аналогове обладнання.
Олін Латроп

Хоча багато мікроконтролерів мають дуже низький струм сну, регулятори якості коштують дорожче, ніж м'які. Регулятор, який використовує зайві 250 мкА (або навіть 2,5 мА), може бути нормальним, якщо він повинен бути активним лише тоді, коли пристрій використовується, але було б абсолютно неприйнятним, якби він мав бути активним, навіть коли пристрій було "вимкнено" . Один продукт, який я розробляв кілька років тому, навіть не використовував регулятор - замість цього він використовував три транзистори та близько семи резисторів, щоб забезпечити номінальне 5-вольтове живлення з керованим процесором відключенням. За стандартами "регулятора" його точність напруги була справді крихкою ...
supercat

1
@OlinLathrop: Два 2N3094 та 2N3906 коштують менше, ніж 0,07 долара. Навіть якщо одна цифра, що складає десять компонентів, коштує копійку кожен за збірку, це все-таки економить копійку за одиницю - якщо виготовлено 100 000 одиниць, це 10 000 доларів. Якщо продукт не матиме такого обсягу, можливо, не варто намагатись видавити ці $ 0,10; якби сьогодні регулятори були доступні, коли я проектував річ, і якби я не знав заздалегідь, наскільки добре вона буде продаватися, я, мабуть, просто використав би регулятор з режимом очікування, але моя схема працює і дешевше за все; немає причин не продовжувати його використовувати.
supercat

3

EDIT - за віддзеркаленням схема нижче (яку я залишу для довідки), ймовірно, найкраще підходить для використання в схемах без мікрофона. Як згадувалося в інших відповідях, якщо ви дійсно не можете дозволити собі кілька UA, це не має сенсу не використовувати мікро для управління перемиканням живлення, оскільки він використовує менше компонентів і може бути керований точно.
Найпростіша версія може бути чимось на зразок вводу МОК (перерва на зміну) з підтягуванням, з кнопкою заземлення. Мікрофони постійно застосовують живлення і керують P-канальним MOSFET (з підключенням від воріт до джерела) для решти ланцюга. Коли він спить, це дозволяє воріт плавати, щоб вимкнути ланцюг.

Опорний контур:

ToggleSwitch

Спочатку P-MOSFET вимкнено, тому в Q2 немає базового струму, який також вимкнено. Q1 вимкнено, тому Q1c знаходиться на 5В. Схема статична.

Коли S1 (ігнорують вузли + і -, вони там для цілей спрацьовування SPICE), 5В на Q1c підключається до бази Q2, включаючи його. Це підтягує ворота P-MOSFET до землі, вмикаючи його також.
Тепер R4 бачить 5В, і коли S1 вивільнений, він забезпечує базу Q2 струмом, необхідним для його відкриття (і, отже, MOSFET також). Q1 також включається, коли струм через R2 заряджає від C1 до ~ 600mV, і тоді Q1c <200mV (тобто Q1 увімкнено)
Схема тепер знову статична.

При повторному натисканні S1 Q1 вимикає струм з R4 (який утримує Q2), вимикаючи Q2. R1 підтягує базу MOSFET до 5В і вимикає її знову.

Ось моделювання (V (поштовх) високий представляє при натисканні кнопки):

ToggleSwitchSim

Крім того, ми можемо побачити, що після вимкнення живлення струми голівки до нуля (як С1 розряджається і Q1 вимикається), тому схема не споживає енергії у вимкненому стані (курсор для I (V1) знаходиться на рівні 19,86s і вимірює 329nA):

ToggleSwitchPower

Оригінальна ідея схеми не моя, вона походить від Дейва Джонса на EEVblog .


1

Як запропонував Бруно Феррейра, найпростіший спосіб дозволити кнопці виконувати функцію перемикача "вимкнено" - це змінити схему - дозволити процесору знати, коли натиснути кнопку. Я думаю, що можна досить добре використовувати резистори, щоб захистити вхід процесора від напруги, що перевищує VDD, не потребуючи Zener для цього.

Ось приблизний ескіз схеми конструкції, яку ви можете використовувати. Права половина відображає поведінку процесора, і я застосував комбінацію транзистора, зенера та резистора, щоб стояти за регулятором. Вихід процесора представлений за допомогою аналогового комутатора його VDD, а не затвора, оскільки ворота в цьому тренажері завжди генерують вихід + 5 В.

Основним аспектом ланцюга, який може спричинити проблеми при його ігноруванні, є те, що він розроблений таким чином, що процесор не може включати ланцюг, якщо його VDD не менше ~ 3,6 вольт; Я також сфальсифікував тренажер, щоб процесор завжди намагався включити свій вихід, коли його VDD нижче 3,5 вольт. Я бачив чимало конструкцій, які передбачають, що процесори не намагатимуться виводити логіку високо, оскільки потужність відпадає. Це припущення може спрацювати з деякими партіями мікросхем, які використовуються для тестування, але потім не вдасться до інших партій чіпів, які використовуються в повномасштабному виробництві. Поведінка більшості процесорів не визначена в умовах низької напруги; хороший дизайн повинен бути розроблений таким чином, щоб поведінка процесора під час таких умов не мала значення (невелика примітка: напевно, безпечно вважати, що це процесор, який не є ' t явно призначений для генерування напруг, що перевищують будь-яке прикладене напруга, магічно не почне це робити; Я не думаю, що для цього є чітка специфікація, але я думаю, що в більшості випадків це може бути зроблено безпечно).

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