Схема фиксирующего выключателя питания (Auto Power Off) для ESP32, ESP8266, Arduino
В этой статье мы покажем вам, как построить схему фиксирующего выключателя питания (Latching Power Switch Circuit), также известную как схема автоматического отключения питания (Auto Power Off Circuit). Вы можете использовать эту схему для автоматического отключения питания ESP32, ESP8266, Arduino или любого другого микроконтроллера.
Эта схема позволяет полностью отключить питание, когда микроконтроллер не выполняет никакую задачу. Другими словами, как только микроконтроллер завершает выполнение задачи, он отключает сам себя программно. Это отличный способ продлить срок службы батарей в ваших электронных проектах.
Обзор
Прежде чем продолжить работу с этим руководством, вот краткий обзор того, что мы собираемся сделать:
Когда вы нажимаете кнопку схемы или замыкаете цепь с помощью любого другого компонента, на микроконтроллер подаётся питание. Таким образом, ваш ESP32, ESP8266 или Arduino включается.
Вы устанавливаете пин LATCH (заданный в коде) в состояние HIGH, чтобы схема оставалась под напряжением.
Микроконтроллер выполняет свои задачи. В нашем примере он ничего не делает — просто ждёт 10 секунд. Вы можете изменить код для выполнения полезной задачи.
Устанавливаете пин LATCH в состояние LOW, и микроконтроллер автоматически отключается.
Когда пин LATCH установлен в LOW, питание полностью отключается.
Автоматическое отключение питания vs Глубокий сон
Схема автоматического отключения питания полностью отключает питание. Таким образом, потребление энергии равно нулю, когда микроконтроллер не выполняет никакую задачу.
В режиме глубокого сна потребление энергии значительно меньше, чем в активном режиме. Однако потребление энергии всё равно присутствует, поскольку ваш микроконтроллер всегда находится под напряжением (для введения в глубокий сон ESP8266 вы можете прочитать следующую статью: ESP8266 Deep Sleep с Arduino IDE).
Необходимые компоненты
Для выполнения этого руководства вам понадобятся следующие компоненты:
Микроконтроллер или плата разработки, например:
Источник питания 5 В
Вы можете использовать приведённые выше ссылки или перейти непосредственно на MakerAdvisor.com/tools, чтобы найти все компоненты для ваших проектов по лучшей цене!
Схема автоматического отключения питания
На следующей принципиальной схеме показана схема фиксирующего выключателя питания (Auto Power Off Circuit).
Клеммы справа, пронумерованные 1, 2 и 3, должны быть подключены к вашей плате микроконтроллера.
Пин 1 подключается к 5V.
Пин 2 может быть подключён к любому цифровому пину микроконтроллера. В нашем примере мы подключим этот пин к GPIO 5 / Digital 5.
Пин 3 подключается к GND.
Как работает схема автоматического отключения питания
1) Когда вы нажимаете переключатель или замыкаете цепь, на базу транзистора 2N3904 поступает напряжение. Таким образом, транзистор 2N3904 подтягивает затвор (G) MOSFET к GND.
2) P-канальный MOSFET включается, когда его затвор имеет отрицательный потенциал относительно истока. Когда вы нажимаете кнопку, затвор MOSFET подтягивается к GND, позволяя току течь к пину VIN, который будет питать микроконтроллер. Это происходит до тех пор, пока затвор MOSFET подтянут к GND.
3) Чтобы затвор MOSFET оставался подтянутым к GND после отпускания кнопки, мы отправляем сигнал HIGH через GPIO микроконтроллера. Когда мы отправляем сигнал HIGH, на базу транзистора поступает напряжение.
4) Таким образом, мы обеспечиваем подтяжку затвора MOSFET к GND, и ток течёт к клемме VIN для питания нашего микроконтроллера.
5) Когда мы хотим отключить схему, нам просто нужно установить GPIO в LOW. Когда это происходит, на базу транзистора не поступает напряжение, поэтому MOSFET не пропускает ток к пину VIN, и потребление энергии отсутствует.
Схема автоматического отключения питания – ESP32
Вот как подключить схему, если вы используете ESP32.
Схема автоматического отключения питания – ESP8266
Вот схема для ESP8266.
Схема автоматического отключения питания – Arduino
И наконец, вот как подключить схему фиксации к Arduino.
Загрузка кода
Прежде чем продолжить работу с этим руководством, у вас должна быть подготовлена Arduino IDE. Следуйте одному из следующих руководств для установки ESP32 или ESP8266 в Arduino IDE, если вы ещё этого не сделали. Если вы используете Arduino, вам не нужно устанавливать ничего дополнительного.
Установка платы ESP32 в Arduino IDE:
/*********
Rui Santos
Complete project details at https://randomnerdtutorials.com
*********/
// Определяем пин фиксации питания для ESP32 (GPIO 5) / ESP8266 (GPIO 5) / Arduino (Digital 5)
const int powerLatch = 5;
void setup() {
// Определяем пин как OUTPUT
pinMode(powerLatch, OUTPUT);
// Удерживаем схему включённой
digitalWrite(powerLatch, HIGH);
// Ждём 10 секунд
delay(10000);
// Отключаем схему фиксации питания
digitalWrite(powerLatch, LOW);
}
void loop() {
}
Как работает код
Давайте подробнее рассмотрим, как работает код и как вы можете использовать его в своих проектах.
Начинаем с определения пина фиксации питания. Мы используем GPIO 5, но вы можете использовать любой другой пин. Этот GPIO подключается к клемме 2 схемы фиксации питания.
const int powerLatch = 5;
В функции setup() мы определяем пин фиксации питания как выход.
pinMode(powerLatch, OUTPUT);
Далее мы устанавливаем пин фиксации питания в HIGH. Когда мы устанавливаем его в high, мы обеспечиваем подачу питания для работы микроконтроллера.
digitalWrite(powerLatch, HIGH);
Затем ждём 10 секунд.
delay(10000);
После этого мы устанавливаем пин фиксации питания в LOW. Когда он установлен в low, питание отключается, и микроконтроллер выключается.
digitalWrite(powerLatch, LOW);
Вы должны добавить задачу, которую хотите выполнить, после установки пина фиксации питания в HIGH и перед установкой его в LOW.
Заключение
Схема фиксирующего выключателя питания (Latching Power Switch Circuit), также известная как схема автоматического отключения питания (Auto Power Off Circuit), позволяет вам выключить микроконтроллер программно, независимо от того, используете ли вы ESP32, ESP8266, Arduino или любую другую плату. Эта схема особенно полезна для экономии энергии: микроконтроллер сам отключается после выполнения задачи.
В нашем примере мы использовали кнопку для замыкания цепи и подачи питания на микроконтроллер, но вы можете использовать любой другой компонент для замыкания цепи — например, геркон (reed switch). Мы надеемся, что это руководство оказалось полезным и вы сможете использовать его в своих электронных проектах для экономии энергии.
Для большего количества электронных проектов вы можете ознакомиться с нашей коллекцией из более чем 200 электронных проектов и руководств или записаться на наши курсы.