Вимірювання температури І вологості на Arduino



Скачати 58.79 Kb.
Дата конвертації11.02.2019
Розмір58.79 Kb.
Назва файлуВимірювання температури і вологості на Arduino.docx

Вимірювання температури і вологості на Arduino
Для створення метеостанції або термометра потрібно навчитися сполучати плату Arduino і пристрої для вимірювання температури, і вологості.

З вимірюванням температури можна впоратися за допомогою терморезистора або цифрового датчика DS18B20, а ось для вимірювання вологості використовують більш складні пристрої – датчики DHT11 або DHT22.


измерение температуры и влажности на arduino – подборка способов
Вимірювання терморезистором

Найпростішим способом визначення температури є використання терморезистора. Це вид резистора опір якого залежить від температури навколишнього середовища. Виділяють терморезистори з позитивним і негативним температурним коефіцієнтом опору – PTC (ще називають позистор) і NTC-терморезистори відповідно.

На графіку нижче ви бачите залежності опору від температури. Штриховою лінією зображена залежність для терморезистора з негативним ТКС (NTC), а жирною суцільною лінією для термістора з позитивним ТКС (PTC).

график зависимости сопротивления от температуры

Рисунок - Залежності опору від температури: 1)для терморезистора з негативним температурним коефіцієнтом опору ТКС (NTC); 2) для термістора з позитивним температурним коефіцієнтом опору ТКС (PTC)

Що ми тут бачимо? Перше, що кидається в очі – це те, що у PTC-терморезистора графік ламаний і вимірювати ряд значень температури буде важко або неможливо, а ось у NTC терморезистора графік більш-менш рівномірний, хоч і явно нелінійний. Що це означає? За допомогою NTC терморезистора легше вимірювати температуру, тому що легше з'ясувати, функцію по якій змінюються його значення.

Щоб перевести температуру в опір ви можете вручну зняти значення, але це в домашніх умовах зробити складно і вам знадобитися термометр для визначення реальних значень температури середовища. У даташитах деяких компонентів наведена така таблиця, наприклад для серії NTC-терморезисторів від компанії Vishay

.даташит tc-терморезисторов от компании vishay

Тоді можна організувати переклад за допомогою розгалужень за допомогою функції if ... else або switchcase. Однак якщо таких таблиць в даташитах не наводиться то доводиться обчислювати функцію, по якій змінюється опір з ростом температури.

Для опису цього зміна існує рівняння Штейнхарта:

уравнение штейнхарта-харта

де A, B і C-це константи термістора визначаються за вимірами трьох температур з різницею не менше 10 градусів Цельсія.

При цьому різні джерела вказують, що для типового 10 кОм NTC-термістора вони рівні:

константы термистора
Однак використання такого рівняння трудомістко і в аматорських проектах невиправдано, тому можна скористатися beta-рівнянням для термістора.

http://electrik.info/uploads/posts/2018-12/1544459451_7.png

B-бета-коефіцієнт, він розраховується на основі вимірювання опору для двох різних температур.

Вказується або в даташите (що проілюстровано нижче), або обчислюється самостійно.

b – бета-коэффициент из даташита

При цьому B вказується у вигляді:



бета-коэффициент

Це означає, що коефіцієнт обчислювався виходячи з даних отриманих при вимірі опору при температурах 25 і 100 градусів Цельсія, саме такий варіант поширений більше всього.

Тоді його вираховують за формулою:

B = (ln(R1) – ln(R2)) / (1/T1 - 1/T2)

Типова схема підключення термістора до мікроконтролера зображена нижче.

схема подключения термистора к микроконтроллеру

Тут R1 – це постійний резистор, термістор підключається до джерела живлення, а дані знімаються з середньої точки між ними, на схемі умовно зазначено, що сигнал подається до висновку A0 – це аналоговий вхід Ардуїно.



схема подключения термистора к микроконтроллеру

Для розрахунку опору термістора можна використовувати наступну формулу:

Rтермистора=R1⋅((Vсс/Vвыход)−1)
Щоб перевести в зрозумілу для Ардуіно мову потрібно згадати про те, що у Ардуіно 10-бітний АЦП, значить максимальне цифрове значення вхідного сигналу (напругою 5В) дорівнюватиме 1023.

Тоді умовно:

Dmax = 1023;

D – фактичне значення сигналу.

Тоді:

Rтермистора=R1⋅((Dmax /D)−1)



Тепер використовуємо це для обчислення опору і подальшого обчислення температури термістора з допомогою бета-рівняння на мові програмування для Ардуїно.

Скетч буде таким:



скетч

DS18B20


Ще більшу популярність для вимірювання температури за допомогою. Ардуіно знайшов цифровий датчик DS18B20. Він зв'язується з мікроконтролером по інтерфейсу 1-wire, ви можете під'єднати кілька датчиків (до 127) на один провід, а для звернення до них вам доведеться дізнатися ID кожного з датчиків.

Примітка: ID ви повинні знати навіть якщо використовуєте всього 1 датчик.


цифровой датчик ds18b20
Схема підключення датчика ds18b20 до Ардуіно виглядає так:

схема подключения датчика ds18b20 к ардуино

схема подключения датчика ds18b20 к ардуино
Також є режим паразитного живлення – його схема підключення виглядає так (потрібно два дроти замість трьох):

схема подключения датчика к ардуино
В такому режимі не гарантується коректна робота при вимірюванні температури вище 100 градусів Цельсія.

Цифровий датчик температури DS18B20 складається з цілого набору вузлів, як і будь-яка інша ЦИМС.

Її внутрішній устрій ви можете спостерігати нижче:

цифровой датчик температуры ds18b20

Для роботи з ним потрібно завантажити бібліотеку Onewire для Ардуіно, а для самого датчика рекомендується використовувати бібліотеку DallasTemperature.


скетч

Цей приклад коду демонструє основи роботи з 1 датчиком температури, результат в градусах Цельсія виводиться через послідовний порт після кожного зчитування.

DHT11 и DHT22 – датчики вологості і температури
dht11 и dht22 – датчики влажности и температуры
Ці датчики популярні і часто використовуються для вимірювання рівня вологості і температури навколишнього середовища. У таблиці нижче ми вказали їх основні відмінності.


 

DHT11

 DHT22

Визначення вологості в діапазоні

20-80%

0-100%

Точність вимірювання

5%

2-5%

Визначення температури

от 0°C до +50°C

от -40°C до +125°C

Точність вимірювання

2,5%

±0,5 °C

Частота опитування

1 раз в секунду

1 раз в 2 секунди

схема подключения датчика влажности к ардуино
Схема підключення досить проста:

• 1 висновок – живлення;

• 2 висновок – дані;

• 3 висновок – не використовується;

• 4 висновок – загальний провід.

Якщо датчик у вас виконаний у вигляді модуля – у нього буде три висновки, а резистор не потрібно – він вже на платі розпаяний.



схема подключения датчика влажности в виде модуля к ардуино
Для роботи нам потрібна бібліотека dht.h.

Її немає в стандартному наборі, тому її потрібно скачати і встановити в папці libraries в папці з arduino IDE.

Вона підтримує всі датчики цього сімейства:


  • DHT 11;

  • DHT 21 (AM2301);

  • DHT 22 (AM2302, AM2321).

Приклад використання бібліотеки:

пример использования библиотеки


Висновок

В наш час створити свою станцію для вимірювання температури і вологості дуже просто завдяки платформи Arduino. Вартість таких проектів становить 3-4 сотні рублів. Для автономної роботи, а не виведення даних на комп'ютер, може використовуватися символьний дисплей (їх ми описували в недавній статті), тоді можна побудувати портативний прилад для використання як вдома, так і в машині. Пишіть в коментарях що ще ви хотіли б дізнатися про простих саморобках на Ардуіно!


Примечание:

Кто хорошо понимает технический текст на английском языке и любит вычисления может ознакомиться со следующим документом: https://www.bipm.org/utils/common/pdf/ITS-90/Guide-SecTh-Thermistor-Thermometry.pdf



Это брошюра об измерениях температуры с помощью термистора выпущенная Консультативным комитетом по термометрии (ККТ).

Поділіться з Вашими друзьями:


База даних захищена авторським правом ©refua.in.ua 2017
звернутися до адміністрації

    Головна сторінка
Контрольна робота
Лабораторна робота
Методичні вказівки
Методичні рекомендації
навчальної дисципліни
Загальна характеристика
курсової роботи
використаної літератури
Курсова робота
Список використаної
охорони праці
Зміст вступ
курсу групи
Пояснювальна записка
Виконав студент
Виконала студентка
Історія розвитку
самостійної роботи
навчальних закладів
Міністерство освіти
форми навчання
Теоретичні основи
навчальний заклад
Практичне заняття
вищої освіти
студент групи
Робоча програма
Практична робота
діяльності підприємства
молодших школярів
Конспект лекцій
інтелектуальної власності
використаних джерел
навчального закладу
роботи студентів
виконання курсової
контрольної роботи
світової війни
загальноосвітніх навчальних
Загальні відомості
студентка групи
Самостійна робота
Історія виникнення
студентка курсу
студентів спеціальності
Охорона праці
охорони здоров
Вступ актуальність
Курсовая работа
фізичного виховання
Основні поняття