Управление светом на ZigBee +12


Привет друзья! Сегодня хочу рассказать Вам об одной интересной разработке системы дистанционного управления освещением.

image

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

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

image
Рис. 1

Кого заинтересовало прошу под кат.

Логичный вопрос зачем все это нужно? Применение беспроводной системы управления светом дает:

  • Уменьшение количества проводов идущих от каждого выключателя к распределительной коробке в комнате.
  • Возможность реализации проходных выключателей.
  • Гибкость управления любыми нагрузками с любого выключателя а также применение нормально замкнутых нормально разомкнутых кнопок.
  • Возможность реализации любых временных выдержек на срабатывание вкл/выкл.

Техническое задание, в начале было просто на словах и выглядело весьма мутно и непонятно. Смысл в том что в двухэтажном коттедже площадью 208м.кв необходимо управлять вкл/выкл внутреннего освещения, система должна питаться от 220в коммутировать 21-23шт. нагрузки (ламп) мощностью не более 200Вт. В момент первого осмотра объекта все выглядело вот так


Рис. 2. Основная часть коммуникаций проложена в полу затем это все заливается бетонной стяжкой


Рис. 3. Место для установки распределительного шкафа на втором этаже

Настоятельной рекомендацией было использовать как можно меньше проводов. В идеале только те, что уже проложены в полу, стенах и потолке, они идут от места установки распределительного щита к каждой лампочке. По электромагнитной совместимости всяких устройств в доме, не рекомендовалось использовать обычный wi-fi т.к. таких устройств бесчисленное множество и у заказчика на этот счет есть пунктик в голове, что устройства в доме начнут жить своей жизнью и включенная мульиварка, будет влиять на свет в ванной или туалете. Первое что сделал, набросал структурную схему, как я себе представляю решение этой задачи. На рис_4 этот вариант.


Рис. 4. Функциональная схема управления освещением.

За основу был взят радио модуль СС2530 компании Texas Instruments который поддерживает технологию ZiegBee и довольно просто программируется на С++ с помощь IAR-studio 5.5. Непосредственно коммутирование нагрузок выполняется с помощью релейных модулей WB-MR6 (wirenboard)я выбрал этот элемент, потому что в компактном корпусе на din-рейке, установлено шесть реле с не зависимыми каналами управление на 16А учтены все особенности коммутирования силовых нагрузок общего назначения в т.ч. с большими пусковыми токами: управление светодиодными светильниками, лампами накаливания, импульсными блоками питания. Плюс каждый контакт реле защищен от перенапряжения варистором. Таких модулей необходимо было установить шесть штук, чтобы спокойно управлять заданным количеством нагрузок. Все WB-MR6 соединяются по интерфейсу ModBus в единую сеть. У каждого релейного модуля устанавливается адрес, соответствующий схеме подключения и вся эта система с входными колодками, предохранителями, защитными автоматами довольно плотно монтируется в два распределительных шкафа ЩМП2-1 500х400х150. Для компактного размещения входных 46 кабелей 3х1.5 (одножильный медный) пришлось изменить традиционное положение din-реек на вертикальное.


Рис. 5. Распределительный щит с размещением устройств управления освещением.

Нужно отметить что невероятно полезной функцией WB-MR6, оказалась возможность управления релейными выходами с помощь простого подключения нормально разомкнутых кнопок к нижней клеммой колодке, для временной схемы подключения это то что нужно. Т.К. управление по ModBus появилось месяцев через пять, после сборки и установки распределительных щитов. За это время полностью были проверены и пронумерованы все кабели идущие к каждой нагрузке. И составлена подробная схема переключения, с логикой управления выключатель — лампочка на рис_6.


Рис. 6. Схема управления освещением и размещения нагрузок и модулей опроса.

По модулям опроса могу сказать следующее, функциональная схема приведенная на рис_7, оказалась вполне работоспособной. Переделывать ничего практически не пришлось, радиочастотный модуль сс2530 позволяет назначать любые входы на любые выходы. Единственным исключением является UART (pin20-Tx, pin21-Rx) Большая часть из перечня элементов покупалась на «али» Печатные платы заказывались в «резоните» Паял все двадцать штук руками, да это тяжело, по времени заняло неделю, не все сразу получилось как нужно. Зато приобретен бесценный опыт монтажа SMD компонентов.


Рис. 7. Функциональная схема модуля опроса кнопок

Процесс отладки системы и приведения её в полностью работоспособное состояние занял чуть больше трех месяцев. Первыми шагами после сборки плат рис_8, проверки по питанию и подключению к программатору, было написание программы опроса кнопок и формирование команд управления для релейных модулей WB-MR6 по шине ModBus.


Рис. 8. Модуль опроса кнопок

Это получилось довольно быстро и просто. К одному релейному модулю по RS485 подключен один модуль опроса кнопок пока без сетевого интерфейса. Сразу удалось применить полученный успех на объекте рис_9, витая пара UTP, от кнопок расположенных в спальне, была проложена заранее. С креплением модулей особо мудрить не стал, самоклеящиеся площадки и пластиковые хомуты помогают очень.


Рис. 9. Крепление модулей опроса кнопок.

Далее программно добавил, адрес каждому модулю, который задавался с помощью dip-переключателя и соответствующую ему карту переключения режим работы мастер/слейв и передачу команд по радио. Шаг в перёд, был серьезный и поэтому сложностей по отладке оказалось много. Самая серьёзная это передача информации о нажатой кнопке в мастер модуль, подключенный к шине Modbus как только был задействован zig-bee протокол передачи данных все оказалось в разы сложнее. Для тех кто дочитал до сюда, могу сказать что проблема была в том что таймеры в ядре процессора работают непредсказуемо, точнее говоря в IAR компиляторе, нужно постоянно указывать его настройки при вызове процедуры отсчета времени. Для поиска пути решения этой проблемы были добавлены функции мониторинга и контроля данных пересылаемых по радио. Контроль нажатия кнопки в сервисном режиме, моментально отображался в hyper-terminal компьютера, который подключен через адаптер RS485-USB к модулю опроса. Еще одна серьезная проблема организации сети управления освещением заключалась в недостаточном радиусе действия радио интерфейса. Более ли менее, уверенно все переключалось только в пределах стола, на котором был собран макет. Это следствие особенности энерго-сберегающего режима СС2530, у него по дефолту включена функция уменьшения мощности излучения, после образования линка, зачем так сделано не знаю, но это было выяснено через jtag в режиме пошаговой отладки. После выключения этого режима сеть стала работать в пределах только одного этажа в коттедже, фактически команды на вкл/выкл света обрабатывались сервером, только от модулей опроса находящихся в радиусе 12-14м. При условии что не было стен. Для решения этой проблемы был выбран путь замены модуля СС2530 с планарной антенной, на модуль с внешней антенной (c разъемом IPEX), тем более что очень удачно удалось купить три модуля в варианте исполнения E18-MSI-IPX плюс антенну и кабель в одном из Питерских интернет магазинов. Все это быстро было припаяно, изготовлены уголки для крепления антенн и прикручено к переходным пластинам Рис_10.


Рис. 10. Применение внешней антенны

Результат такого обгрейда меня весьма озадачил – потому что дальность ни сколько не изменилась, я бы даже сказал что слегка уменьшилась. Выход из этой ситуации я стал искать в оптимизации алгоритмов работы программы, начальных настройках СС2530 пришлось перечитать вагон даташитов и форумов по этой теме. Цель была в том чтобы заставить каждый модуль, находящийся в сети работать ретранслятором, тем более что такая функция включена по умолчанию и поддерживается любым устройством работающим по протоколу Zig-Bee. Но в моём случае это было не очевидно. В итоге я принял решение ввести в систему дополнительный модуль, у которого была бы уникальная прошивка активирующаяся поднятием только pin_6 на dip-переключателе. Он должен был, находился на потолке первого этажа и просто транслировать принятые команды, т.е. быть усилителем сигнала.

Скажу сразу, это было тупиковое направление. Но в ходе реализации этой идеи я чисто случайно померил параметры «черной» антенны, которую мне продали в интернет магазине вместе с СС2530 и кабелем. Анализатор цепей показал КСВ 1.9 на частоте 2.4ГГц – комментарии излишни, нужно делать свою антенну. Запрос в поисковую систему сразу выдаёт правильный ответ, антенна «Клевер» и подробная инструкция по изготовлению.


Рис. 11. Антенна и приспособление для её изготовления.

Буквально за вечер я сделал три штуки этих антенн, проверил их КСВ не хуже 1.2. Не могу сказать про остальные характеристики, диаграмму направленности и усиление. Но факт в том, что дальность уверенного приема и отправки команд возросла в два раза. Рис_12


Рис. 12. Измерение параметров антенны

В итоге удалось добиться нормального приема сигнала сервера на всех 12-ти модулях опроса установленных в коттедже. Т.о. требование ТЗ полостью выполнено по времени я практически уложился в поставленные сроки. Заказчик доволен.




К сожалению, не доступен сервер mySQL