基于多元回归模型的高精度静态扭矩无线采集系统设计

2022-06-11 11:32吴少杰仲梁维
软件工程 2022年6期
关键词:多元回归滤波

吴少杰 仲梁维

摘  要:为使扭矩测量更加便捷、准确,设计了一种新型扭矩测试系统。以STM32为控制中心,利用基于Qt的Python库完成人机交互界面,通过无线串口通信技术实现二者之间的通信。下位机程序中利用中位值平均滤波算法对采样的数据进行滤波,并收集滤波后的数据。通过观察发现,经过ADC转换过后的数字量与对应扭矩值并非一元线性关系,因扭矩值的大小为连续数值型变量,又考虑到周围环境的温湿度可能会影响传感器的精度,故采用多元线性回归模型进行分析。将扭矩值作为结局变量,数字量、环境温度、环境湿度作为解释变量,利用控制变量法进行分组实验,将训练集导入SPSS软件中得到所需模型,给出回归方程。其中数字量的影响系数为0.108,温度的影响系数为0.007,湿度的影响系数为0.001,均正向影响扭矩值,均方误差MSE计算模型损失L=0.00106,满足精度要求。

關键词:扭矩测试;多元回归;滤波;无线串口通信

中图分类号:TP206     文献标识码:A

Design of Wireless Acquisition System for High Precision

Static Torque based on Multiple Regression Model

WU Shaojie, ZHONG Liangwei

Abstract: This paper proposes to design a new torque testing system to make torque measurement more convenient and accurate. Taking STM32 as the control center, the human-computer interaction interface is completed by using the Qt-based Python library, and the communication between them is realized by wireless serial port communication technology. In the lower computer program, the average filtering algorithm of median value is used to filter the sampled data, and collect the filtered data. Through observation, it is found that the digital quantity converted by the ADC and the corresponding torque value are not linear in a single variable. As the magnitude of the torque value is a continuous numerical variable, and considering that the temperature and humidity of the surrounding environment may affect the accuracy of the sensor, a multivariate linear regression model is used for analysis. Taking the torque value as the outcome variable, and the numerical value, ambient temperature, and ambient humidity as the explanatory variables, the control variable method is used to conduct group experiments. The training set is imported into SPSS software to obtain the required model, and the regression equation is given. Among them, the influence coefficient of digital quantity is 0.108, that of temperature is 0.007, and that of humidity is 0.001. All of them positively affect the torque value, and the mean square error MSE is used for calculating model loss L=0.00106, which meets the accuracy requirements.

Keywords: torque test; multiple regression; filtering; wireless serial communication

1   引言(Introduction)

扭矩是机械领域一个非常重要的测量量,与很多应用有着紧密的联系,许多行业需要进行精确的扭矩测量[1]。现今,测量扭矩的方式与产品多种多样,常见的有数显扭力扳手、高精度扭矩测试仪等。小型的扭矩测量仪体积小、成本低、精度低,可测量的扭矩范围有限,且无法保存测量结果[2]。大型的扭矩测量仪虽然精度高,扭矩测量范围广,可以进行实时测试跟踪,但其成本较高,且不便于携带[3]。

本文结合了以上扭矩测量的优点,利用STM32单片机,结合基于Qt的Python库,利用无线串口通信技术,设计了高精度静态扭矩无线采集系统,可适用于多种工况。

2   系统总体方案(Overall system scheme)

本系统主要包括扭矩传感器、DHT11模块、STM32F103C8T6开发板、AD620放大电路、W25Q128大容量FLASH存储模块、LoRa模块、电源模块、电量显示模块、上位机软件等。

以STM32单片机为主控制器,利用扭矩传感器,将输入的扭矩大小转换为电压信号,电压信号通过AD620模块进行差分放大后,利用STM32微控制器进行采集,将采集到的模拟信号通过ADC(模/数转换器)转化成数字信号。考虑到无线传输数据时数据的准确性与稳定性,同时也应保证每秒上千次的采样频率,将采集到的数字信号经过处理后,存放到外部FLASH中,待采样结束后,将FLASH中存储的数据利用无线串口传入上位机,上位机对数据进行分析、保存[4]。

实验中,将采集到的数据、对应标准扭矩值、环境温度、环境湿度进行回归分析,找到其中较为精确的函数关系,观察样本点的特点,找出适当的滤波算法。利用基于Qt的Python库,完成上位机程序的编写,实现图形的绘制与数据的显示、存储。总体设计框架如图1所示。

3   下位机部分及精度分析(The lower computer and its precision analysis)

3.1   主控芯片

STM32F103C8T6是一款基于ARM Cortex-M内核STM32系列的32 位微控制器,程序存储容量为64 kB,频率为72 MHz,可以实现系统高性能与低功率消耗并存,拥有32 位CPU、并行总线结构、嵌套中断向量控制单元、调试系统、标准的存储映射、SPI接口、ADC等结构和功能,选用该芯片作为主控芯片完全满足此次设计要求[5]。

3.2   DHT11模块

该模块用于实时监测采集环境的温度、湿度,从而补偿温湿度对扭矩传感器造成的精度方面的影响,原理图如图2所示。

该模块共有四根引脚,用1 号和4 号引脚供电,2 号引脚进行数据传输,3 号引脚为悬空态。一次完整的数据传输有40 bit(高位先出),数据格式为:8 bit 湿度整数数据、8 bit湿度小数数据、8 bit温度整数数据、8 bit温度小数数据、8 bit校验和。数据传输正确时校验和数据等于“8 bit湿度整数数据+8 bit湿度小数数据+8 bit温度整数数据+8 bit温度小数数据”所得结果的末八位[6]。

3.3   扭矩传感器

本次设计选取的扭矩传感器为应变片扭矩传感器,使用的是应变电测技术。它的原理是利用弹性轴粘贴应变计组成测量电桥,当弹性轴受扭矩作用发生微小形变时,电桥的电阻值就会发生变化,进而电信号发生变化,实现扭矩的测量。应变片扭矩传感器的特点是分辨能力高,误差较小,测量范围大,价格低廉,便于选择和大量使用,所以选择该类型的扭矩传感器来得到电压信号。

所选传感器技术参数如表1所示,该传感器适用于静态、非连续旋转的扭矩力值测量,符合设计要求。

3.4   FLASH模块

SPI是一种高速、全双工、同步的通信总线。W25Q128是一款SPI接口的NOR Flash芯片,其存储空间为16 M字节。W25Q128可以支持SPI的模式0和模式3,即CPOL=0/CPHA=0和CPOL=1/CPHA=1两种模式。该模块可以存储保存高速采集到的数据,待采集结束后发送给上位机。

现进行采集过程的最大时间计算。为保证数据传输过程稳定、可靠,将采集到的电压信号通过ADC、滤波算法、函数模型转换后,其数据类型为无符号32 位整型数据,即每次接收的数据为四个字节。为方便数据在FLASH模块中的存储(按字节写入),需将接收到的32 位整型数据进行拆分,拆分后存放在FLASH模块中。考虑到传感器所能测量的范围大小,32 位的整型数据只需要存放在三个字节中即可。为达到高速采样的要求,每秒应保证1,000 次以上采样频率。所以,单次可采集的最大时间为:

(1)

所以该模块上述条件下,单次可采集数据的最大时间约为93 min,可满足大多数工况的需求。

W25Q128被组织为65,536 个可编程的页,每页256 bytes。擦除方式分为16 页一组(即一个扇区4 kbytes)、128 页一组(即八个扇区32 kbytes)、256 页一组(即16 个扇区或1 个块64 kbytes),或整个芯片擦除。该芯片有4,096 个可擦除扇区,或256 个可擦除块。考虑到实验中数据量的大小,系统中采用扇区擦除来提高代码的执行效率。写入、读取过程的流程图如图3所示。

3.5   AD620放大电路

AD620是一款单芯片仪表放大器,采用经典的三运放改进设计,通过调整片内电阻的绝对值,只需要一个电阻便可实现对增益的精确编程(时精度可达0.15%),如图4所示。

(1)增益倍数与调零值确定

单片机具备ADC功能的引脚可检测的电压范围为0—3.3 V,若要考虑双向扭矩的采集,在扭矩为0的状态下放大器输出的电压应设为1.5 V,若为正向扭矩则输出电压值为1.5—3.0 V,若为反向扭矩则输出电压值为0—1.5 V。而传感器可输出的最大电压为20 mV,当放大模块放大倍数G为75 倍时,最大输出电压为:

(2)

未超出ADC引脚测量范围,满足要求。

双向扭矩采集会使系统的测量范围降低,若是单向扭矩采集在调零时令即可。本系统以单向扭矩采集為例,为保证系统留有一定余量(可采集更大扭矩),仍取。

(2)外部增益电阻值确定

输入晶体管Q1和Q2提供一路高精度差分对双极性输入,同时由于采用SuperBeta处理,因此输入偏置电流减小10 倍。反馈环路Q1-A1-R1和Q2-A2-R2使输入器件Q1和Q2的集电极电流保持恒定,从而可将输入电压作用于外部增益设置电阻上。这样就产生了从输入至输出的差分增益,其计算公式为:

(3)

单位增益减法器A3用来消除任何共模信号,输入电压噪声降至9 nVA/Hz,由输入器件的集电极电流和基极电阻决定。内部增益电阻和调整至绝对值,外部增益电阻值计算公式为:

(4)

3.6   精度分析

(1)ADC采样转换时间计算

首先打开ADC的时钟,配置RCC相关寄存器组,配置PLL频率为72 MHz并将其设为主时钟,配置PCLK2频率为72 MHz,并配置ADC时钟频率为PCLK2的8 分频。对ADC寄存器组进行初始化,使用ADC1的第5 个转换通道,转换通道数为1,采样时间为55.5 个时钟周期。

现预估ADC完成单次转换所需时间。单次转换所需时间等于ADC对电压的采样时间(采样周期)与采样完毕之后的转换时间(转换周期)之和。

首先计算其时钟频率为:

(5)

采样时间设定为55.5 个时钟周期,此外ADC的转换时间为12.5 个时钟周期,得到整个转换所需的周期数为:

(6)

所以本次设计中ADC的单次转换时间为:

(7)

符合系统采样频率要求。

(2)精度分析

STM32F103C8T6中ADC采样精度为12 位,对应4,096 个采样点。上述分析中,单向扭矩输出的电压范围为0—1.5 V,对应的采样点个数P为:

(8)

对应的扭矩范围为0—200 N·m。

絕对误差为:

(9)

符合系统精度要求。

3.7   中位值平均滤波算法

现进行如下实验:对传感器施加一恒定扭矩,当扭矩值稳定后,收集并保存ADC转化后的数据,共100 个样本点,将收集到的数据导入Excel表中,观察并分析样本点,如图5所示。

由图5可以看出,当给定一恒定扭矩后,由于各类干扰因素,波形图在个别点出现大幅度波动,导致最大值与实际偏差过大,对结果影响较大,所以需加入滤波算法,使数据点更加平滑[7]。

考虑到本系统采样数据的特点,采用中位值平均滤波算法来消除脉冲干扰,融合了中位值滤波、平均值滤波的优点。中位值平均滤波算法是通过连续采样 个数据,对数据从小到大排序,然后去掉最大值和最小值,对剩余的 个值计算算数平均值,也就是中位值滤波和算数平均滤波的结合。由图5的图像特点可知,波动过程中最大、最小值约每10 次出现一次,所以取,后期可以根据实际工况要求调整的取值,流程图如图6所示。

添加滤波算法后,重新采集数据,选取记录的100 个样本点与滤波前数据对比,如图7所示。

观察图7可知,添加中位值平均滤波算法后,可显著降低由外界影响因素导致的异常波动。

4   函数模型预测(Function model prediction)

4.1   多元回归分析

对采样的值进行滤波后,通过对比收集到的数字量的值与真实扭矩值的大小,发现二者之间的关系并不是简单的一元线性模型。为确保系统的精确性及稳定性,本次设计利用回归分析找到采集到的数字量与真实扭矩值之间的函数关系,考虑到扭矩值的大小为连续数值型变量,选用线性回归模型进行分析。

一般的多元回归模型可写为:

(10)

其中,为个体的第一个解释变量,为个体的第二个解释变量,以此类推。令恒为1,则上述方程简化为:

(11)

定义列向量与参数向量:

(12)

(13)

其中,列向量包含个体的全部解释变量,参数向量包含全部回归系数,所以模型可写为:

(14)

对所有个体都成立,若有n 个形如式(14)的方程,将这n 个方程叠放:

(15)

求解方程组,即可得到参数的估计值。在本系统中,因为所选传感器为应变片扭矩传感器,所以若将最终的扭矩值T作为结局变量,自变量分别是:通过ADC和滤波算法得到的数字量、环境温度、环境湿度。

4.2   模型结果分析

在不同的环境温度、湿度下进行实验,对传感器施加0—200 N·m的载荷。收集所得到的110 组数据,将前100 组作为训练集,预测函数模型;将后10 组数据作为测试集,计算Loss值大小。将数据导入SPSS软件中进行分析处理,得到所需模型。以标准化预测值(ZPRED)作为横轴、标准化残差(ZRESID)作为纵轴绘制直方图和正态概率图[8]。

(1)德宾-沃森(D-W)检验

为保证得到的结果稳定可靠,检验样本数据中的自相关性。从表2中可以看出其D-W统计量为2.053,其中a代表预测变量,所以这100 个样本之间是独立的。

(2)变量之间共线性检验

若参与本次模型计算的自变量之间存在极强的关联关系,会影响模型的准确性。由表3得出三个自变量的VIF(方差膨胀系数)值小于5,所以变量之间不存在多重共线性。

(3)残差正态性问题

以扭矩值为因变量绘制直方图如图8所示。

为了验证模型和数据是否匹配,分析残差图,如图9所示为其正态分布,所建立模型良好。

(4)模型结果

由上述分析可得,模型符合回归分析方法的假设,所得结果可靠。由表3可得,温度、湿度、数字量的显著性小于0.005,这三个因变量可显著影响扭矩值的大小,其中湿度的影响系数为0.001,正向影响扭矩值;温度的影响系数为0.007,正向影响扭矩值;数字量的影响系数为0.108,正向影响扭矩值。其回归方程为:

(16)

(5)模型Loss计算

将测试集所得数据带入回归方程中,收集数据至表4,通过与真实扭矩值对比,计算其均方误差。

(17)

(18)

5   上位机程序设计(PC programming)

上位机部分利用基于Qt的Python库完成,通过预先拟定的协议实现数据的接收、发送和保存。拟定的协议格式如表5所示。

协议首位为地址位(首次上电需向FLASH写入地址);协议第二部分为功能码,例如11对应数据发送,17对应数据停止发送;参数部分可以设置相关参数,如回归函数的系数及符号;协议以“FE EF”作为结束部分,接收到结束符后,代表协议发送完毕。串口接收到数据后,进入串口中断函数,进行相關处理。

该系统可自动检测扭矩采集的开始和结束,系统流程图如图10所示。

6   结论(Conclusion)

本文基于多元回归模型对串口采集到的数据进行回归分析,找到了影响应变片扭矩传感器的外界因素,利用DHT11模块对扭矩值进行一定的补偿,降低了外界环境对扭矩测量值的影响,提高了测量值的准确性。以STM32F103C8T6微控制器为核心,通过LoRa模块实现与上位机的通信,保证了采集的速度与精度。在系统小型化的前提下,为扭矩测量提供了较为准确、便捷的方案,降低了扭矩测量的成本。

参考文献(References)

[1] 赵永峰,王玉,赖富文,等.基于NFC的无源无线扭矩测量系统[J].传感技术学报,2021,34(07):989-994.

[2] 谢家祖,张翠萍,王胜立,等.基于FPGA与STM32的高速数据采集卡的设计与实现[J].电子元器件与信息技术,2020,4(10):

115-116.

[3] 郝张振,付成伟.基于STM32单片机的转速扭矩显示传输系统的设计[J].电子设计工程,2017,25(05):116-118.

[4] 丁鹏芳,伍川辉.单片机在扭矩测量中的应用[J].中国测试技术,

2005(02):56-57.

[5] 韩英,徐洋.基于STM32F103C8T6的气动隔膜泵测试系统设计[J].电子技术,2021,50(09):34-35.

[6] WANG X H, LI W G, WANG L L. Based on STM32F103 cowshed environment intelligent control system[J]. IOP

Conference Series: Materials Science and Engineering, 2020, 7(5):82-86.

[7] 夏兴宇,张正勇.基于STM32的超声波物位检测系统的设计[J].仪表技术,2021(01):35-39.

[8] 李娜卿.基于SPSS多元回归分析的城市地下水用水量预测[J].河北水利,2021(08):42-43.

作者简介:

吴少杰(1996-),男,硕士生.研究领域:嵌入式应用.

仲梁维(1962-),男,硕士,教授.研究领域:计算机辅助设计与智能制造.

猜你喜欢
多元回归滤波
一种新的InSAR干涉相位滤波方法
不同住房保障方式下住户居住满意度研究
江苏省实施税收优惠政策促进科技创新的实效性研究
我国大学生人生规划自主性的现状和影响因素
中国装备制造业阶段竞争力研究
上证综指收益率的影响因素分析
计量经济学研究
基于自适应Kalman滤波的改进PSO算法
RTS平滑滤波在事后姿态确定中的应用
基于线性正则变换的 LMS 自适应滤波