Китайское реле с RS-485 / Modbus

У меня кстати появилась такая идея. А что если собрать релейный блок самому, использовав (извините, пожалуйста, за матерные слова) Arduino самую дешманскую и мелкую, плату (или как оно там зовется? Шилд?) RS-485 и обычный блок реле? В целом стоимость устройства может выйти примерно в 1.5К за 8 каналов, что очень недорого в сравнении с готовыми решениями. Можно и развести на одной плате вручную, но хочется потратить меньше времени. К тому же, насколько я понял, под неё есть готовые Modbus-либы.

Как думаете за такой вариант? Или фигня получится?

так вы выводите в комнату один rs485 а там звездочкой раскидываете.
если все на нем конечно.

я выводил выключатели-кнопки отдельно на контакты прямого управления, и отдельную линию под mqtt.
тянуть отдельную линию под каждое устройство круто конечно, но нужен серверный шкаф чтобы все это аккуратно развести)

Апдейт касательно исходного китайского девайса. Я пытался выпросить у китайцев его схемы-прошивки, но безуспешно.

Тем не менее, имея программатор для STM8, оказалось относительно несложно выгрузить код микроконтроллера, дизассемблировать его и патчить по своему усмотрению.

Пока что удалось:

  • Исправить неточности в протоколе Modbus, мешающие его использовать без костылей
  • Пофиксить отправку ответов на команды (без этого WB всё время ругался бы на ошибки) — достаточно было делать задержку перед и после передачи
  • В процессе — привязка инпутов к реле (изначально состояния инпутов можно было только вычитывать, без участия центрального контроллера переключать реле было нельзя)

В принципе, при некотором желании технически вполне реализуемы и более сложные сценарии прямо на микроконтроллере (любые связки инпутов/реле). Позже смогу выложить свою обновленную прошивку — при наличии программатора (например, должно хватить такого, 122 рубля) её довольно просто накатить.

3 лайка

Это чертовски круто!

А я пока пошёл другим путём. Взял отдельно блок реле на 4 канала (120 рублей), аналог pro mini (100 рублей, извините :frowning: ) и RS485 модуль (20 рублей). Получился функционально этот же релейный модуль, но на AVR и за 240 рублей. Так же в пути один модуль на твердотельных реле (250 рублей) - чтобы в изголовье кровати поставить и он не щелкал. Достаточно просто заменить один релейный блок на другой.

Пока идет USB-RS-485 конвертер для тестов, накатал на все это дело на скорую руку прошивку для управления только с клавиш. Работает (а чего бы ему не работать). Modbus либа по *дуино есть готовая.

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

Увидел тему спустя 3 месяца как получил от китайцев данный модуль. Действительно нет привязки выходов ко входам, что и послужило причиной невозможности его использования. Разочаровавшись положил в тумбочку и заказал wb-mr6c. Цена конечно подороже чем у китайцев, но работает четко из коробки и без шаманства. Больше огорчила стоимость доставки почти треть от цены модуля. Неужели нельзя сделать вариант доставки на почту подешевле? Оф-топик, как продвигаются дела с ремонтом?
Сам нахожусь на стадии закладки электропроводки в двухэтажном доме. Решил на каждом этаже делать щит, монтировать устройства на дин рейку и по этажу тянуть линии управления и силовые к щиту. На первом этаже будет основной щит с контроллером. Для удобства, монтаж слаботочных кабелей в щите делать витой парой, используя кросс панель 110 типа. Это даст в перспективе с легкостью что-либо перекомутировать.

Поделитесь опытом использования китайского устройства? Получилось ли привязать инпуты? Опишите по подробнее процесс прошивки. Видимо пришло время достать девайс из тумбочки)

У меня у самого эта железка пока отложена «в тумбочку») Насколько помню, реле привязать к инпутам получилось, но осталась проблема дребезга при этом (неприятная, но тоже решаемая). У меня начало ремонта долго откладывалось, поэтому и доделывание прошивки как-то стало неприоритетной задачкой. Сейчас ремонт в самом разгаре, и тоже дошло дело до проводки — так что, вероятно, с прошивкой я всё-таки доразберусь. Подробности, видимо, будут в виде здоровой статьи на Хабре :slight_smile:

Кстати, к вопросу о ремонте и закладке проводки — если интересно, могу поделиться своим документом для электрика, по которому ему пришлось всё разводить. (И это ещё без некоторых уточнений, которые я позже добавлял)

Ещё вопрос по этому модулю (у меня похожий - 1-канальный). Не смог найти, можно ли менять скорость передачи данных? На 9600 работает, как переключить на 34800?

Sergej_B, добро пожаловать!
Вам надо получить карту (список) modbus-регистров от производителя/продавца, обычно коммуникационные параметры настраиваются через один из регистров. Но, возможно, скорость обмена данными фиксированная.

Да, похоже, что скорость модуля фиксированная. Но топикстартер писал, что слил прошивку из модуля и вносил в неё корректировки. Интересно, возможно в прошивке изменить скорость обработки?

А подскажете точное название модели вашего устройства?

Вот это устройство

Сергей, посмотрел и не понимаю, можно или нет. Думаю, вам надо обращаться к продавцу или производителю. Смотрите, если таких устройств у вас немного, а вы хотите побыстрее с ними общаться, надо выделить для одного или нескольких отдельный порт RS-485. У нас в контроллере могут быть установлены дополнительные модули RS-485.

Я использую контроллер ОВЕН 304. Используя стандартные библиотеки CoDeSys сеть может работать только на одной скорости (остальные модули, а их у меня около 50шт, работают на скорости 38400). Можно, конечно использовать библиотеки ОВЕН и переключать программно скорость, но сложнее написание программного кода… Поэтому ищу модули, работающие на скорости 34800. У Вас, конечно, есть подходящий модуль реле (который mini), но цена кусается, а данное устройство почти в 5 раз дешевле…

Сергей, а для вас критично, чтобы модули были маленькие и находились в разных местах? Просто у нас есть многоканальные реле и модули, там цена за канал ниже, чем в WB-MR-mini.

Да, я их использую для управления светом, устанавливаю в подрозетники. Заказал Stlink-Link V2, буду изучать программирование контроллера STM32…