Полу-умный дом

Как я делаю умное отопление для своего дома

Первый термоэлектрический привод
[info]smart_andy

Отопительный сезон подходит к концу, но я продолжаю расширять свою систему.

В перспективе на каждом или большинстве клапанов гребёнок теплого пола и радиаторов будут стоять термоэлектрические сервоприводы. В таких приводах шток, давящий на клапан, приводится в движение расширяемой при нагреве жидкостью. Подавая на привод напряжение, мы нагреваем привод, жидкость расширяется и закрывает или открывает клапан.  Получается два рабочих положения. Однако, с помощью ШИМа можно получать и промежуточные положения. Я остановился на приводах фирмы Herz артикул 1771001. Он рассчитан на напряжение 24в, а присоединительная резьба подходит к моим гребёнкам. Для меня было важно, что в этом приводе с помощью отвертки можно менять состояния при отключенном питании – клапан включен, либо выключен.

Первым испытанием было поддержание температуры теплого пола в санузле. Задача выполнена на отлично.

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

А вот пропорциональный привод на смесителе ТП пришлось отключить. Модуль ЦАП у меня без гальванической развязки, и иногда происходили сбои системы. То ли из-за импульсного БП на 24в, то ли из-за мотора привода.

  • Add to Memories

Схема сети на 01.04.2012
[info]smart_andy

Вот, набросал схему 1-wire сетки на сегодняшний день. Приблизительные длины веток отмечены возле соответствующих веток. Для упрощения автоматического подсчета длины, размеры витой пары указаны со знаком «минус». Длины веток короче одного метра я не подписывал.

Как видно, вместо рекомендованной «общей шины» у меня получилось разветвленное дерево. Не представляю разводку по дому общей шины. Тем более не представляю масштабируемой общей шины. Впрочем, мой пример – это отнюдь не рекомендация, а обмен опытом. У меня это работает. Тысячные доли процента  ошибок отлавливаются на программном уровне и ни на что не влияют.

  • Add to Memories

Мониторинг запотолочной температуры
[info]smart_andy


Непосредственно к управлению отоплением тема не относится, но всё же. Купил я для комнаты на втором этаже потолочные светильники для галогенок на 50 вт. Вот так они выглядят сверху.

За гипсокартонным потолком у меня пароизоляционная пленка (армированный полиэтилен) и деревянные балки перекрытия. Между гипсокартонном и пленкой около 13 см.  Я решил проверить, насколько прогревается воздух за потолком при включенных светильниках. Взял ds18s20 на  проводке 5 метров, подключил к ближайшей розетке с 1-wire, закрепил прямо над одним из светильников за потолком. В эксперименте участвовали 8 ламп из 9. Дырка от девятого светильника была занята проводами, и я её заткнул полиэтиленом. За 2,5 часа воздух над светильником прогрелся до 51 градуса и продолжал медленно нагреваться. Думаю, при самых неблагоприятных условиях в летний зной температура может достигать 70 градусов, что для полиэтилена и изоляции проводов вполне терпимо. Однако над установкой постоянного датчика за потолком я задумался.

  • Add to Memories

Первое регулирование. Вот оно, счастье самоделкина.
[info]smart_andy

Этот день настал! День перехода от пассивного наблюдения за температурами в доме к управлению отоплением. Но, все по порядку.

Стерилизация дома после работы шпаклевщиков произведена и можно снова немного позаниматься полезно-интересным хобби.

Пришло время научить мою 1w-систему включать и выключать настенный газовый котёл. Обычный ключик замкнуто/разомкнуто с оптической развязкой. Было решено обозвать это макетом, поэтому плата не травилась и всё делалось по принципу «быстро, но надёжно».

Набросал прямоугольников на лист бумаги (схемой это тяжело назвать). Твердотельной релюшки под рукой не было, зато изобиловали оптотранзисторы. К оптрону прикрутил выпрямительный мостик, чтобы не париться с определением полярности при подключении к котлу. Защитной обвязки нет, т.к. модуль подключается к 1w пассивному хабу, на котором уже есть защита питания и линии данных.Некоторые модули моей системы будут жить рядом с котлом в коробочке с ДИН-рейкой. Описываемый ключик тоже там будет жить. Вырезал плату под корпус на ДИН-рейку.

  

Резцом нарезал дорожек, распаял детальки. Для подключения к сети припаял кусок телефонного провода, для подключения котла – провода с пружинными клеммами (используются для подключения светильников).

Следующая версия ключа будет уже на нормальной плате и с переключателем на три положения : принудительно вкл, принудительно выкл, управление по 1w. Подключил, заработало.
Прога уже достаточно гибкая, и я быстро настраиваю собранный ключик на поддержание 15 плюс-минус 0,2 градуса в спальне. Ну, вот так мне захотелось. Настроил и уехал домой в город.
На сл.день приехал, нажал кнопочку «Статистика», и вот оно, результат налицо, т.е. на экране (синий график - уличная температура):

Конечно, это только прообраз управления отопления, но для меня это - как итог большого этапа.

Ну, и на десерт подключил модуль ЦАП 1-10 вольт и пропорциональный сервопривод Oventr op 101 27 00. Серву запитал от БП на 24в древнего сканера и поставил на клапан, регулирующий степень смешения воды в тёплом полу (проще говоря – температуру ТП). Настроил на зависимость от t возуха на кухне. Больше температура – меньше открыт клапан. Работает, но нельзя это назвать терморегуляцией, т.к. на кухне стоит неуправляемый (пока) радиатор. Кстати, модуль ЦАП тоже впихнул в корпус из разобранного автомата на ДИН-рейку.

 
Рабочее место и первый юзер системы отопления.
 

  • Add to Memories

Потихоньку растём.
[info]smart_andy

Изначально я предполагал разместить модули, «завязанные» с котлом и обвязкой, в монтажной коробке. Впоследствии я решил найти коробку попросторнее. Модули я решил проектировать так, чтобы легко было перейти на ручное управление, соответственно корпус должен быть с легким доступом. В гипсокартонной перегородке устроил нишу рядом с котлом. В нише разместилась розетка, запитываемая от отдельного автомата в щитке, стабилизатор 220 вольт и щиток для 1w модулей.
  


На сегодня в щитке «живут» 1w разветвитель, да клеммники для eBus. К нише подведены витая пара от мастера 1w, витая пара от датчика температуры соседней комнаты и провода от консоли управления котлом по eBus ClimaManager. В сам ClimaManager я также запихнул 1w температурный датчик. Кстати, разница между показаниями ClimaManager и моим ds18s20 - всего 0,2..0,3 градуса. Я думал, будет хуже.

Для облегчения коммутации кучи датчиков температуры, я закрепил монтажную коробку с 1w разветвителем рядом с коллектором теплого пола. Датчики к трубам прикрепил липучкой через ломтики теплоизоляции. Однако, штатный термометр на коллекторе показывает бОльшую температуру, чем мой ds18s20, поэтому надо поэкспериментировать с теплопроводящей пастой.

        

  • Add to Memories

Управление котлом по eBUS. Часть 1
[info]smart_andy
Управление отоплением – это не только дёрганье сервоприводами, но и управление котлом. Как минимум, вкл/выкл и задание температуры воды (подачи). Как вариант, я начал было делать эмулятор уличного температурного датчика. Котел может по уличной температуре вычислять температуру подачи по линейному графику с задаваемыми коэффициентами.
Но потом я вспомнил про статью о подключении котла к компьютеру. Автор статьи кроме своего ценного опыта поделился и файликами с описаниями eBUS. В моем котле Ariston Clas System имеется шина eBUS. По ней котел общается с ClimaManager  - проводным настенным пультиком, с которого можно управлять всеми функциями котла. Я решил попробовать подключить комп к этой шине с перспективой увязки в свою сеть.
Сделал простейший USB-UART переходничок, наваял на макетке схему с опторазвязкой из файла описания шины eBUS. Компаратора TS3V3702 я не нашел, поставил биполярный аналог LM393, поэтому схему пришлось подкорректировать (отмечено красным).

Соединил комп+ USB-UART+UART-eBUS+котёл. Запустил программку Terminal. Пошла череда байтов #AA. Из описания eBUS прочитал, что это байты синхронизации. Мастер шины (котел) сообщает, что он готов к приему инфы. Я начал менять настройки котла с ClimaManager  . В Terminal  начал фиксировать цепочки байт – телеграммы от ClimaManager  к котлу. Были телеграммы и от котла к ClimaManager . Было видно, что телеграммы от  ClimaManager  начинаются с #01, а от котла с #10.
Для первых экспериментов выбрал меню 245 – «макс.температура воды».  Поставил Terminal на запись в лог и начал менять значение в меню с 30 до 40 градусов с шагом 1. Получил ряд телеграмм:
01 10 06 23 06 07 88 00 40 1E 12 9E 00                      30 градусов
01 10 06 23 06 07 88 00 40 1F 12 05 00                     31 градус
01 10 06 23 06 07 88 00 40 20 12 BD 00                    32 градуса
 
Первый байт – адрес отправителя (ClimaManager), второй – адрес получателя, 3й и 4й – команды, 5й – число байт данных, с 6 по 11 – сами данные, 12й – сумма CRC, 13й –[#00] говорит о том, что котел принял телеграмму. Ну а в  10м байте – сразу видно передается задаваемое значение температуры. Прелестно!
Я установил с ClimaManager  температуру 30, вышел из меню. В Terminal скопировал телеграмму с установкой 35. Возвращаюсь в меню, пару секунд ClimaManager  запрашивает параметры у котла… и показывает 35! Получилось!

Краткий вывод. Осуществлено соединение котла с компьютером по шине eBUS. Компьютер успешно принимал и отправлял телеграммы котлу.

Огромное спасибо Андрею, автору http://ab-log.ru/ . Без его статьи и файла с описанием шины я бы даже не подумал в этом направлении.


  • Add to Memories

Реклама теплого пола
[info]smart_andy
Пора зарабатывать на рекламе :)



На самом деле, ТП на снимке не нагрет. День выдался жаркий, поэтому кошка предпочла прохладу ненагретого дома.
  • Add to Memories

Монтаж системы отопления закончен. Котел запущен
[info]smart_andy

Микрокотельная на территории отдельно взятой кухни смонтирована и опрессована (проверена под давлением).

Замечу, что монтажники отопления - одни их немногих достойных работников, побывавших на моей стройке. Не всё у них выходило так, как я хотел, но господа старались и по моему требованию беспрекословно все исправляли и переделывали.

19 мая пришел господин-запускатель котлов и запустил мой одноконтурный газовый котел Ariston Clas System .
Теперь можно заняться непосредственно автоматикой. Вот только решу мелкие проблемки (ремонт компа, валютный кризис в стране, заливка полов ...) и сразу приступлю.

Вот как выглядит сейчас оперативный простор для автоматизации.
  

Я отметил будущие элементы моей системы:
1.   вход уличного датчика для котла - с его помощью я планирую управлять температурой котла ;
2.   термоэлектрические сервоприводы на коллекторе радиаторов 1го этажа;
3.  термоэлектрические сервоприводы на коллекторе ТП ;
4.   насос ТП,
5.  термоэлектрические сервоприводы на коллекторе радиаторов 2го этажа;
6. насос рециркуляции ГВС.  
7. сервопривод двухходового клапана на смесительном узле ТП;

Ну и конечно, россыпь температурных датчиков где надо и не надо.   

Из исполнительных устройств сейчас в наличии только сервопривод двухходового клапана на смесительном узле ТП да насосы. Сервоприводы на коллекторы ТП и радиаторов еще не приехали.

К сожалению, купленный на eBay трехходовой с сервоприводом в мою гидравлическую схему не вписался. Его пришлось с некоторым убытком продать.
  • Add to Memories

Две новости
[info]smart_andy
 Плохая: жесткий диск компьютера управления отоплением накрылся. Вернее, он работает, но БИОС выдает ошибку при перезагрузке. Впрочем, это не удивитильно: ВинХР при 256Мб оперативки постоянно обращалась к винту. И без того поюзанный винт не выдержал.

Хорошая. Даже очень хорошая. Сегодня начат монтаж отопления!!
  • Add to Memories

Будни полевых испытаний
[info]smart_andy

Пока ведутся переговоры по монтажу отопления, продолжаются Полевые испытания-3. Круглосуточно, раз в 10 секунд опрашиваются  восемь термодатчиков, затем усредненные за минуту данные сохраняются в БД. Я могу просматривать на графике статистику по пяти произвольным датчикам плюс одна кривая разницы температур между двумя выбранными датчиками. Кроме забавы, эти графики дают представление о теплоизоляции дома. Уличных датчика у меня два : под свесом кровли и на уровне первого этажа. Разницы в показаниях практически нет, за исключением ситуации, когда ветер выдувает на датчик воздух с чердака.

Раз уж есть возможность измерять и сохранять температуру, я решил проверить калибровку датчика. Набрал в чашку снега, принес в кладовку, где было около +1 и сунул датчик в снег. Через несколько минут показания датчика стабилизировались на отметке «-0,1С» и сохранялись четыре  часа, пока его не вынули из снега (коричневая кривая).

По ходу испытаний вылазят программные ошибки, я их неспешно исправляю. Ошибки непосредственно 1w  составляют 0,05% (пять сотых долей процента) от общего числа команд по сети. Это ошибки контрольной суммы и неудачного обращения к датчикам. Ошибки эти индентифицируются и заносятся в журнал ошибок на память потомкам.

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

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

В общем, пока что результаты вдохновляют.

  • Add to Memories

Модуль ЦАП 0-10 вольт
[info]smart_andy
Итак, поигравшись с DS2890 на макетной плате, я привел модуль ЦАП в надлежащий вид. Работает, слава Богу!

 




  • Add to Memories

Трёхходовой приехал!
[info]smart_andy
 

После освоения DS2890 я пояндексил на предмет сервопривода для трёхходового клапана с питанием 24 вольт и управлением 0..10 вольт. В Минске я такого счастья не нашел, в Москве такие цацки начинались от 170 долларов. Полез на ebay – удача! Некто из Канады устроил аукцион, где предлагался такой привод, да ещё в комплекте с клапаном. Аукцион я тот выиграл, и этот чудесный комплектик обошелся мне в 112 баксов (из них 60 – доставка). Отправили мне посылку 13.12.2010, а приглашение забрать её на почте я получил 19.01.2011. Как раз я закончил утеплять плиты первого этажа и пора приступать к монтажу отопления.

Итак, в активе: Сервопривод ESBE ARA659 + 3хходовой клапан ESBE VRG132 .

Эту сладкую шведскую парочку я собираюсь поставить на смесительный узел, чтобы регулировать температуру воды для тёплого пола.

Налюбовавшись на блестящие цацки, я быстренько спаял резистивный делитель для имитации моего цифрового потенциометра (подходящего переменного резистора под рукой не оказалось). Работает!

Затем я поделил 24 вольта резистором 120кОм и DS2890 (100кОм). Подключил серво к DS2890. Работает! Однако, внутреннее сопротивление сервы шунтирует DS2890 , что приводит к понижению управляющего напряжения. Поэтому, придется делать по уму: добавлять операционный усилитель, как это сделано у Элин.

 
  • Add to Memories

Аварийный термостат теплого пола (ТП)
[info]smart_andy


Речь пойдет о модуле, не входящем в 1w сеть.  

Водяной ТП имеет ограничение по температуре подаваемого теплоностителя, т.е. воды. Регулировкой этой температуры занимаются обычно смесительные термостатические клапана. По правилам жанра должен еще устанавливаться независимый Аварийный термостат, который выключает насос ТП при превышении температуры воды некоторой критической отметки – то ли 45, то ли 55 градусов – сейчас не важно.
 Конечно, покупать аварийный термостат для меня не кошерно, поэтому я собрал его сам. Замечательная схема и замечательная прошивка (и прекрасно документированный исходник) была найдена тут. Автору низкий поклон. Мне понравилась концепция управления одной кнопкой и идея динамической посегментной индикации. К схеме я добавил ключ на IRML2803, который управляет релюшкой HJR-3FF.

         
Конструктивно термостат состоит из двух плат: на одной непосредственно термостат и ключ, на второй – реле и крен5 для питания термостата от 24 вольт. Я решил, что в данном случае проще использовать макетные платы, чем разводить и травить нечто оригинальное. На первой плате выведен разъем, к которому подсоединяется либо шнурок ко второй плате, либо ISP-разъем программатора. Датчик термостата болтается на шнурке полметра длиной. Снизу платы с индикатором я термоклеем приклеил пластинку из текстолита и обтянул белой термоусадкой. Получилась почти герметичная конструкция. Первая плата будет крепиться на трубу обвязки котла в непосредственной близости от объекта измерения, вторая будет трудиться в коробке с модулями коллектора 1го этажа.
  • Add to Memories

Герой дня – цифровой потенциометр DS2890
[info]smart_andy
DS2890 на макетной плате

Всё скучно и обыденно. Припаял DS2890 к макетной плате, протестировал с помощью
OneWireViewer. Перенес пример из Даташита в свою прогу на Дельфи и опс – Все работает!

Сей девайс (кстати, снятый с производства) хочу применить для модуля источника напряжения 0..10 вольт для пропорционального сервопривода трехходового клапана на смесителе теплого пола.

 
  • Add to Memories

Полевые испытания – 3
[info]smart_andy
Строительство объекта продвигается медленно, но продвигается... Этой осенью планировал уже вселиться, но работ еще на полгода.  

 Как бы то ни было, в доме появились первые материальные ценности (газовый котел) и мы сдали коттедж под охрану милиции. А раз дом под охраной, то можно потихоньку разворачивать мою системку. Управлять пока нечем, но помониторить температуру полезно.

Поставил древний ноут (Compaq Evo 600), поставил Главный хаб и раскидал датчики температур : улица, чердак, два на втором этаже, один в кладовке, в подвале, воздух и пол на первом этаже. Работает как часики. Циферки, красивые графики…

Но случилось так, что поработав на объекте в воскресение, я забыл закрыть на защелку дверь на задний двор. А в понедельник навалилась снежная буря. Порывом дверь распахнуло, сработала сигнализация. Примчались менты, взяли дом под охрану, вызвали меня. Но дверь не закрывали. Ёпрст! Я продрался через бурю только через 2,5часа…Выгреб на кухне снежные заносы, кинулся к компу. Комп работет, программа работает, но датчики не опрашиваются. На графиках видно резкое падение температуры и провал – отсутствие данных. После раскрытия двери 1w сеть проработала минут 5-8 и перестала опрашиваться. На первом этаже, кроме термодатчиков я разместил силовой ключ без нагрузки – простейший индикатор работы системы. Предполагаю, что на плате ключа либо выпал конденсат, либо попал снег и драйвер 1w признал сеть неработоспособной. После перезагрузки программы опрос датчиков возобновился. Конечно, в нормальной обстановке условий для конденсата не ожидается, да и модули я планирую лаком покрыть, но о супервизоре я задумался.

 

  • Add to Memories

Главный хаб
[info]smart_andy
Главным хабом я обозвал модуль, расположенный в непосредственной близости от компьютера. Запараллеленные 4 гнезда RJ45 + 4 гнезда RJ11, КРЕН5А, конденсаторы на питание да пара защитных диодов Шоттки на провод данных 1w – вот и всё чудо.
Первый раз делал двухстороннюю плату. По лазерно-ламинаторной технологии это не сложнее односторонней.

 

Счетверенный разъем RJ11 я сделал из 8-гнездного разъема. Совершенно случайно увидел такие в отделе … конфиската. Вообще, это первая моя покупка в конфискате. Не люблю я их.

  На хаб будет подаваться 12 вольт от внешнего БП, КРЕН5 из 12 делает 5,25 вольт и эти два напряжения и будут питать модули, раскиданные по дому. Напряжение 5,25 выбрано для компенсации падения напряжения на проводах. На плате есть джампер для выбора источника 5 вольт : либо от USB-адаптора, либо от КРЕНки. Число гнезд выбрано с запасом, не хочется при необходимости возиться с тройниками-разветвителями. Конечно, корифеи 1W покачают головой при виде этого хаба, ведь он противоречит первозадуманной топологии 1W… Ну не нравится мне общая шина, неудобная она.

 
 

  • Add to Memories

Залатал дырки в логе
[info]smart_andy

Дырки в логе, полученные в ходе Полевых Испытаний-2, несколько беспокоили меня. Я дописал в проге пару строк для облегчения диагностики, собрал на лоджии конфигурацию из модуля ЖКИ и пяти темп.датчиков и… и тут из USB-адаптера вывалился RJ12 разъем… Оказалось, что Полевые Испытания-2 проводились с полувставленным разъемом !! Всё ясно!

Двое суток тестирования не выявили ни одной «дырочки», ни одного глюка. Электроника – наука о контактах!

 
  • Add to Memories

Полевые испытания-2. Оно работает!
[info]smart_andy

12 апреля, День Космонавтики, хотелось отметить чем-то особенно интересным и полезным. К этому дню почти все было готово для Полевых испытаний-2. По большому счету, не хватало разветвителя для кладовки – места, где будет установлен мозг системы. Провести испытания ну очень хотелось, поэтому я собрал невообразимую кашу из переходников, розеток и проводков и поехал на объект (Дом).

Вокруг объекта оказалось здОрово – в небе радуются  жаворонки, на крыше скворцы флиртуют, за забором сосед осваивает бетономешалку...

Запустив мозг (старенький ноут), полез на чердак. Там установил хаб чердака. Из хаба я выдрал пару RJ11 гнезд и повесил на временных соплях гнездо RJ45. Первоначально я планировал всю разводку сделать телефонным проводом, но затем решил прислушаться к рекомендациям спецов и хотя бы самые ответственные линии провести витой парой. Первыми были подключены температурные датчики (ТД) улицы и чердака. Работает… идём дальше. А дальше пошли косяки. Дело в том, что часть разводки сделана белым телефонным кабелем, у которого крайние жилы – бледно-желтая и золотистая. И я часть RJ11 вилок обжал наоборот. Пришлось пережимать вилки и бесконечно бегать по маршруту чердак-кладовка для контроля на компе. Хотя, сейчас я понимаю, что можно было просто отнести комп на чердак и там отлаживать чердачную часть. Итак, чердачный хаб работает, под контролем температуры улицы, чердака и четырех комнат второго этажа.

С первым этажом проблем не было. Коллекторный разветвитель с подключенными к нему модулем ЖКИ, силовым ключом и четырьмя ТД заработал сразу. ТД, кинутый в подвал тоже проблем не вызвал.

У меня не хватило времени на проводку в мастерскую, поэтому для её имитации, я взял древний бу моток витой пары,  метров под 50 и подключил к хабу в кладовке. Оказалось, что эта ветка «гасит» всю остальную сеть. Т.е. если я оставляю эту ветку одну, то она работает. Если я подключаю все вышеописанное вместе, то сеть вообще перестает работать. Меня это совершенно не расстроило, т.к. реальная ветка будет на порядок короче, да и качество кабеля под большим вопросом.

Схема Полевых Испытаний-2. Серым показаны элементы, не участвовавшие в Испытаниях.

Вечер, время сваливать домой. Оставляю сеть работающей в неохраняемом объекте. Стрёмно, но очень хочется прогнать систему на сутки.

13 апреля.

Приехал на объект после обеда. Всё на месте, Слава Богу!  Вроде бы всё работает… нет, не всё! Модуль коллектора 2го этажа перестал мигать светодиодами и резисторы, имитирующие нагрузку холодные. Расследование показало сработку предохранителя – его номинал я выбрал, исходя из планируемой нагрузки, но имитатор нагрузки я поставил с меньшим сопротивлением. Вот предохранитель поработал несколько часов на пределе, да и перегорел.

Следующие глюки вылезли при анализе лога. Моя прога считывала показания всех одиннадцати ТД каждые 10 сек, и каждые 2 минуты сохраняла средние значения каждого ТД в лог (mdb файл). Так вот в логе за сутки я нашел три «дыры» : 14, 42 и 56 минут. Разделяют соседние «дыры» 10-15 минут. Их природу пока объяснить не могу. Кроме того, в четырех временнЫх точках в логе отсутствуют показания некоторых датчиков. Погода стояла ровная, гроз и других помехообильных явлений не было. Разве что роса выпала…Хотя, вполне вероятно, что это глюки моей весьма и весьма сырой проги.

Выводы. Не смотря на «дыры», считаю испытания удачными. Оно работает! На экране ноута оперативная инфа по температурам в каждом помещении, на двух модулях ЖКИ отображается заданная инфа, силовой ключ и ключи коллекторного модуля послушно управляют имитаторами нагрузки. Выходит, что для 1w сети лучевая топология не проблема. По крайней, мере в масштабах моего дома. И это не смотря на обилие врЕменных решений «на проводочках». Слава Богу!

 

 
  • Add to Memories

Коллектор 1го этажа. Конструктив
[info]smart_andy

Основной источник тепла в доме – настенный одноконтурный газовый. Котельной у меня не предусмотрено, котел с обвязкой будет висеть на кухне. Рядом с котлом будет расположено несколько 1w модулей для управления котлом и ТП :

-         -  Силовой ключ 230 вольт – вкл/выкл насоса ТП;

-         -  ЦАП 0…10 вольт – управление сервоприводом смесителя для ТП;

-         -  Низковольтный ключ – вкл/выкл котла;

-         -  ЦАП (эмулятор терморезистора) – задание температуры подачи котла;

-         -  Ключи для термоэлектрических клапанов на контурах ТП + кухонный датчик протечки;

-         -  Горсть температурных датчиков;

-         -  Независимый от 1w аварийный термостат, отключающий насос ТП.

Эти модули я решил разместить в распаячной коробке 150х110х70мм (Рувинил, Артикул 67053).
Модули будут располагаться между двумя текстолитовыми пластинами. На эти пластины я наклеил текстолитовые полоски и получил ряд пазов, куда и буду вставлять модули.

 


 Одна из пластин является одновременно и 1w разветвителем – я приклеил эпоксидной смолой два RJ11 тройника + RJ45 гнездо от компьютерной розетки. Текстолит был фольгированный и я резаком сделал четыре дорожки, на которых и запараллелил провода от розеток. На всякий случай, повесил между данными и землёй, и между данными и питанием по 1-амперному диоду Шоттки. Эту пластину я вставил в паз на дне коробки. Чтобы пластина входила в паз с натягом, сделал наплыв эпоксидной смолой. Другая пластина плотно встала в распор возле стенки коробки.
  
В крышке коробки можно будет сделать прямоугольное прозрачное окошко чтобы видеть индикацию модулей. 
  

  • Add to Memories

Модуль ЖКИ : ещё полуфабрикат, но уже на плате.
[info]smart_andy

Развел плату и сделал пару экземплярчиков модулей ЖКИ.

Нераспаянными остались детальки для ШИМ-регулировки яркостью подсветки, защитный диод на питании 5 вольт и большинство кнопок (надо на радиорынок тащиться). Впрочем, этого достаточно для Полевых испытаний-2.

Я использовал разъемы RJ11 от двойных телефонных розеток – просто приклеил к плате эпоксидной смолой. По идее, мне достаточно было бы одного такого разъема, но на всякий случай поставил два.

На плате есть места для установки двух температурных датчиков. Первый будет между кнопками (пока именно он и установлен), второй – над кнопками. Первую лицевую панель я сделаю с отверстием для второго датчика и посмотрю на статистику измерений температур. Если окажется, что достаточно зазора между панелью и кнопками для доступа комнатного воздуха к первому датчику, то следующие лицевые панели будут без отверстия для второго датчика. Таким образом, на плате модуля должен остаться только один датчик.

Под кнопками расположился разъем для программирования АВРки. Таким образом, менять прошивку можно будет всего лишь сняв лицевую панель.

К моему удивлению, ошибок на плате не оказалось и модули заработали сразу. Хвала Богу!

И всё-таки это пока полуфабрикаты. До готового продукта не хватает конструктива и прошивки для ATiny13. Над конструктивом - инсталляционной рамкой и лицевой панелью я работаю, а вот прога для АВРки немножко подождет.  
Вид сбокуВид сверху

  • Add to Memories

О вычислении температуры, считанной с ds18s20
[info]smart_andy
В ДШ на ds18s20 написано:
"...Более высокая разрешающая способность может быть получена, если произвести дополнительные вычисления на основе значений COUNT_REMAIN (значение, оставшееся в счетчике в конце измерения) и COUNT_PER_C (количество импульсов на один градус для данной температуры), которые доступны. Для вычислений требуется взять считанное значение температуры и отбросить младший бит. Полученное значение назовём TEMP_READ. Теперь действительное значение температуры может быть вычислено по формуле:
TEMPERATURE=TEMP_READ - 0.25 + (COUNT_PER_C - COUNT_REMAIN) / COUNT_PER_C "

Об этом в Нете жевано и пережевано. Процедуру считки и обработки температуры я скопировал из проекта ...\SDK\Examples\TMEX\Delphi\TempSense\TempSense.dpr . Скопировал и даже не думал вникать в тонкости обработки. Однако, первые же серийные измерения показали, что соседние по времени температуры могли отличаться ровно на 1 градус. Это хорошо видно на графиках пару постов ниже .
Оказалось, что суперпрограммисты из Далласа для отброса младшего бита использовали деление на 2 и функцию Round, что вызывает только недоумение, ибо:

Функция Round округляет число с плавающей запятой (Number) до целого значения.
Округление использует банковские правила, где точная половина значения вызывает округление к четному числу:
12.4 округляется до 12
12.5 округляется до 12
12.6 округляется до 13
13.4 округляется до 13
13.5 округляется до 14
13.6 округляется до 14

конечно, я это безобразие быстро исправил и температурные графики теперь без "зубов"
  • Add to Memories

Модуль ЖКИ. Адвансед схема.
[info]smart_andy
Одновибратор в smd корпусе в Минске я не нашел. И слава Богу! Ибо пришла мысль организовать подсветку ЖКИ с помощью простейшей АВРки ATiny13. И вместо жесткой логики я получаю гибкое средство для организации подсветки ЖКИ. Подключив подсветку к ШИМ-выходу, я получаю простейший DC-DC преобразователь, а подключив на вход АЦП фотодатчик, я смогу держать подсветку включенной всегда, изменяя яркость в зависимости от освещения в помещении. Ну и конечно, возможна активация кнопками. Но, это пока мечты, ибо времени сейчас на написание и отладку даже простейшей программки для МК нет. На улице – 2…-5, но с наступлением тепла надо срочно проводить Полевые Испытания – 2, более масштабные чем первые. И тогда будет ясно, на каком я свете. Но для испытаний (как я их себе вижу) мне не хватает пары ЖКИ-модулей, да и софтинку для 1w на Delphi надо причесать. Полгода назад я впервые попробовал программить на ATiny2313 – мне понравилось.
Вот такой мне видится усовершенствованная схема модуля ЖКИ.

Сразу поясню, что R12 я поставил, чтобы не забыть развести его на плате, ибо при подключенном фотодиоде он не нужен. D2 - это и есть подсветка ЖКИ. Фотодиода в Протеусе я не нашел, поэтому "назначил" D6 фотодиодом.
Наибольшие сомнения у меня вызывает подключение фотодиода. С незапамятных времен у меня валяется пяток вот таких фотодиодов без маркировки.

Чтобы долго не лазать по справочникам, я подключал этот фотодиод к 5 вольтам через разные резисторы и измерял напряжения на резисторе. Вот что получилось :
Резистор 620 кОм, напряжение 0.015…0.22 вольта
Резистор 5.25мОм, напряжение 0.1…1.2 вольта
Первое напряжение – это в полной темноте, второе при полном освещении, датчик на уровне 1м направлен горизонтально (т.е. не на источник света). Причем субъективно зависимость освещенность-напряжение вполне линейна (о чем и написано в любом учебнике). Большой точности мне не нужно – достаточно различать 3-4 уровня, поэтому результаты вполне приемлемые. Однако, есть сомнения, что такое подключение согласуется со входным сопротивлением АВРки. Из ДШ я понял, вход порядка 10 кОм, увеличение сопротивления ведет к увеличению времени измерения. А время измерения меня совершенно не интересует.
Отдельное спасибо [info]eu3eu за «горячую линию» по ШИМ, свето- и фотодиодам.
Плата уже в процессе разводки.
  • Add to Memories

Прикрутил ЖКИ. Пока что "на соплях"
[info]smart_andy
Достал я ЖКИ WiseTip VC20X4B-BKW-C1. Четыре строки по 20 символов. Белые символы на голубом фоне. Красота!! Надо подключать !!
Схемку взял из даташита на ds2408. Питание светодиодов подсветки – от 5вольт через 100 Ом. Из-за своей невнимательности убил целый день на освоение печати на ЖКИ из своей проги. Осталось наваять перекодировку кириллицы.
Всё работает гуд. Подсветка кушает 3 вольт 20мА. Вывод всех 80-ти символов занимает 1…1,5 сек. Меня все устраивает.

Для прикола подключил все это к компу телефонным проводом длиной 100м. Питание упало с 5 до 4,2 вольт. Все прекрасно работало. Только контрастность стала несколько хуже.
Развитие схемы вижу в запитке подсветки от четвертой жилы телефонного провода 12 вольт. Тогда, применив DC-DC преобразователь 12->3 вольт я добьюсь снижения тока. Кроме того, хочу поставить микруху 3И входами на кнопки, а выходом – на одновибратор. Одновибратор будет запускать подсветку. Таким образом, нажатие на любую кнопку вызовет включение на некоторое время и подсветки. Кроме того, подсветку можно будет включить и через ds2408. Ну и надо над конструктивчиком подумать. Есть мысль утопить все это дело в штукутурку. Условия для этого есть.
  • Add to Memories

ds2413: Командовать парадом буду я!
[info]smart_andy
Сегодня без картинок :)
Я уже упоминал, что прога моя пишется на Delphi. То, что написано сейчас, похоже на кашу, поэтому даже и рассказывать пока о ней не хочу. Однако, маленькой радостью поделюсь : я научился управлять  ds2413 из моей проги ! До этого моя софтинка могла делать список 1w устройств, да считывать температуру с датчиков ds18s20. Это достаточно сложные операции, но я их скопировал из примеров на Delphi в SDK. А вот ds2413 я приручил, поглядывая на примеры и DataSheet. Надо сказать, приручение произошло быстро и как-то обыденно. Сделал, как велит DataSheet и всё заработало. Правда, пока юзал только одну ds2413 в сети, т.е. без адресации.
  • Add to Memories

Ключ 230V
[info]smart_andy
 

Перехожу к модулям коллектора первого этажа. Предполагаемый состав и конструктив коробки с модулями коллектора первого этажа я опишу позже. А пока речь пойдет о модуле «Ключ 230V».

НАЗНАЧЕНИЕ

1.       Включение/выключение насоса теплого пола 230v 100w

2.       Контроль наличия напряжения на нагрузке.

СХЕМОТЕХНИКА

Схема на DS2413 практически полностью слизана отсюда. Я лишь добавил светодиод наличия напряжения на нагрузке да заменил оптрон АОТ166А на TLP621. Надо сказать, что TLP621 - это единственный оптрон о четырех ногах, который мне удалось найти на радиорынке.

ПЛАТА

На такой простецкой плате допустил 3 ошибки!! Я краснею. Исправил МГТФ-ом. Симистор я специально установил «железкой» кверху, чтобы он меньше грел плату.


ЗАПУСК

Модуль запустился сразу (Слава Богу!). Нагрузкой служила лампочка на 100 Вт. Симистор ощутимо грелся и меня это смутило. В дальнейшем плата будет обтянута термоусадкой и установлена в коробочку с другими модулями и мне очень не хочется, чтобы в этой коробочке была Африка. Из моего пальца термометр никакой, поэтому я замотал модуль изолентой (имитация термоусадки), предварительно приложив термодатчик к симистору. Второй термодатчик я поместил в коробку. Третий датчик измерял температуру воздуха в помещении.

Вот графики температур датчиков.

За время испытания подопытная конфигурация вошла в стабильный температурный режим. Не могу сказать, что результаты сильно радуют. Температура не более 60 С на симисторе и 30 С в коробочке это, конечно, весьма терпимо, но в дальнейшем хотелось бы поменять симистор на полевики или готовое твердотельное реле. Кстати, мне не удалось нагуглить практической схемы ключа для переменного тока на полевых транзисторах с оптронной развязкой.
График построен на основе записей моей проги. На графике отчетливо видны "зубцы", которые меня сильно озадачили. Их значения  для каждого датчика одинаково - 1,1 градус.
Я запустил тест с OneWireViewer. Никаких зубцов нет...



Получается, моя прога неправильно вычисляет температуру !? И это при том, что использованы Далласовские драйвера TMEX, а процедура считывания и вычисления температуры скопированы из SDK. Шарада...

  • Add to Memories

Модуль "Коллектор второго этажа"
[info]smart_andy
Пришло время заняться более серьезными вещами, чем запараллеливание телефонных разъемов, а именно разработкой и воплощением «в железе» 1-wire модулей для управления исполнительными механизмами отопления. Предупреждаю сразу : по образованию я инженер-электроник, в детстве ходил в радиокружок, но это было миллиард лет назад, поэтому многие рассуждения и схемные решения могут показаться нерациональными, глупыми и т.д. Вообще, я старался опираться на схемотехнику блоков Элин.

НАЗНАЧЕНИЕ
1. Управление четырьмя термоэлектрическими сервоприводами постоянным током 24V 2W .
2. Контроль протечки воды в с/у.
3. Контроль наличия 24V, подаваемого в модуль.
4. Ну и заодно иметь пару гнезд для подключения температурных датчиков.

СХЕМОТЕХНИКА

Основа схемы -  8-канальный порт ввода/вывода DS2408. Светодиоды оптронов TLP621 подключены к выходам P1…P3. Транзисторы этих оптронов открываясь, подают через резисторный делитель напряжение около 3v на полевой транзистор IRF7103. Полевик коммутирует непосредственно нагрузку (термоэлектрические сервоприводы).
Схема контроля протечки воды взята отсюда.
Контроль наличия 24v изначально не планировался. Однако, на плате имелись 2 ряда отверстий (на всякий случай), куда как раз становился оптрон в DIP4. Добавив пару резисторов, я получил возможность контроля наличия 24v. Вернее, этот контроль будет реагировать и на более низкое напряжение, но я не стал усложнять схему.

ПЛАТА


 

Это первая плата, разведенная мною на компьютере. Примечательно, что рисунок этой платы был распечатан за один раз со второй платой - модуля силового ключа (это второй модуль, о нем напишу позднее). Так вот, тонер на рисунке 2й платы лег прекрасно, а на рисунке 1й платы получился «с просветами». Это привело к тому, что некоторые дорожки получились покрыты подтравленной «рябью». Переделывать мне было в лом, поэтому я загладил эти проблемы слоем сплава Розе :)  Кроме того, проявились ляпы проектирования платы : дорожка земли была прервана отверстием и один вывод оптрона был заведен не на ту цепь. Исправил проводами МГТФ (мои любимые). В итоге получилось это:


 

Очень удобно получилось использовать модернизированный стандартный телефонный тройник в качестве разъема для платы. Впоследствии сюда будут подключены датчики температуры воздуха и пола с/у.
Я специально расположил винтовые зажимы проводами к середине платы. Плата модуля будет установлена в распаечную коробку, зазоры по краям будут небольшие, поэтому при примененном решении провода при выходе из разъёма не будут упираться в стенки коробки.
Помолился и вперед! Слава Богу, при первом же подключении к компьютеру, OneWireWiever сразу же обнаружил DS2408. Затем начались проблемы. DS2408 самопроизвольно сбрасывалась, работала неустойчиво. Проблемы устранились :
А) протиркой платы спиртом от флюса. За 3 дня мой спиртоканифольный флюс так и не превратился в диэлектрик ;
Б) заземлением неиспользованных входов.

В домашних условиях модуль работает устойчиво, нагрузку держит прекрасно. Полевые испытания проведу как только потеплеет (Дом пока не отапливается).
 
Коробка с модулем будет располагаться рядом с коллектором. Коллектор 2го этажа будет расположен в с/у. 1W я уже туда провел перед штукатуркой, а 24V планирую провести от коллектора 1го этажа.
  • Add to Memories

Технологический прорыв
[info]smart_andy
Технология 1Wire предполагает простоту схемотехники. Поэтому я надеялся отделаться макетные платы и навесным монтажем. Однако когда пришла пора разработки конкретных электронных модулей, то микросхемы Dallas начали обрастать оптронными развязками, защитами по входу и напряжению. Тоже как бы немного, но возникло желание реализовать все на печатных платах. Этому очень способствовали: а) доступность smd-элементов (не надо много сверлить) ; б) простота изготовления плат с помощью ламинатора, описанная тут. Я заменил в своем дешевеньком ламинаторе термореле на другое с температурой 180С. Результат сразу превзошел мои ожидания. Уже третья попытка вытравить плату меня вполне устроила.


 


 


 


 


 


 

Как я развожу платы? Увы, в Протеусе (Proteus) моего терпения (ума?) хватило только на корявое освоение рисования схем. Sprint-Layout 5.0 мне дался гораздо легче. В нем и стал разводить. Вручную. Лужу сплавом Розе. Сверлю шуруповертом.

  • Add to Memories

1-wire hub для чердака
[info]smart_andy
Индигриенты : гнезда RJ11, взятые из двойных розеток – 12шт, заглушки лицевой панели компьютера – 2 шт, цветной провод, клей для пластмассы (остался после монтажа труб встроенного пылесоса).

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

Больше комментировать особенно нечего.
  • Add to Memories

Обжим вилок RJ11
[info]smart_andy
Для обжима я пользуюсь вот таким инструментом неизвестного производителя:

С его помощью легко отрезать телефонный провод, снять 6 мм изоляции и собственно, обжать этот провод в вилке RJ11.
Не обошлось, правда, без граблей. телефонный провод имеет двойную изоляцию и отдельные провода легко двигаются внутри оболочки. Если снять внешнюю изоляцию (оболочку) то провода даже при небольшом изгибе высовываются или уходят в оболочку на 1-2 мм, как показано внизу на фото. Поэтому в процессе обжимки нужно следить, чтобы провод, как минимум на 40-50 см от разъема был выпрямлен. Как я ни старался учитывать этот факт, но в одной вилке один крайний провод все-таки оказался не обжатым.
Америку я не открыл, конечно, но может, кому пригодится.
Провод без изгиба
Провод с небольшим изгибом
Провод с изгибом
  • Add to Memories

Первые полевые испытания
[info]smart_andy
Неделю назад сделал первое пробное включение сети. На картинке в теме "сопливые эксперименты" видны девайсы, участвовавшие в тесте. А вот схемка испытанного сегмента сети.Никакой подтяжки линии. Слава Богу, заработало всё и сразу. И моя прога, и фирменная OneWireViewer видели все датчики без проблем. Была только проблемка с одной плохо обжатой RJ11 вилкой (через недельку напишу об этом отдельно). Все датчики DS18S20 использовались в «голом» виде, т.е. без обвязки. Ну, и так как пару часов все прекрасно работало, то пришла мысль обойтись без обвязки. Вначале, я планировал пройти по проторенной дорожке, и использовать схемотехнику обвязки ребят из Элина. Но после первого «полевого» эксперимента я решил оставить, по крайней мере температурные датчики без обвязки, но с оглядкой на возможные проблемы. По четырем жилам телефонного кабеля будут подаваться : GND, +5V, +12V, Data. Но, я надеюсь, что 5 вольт от USB мне вполне хватит для стабильной работы сети. Вот так выглядит температурный датчик сейчас. Сие безобразие будет спрятано за стандартным пластиковым выключателем с проделанными вентиляционными отверстиями. Если будут проблемы, буду обвязывать. Дело в том, что USB адаптер DS9490R, судя по всему, имеет прекрасную активную подтяжку. Когда я вместо датчика подключил ключик на DS2413, он послушно мигал светодиодами. А ведь по ДШ ему положен резистор подтяжки не менее 2к2. Кстати, в режиме overdrive тоже все работало как часики.
  • Add to Memories

Схема 1-wire сети
[info]smart_andy
Такой мне видится на сегодня схема моей домашней 1-wire сети. Возле каждой ветви указана примерная длина в метрах. Конечно, такое обилие датчиков врядли реально необходимо для управления отоплением. Но, т.к. проге всё равно, сколько датчиков обслуживать, а датчик стОит как банка пива, то я и решил напихать их всюду :)
  • Add to Memories

Чердачные работы
[info]smart_andy
Провода от датчиков второго этажа идут на необитаемый чердак. На чердаке планирую поставить распределительную коробку с 1w разветвителем. Сюда же будет приходить провод от компьютера. Телефонный провод оказалось легко закреплять на деревянных конструкция чердака обычным мебельным степлером.

Еще я решил перенести температурный датчик в одной из комнат. Прежде подрозетник для него был в метре от двери, что увеличивало влияние сквозняков. Пришлось нарастить провод и поработать перфоратором.
  • Add to Memories

"Сопливые" эксперименты
[info]smart_andy
Фотка моих первых 1w устройств. Всё на соплях :)
  • Add to Memories

Почти Умный Дом
[info]smart_andy
Итак, я делаю дом с умным управлением водяным отоплением. Почти Умный Дом.
«Умным» применительно к технике я называю то, что управляется компом или микроконтроллером (МК). Стало, быть отопление в моем доме будет управляться компом по сети 1-Wire (2е название microLAN).
То, что я буду здесь описывать, является несколько нестандартным сочетанием некоторых технологий. Нет, не правильно выразился. Технологии стандартные, но почему-то в частном строительстве применяются исключительно энтузиастами. Именно благодаря публикациям в нете таких энтузиастов я и решился на столь безрассудный шаг – сделать свое первое отопление в своем первом доме на своей первой сети 1w. Может, и мой блог поможет очередному сумасшедшему.
Коротко о моем доме. На сегодня это коробка из ГС блоков с крышей и окнами. Это коробка поделена стеной на 2 части – одна часть моя, вторая – моего друга, моего будущего соседа. Поэтому далее своим домом я буду называть свою половину дома. Итак, в моем доме есть : неотапливаемый подвал, 1й этаж, 2й этаж, неотапливаемый чердак. Из отопительных приборов предполагается: теплый пол (5-6 контуров), комнатные радиаторы 5 штук. Там, где будет ТП, радиаторов не будет. Позже я нарисую гидравлическую схему этого ужаса, а пока поясню, что все контуры ТП будут подключены к коллектору со смесительным узлом и термоэлектрическими клапанами на каждый контур, радиаторы на 2м этаже также будут подключены к коллектору и термоэлектрическими клапанами на каждый контур радиатора. Источник тепла – одноконтурный настенный газовый котел.
Теперь о 1w сети. Делая электропроводку, я определил места для термодатчиков в каждом помещении и провел к этим местам телефонный 4х жильный кабель. Именно этот кабель и будет основной средой распостранения сигнала. Общая протяженность сети –порядка 100м, поэтому остановился на произвольной топологии с ветвлениями в удобных для меня местах. Провод на концах имеет RJ11 разъемы. Датчиками температуры будут ds18s20, а исполнительными механизмами - термоэлектрические головки на клапанах, сервопривод трехходового клапана, насос ТП и т.д. планирую управлять с помощью ds2408 и ds2413. Самое главное : 1w будет общаться с компом через USB через фирменный Maxim(Dallas) адаптер, а данные будут пережевываться написанною мною программой. Надеюсь, моих скромных познаний в Delphi хватит.
Отдельно буду вести калькуляцию расходов. Скажу сразу, что некоторые детальки куплены с запасом, ибо а) высчитывать все «до последнего резистора» лениво, б) некоторые полезные для меня детальки, например, ds2408, потеряли интерес для производителя и сняты с производства.
  • Add to Memories

You are viewing [info]smart_andy's journal