融合云端和边缘端的伺服电机参数辨识方法、系统
1.技术领域
2.本技术涉及电器控制,特别是涉及融合云端和边缘端的伺服电机参数辨识方法、系统。
3.
背景技术:
4.永磁同步电机通过矢量控制能够实现精确的转速控制和良好的转矩响应,然而矢量控制对电机参数的变化敏感。在电机的实际运行过程中,由于温度变化、外部干扰等因素的影响,电机的电阻、电感和磁链等电机参数往往会实时发生变化。这些参数的改变会影响到电机控制系统的性能,进而影响电机的运行状态。
5.对永磁同步电机的参数辨识是一个非常复杂的过程,通常需要辨识的参数有定子电阻r、d-q 轴电感ld和lq、永磁体磁链φf等。在电机系统运行时会受到许多外部客观因素的影响,这些电机的参数会随着电机的运行而改变。其中,最主要的外部因素就是电机运行时的升温问题,由温升导致的首先就是定子电阻的增大。同时温度的升高也会影响到永磁体磁链,间接会引起电感的变化。要保持电机的控制性能,则需要实时辨识电机参数并根据电机参数的变化对控制策略进行调整。
6.学术上对电机参数的辨识主要分为离线和在线两大类。离线辨识主要是通过实验测量来得到电机的电气参数,例如:可以直接利用电压等于电流和电阻乘积的原理,通过直流电压测得电机的电阻;对电感的测量则需要对定子加入高频电压,通过电流对信号的响应值获取电感参数。与离线辨识方法相比,在线辨识针对的是电机运行过程中的参数变化,具有很好的动态意义。只有对运行过程中的电机参数进行辨识,得到的数据才能更好地向控制器反馈电机的真实情况,便于对电机更精确的控制。目前在线辨识电机参数的主要方法有最小二乘法、扩展卡尔曼滤波器、模型参考自适应和智能算法等。
7.现有的电机参数辨识算法要么精度不高,要么实时性不强,进而影响到电机的控制性能。
8.
技术实现要素:
9.基于此,有必要针对上述技术问题,提供一种融合云端和边缘端的伺服电机参数辨识方法。
10.融合云端和边缘端的伺服电机参数辨识方法,包括以下步骤:采集伺服电机参数;将伺服电机参数传送至云端辨识引擎和边缘端辨识引擎;云端辨识引擎对伺服电机参数进行处理和辨识分析,获得电机内阻rs,并将辨识结果通过网络发送至边缘端辨识引擎;
边缘端辨识引擎对云端辨识结果与伺服电机参数进行辨识分析,获得电机d-q轴电感以及磁链的辨识结果。
11.伺服电机的参数包括电机d-q轴反馈电流id、iq,电机d-q轴输入电压ud、uq,电机角速度ω,电机d-q轴电感lq、ld,电机内阻rs,磁链φ
f
等。在这些参数中,id、iq、ud、uq和ω是可以通过传感器实时测量算出,而lq、ld、rs、φ
f
,则为需要辨识的参数。根据式(1)可见,两个方程存在欠秩问题,为此,本发明基于云端的算力,将复杂多变的rs放到云端辨识,进而简化电感和磁链的辨识。
12.在一个实施例中,云端辨识引擎中的神经网络辨识算法为:rs=fk(.)*w2 f
k-1
(.)*w1其中,w1和w2是对应输出函数的权重,且w1 w2=1。
13.fk(.)表示k时刻的网络输出值,定义如下:fk(.)=iq*w1 id*w2 uq*w3 ud*w4 t*w5 w*w6其中,wi(i=1,2,
…
,6)表示输入量的权重,且w1 w2 w3 w4 w5 w6=1,w是电机转速, iq、id是d-q轴电流,uq、ud是d-q轴输入电压,t是电机温度。
14.采集的电机参数数据包含很多噪声,因此上传到云端辨识引擎中,先进行数据处理,对数据进行清洗去噪,才能获得准确的辨识结果。电机温度变化缓慢,且在电机运行稳定后,温度波动不大;电机的电流受温度和电压影响大,变化频繁且复杂,有较多的噪声,因此本发明主要对电机温度和电流进行数据处理。
15.对于电机温度t优选采用低通滤波器进行处理,具体如下:其中,h(s)是拉氏变换传递函数,s是复频域,wc是截止频率,fc是频率。
16.电机的电流i
q/d
的数据处理,则采用以下方程(2)-(6)进行滤波:建立电机的q/d轴解耦模型:其中,,,d(t)是过程噪声,v(t)是测量噪声,z(t)是状态观测量,h是状态转移系数; (2)其中,是q/d轴电流的预测值, 是电流的最优估计值, 是q/d轴电压的输入值;且: (3)其中,kk为增益系数,定义如下: (4)其中,h
t
是h的矩阵转置,r是测量噪声v(t)的协方差;
ꢀ
是真实值与预测值之间的协方差,定义如下:其中, 是先验状态误差,定义为:;表示第i个先验状态误差样本;此外,定义真实值与最优估计值之间的协方差pk:其中,ek是后验状态误差,定义为:;表示第i个后验状态误差样本;此外,定义真实值与最优估计值之间的协方差pk:则得更新律如下: (5) (6)其中,i是单位矩阵,q是过程噪声d(t)的协方差。
17.本发明另一个目的是提供融合云端和边缘端的伺服电机参数辨识系统,包括:伺服电机参数采集单元,用于采集伺服电机参数数据;发送单元,用于将接收伺服电机参数数据并发送至云端辨识引擎和边缘端辨识引擎,以便云端辨识引擎和边缘端辨识引擎分布对伺服电机参数进行辨识;云端辨识引擎,用于对伺服电机参数数据进行识别,并将识别结果发送至边缘端辨识引擎;边缘端辨识引擎,用于对采集伺服电机参数数据以及云端辨识结果进行辨识分析,获得目标参数结果。
18.在本发明中,云端辨识引擎包括数据处理模块、神经网络识别模块和输出模块;其中,数据处理模块,用于对采集的伺服电机参数数据进行处理降噪;神经网络识别模块,用于对采集的伺服电机参数数据进行辨识,获得rs;输出模块,用于将辨识结果输送至边缘端辨识引擎。
19.本发明的一个实施例中,数据处理模块根据以下低通滤波器处理电机温度t:其中,h(s)是拉氏变换传递函数,s是复频域,wc是截止频率,fc是频率。
20.数据处理模块根据上文中的方程(2)-(6)对电机电流进行降噪。
21.神经网络识别模块中则基于以下神经网络辨识算法识别电机电阻rs:rs=fk(.)*w2 f
k-1
(.)*w1其中,w1和w2是对应输出函数的权重,且w1 w2=1。
22.fk(.)表示k时刻的网络输出值,定义如下:fk(.)=iq*w1 id*w2 uq*w3 ud*w4 t*w5 w*w6其中,wi(i=1,2,
…
,6)表示输入量的权重,且w1 w2 w3 w4 w5 w6=1,w是电机
转速, iq、id是d-q轴电流,uq、ud是d-q轴输入电压,t是电机温度。
23.在本发明的一个实施例中,边缘端辨识引擎基于以下方程对参数lq、ld、φ
f
进行辨识:则可以根据以下两式辨识出参数a和b:则可以根据以下两式辨识出参数a和b:其中,yi和xi的维数是m*n维, , ,,,iq、id是d-q轴电流,uq、ud是d-q轴输入电压,t是电机温度,rs是电机电阻,ω是电机角速度,lq、ld是d-q轴电感,φ
f
是磁链。
24.本发明提供的融合云端和边缘端的伺服电机参数辨识方法、系统,基于云端的算力对复杂多变的参数rs进行识别,再结合该辨识结果以及其他实时采集的参数数据在边缘端辨识引擎进行辨识,获得电感和磁链。本发明通过云端强大的算力和边缘端的实时处理能力,保证参数辨识精度的同时也能满足实时性要求,为电机的实时精密控制提供动态精确模型。
25.本发明中在进行神经网络辨识前对伺服电机参数数据进行降噪处理,通过对数据进行滤波处理来去除噪声,提高了辨识的精度和准确度。
26.本发明提供的对电机温度t以及电流数据处理的数学模型能够提高降噪效果,进一步地提高了辨识的精度和准确度。
27.本发明提供的神经网络辨识模型,辨识精度非常高,如实施例中表1显示的辨识结果rs为2.874934831393645,而实测的真实值为2.875。
附图说明
28.图1为永磁同步电机模型与等效电路。
29.图2为本发明的电机参数辨识系统示意图。
30.图3为本发明的云端辨识电阻rs流程图。
31.图4为本发明的神经网络辨识电阻rs算法框图。
32.图5为本发明的辨识结果图。
具体实施方式
33.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
34.如图1的永磁同步电机模型与等效电路显示,伺服电机可以用式(1)的机理方程描述。
35.式(1)显示:id、iq是电机d-q轴反馈电流,可以通过电流传感器测量算出;ud、uq是电机d-q轴输入电压;ω是电机角速度,可以通过传感器测量算出。而lq、ld为电机d-q轴电感,是需要辨识的参数,本发明聚焦辨识lq=ld的电机;rs为电机内阻,是需要辨识的参数;磁链φ
f
是需要辨识的参数。
36.根据上述分析,rs、lq/ld、φ
f
是需要辨识的3个参数,但式(1)只有两个方程,存在欠秩的问题。
37.为了解决欠秩的问题,需要在云端先辨识一个参数。云端具有强大的计算能力,可以辨识复杂多变的参数,而电阻rs受温度的影响较大,而且跟电流和电压有关,用云端辨识,然后把辨识结果发送到边缘端,则可以用两个方程辨识剩下的两个参数。
38.如图2所示,将传感器采集的参数数据分别传送至云端辨识引擎和边缘端辨识引擎。云端辨识引擎进行云端辨识参数,将获得的辨识结果输出至边缘端辨识引擎。边缘端辨识引擎则结合采集的参数数据和云端辨识参数结果进行辨识参数。
39.具体地,本实施例包括以下步骤:1.采集各传感器收集的电机相关参数数据,包括电机温度t,d-q轴反馈电流id、iq,d-q轴输入电压ud、uq,电机角速度ω。
40.2.将采集的参数数据分别发送云端辨识引擎和边缘端辨识引擎。
41.3.云端辨识引擎进行辨识参数,获得辨识结果所得的参数,即电机内阻rs,将该辨识结果发送至边缘端辨识引擎。
42.3.1数据处理由于采集的参数数据包含很多噪声,如电流,因此上传到云端辨识引擎中,先进行数据处理,对数据进行清洗去噪声。由于电机温度变化缓慢,且在电机运行稳定后,温度波动不大;电机的电流变化比较频繁,而且有较多的噪声,因此在进行神经网络辨识之前对数据进行降噪。数字滤波器可根据信号的频率特性削弱或去除噪声,能够有效地降低数字噪声。根据电机的温度和电流数据特性,在本实施例中优选分别采用以下方法进行数据处理。d-q轴输入电压ud、uq和电机角速度ω为理论值则无需去噪。
43.a.电机温度t的数据处理对温度信号采取如下的低通滤波器进行处理:其中, h(s)是拉氏变换传递函数,s表示复频域,wc是截止频率,fc是频率。
44.b.电机的电流i
q/d
的数据处理以q-轴电流为例采用以下的滤波方法进行,此方法同样适用于d-轴电流:首先,建立电机的q-轴解耦模型:
其中, , ,d(t)为过程噪声,v(t)是测量噪声,z(t)是状态观测量,h是状态转移系数。
45.然后,令 (2)其中,是q轴电流的预测值,是电流的最优估计值, 是q轴电压的输入值。
46.且: (3)其中,kk为增益系数,定义如下: (4)其中,h
t
是h的矩阵转置,r是测量噪声v(t)的协方差。
47.是真实值与预测值之间的协方差,定义如下:其中,是先验状态误差,定义为:;表示第i个先验状态误差样本。
48.此外,定义真实值与最优估计值之间的协方差pk:其中,ek是后验状态误差,定义为:;表示第i个后验状态误差样本。
49.此外,定义真实值与最优估计值之间的协方差pk,则可得更新律如下:(5)(6)其中i是单位矩阵,q是过程噪声d(t)的协方差。
50.利用上述数学方程,即可完成对电机电流数据的降噪,有利于在神经网络辨识中获得准确的结果。
51.3.2神经网络辨识数据处理完成后,即可进行神经网络辨识。本实施例优选采用图4所示的神经网络辨识模型。所述神经网络辨识模型具体如下:rs=fk(.)*w2 f
k-1
(.)*w1其中,w1和w2是对应输出函数的权重,且w1 w2=1。
52.fk(.)表示k时刻的网络输出值,定义如下:fk(.)=iq*w1 id*w2 uq*w3 ud*w4 t*w5 w*w6其中,wi(i=1,2,
…
,6)表示输入量的权重,且w1 w2 w3 w4 w5 w6=1,w是电机转速, iq、id是d-q轴电流,uq、ud是d-q轴输入电压,t是电机温度。
53.利用上述公式可建立电机电阻的辨识网络结构,实现对电机电阻的独立辨识。
54.4.边缘端辨识引擎进行辨识参数lq=ld、φ
f
根据上述云端辨识所获得的辨识结果,即电机内阻rs,通过网络发送到边缘端辨识引擎进行辨识,即将电机内阻rs代入方程(1)进行辨识,那么两个方程只有两个参数电感和磁链,则可以采用以下方法辨识:根据式(1)可知道,当电流稳定时有:di
q/d
/dt=0,则经过简单运算可把式(1)变成:其中, ,,,,iq、id是d-q轴电流,uq、ud是d-q轴输入电压,t是电机温度,rs是电机电阻,ω是电机角速度,lq、ld是d-q轴电感,φ
f
是磁链。
55.则可以根据以下两式辨识出参数a和b:则可以根据以下两式辨识出参数a和b:其中yi和xi的维数是m*n维。
56.由于rs由云端辨识出,ω是电机角速度,可以由传感器测量出,则根据上述两式即可计算出两个参数电感lq和ld以及磁链为φ
f
。
57.图5和表1为采用本实施例所述的方法所得的辨识结果,图5和表1中结果显示,辨识结果与真实值非常接近,说明本发明的辨识精度非常高。
58.表1:辨识结果相应地,本发明实施例还提供一种融合云端和边缘端的伺服电机参数辨识系统。如图2所示,该系统包括:伺服电机参数采集单元,用于采集伺服电机参数数据,如电机温度t,d-q轴反馈电流id、iq,d-q轴输入电压ud、uq,电机角速度ω。该采集单元为设置在电机不同部位的传感器,如电流传感器、电压传感器、温度传感器等。
59.发送单元,用于将接收伺服电机参数数据发送至云端辨识引擎和边缘端辨识引擎,以便云端辨识引擎和边缘端辨识引擎分布对伺服电机参数进行辨识。
60.云端辨识引擎,用于对伺服电机参数数据进行识别,并将识别结果发送至边缘端辨识引擎。
61.边缘端辨识引擎,用于对采集伺服电机参数数据以及云端辨识结果进行辨识分析,获得目标参数结果。
62.在本发明中,云端辨识引擎包括数据处理模块、神经网络识别模块和输出模块;其
中,数据处理模块,用于对采集的伺服电机参数数据进行处理降噪。数据处理模块根据以下低通滤波器处理电机温度t:其中,h(s)是拉氏变换传递函数,s表示复频域,wc是截止频率,fc是频率。
63.数据处理模块根据上文中的方程(2)-(6)对电机电流进行降噪。
64.神经网络识别模块,用于对采集的伺服电机参数数据进行辨识,获得rs。神经网络识别模块中则基于以下神经网络辨识算法识别电机电阻rs:rs=fk(.)*w2 f
k-1
(.)*w1其中,w1和w2是对应输出函数的权重,且w1 w2=1。
65.fk(.)表示k时刻的网络输出值,定义如下:fk(.)=iq*w1 id*w2 uq*w3 ud*w4 t*w5 w*w6其中,wi(i=1,2,
…
,6)表示输入量的权重,且w1 w2 w3 w4 w5 w6=1,w表示电机转速。
66.memory即存储器,用于存放上一个时间的值。
67.输出模块,用于将辨识结果通过网络输送至边缘端辨识引擎。