Переделка китайского RF-реле в Sonoff RF

06 августа 2021, 19:42


Предыстория.

Есть у меня парочка китайских RF-управляемых реле, выпускаемых некой фирмой с не очень приличным названием CACAZI (хотя, если предположить, что язык оригинала итальянский, то произносить надо "кака́дзи" -  а это звучит уже не так неприлично).

Релюшки эти выглядят вот так (сразу даю всевозможные фото со всех ракурсов в собранном и разобранном состоянии): 

1600x_image.png?1628271806
1600x_image.png?1628271807
1600x_image.png?1628271806
1600x_image.png?1628271808
1600x_image.png?1628271808
1600x_image.png?1628271807
1600x_image.png?1628271808
1600x_image.png?1628271809

Напоминает и по внешнему виду, и по габаритам известное реле Sonoff RF - не правда ли?

Но к сожалению, функционал у реле до Sonoff'а не дотягивает, а именно: это реле работает только от пульта ДУ, "вещающего" на частоте 433 МГц. Но зато, как и у Sonoff RF, возможно "обучение" - то есть, реле может запомнить код практически любого пульта (точнее, любой кнопки любого пульта). Не знаю, сколько всего может быть запомнено кнопок (в инструкции об этом не пишут), но на практике я записывал в реле коды трёх кнопок, и все они работали (бо́льшее количество не пробовал).

Проект

В-общем, всем эти релюшки хороши, кроме одного - через "умный дом" невозможно ни управлять ими, ни мониторить их состояние. То есть, нажали на кнопку пульта - и поди пойми, сработало реле или нет. Ведь все мы знаем, что диапазон 433 МГц настолько загажен всевозможными выключателями, термостатами и погодными датчиками, что из-за помех отработка нажатия кнопки на RF-пульте гарантируется далеко не на 100%.

И пришла мне в больную мою голову идея - а что, если "приколхозить" к этому реле небольшое устройство на ESP8266, которое будет включать и выключать реле наравне с RF-пультом? Ну, в-общем, "по образу и подобию" пресловутого реле Sonoff RF. Небольшое - потому что свободного места в корпусе реле не так уж и много. Но плата ESP01 (особенно, если ей "выдернуть ноги") должна вполне поместиться.

Я начал разбираться в плате этого реле и вот, что выяснилось:

1600x_image.png?1628275960

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

Значит, мы вполне можем взять ESP01, прошить его, к примеру, прошивкой Tasmota (тяготею я к ней - извините) задать, скажем, на пин TX подключение типа "Реле" (Relay), припаять его к этой точке, затем объединить массы ESP01 и CACAZI... А вот где взять питание для ESP01, которому, если кто не знает, нужно 3,3 В (и никак не 5, не 12 и т.д., а именно 3,3)?


В поисках пропитания

Реле CACAZI питается от бытовой сети переменного тока напряжением 230 В. Но мы все понимаем, что электронные компоненты питаются, во-первых, постоянным током, а во-вторых, с гораздо более низким напряжением - обычно это 5 В или 3,3 В. Для силовых элементов в большинстве устройств используется ток напряжением 12 В (иногда встречаются варианты 9 В, 24 В и прочие).

На внутреннем реле (большой синий кубик на фото) маркировка SRD-12VDC-SL-A. "12VDC" в переводе с "ненашего" означает "12 вольт постоянного тока". Значит, где-то на плате "гуляют" 12 вольт. 

При дальнейшем исследовании платы я обнаружил стабилизатор напряжения HT7550-1 (с него маркировку почему-то не соскоблили), который выдает 5 вольт, но.... с током всего до 100 мА. Значит, для питания ESP01 он не годится. А на входе HT7550-1 - как раз те самые 12 В, которые работают с катушкой реле. Надо будет попробовать туда прицепиться и поставить стабилизатор типа AMS1117.

Ну а пока я на время опытов запитал ESP01 по временной схеме от внешнего источника питания.

Да, вот ещё, что. Мне так пока и не удалось понять, где и как ~230 В преобразуются в малое напряжение. Насколько правильно я изучил плату, входящие ~230 В попадают на выпрямитель MB10F, причём один провод напрямую, а другой - через резистор 18 Ом большой (судя по его габаритам) мощности. Я невеликий спец в современных преобразователях напряжения. В эпоху моей молодости мы ставили после ~220 В (да - тогда стандартное напряжение было 220 вольт, а не 230 как сейчас) большой и тяжелый (под килограмм) трансформатор, который понижал напряжение до требуемого, а после трансформатора ставили четыре диода, чтобы получился мост. А сейчас всё по-другому - трансформаторов нет, диодный мост уже закатан в микросхему...

В-общем, три раза перекрестившись, я подключил на вход ~230 В и измерил вольтметром напряжение на выходе MB10F. Вольтметр выдал что-то порядка 315 вольт (!!!!!) постоянного тока. Может быть, мне так показалось, может ещё что-то, но я поспешно вытащил вилку из розетки... Повторять этот "замер" я больше не хочу - здоровье дороже. Параллельно выходу выпрямителя стоит конденсатор 4,7 мкФ/400 В. Ну, видимо, не зря - там действительно пока еще высокое напряжение.

Короче, все дальнейшие эксперименты я провожу, подавая на выходы (я не оговорился - действительно, выходы) выпрямителя MB10F напряжение 24 вольта от лабораторного блока питания. Нужное напряжение вычислил экспериментально - от 12 вольт устройство "не заводится". Начинает кое как работать примерно на 18 вольтах. Ну а от 24 вольт работает не хуже, чем от штатного питания.

Продолжаем с логикой управления

Итак, мы выяснили, что если на заданную точку подать минус, то реле включится. И более того - будет оставаться включенным, пока мы массу не уберем. В принципе, это вполне соответствует логике Tasmot'ы по части обслуживания реле. Более того, через веб-интерфейс Tasmot'ы (или из "Умного дома") мы сможем не только включать и выключать реле, но также знать его состояние.

1600x_image.png?1628277046

Однако... вся эта логика летит к чертям, как только мы попытаемся переключить реле с RF-пульта. Микросхема, являющаяся "оконечником" RF-компоненты устройства пошлет управляющий минус, и мы через Tasmota-компоненту не сможем этот минус убрать, как ни будем стараться.

Поэтому надо придумать что-то другое. И решение нашлось - надо в Tasmot'е задействовать не только "Реле" (Relay), но и "Переключатель" (Switch), повесив его на другой выход - в случае ESP01 самым подходящим будет выход RX. При правильной конфигурации Tasmot'ы его Relay будет управляться не только командой, отправленной по сети, но также и физической подачей минуса на вход Switch (т.е., замыканием входа Switch на массу). А кто у нас будет замыкать Switch на массу? Правильно - RF-компонента через 6-ю ногу безымянной микросхемы. 

В-общем, разрезаем дорожку и делаем вот такую коммутацию:

1600x_image.png?1628278044

Не забываем подтянуть выход 6-й ноги безымянной микросхемы к плюсу, ибо не любят микроконтроллеры "неопределенного" сигнала на входе - то есть, если там "не минус", то будет "плюс".

И еще необходимо поставить резистор на 10 кОм в разрыв цепи TX. Без этого резистора (т.е.,если соединить TX с платой напрямую) ESP01 отказывается запускаться после перезапуска по питанию. Пусть знатоки объяснят, почему именно - я не вникался в эту проблему.

Теперь получилась такая логика. При "чисто виртуальном" управлении выход "Relay" Tasmot'ы включает и выключает внутреннее реле, попутно сигнализируя на внешний контроллер о том, в каком состоянии сейчас находится реле. А RF-компонента CACAZI работает по отношению к Tasmot'е как механический переключатель, логику которого также отрабатывает Tasmota и, соответственно, сообщает контроллеру о состоянии реле. В итоге мы теперь можем управлять реле как "виртуально", так и с RF-пульта.

Полуитоги

Работа проверена на практике. Всё работает, как и задумывалось. Задержка отработки от RF-пульта примерно такая же, как и на "фирменном" Sonoff RF.

Единственный вопрос, который пока не решен - это организация питания ESP01. О своих соображениях на этот счёт я писал выше, но до фактической реализации пока дело не дошло, и пока моя система работает по временной схеме с питанием ESP01 от внешнего источника.

Надеюсь, что в ваших комментариях я найду оптимальное решение этого вопроса. А может, и других вопросов тоже.

Итоги

Схему собрал. С питанием поступил следующим образом - взял 12 В (на практике там оказалось 10,5 В) со входа стабилизатора HT7550-1. Массу взял с контакта кнопки. И там, и там просто припаял тонкие проводки.

1600x_image.png?1628514891

Для понижения 12 вольт до уровня, необходимого для питания ESP01 (т.е., 3,3 В), использовал стабилизатор AMS1117. 

Обмотал ESP01 и AMS1117 изолентой (жалко, не нашёл синюю, поэтому использовал зелёную). Теперь всё работает, как и задумывалось.


Все новости мира умных домов - t.me/SprutAI_News или Instagram
Остались вопросы? Мы в Telegram - @SprutAI

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. (msgluk)
    (msgluk) месяц назад

    Слева от зеленого конденсатора есть 8ми ногая микросхема, возможно это DC|DC преобразователь 220/12в. Если есть маркировка, можно найти даташит. если не найдется, то 12В можно взять со входа стабилизатора 5В.

    • Игорь Бурундуковский (booroondook)

      Так в итоге и сделал - взял +12 В со входа стабилизатора, а затем прогнал их через другой стабилизатор с понижением до 3,3 В.

      Еще пришлось в разрыв цепи релейного выхода ESP (того, который на фотографии обозначен как TX) добавить резистор на 22 кОм (наверное, можно было и меньшего номинала, но этот просто под руку попался). Если соединять без резистора, то ESP не запускается после сброса по питанию. 

  2. (msgluk)
    (msgluk) отредактировано месяц назад

    странно всё это выглядит. по идее дергать реле нужно с помощью транзистора, возможно это Q1 на плате (желательно еще диод защитный параллельно обмотке катушки поставить от ЭДС самоиндукции). По сути ценность платы состоит только в корпусе и источнике питания 220В. Подведем итог - имея схему питания, ESP, реле и рассыпуху, можно получить управляемое реле) а еще можно купить SONOFF DIY mini и прошить на тасмоту, плюсом можно ее хакнуть и припаять термодатчик к плате. У меня такая штука стоит на люстре, светом рулит и данные передает по MQTT в HA (Тасмота мощная вещь). Посмотри еще модуль ESP-01M интересная и не сильно распространенная вещь, но компактная и красивая)

    • Игорь Бурундуковский (booroondook)

      Тут основной посыл не в том, чтобы что-то специально купить, а в том, что есть готовое устройство, которое можно относительно недорого "довести до ума".
      Сами посудите - финансовые затраты всего-то рублей 130-150.

  3. (msgluk)
    (msgluk) месяц назад

    ничего против не имею) главное - творческий подход.

К списку блогов

Похожие записи

28 мая 2020, 05:53
Компонент для управления устройствами Sonoff на прошивке eWeLink по локальной сети и через облако из Home Assistant без необходимости перепрошивать устройства
24 мая 2019, 00:26
Управляем реле Sonoff с помощью Алисы
27 января 2019, 10:55
Избавляемся от wi-fi реле на ESP в пользу zigbee без прошивок и танцев с бубном.
30 июня 2019, 22:49
ESP_Easy получила возможность создавать автоматизации по принципу Node-RED.
18 апреля 2019, 16:30
В статье описана интеграция Wi-Fi переключателя в стандартный удлинитель.
12 января 2020, 08:06
Компонент Sonoff для Home Assistant с управлением по локальной сети. Работает с оригинальной прошивкой устройств.
21 января 2019, 14:36
Переделка Sonoff Basic на твердотельное реле
16 января 2019, 12:17
Алгоритм прошивки Sonoff под Homekit
07 июня 2019, 13:40
Бюджетная и мобильная система контроля протечки
22 мая 2020, 17:33
Управление умными устройствами с прошивкой Tasmota (напр. реле Sonoff) по сигналам от датчиков диапазона RF433.