Категорије: Склопови микроконтролера
Број прегледа: 9996
Коментари на чланак: 0

Мерење температуре и влажности на Ардуину - избор метода

 

Да бисте створили кућну метеоролошку станицу или термометар, морате да научите како да упарите Ардуино плочу и уређај за мерење температуре и влажности. Мерењем температуре може се бавити коришћењем термистора или дигиталног сензора ДС18Б20, али за мерење влажности користите сложеније уређаје - сензоре ДХТ11 или ДХТ22. У овом чланку ћемо вам показати како да мерите температуру и влажност ваздуха помоћу Ардуино и ових сензора.

Мерење температуре и влажности на Ардуину - избор метода

Мерење термистора

Најлакши начин за одређивање температуре је употреба термистор. Ово је врста отпорника чији отпор зависи од температуре околине. Постоје термистори са позитивним и негативним температурним коефицијентом отпора - ПТЦ (такође се називају и позистори) и НТЦ-термистори, респективно.

На графикону испод видите температурна зависност отпора. Испрекидана линија показује зависност негативног ТЦС термистора (НТЦ), а пуна линија за позитиван ТЦС термистор (ПТЦ).

Температурна зависност отпора

Шта овде видимо? Прво што вам падне на памет јесте да је распоред ПТЦ термистора покварен и да ће бити тешко или немогуће измерити бројне температурне вредности, али распоред за НТЦ термистор је мање или више уједначен, мада је очигледно нелинеалан. Шта ово значи? Коришћењем НТЦ термистора лакше је измерити температуру, јер је лакше сазнати функцију помоћу које се његове вредности мењају.

Да бисте претворили температуру у отпорност, можете ручно узимати вредности, али то је тешко учинити код куће и потребан вам је термометар за одређивање стварних вредности температуре медијума. У подацима са неким компонентама таква је табела дата, на пример, за низ НТЦ термистора из Висхаиа.

Датасхит Висхаи ТЦ Термистори

Затим можете организовати превод кроз гране користећи функцију ако ... елсе или прекидач. Међутим, ако у таблицама података нема таквих таблица, морате израчунати функцију којом се отпор мијења с порастом температуре.

Да бисмо описали ову промену, постоји једначина Стеинхарт-Харт-а.

Стеинхарт-харт-ова једначина

где су А, Б и Ц константе термистора, које се одређују мерењем три температуре са разликом од најмање 10 степени Целзијуса. Истовремено, различити извори указују да су за типични 10 кΩ НТЦ термистор једнаки:

Термисторске константе

Б - бета коефицијент, израчунава се на основу мерења отпора за две различите температуре. Наводи се или у листи података (као што је приказано у наставку) или се израчунава независно.

Б - бета коефицијент из таблице података

У овом случају, Б је назначен у обрасцу:

бета однос

То значи да је коефицијент израчунат на основу података добијених приликом мерења отпора на температурама од 25 и 100 степени Целзијуса, а то је најчешћа опција. Тада се израчунава по формули:

Б = (лн (Р1) - лн (Р2)) / (1 / Т1 - 1 / Т2)

Ниже је приказан типични дијаграм повезивања термистора са микроконтролером.

Дијаграм повезивања термистора са микроконтролером

Овде је Р1 константни отпорник, термистор је прикључен на извор напајања, а подаци се узимају из средње тачке између њих, дијаграм условно указује да се сигнал доводи на пин А0 - ово аналогни улаз Ардуино.

Дијаграм повезивања термистора са микроконтролером

Да бисте израчунали отпор термистора, можете користити следећу формулу:

Р термистора = Р1⋅ ((Вцц / Воутпут) -1)

Да бисте преводили на језик разумљив за ардуино, морате имати на уму да ардуино има 10-битни АДЦ, тако да ће максимална дигитална вредност улазног сигнала (напона 5В) бити 1023. Тада, условно:

  • Дмак = 1023;

  • Д је стварна вредност сигнала.

Затим:

Р термистора = Р1⋅ ((Дмак / Д) −1)

Сада то користимо за израчунавање отпора, а затим израчунавамо температуру термистора помоћу бета једначине на програмском језику за Ардуино. Скица ће бити овако:

Скица

ДС18Б20

Још је популарније за мерење температуре са.Ардуино је пронашао дигитални сензор ДС18Б20. Комуницира са микроконтролером преко интерфејса са 1 жицом, на једну жицу можете повезати неколико сензора (до 127), а за приступ њима морат ћете сазнати ИД сваког сензора.

Напомена: требало би да знате ИД чак и ако користите само 1 сензор.

ДС18Б20 дигитални сензор

Дијаграм везе сензора дс18б20 за Ардуино изгледа овако:

Дијаграм везе сензора дс18б20 на Ардуино
Дијаграм везе сензора дс18б20 на Ардуино

Постоји и паразитски режим напајања - дијаграм његове везе изгледа овако (потребна су вам два жица уместо три):

Дијаграм повезивања сензора Ардуино

У овом режиму није загарантован исправан рад при мерењу температуре изнад 100 степени Целзијусових.

Дигитални сензор температуре ДС18Б20 састоји се од читавог низа чворова, као и било који други СИМС. Његов унутрашњи уређај можете погледати у наставку:

Дигитални температурни сензор ДС18Б20

Да бисте радили с њом, морате преузети библиотеку Оневире за Ардуино, а за сам сензор препоручује се употреба библиотеке ДалласТемпературе.

Скица

Овај пример кода приказује основе рада са 1 температурним сензором, резултат у степени Целзијуса се након сваког очитавања емитује кроз серијски улаз.


ДХТ11 и ДХТ22 - сензори влажности и температуре

ДХТ11 и ДХТ22 - сензори влажности и температуре

Ови сензори су популарни и често се користе за мерење влажности и температуре околине. У доњој табели навели смо њихове главне разлике.

 
ДХТ11
ДХТ22
Одређивање влаге у опсегу
20-80%
0-100%
Тачност мерења
5%
2-5%
Одређивање температуре
0 ° Ц до + 50 ° Ц
-40 ° Ц до + 125 ° Ц
Тачност мерења
2,5%
плус или минус 0,5 степени Целзијуса
Фреквенција гласања
1 пут у секунди
1 пут у 2 секунде
Дијаграм повезивања сензора влажности са ардуино-ом

Дијаграм везе је прилично једноставан:

  • 1 закључак - исхрана;

  • 2 закључак - подаци;

  • 3 закључак - не користи се;

  • 4 закључак - општа жица.

Ако је ваш сензор направљен у облику модула, он ће имати три излаза, али није потребан отпорник - већ је лемљен на плочу.

Дијаграм повезивања сензора влажности у облику модула за ардуино

Да бисмо радили, потребна нам је дхт.х библиотека, она није у стандардном скупу, па је треба преузети и инсталирати у библиотеку у мапи са ардуино ИДЕ. Подржава све сензоре у овој породици:

  • ДХТ 11;

  • ДХТ 21 (АМ2301);

  • ДХТ 22 (АМ2302, АМ2321).

Пример употребе библиотеке:

Пример употребе библиотеке

Закључак

Данас је стварање властите станице за мерење температуре и влаге веома једноставно захваљујући платформи Ардуино. Цена таквих пројеката је 3-4 стотине рубаља. За трајање батерије, а не за излаз на рачунар, може се користити приказ карактера (описали смо их у недавном чланку), тада можете да направите преносни уређај који ће се користити и код куће и у аутомобилу. Напишите у коментаре шта бисте још желели да научите о једноставним домаћим занатима на ардуину!

Погледајте и ову тему:Популарни сензори за Ардуино - веза, дијаграми, скице

Погледајте и на електрохомепро.цом:

  • Најпопуларнији сензори за Ардуино
  • Спајање аналогних сензора на Ардуино, очитавање сензора
  • Употреба моста Вхеатстоне за мерење неелектричних величина
  • Температурни сензори. Други део Термистори
  • Сензори влажности - како су распоређени и раде

  •