Измерение температуры воздуха с помощью ультразвукового датчика

Как хорошо известно, всем поклонникам аппаратной платформы Arduino датчик HC-SR04 – это ультразвуковой локатор для измерения расстояния [1-3].

Но скорость распространения ультразвуковых колебаний в воздухе изменяется поl действием различных физических факторов, таких как температура, влажность, давление [4]. Одним из важнейших параметров влияющих на скорость звука является температура воздуха. Таким образом измеряя какое-либо заранее определенное расстояние можно по изменению показаний ультразвукового локатора сделать вывод об изменении температуры воздуха. Следует заметить, что не является первым, кто до этого додумался [5]. Подключение датчика для измерения температуры является совершенно стандартным.

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

Управляющая программа

Для работы данного термометра автор написал следующую программу:

float alfa = sqrt((7/5*8.31)/0.029), // константа связывающая скорость звука и температуру alfa = sqrt((gamma*R)/M) https://ru.wikipedia.org/wiki/Скорость_звука

// Порты подключения УЗ датчика int Trig = 12, int Echo = 13,

//float l = 1.80, //базовое расстояние для измерения температуры (м), задается при калибровке float l = 1.68, //базовое расстояние для измерения температуры (м), задается при калибровке

int T, // измеряемая термодинамическая температура (К) float time, //время прихода эха с расстояния l при температуре T (с) float v, //скорость звука при температуре T (м/с)

int dt = 1000, //Задержка между измерениями

void setup() { Serial.begin(9600), pinMode(Trig,OUTPUT), pinMode(Echo,INPUT),

}

void loop() {

// получение данных с УЗ датчика digitalWrite(Trig, LOW), delayMicroseconds(2), digitalWrite(Trig, HIGH), delayMicroseconds(10), digitalWrite(Trig, LOW), time = pulseIn(Echo, HIGH),

time=time*1.211*1e-6, // Вычисление времени прихода эха по данным датчика (c)

v=2*l/time, //расчет скорости звука при температуре T (м/c)

T=v*v/(alfa*alfa), //расчет искомой температуры T

//вывод измеренного значения температуры Serial.print(T = ), Serial.println(T),

delay(dt),

}

Данная программа по стандартному алгоритму определяет время прихода эха. Как известно [6], на выводе Echo датчика HC-SR04 формируется импульс длительностью от 150 мкс до 25 мс, который отображает расстояние до препятствия. Как установил автор экспериментальным путем, для того, что бы получить время прихода эха в секундах надо длительность импульса Echo умножить на 1,211 х 10-6. Затем вычисляется расстояние до препятствия.

Преобразователь напряжения повышающий без трансформатора

где l – расстояние до препятствия (м), t – время прихода эха (с).

И, наконец, находится температура, по известной формуле, связывающей температуру воздуха и скорость звука [7].

где a , коэффициент в котором, показатель адиабаты, численно равен 7/5 для двухатомных газов, в том числе и для воздуха, R – универсальная газовая постоянная 8,31 Дж/(моль*К), M – молярная масса газа, для воздуха 0,029 кг/моль.

Результаты выполнения программы можно наблюдать в окне монитора последовательного порта.

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

Литература

  • 1) http://robocraft.ru/blog/electronics/772.html
  • 2) https://arduinomaster.ru/datchiki-arduino/ultrazvukovoj-dalnomer-hc-sr04/
  • 3) https://mosautorent.ru/ultrazvukovoj-datchik-izmereniya-rasstoyanij-hc-sr04/
  • 4) Енохович А.С. Справочник по физике и технике. , М.:Просвещение, 1989. – 224 с.
  • 5) https://geektimes.ru/post/258882/
  • 6) http://www.zi-zi.ru/docs/senser/Description_HC-SR04.pdf
  • 7) https://ru.wikipedia.org/wiki/Скорость_звука

Файлы скачайте в архиве. Автор проекта , Denev

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
mosautorent.ru
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: