MATLAB在纱线张力传感器动态性能中的应用
Application of MATLAB in the Dynamic Performance of Yarn Tension Sensors
DOI: 10.12677/CSA.2023.131005, PDF, HTML, XML, 下载: 309  浏览: 431 
作者: 曹家志, 徐振峰:合肥学院先进制造工程学院,安徽 合肥;余效銮:浙江理工大学机械工程学院,浙江 杭州
关键词: 递推最小二乘法MATLAB纱线张力传感器动态特性Recursive Least Squares MATLAB Yarn Tension Sensor Dynamic Characteristics
摘要: 为了采集纱线张力传感器的电压信号,通过单片机和串口完成了对传感器数据的采集和传输,与此同时,通过编写程序提高了数据波形稳定输出。同时,基于递推最小二乘法(RLS)进行系统辨识的基本原理,给定纱线张力传感器实际输入输出数据,利用MATLAB编写递推最小二乘法程序,得到纱线张力传感器系统的阶跃响应曲线和幅频曲线,从而计算出纱线张力传感器的动态特性指标。
Abstract: In order to acquire the voltage signal of the yarn tension sensor, the acquisition and transmission of the sensor data is done through the microcontroller and serial port, and at the same time, the stable output of the data waveform is improved by writing a program. At the same time, based on the basic principle of recursive least squares (RLS) for system identification, a recursive least squares program is written using MATLAB to obtain the step response curve and amplitude frequency curve of the yarn tension sensor system, given the actual input and output data of the yarn tension sensor, so as to calculate the dynamic characteristic index of the yarn tension sensor.
文章引用:曹家志, 徐振峰, 余效銮. MATLAB在纱线张力传感器动态性能中的应用[J]. 计算机科学与应用, 2023, 13(1): 49-56. https://doi.org/10.12677/CSA.2023.131005

1. 引言

发展至今,人们对纱线张力传感器静态特性的研究比较全面和成熟,但对其动态特性研究较少。传感器静态性能与动态性能一般分开研究,研究动态性能时认为静态性能是理想的 [1],纱线张力传感器在使用时测量信号为动态信号,使用传感器静态特性计算时,不可避免地带来计算误差,影响测试精度,因此对传感器动态性能研究具有现实意义 [2]。其中,传感器的动态特性是指传感器对随着时间变化的输入量的响应特性,一般从时间域和频率域来表征传感器的动态特性。由于MATLAB具有强大的数据处理能力以及良好的编程环境,在数据分析、图像处理、信号处理和控制系统等领域广泛应用 [3],为了获得纱线张力传感器的动态特性,通过动态实验数据用系统辨识 [4] 的方法得到其动态模型,利用MATLAB进行编程和计算,从而求得传感器的动态性能指标。

2. 纱线张力传感器动态性能指标

参考文献 [5] [6],通过数学模型对传感器的动态性能进行分析,从时间域指标和频率域指标对纱线张力传感器动态特性进行了全面描述。

2.1. 时间域动态性能指标

纱线张力的时域动态特性用单位阶跃信号作为输入信号时输出的曲线来表示,如图1所示。上升时间和响应时间是表征传感器响应速度的参数,超调量是表征传感器稳定性能的参数。时间域动态性能指标通常定义:

1) 上升时间 t r :响应从稳定值的x%变化到y%所需时间。x一般取0或10,y一般取90或100。

2) 响应时间 t s :响应曲线从刚开始变化到稳定值范围内的时间。稳定值范围一般为稳定值的2%或5%。

3) 超调量 σ = y m y ( ) y ( ) × 100 % :响应曲线最大值与稳定值之差与稳定值的百分比。

2.2. 频率域动态性能指标

频率特性包括幅频特性和相频特性,传感器频率特性一般关注幅频特性。频率域动态性能指标一般为工作频带,即幅值误差为±2%或±5%时的工作频带,如图2 ω 1 ω 2

Figure 1. Dynamic response at step input

图1. 阶跃输入时的动态响应

Figure 2. Amplitude and frequency characteristic curve of the sensor

图2. 传感器幅频特性曲线

3. MATLAB在传感器动态性能中的应用

3.1. 递推最小二乘算法(RLS)

最小二乘法是应用最广泛的系统辨识方法,但存在一些缺点,比如:预先选取的观测值越多,系统参数估计的精度越高,但矩阵求逆的计算量也越大,需要的储存空间也会越大 [7]。而递推最小二乘法计算量小,可用于在线辨识。其中心思想可概括为:新的参数估计值等于旧的参数估计值加上修正值,即使辨识对象随着时间发生变化,模型也能不断地更新和修正辨识参数 [8],每获得一次新的观测数据就修正一次参数估计值,直至获得满意的辨识结果。参考文献 [9],递推最小二乘法可表示为:

{ θ ^ ( k ) = θ ^ ( k 1 ) + K ( k ) [ z ( k ) h T ( k ) θ ^ ( k 1 ) ] K ( k ) = P ( k 1 ) h ( k ) [ h T ( k ) P ( K 1 ) h ( k ) + 1 ] 1 P ( k ) = [ I K ( k ) h T ( k ) ] P ( k 1 )

辨识是从一组模型中选择某个模型,按照一定准则,使其能最好的拟合实际过程中的静态特性或动态特性。系统辨识的基础是模型结构,所以需要选择出与系统输入输出特性最等价的数学结构模型。参考文献 [10] 可知纱线张力传感器是线性模型,由于二阶模型基本上可以反映高阶系统的特性,可以把纱线张力传感器系统看做一个二阶系统。确定模型类后可以根据系统的输入输出数据,按照递推最小二乘法的辨识算法确定结构参数。

3.2. 纱线张力传感器数据采集

由于纱线张力较小,纱线张力传感器采集纱线张力首先需经过放大模块放大一定倍数,其次通过单片机进行AD转换,最终由串口传输至上位机。数据采集流程图如图3所示。

Figure 3. Flow chart of data acquisition

图3. 数据采集流程图

ADC对输入信号的分辨能力取决于其分辨率,纱线张力传感器输出的最大电压为3.3 V。部分采集程序为:

void Iint()

{

num = 0;//局部变量

ADC_ConvertValue = 0;//变量

AD_Op = 0;//启动ADC采集

HAL_Delay();//延时

AD_Op = 1;

while(1)

{

sprintf((ADC_ConvertValue[0]*3.3)/4095,(ADC_ConvertValue[1]*3.3)/4095,theta);//转换完成

HAL_Delay(时间a);//延时,a为任意整数,可根据实际情况调整

}

ADC_Re = 0;//读取ADC转换结果

num =((ADC_ConvertValue[0]*3.3)/4095)*b;//转换结果放大b倍后赋值给num

HAL_UART_Transmit(&huart1,(uint8_t*)str,strlen(str),HAL_MAX_DELAY);//串口发送AD转换数据

}

采集过程中发现,上位机上实时采集曲线波动过大,通过调节采样频率等操作发现可能存在的原因是,采样频率远大于传感器信号输出频率,为此采集一定时间内的数据后取平均数,发现上位机监测波形较为稳定。部分程序如下:

last20press[i] = ADC_ConvertValue[0];

if(i=1)

{

i = 0;

}

if(采样时间=c)//c为整数

{

time = 0;

buttter = 0;

for(unit8_t j=0;j

{

butter+=last20press[j];

}

press=butter/d;//除一定数值,d为任何整数,可根据上位机波形进行调节

}

3.3. 基于MATLAB递推最小二乘法系统辨识

系统辨识包括两个方面:结构辨识和参数估计。图4为递推最小二乘法流程图,图5为纱线张力传感器受到激励后的输出响应,将激励信号和输出信号分别作为输入数据和输出数据,可作为观测数据 [11]。

Figure 4. Recursive least squares flow chart

图4. 递推最小二乘法流程图

Figure 5. Step response diagram of yarn tension sensor

图5. 纱线张力传感器阶跃响应图

其程序如下:

load(‘实验数据.mat’);//加载动态实验数据

a[1 1 1]’;b=[1 1]’;d=1;%a>=b

na=length(a)-1;nb=length(b)-1;//na、nb为A、B阶次

L=length(x);//定义观测测量长度

uk=zeros(d+nb);//输入初值:uk(i)表示u(k-i)

yk=zeros(na,1);//输出初值

u=randn(L,1);//输入白噪声序列

u=y3;//读取加速度传感器输出

xi=sqrt(0.1)*randn(L,1);//白噪声序列

theta=[a(2:na+1);b];//辨识参数

thetae_1=zeros(na+nb+1,1);//辨识参数theta赋初值

P=s*eye(na+nb+1);//s一般取10^6-10^10

phi=[-yk;uk(d:d+nb)];//此处phi为列向量

y(k)=y2(k);//读取电桥输出数据

K=P*phi/(1+phi’*P*phi);

thetae(:,k)=thetae_1+K*(y(k)-phi’*thetae_1);

P=(eye(na+nb+1)-K*phi’)*P;//更新参数估值

thetae_1=thetae(:,k);

for i=d+nb:-1:2

uk(i)= uk(i-1);

end

uk(1)=y3(k);

for i=na:-1:2

yk(i)=yk(i-1)

end

yk(1)=y2(k);

3.4. 分析结果

将纱线张力传感器的输入输出数据导入MATLAB中进行分析后可得传感器的传递函数为

G ( s ) = 0.9797 s + 6304 s 2 + 6293 s + 5.239 e 07 。MATLAB计算可得出其阶跃响应曲线和幅频特性曲线,分别如图6图7

由此可以求出纱线张力传感器的动态特性指标。

时间域动态性能指标:超调量 σ 42.5 % ,峰值时间 t m 0.309 ms ,上升时间 t r 0.122 ms ,响应时间为 t s 1.39 ms ;频率域动态性能指标:幅值误差±5%时的工作频率为 ω 1 808 Hz ,幅值误差 ± 2%时的工作频率为 ω 2 470 Hz

由结果分析可知,从时间域性能指标中的峰值时间和响应时间可以看出纱线张力传感器响应快,能够快速反应张力值的大小;振荡周期且次数少,表征纱线张力传感器的波动小。从频率域性能指标可以看出纱线张力传感器谐振频率大小,能够提前了解纱线张力传感器的谐振频率,在实际工况中应避免纱线张力传感器与外界环境产生共振,保证纱线张力传感器的稳定性。通过动态性能指标可以反映出传感器在动态测试时的性能,能够更加精确的测量纱线张力,同时此方法对应变式传感器均有效,具有普适性。

Figure 6. Yarn tension sensor step curve

图6. 纱线张力传感器阶跃曲线

Figure 7. Amplitude-frequency characteristic curve of yarn tension sensor

图7. 纱线张力传感器幅频特性曲线

4. 总结

本文针对纱线张力传感器对张力的采集进行了编程,依据纱线张力小的特性在程序中对其电压信号进行了倍数放大,并且依据上位机显示波形波动大的问题,通过编写程序对一定时间内的电压数据取平均值可有效减小波动幅度。同时,基于递推最小二乘法对纱线张力传感器系统对象进行了动态特性辨识分析,并借助了MATLAB这个计算能力强大的辨识工具,可以便捷准确的实现算法计算,使得参数辨识和参数估计的过程变得轻便易行。此方法可以快捷有效的得到纱线张力传感器的阶跃曲线和幅频曲线,进而得到纱线张力传感器的动态性能指标。通过动态性能指标可以反映出传感器在动态测试时的性能,能够更加精确的测量纱线张力,同时此方法对应变式传感器均有效,具有普适性。

参考文献

[1] 金冉, 吕翔, 陈伟, 王伟伟. 应变传感器动态特性激光绝对法冲击校准装置[J]. 宇航计测技术, 2021, 41(3): 38-42.
[2] 孙壮虎, 赵铁军. 泵轴轴向力与径向力测力传感器动态特性研究[J]. 现代工业经济和信息化, 2022, 12(8): 63-66.
https://doi.org/10.16525/j.cnki.14-1362/n.2022.08.024
[3] 张志涌, 杨祖樱. MATLAB教程[M]. 北京: 北京航空航天大学出版社, 2015.
[4] 李娜, 任一峰, 赵敏. 基于Matlab系统辨识的参数辨识与仿真[J]. 电子世界, 2014(3): 199+201.
[5] 叶湘滨, 张文娜. 压力传感器动态性能分析及改进[J] .传感器技术, 2002(2): 11-14.
https://doi.org/10.13873/j.1000-97872002.02.004
[6] 陈玉, 李刚. 压力传感器动态特性研究[J]. 煤矿机电, 2008(5): 28-30.
https://doi.org/10.16545/j.cnki.cmet.2008.05.048
[7] 董策勇. 基于改进RLS算法的锂电池模型参数识别与SOC估计[J]. 兰州文理学院学报(自然科学版), 2022, 36(4): 31-35.
https://doi.org/10.13804/j.cnki.2095-6991.2022.04.007
[8] 关晓慧, 吕跃刚. 递推最小二乘参数辨识与仿真实例[J]. 微型机与应用, 2011, 30(20): 91-92+95+98.
https://doi.org/10.19358/j.issn.1674-7720.2011.20.033
[9] 方崇智, 萧德云. 过程辨识[M]. 北京: 清华大学出版社, 1988.
[10] 张伟, 张跃, 张智敏, 胡刚, 孟峰. 应变式力传感器动态测量系统的研究[J]. 船舶工程, 2012, 34(S1): 67-69.
https://doi.org/10.13788/j.cnki.cbgc.2012.s1.006
[11] 朱日兴, 朱兆优, 李建锋. SF与RLS算法结合的时变系统参数辨识[J]. 计算机仿真, 2022, 39(3): 335-339.