Блог

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

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

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

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

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

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

Проект

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

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

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

Если подать минус (массу) на точку, обозначенную на фото красными кружками (вид сверху и снизу платы), то внутреннее реле включится. Если убрать - выключится. Эта точка - выход 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'ы (или из "Умного дома") мы сможем не только включать и выключать реле, но также знать его состояние.

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

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

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

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

Полуитоги

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

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

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

Итоги

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

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

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


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

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

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

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

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

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


Вернуться назад
Вернуться назад