基于嵌入式单片机的多用测量仪表设计

2023-07-13 10:33马文博蒋玉华闭金杰廖志贤黄国现
电子制作 2023年11期
关键词:万用表量程阻值

马文博,蒋玉华,闭金杰,廖志贤,黄国现

(广西师范大学,广西桂林,541004)

0 引言

万用表、示波器等测量仪表在电子领域有着广泛的应用,号称电子工程师的“眼睛”。如何充分利用运放、模拟开关等常见器件完成多用仪表的设计,在保证精度的前提下提高易用性和扩展性是需要解决的问题。本文结合软件和硬件,用尽可能少的电子元器件,并优化系统软硬件,完成系统设计。

1 系统的方案设计

系统主控采用STM32F103 C8T6 核心板。它是一款基于ARM Cortex-M 内核的32 位微控制器,其具有72MHz 时钟主频、37 个GPIO引脚,12位ADC,价格低廉,使用广泛,可以方便地完成设计。

2 硬件设计

■2.1 电源电路

本电路采用两级LM1117 LDO 芯片串联组成。第一级将输入电压转换为5V 输出;第二级将5V 电压转换为3.3V,从而满足系统各模块的供电需求。系统中运算放大器、模拟开关、电流采样芯片、继电器均采用5V 供电,STM32 单片机、OLED 显示屏采用3.3V 供电。LDO 芯片具有外围电路简单、低压差下效率高、输出纹波小等优点。

■2.2 主控电路

本电路基于STM32F103C8T6 核心板进行设计,引出部分GPIO 接口用于连接和控制系统各外设。核心板已集成晶振电路、下载接口等电路。

图1 系统框图

图2 电源输入电路原理图

图3 最小系统板外围电路图

图4 电压检测调理电路图

图5 电流检测电路图

图6 电阻检测电路

图7 量程切换典型电路图

图8 4×4 矩阵键盘电路图

图9 OLED 屏幕接口

图10 串行通信接口

图11 时钟树配置

图12 系统软件总框图

图13 电压测量流程图

图14 样机测试过程

■2.3 电压检测调理电路

本电路需要将外部的电压输入按比例放大或缩小,转换为STM32 单片机ADC 端口可以接受的0-3.3V 电压,并通过模拟开关实现量程切换功能。

运放芯片采用LM324,该芯片具有4 路独立运放单元。其中,第一、二路构成跟随器,根据电阻分压:

第一和二路输入电压分别衰减为输入的1/11、1/4。第三路构成同相比例放大器,放大倍数关系为:

其中R32 为平衡电阻,阻值计算方法为:R3 2 =R31 1//R30。第三路的放大倍数为11 倍。

量程切换功能通过模拟开关实现,型号为CD4052。其A0、A1 连接至单片机GPIO 作为控制端,Y0B、Y1B、Y2B 作为输入端,ZB 作为输出端连接至单片机ADC 端口。单片机控制A0、A1 以选通不同电压等级输入作为模拟开关的输出。

■2.4 电流检测电路

电路需要将外部的电流输入进行采样,经过处理后送入单片机ADC 引脚,并通过继电器实现量程切换功能。在设计中尽量减小回路阻抗,以减小测量电路对被测电路的影响。

R5、R6 为采样电阻,阻值选取分别为1Ω、0.1Ω,分别测量0~100mA、100mA~2A 电流。测量时,电流由I_IN+流入,由I_IN-流出。

电流感应放大芯片U1 选取MAX4080,其放大倍数为20 倍。测量时,I_IN+、I_IN-两端(包含采样电阻)分得的电压输入MAX4080 的RS+、RS-,芯片将该电压放大20倍后由OUT 端输出。OUT 端连入单片机ADC 引脚。

继电器K1、K2 为量程切换开关。当继电器K1 吸合K2断开时,采样电阻R5接入电路;当继电器K2吸合K1断开时,采样电阻R6 接入电路。

■2.5 电阻检测电路

电路需要将外部接入的电阻进行适当处理,接入单片机ADC 输入引脚,并通过控制MOS 管通断选取不同的分压电阻,实现量程切换功能。设计中加入运放(U2.4)构成的跟随器进行隔离,从而避免错误的输入损坏单片机。

图中,P 沟道MOS 管Q2、Q3、Q5 的栅极连接至单片机GPIO,当单片机输出低电平时,漏源极导通。R2、R7、R8 为分压电阻。

实际电路中,为实现自动量程切换功能,开关U3、U4、U5 用MOS管代替。R33、R34、R35 为不同量程的分压电阻,R1 为待测电阻,阻值未知。该电路利用电阻分压原理,单片机通过读取待测电阻上分得电压,进而计算得到待测阻值。

根据电阻分压公式(1)得被测电阻阻值计算公式(3):

式中Rx 为不同量程分压电阻,Uc 为3.3V 基准电压。

■2.6 其他辅助电路

(1)外接4×4 矩阵键盘用于模式切换等功能,其行、列线与单片机GPIO 相连。

(2)OLED 屏幕使用中景园电子 1.91 英寸SH1108,其接口类型为SPI。

(3)设计有串行通信接口,可将程序运行中的数据传至上位机,方便调试和分析。

3 软件设计

软件主要运行于STM32F103C8T6 单片机上,编写过程分为初始化代码生成和主程序逻辑代码编写。其中初始化代码配置采用STM32CubeMX 工具生成HAL 库代码。主程序基于该代码,添加用户逻辑代码部分。其主要目的是实现量程切换电路的控制、按键状态读取、测量结果处理和送入OLED 屏幕显示等。

■3.1 初始化配置

(1)系统时钟(HSE)来源配置为外部时钟,运行频率设置为72MHz。

(2)继电器、模拟开关、电阻量程切换MOS管GPIO 配置为推挽输出模式。

(3)矩阵键盘行线配置为输出,列线配置为输入。

(4)使能ADC2 的4、5、6 通道用于电压、电流、电阻ADC 采集。

使能多通道扫描模式、非连续转换模式、软件触发、设置通道数为3。为最大程度提高精度,ADC 周期配置为最大(239.5Cycles)。

(5)SPI2 配置为Full-Duplex Master(全双工主模式)用于驱动OLED 屏幕。

(6)使能串口1 用于程序调试与上位机数据展示和下发。

■3.2 主程序设计

主程序共涉及电压测量、电流测量、电阻测量、矩阵键盘读取、量程切换控制、串口通信、OLED 屏幕显示等模块。其中,电压测量、电流测量、电阻测量模块通过矩阵按键进行切换,最终将处理后的测量结果输出至OLED 屏幕进行显示、输出至串口用于上位机展示功能。

(1)电压测量模式

根据电压检测硬件电路,设计实际电压换算公式(4)。

式中Vtrue为被测电压真实值,ADCresult为ADC转换结果,c 为比例系数,参数b、a 为线性拟合系数,用于提高结果准确性。根据表1 所示电压测量电路挡位与调整比例的关系,参数c 在三种挡位分别取值1/4、4、11。根据STM32F103系列12 位ADC 转换器原理,ADCresult将0~3.3V 电压表示为0~4096 之间的整数。上式首先将ADCresult转换为真实电压值,再乘以比例系数c,最后根据进行线性拟合校正参数b、a 得到真实被测电压值。

表1 设计量程与电阻的关系

表2 量程与采样电阻的关系

表3 电阻测量中量程与分压电阻的关系

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

程序首先连续读取20 次ADC 电压端口转换结果,送入滑动窗口滤波器进行滤波处理得到参数resultADC,随后根据公式(4)计算得到被测电压真实值。之后程序将电压真实值送入OLED 屏幕向用户展示,并向串口打印测量数据。除此之外,该程序还需根据表1 量程关系判断当前的挡位是否合适,若不合适则自动进行挡位切换。若真实电压为0~0.7V 范围则切换为1 档;若真实电压为0.7~9V 范围则切换为2 档;若真实电压为大于9V 范围则切换为3 档。切换档位后,程序在下次测量时将根据切换后的挡位参数重新计算真实测量结果。

(2)电流、电阻测量模式

电流、电阻测量模式与电压测量模式实现方法基本相似,此处不展开详细论述。

4 系统主要功能测试以及分析

电压、电流挡的测试方法为:由数控可调电源输入一固定电压(或电流),连接至设备,同时接入UNI-T UT71C型号万用表进行准确性比对。逐次调节电压(或电流)输入,记录设备读数和万用表读数,计算误差,并验证其自动切换量程功能。电阻挡测量方法为在电阻测量端口与GND 端口间接入不同阻值的定值电阻,并用万用表测量电阻阻值,与设备测量结果进行比对。以上过程均重复20 次求平均值。

根据测试数据,三种模式测量精度均符合预期指标。在电流测量模式中,较小电流(约0~100mA)测量时会存在较大误差,原因是较小测量电流下,采样芯片和STM32 的ADC 分辨率不足,可以通过换用较大采样电阻的方法以降低小电流测量误差。

5 总结与展望

本文主要研究一种多用测量仪表,以STM32F103C8T6为主要控制单元,从硬件和软件两方面对该系统进行了详细阐述。最后实验结果表明 STM32F103C8T6 能够正常获取采样数据并进行相应处理,能够实现自动挡位切换功能,在OLED 屏幕上显示正确测量结果,输出结果准确稳定,满足系统设计要求指标。

当前常用的万用表已作为电子工程师的必备设备进入大众视野。通过串行通信接口,可以方便地将万用表与上位机软件结合起来,从而实现更加丰富的功能。当前本设计运行稳定,可靠性良好,成本低,为后续智能化测量仪器的设计开发与研究奠定了基础。本设计包含完善的保护电路,在外部输入超过设计测量能力时,不会造成设备损坏。

猜你喜欢
万用表量程阻值
四线制阻值检测电路实验研究
基于惯性导航量程扩展的滚动再次受控方法
宽量程计量自动切换及远程传输技术
Passage 3 Harvest from learning to repair cars
励磁线圈对插入式电磁流量计的影响
低电阻碳膜板制作及其阻值的优化
对一道电学实验题的思考
煤气化装置中吹扫转子流量计量程选取探讨
MF14万用表在轨道电路测量中存在问题的探讨
宽量程蒸汽流量测量方法的探讨