Беспроводной сигнализатор с режимом глубокого сна - Своими руками
Своими руками

Беспроводной сигнализатор с режимом глубокого сна

>

Цель изготовления этого устройства – сделать сигнализация о том, в каком положении (закрытом или открытом) находиться дверь в гараже. Сложность заключается в том, что в гараже нет электричества и провести его туда проблематично.

Мастер решил сделать этот проект, потому что несколько раз забывал, что оставлял дверь гаража открытой.
Он решил использовать модуль Wi-Fi ESP8266 ESP-01 из-за его низкой стоимости и способности переходить в режим глубокого сна с низким энергопотреблением, когда не используется. Поскольку дверь гаража открывается / закрывается не так часто, перевод модуля в спящий режим, делает схему идеальной для питания от батарей.

Инструменты и материалы:
-Модуль ESP8266 ESP-01 Wi-Fi;
-*J1 – 2-контактный штекерный разъем 2,54 мм;
-*J2 – 3-контактный штекерный разъем 2,54 мм;
-*J3 – 8-контактное гнездо 2×4 мм, 2,54 мм;
-*R1 и R4 – резистор, 10 кОм, 1/4 Вт;
-*R2 и R3 – резистор, 1 мегабайт, 1/4 Вт;
-*C1 и C2 – электролитический конденсатор, 2,2 мкФ;
-*Q1 – N-канальный полевой транзистор 2N7000;
-*S1 – Геркон с магнитным контактом с нормально разомкнутыми и нормально замкнутыми контактами или концевой микровыключатель с нормально разомкнутыми и нормально замкнутыми контактами;
-*B1 – держатель батарей типа AAA;
-Батарея AAA, 1,5 В – 2 шт;
-Пользовательская печатная плата;
-Провода;
Перечень деталей блока приемника
-Модуль ESP8266 ESP-01 Wi-Fi;
-*J1 – 2-контактный штекерный разъем 2,54 мм;
-*J2 – 8-контактное гнездо 2×4 мм, 2,54 мм;
-*D1 – светодиод RGB;
-*R1 – Резистор, 4,7 кОм, 1/4 Вт;
-*PS1 – адаптер переменного тока, 3 В постоянного тока, 100 мА;
-Пользовательская печатная плата;
Общий инструмент
-Компьютер;
-Адаптер программатора ESP-01 UART;
-Паяльник с тонким наконечником;-Кусачки;-Плоскогубцы;
* – Обозначение на схеме
Шаг первый: принцип работы
В открытом доступе существует ряд опубликованных проектов, в которых используется режим глубокого сна ESP-01. Но они выдают сигнал пробуждения только при открытии или закрытии переключателя. Или требовались дополнительные схемы для генерации сигнала пробуждения, и эта дополнительная схема продолжала истощать батареи, даже если модуль ESP-01 находился в глубоком спящем режиме. Цель данного руководства – сделать такую схему, которая решит эту проблему с помощью пассивных компонентов, потребляющих очень мало тока.
Перевести модуль ESP-01 в режим глубокого сна с низким энергопотреблением довольно просто, и требует всего несколько строк кода в программном обеспечении. Однако возникает проблема, связанная с активизацией модуля при открытии или закрытии переключателя положения двери. Чтобы вывести модуль из режима глубокого сна, необходимо подать (логический) импульс высокого-низкого-низкого-высокого уровня на вывод RESET модуля. Решение заключалось в использовании RC-цепей (резистор, конденсатор) и переключателя SPDT с набором контактов нормально разомкнутого (NO) и нормально замкнутого (NC) для создания импульса сброса при каждом изменении состояния переключателя.
Как работает схема сброса:
( См. электрическую схему передающего устройства) Предположим, что переключатель S1 находится в нормально замкнутом (NC) положении. В этом положении конденсатор C1 заряжается через резистор R1, и это положительное напряжение отображается на выводе RESET модуля Wi-Fi ESP-01 как логический сигнал (высокий). Резистор R2 на конденсаторе C1 имеет такое высокое значение (1 МОм) по сравнению с R1 (10 кОм), что оказывает незначительное влияние на заряд. Когда переключатель находится в этом положении, конденсатор C2 представляет собой разомкнутую цепь, в результате чего любой заряд в C2 разряжается до 0 (нуля) вольт через резистор R3. Когда переключатель S1 находится в положении «нормально разомкнутый» (NO), положительный ток подается на конденсатор C2 через R1. Когда C2 начинает заряжаться, напряжение на C2 медленно увеличивается с 0 до 3 вольт примерно за 0,5 секунды (постоянная времени RC = 0. 22 секунды). Это повышение от 0 до 3 вольт наблюдается на выводе RESET модуля Wi-Fi ESP-01 и интерпретируется как сигнал сброса, который вызывает пробуждение модуля. Между тем, поскольку конденсатор C1 больше не подключен к источнику тока, он медленно разряжается до нуля вольт через резистор R2. Когда переключатель S1 снова меняет состояние, весь процесс повторяется, снова отправляя сигнал сброса на модуль.
Использование полевого транзистора (FET):
Полевой транзистор (FET) Q1 используется для отражения состояния напряжения нормально разомкнутой (NO) цепи переключателя, которая подается на входной контакт Rx модуля ESP-01. Программное обеспечение модуля считывает вход Rx, чтобы определить положение переключателя. В схеме был использован полевой транзистор, потому что, в отличие от обычного транзистора, его вход (затвор) не потребляет ток и не влияет на RC-цепь. Кроме того, цепь источника / стока, связанная с выводом Rx модуля, не будет получать питание, когда модуль находится в режиме глубокого сна, и, таким образом, не потребляет энергию. Вывод Rx используется вместо GPIO0 или GPIO2 для считывания состояния переключателя.
Общее описание операции:
Модуль Wi-Fi ESP8266 ESP-01, используемый в принимающем устройстве, был запрограммирован для работы в качестве «точки доступа» (то есть сервера) с использованием протокола пользователя (UDP), а модуль Wi-Fi, используемый в передающем устройстве, был запрограммирован на работу в качестве «Клиента» также с использованием UDP. Обратите внимание, что эта система Wi-Fi является автономной и не требует подключения к Интернету или доступа к домашней компьютерной сети или маршрутизатору / серверу. Когда переключатель положения двери меняет состояние, передающее устройство (клиент) просыпается, устанавливает связь с принимающим устройством и отправляет состояние переключателя принимающему устройству. После получения состояния переключателя принимающее устройство либо включит красный светодиод (дверь открыта), либо зеленый светодиод (дверь закрыта) и отправит сообщение с подтверждением обратно отправляющему устройству, сообщая ему, что сообщение было получено. После получения сообщения подтверждения отправляющее устройство будет оставаться в активном состоянии еще 1 секунду, а затем перейдет в режим сна. Если сообщение с подтверждением не было получено в течение 1 секунды, отправляющий блок снова попытается отправить состояние переключателя. Если по истечении 10 секунд подтверждающее сообщение все еще не получено, передающее устройство откажется от передачи и перейдет в спящий режим, чтобы продлить срок службы батареи.
Тестирование схемы показало, что в режиме глубокого сна вся схема потребляет менее 18 мкА. Предполагая, что используется батарея с номиналом 1200 мАч, можно предположить, что срок службы батарей превысит 2 года.
На прилагаемом рисунке показана вся система до того, как передающий блок (слева) был установлен на воротах гаража, а принимающий блок (справа) был упакован в небольшой корпус для установки в другой комнате дома.
Беспроводной сигнализатор с режимом глубокого снаБеспроводной сигнализатор с режимом глубокого снаБеспроводной сигнализатор с режимом глубокого снаШаг второй: печатные платы
К сожалению, мастер не предоставил файлы для изготовления платы в свободный доступ и их нужно заказывать на специальном сервисе. Учитывая небольшую стоимость, это не так уж накладно.
Платы мастер заказал на сайте oshpark.com
Переходим на сайт и кликаем значок ВХОД, чтобы создать учетную запись и войти в систему.
Затем кликаем “SHARING”, чтобы открыть страницу «Общие проекты».
В поле поиска вводим адрес электронной почты: billv923@outlook.com.
Нажимаем кнопку “Загрузить проекты”. Должны отображаться следующие два проекта:
ESP-01_Wireless_Indicator.kicad_pcb
ESP-01_Wireless_Switch.kicad_pcb
Для каждой из двух плат наводим указатель мыши на кнопку «Actions» и выбираем «Oder Board».
Следуем инструкциям на экране, чтобы завершить процесс оформления заказа.
Беспроводной сигнализатор с режимом глубокого снаШаг третий: монтаж плат
После получения печатных плат от производителя устанавливаем компоненты, перечисленные в списке деталей, используя схему. Убедитесь, что вы устанавливаете резисторы правильного номинала в предназначенные для них места. Кроме того, конденсаторы C1 и C2 имеют полярность, поэтому их нужно правильно сориентировать.
При использовании макетной печатной платы расположите и установите компоненты, перечисленные в списке деталей, используя рисунок и принципиальные схемы в качестве руководства. Припаяйте компоненты на место. Затем, используя провод, соедините компоненты, руководствуясь схемами в качестве руководства.
Беспроводной сигнализатор с режимом глубокого снаШаг четвертый: программирование модулей ESP8266 ESP-01
Загружаем и устанавливаем Arduino IDE на свой компьютер. После установки IDE Arduino необходимо также установить пакет платы ESP8266, чтобы IDE Arduino могла их распознать и запрограммировать.
Дальше создаем две подпапки в папке «Arduino» с именами «WirelessSwitch_Client» и «WirelessSwitch_Server». Папка «Arduino» создается во время установки, обычно в папке «Documents».
Загружаем файл WirelessSwitch_Client.ino, и вставляем его в папку WirelessSwitch_Client, созданную на предыдущем шаге.
Загружаем файл WirelessSwitch_Server.ino и вставляем его в папку WirelessSwitch_Server, созданную на предыдущем шаге.
Устанавливаем один из модулей ESP8266 ESP-01 в UART адаптер программатора ESP01.
Подключаем модуль адаптера программатора ESP01 к USB-порту ПК.
Дважды щелкаем файл WirelessSwitch_Client.ino, чтобы запустить файл и вызвать среду разработки (IDE) Arduino. Окно IDE Arduino отображается со списком исходного кода WirelessSwitch_Client.
В раскрывающемся меню «Tools/Board’» выбираем универсальный модуль ESP8266.
Выбираем раскрывающееся меню «Tools/Port», чтобы выбрать / проверить выбор COM-порта (например, COM1, COM2 и т. д.).
Выбираем «→» (загрузка), чтобы начать процесс компиляции и загрузки. Программа скомпилируется и автоматически загрузится в модуль ESP-01. Когда загрузка будет завершена, в нижнем левом углу окна IDE отобразится сообщение «Done Uploading». В нижней части окна сообщения IDE будет отображаться следующий текст: «Leaving…» & «Hard reset via RTS pin…»
Отсоединяем модуль ESP8266 ESP-01 от адаптера программатора ESP01 и определяем его как «Клиент».
Дальше программируем ESP8266 -сервер
Устанавливаем второй модуль ESP8266 ESP-01 в UART адаптер программатора ESP01.
Подключаем модуль адаптера программатора ESP01 к USB-порту ПК.
Дважды щелкаем файл WirelessSwitch_Server.ino, чтобы запустить файл в IDE Arduino. Окно Arduino IDE отображается со списком исходного кода ESP8266_WirelessSwitch_Server.
В раскрывающемся меню «Tools/Board’» выбираем универсальный модуль ESP8266.
Выбираем раскрывающееся меню «Tools/Port», чтобы выбрать / проверить выбор COM-порта (например, COM1, COM2 и т. д.).
Выбираем «→» (загрузка), чтобы начать процесс компиляции и загрузки. Программа скомпилируется и автоматически загрузится в модуль ESP-01. Когда загрузка будет завершена, в нижнем левом углу окна IDE отобразится сообщение «Done Uploading». В нижней части окна сообщения IDE будет отображаться следующий текст: «Leaving…» & «Hard reset via RTS pin…»
Отключаем адаптер программатора ESP01 от порта USB, извлекаем модуль ESP8266 ESP-01 из адаптера программатора ESP01 и определяем его как «сервер».

После того, как модули были запрограммированы, они готовы к подключению к соответствующим материнским платам для использования.
Все готово. Ниже можно скачать файл с видео, на котором демонстрируется работа устройства.
ESP8266 ESP-01 Wireless Switch With Deep Sleep Mode

SitesReady

Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного. - Альберт Эйнштейн

Follow us

Don't be shy, get in touch. We love meeting interesting people and making new friends.