Як виміряти температуру за допомогою терморезистора NTC?


17

У мене є термістор TTC103 NTC. Він має нульову потужність опору 10 кОм при 25 ° C і значення B25 / 50 4050. Як це використовувати для вимірювання температури?


Гей, у мене такий самий термістор :)
Абдулла кахраман

Відповіді:


12

Терморезистори NTC (від'ємний температурний коефіцієнт) змінюють свій ефективний опір над температурою. Найбільш поширеним рівнянням, яке використовується для моделювання цієї зміни, є рівняння Штейнхарта-Харта . Для характеристики матеріалу NTC з великою точністю використовуються три коефіцієнти.

Рівняння Штейнхарта-Харта є моделлю опору напівпровідника при різних температурах. Рівняння:

1T=A+Bln(R)+C(ln(R))3

де:

  • - температура (у кельвінах)T
  • - опір приR (в омах)T
  • , B і C - коефіцієнтиШтейнхарта – Харта,які змінюються залежно від типу та моделі термістора та температурного діапазону, що цікавить. (Найбільш загальна форма застосованого рівняння містить ( ln ( R ) )ABC доданок, але цим часто нехтують, оскільки він, як правило, набагато менший, ніж інші коефіцієнти, і тому не показаний вище.)(ln(R))2

- Рівняння Штейнхарта-Харта - Вікіпедія, Вільна енциклопедія

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

Наведений коефіцієнт В може бути використаний у спрощеному рівнянні Штейнхарта-Харта, як описано у статті Вікіпедії Термістор у розділі "Рівняння параметра B" .


1
Всі три відповіді виглядають добре, але ця мені найбільше допомогла.
AndrejaKo

1
Як ви мали справу з ? ln
abdullah kahraman

2
Чому я маю йти до Вікіпедії за рівнянням? Ти не можеш дати його тут?
Федеріко Руссо

Ви говорите про виробничу толерантність. Але як я можу придумати толерантність, якщо у мене тільки B, толерантність B, толерантність R25? Як і NTCLE203
thexeno

@thexeno підключіть максимум та мінімум до електронної таблиці та обчисліть її за потрібним діапазоном темпів.
Нік Т

13

Використовуйте його як одну ногу (скажімо, «верхню» ніжку) в ланцюзі дільника напруги, а інша нога має відомий опір. Виміряйте напругу в середині точки дільника (наприклад, за допомогою аналого-цифрового перетворювача). Визначте опір термістора від вимірюваної напруги як:

Rthermistor=(VccVmeasured1)×Rknown

Скористайтеся рівнянням:

T=Bln(RthermistorR0×eBT0)

у вашому випадку , B = 4050 , і T 0 = ( 273 + 25 ) = 298R0=10000B=4050T0=(273+25)=298 . Підключіть ці числа плюс виміряний опір термістора до рівняння та вивісь температуру в Кельвіні.

Прочитайте цю статтю у Вікіпедії для отримання більш детальної інформації.


1
Так, я маю запитати :) Як ви робите ці обчислення за допомогою 8-бітового мікроконтролера?
abdullah kahraman

2
@abdullahkahraman ви використовуєте комбінацію таблиці пошуку та інтерполяції між значеннями таблиці пошуку. Скажіть, у вас є 10-бітний АЦП; це 1024 можливих значень від АЦП. Ви можете зберігати 1024 перетворені значення в пам'яті, або ви можете зберігати 512 (кожен інший) або 256 (кожен 4-й) і т.д. залежно від пам'яті. Інтерполяція - це велика тема, як і пересимплінг або "смуга", які можна використовувати для підвищення точності.
akohlsmith

@AndrewKohlsmith як підвищена роздільна здатність збільшує роздільну здатність?
abdullah kahraman

@abdullahkahraman вибірка таблиці пошуку може бути неоднаковою щодо області введення ... зберігання більшої кількості зразків кривої, де вона "курвіше", і застосування інтерполяції може дати вам кращу характеристику помилки
vicatcu

1
@thexeno задайте нове запитання.
Нік Т

6

НТК нелінійні, і ви побачите досить неприємні формули, що виражають взаємозв'язок температури та стійкості.
Додаючи пару звичайних резисторів, ви можете лінеаризувати їх поведінку так, щоб ця залежність наблизилася простим лінійним рівнянням виду . Наступний приклад - із цієї програми Epcos . у=ах+б

enter image description here

enter image description here

Крива практично пряма від 0 ° C до 60 ° C, що достатньо для багатьох застосувань.

У цій відповіді я показую, як в деяких випадках ви можете отримати майже ідеальну лінійну криву (15 проміле) на обмеженій області з резистором лише серії.

редагувати
Якщо у вас немає грошей на резистор, вам доведеться або використовувати рівняння Штейнхарта-Харта, на які посилаються Нік і Вікатку, або використовувати таблицю пошуку та інтерполяцію. Обидва мають той недолік, що їм потрібно більше пам’яті: Steinhart-Hart містить логарифм, для якого вам знадобиться бібліотека з плаваючою комою (я припускаю, що ваш мікроконтролер не має АЛУ з плаваючою комою). Таблиця пошуку також потребує деякої пам’яті, і, можливо, не дає вам кращої точності, ніж лінеаризована функція, якщо вам доведеться інтерполювати це.


Не лінеаризуйте, якщо ви не використовуєте аналогові схеми!
Jason S

І будь ласка, відредагуйте свій пост для точності: відносини не стають простим лінійним рівнянням. Залежність наближається до лінійного рівняння для певного діапазону температур.
Джейсон S

4
Джейсон: чи можете ви докладно? Чому б не лінеаризуватися в цифрових схемах?
Стівен Коллінгз

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

2
@abdullah - я мав на увазі це іронічно :-). Але, мабуть, більшість користувачів, як видається, віддають перевагу більш складній ситуації, що я не заперечую, але тоді я можу думати про відмову від більш простого рішення, що резистор буде занадто дорогим. :-)
stevenvh

4

NTC має нелінійну реакцію на температуру.

R

Наприклад, скажімо, що у вас є джерело напруги 5 В, використовуйте резистор 1 к послідовно з NTC, і якщо ви вимірюєте 0,5 В, просто розділіть 1 к на 0,5 В і отримайте 10 к Ом як опір.

T0Ro , а «фіксований» температуру в градусах Кельвіна , і при цій температурі, його опір. Зазвичай його дають при кімнатній температурі.

Потім, враховуючи ці деталі, покладіть його в це рівняння для отримання Tтемператури.

T=11To+(1BlnRRo)


Будь ласка, підтвердьте, що я правильно переписав рівняння.
abdullah kahraman

3

Існує ряд способів (як з точки зору аналогових схем, так і з точки зору програмного обчислення) використовувати термістори для вимірювання температури.

Коротка відповідь - приблизно така:

  • Використовуйте термістор і опорний резистор, щоб зробити дільник напруги.
  • Візьміть середину дільника напруги і подайте її в аналого-цифровий перетворювач.
  • Виміряйте напругу АЦП в програмному забезпеченні.
  • Використовуючи ваші знання про опорний опір та криву R терморезистора, перетворюйте з підрахунку АЦП до температури.

Тут є ряд тонкощів, тому для подальшого читання ви можете ознайомитись із цією статтею про кондиціонування сигналу термістора - сподіваємось, це допоможе!


Стаття виглядає добре!
AndrejaKo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.