Главная » Статьи » Проекты » Контроллер для ПВК на базе ESP8266 NodeMCU

Контроллер для ПВК на базе ESP8266 NodeMCU Lua
Итак, нам потребуется модуль esp8266 NodeMCU v2 Lua WI-FI на основе ESP8266 от Amica. Многие используют подобные модули для проектов "Умный дом", но мы хотим использовать его для управления пароводяным котлом (ПВК). Посмотрев данный сюжет у Вас появится представление о данном модуле


В следующем видео смотрим на прототип системы, а именно: состав контроллера, почему ESP8266, обзор функций (полуавтоматический режим), демонстрация работы, сколько потребляет контроллер, как и на чем будем собирать контроллер , когда будем испытывать новый контроллер


Переходим к третьей части. Посмотрим работает ли ESP8266 с "твердым" реле, общее устройство системы управления ПВК, что в корпусе компьютерного БП, корпус для ESP8266, о принципе работы, как собирал систему, себестоимость контроллера без учета работ



В четвертой части займемся следующими вопросами: почему ds18b20 плохо работают у нас, решение проблемы датчиков температуры или переждать помеху с помощью delay(), особенности опроса датчиков, другое решение по ds18b20 - питание 5В


Пятая часть является принципиально важной, в ней мы рассмотрим конвертер уровней для ds18b20, применим технологию AJAX JSON, сделаем звуковые оповещения, загрузка файлов через SPIFFS, увидим работу на практике, узнаем как залить скетч по "воздуху"


В шестой части мы увидим, как подключить ИК пульт от ТВ Sony к нашему контроллеру, сделаем фильтр на БП для устранения помех от электромиксера, покажу индикацию ну и конечно попробуем наш контроллер в реальном деле


В седьмой части внесем существенные изменения в работу с wi-fi, доработаем программу управления миксером, впервые расскажу о программном режиме, посмотрим на скетч


Восьмая часть нашего сериала посвящена, в основном, программному режиму работы контроллера, рассмотрим стенд для тестирования, узнаем как устроен этот режим, как редактировать программу, как подключать датчики, и о некоторых доработках и исправлениях в скетче


В девятой части мы реализуем, по многочисленным просьбам, уведомления о прохождении заданной температуры и посмотрим на навый режим регулирования температуры в ПВК - ПИД регулирование

Схема системы:
Перейти

Необходимые компоненты:
2-х канальный релейный
модуль с оптопарой

ESP8266 V3 NodeMcu 4Mb Lua
на CH340

База для ESP8266 V3 NodeMcu
v.1.0 (6-24В)



Твердое реле
Датчик температуры
LCD Дисплей 1602 I2C
БП AC220-DC5V 1А или 2А
Провода мама-мама
40шт(10-20см)
Нужные ссылки:
в последней версии (v.2.5) добавлено:
-восстановление состояний реле;
-работа по MQTT;
-коррекция температуры (мультипликативная, аддитивная).

  Скетч v.2.5
  Скетч v.2.4
  Драйвер для CH340
  Библиотека для LCD ESP8266-I2C-LCD1602-master.zip
  Скетч для поиска адреса LCD1602 (I2C search)
  Звуковые файлы для загрузки оповещений
Категория: Контроллер для ПВК на базе ESP8266 NodeMCU | Добавил: Grs2002 (08.05.2018)
Просмотров: 6800 | Комментарии: 166 | Рейтинг: 5.0/5
Всего комментариев: 1661 2 3 4 5 6 »
avatar
1
1 ffk • 19:27, 07.04.2018
День добрый Григорий, примите поздравления с открытием сайта.
Позвольте вопросы, будет ли дальнейшее развитие автоматики в свободном доступе, а именно:
- коррекция по атмосферному давлению (датчик или региональное с интернета)
- цикличность или временные диапазоны работы мешалки (чтоб не работала  ночью)
- дубль сообщений (по почте/мессенджер)
- возможность отключить аварийный стоп при отваливании датчиков
avatar
0
2 Grs2002 • 20:51, 07.04.2018
Здравствуйте! Спасибо, да нужно что-то мудрить для поддержки штанов)) Безусловно развитие будет, и поскольку в скетче много чего взято у разных людей - прятать чтоб продать как свое конечно же я не буду, все будет в открытом доступе, на настоящий момент много проблем по жизни поэтому не успеваю, колодец затапливает нужна автоматика на дринаж, баня замерзает периодически лопается сантехника, тоже нужно регулирование/поддержание, ворота вручную открываем и т.д. поэтому прошу набраться терпения буду заниматься.
avatar
0
3 Bazi • 13:47, 09.04.2018
Вот здесь "Счастливчик" сделал подобную автоматику https://luckycenter.ru/mnogofunkcionalnaja-avtomatika-luckybox. Может что то перенять? Есть вопрос по поводу регулировки мощности ТЭНа, можно ли как то регулировать  scr bta10 https://ru.aliexpress.com/item/10000-W-High-Power-SCR-BTA10-Electronic-Voltage-Regulator-Speed-Controller-New-Ar rivel/32803661758.html?spm=a2g0s.9042311.0.0.JX5kLq от контроллера? Я заикнулся "Счастливчику" про серводвигатель, он, можно сказать, повертел пальцем у виска. Я так понял, что есть более простое решение, но я не знаю какое. Примерно догадываюсь что речь идет о ШИМ, но как  и что - непонятно. Да, отличная идея с сайтом.
avatar
0
5 Grs2002 • 16:02, 09.04.2018
Можно сервой крутить ручку, но это мягко скажем геморойно, конечно нужно искать другой путь, а почему Вам не нравится твердое реле и мой способ регулировки?
avatar
0
4 ffk • 14:17, 09.04.2018
У Счастливчика пока нет ничего, перенять ИМХО можно картридер, если писать логи и строить потом красивые графики.
avatar
0
6 ffk • 21:43, 19.04.2018
Доброго времени суток в ссылке на скетч лишняя кавычка smile
avatar
0
11 Grs2002 • 00:59, 20.04.2018
спасибо! поправил
avatar
1
7 osmolov • 22:06, 19.04.2018
Отличный проект! Большое человеческое СПАСИБО автору! Со своей стороны добавил пару функций поверх версии 2.2:
1. коррекция показаний температурных датчиков (т.н. поправка)
2. возможность публикации текущих температур по mqtt-протоколу

Патч: https://bit.ly/2Hc6hmF
Скетч: https://bit.ly/2HeTb8e
avatar
0
8 ffk • 22:16, 19.04.2018
Если не сложно можете пояснить что за коррекция датчиков?
И куда по mqtt уходит?
avatar
1
9 osmolov • 22:41, 19.04.2018
- если датчик врет - можно внести поправку (в пределах -10гр ... +10гр, с шагом 0.01)

- по mqtt: шлет туда куда скажешь. настраивается на контроллере (адрес, порт, логин, пароль). есть бесплатные сервисы (например, cloudmqtt.com), а можно установить свой. удобный протокол - двухсторонний, широкого применения. можно метрики в базы собирать, графики строить, а можно и управлять контроллером с помощью него (в перспективе)

P.S. я вот не заметил, что новая версия вышла.. сделаю патч на 2.4 завтра.
нужно в тексте, для анонимных пользователей, приписку сделать
avatar
0
10 ffk • 22:44, 19.04.2018
Ооо нужное дело
avatar
1
12 Grs2002 • 01:10, 20.04.2018
Спасибо! буду пытаться внедрять предложения, еще раз спасибо Вам за участие, идей много, буду постепенно реализовывать, прихожу к мысли, что для хорошего функционала и красивого интерфейса нужен отдельный веб сервер, на который есп будет слать показания и исполнять указания,поскольку если на одной странице размещаешь более десяти выпадающих списков то у модуля возникает тупняк)). По поводу коррекции пока не разбирался с Вашим предложением, но дело нужное т.к. есть проблемы видимо из-за питания 3.3В, но готовлю решение по этому вопросу, с mqtt для себя пока не вижу применения, но знаю что многим оно нужно, у алекса морозова эта тема хорошо представлена думаю тоже прикрутить
avatar
0
15 osmolov • 11:53, 20.04.2018
можно теми же define'ами - собирать разные версии: lite - с ограниченным функционалом для нетребовательных пользователей и mega - для работы с внешними серверами по различным протоколам.

по коррекции датчиков - я опускаю все датчики в одинаковую среду и показания у них различаются до градуса (+/-). а так - можно скорректировать.
avatar
0
16 Grs2002 • 14:23, 20.04.2018
я признаться до таких тонкостей не дошел, но и показания датчиком у меня почти не отличались, видимо из одной партии были, форум по общим вопросам Тынц
avatar
1
13 osmolov • 01:48, 20.04.2018
Прикрутил к v2.4:
Патч:патч
Скетч: скетч
avatar
0
17 ffk • 12:44, 21.04.2018
Прошу прощения, а куда и как применяется патч?
avatar
0
18 osmolov • 13:33, 21.04.2018
патч - это файл изменений относительно оригинальной версии. если Вы пользуетесь оригинальной версией, без своих функциональных изменений - лучше взять полный скетч. В патче удобнее смотреть, что именно и как подверглось изменению, не ковыряясь в полном коде.

ну, а по существу вопроса: патч применяется спец. утилитами:
под linux - так и называется 'patch'. под Windows:WinMerge/TortoiseSVN и т.п.
avatar
0
19 ffk • 18:50, 21.04.2018
Понятно smile я просто подумал есть какой то механизм у arduino ide.
Скажите пожалуйста, а на вашей версии версии есть какой то пароль?
А то имел свойство накатить обновление по воздуху, сейчас висит на 192.168.4.1 и просит пароль, свой не ставил.
avatar
0
20 osmolov • 19:45, 21.04.2018
честно говоря, не понимаю о каком пароле речь. обновлением "по воздуху" не пользовался и даже не смотрел, что оно там хочет (пока). но вряд ли скетч можно "по воздуху" шить
avatar
0
21 ffk • 19:50, 21.04.2018
Да в общем правда непонятно, свой пароль вроде не ставил, не суть, потру, прошью кабелем.
avatar
0
22 Grs2002 • 18:17, 22.04.2018
пароля нет, видимо поднял свою точку доступа и подключиться к ней нужно ввести Pa$$w0rd, еще заметил не знаю правда по чему, но у меня с первого раза не подключается в вифи, поднимает свою точку, а потом через пять минут подрубается все таки.
avatar
0
23 Grs2002 • 18:18, 22.04.2018
приветствую, да по воздуху шить можно, для этого делаете в среде экспорт бинарника, заходите через веб выбираете и загружаете, модуль перезагрузится и будет с новой прошивкой
avatar
0
14 osmolov • 11:49, 20.04.2018
Из последних изменений по MQTT: публикация (и изменение!) состояния релюшек и состояния программы (выполняется/не выполняется). Состояние программы изменять нельзя. И если программа выполняется - изменение состояния релюшек закрыто. Ссылки те же.
avatar
1
24 Grs2002 • 20:40, 08.05.2018
добавил новую версию, спасибо за mqtt, по вашим следам легче)) добавил восстановление состояния реле, и коррекцию температуры (мультипликативная и аддитивная составляющие, и сразу можно смотреть как влияют коэф на вкладке управление контролем)
avatar
0
25 belovds27 • 12:17, 10.05.2018
Извините, может где пропустил, зачем в материалах лсд дисплей, и где про него говорили подробнее wacko
avatar
0
26 Grs2002 • 13:21, 10.05.2018
ничего, на доп канале в ютуб было видео про дисплей, но я его неудачно подключил в 12 вольтам и он помер, а до этого успел только логи на него вывести при загрузке модуля, короче только планирую его прикрутить, но кому нужно и если разбираетесь в скетче, то легко можно закинуть все и на него
avatar
0
27 samstaba1953 • 10:45, 21.05.2018
есть вопрос
Есть три фазы
В ПВК три тэна по 2.5 КВт
Хочу ими управлять при помощи такой штуки 

https://www.aliexpress.com/item/AC-Light-Dimmer-Module-for-PWM-control-1-Channel-3-3V-5V-logic-AC-50-60hz/32802025086.html?spm=a2g0s.9042311.0.0.274233eduut7Kf

это детектор нуля и симистор на одной плате позволяет красиво резать синусоиду  да и некоторыми электродвигателями такое управление оборотами возможно.
Можно ли в ваш скетч такое добавить?
т.е. добавить работу с точкой перехода через ноль на трех фазах и запуск 100 герцового ШИМа  с задержкой от 0 до 90 мСек и заполнением 9% т.о. обеспечив регулировку в диапазоне от 10 до 100% на каждой фазе
avatar
0
28 Grs2002 • 11:34, 21.05.2018
тема интересная, я правда не занимался конкретно таким вопросом, но думаю принципе все возможно, но вижу сразу две проблемы, шим 100гц это первая, вторая там написано номинальная нагрузка 2А, макс 5 (хотя тиристор вроде на 16А, возможно маловат радиатор) а вам нужно минимум 10-15А, ну видимо можно найти и более мощные варианты или улучшить охлаждение. Поэтому придется делать свой программный ШИМ, т.к. на есп, я точно правда не помню, но кажется частота от 1 кГц, читать состояние ноля, и когда ноль, давать управление на ногу PWM, длительности и мощности можно рассчитать, это ниплохо было бы с осциллографом посмотреть и настроить. Короче да думаю возможно, но этим нужно заниматься..Хотя если у вас три фазы, я не стал бы загоняться и просто поставил бы три твердых реле включил бы звездой с нулем или трехфазное твердое поставил бы сразу, управление параллельно на все три и все бы работало как задумано..
1-10 11-20 21-30 31-40 41-50 51-53
avatar