Поиск

17 ноября 2016 г.

Подключаем проветриватель Aeropac SN к датчику CO2 AZ-7798 (UART)



Появились новые версии проветривателей Аэропак с кнопочным управлением и дисплейчиком - Aeropac SN.
Старая доработка работать уже не будет.
Поэтому пришлось разрабатывать новую...

Управлять проветривателем будет веб-сервер на базе esp8266 + nRF24L01 для передачи данных. Он подключен к AZ-7798 через UART.
В проветриватель встраивается Atmel AVR Attiny44A + nRF24L01 для задание оборотов вентилятора.






Внутри нового аэропака - выводит на LCD, опрашивает кнопки и задает обороты мк Atmel Atmega16a. 
На плате есть разъем для программирования, прошивка читается.

Городить свою прошивку не стал, так как нет свободных выходов для подключения nRF, единственное что сделал - запатчил на предмет сохранения в EEPROM установленной скорости, чтобы сберечь ее ресурс. 
Сохранение скорости происходило при каждом нажатии на кнопки "+", "-" и при выключении. Оставил сохранение только при выключении, на всякий случай.
Пропатченная прошивка: AeropacSN_atmega16a.BIN





Обороты вентилятора регулируются 2-мя опто-симисторами по датчику перехода напряжения через ноль. 2-ой симистор для максимальной скорости.

Встраемый в аэропак модуль управления на AVR Attiny44a выступает инициатором обмена и получает скорость и другие команды по воздуху через nRF24L01. 
Для этого используется технология Enhanced ShockBurst c динамической длинной пакета и передачей данных с пакетом подтверждения в nRF24L01. Сделано это для минимизации потребления.
Модуль подключен к аэропаку на кнопки "+", "-", "Вкл/Выкл" и к питанию +5В.

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

AZ-7798 имеет разъем UART (2.5 мм аудио джек) через который можно посылать команды и получать данные. Esp8266 запрашивает у AZ-7798 текущее значение CO2, температуры, влажности и устанавливает время, полученное с NTP сервера.




Схема сервера:
Схема - внутрь Аэропака:


Пароль по умолчанию: 0123456789
Доступ к настройкам: логин имя в AP SSID (по умолчанию "ESP8266"), пароль в AP Password (по умолчанию выше).

Схема, исходник: https://github.com/vad7/CO2UART
Прошивка: https://github.com/vad7/CO2UART/releases/tag/1.0

14 комментариев:

  1. Можно ли увеличить количество ступеней оборотов двишателяй в Аэропаке?

    ОтветитьУдалить
  2. Как добавить промежуточные скорости между 6 и 7 ступенью? Делается ли это программно изменением прошивки или нужно модифицировать схему?

    ОтветитьУдалить
  3. 7 скорость, это максимальные обороты. Включается отдельным ключем.
    Между 1 и 6 "плавная регулировка" другим ключем.
    Когда доберусь до компа, посмотрю можно ли увеличить частоту импульсов.
    Если да, то это может немного увеличить 6 скорость.
    В любом случае нижний предел можно увеличить изменив емкость конденсатора.

    ОтветитьУдалить
  4. Почему там всего 6 а не 10 ступеней, раз уж управление осуществляется контроллером.
    Мысль возникла, что для регулировки вместо всей схемы с реле, конденсаторами и контроллером можно наверно использовать готовый симисторный регулятор оборотов (диммер для вентиляторов).

    ОтветитьУдалить
  5. В аэропаках всегда так было. В прошлых версиях, где была плавная регулировк, то же регулировалось плавно до определенных оборотов, а потом бац и сразу максимум.
    В нижним диапазоне двигатель запитан через конденсатор.
    Почему они не сделали регулировку во всем диапазоне, можно только догадываться.
    Возможно, какие-то особенности применяемого двигателя.
    Обычный семисторный регулятор "режет" каждый полупериод, а в аэропаке регулировка по другому - идет пропуск периодов.

    ОтветитьУдалить
  6. Разве метод пропуска периодов применяется для управления индуктивной нагрузкой (двигателями)??
    В общем вопросов два -
    1. Можно ли переделкой прошивки добавить фиксированных скоростей между 6 и 7?
    Тут еще необходимо переделать отображение на сегментном LCD индикаторе - я прикинул, что 6 сегментов будет достаточно для индикации 10 уровней, если изменить логику.
    2. Можно ли использовать "вентиляторный диммер" для регулировки оборотов этого двигателя?

    ОтветитьУдалить
  7. Здравствуйте, Вадим.
    Я нашел в прошивке, как регулируется скорость, и думаю, что вторым ключем можно так же управлять как и первым(пропускать периоды), и тем самым добавить скоростей.
    Но у меня есть опасения, что в цепи второго реле отсутствует что-то типа фильтра, который сглаживает включения-отключения питания.
    Поскольку я электронике я не разбираюсь совсем, проясните, пожалуйста, есть ли в двух цепях отличия, и для чего может быть предназначен отсутствующий конденсатор C3?

    ОтветитьУдалить
    Ответы
    1. Добрый день!
      Скорость регулируются опто-симисторами AQH3213. Они включаются при переходе синусоиды через ноль, поэтому включать их можно как угодно.

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

      Схему Аэропака я не восстанавливал, фоток хорошего качества тоже не осталось - поэтому точнее сказать не могу.

      Удалить
  8. Не совсем понятно - откуда на стороне ESP-шки известна текущая скорость вентилятора? Как происходит синхронизация скорости?

    ОтветитьУдалить
  9. То есть пользователь ведь может может понажимать кнопки на самом проветривателе, а обратной связи от него не видно. Или я чего-то упускаю?

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

      Удалить
    2. Этот комментарий был удален автором.

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

    ОтветитьУдалить
  11. Доброго времени! нашел эту давнюю тему, копая инет на предмет особенностей эксплуатации аэропака; очень мало полезной информации по этому девайсу, кроме инструкции) Недавно поставил аэропак и столкнулся с проблемой. Живу в пригороде, здесь осенью-зимой по вечерам проседает напряжение в сети где-то до 180 вольт. И аэропак просто отказыается работать! Утром и ночью все хорошо, а ближе к вечеру девайс останавливается. Дисплей и управление работают, но двигатель либо не запускается вообще, либо не набирает обороты и замирает. После полуночи все ОК. Как понимаю, единственный вариант - вкорячивать стабилизатор напряжения? или есть другие пути?) Интересно то, что вся остальная домашняя техника работает нормально, только бошевская посудомойка иногда ругалась)

    ОтветитьУдалить