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