Управление отоплением в загородном доме (GSM)

Тема в разделе "Глядите, что я сделал", создана пользователем Вячеслав, 6 дек 2012.

  1. parovoZZ

    parovoZZ Гуру

    Когда котёл физически выключен. В любом другом случае котёл обязан работать при околонулевых температурах.
     
  2. spamaway

    spamaway Нерд

    Собственно, по сабжу пару вопросов хочу поднять.
    1) идея топикстартера выводить смс в сериал без сохранения на модеме и постоянно читать сериал ардуиной в loop вроде как работает, но только до того момента, как мы пытаемся общаться с модемом для каких-либо целей, помимо отлова "+CMT". Даже добавление простой проверки "модем еще жив?" требует отправлять в модем "АТ" и некоторое время читать вывод, ожидая "ОК". Понятно, что "АТ" выполняется быстро, и вероятность, что в эти пару десятков-сотен миллисекунд придет СМС - крайне мала. Но если мы используем долгие АТ команды, такие как установка GPRS соединения, отправка данных на сервер и чтение данных из интернета, время ожидания ответа от этих команд - уже несколько секунд. Если за это время придет SMS, насколько я понимаю, функция ожидания ответа от АТ команды просто проглотит +CMT, и SMS не будет обработана. Вот я и думаю, если установить сохранение входящих СМС в модем, будет ли оно выполняться в бэкграунде, когда модем, например, шлет GPRS данные? Потом, когда модем нам будет не нужен, в loop прочитаем имеющиеся в памяти СМС, пропарсим, выполним указанные действия, удалим СМС. Конечно, это больше геммора в коде, но вероятность пропуска СМС во время взаимодействия с модемом должна сойти в ноль. Кто пробовал? Имеет это какой-то смысл, или смириться и надеяться, что во время периодической обработки AT команд никто СМС не пришлет?

    2) Обнаружено странное поведение модема. Отправка данных в интернет требует выполнять несколько долгих AT команд с ожиданием ответа (чтобы знать, когда переходить к следующей команде, так как разброс времени от 150 мс до десятка секунд). Так вот, если позвонить на модем, когда он занимается этой деятельностью, звонок скетчем не регистрируется (это понятно, так как ардуина занята другим делом), но, что хуже, передача данных начинает тупить. Все последующие АТ команды, относящиеся к GPRS выдают ошибку, и нормальная работа с интернетом восстанавливается только через 1-2 полных попытки отправить данные. Если слать данные каждую минуту, с этим можно смириться, но если отсылка данных будет раз в 10 минут, это не очень хорошо, так как мы не получим данные за длительный промежуток времени. Я думал, может RING вторгается в алгоритм функции ожидания ответа от AT команды и сводит ее с ума, сделал вывод модема в терминал, но ничего странного не обнаружил! Или может опсос закрывает сессию во время звонка? Так и не понял, что это. Такое впечатление, что при поступлении звонка, модем на своем уровне отрубает работу с интернетом. Буду еще разбираться, но если кто-то уже наступал на эти грабли - расскажите, что это, и как с этим бороться?

    3) Кто-нибудь пытался выгадать пользу от EEPROM 24C32N, который на модуле DS1307? Вроде обещают 32 килобита, но в инете не нашел восторженных статей о том, как их использовать, а у меня не сильно мозгов пока хватает на низкоуровневую работу с памятью. Было бы интересно посмотреть образцы считывания и записи float, тогда можно было бы сделать лог последних температур. Например, циклично заносить в память текущие значения температуры каждый час, а по команде выдавать последние значения в терминал или в смс. Когда память закончится, продолжать с начального адреса, затирая самые старые значения. А адрес последней сохраненной температуры хранить, например, по нулевому адресу. Ресурса памяти при 100000 циклах записи должно хватить на 11 лет, если сохранять каждый час... обычно девайсы столько не используются, так что приемлемо, да и если память накроется, ее можно заменить на новую или игнорировать ошибки, так как с основным функционалом девайса она не связана. Понятно, что это не сильно нужно, но если уж все равно память есть, нужно ей какое-то применение найти, да и опыт работы с внешней памятью не помешает :) Для встроенной в ардуину EEPROM годную библиотеку сделали - там вопросов нет, а для внешней памяти - тишина...

    4) Кто как детектирует наличие 220 вольт? Если прибор работает от обычной розетки - это понятно - пропало напряжение на блоке питания - значит и в сети 220 вольт нет. Но так и ардуина вырубится, что недопустимо. Но если сделать для нее самодельный ИБП на 5-9 вольт, то вход на ардуину будет постоянно под напряжением (иначе она не сможет работать). Если же ардуина питается от ИБП 220 вольт для котла, то в теории она всегда будет под напряжением. Неужели самый "красивый" способ - вставить бесполезный (неиспользуемый ни для чего) адаптер в незащищенную ИБП розетку и считывать напряжение с него? У меня есть непроверенная идея использовать раздельное питание, например 220->9в в круглый разьем ардуины, и 5в от аккумулятора через USB. Предположительно ардуина должна отдвавть приоритет 9 вольтам, и аккумулятор 5 вольт не будет высаживаться? Если же 220 вольт отключат, ардуина /вероятно/ перейдет на питание от USB 5в, а мы сможем детектировать отсутствие 9в на входе. Работает такая схема? Или есть уже проверенные варианты?
     
  3. parovoZZ

    parovoZZ Гуру

    По памяти - идея записи в нулевую ячейку текущего адреса для увеличения ресурса ни к чему не приведёт - нулевая ячейка накроется первой из-за постоянной перезаписи
    По детекции наличия сетевого 230 - в сети очень много разных детекторов нуля - можно на них сделать.
     
  4. spamaway

    spamaway Нерд

    В даташите AMTEL вообще миллион операций записи обещают:
    High Reliability
    – Endurance: 1 Million Write Cycles
    – Data Retention: 100 Years

    Нулевая ячейка - просто для удобства, чтобы хранить там адрес последней записи. А остальные - пойдут по циклу, типа 1,2,3,4,5,1,2. Сейчас нулевая ячейка ссылается на 2, значит для показа последних температур выводим значения 2,1,5,4,3. Впрочем, это уже под вопросом. Лимит памяти в 32 кб просто добивает, уже не знаю, что удалять. Сам файл скетча 29553 байт, из библиотек
    #include <SoftwareSerial.h>
    #include <LiquidCrystal_I2C.h>
    #include <RTClib.h>
    #include <DallasTemperature.h>
    #include <EEPROM.h>

    Пробовал отключать RTClib.h, выиграл 9 байт! Все время ругал производителей оборудования, которые выводят на экран что-то вроде "E6" вместо подробного описания ошибки, теперь и я таким же стал. Я прям теперь сочувствую тем, кто в 60-е программировал.
     
  5. parovoZZ

    parovoZZ Гуру

    Скажет мне кто - возможно ли к аттини13 прикрутить OLED? Но не просто прикрутить, а ещё и выводить на него циферки?
     
  6. parovoZZ

    parovoZZ Гуру

    Тогда программировали доценты, доктора, академики, а не школота.
     
  7. spamaway

    spamaway Нерд

    Дело не в научных степенях, а в изначальном ограничении платформы. Ведь и академики тоже были школотой, учились и научились, а не из космоса им знания в голову инопланетяне положили. Только вот если академикам дают ламповый шкаф с 64 байтами памяти и говорят, мол, напишите прогу для рассчета баллистической траектории ракеты, профессора начинают чесать репу, два года оптимизируют код, а потом выдают на партсобрании золотую фразу "Наши исследования показали, что никакая оптимизация не позволяет уместить нужный код в 64-х байтах памяти и требуется никак не меньше 84 байт", ну а партбюро дает распоряжение сделать новый ламповый компьютер с 84 байтами памяти... вот ведь компьютерная романтика. Так и мы, в век террабайтовых HDD оптимизируем код, урезая длины строк, чтобы тот уместился в 32 килобайта. Не знаю, как хобби может и прикольно, но для серъезных дел, имхо, нужно смотреть в сторону меги, или сразу переходить на что-то типа распберри... Когда полон идей, и идеи эти реализованы и работают, но не все сразу, потому что памяти не хватает - это уже не весело. Попробую еще отказаться от либы термометра и часов в пользу своего кода, но это уже какой-то изврат - куча времени тратится не на полезную работу, а на оптимизацию. Это я две уны и одну нану купил, теперь нужно им применение найти, а вообще, кто будет делать навороченный gsm термостат - берите сразу мегу. Цена может на пару сотен рублей дороже уны, но 256 килобайт памяти и куча пинов позволят реализовать все пожелания без оптимизаторского геммора...
     
  8. parovoZZ

    parovoZZ Гуру

    на абдурине? Ежики плакали и кололись, но всё равно жрали кактус?
     
  9. MESS

    MESS Гик

    Зимой котел не может быть выключен - абсурд. А если включен, то при температуре обратки в 6 гр принудительно включается горелка - это по алгоритму. Однако, если при этом в цепь управления включен контакт внешнего нештатного термостата и он не сработал ( по любой причине) до этого момента - то наступает пи... Потому как это не по алгоритму. Как называется котел так и не увидел????
    Что касается замерзания газа - я прошел это в первый год эксплуатации, пришлось даже греть газовую трубу. Но после очистки газопровода от воды это прекратилось
    лед в трубе.jpg утепл.jpg
     
  10. parovoZZ

    parovoZZ Гуру

    Моему котлу похер на внешний термостат. Более того, если он постоял без включения горелки более 3 дней - он включает насос на контур отопления.
     
  11. spamaway

    spamaway Нерд

    Аналогично. В +7 котел включится, даже если термостат ножницами отрезать (я это проверил в первый же день,когда подключил термостат). Если котел не включает антизаморозку при глючном термостате - это уже недоработки ПО котла. Человек, который приезжал ремонтировать котел, высказал мнение, что такое может быть из-за намерзания сосулек на выхлопной трубе (типа сосульки перекрыли приток/отток воздуха и датчики котла это заметили и не дали котлу работать), но, исходя из описания ошибки в мануале, я подозреваю, что просто глюконул датчик розжига, так как перед розжигом котел с закрытой камерой сгорания засасывает воздух с улицы, а если температура -20, может там эти электроды ионизации, проверяющие наличие пламени, и заглючили (фиг знает какая там ионизация воздуха в -20). Это же немцы, они при таких температурах ничего не испытывают. Говорят, некоторые мерседесы в -20 тоже не заводятся, нужно держать в теплом гараже... То, что котел не смог расжечь газ из-за холода - вероятность меньше, так как на этот случай припасено другое сообщение об ошибке, которое обычно показывается, если включать котел с перекрытым газом. Но это уже оффтоп. Суть темы не о глюках котлов, а о девайсе, который позволяет вовремя их выявить с целью предотвратить замораживание помещения и последующий ремонт.
     
  12. MESS

    MESS Гик

    При таком неуважении к котлу ардуина не поможет! Сначала котел следует проверить и настроить:(
    Я через все это прошел несколько лет назад. Контролирую температуру в комнатах и на обратке. (NodeMcu). Использую два внешних термостата. Один настраивается удаленно.
    Контроль пламени с помощью фотодиода пробовал - ненадежно. Поставил видео камеру. Заодно смотрю на счетчик - зимой не бываю.
    Контроль сети ( сейчас стоит ИБП) делал на реле 220В. Напруга пропала - реле откл и подает "1" на вход.
     
    Последнее редактирование: 17 фев 2019
  13. spamaway

    spamaway Нерд

    А что я могу поделать. По ошибке, которую показал котел, в интернете - тишина. То есть она не типичная. Приезжали люди из компании, которая устанавливала котел, все смотрели. Предположили, что наросла сосулька и перекрыла ток газа или воздуха, поэтому сработал датчик (когда приехали, было уже +2, сосулек не было, но уезжали в -20, сосулька небольшая была). В "душевной" беседе рассказали, что они котлы этой марки ставят уже 9 лет, но те, которые ставили 9 лет назад - работают до сих пор, и практически ничего с ними не случается (нет вызовов на ремонт, только осмотр и чистка), а те, которые стали делать 3 года назад под этим же названием - с ними постоянно что-то случается. Многие узлы, которые были из металла, заменили пластиком, теплообменник в "новой" версии стал значительно легче, чем в той, которая была раньше, насос был grundfos, заменили на более дешевый wilo. Короче, название - то же самое, а содержимое удешевили до максимума, чтобы держать конкурентные цены. Но это не только с котлами - сейчас во всем так. Фирме-производителю не выгодно делать то, что служит 10 лет, а если каждый год менять какой-то датчик за 5 тысяч или лопнувшую латунную хрень из "фольги" за 8 тысяч, то и производитель доволен, и сервисные центры без работы не сидят. Один потребитель только в проигрыше... Мастер даже то-ли в шутку, то-ли в серъез предложил купить второй такой же котел в качестве "донора" запчастей на будущее, потому что он в сборе стоит столько же, сколько 3-4 детали из него, если покупать их по-отдельности.

    Теперь просто перед отъездом будем сливать воду с котла и смесителей, чтобы снова не попасть на 8-10 тысяч, ну и SMS информирование о температуре в доме. Практика показала, что смесители не держат даже кратковременной заморозки при -2 градусах, а трубы даже с водой нигде не лопнули, так что если приехать даже через день после сигнала, можно их вполне спасти.
     
  14. MESS

    MESS Гик

    Все Ваши "приключения" и предположения типичны. Однако, котел, при правильной профилактике, может работать достаточно долго и без приключений( тьфу, тьфу).
    У каждого типа котла есть кроме общеизвестных, еще и свои собственные "скелеты в шкафу" и их надо "собрать в кучу" и просто следить. Ваши сервисмены озвучили не все возможные причины. В сильные морозы бывают провалы в минимальном давлении газа и автоматика котла после трех попыток поджига может уйти в аварию с ошибкой, которую немцы не предвидели.
    Кроме того, котел нельзя отключать - из-за этого и страдает насос. Если двухконтурный, то каждые три года нужно менять трехходовой клапан - очень узкое место. Про сосульки - это весело. На дымод обычно ставят мелкую сетку - чтобы птицы гнезда не вили. и так далее....
    А разомкнутый контакт внешнего термостата ( если нештатный), если включен ВМЕСТО перемычки генерации, не дает включиться котлу по сигналу внутреннего датчика температуры.
    Так что сами изучите свой котел, не доверяйте заинтересованным спецам.
    Тогда ардуино или ESP станут помощниками.
     
  15. parovoZZ

    parovoZZ Гуру

    у меня 6-ой год - полет нормальный. Но таки да - на кой там этот кран...
     
  16. parovoZZ

    parovoZZ Гуру

    не понял сия опуса. У GRUNDFOS и WILO OEM производитель, скорее всего, один - мульки разные, теплообменник какой не ставь - лед расколет любой. Пластиковые трубы (что PP, что PET) не лопаются - пластик тянется.

    И зачем тогда это
    если котел выключен?
     
  17. MESS

    MESS Гик

    Да, но на подводе к котлу могут быть PP-американки со стальными гайками- они лопаются на раз.
    Контроль температуры по комнатам зимой -самое важное занятие моей тещи. Три раза в день она смотрит на смартфоне и докладывает. И я спокоен - до дачи 110км и зимой не проехать.
    Только не SMS (очень дорого), а BLYNK.
     
  18. spamaway

    spamaway Нерд

    Котел, скорее всего, будет включен на 8 градусов. Потому что приезжать в выходные и прогревать дом не всегда комфортно, это как минимум 1-4 часа, в зависимости от внешней температуры. А так, в доме +8, воду из труб можно не сливать (по крайней мере фанатично продувать точно не нудо), послал смс за 2-4 часа до приезда, приехал, в доме уже +21, можно сразу начинать отдыхать, а не сидеть в доме в куртках.

    Напрашивается вопрос, зачем вообще топить дачу, на которую зимой никто не ездит. То, что дома якобы отсыревают и гниют зимой - это какой-то миф. У деда дачу в начале 80-х строили из того, что было - доска снаружи, какая-то вата внутри, внутрення отделка оргалит+советские обои бумажные. Уже больше 30 лет, дом как новый. Полы не скрипят, все двери открываются-закрываются мизинцем, ничего не перекошено, ничего не отсырело и не отвалилось, никакой гнили нигде нет, хотя зимой туда никто не ездит и не топит. Это при том, что дом на бывших торфоразработках (болота). Единственный там ущерб - шифер на крыше уже местами трескается и скоро придется менть, и окна перестали отвечать современным требованиям и были заменены 2 года назад на пластиковые, но это уже возраст, хотя для дома >35 лет это минимальные проблемы. Ихмо, топить дом зимой, если он не используется, нет никакого смысла.
     
  19. parovoZZ

    parovoZZ Гуру

    как он будет включен, если
     
  20. MESS

    MESS Гик

    Дома разные и грунты разные. Все относительно. У меня полы не скрипели, но я за 30лет уже два раза их менял, а на третий просто залил бетоном и постелил ламинат (теплый пол) - настолько агрессивен грунт на болоте. И без подогрева пола под ламинатом появилась плесень. А ежели высокий фундамент и деревянные стены - то можно и не...