Доработка проветривателя или управление вентиляцией от датчика углекислого газа

    image
    Уровень углекислого газа (CO2) один из важных показателей качества воздуха в помещении. Еще его уровень очень удобно использовать для управления вентиляцией.

    В статье расскажу о доработке проветривателя и дистанционном управлении вентиляторами посредством микроконтроллеров и датчика CO2.
    Также, при желании, после небольшой доработки эту же схему можно применить и для управление приточной-вытяжной системой.



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

    Получить свежий воздух в помещении без шума можно установкой:
    1. Приточной системы
    2. Проветривателей, подающие воздух с улицы через дырку в капитальной стене

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

    Приведу здесь таблицу уровней углекислого газа и влияния его на здоровье, чтобы знать к чему стремиться:



    Таким образом, будем считать уровень CO2 равный 450-1000 ppm оптимальным для помещения.
    Про своему опыту скажу, что при закрытых окнах и дверях, включенном на минимуме проветривателе и при нахождении в комнате двух человек, к утру получается где-то 1200-1500 ppm, что многовато.


    Алгоритм работы



    Примененный алгоритм для управлении производительностью вентиляции достаточно простой, но при желании можно и усложнить:
    • Берется средний уровень CO2, полученный с датчика, за некоторое время.
    • Есть 6 пороговых значений и в зависимости от этого выбирается скорость вентиляторов, которая передается по радиоканалу на микроконтроллеры, управляющие вентиляторами.
    • При понижении уровня CO2 есть некоторый порог, только после которого происходит уменьшение скорости.
    • Ночью максимальная скорость вентиляторов ограничена, чтобы уменьшить шум.
    • По командам с пульта можно увеличивать или уменьшать общую производительность вентиляции и конкретно каждого вентилятора.


    В качестве датчика углекислого газа использован не дорогой бытовой CO2 монитор MIC 98130.
    Подача воздуха идет через проветриватель Aeropac 90A.
    Вытяжка усилена канальным вентилятором SystemАir IF 150.

    Для управления используются микроконтроллеры Atmel AVR ATtiny44A.
    Данные передаются от контроллера, подключенного к монитору CO2, на контроллеры, управляющими вентиляторами, с помощью модулей на трансивере NRF24L01+.
    Установка режима работы и настройка возможны с помощью любого ИК пульта, либо магнита или кнопки.


    Доработка монитора CO2



    image
    Монитор СO2, заказанный на ebay, как оказалось, имеет внутри инфракрасный газовый анализатор SenseAir K22 с достаточно хорошей точностью.
    А самое главное — имеет специальный выход с уровнем CO2 (на картинке белый разъем с четырьмя контактами).

    На этом разъеме слева-направо:

    1. питание +9В
    2. общий
    3. выход уровня CO2 в ШИМ от 350 до 2000 ppm

    Свободного места внутри не много, поэтому для доработки использована мини плата с трансивером NRF24L01+ и на нее же запаян микроконтроллер в SOP14 корпусе c обвязкой. Перед запайкой был включен фьюз DWEN для программирования и отладки по протоколу debugWIRE.

    По радио-модулям есть одно замечание — дальность передачи не достаточно велика.
    image
    Тем более если есть стены, двери между передатчиком и приемником. Так что лучше выбирать модули с внешней антенной или стараться чтобы между передатчиком и приемником было как можно меньше препятствий.

    Существует совместимый с nRF24L01+ китайский чип с повышенной мощностью передачи — SI24R01.
    Модули с ним обычно стоят дешевле, так что лучше брать с ним.
    Я, правда, не нашел вменяемые мини модули с этим чипом и в проекте еще используются модули и с родным nRF24L01+ чипом.
    Для включения повышенной мощности передачи у SI24R01 используется бит 0 регистра RF_SETUP.

    На резисторах R1, R2 собран делитель для уменьшения напряжения, получаемого с датчика.
    image
    Величина CO2 получается при вычислении времени между сменой уровня на ноге контроллера. Время берется из счетчика 16 битного таймера.
    Чтобы меньше проводить вычислений микроконтроллер работает на частоте 8.192МГц, а делитель таймера установлен в 1024.
    Таким образом счетчик таймера TCNT1 увеличивается каждые 0.125мс.
    Получается для того, чтобы вычислить уровень CO2 — нужно счетчик таймера разделить на 4 и вычесть 4.

    ШИМ сигнал на выходе датчика:


    Схема:
    Схема

    Фоторезистор LDR1 используется для определения порога темноты, кнопка — для первоначального запоминания команд ИК пульта. Светодиод информирует об ошибках передачи, а так же используется для настройки.

    Для управления и настройки решил использовать обычный ИК пульт, команды которого нужно сначала прописать в микроконтроллер.
    Вход в режим программирования — нажать и удерживать кнопку более 3 секунд. Затем по порядку облучить ИК приемник, нажимая на кнопки пульта.
    ИК команды:
    1. вверх,
    2. вниз,
    3. выбор,
    4. установка корректировки скорости каждого вентилятора.

    В обычном режиме команды «вверх» и «вниз» увеличивают или уменьшают скорости всех вентиляторов на одну ступень.
    Команда «выбор» — сброс.
    С помощью команды 4 происходит вход в режим установки смещения скорости каждого вентилятора. Сначала выбирается номер вентилятора, затем после выбора вводится смещение. Светодиод в этому режиме промигивает текущий выбор.

    Команды идентифицируются микроконтроллером таким образом:
    • с помощью таймера 0 получаем время от предыдущего фронта сигнала (прерывание PCINT1)
    • если это первый импульс, то проверяем его длительность, чтобы сразу исключить ложное срабатывание
    • если произошло изменение длительности в 1.5 раза по сравнению с предыдущем значением, то добавляем в битовый массив 1, иначе 0.
    • вычислям хеш (2 байта) битового массива и используем его для идентификации команды

    Используется простая хеш функция, для уменьшения нагрузки на контроллер,
    с формулой: hash = hash * 17 + x
    		if(IRSignalTimer > IRSignalTimerLast) // bit = a / b > 1.5
    			bit = (uint8_t)(IRSignalTimer - IRSignalTimerLast) > IRSignalTimerLast / 2;
    		else
    			bit = (uint8_t)(IRSignalTimerLast - IRSignalTimer) > IRSignalTimer / 2;
    		IRReadedByte = (IRReadedByte << 1) | bit;
    		if(++IRArrayBit > 7) {
    			IRArrayBit = 0;
    			IRHash = ((IRHash << 4) + IRHash) + IRReadedByte; // * 17
    			IRReadedByte = 0;
    		}
    


    По работе с радио-модулями NRF24L01 написано много статей, по этому углубляться в эту тему не буду.
    Скажу только, что настроены они на работу со скоростью 1Mbps, используется CRC и каждая передача должна быть подтверждена ACK пакетом.
    Для общения контроллера и модуля используется хардварный USI интерфейс.
    Вывод IRQ не используется, проверка подтверждения передачи пакета идет в цикле в функции NRF24_Transmit.

    Передается на каждый вентилятор — уровень CO2, скорость вентилятора и признак ночи.
    В текущем проекте контроллеры, управляющие вентиляторами, пока используют только скорость.


    Доработка проветривателя



    У меня установлены проветриватели Aeropac 90A фирмы SIEGENIA-AUBI — это достаточно древняя модель.
    Работает уже не один год и, как показала практика, штука в общем-то полезная.
    Воздух он гонит через 80 мм отверстие в стене и имеет угольный фильтр.
    Шумоизоляция от звуков с улицы очень хорошая.

    Внутри установлен центробежный вентилятор Ebmpapst R2E133-BH96-19.
    С шумностью самого вентилятора после стольких лет работы не все гладко. На низких оборотах может проявляться низкочастотный гул, а на высоких — некоторое подвывание.
    Причем это проявляется индивидуально. Один вентилятор больше гудит на низких оборотах, другой посвистывает на высоких.
    Решил эту проблему ограничением скорости.

    В проветривателе очень интересно реализована схема регулировки оборотов двигателя — с низких оборотов до средних плавно, а затем включается сразу максимальная скорость.
    Если на минимальной и средней скорости он работает достаточно тихо, то при максимальной скорости находиться в помещении не комфортно.
    В новой модели — Aeropac SN, не смотря на цифровую ступенчатую регулировку, принцип регулировки оборотов остался прежним — c 1 по 6 скорости обороты регулируются где-то до середины, а потом сразу максимум.

    На схеме электронный блок проветривателя обведен пунктирной линией:
    Схема

    Доработка заключается в перерезании дорожки, ведущей от среднего вывода переменного резистора RV1 к резисторам R6 и R7. В разрыв подключается оптопары U2 и U3, которые будут управлять оборотами вентилятора.
    Управляющий ШИМ сигнал на оптопары подает микроконтроллер через интегрирующую RC цепочку.
    Светодиод в оптопаре начинает проводить ток только с определенного напряжения, поэтому в программе есть настройка минимального значения ШИМ сигнала.
    Переменный резистор остается, и им, при желании, можно ограничить максимальную скорость.

    Если производительности на средней скорости не хватает, то ее возможно увеличить заменой конденсатора C9 на конденсатор большей емкости. На плате предусмотрительно есть отверстия под два размера конденсаторов — с расстоянием 27.5мм и 22мм между выводами.



    Места внутри проветривателя достаточно — влезет и не одна плата.
    Единственная проблема может возникнуть с радио модулями. Корпус двойной и сделан из толстого пластика.
    С радио-модулем на родном чипе nRF24L01+ не было связи с соседней комнатой.
    Выкрутился так — припаял одножильный медный провод к встроенной антенне, вывел его наружу через дырку для светодиода и расположил конец под крутилкой переменного резистора. С согласованием антенны не заморачивался.
    Связь появилась.

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


    Вытяжка



    Поступающий воздух должен в итоге куда-то выходить. Естественная вытяжка даже если как-то и справляется зимой, то уж летом ее скорее всего будет не достаточно.
    В моем случае я использовал канальный вентилятор SystemАir IF 150 с однофазным двигателем. Внешний диаметр у него 15 см.

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

    Схема:
    Схема



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

    Программа управления вентиляторами универсальная и, в зависимости от настроек в энергонезависимой памяти, может управлять вентиляторами как с помощью ШИМ, так и в дискретном режиме.
    Подключен ли ИК приемник к контроллеру задается тоже в EEPROM.

    В программу заложена возможность ретранслировать принятый пакет дальше — на другой вентилятор.
    Таким образом, например, можно увеличить расстояние между датчиком CO2 и вентилятором вытяжки.

    Исходник на C (для Atmel Studio 6.1): yadi.sk/d/cGpSoKqZEceQN
    Поделиться публикацией

    Комментарии 21

      +2
      И вот тут появляется вопрос: «Что важней — уровень влажности или содержание CO2?» При работающем проветривателе увлажнитель, я думаю, охренеет. По крайней мере с приоткрытым окном воду он жрет как не в себя.
        +3
        И тут мы приходим к системе климат контроля, которая измеряет влажность поступающего воздуха и увлажняет его по мере необходимости.
          0
          Я только за, но какая стоимость будет у этой штуки? А зимой нужно будет еще воздух и подогреть.
            +1
            Подогревать входящий воздух выходящим :)
              +6
              Вот вы и изобрели приточно-вытяжную установку с рекуперацией.
              Они кстати еще и влажность умеют не выбрасывать за борт.
                0
                Ну как изобрёл, я на неё просто намекнул :) А ещё добавить предварительный подогрев/охлаждение с помощью геотермального теплового насоса и вообще хайтек будет.
        +1
        А какой бытовой приборчик для измерения CO2 используете?
        Ссылку на алик или ебэй можно?
            0
            ого, не дёшево O_O
            а дешевле не бывает?
              0
              Если подключать к микроконтроллеру или подобных DIY-целей можно взять такой датчик.
              Есть еще NDIR датчики — более точные, но цена гораздо выше.
            +1
            А не думали наладить мелкосерийный выпуск?
              0
              Для начала надо понять кому это реально нужно.
              Автоматики для вентиляции сейчас в избытке.
              Стоимость, правда, у них не всегда гуманная…
                0
                Интересный способ управления всем вентилирующим хозяйством.

                Как думаете, если вместо проветривателя поставить обычный приточный клапан, а мощность регулировать исключительно вентилятора вытяжки на кухне/ванне? По идее, избавляемся от достаточно дорогого девайса (около 12к), оставляя только датчик+контроллер+вытяжку. Конечно, не беря в расчет угольную фильтрацию (для менее загазованных районов).
                  0
                  Если у вас в квартире два вытяжных отверстия (на кухне и в туалете), то скорее всего будете гонять воздух между туалетом и кухней.
                    0
                    Будет хуже, конечно. Но и лучше, чем ничего.
                    Зависит от многих факторов, например, есть ли щели у двери в подъезд, есть ли еще комнаты, мощность вытяжки и т.д.
                    Так же межкомнатные двери замедляют поток воздуха.

                    Еще — обычный приточный клапан не так сильно заглушит шум с улицы.
                    +3
                    Статья была бы неполной, без ссылки на вот этот эпичный тред BarsMonster
                      0
                      В схеме указано «жалобы на запах', но ведь углекислый газ не имеет запаха.
                        +2
                        Здесь имеется ввиду углекислый газ, выдыхаемый человеком вместе с другим содержимым лёгких (и не только). Есть ещё такие эпитеты: затхлый, спёртый, душный. Вот например, если бы автобусы были более герметичны, то вы бы ощутили весь спектр активности человеческого организма в закрытом пространстве.

                        Кроме того, есть ещё бытовой газ: обогреватели, колонки, камины, печи. В эти приборы подают природный газ, предварительно смешанный с одорантами, имеющими запах кислой капусты. Когда на кухне с газовым прибором не работает вытяжка и плотно закрыты окна, то вошедший с улицы человек легко почувствует неприятный запах прокисших щей :)
                          0
                          Про дополнительные запахи и так понятно, но схема обозначена — «таблицу уровней углекислого газа и влияния его на здоровье».
                            0
                            Углекислый газ конечно не пахнет для человека. Это был перевод английского текста с таблички производителя CO2 монитора.
                            Авторы таблички наверно имели ввиду, что в помещении с повышенной концентрация CO2 люди замечают некоторую жесткость воздуха и некий «запах».
                        0
                        Попытался повторить Ваш опыт. Выглядит не важно, но работает: 1 и 2

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

                        Самое читаемое