一种高精度数字多用表的设计与实现
扫描二维码
随时随地手机看文章
1系统整体结构
数字多用表设计整体框图如图1所示。直流电压测量电路、交流电压测量电路、电阻测量电路、电流测量电路为信号采集模块,信号经过一定的转换电路后,转换成A/D模块可以识别的电压信号:A/D模块负责将信号进行AD转换,并传输到STM32:STM32负责实现选档控制、数据读取和处理、显示控制、A/D控制等功能:LCD是系统的显示模块。
2硬件设计
2.1交流电压测量电路
交流信号输入不同量程的放大电路后,经过检波电路,可转换为直流信号,然后输入A/D转换器,在ADC转换完成后,传输给STM32,由STM32进行数据读取、处理和计算。获得直流电压值后,则可计算交流电压有效值。
交流电压放大检波电路如图2所示,图中不同电阻及其开关实现不同放大倍数的选择,而实际应用中,这些开关通过由单片机I/o控制MoS驱动开关,实现对量程的选择。
2.2电阻测量电路
电阻测量电路如图3所示,使用标准精密电阻(R3~R7)对待测电阻进行分压,检测待测电阻两端电压,则可根据欧姆定律计算电阻值。图3中各个开关用于量程选择,原理同上。
2.3电流测量电路
电流测量电路与电阻测量电路相似,将电流转化为电压,然后送入ADC。本设计使用INA282实现电流-电压转换与放大,电流测量电路如图4所示。图4中的R2为功率电阻,其作用是将待测电流信号转化为电压信号,功率电阻参数为0.150/5w,功率参数应选择大一些,可避免发热过量,防止烧坏,且可以保证精度。
2.4STM32嵌入式系统
嵌入式系统需要实现读取ADC数据,数据滤波、计算和处理,LCD可视化,切换测量模式和量程等功能。因此,STM32的硬件设计需要至少两个按键,两个SPI通信接口分别与ADC和LCD通信。另外,需要引出自带的ADC通道、串口、I2C等其他常用拓展功能的引脚。
2.5AD转换电路
AD7705是双通道全差分的16位AD芯片,有两个通道,可检测0~5V电压(单极性)和±2.5V电压(双极性)。本设计中将一个通道设为单极性,另一个通道设为双极性,其电路设计如图5所示,J1为电压输入端,DoUT为输出端。
3软件设计
3.1AD7705模块
该模块通信方式为SP1,通过发送规定指令来执行对应动作,例如读取通道1的AD值,则需要写入字节"0x38|1"。在初始化AD7705完成后,可以利用图6所示的数据代码,读取指定通道的AD值,AD值为16位,此处需循环读取16次,依次存入变量中,再进行计算。
3.2测量模式和量程切换
系统通过判断标志位mode选择测量模式。电压量程切换使用rank标志位。而电阻量程切换采用自动切换,从低档位依次计算,若待测电阻值大于档位值,则切换下一量程计算,直到不大于档位值。每个测量模式和量程都有独立的AD值与电气参数对应的数学模型,不同的测量模式和不同量程下,会调用不同的数学模型来计算实际的电气参数值。判断测量模式的代码如下:
Switch(mode)
{caSe0:Vo1tDC(adcx):break://直流电压
caSe1:Vo1tAC(reSu1t):break://交流电压
caSe2:Current(reSu1t2):break://电流
caSe3:ReSiSt(reSu1t2):break://电阻
}
4数据拟合曲线的建立
4.1交流电压数据拟合曲线
为了防止因放大和检波导致不同电压可能对应同一个AD值的问题,需对不同量程进行分段拟合,以便在不同量程下,可用不同计算模型进行计算。实验在各个量程下,分别输入等间隔变化的交流电压,测得其AD值,然后建立AD值与电压值的计算模型,如图7所示。
4.2直流电流、电阻拟合曲线
直流电流不需分档,且转换芯片支持的电流范围较大,所以可通过理论模型和公式直接计算。实验多次等间距增加电流,对真实电流和测试电流进行数据拟合即可。
电阻值测量分为多个量程,分别以不同阻值精密电阻为参考电阻。本文在不同量程下,采用多个精密电阻进行测试,将测试得到的电阻值与真实电阻值进行数据拟合。2k0量程的拟合模型如图8所示。
4.3数据模型拟合的测量结果
数据模型拟合后的测试结果如表1所示,由表1可得系统各项参数的误差稳定≤1%。
5结语
本文设计的高精度数字多用表可实现交/直流电压值、电流值以及电阻值的测量功能。直流电压、电流、电阻测量为自动换挡,交流电流测量为手动换挡。经过测试,所有功能均运行正常,误差稳定≤1%,交流/直流电压精确到1mV,电流精确到0.1mA,电阻精确到10,达到预期效果。本设计使用方便,可供对精度和误差要求高的场合使用。