一種高精度數(shù)字多用表的設(shè)計(jì)與實(shí)現(xiàn)
1系統(tǒng)整體結(jié)構(gòu)
數(shù)字多用表設(shè)計(jì)整體框圖如圖1所示。直流電壓測(cè)量電路、交流電壓測(cè)量電路、電阻測(cè)量電路、電流測(cè)量電路為信號(hào)采集模塊,信號(hào)經(jīng)過一定的轉(zhuǎn)換電路后,轉(zhuǎn)換成A/D模塊可以識(shí)別的電壓信號(hào):A/D模塊負(fù)責(zé)將信號(hào)進(jìn)行AD轉(zhuǎn)換,并傳輸?shù)絊TM32:STM32負(fù)責(zé)實(shí)現(xiàn)選檔控制、數(shù)據(jù)讀取和處理、顯示控制、A/D控制等功能:LCD是系統(tǒng)的顯示模塊。
2硬件設(shè)計(jì)
2.1交流電壓測(cè)量電路
交流信號(hào)輸入不同量程的放大電路后,經(jīng)過檢波電路,可轉(zhuǎn)換為直流信號(hào),然后輸入A/D轉(zhuǎn)換器,在ADC轉(zhuǎn)換完成后,傳輸給STM32,由STM32進(jìn)行數(shù)據(jù)讀取、處理和計(jì)算。獲得直流電壓值后,則可計(jì)算交流電壓有效值。
交流電壓放大檢波電路如圖2所示,圖中不同電阻及其開關(guān)實(shí)現(xiàn)不同放大倍數(shù)的選擇,而實(shí)際應(yīng)用中,這些開關(guān)通過由單片機(jī)I/o控制MoS驅(qū)動(dòng)開關(guān),實(shí)現(xiàn)對(duì)量程的選擇。
2.2電阻測(cè)量電路
電阻測(cè)量電路如圖3所示,使用標(biāo)準(zhǔn)精密電阻(R3~R7)對(duì)待測(cè)電阻進(jìn)行分壓,檢測(cè)待測(cè)電阻兩端電壓,則可根據(jù)歐姆定律計(jì)算電阻值。圖3中各個(gè)開關(guān)用于量程選擇,原理同上。
2.3電流測(cè)量電路
電流測(cè)量電路與電阻測(cè)量電路相似,將電流轉(zhuǎn)化為電壓,然后送入ADC。本設(shè)計(jì)使用INA282實(shí)現(xiàn)電流-電壓轉(zhuǎn)換與放大,電流測(cè)量電路如圖4所示。圖4中的R2為功率電阻,其作用是將待測(cè)電流信號(hào)轉(zhuǎn)化為電壓信號(hào),功率電阻參數(shù)為0.150/5w,功率參數(shù)應(yīng)選擇大一些,可避免發(fā)熱過量,防止燒壞,且可以保證精度。
2.4STM32嵌入式系統(tǒng)
嵌入式系統(tǒng)需要實(shí)現(xiàn)讀取ADC數(shù)據(jù),數(shù)據(jù)濾波、計(jì)算和處理,LCD可視化,切換測(cè)量模式和量程等功能。因此,STM32的硬件設(shè)計(jì)需要至少兩個(gè)按鍵,兩個(gè)SPI通信接口分別與ADC和LCD通信。另外,需要引出自帶的ADC通道、串口、I2C等其他常用拓展功能的引腳。
2.5AD轉(zhuǎn)換電路
AD7705是雙通道全差分的16位AD芯片,有兩個(gè)通道,可檢測(cè)0~5V電壓(單極性)和±2.5V電壓(雙極性)。本設(shè)計(jì)中將一個(gè)通道設(shè)為單極性,另一個(gè)通道設(shè)為雙極性,其電路設(shè)計(jì)如圖5所示,J1為電壓輸入端,DoUT為輸出端。
3軟件設(shè)計(jì)
3.1AD7705模塊
該模塊通信方式為SP1,通過發(fā)送規(guī)定指令來(lái)執(zhí)行對(duì)應(yīng)動(dòng)作,例如讀取通道1的AD值,則需要寫入字節(jié)"0x38|1"。在初始化AD7705完成后,可以利用圖6所示的數(shù)據(jù)代碼,讀取指定通道的AD值,AD值為16位,此處需循環(huán)讀取16次,依次存入變量中,再進(jìn)行計(jì)算。
3.2測(cè)量模式和量程切換
系統(tǒng)通過判斷標(biāo)志位mode選擇測(cè)量模式。電壓量程切換使用rank標(biāo)志位。而電阻量程切換采用自動(dòng)切換,從低檔位依次計(jì)算,若待測(cè)電阻值大于檔位值,則切換下一量程計(jì)算,直到不大于檔位值。每個(gè)測(cè)量模式和量程都有獨(dú)立的AD值與電氣參數(shù)對(duì)應(yīng)的數(shù)學(xué)模型,不同的測(cè)量模式和不同量程下,會(huì)調(diào)用不同的數(shù)學(xué)模型來(lái)計(jì)算實(shí)際的電氣參數(shù)值。判斷測(cè)量模式的代碼如下:
Switch(mode)
{caSe0:Vo1tDC(adcx):break://直流電壓
caSe1:Vo1tAC(reSu1t):break://交流電壓
caSe2:Current(reSu1t2):break://電流
caSe3:ReSiSt(reSu1t2):break://電阻
}
4數(shù)據(jù)擬合曲線的建立
4.1交流電壓數(shù)據(jù)擬合曲線
為了防止因放大和檢波導(dǎo)致不同電壓可能對(duì)應(yīng)同一個(gè)AD值的問題,需對(duì)不同量程進(jìn)行分段擬合,以便在不同量程下,可用不同計(jì)算模型進(jìn)行計(jì)算。實(shí)驗(yàn)在各個(gè)量程下,分別輸入等間隔變化的交流電壓,測(cè)得其AD值,然后建立AD值與電壓值的計(jì)算模型,如圖7所示。
4.2直流電流、電阻擬合曲線
直流電流不需分檔,且轉(zhuǎn)換芯片支持的電流范圍較大,所以可通過理論模型和公式直接計(jì)算。實(shí)驗(yàn)多次等間距增加電流,對(duì)真實(shí)電流和測(cè)試電流進(jìn)行數(shù)據(jù)擬合即可。
電阻值測(cè)量分為多個(gè)量程,分別以不同阻值精密電阻為參考電阻。本文在不同量程下,采用多個(gè)精密電阻進(jìn)行測(cè)試,將測(cè)試得到的電阻值與真實(shí)電阻值進(jìn)行數(shù)據(jù)擬合。2k0量程的擬合模型如圖8所示。
4.3數(shù)據(jù)模型擬合的測(cè)量結(jié)果
數(shù)據(jù)模型擬合后的測(cè)試結(jié)果如表1所示,由表1可得系統(tǒng)各項(xiàng)參數(shù)的誤差穩(wěn)定≤1%。
5結(jié)語(yǔ)
本文設(shè)計(jì)的高精度數(shù)字多用表可實(shí)現(xiàn)交/直流電壓值、電流值以及電阻值的測(cè)量功能。直流電壓、電流、電阻測(cè)量為自動(dòng)換擋,交流電流測(cè)量為手動(dòng)換擋。經(jīng)過測(cè)試,所有功能均運(yùn)行正常,誤差穩(wěn)定≤1%,交流/直流電壓精確到1mV,電流精確到0.1mA,電阻精確到10,達(dá)到預(yù)期效果。本設(shè)計(jì)使用方便,可供對(duì)精度和誤差要求高的場(chǎng)合使用。