Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Управление на отопление с ESP8266 по температура или време
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=16777
Страница 1 от 5

Автор:  kalata23 [ Нед Сеп 22, 2019 1:53 am ]
Заглавие:  Управление на отопление с ESP8266 по температура или време

Зимата наближава и реших тази година, малко да оптимизирам отоплението вкъщи. Не се знае каква зима ще бъде, пък предишните години съм бил в положение - или е топло вкъщи, ама отоплението работи постоянно, когато сме вкъщи - или не е чак толкова топло, но пък отоплението не работи когато спим. За това ми се върти идея, да оптимизирам малко отоплението през зимния сезон.

За това ми се е заформило желание да направя терморегулатор, който ще се управлява от място (т.е с копчета да се задава температурата) и чрез някакво приложение, било то WEB интерфейс или приложение за телефон (за приятелката ми е много сложно да цъка браузъри от телефона и да помни адреси на страници). Тук нарочно не споменавам какъв отоплителен уред ще управлявам, защото за момента съм се спрял на радиатора в спалнята, но в зависимост от реализацията на проекта може да го мултиплицирам същия проект с леки модификации и да го управлявам още и климатика в хола.

Изискванията към управлението на радиатора/климатика са:
- Да може да се управлява по температура
- Да може да се управлява по време

За MCU съм се спрял на ESP8266, защото китайците продават готови готови платки с USB-serial converter на платката и всичко, което е необходимо, за да му бучнеш един сензор и едно реле, без необходимост от особено много допълнителни части, при това за около $2-3. Предимство е и че ESP8266 има Wifi Sta+SoftAP, което също спестява чаркове.

От хардуерна гледна точка съм го замислил, терморегулатора да е събран в една кутия. Ще има 2 бутона за регулиране на температурата, един бутон за превключване на Ръчно/Дистанционно управление, LCD дисплей, да показва измерената и зададената температура и толкова.

Единственото, което ме мъчи е управлението по време. Искам да мога да планирам включванията и изключванията, например:

- Включи след определен период от време.
- Включи в точно определен период от време.
- Включи в точно определено време всеки Понеделник - Петък.


Към момента успях да измисля два варианта, като и двата не ми харесват.

Вариант 1 - изпращам заявки директно към ESP-то, то си създава задачи. От RTC или Internet взима реалното време и периодично проверява дали е дошъл момента да изпълни някоя от задачите, ако ли не, си цикли.

Вариант 2 - Изпращам заявки към домашния компютър (сървъра), той създава Cron jobs/tasks, те пък изпращат заявки към ESP-то, което пък включва/изключва отоплителния уред.

При вариант 1, опасенията ми са, че разполагам с лимитирани ресурси, все пак машинката ще търкаля HTTP сървър, wifi стек, ще говори по I2C, а и при спиране на захранването, трябва да помни всички настройки, EEPROM паметта, ако изобщо има такава, а не е секция от flash паметта, е 512 байта, в които вече 160 са заети за 2 SSID-та по 16 байта, 2 пароли по 64 байта. Добавянето на външна eeprom памет също е вариант, но пък увеличава времето за комуникиране с периферията, за сметка на времето за изпълнение на вътрешните си задачи.

При вариант 2, опасенията ми са, че тия cron jobs/tabs ще ги създавам от php скрипт, който при един друг проект ми показа, че не е много надеждно решение. Единственото предимство на този вариант е, че тъй като вече имам инсталиран XAMMP, комуникацията навън ще е една идея по-сигурна, защото ще бъде през https, вместо http.

Не знам как се подхожда в подобни случаи? Как бихте реализирали целта и с какво? Мислих си и за MQTT, ако пусна брокер на сървъра и ESP-то е клиент. Но пък не съм запознат с MQTT и предполагам ще се наложи да си пиша собствен Web базиран клиент, с който да управялвам ESP-то от WEB-а.

Автор:  palavrov [ Нед Сеп 22, 2019 2:01 am ]
Заглавие:  Re: Управление на отопление с ESP8266 по температура или вре

Тая работа трябва да се управлява през смартфон - да ви следи координатите и когато има някой примерно на 10-20 минути от вкъщи да включва/изключва отоплението ;)

Автор:  kalata23 [ Нед Сеп 22, 2019 2:16 am ]
Заглавие:  Re: Управление на отопление с ESP8266 по температура или вре

palavrov написа:
Тая работа трябва да се управлява през смартфон - да ви следи координатите и когато има някой примерно на 10-20 минути от вкъщи да включва/изключва отоплението ;)

То, само това остава.. :D

Автор:  itso.t [ Нед Сеп 22, 2019 9:45 am ]
Заглавие:  Re: Управление на отопление с ESP8266 по температура или вре

Що бре, готино е. Прибираш се за да си оставиш автомобила пред вас, и да отидеш спокойно на кръчма, а в това време климатика вече се е включил и бичи ли бичи...
Не те ли кефи идеята? :lol:

Автор:  bongo_x2 [ Нед Сеп 22, 2019 10:12 am ]
Заглавие:  Re: Управление на отопление с ESP8266 по температура или вре

Повечето климатици вече го имат. Дори този, който сложих скоро на бабата, срешу 20лв отгоре му даваха WiFi, ама аз нарочно не исках. :P

Автор:  TheWizard [ Нед Сеп 22, 2019 10:22 am ]
Заглавие:  Re: Управление на отопление с ESP8266 по температура или вре

нищо страшно няма в MQTT, просто трябва да знаеш как да работиш на ниво USER .... демек "чат"
сорса ти за ESP е библиотека и 10 реда сорс (дори и секюрнато)
тук можеш да видиш примери за работа с PubSub https://github.com/Wiz-IO/platform-wizi ... r/examples
пак там ... може да си направиш демони за сървъра написани на Ардуино
PHP, Pytnon, Node варианти на библиотеки - колкото щеш
ако ще ползваш MQTT секюрнат(TLS) зора ти е да настроиш брокера да работи като такъв
или да ползваш външен "платен" ... това сигурно отпада

също така може да пробваш https://blynk.io/ за андроида и ESP-то е лесно

Автор:  lcr [ Нед Сеп 22, 2019 10:25 am ]
Заглавие:  Re: Управление на отопление с ESP8266 по температура или вре

Аз повече бих мислил за управлението по температура.
Ако просто включваш и изключваш нагряването при определени зададени прагове, че получиш много голямо отклонение от зададената температура и нещото ще работи неефективно. За да избегнеш това, следва да отчиташ скоростта с която се променя температурата и така регулаторът да работи с предсказване. Демек да реализираш ПИД алгоритъм.
За времето най-добре ползвай RTC модул. Ако няма достатъчно ресурси за всичкото, възложи меренето и регулирането на температурата на отделен контролер.

Автор:  amdatlon [ Нед Сеп 22, 2019 2:13 pm ]
Заглавие:  Re: Управление на отопление с ESP8266 по температура или вре

Мярнах една такава тема в друг форум , май е такова каквото търсиш
http://www.e-kak.info/forum/viewtopic.php?f=37&t=7353
Sonoff.

Автор:  kalata23 [ Нед Сеп 22, 2019 2:35 pm ]
Заглавие:  Re: Управление на отопление с ESP8266 по температура или вре

lcr написа:
Аз повече бих мислил за управлението по температура.....

За сега хистерезисът е достатъчен. ПИД или нещо от вида, ми се струва, ще е по-полезен ако мога да управлявам мощността на отоплителния уред.


TheWizard написа:
нищо страшно няма в MQTT, просто трябва да знаеш как да работиш на ниво USER .... демек "чат"
сорса ти за ESP е библиотека и 10 реда сорс (дори и секюрнато)
тук можеш да видиш примери за работа с PubSub https://github.com/Wiz-IO/platform-wizi ... r/examples
пак там ... може да си направиш демони за сървъра написани на Ардуино
PHP, Pytnon, Node варианти на библиотеки - колкото щеш
ако ще ползваш MQTT секюрнат(TLS) зора ти е да настроиш брокера да работи като такъв
или да ползваш външен "платен" ... това сигурно отпада

също така може да пробваш https://blynk.io/ за андроида и ESP-то е лесно


Въпросът е с MQTT как става реализирането на планировчика? Къде се съхраняват плановете, как се изпълняват?


ПП:
amdatlon написа:
Мярнах една такава тема в друг форум , май е такова каквото търсиш
http://www.e-kak.info/forum/viewtopic.php?f=37&t=7353
Sonoff.

Sonoff е друга бира. въпросът е да си направя сам Sonoff-а.

Автор:  lcr [ Нед Сеп 22, 2019 3:20 pm ]
Заглавие:  Re: Управление на отопление с ESP8266 по температура или вре

Мощността не се ли регулира? Ако отоплителят е включен през 50% от времето, мощността не е ли 50% от максималната?

Автор:  kalata23 [ Нед Сеп 22, 2019 3:41 pm ]
Заглавие:  Re: Управление на отопление с ESP8266 по температура или вре

Нещо не те разбирам... Под мощност имам предвид, да мога да управлявам колко реотана да работят или колко силно да духа перката. А един радиатор, който е с 1-2 реотана, които винаги рабтоят заедно, дали е практично да го управлявам с ШИМ през реле?
Все си мисля, че мощността ще е константна, без значение дали ще работи 30 минути радиаторът и ще изключи или ще работи цял ден. Ако бъркам, моля да ме поправиш.

ПП: Добре. ще вкарам малко детайли: Имам един радиатор Смядово, който е в спалнята. Той ще се управлява през реле (20-25А), че контакторите ще има да ме будят посред нощ.
Радиаторът го пускам и спирам през релето, като меря температурата или задавам времето, когато трябва да сработи или изключи релето.
В хола имам климатик. Климатикът за сега не влиза в управлението на регулатора, а и него мога и сега да си го управлявам дистанционно, без да има вграден WiFi. Едно ESP + инфраред, е напълно достатъчно да му пращам команди. Имам и скрипт с който мога да му пращам пакета с командите и да си променям който си искам параметър през WEB интерфейс.

Автор:  TheWizard [ Нед Сеп 22, 2019 4:23 pm ]
Заглавие:  Re: Управление на отопление с ESP8266 по температура или вре

общо взето това се прави с "копи/пейст" ... нещо като това:
https://www.youtube.com/watch?v=7t0ZkJ7 ... r_embedded

Автор:  lcr [ Нед Сеп 22, 2019 4:38 pm ]
Заглавие:  Re: Управление на отопление с ESP8266 по температура или вре

Мощността е извършената работа за дадено време. Ако променяш съотношението време през което нещото е включено / време през което нещото е изключено (ШИМ) променяш средната мощност за целия период от време.

Това е единственият начин да се регулира мощност на изход, който има само 2 въможни състояния - включен или изключен.

Това, че щракалката може и да те буди сигурно е неприятно, но по-неприятното е ако изключиш нагревателя прекалено късно и температурата подмине желаната. Това, колко по-рано от желаната ще изключваш нагревателя пък зависи от скоростта с която се променя тя.

Не казвам, че така трябва да го направиш, но така се прави обикновено винаги, когато има относително инертни процеси, какъвто е топлообменът.

Автор:  slav4o.com [ Нед Сеп 22, 2019 4:49 pm ]
Заглавие:  Re: Управление на отопление с ESP8266 по температура или вре

Ами със тиристор/ симистор няма да трака.
А какъв е смисълът от таймери, нали идеята е сам по интернет да го пуска, когато наближи времето да се прибира. Може да се сложи термометър - термодатчик, който да се следи през web

Иначе аз такова нещо освен за климатик не бих направил вкъщи - отоплителен уред без надзор.

Автор:  kalata23 [ Нед Сеп 22, 2019 6:32 pm ]
Заглавие:  Re: Управление на отопление с ESP8266 по температура или вре

TheWizard. Това с blink е супер и наистина е доста практично. Недостатъкът е, че "програмата" се изпълнява на самия смартфон. До колкото разбирам от видеата, софтуерът е на телефона, а есп-то изпълнява само команди. Какво става ако искам да мога да го управлявам от повече от едно устройства? Примерно, моята приятелка се прибира преди мен от работа, включва го като тръгва към вкъщи, после излиза от вкъщи, да си свърши нейните задачи, при което аз се прибирам? Освен това, тя е индианец, Сто на сто ще цъкне не където трябва и ще прецака "програмата", вместо да си пусне радиатора.

lcr, да, ако ползваш ШИМ, можеш да намалиш мощността, ама това значи релето да щрака като лудо и бързо ще изгори.

Славчо, терморегулаторът ще се включва в контакта а в другия си край ще има контакт, в който да се включва отоплителният уред. Не съм запознат с тиристорите, но от принципните схеми, които разгледах няма ли опасност фазата да остане постоянно включена, а нулата да е прекъсната, в зависимост от това, кой от двата щепсела е завъртян? С два тиристора, може да се прекъсват и двата контакта, ама тогава пак остава опасността единият тиристор да не сработи, а другият да сработи, т.е пак има възможност да е прекъсната само 0-та. С релетата поне мога да прекъсвам едновременно и фазата и нулата и така няма да има значение как съм завъртял щепсела, тогава най-лошите ситуации са - постоянно комутирани Фаза и Нула или нито едно от двете да не е комутирано.

За сега това с температурата нека си остане с прост хистерезис. Не виждам голяма разлика, дали радиаторът ще работи непрекъснато 1 час, после ще почива половин или ще работи наполовина 1:30 часа.

За сега целта ми е управлението през интернет да е унифицирано. Примерно ESP-то изпраща/получава заявки към Web server и действа според данните. Така по-късно мога да направя WEB API, което да генерира задачите или Andoid APP, който да генерира задачите.
Все пак регулаторът ще се ползва по два начина - Задавам му примерно в 17:00 да включи, съответно като се прибера мога да го изключа или му казвам докато съм на работа, поддържай 16 градуса, та вечерта като се прибера да може бързо да направи 20. Или докато спя, да поддържа около 18 градуса.

От предложенията и съветите стигам до извода, че най-добре ще е с MQTT, хоствам брокер на домашния компютър, който да изпраща съобщения на ESP-то; Създавам WEB клиент или ползвам Андроид приложение, за да изпращам съобщения към брокера и той да препредава съобщенията към/от ESP-то.

Темата малко или много се фокусира върху управлението на радиатора, което според мен е тривиално. а на мен зорът ми е как да създавам задачи, които да се изпълняват през определен период от време или в точно определени дни/часове.

Страница 1 от 5 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/