Уравнение Стейнхарта — Харта
Уравне́ние Сте́йнхарта — Ха́рта — математическая модель, описывающая сопротивление полупроводниковых терморезисторов с отрицательным температурным коэффициентом электрического сопротивления в зависимости от температуры.
В наиболее общем виде это уравнение:
- где: — абсолютная температура (в Кельвинах);
- — сопротивление при температуре (в Омах);
- - коэффициенты уравнения Стейнхарта — Харта, зависящие от начального сопротивления терморезистора, его типа.
В практических расчётах членом суммы и последующими членами обычно пренебрегают так как они, как правило, вносят несущественный вклад в точность результата расчётов по уравнению.
Поэтому уравнение обычно записывают так:
- где
Коэффициенты , , зависят от параметров терморезистора и от диапазона температур в котором это уравнение даёт достаточную для практического применения точность.
Обратное уравнение
Для вычисления сопротивления терморезистора при заданной температуре используется обратное уравнение Стейнхарта — Харта:
- где
Экспериментальное определение коэффициентов уравнения Стейнхарта — Харта
Если коэффициенты уравнения неизвестны для конкретного терморезистора, то они могут определены экспериментально по трём сопротивлениям терморезистора при трёх разных температурах.
Коэффициенты находятся как решения системы из трёх уравнений:
где , и — значения сопротивления при температуре , и соответственно.
Подстановки и решение системы:
Применение уравнения
Уравнение позволяет по измеренному сопротивлению терморезистора вычислить его температуру и обратно — по температуре терморезистора вычислить его сопротивление и обеспечивает хорошую точность во всем рабочем диапазона температур, например, терморезистивного термометра.
Коэффициенты входящие в уравнение Стейнхарта — Харта обычно публикуются производителями терморезисторов в справочных данных на конкретные типы терморезисторов.
Скрипт на Ruby для расчета
#!/usr/bin/env ruby
puts puts "\t\u2318\u2318 You're using Ruby ver. " + RUBY_VERSION + "\t\u2318\u2318"
$k = 273.15
E = ( Math::E )
def ln(x)
( ln = Math.log(x) )
end
def sqrt(x)
( sqrt = Math.sqrt(x) )
end
def cbrt(x)
( cbrt = Math.cbrt(x) )
end
def exp(x)
( exp = Math.exp(x) )
end
#-----------------------------------
def arr_abc(t1, r1, t2, r2, t3, r3)
y1 = 1 / t1; y2 = 1 / t2; y3 = 1 / t3
l1 = ln(r1); l2 = ln(r2); l3 = ln(r3)
g2 = (y2 - y1) / (l2 -l1)
g3 = (y3 - y1) / (l3 -l1)
c = ((g3 -g2) / (l2 - l1)) / (l1 + l2 + l3)
b = g2 - c * (l1 ** 2 + l1 * l2 + l2 ** 2)
a = y1 - (b + c * l1 ** 2) * l1
arr_abc = [a, b, c]
end
=begin
# Прмер ввода экспериментальных данных:
t1 = 0 + $k; r1 = 32.014e+3
t2 = 40 + $k; r2 = 5.372e+3
t3 = 70 + $k; r3 = 1.7942e+3
# -------------------------------------
=end
# Расчёт:
tmp = arr_abc(t1, r1, t2, r2, t3, r3)
a_t = tmp[0]; b_t = tmp[1]; c_t = tmp[2]
#puts "A = #{a_t}, B = #{b_t}, C = #{c_t}"
#------------------------
=begin
# Данные для проверки:
t = 55; t = t + $k
=end
x = (a_t - 1 / t) / c_t
y = sqrt((b_t / (3 * c_t)) ** 3 + (x / 2) ** 2)
#--------------------------
# Расчет сопротивления по температуре:
r_tmp = exp( cbrt(y - (x / 2)) - cbrt(y + (x / 2)) )
puts "T = #{t - $k}°C, R = #{(r_tmp).round(1)} Ω"
# Расчет температуры по сопротивлению:
t_r = 1 / (a_t + b_t * ln(r_tmp) + c_t * ((ln(r_tmp).abs) ** 3) )
puts "R = #{(r_tmp).round(1)} Ω, T = #{(t_r - $k).round(2)}°C"
Результат:
T = 55.0°C, R = 3052.2 Ω
R = 3052.2 Ω, T = 55.0°C
Из datasheet для EPCOS R/T:4901; B25/100: 3950K
— 3.0393 kΩ —
Авторы уравнения
Уравнение названо в честь Джона Стейнхарта (John S. Steinhart) и Стэнли Харта (Stanley R. Hart), впервые опубликовавших его в 1968 г.[1]
Профессор Стейнхарт (1929—2003), член Американского Геофизического Союза и Американской ассоциации содействующей развитию науки, был членом факультета Висконсинского университета в Мадисоне с 1969 по 1991 гг.[2]
Доктор Харт, старший научный сотрудник в Woods Hole Oceanographic Institution с 1989 и член Геологического сообщества Америки, Американского Геофизического Союза, геохимического сообщества и европейской ассоциации геохимии[3], работал с профессором Стейнхартом в институте Карнеги в Вашингтоне, где было предложено это уравнение.
Примечания
- ↑ John S. Steinhart, Stanley R. Hart, Calibration curves for thermistors, Deep Sea Research and Oceanographic Abstracts, Volume 15, Issue 4, August 1968, Pages 497—503, ISSN 0011-7471, doi:10.1016/0011-7471(68)90057-0.
- ↑ Memorial resolution of the faculty of the University of Wisconsin-Madison on the death of professor emeritus John S. Steinhart . University of Wisconsin (5 апреля 2004). Дата обращения: 2 июля 2015. Архивировано 10 июня 2010 года.
- ↑ Dr. Stan Hart, . Woods Hole Oceanographic Institution. Дата обращения: 2 июля 2015. Архивировано 5 июня 2009 года.