|
新聞詳情
描述純銀絲鉑電阻進(jìn)行模擬電壓讀取新方法1.連接純銀絲鉑電阻: 為了測量溫度,我們需要測量電阻。然而,微控制器沒有內(nèi)置電阻表。相反,它只有一個稱為模數(shù)轉(zhuǎn)換器的電壓讀數(shù)器。因此,我們要做的是將電阻轉(zhuǎn)換為電壓,我們將通過添加另一個電阻并將它們串聯(lián)連接來實現(xiàn)?,F(xiàn)在你只需測量中間的電壓,隨著電阻的變化,電壓也會根據(jù)簡單的分壓器方程變化。我們只需要保持一個電阻器固定。 假設(shè)固定電阻為10K,可變電阻稱為R電壓輸出(Vo)為: Vo = R/(R+10K)* Vcc 其中Vcc是電源電壓(3.3V或5V) 現(xiàn)在我們想將純銀絲鉑電阻連接到微控制器。請記住,當(dāng)您測量到Arduino ADC 的電壓(Vi)時,您將獲得一個數(shù)字。 ADC值= Vi*1023/Varef 所以現(xiàn)在我們將兩者結(jié)合起來(Vo=Vi)并得到: ADC值=R/(R + 10K)* Vcc * 1023/Varef 好的是,如果您注意到,如果Vcc(邏輯電壓)與ARef模擬純銀絲鉑電阻參考電壓相同,則值會抵消! ADC值=R/(R + 10K)* 1023 你正在運行什么電壓并不重要。便利! 最后,我們真正想做的是獲得:R未知阻力。所以我們做一點數(shù)學(xué)運算將R移到一邊: R = 10K/(1023/ADC-1) 好的,讓我們一試吧。如圖所示連接純銀絲鉑電阻: 將10K電阻的一端連接到5V,將10K 1%電阻的另一端連接到純銀絲鉑電阻的一個引腳,將純銀絲鉑電阻的另一個引腳連接到地。然后將模擬0引腳連接到兩者的“中心”。 您應(yīng)該得到與萬用表測量的純銀絲鉑電阻相對應(yīng)的響應(yīng): 如果未獲得正確的讀數(shù),請檢查10K電阻是否位于VCC和A0之間,純銀絲鉑電阻位于A0和地之間。檢查您是否有10K純銀絲鉑電阻?,并且您使用的是“標(biāo)準(zhǔn)”NTC純銀絲鉑電阻; 如果,當(dāng)您加純銀絲鉑電阻時,溫度讀數(shù)會下降,請檢查您是否沒有交換兩個電阻,并檢查您是否使用NTC而非PTC純銀絲鉑電阻。 在進(jìn)行模擬讀數(shù)時,特別是像arduino這樣的“嘈雜”電路板,我們建議使用兩種方法來改善結(jié)果。一種是使用3.3V電壓引腳作為模擬參考,另一種是連續(xù)讀取一堆讀數(shù)并對它們求平均值。第一個技巧依賴于直接來自計算機(jī)USB的5V電源在Arduino上做了很多事情,并且?guī)缀蹩偸潜?.3V線路更嘈雜(通過二級濾波器/調(diào)節(jié)器階段?。┧子谑褂?,只需將3.3V連接到AREF并將其用作VCC電壓。由于我們的計算不包括VCC電壓,因此您無需更改等式。您必須設(shè)置模擬參考,但這只是一行代碼。采用多個讀數(shù)來平均結(jié)果有助于獲得稍微更好的結(jié)果,因為您可能有噪音或波動,我們建議大約5個樣本。 如圖所示,10K電阻仍然連接到較高電壓,而純銀絲鉑電阻接地2.轉(zhuǎn)換為溫度: 最后,當(dāng)然,我們希望得到溫度讀數(shù),而不僅僅是阻力!如果您只需要進(jìn)行快速比較電路(如果溫度低于X,則執(zhí)行此操作,如果其高于Y),則可以簡單地使用溫度/電阻表,該表將純銀絲鉑電阻與溫度相關(guān)聯(lián)。但是,您可能需要實際的溫度值。要做到這一點,我們將使用Steinhart-Hart方程,這可以讓我們對轉(zhuǎn)換值進(jìn)行很好的近似。它不像純銀絲鉑電阻表那樣精確(它是近似值),但它在使用該純銀絲鉑電阻的溫度范圍內(nèi)非常好。 然而,這個等式非常復(fù)雜,需要知道我們沒有這純銀絲鉑電阻個的許多變量。 相反,我們將使用簡化的B參數(shù)方程。對于這個我們只需要知道To(室溫,25°C = 298.15 K)B(在這種情況下為3950,純銀絲鉑電阻的系數(shù))和Ro(室溫下的電阻,在這種情況下為10Kohm)。我們插入R(測量電阻)并輸出T(開爾文溫度),這很容易轉(zhuǎn)換為°C。 |