Терморезистор (термистор, термосопротивление) — полупроводниковый прибор, электрическое сопротивление которого изменяется в зависимости от его температуры.
Терморезистор был изобретён Самюэлем Рубеном (Samuel Ruben) в 1930 году.
Терморезисторы изготавливаются из материалов с высоким температурным коэффициентом сопротивления (ТКС), который обычно на порядки выше, чем ТКС металлов и металлических сплавов.
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
По типу зависимости сопротивления от температуры различают терморезисторы с отрицательным (NTC-термисторы, от слов «Negative Temperature Coefficient») и положительным (PTC-термисторы, от слов «Positive Temperature Coefficient» или позисторы) температурным коэффициентом сопротивления (или ТКС). Для позисторов — с ростом температуры растёт их сопротивление; для NTC-термисторов увеличение температуры приводит к падению их сопротивления.
Условно терморезисторы классифицируют как низкотемпературные (предназначенные для работы при температуpax ниже 170 Кельвин), среднетемпературные (от 170 до 510 К) и высокотемпературные (выше 570 К). Выпускаются терморезисторы, предназначенные для работы при температурах от 900 до 1300 К.
Термисторы бывают разных видов вот например:
Конкретно мне интересен термистор по нескольким параметрам. Во первых их используют для измерения температуры в Экструдере 3Д принтеров и они давольно хорошо измеряют температуру необходимую для плавления пластика. Во вторых размер, если посмотреть на 3тий тип термистора на картинке выше, который в эпоксидной смоле, он очень маленький и его можно зацепить за любую поверхность и мерить на ней температуру. Вот по этим параметрам я и собираюсь его использовать так как хочу сделать станок для изготовления прутка для печати на 3Д принтере.
В данном примере будем использовать простейший NTC термистор c номинальным сопротивлением 100 кОм при температуре 25 градусов “С” который используется в 3Д принтерах. Данный термистор имеет маркирову 3950.
Для реализации нам понадобится:
Arduino uno: http://ali.pub/2wpo97
Резисторы: http://ali.pub/1xk3s7
Термистор: http://ali.pub/2x2b8f
Схема подключения всех элементов будет выглядеть следующим образом:
Чтобы вычислить значение температуры используют формулу Стейнхарта — Харта:
Уравнение имеет параметры A,B и C, которые нужно брать из спецификации к датчику. Так как нам не требуется большой точности, можно воспользоваться модифицированным уравнением (B-уравнение):
В этом уравнении неизвестным остается только параметр B, который для NTC термистора равен 3950. Остальные параметры нам уже известны:
- T0 — комнатная температура в Кельвинах, для которой указывается номинал термистора; T0 = 25 + 273.15;
- T — искомая температура, в Кельвинах;
- R — измеренное сопротивление термистора в Омах;
- R0 — номинальное сопротивление термистора в Омах.
Скетч будет выглядеть следующем образом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #define B 3950 // B-коэффициент #define SERIAL_R 102000 // сопротивление последовательного резистора, 102 кОм #define THERMISTOR_R 100000 // номинальное сопротивления термистора, 100 кОм #define NOMINAL_T 25 // номинальная температура (при которой TR = 100 кОм) const byte tempPin = A0; void setup () { Serial.begin ( 9600 ); pinMode ( tempPin, INPUT ); } void loop () { int t = analogRead ( tempPin ); float tr = 1023.0 / t - 1 ; tr = SERIAL_R / tr; Serial.print ( "R=" ); Serial.print (tr); Serial.print ( ", t=" ); float steinhart; steinhart = tr / THERMISTOR_R; // (R/Ro) steinhart = log(steinhart); // ln(R/Ro) steinhart / = B; // 1/B * ln(R/Ro) steinhart + = 1.0 / (NOMINAL_T + 273.15 ); // + (1/To) steinhart = 1.0 / steinhart; // Invert steinhart - = 273.15 ; Serial.println (steinhart); delay ( 100 ); } |
Вот что мы увидим в мониторе порта:
Видим из показаний, что сопротивление побольше чем 100кОм и температура 23 градуса, вполне логично, формула отрабатывает правильно.
Теперь с помощью данной формулы мы уже можем строить разные условия для разных действий.