STM32數字萬用表,精度±1%
2023-02-21 17:52:25閱讀量:5594
本文作者:立創開源硬件平臺 OSHWHub 用戶@ geekmwb,禁止商用,未經許可禁止轉載,點擊查看原文章
1、工程描述
用STM32F103C8T6制作了一款簡易的數字萬用表,使用OLED顯示測試數據。
其具有——電壓、電流、電阻、通斷測量、量程自動切換、波形顯示、RMS值計算、超量程保護功能。該設計外圍電路穩定可靠、價格低廉。
2、工程參數
可測量電壓范圍:直流0~30V,誤差±1%;
可測量電流范圍:直流0~2A,誤差±1%;
可測量電阻范圍:0Ω~100KΩ, 誤差±1%;
供電電源采用+12V供電。
3、硬件設計
01、電源電路
本電路采用兩級LM1117 LDO芯片串聯組成。第一級將輸入電壓轉換為5V輸出;第二級將5V電壓轉換為3.3V,從而滿足系統各模塊的供電需求。

02、電壓檢測電路
使用1片LM324運放,分別取3路構成放大器、衰減器、跟隨器,以適用不同電壓等級輸入。運放輸出接入CD4052模擬開關,用于量程切換。
03、電流檢測電路
電流感應放大芯片使用max4080,其放大倍數為20倍。通過繼電器選取不同采樣電阻 實現量程切換功能。

04、電阻檢測電路
通過電阻分壓原理實現電阻測量,通過MOS管選擇不同量程分壓電阻。

05、其他電路
包含OLED顯示屏接口(OLED采用中景園電子 1.91英寸顯示屏)、矩陣鍵盤接口等。

4、軟件設計
初始化配置采用STM32CubeMX工具進行。邏輯代碼主要目的是實現——量程切換電路的控制、按鍵狀態讀取、測量結果處理、送入OLED屏幕顯示等。
5、準確度優化和測試
01、準確度優化方案
所有分壓電阻選用0.1%精度采樣電阻。軟件使能自校正,使用HAL庫函數:
HAL_StatusTypeDef HAL_ADCEx_Calibration_Start(ADC_HandleTypeDef* hadc)
盡可能增大ADC周期數以提高測量精度,當前已設置為最大值(239.5Cycles)。本次設計在測量電壓、電流、電阻時對實時性要求較低。
設計采用滑動窗口濾波器,保證了濾波效果、實時性。
線性擬合校正:通過記錄設備讀取值和標準萬用表讀取值,通過MatLab程序實現線性擬合。擬合實現相關系數為0.9999981的校正效果,精度進一步提高。
02、測試效果
測試通過與UNI-T UT71C型號萬用表進行比對,分別測量20次,取平均值:

更多詳情及附件,可從原工程查看。
本文作者:立創開源硬件平臺 OSHWHub 用戶@geekmwb,禁止商用,未經許可禁止轉載

熱門物料
型號
價格
L7805CV-DG/線性穩壓器(LDO) | 0.5637 | |
AMS1117-3.3/線性穩壓器(LDO) | 0.1237 | |
BAT54C,215/肖特基二極管 | 0.0334 | |
LM358DR2G/運算放大器 | 0.35 | |
CJ431/電壓基準芯片 | 0.1147 | |
LM393DR2G/比較器 | 0.318 | |
ADUM4160BRWZ-RL/隔離式USB芯片 | 31.6 | |
SS8050/三極管(BJT) | 0.035 | |
8S005/錫膏/錫漿 | 17.67 | |
B0505S-1WR3/隔離電源模塊 | 2.34 |