用java计算电阻,NTC热敏电阻计算公式
本五主要介紹NTC熱敏電阻計算公式。Steinhart-Hart方程是計算NTC熱敏電阻的主要數學模型,它適合于高精度的寬溫度范圍。提供了基于給定熱敏電阻的溫度阻抗表計算特征Steinhart-Hart系數的軟件,以及允許將溫度值轉換為電阻的功能,反之亦然。
1:說明
Steinhart和Hart 1968([1])發現了半導體電阻率隨溫度變化的模型。Steinhart-Hart定律將絕對溫度T(單位為開爾文)描述為NTC熱敏電阻的電阻率(Ω)的函數,根據公式
Steinhart-Hart多項式
1/T= a0+ a1·ln r + a3·(ln r)3
下圖顯示了NTC熱敏電阻特性的典型圖形,給出了電阻的自然對數(以Ω為單位)的倒數溫度(單位為K)。
常數a0,a1和a3(也稱為Steinhart-Hart系數)根據熱敏電阻的類型而變化。為了支持開發人員在創建溫度測量應用時,熱敏電阻制造商經常為他們的產品提供這些常數。他們還公布表格,其中列出了溫度范圍更廣的熱敏電阻產品的電阻率。
這個項目提供了軟件
用給定的Steinhart-Hart系數計算給定電阻的NTC熱敏電阻的溫度值,
用給定的斯坦哈特 - 哈特(Steinhart-Hart)系數計算給定溫度下NTC熱敏電阻的電阻值
評估由耐溫表描述的NTC熱敏電阻的Steinhart-Hart系數。
除了標準Steinhart-Hart方程之外,其他形式也被發現。對于較低CPU功率的應用,可以使用Steinhart-Hart方程的簡化形式。
簡化的Steinhart-Hart多項式
1/T= a0+ a1·ln r
另一方面,可以在公式中插入一個二次項來提高擴展Steinhart-Hart方程的精度
擴展的Steinhart-Hart多項式
1/T= a0+ a1·ln r + a2·(ln r)2+ a3·(ln r)3
2、軟件
該項目提供了軟件,用于在算法中給出的計算。類/模塊可以用于
從電阻轉換為溫度,
從溫度轉換為電阻,
計算NTC熱敏電阻的Steinhart-Hart系數,其特性為TR表。
后者可以用于標準,簡化或擴展的Steinhart-Hart多項式。
2.1 Java類
對于Java,以下類可用
類
描述
NtcException
在這個熱敏電阻框架中使用的例外
NtcTable
代表NTC熱敏電阻的TR表。
提供獲取NTC熱敏電阻名稱和描述的方法,以及添加條目和查找給定溫度值的電阻的方法。
NtcThermistorModel
表示使用Steinhart-Hart多項式1/T= a0+ a1·ln r + a3·(ln r)3建模的NTC熱敏電阻。
模型將使用NtcTable對象創建。它提供了讀取熱敏電阻名稱的方法,獲得NtcTable對象,獲得Steinhart-Hart系數以及從溫度轉換為電阻的方法,反之亦然。
NtcThermistorExtendedModel
表示使用擴展Steinhart-Hart多項式1/T= a0+ a1·ln r + a2·(ln r)2+ a3·(ln r)3建模的NTC熱敏電阻。
從NtcThermistorModel派生,從而提供相同的方法。
NtcThermistorSimplifiedModel
表示使用簡化的Steinhart-Hart多項式1/T= a0+ a1·ln r建模的NTC熱敏電阻。
源自NtcThermistorModel,提供了相同的方法。
注意:項目中使用了泛型,因此需要Java 5或更高版本。
一個小的測試類NtcTest是包的一部分,包含一個包含理論NTC(simu.txt)的TR表的示例文本文件。為了使開發者生活變得簡單,整個應用程序被部署為一個(可執行的)jar文件,其中包含所有的源代碼,類和主類為NtcTest的清單文件。
下載測試應用程序后可以調用
java -jar thermistor.0.1.jar
2.2 C模塊
有三個C模塊可用
模
描述
coeff.c
用于從NTC表(用文本文件給出)計算Steinhart-Hart系數的程序。
ttor.c
?emperature到??esistance計算。
rtot.c
?esistance到?噸emperature計算。
對于在Windows下的使用,它們已經被編譯(使用Cygwin的C編譯器)。對于其他操作系統,請使用您的系統C編譯器進行編譯。包含理論上NTC(simu.txt)的TR表格的示例文本文件也被提供用于測試目的。
3、算法
3.1從電阻轉換到溫度
基于NTC熱敏電阻的測量電阻值,擴展Steinhart-Hart方程允許簡單計算溫度
1/T= a0+ a1·ln r + a2·(ln r)2+ a3·(ln r)3
這里r是Ω中的電阻,T是K中的絕對溫度(K =開爾文)。在絕對零Tabs= -273.15℃的情況下,以℃為單位的溫度t的公式最終導致
t = 273,15℃+ [a0+ a1·ln r + a2·(ln r)2+ a3·(ln r)3]-1
通過將適當的系數設置為零,可以按照簡化或標準Steinhart-Hart方程進行計算。
3.2從溫度轉換為電阻
在Ω從溫度以℃計算電阻值根?擴展斯坦哈特-Hart公式的,必須找到(為簡單地設定的標準多項式一個2= 0在下面的公式)
1/T= a0+ a1·ln r + a2·(ln r)2+ a3·(ln r)3
與Y = LN [R,我們得到
1/T= a0+ a1·y + a2·y2+ a3·y3
我們介紹替換
T = t + Tabs
b = a2/ a3
c = a1/ a3
d =(a0-1 / T)/ a3
p = c - ?·b2
q =2/27?·b3-1/3?·b·c + d
U = [-q / 2 +(Q2/4 + p3/27)?]?
V = [-q / 2 - (Q2/4 + p3/27)?]?
得到
r = eu + v - b / 3
對于給定溫度t(以°C為單位)的電阻r(以Ω為單位)。
3.3 Steinhart-Hart系數的計算
有時使用特殊的溫度值來計算系數。在感興趣的范圍內插入四個數值對到擴展Steinhart-Hart poylonm中,得到一個線性代數方程組(標準Steinhart-Hart多項式的三個值對)。通常使用的溫度是例如0℃,15℃,25℃和70℃下通過求解該系統中的值,一個0,一個1,一個2和一個3可以被確定。
更好的方法是在1801年由卡爾·弗里德里?!じ咚?Carl FriederichGau?)引入的稱為普通最小二乘(OLS)的數學優化技術。有關OLS理論的詳細信息在Wikipedia [3]或MathPlanet [4]中給出。
如果近似的函數是一個多項式,則向量空間,標量乘積和正交基的理論便于計算。給出一個n個耐溫對的列表
(r0,t0),(r1,t1),...,(rn-1,tn-1)
(其中n應該至少為3),Steinhart-Hart系數的最佳擬合問題導致最小化
n-1個
sum:=
Σ
[t(ri)-ti] 2
I = 0
其中ti是第i個溫度值,t(ri)是根據該多項式計算的溫度。
這個優化需要一個小的數學偏移。為正整數?和橫坐標值給出X0,X1,...,XN-1與度≤的polynoms?建立一個向量空間V。在V上可以定義一個標量積
?
[p,q]:=
Σ
p(xi)·q(xi)
I = 0
通過
| P |:= [p,p]1/2
標量產品使V成為規范空間。對于具有縱坐標值的函數f
yi:= f(xi)
對于i= 0,...,N-1恰好有一個多項式p?F在V相匹配中的坐標的函數(X0,?0),(X1,?1),...,(X? -1,yn-1)。
如果poisitve整數米,?與米≤N,給出的所有度polynms≤米建立的子空間ü的V。由U中的多項式對f的最佳近似的問題相當于由U中的多項式對pf的最佳近似,|。
n-1個
n-1個
s =
Σ
[uf(xi)-yi]2
=
Σ
[uf(xi)-pf(xi)] 2
=
|uf-pf|
I = 0
I = 0
回答問題的最后結果是很容易的,如果一個標準正交基【U1,U2,...,U中號}的ü給出。對于p?F最佳逼近ü?F作為計算
米
uf=
Σ
[u我,pf]·u我
I = 1
例如,如果給定一個RT表,其值為從0°C到100°C,步長為1°C,則多項式pf的次數為101(!)。幸運的是一定不會被發現,為了找到斯坦哈特-哈特coefficicents,從而找到ü?F。從U的規范基{V1= 1,V2= X,V3= X2,V4= X3}開始,可以評價正交基{U1,U2,U3,U4}。之后,uf的系數由上述總和計算。
該坐標
(x0,y0),(x1,y1),...,(xn-1,yn-1)
從溫度 - 電阻對計算得出
xi= ln ri
yi= 1 /(ti-Tabs)
對于i = 0,...,n-1。
正交基的ü被遞歸地進行評價。我們設置
u1= v1= 1
和
I-1
wi= vi-
Σ
[ü?,U]·U
J = 1
ü= W/ | W|1/2
對于i = 2,...,m = 4。
有了這個基礎,我們可以計算出ü?F為
m
uf=
Σ
[u,pf]·u
I = 1
并根據該方程確定Steinhart-Hart系數。(請注意,標量積可以在不知道被計算p?F如上所述)。
總結
以上是生活随笔為你收集整理的用java计算电阻,NTC热敏电阻计算公式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 应用于供氧中心的医用气体监测系统ZWAC
- 下一篇: access quick 取消显示_如何