Цифровой термоанемометр на PIC

3d1Термоанемометрический цифровой датчик потока воздуха на PIC

Термоанемометрический датчик потока воздуха, представленный в статье, предназначен для контроля тяги в системе вентиляции квартиры или дома. Датчик построен на PIC микроконтроллере и двух цифровых датчиках температуры. Датчик позволяет не только определять наличие потока воздуха и примерно рассчитывать его скорость, но и определять направление потока.

Принцип действия датчика основан на одновременном нагреве нагревательным элементом двух термодатчиков, расположенных с разных сторон от него. При этом, если потока воздуха нет, то оба термодатчика нагреваются одинаково, а если поток воздуха присутствует, то "пятно тепла" смещается в сторону того термодатчика, куда направлен поток воздуха. Данный принцип измерения заимствован из промышленных термоанемометрических датчиков, однако стоимость таких датчиков для монтажа в трубе 100 – 150 диаметра начинается от 6000 р.

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

Схема термоанемометрического датчика

Схема датчика показана на рисунке ниже:

thermoanemometr

(Скачать схему в пдф)

Датчик собран на микроконтроллере PIC16F688, работающем на частоте 4 МГц от встроенного генератора. В качестве термодатчиков использованы два широко распространенных цифровых датчика DS18B20. Для упрощения программы, чтобы не использовать сложную процедуру нахождения датчиков, висящих на одном проводе, датчики подключены на разные выводы контроллера и опрашиваются каждый отдельно. Нагревательным элементом для них служит резистор на 1800 ом мощностью 2Вт. Резистор питается напряжением 48 В (об этом ниже). Остальная схема питается от 5 В. Два светодиода индицируют направление потока воздуха. Контроллер по UART передает значения температур обоих датчиков, их разность, а также значение АЦП, пропорциональное напряжению, взятому из точки соединения резисторов R2 и R3. Это позволяет контролировать наличие нагревающего напряжения, обрыв или замыкание резистора R2. FU1, D4 и VR1 обеспечивают защиту при случайном замыкании линии 48 В на линию 5 В.

Термоанемометрический датчик спроектирован как часть системы умного дома, постоенной на шине CAN; и подключается к одному из модулей системы LAN-кабелем (UTP8), по которому подается питание на датчик и обратно передаются данные с датчика. Так как модули умного дома объединены CAN-шиной с помощью такого же кабеля, и по этому же кабелю подается питание для них 48 В от единого блока питания, то для нагрева резистора и использовано это напряжение.

Датчик собран на печатной плате, чертеж которой показан на рисунке ниже.

thermoanemometr pcb 1

thermoanemometr pcb 2

(Скачать в пдф)

Расположение деталей на плате:

Слой bottom:

silk bottom

Слой top:

silk top

 

Примерный внешний вид готового устройства показан на следующих рисунках:

3d1

3d2

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

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

Настройка и калибровка.

Термоанемометрический датчик потока воздуха требует калибровки. Для этого датчик нужно подключить к компьютеру через переходник USB-UART и смотреть показания датчика в любой терминальной программе. Настройки порта: 9600, 8-N-1 (по умолчанию).

Первичная калибровка производится в закрытом помещении или боксе без движения воздуха.

Для начала нужно определить разницу в показаниях двух термодатчиков без нагрева. У автора она составляла примерно 0,05 – 0,1 градуса. Эта разница на работу датчика не влияет, однако позволяет убедиться, что термодатчики работают правильно.

Затем нужно определить разницу показаний при включенном нагреве в установившемся режиме. У автора разница достигала 3.25 градуса при установившейся температуре около 75 градусов (В первоначальной версии стоял резистор на 1500 ом, и датчики нагревались до 90 градусов, а сам резистор и того больше. Для снижения риска возгорания или перегрева мощность на резисторе пришлось уменьшить.) Возможно, что разные стороны резистора нагреваются неравномерно.

Чтобы нивелировать эту разницу можно немного подогнуть резистор к одному из термодатчиков, либо один из термодатчиков подогнуть к резистору.

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

При движении воздуха "пятно тепла" смещается к одному из датчиков, и даже при слабом потоке разница температур может достигать 6-8 градусов, а при значительном потоке – и более.

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

  • При разнице больше 4 градусов – мигает зеленый светодиод – есть поток воздуха в вытяжке.
  • При разнице от -3 до 4 градусов – горят красный  и зеленый светодиоды – потока нет.
  • При разнице меньше -3 градусов – мигает красный светодиод – есть обратная тяга.

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

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

Прошивку для микроконтроллера можно скачать здесь.

 

Загрузка...