Пятница, 19.04.2024, 12:18
| RSS
Поиск
Главная |
Защита, контроль, управление
Форма входа
Логин:
Пароль:

Меню

Авторские проекты

Статьи

Raspberry Pi

Полезная информация

Обратная связь

Ссылки

Форум

Чат

Канал YouTube

Группа в Facebook


Календарь
«  Июнь 2017  »
ПнВтСрЧтПтСбВс
   1234
567891011
12131415161718
19202122232425
2627282930

Наш опрос

Ссылки


Яндекс.Метрика





.
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Web Home Pi. Релейный модуль с управлением по RS485

Web Home Pi. Релейный модуль с управлением по RS485

Наш канал в YouTube


Публикации по теме автоматизации дома WebHomePi вызвали определенный интерес у пользователей. Особенно приятно, что многие стремиться не только повторить то, о чем рассказывалось на страницах сайта, но и внести свой вклад в развитие системы, разрабатывая различные устройства, позволяющие расширить функционал WebHomePi.

Сегодня я хочу познакомить вас с релейным блоком, управляемым по интерфейсу RS485, разработанным участником проекта Александром  (AlexAW). Далее описание устройства идет от автора этой разработки.

Представляю вашему вниманию проект релейного блока для систем домашней автоматизации. Его основное предназначение – местное и (или) дистанционное управление требуемыми нагрузками. Местное управление четырьмя выходами осуществляется с четырех гальванически изолированных от внутреннего микроконтроллера входов. Дистанционное управление происходит по сети RS485 широко распространенным протоколом обмена Modbus RTU. Соответственно этот релейный блок будет легко интегрироваться в проект WebHomePi. Особенно он будет полезен для автоматизации домашнего освещения.

Релейный блок проектировался исходя из опыта эксплуатации «умного света» в квартире собранного на устройствах управления с сетевым протоколом Х10 передаваемым по питающим сетевым проводам. Отмечу – практически все меня устраивало! Устройства автономны, при отсутствии центрального блока выполняют заложенный в них алгоритм управления, самостоятельно. А с помощью централизованной системы управления, возможно, организовать различные сценарии освещения, удаленное управление освещением, имитацию присутствия и прочие вкусности типа «включения кофеварки по утрам» Подробно можете почитать про это в моем личном блоге . Но протокол Х10 имеет два существенных недостатка:

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

Если с первым недостатком еще можно мириться, то со вторым в принципе невозможно!

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

Есть альтернатива устройства с беспроводным обменом или по отдельным проводам. Например, устройства KNX или HDL, но цены на них, на мой взгляд неприемлемые. Решил поискать что то подешевле На Алиэкспресс есть устройства ввода вывода, работающие по сети RS485 Modbus и даже цены приемлемые. Все хорошо, на первый взгляд. Принцип работы сети Modbus основан на том, что в сети одно головное устройство опрашивает все остальные. Получается для того что бы включить какой то выход по команде с какого то входа, это головное устройство должно спросить состояние входа и в зависимости от результата включить или выключить соответствующий выход. Крутит устройство управления домашней автоматикой опрос выключателей и датчиков, и рулит соответствующими выходами и реле. Но вдруг оно раз и остановилось? Ну мало ли сложное ведь, поломалось или просто повисло…. И все сидим без тепла и света. Клацаем выключателями и никакой реакции. Не, так не пойдет, мы уже это проходили.

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

Именно эта философия и была заложена в основу проектирования алгоритма работы представляемого релейного блока. В текущей версии реализовано управление четырех выходов по принципу N вход управляет N выходом. Принципиальная схема блока приведена на рис. 1

 

WebHomePi релейный модульC

Рис. 1

 

 

Вход может работать в следующих режимах:

  • кнопка;
  • выключатель;
  • универсальный выключатель (работает как кнопка при кратковременном (менее 1 сек.) включении, и как выключатель, если включение было, более 1 сек.);
  • вход отключен от выхода.

Настройка режимов может производиться с помощью кнопки программирования.

Для смены режимов необходимо установить требуемое сочетание входов и выходов (см. таблицу) нажать и подержать кнопку программирования от 3 до 5 сек. Для удобства программирования при нажатии на кнопку программирования более 2 сек. временно все входы начинают работать как кнопки.

 

 

 

Имеется еще пятый вход, который работает как кнопка «выключить/включить все». Короткое «нажатие» на эту кнопку приводит к выключению всех выходов, а если нажать и подержать более 1 сек. произойдет включение всех выходов. Без этого входа можно было бы, и обойтись, т.к. функцию включить выключить все, удобно реализовывать как некий сценарий освещения в центральном блоке управления. Но мой опыт эксплуатации «умного света» в квартире показывает, что сценарий выключить все является единственным востребованным всеми моими домочадцами. Действительно удобно при выходе из дома нажать на клавишу и быть уверенным, что весь свет и переноска (в которую обычно включается «утренние бытовые приборы» утюг плойка фен) выключены. Поэтому я добавил этот вход, (благо портов хватает) что бы обеспечить самостоятельное исполнение этого сценария устройством. Если устройств несколько этот вход у них объединяется. Я в своей квартире релейные блоки размещаю в распределительных коробках и в силовом электрощите. Еще при строительстве я раскидал восьми проводную витую пару UTP-5 между электрическим щитом и распределительными коробками параллельно с электрическими проводами. Пара питание пара RS485 остальное свободно так, что есть чем соединиться.

 

WebHomePi релейный модуль

Рис. 2

 

Может случиться так, что какой-то выход не должен реагировать на вход «выключить/включить все». Бывает, требуется что бы какой то выход был во включенном состоянии сразу после включения питания. Для настройки режимов реакции выходов на вход «выключить/включить все» и установки состояния выходов при включении питания, предусмотрен другой режим работы кнопки программирования. Если кнопку программирования удерживать нажатой более 10 сек., то текущие состояния выходов запишутся в долговременную память устройства как состояния при включении питания. А состояние входов запишется в настройки режимов реакции выходов на вход «выключить/включить. все». Если вход был включен, то соответствующий выход реагирует на вход «Вкл. Выкл. все», если выключен, то игнорирует. Более тонкую настройку реакции (например на вкл. реагировать на выкл. нет возможно настроить, но только по сети Modbus RTU.

Для обеспечения централизованного управления реализован контроль и за состоянием входов и выходов, управление выходами и настройка режимов работы входов релейного блока по сети RS485 протоколом Modbus RTU

Команды, которые принимает и передает блок, сведены в таблицу Exel (см. архив материалов к статье)

Запись в регистр 0х05 по функции записи 0х03, управляет настройками режима работы входов в соответствии с таблицей:

 

 

В этой версии программы микроконтроллера устройства реализована возможность установить задержку включения и (или) выключения выхода (это может быть полезным например для управления вентилятором в ванной)..Задержка может быть установлена:

  • от 1 сек. до 256 сек. с шагом 1 сек.,
  • от 10 до 2560 сек. с шагом 10 сек. с точностью до минус один шаг.

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

 

WebHomePi релейный модуль RS485

Рис. 3

 

Архив материалов к статье содержит:

  • дизайн проект релейного блока в Proteus;
  • HEX файл прошивки для контроллера 16F628A;
  • несколько вариантов печатных плат разведенных так же в Proteus под ЛУТ вариант с односторонней печатной платой;
  • вариант печатной платы для размещения в корпусе на DIN рейку размером в два модуля 17.5мм;
  • таблицу Exel с описанием реализованных в устройстве команд Modbus RTU

В архив также включен дизайн проект с эмулятором последовательного порта для отладки взаимодействия устройства протоколом Modbus RTU – подробнее, см. здесь . Proteus позволяет подключить виртуально моделируемое устройство к реальным или так же виртуальным внешним устройствам через последовательный интерфейс и проверить весь протокол обмена. В качестве приемопередатчика Modbus команд удобно использовать ПО Modbus Poll или ему подобные – подробнее см, например, тут.

 

WebHomePi Raspberry Pi

Рис. 4

 

Есть печатная плата для размещения устройства в корпусе на DIN рейку разработанная Aлександром. Открытый проект в среде EasyEDA опубликован вот по этой ссылке - оттуда можно заказать платы промышленного качества и там же заказать детали.

Варианты собранного модуля приведены в статье на рис. 2-4:

Процесс отладки устройства в симуляторе и процесс разработки печатной платы можно посмотреть на моем канале в YouTube:

P.S. В архив материалов к статье добавлен вариант печатной платы релейного модуля на Mosfet транзисторах. Печатная плата разработана  Vanuha_63

Join our group on Facebook. Присоединяйтесь к нашей группе в Фейсбуке

 

Архив материалов к статье

 



 




Категория: | Просмотров: 5638 | Добавил: Admin | Теги: | Рейтинг: 5.0/2 |
Всего комментариев: 5


4 griganam  
Добрый вечер! Подскажите как открыть файл LYT если нет протеуса, можете выложить в Layout? Спасибо!

5 AlexAW  
Доброго времени суток.
Без протеуса, к сожалению, не открыть.
В Layout он тоже не конвертирует
Из доступных сконвертировал в PDF картинки
В материалах к статье есть архив с рисунками ПП в формате PDF
обратите внимание на фото, имеются три перемычки

3 XDNA  
Спасибо Вам за труд.

1 Zoolu  
0
Отлично! Спасибо за статью!)

2 AlexAW  
Adminу спасибо за проект!
Я тоже старался!    Рад быть полезным.





T2M © 2024
Сайт управляется системой uCoz