发作品
专业版

STM32数字万用表

3.5w
0
0
46
简介:设计采用STM32F103C8T6单片机制作一款简单易用的数字万用表。其具有电压、电流、电阻、通断测量功能,拥有量程切换、波形显示、RMS值计算、超量程保护功能。该设计外围电路稳定可靠、价格低廉。
开源协议:GPL 3.0
创建时间:2023-01-12 11:56:08更新时间:2023-07-25 14:11:00

描述

设计要求

设计并制作一款实用的数字显示万用表,可测量电压、电流、电阻等。

(1)可测量电压范围:直流0~30V,误差±1%;

(2)可测量电流范围:直流0~2A,误差±1%;

(3)可测量电阻范围:0Ω~100KΩ, 误差±1%;

(4)使用OLED显示,主控采用STM32系列单片机;

(5)供电电源采用+12V供电;

(6)可实现量程自动切换;

(7)其它发挥部分;

系统框图

InzbXg7McKvohQnkXeNYdK1koNu6gvAv7gY9dEEf.png

硬件设计

1.电源电路

本电路采用两级LM1117 LDO芯片串联组成。第一级将输入电压转换为5V输出;第二级将5V电压转换为3.3V,从而满足系统各模块的供电需求。

2.电压检测电路

使用1片LM324运放,分别取3路构成放大器、衰减器、跟随器,以适用不同电压等级输入。运放输出接入CD4052模拟开关,用于量程切换。

3.电流检测电路

电流感应放大芯片使用max4080,其放大倍数为20倍。通过继电器选取不同采样电阻 实现量程切换功能。

4.电阻检测电路

通过电阻分压原理实现电阻测量,通过MOS管选择不同量程分压电阻。

5.其他电路

包含OLED显示屏接口(OLED采用中景园电子 1.91英寸显示屏)、矩阵键盘接口等。

软件设计

初始化配置采用STM32CubeMX工具进行。逻辑代码主要目的是实现量程切换电路的控制、按键状态读取、测量结果处理和送入OLED屏幕显示等。

gW7xQaYTBEwha5esem2egdIYxCQUH49FqIAPaK9c.png

准确度优化和测试

准确度优化方案:

1.使用高精度分压电阻:所有分压电阻选用0.1%精度采样电阻。

2.软件使能自校正:使用HAL库函数:

HAL_StatusTypeDef HAL_ADCEx_Calibration_Start(ADC_HandleTypeDef* hadc)

3.增大ADC周期数:本次设计在测量电压、电流、电阻时对实时性要求较低,因此可尽可能增大ADC周期数以提高测量精度,当前已设置为最大值(239.5Cycles)

4.软件滤波:设计采用滑动窗口滤波器,保证了滤波效果,也保证了实时性。

5. 线性拟合校正:通过记录设备读取值和标准万用表读取值,通过MatLab程序实现线性拟合。拟合实现相关系数为0.9999981的校正效果,精度进一步提高。

测试效果:

测试通过与UNI-T UT71C型号万用表进行比对,分别测量20次取平均值

模式

平均误差

电压

0.74%

电流

0.96%

电阻

0.85%

三种模式测量平均误差统计

 

功能介绍和演示详见视频。提供stm32 axf烧录文件。

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
code.axf
1254
2
立创邀请赛_1.mp4
1261
克隆工程
添加到专辑
0
0
分享
侵权投诉
工程成员
全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程