Всем известно, что в Краснодарском крае, особенно летом, без кондиционера никак. Зимой они тоже помогают экономить нервы и средства. Тут очень важен подогрев.

Я установил в свою 3-комнатную квартиру три кондиционера DEXP AC-CH9ONF. Это самый простой и бюджетный вариант, я не ожидал от него особых возможностей.

Поначалу все устраивало, но учитывая, что в квартире реализован простенький умный дом на основе Zigbee-контроллера SLS, хотелось бы управлять кондиционерами дистанционно.

Управление по IR командам сразу забраковал, так как это неудобно.

Почему?

  • Отсутствие обратной связи: невозможно понять, включен ли кондиционер в данный момент.

  • Ненадежность сигнала: IR сигнал может потеряться по пути, и кондиционер не включится, хотя мы думали, что это сделали.

  • Ограниченный контроль: алгоритм работы и контроль температуры остаются прежними.

Проблемы с алгоритмом

  • Режим охлаждения: после отключения компрессора (по достижении заданной температуры) кондиционер продолжает обдув (типа просушки?), в результате чего в комнате повышается влажность, появляется неприятный запах и становится очень душно.

  • Режим нагрева: в межсезонье, когда хочется немного согреться, кондиционер включается на подогрев, работает 15 минут и отключается. Датчик внутри считает, что в комнате тепло, хотя на самом деле это не так. Эффективность нагрева очень низкая.

Решение

Когда стало совсем холодно, и я с двумя детьми начал подмерзать — решил заняться доработкой кондиционеров.

Разобрал плату управления и нашел все дорожки, ведущие к основным органам управления:

  • Транзистор управления реле включения компрессора

  • Транзистор управления реле вентилятора внешнего блока

  • Транзистор клапаном обратного хода внешнего блока (обогрев/охлаждение)

  • Управление вентилятором внутреннего блока

Для управления использовал любимые контроллеры ESP32 — WeMos (Lolin) S2 mini.

  • Удобный форм-фактор

  • Много GPIO

  • Встроенный LDO-стабилизатор питания

Готовый вариант, esp32 успешно пристроился к mothership :)
Готовый вариант, esp32 успешно пристроился к mothership :)

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

Далее я написал логику работы:

  • Получение температуры с внешнего ZigBee-датчика в комнате

  • Включение/выключение кондиционера по заданной температуре (гистерезис около 0.5 градусов)

Первая прошивка была залита уже через час.

Я предусмотрел заливку прошивки удаленно через Wi‑Fi — OTA, потому что каждый раз разбирать кондиционер не очень удобно.

Сложности

  • Управление внутренним вентилятором: он управляется через тиристор, а не транзистор (как я предпологал), и подача на него простого ШИМ разных частот не давала нужного результата. Оказалось, что это мотор переменного тока, и управляется через ШИМ 50Гц, срезом полупериодов. Это своего рода диммирование с открытием тиристора в нужный момент полупериода сети, что и ограничивает напряжение и скорость вентилятора. об том как это работает неплохо расписано например тут.

Для реализации этого метода в контроллер должен приходить оцифрованный сигнал 100Гц — удвоенная частота сети, характеризующая тайминг каждого полупериода и прохождение через ноль.

Мне пришлось снова разобрать кондиционер, найти эту цепь и вывести сигнал в контроллер. Так как на плате контроллер 5В, я зацепил его через резистор 5кОм, чтобы ESP32 не нервничал от такой амплитуды (он работает от 3.3v и не имеет защиты 5v tolerance, однако ограничивающего резистора вполне достаточно).

  • Получение температуры: в реализации умного дома на этом объекте нет локального MQTT, используется облачный сервис, который сразу дружит все устройства с Яндекс Алисой. Но, если пропадет интернет, хотелось бы, чтобы кондиционер работал дальше?

Я прочитал про HTTP API SLS и понял, что можно получать состояние датчиков прямо с контроллера. Так и сделал.

Результат

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

Веб-интерфейс на телефоне
Веб-интерфейс на телефоне
  • Теперь в режиме обогрева очень тепло: контроль по внешнему датчику.

  • В режиме охлаждения нет посторонних запахов (я почти сразу останавливаю вентилятор после отключения компрессора — 20 сек).

  • В комнате тишина, в режиме ожидания ничего не крутится и не шумит.

  • Четкий (в рамках гистерезиса 0.5 градуса) контроль состояния каждой комнаты.

Далее я подключил контроллер ESP32 к облачному MQTT и пробросил все параметры в умный дом Яндекса. Теперь Алиса тоже рулит кондиционером и сообщает в каком он текущем состоянии.

Так видно кондер в умном доме Яндекса, обратная связь показывает температуру в комнате и работу компрессора.
Так видно кондер в умном доме Яндекса, обратная связь показывает температуру в комнате и работу компрессора.

Внимательные люди могут заметить, что нет ни слова про жалюзи кондиционера?
Управлять ими не так и сложно, там шаговый мотор. Но я никогда их не трогал, и даже наоборот руками подправлял так, как мне нужно. Так что, они просто всегда открыты и направлены в правильном направлении.

Всем благ! Интересны комментарии к реализации :)

Комментарии (52)


  1. vbifkol
    18.07.2024 04:57
    +5

    1. опять вайфай. Почему не провод? Кондиционер - штука стационарная, провода туда все равно приходят.

    2. Я правильно понимаю, что родное управление не работает от слова совсем? А без этого можно было?

    3. загби-датчик это такое себе. В первую очередь по надежности. Я бы интегрировал с двух датчиков как минимум, а лучше - таки добавил проводной датчик.

    Но вообще - респект и уважуха.


    1. Vinni37
      18.07.2024 04:57
      +6

      1. опять вайфай. Почему не провод? Кондиционер - штука стационарная, провода туда все равно приходят.

      Предполагаю что кондиционер у автора уже смонтирован и трасса с проводами замурована в стене.


    1. REPLAY_5 Автор
      18.07.2024 04:57

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


  1. Ranger21
    18.07.2024 04:57

    Поставил экран к кондиционеру, теперь есть ощущение что кондиционер дует иногда сам на себя и на свой датчик, даже если обдув не направлен в экран. Как будто комнату стало хуже холодить. Хотя может стало жарче дома, у меня последний этаж и сильно нагревается квартира.

    Пока не пойму как побороть. Вчера было в квартире 29 градусов, кондёр снизил до 27, хотя стоит 21-23.

    Интегрирован в умный дом сбер.


    1. mex79
      18.07.2024 04:57
      +1

      Проблема использования экрана в том что бортовой датчик сплита быстрее охлаждается, если на пульте есть кнопка "i feel" вам повезло и при её использовании будет задействован датчик в самом пульте, если нет придется или пилить как автор или снимать экран.


      1. the_vitas
        18.07.2024 04:57

        Вот у моего кондея есть такая кнопка и датчик в пульте. А вот как оно работает ума не приложу. Там же (в пульте) вроде нет радиосвязи с кондеем, как оно взаимодействует. Надо ложить пульт, так чтоб обеспечить прямую видимость ик излучателя пульта и приемника кондея? В инструкции об этом ни слова.


        1. mex79
          18.07.2024 04:57
          +1

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


        1. romxx
          18.07.2024 04:57

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


          1. mex79
            18.07.2024 04:57

            В любом случае в спеке должно быть описано какие функции есть, у меня ballu Platinum Evolution и в мануале расписано что есть а чего нет, часть кнопок действительно не используется так как пульт не на одну модель.


        1. Dee3
          18.07.2024 04:57

          Обратная связь есть по ИК, на пульте два диода, приём и передача.
          Но по своему пульту могу сказать что толку особо нет, потому что качество реализации такое, что в комнате может быть холодно, а на сенсоре пульта условно 27 градусов. Не хватает подстройки