Запись из жизни:


Выключатель сетевого питания на ESP8266

22.04.2015 | Arduino, Покупка, Программер, Своими руками, Электро | 15 | Автор:



Прежде чем приступим, мы должны начать с обязательной оговоркой:

ВНИМАНИЕ! Не играйте с напряжением это смертельно!
Только для тех кто имеет имеет знания о работе с высоким напряжением!
Не используйте его без надлежащих знаний в электрике!
Не используйте его без надлежащего предохранителя в сети высокого напряжения!
Это не игрушка!


Решил я создать интересный девайс, для контроля сетевого напряжения с управлением по Wi-Fi сердцем которого является модуль ESP8266. При этом размер данного девайса всего 50 x 25 мм, это достаточно малый размер платы, что бы с легкостью уместить внутри распределительной коробки! Модуль купить здесь: https://goo.gl/ckwynb
Печатная плата MPSW v2 на W-IFI ESP8266
Судите сами, вот плата в сборе:


Принципиальная схема и теория работы:
Принципиальная схема Wi-Fi выключателя
Главный модуль выключателя сетевого питания (MPSM)

Общие соображения:
данное устройство подойдет только для выключения - выключения резистивных нагрузок
Выигрышная комбинация между оптосемистором на MOC304X в качестве драйвера с симистором и потребляемым током прилично экономят размер печатной платы .
Обычно 25A подходит для всех отечественных потребностей, не забываем подобрать правильный радиатор.
Для стандартного домашнего освещения, при токе 8А и продолжительности работы 99% в сутки, более чем достаточно. одного канала. Если ваш дом - замок с огромными люстрами, вероятно эта схема вам не подойдет. 🙂

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

Симисторы класса BT1XX от NXP никогда не разочаровывали. Не раз использовался в проверенной временем схеме симисторного выключателе с развязкой на оптосимисторе MOC304X, управляемый цифровым сигналом 0/1:
Схема компактного выключателя на симисторе
В этой схеме на "высокой" стороне подключаемая нагрузка может быть подключена как к нулю так и фазе (из соображений безопасности в сети высокого напряжения рекомендуется выключателем разрывать фазу, что бы в выкл состоянии на потребителе был только нулевой проводник).
Этот тип схемы (сверху) достаточно хорошо только для резистивной нагрузки. Когда устройство контролирует индуктивную нагрузку, напряжения сети и тока нагрузки не совпадают по фазе. Чтобы ограничить наклон повторно напряжения и обеспечить правильное СИМИСТОРНОЕ выключение, как правило используется в параллельное соединенные с емкостной нагрузкой. Эта схема также может быть использована для улучшения СИМИСТОРНОЙ стойкости к быстрым переходным напряжениям.
Пример схемы для использования, когда требуется горячая линия переключения:
Схема компактного выключателя на симисторе с индуктивной нагрузкой
Здесь последовательно выключенные резистор 100Ω и 0.01μF конденсатор служат для оказания противодействия току на индуктивной нагрузке.

Нам понадобится

  1. Печатная плата показанная ранее выполнена на 2-х стороннем текстолите:
  2. USB адаптер (взгляните на CBDB части 1 для получения подробной информации, как соединить их вместе)
  3. NodeMCU прошивки
  4. NodeMCU Flasher
  5. ESPlorer для загрузки прошивки lua

Ответы на пункты 3 - 6 вы можете найти в ранее публикуемой статье (см. статью ESP8266 NodeMCU).

Прошивка выключателя

Прошивка сетевого выключателя нагрузки

Процесс перепрограммирования встроенной микропрограммы MPSM на NodeMCU:

  1. Подключите MPSM плату к USB-адаптеру, установите PRG перемычку (на фото желтая) в положение режима программирования (замкнуто) и подайте питания на схему
  2. Запустите NodeMCU Flasher. Выберите Ваш адаптер USB на соответствующем COM порту
  3. Добавить из меню Сonfig последней ранее загруженный файл прошивки. Он должен начать с 0x0000.
  4. Остальные пункты отключить.
  5. Вернуться на вкладке Operation. Нажимаем кнопку FLASH. На USB адаптере начнут мигать светодиоды.
  6. Повторите снова, если это будет необходимо.
  7. По окончании успешно появится зеленая галочка "OK"
  8. Отключите питание от платы. Удалить желтую перемычку. Снова присоедините питание к плате. NodeMCU прошивка залита и готова к работе. 🙂

Давайте сделаем быстры старт проверки нашего устройства, мы будем использовать фрагменты кода. Выберем кусок кода, который вы хотите запустить, и запустим его.

WIFI настройка сети - если это ваш первый проект с новым модулем ESP, которая никогда не используется в вашей сети WiFi:

Что бы проверить оптосимистор, т.е. часть которая отвечает за вкл./выключение нагрузки мы напишем небольшой скрипт "Blinky" (Мигалку). Если все нормально, то светодиод LED2 будет мигать, вместе с включением нагрузки. Для этого наш предыдущий скрипт мы заменим на этот:

Если все хорошо, то можно подключить наше устройство  к розетке и лампочке. Повторите тестирование кода сверху, и вы можете увидеть, что лампочка также управляется с модуля. 🙂 Используйте соответствующий радиатор для рассеивания мощности на симисторе.

Программная часть

Программирование сетевого Wi-Fi выключателя

Определение используемых GPIO выводов:

Функция переключения питания, действующего на основании полученной команды:

Отправляем функцию, основанной на странице по запросу:

Веб Сервер:

Сохраните код на ESP как "web_switch.lua", перезагрузим ESP и выполним команду:

Откройте ваш любимый веб-браузер и введите новый IP-адрес веб-сервера. Если все в порядке, должен выглядеть, как показано ниже:

Power Switch Controller
Status: OFF
"здесь кнопка красная или зеленая в зависимости от состояния выключателя"

Если вы хотите, что бы выключатель сетевого питания запускался автоматически, когда схема включалась или перезагружалась Добавьте несколько строк в следующий файл "init.lua":

Сохраните код на ESP в качестве "init.lua", перезагрузите ESP. При перезагрузке нашего девайса автоматически перезагрузится программа и файл "init.lua" запустит основной файл "web_switch.lua":
init_lua
Программное и аппаратное обеспечение конструкции распространяется в надежде, что они будут полезны, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемых гарантий КОММЕРЧЕСКОЙ ЦЕННОСТИ или ПРИГОДНОСТИ ДЛЯ КОНКРЕТНЫХ ЦЕЛЕЙ.

ВНИМАНИЕ! Не играйте с напряжением это смертельно!
Только для тех кто имеет имеет знания о работе с высоким напряжением!
Не используйте его без надлежащих знаний в электрике!
Не используйте его без надлежащего предохранителя в сети высокого напряжения!
Это не игрушка!



Метки записи: , , , , , , , .





  • Здравствуйте Кирилл.

    Выходит ошибка:

    PANIC: unprotected error in call to Lua API (web_switch.lua:8: attempt to call global ‘sendPage’ (a nil value))

    ?)Ќэ19@h…ќяуЋЏИь€¦ЁHш

    что я не так делаю, не подскажите?

    • 8 строка в моем примере файла web_switch.lua: if newstat==»ON» then gpio.write(outpin,gpio.HIGH) return end

      а у Вас ? Вы создали 2 файла ?

      Вы подключились к вашей сети Wi-Fi?

      В строке wifi.sta.config ( «YOUR_WIFI_SSID» , «PASSWORD» ) указали ваши логин и пароль ? см. самые первые сроки кода в этой статье, на скрине они закомментированны, в вашем случае они должны быть без «—» именно они отвечают за подключение к сущ. точке доступа.

      • У меня 8 строка файла:
        sendPage(conn)

        как и написано в скрипте «Веб Сервер:»

        Вы не могли бы выложить полный текст скрипта файла web_switch.lua?

        Файла два, init и web_switch.

        • Тексты выложены, не пойму зачем дублировать. Говорю же вам, посмотрите скрин, на нем один скрипт web_switch!
          1 строк = «— One time ESP Setup —» и вставляет по порядку!!!

  • Dmitriy Ponomarev

    А не могли бы выложить сами платы,насколько вижу делали в eagle

  • Владимир Андрущенко

    Здравствуйте.
    Спасибо за обучающий материал.
    Вопрос: откуда в резетке берётся напряжение VIN?
    Видимо, ниоткуда…
    Значит, нужен ещё дополнительній модуль питания, что значительно (почти в два раза) увеличит размері печатной платі. Я прав? или есть изящное решение по организации питания микропроцессорной части?
    Спасибо!

  • Sergey Pershin

    Ушёл с NodeMCU на Arduino ESP8266, и счастью нет предела — без какой-либо возни можно писать прошивки сразу на C, библиотека для web-сервера прилагается. Работает гораздо быстрее, и памяти навалом 🙂

  • Владимир Андрущенко

    В статье участки кода, а можно весь код посмотреть и прошить?
    Спасибо.

    • Не участки а весь код, вам его править надо, поэтому разбито и вставлен текст с пояснением что к чему. Без правки прошить не получится. В статье все есть.
      Пожалуйста.

  • Владимир Андрущенко

    Даю відержку из єтой статьи. Такое впечетление, что єто переводчик Гугл переводил, ибо я совсем ничего понимаю, то-есть отдельніе слова понимаю, но в соокупности у меня ничего н получается понять.
    Текст написан верно?
    Спасибо!
    Вот відержка:

    Для тестирования оптосимистора команда, которую мы будем использовать
    «Blinky» часть кода и, если все нормально будет мигать LED2 с выбраной
    ставки «жественной». Запустите модифицированный представленный ниже:

  • Владимир Андрущенко

    Здравствуйте! Пожалуйста, подправьте текст статьи, а то сложно понять о чём речь, для новичка.
    Спасибо.

Календарь публикаций

Декабрь 2016
Пн Вт Ср Чт Пт Сб Вс
« Ноя    
 1234
567891011
12131415161718
19202122232425
262728293031  

Не пропусти акцию:

Архив новостей

Подписаться на канал KIRILL NESTEROV