Уравнение Стейнхарта — Харта
Уравне́ние Сте́йнхарта — Ха́рта — математическая модель, описывающая сопротивление полупроводниковых терморезисторов с отрицательным температурным коэффициентом электрического сопротивления в зависимости от температуры.
В наиболее общем виде это уравнение:
- [math]\displaystyle{ {\frac 1{T}= \sum_{i=0}^{\infty} a_i \ln^i(R) =} }[/math]
- [math]\displaystyle{ {= a_0 + a_1 \ln(R) + a_2 \ln^2(R) + a_3 \ln^3(R) + a_4 \ln^4(R) + \ldots} }[/math]
- где: [math]\displaystyle{ T }[/math] — абсолютная температура (в Кельвинах);
- [math]\displaystyle{ R }[/math] — сопротивление при температуре [math]\displaystyle{ T }[/math] (в Омах);
- [math]\displaystyle{ a_i }[/math] - коэффициенты уравнения Стейнхарта — Харта, зависящие от начального сопротивления терморезистора, его типа.
В практических расчётах членом суммы [math]\displaystyle{ a_2 \ln^2(R) }[/math] и последующими членами [math]\displaystyle{ {a_4 \ln^4(R) + \ldots} }[/math] обычно пренебрегают так как они, как правило, вносят несущественный вклад в точность результата расчётов по уравнению.
Поэтому уравнение обычно записывают так:
- [math]\displaystyle{ {1 \over T} = A + B \ln(R) + C [\ln(R)]^3 , }[/math]
- где [math]\displaystyle{ A = a_0, }[/math] [math]\displaystyle{ B = a_1, }[/math] [math]\displaystyle{ C = a_3. }[/math]
Коэффициенты [math]\displaystyle{ A }[/math], [math]\displaystyle{ B }[/math], [math]\displaystyle{ C }[/math] зависят от параметров терморезистора и от диапазона температур в котором это уравнение даёт достаточную для практического применения точность.
Обратное уравнение
Для вычисления сопротивления терморезистора при заданной температуре используется обратное уравнение Стейнхарта — Харта:
- [math]\displaystyle{ R = \exp\left(\sqrt[3]{y - {x\over 2}} - \sqrt[3]{y + {x\over 2}}\right), }[/math]
- где
- [math]\displaystyle{ \begin{align} x &= \frac{1}{C}\left(A - \frac{1}{T}\right), \\ y &= \sqrt{\left({B \over 3C}\right)^3 + \left(\frac{x}{2}\right)^2}. \end{align} }[/math]
Экспериментальное определение коэффициентов уравнения Стейнхарта — Харта
Если коэффициенты уравнения неизвестны для конкретного терморезистора, то они могут определены экспериментально по трём сопротивлениям терморезистора при трёх разных температурах.
Коэффициенты находятся как решения системы из трёх уравнений:
- [math]\displaystyle{ \begin{bmatrix} 1 & \ln\left(R_1\right) & \ln^3\left(R_1\right) \\ 1 & \ln\left(R_2\right) & \ln^3\left(R_2\right) \\ 1 & \ln\left(R_3\right) & \ln^3\left(R_3\right) \end{bmatrix}\begin{bmatrix} A \\ B \\ C \end{bmatrix} = \begin{bmatrix} \frac{1}{T_1} \\ \frac{1}{T_2} \\ \frac{1}{T_3} \end{bmatrix} }[/math]
где [math]\displaystyle{ R_1 }[/math], [math]\displaystyle{ R_2 }[/math] и [math]\displaystyle{ R_3 }[/math] — значения сопротивления при температуре [math]\displaystyle{ T_1 }[/math], [math]\displaystyle{ T_2 }[/math] и [math]\displaystyle{ T_3 }[/math] соответственно.
Подстановки и решение системы:
- [math]\displaystyle{ \begin{align} L_1 &= \ln\left(R_1\right),\; L_2 = \ln\left(R_2\right),\; L_3 = \ln\left(R_3\right) \\ Y_1 &= \frac{1}{T_1},\; Y_2 = \frac{1}{T_2},\; Y_3 = \frac{1}{T_3} \\ \gamma_2 &= \frac{Y_2 - Y_1}{L_2 - L_1},\; \gamma_3 = \frac{Y_3 - Y_1}{L_3 - L_1} \\ \Rightarrow C &= \left( \frac{ \gamma_3 - \gamma_2 }{ L_3 - L_2} \right) \left(L_1 + L_2 + L_3\right)^{-1} \\ \Rightarrow B &= \gamma_2 - C \left(L_1^2 + L_1 L_2 + L_2^2\right) \\ \Rightarrow A &= Y_1 - \left(B + L_1^2 C\right) L_1 \end{align} }[/math]
Применение уравнения
Уравнение позволяет по измеренному сопротивлению терморезистора вычислить его температуру и обратно — по температуре терморезистора вычислить его сопротивление и обеспечивает хорошую точность во всем рабочем диапазона температур, например, терморезистивного термометра.
Коэффициенты входящие в уравнение Стейнхарта — Харта обычно публикуются производителями терморезисторов в справочных данных на конкретные типы терморезисторов.
Скрипт на 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 April 2004). Дата обращения: 2 июля 2015. Архивировано 10 июня 2010 года.
- ↑ Dr. Stan Hart, . Woods Hole Oceanographic Institution. Дата обращения: 2 июля 2015. Архивировано 5 июня 2009 года.