среда, 11 января 2017 г.

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



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

Решил я создать интересный девайс, для контроля сетевого напряжения с управлением по 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 выводов:
Функция переключения питания, действующего на основании полученной команды:
Отправляем функцию, основанной на странице по запросу:
')
   conn:send('

Power Switch Controller

'
)
   conn:send('Status: ')
   if (status == "ON") then      conn:send('ON')
   elseif (status == "OFF") then    conn:send('OFF')
   else                      
      conn:send(status)
      conn:send('%')
   end
   conn:send('


')
   conn:send('
'
)
   if (status == "ON") then  conn:send('

'
)
   elseif (status == "OFF") then  conn:send('')
   end
   conn:send('
')
   conn:send('
')
end
Веб Сервер:
Сохраните код на ESP как "web_switch.lua", перезагрузим ESP и выполним команду:
Откройте ваш любимый веб-браузер и введите новый IP-адрес веб-сервера. Если все в порядке, должен выглядеть, как показано ниже:
Power Switch Controller
Status: OFF
"здесь кнопка красная или зеленая в зависимости от состояния выключателя"
Если вы хотите, что бы выключатель сетевого питания запускался автоматически, когда схема включалась или перезагружалась Добавьте несколько строк в следующий файл "init.lua":

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