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