一种基于神经网络自适应控制的永磁同步电机控制系统pid参数自整定的方法与流程
未命名
07-23
阅读:153
评论:0
1.本发明属于永磁同步电机控制领域,具体涉及一种基于神经网络自适应控制的永磁同步电机控制系统pid参数自整定的方法。
背景技术:
2.随着电力电子技术、计算机技术和自动控制技术的发展,交流电机调速技术也得到了极大的发展,交流电机的性能表现出了强大的优越性。在交流调速系统中,同步电机调速相比于异步电机调速,具有功率因数高、变频器容量小且转动惯量小的优点,在大功率交流传动系统中,同步电机调速系统的优势明显。随着永磁材料的发展与应用,永磁同步电机(permanent magnet synchronous motor,pmsm)以其功率密度高、转矩惯量比大和动态响应速度快的特点受到越来越多的关注。
3.传统永磁同步电机转速环与电流环的控制器为pi控制器,但是pi控制器的参数设置只能应用于某一特定的工作范围,当电机工作状态发生变化时pi控制器的控制效果变差,无法提供较佳的性能,而神经网络可以通过学习规则进行调整从而使系统特性得到优化。
技术实现要素:
4.为了克服传统永磁同步电机pi控制器只能应用于某一特定的工作范围,当电机工作状态发生变化时pi控制器的控制效果变差,无法提供较佳的性能的问题,本发明提供了一种基于神经网络自适应控制的永磁同步电机控制系统pid参数自整定的方法。
5.本发明的技术方案如下:
6.本发明首先提供了一种基于神经网络自适应控制的永磁同步电机控制系统pid参数自整定的方法,其包括如下步骤:
7.1)设计转速环的自适应控制器的神经网络结构,根据电机控制系统结构确定神经网络输入层输出、根据输入层输出和隐藏层激活函数确定神经网络隐藏层输出、根据神经网络隐藏层输出和激活函数确定神经网络输出层输出;
8.2)从电机传感器获得电机转速和转子位置信息,以电机参考转速、电机实际转速和两者的转速差作为转速环神经网络自适应控制器的输入,利用梯度下降算法在线调整神经网络自适应控制器的神经网络权值;神经网络输出层输出的值即为转速环pid的增益环节参数k
p
、积分环节参数ki、微分环节参数kd,然后利用增量式pid算法得到神经网络自适应控制器的输出:
9.u(k)=u(k-1)+k
p
(e(k)-e(k-1))+kie(k)+kd(e(k)-2e(k-1)+e(k-2))
10.其中,k表示离散的时间量,控制器输出u(k)即为q轴参考电流i
q*
,
11.3)将q轴参考电流和实际q轴电流值输入进电流环前馈pi控制器里,从而得到q轴和d轴参考电压;根据q轴和d轴参考电压和转子位置信息通过坐标变换,通过svpwm调制的
方式调整永磁同步电机控制系统的逆变桥的开关从而控制电机转速,实现电机转速的反馈控制。
12.作为本发明的优选方案,所述的步骤1)中的设计转速环的自适应控制器的神经网络结构,具体为:
13.选择三层神经网络,包括一个输入层,一个隐藏层和一个输出层,输入节点对应电机控制系统运行的电机参考转速、电机实际转速和转速差;输出节点对应于转速环pid的三个参数kp、ki、kd;输入层节点数j为3,输出层节点数i为3,隐藏层节点数为
14.作为本发明的优选方案,所述的步骤1)中的根据电机控制系统结构确定输入层输出,具体为:
15.对于电机控制系统,选择神经网络的输入层的输出为:
[0016][0017]
其中x(j)代表神经网络的输入量,即电机参考转速、电机实际转速和转速差,j代表神经元节点;角标(1)代表神经网络第一层。
[0018]
作为本发明的优选方案,所述的步骤1)中的根据输入层输出和隐藏层激活函数确定隐藏层输出,具体为:
[0019]
由输入层输出得到隐藏层输入为:
[0020][0021]
其中ω
ij
代表相应神经元之间的连接权重;oj为输入层的输出;角标(2)代表隐藏层;
[0022]
隐藏层的输出为:
[0023][0024]
其中,g(x)代表隐藏层的激活函数,
[0025]
作为本发明的优选方案,所述的步骤1)中的根据隐藏层输出和激活函数确定输出层输出,具体为:
[0026]
输出层输入为:
[0027][0028]
输出层的输出为:
[0029][0030]
其中ω
li
代表隐藏层和输出层相应神经元之间的连接权重;oi为隐藏层的输出;角标(3)代表输出层;f(x)代表隐藏层的活化函数,由于输出层输出对应于pid参数k
p
、ki、kd,故f(x)为非负活化函数,f(x)=relu(x)=max(0,x);
[0031][0032]
作为本发明的优选方案,所述的步骤2)中的在线调整神经网络自适应控制器的神经网络权值,具体为:
[0033]
取性能指标函数为:
[0034][0035]
其中r(k)代表参考转速,y(k)代表实际转速;
[0036]
利用梯度下降算法修正神经网络的连接权值函数,并附加一个惯性项使搜索可以快速收敛到全局极小,于是得到:
[0037][0038]
其中,η为学习率,α为惯性系数,为隐藏层到输出层连接权值的变化量,求解表达式第一项:
[0039][0040]
实际电机控制pid算法采用离散的增量式算法,对于增量式算法,
[0041][0042]
于是可得:
[0043][0044]
于是根据之前各层的输入输出函数可以得到:
[0045][0046]
令则上式可写为:
[0047]
[0048]
同理可得隐藏层权值计算公式为:
[0049][0050]
其中
[0051]
于是权值可以根据采集到的数据进行更新。
[0052]
作为本发明的优选方案,所述的步骤2)中,对学习率η进行更新,具体为:
[0053]
学习率η(k)=σ*η(k-1)
[0054]
其中变化因子σ=2
λ
,λ=sign(g(k)*g(k-1));
[0055]
其中λ反映了梯度方向;故对于输出层和隐藏层的学习率梯度方向分别为:
[0056][0057][0058]
根据上述对学习率进行更新。
[0059]
与现有技术相比,本发明的优点在于:本发明以神经网络自适应控制器取代了传统pid控制器减小,提高了系统控制精度;同时利用梯度下降算法来在线调整神经网络权值实现自适应功能,提高控制系统的自适应能力。
附图说明
[0060]
图1是本发明系统流程图;
[0061]
图2是本发明系统示意图;
[0062]
图3是本发明设计的神经网络示意图;
[0063]
图4是本发明神经网络算法的主体循环过程;
[0064]
图5是空载时本发明与传统pid算法速度曲线图;
[0065]
图6是直接负载时本发明与传统pid算法速度曲线图;
[0066]
图7是变载时本发明与传统pid算法速度曲线图。
具体实施方式
[0067]
下面结合具体实施方式对本发明做进一步阐述和说明。所述实施例仅是本公开内容的示范且不圈定限制范围。本发明中各个实施方式的技术特征在没有相互冲突的前提下,均可进行相应组合。
[0068]
参照图2,永磁同步电机控制的整体流程主要包括以下:
[0069]
①
采集电机的运行状态包括转子旋转角速度ωr、位置θr等信息,位置信息作为坐标变换的依据,转速信息将角速度ωr转化每分钟转速n送入转速环;
[0070]
②
根据当前的转速信息n与期待得到的参考转速n
ref
作差送入pi控制器可以使实际转速跟踪参考转速,也就是常说的转速环;
[0071]
③
转速环pi调节器输出量可以作为下一环节中q轴电流的参考值i
qref
,进而与实际q轴电流值iq进行比较从而送入pi调节器实现跟踪,再结合d轴进行pi调节,从而得到q轴和d轴参考电压v
q*
和v
d*
,这就是电流环;
[0072]
④
根据q轴和d轴参考电压和转子位置可以通过坐标变换得到v
α*
和v
β*
,然后通过
svpwm调制的方式调整逆变桥的开关从而控制电机转速;由此实现了电机转速的反馈控制。
[0073]
本发明主要针对传统永磁同步电机pi控制器只能应用于某一特定的工作范围,以及当电机工作状态发生变化时pi控制器的控制效果变差的问题。本发明的流程图如图1所示,包括如下步骤:
[0074]
1)设计转速环的自适应控制器的神经网络结构,根据电机控制系统结构确定神经网络输入层输出、根据输入层输出和隐藏层激活函数确定神经网络隐藏层输出、根据神经网络隐藏层输出和激活函数确定神经网络输出层输出;
[0075]
2)从电机传感器获得电机转速和转子位置信息,以电机参考转速、电机实际转速和两者的转速差作为转速环神经网络自适应控制器的输入,利用梯度下降算法在线调整神经网络自适应控制器的神经网络权值;神经网络输出层输出的值即为转速环pid的增益环节参数k
p
、积分环节参数ki、微分环节参数kd,然后利用增量式pid算法得到神经网络自适应控制器的输出:
[0076]
u(k)=u(k-1)+k
p
(e(k)-e(k-1))+kie(k)+kd(e(k)-2e(k-1)+e(k-2))
[0077]
其中,k表示离散的时间量,控制器输出u(k)即为q轴参考电流i
qref
,
[0078]
3)将q轴参考电流和实际q轴电流值输入进电流环前馈pi控制器里,从而得到q轴和d轴参考电压;根据q轴和d轴参考电压和转子位置信息通过坐标变换,通过svpwm调制的方式调整永磁同步电机控制系统的逆变桥的开关从而控制电机转速,实现电机转速的反馈控制。
[0079]
本发明通过建立永磁同步电机数学模型,确定神经网络自适应控制器的输入输出物理量。首先写出三相永磁同步电机的运动方程:
[0080][0081]
其中j为转动惯量,b为阻尼系数,te为电磁转矩,t
l
为负载转矩,ωm为电机的机械角速度;pn为电机极对数,id、iq分别表示d、q轴的电流分量,ld、lq分别表示为d、q轴的电感,ψf为永磁体磁链;
[0082]
在转子磁场定向同步速旋转的dq坐标系写电流方程如下:
[0083][0084]
其中ud、uq分别表示d、q轴的电压分量;ωe是电机的电角速度;
[0085]
从上式中可以看出,定子电流id、iq分别在d轴、q轴方向上产生交叉耦合电动势,若定子电流id、iq完全解耦,那么上式会变为:
[0086]
[0087]ud*
、u
q*
分别表示电流解耦后的d、q轴的电压分量;采用常规pi调节器时可以得到d、q轴的电压为:
[0088][0089]
其中v
d*
和v
q*
是经过pi调节后的参考电压。所以对于电流环来说可以将电流误差作为神经网络自适应控制器的输入,d、q电压作为控制器输出;对于转速环可以把转速误差作为神经网络自适应控制器的输入,q轴电流作为控制器输出。本发明提供的主要为针对转速环的神经网络自适应控制器。对于电流环,可以参照本发明方法设计神经网络自适应控制器,也可以采用现有的传统的自适应控制器。
[0090]
如图4所示,本发明主要是设计一种转速环神经网络自适应控制器,并对神经网络进行学习,在线调整网络参数,实现pid控制参数自适应调整,神经网络自适应控制器的设计和参数调整具体包括如下步骤:
[0091]
步骤1:确定神经网络结构。
[0092]
如图3所示,选择三层神经网络,一个输入层,一个隐藏层和一个输出层,输入节点对应电机控制系统运行的状态量——电机参考转速、电机实际转速和转速差;输出节点对应于pid控制器的三个参数kp、ki、kd。故输入层节点数为j=3,输出层节点数为i=3,隐藏层节点数为故取l=5。
[0093]
步骤2:根据电机控制系统结构确定输入层输出。
[0094]
对于该控制系统,选择神经网络的输入层输出为:
[0095][0096]
其中x分别代表神经网络的输入量即电机参考转速、电机实际转速和转速差,j代表神经元节点;角标(1)代表神经网络第一层;
[0097]
步骤3:根据输入层输出和隐藏层激活函数确定隐藏层输出。
[0098]
由输入层输出得到隐层输入为:
[0099][0100]
其中ω
ij
代表相应神经元之间的连接权重;oj为输入层的输出;角标(2)代表隐藏层;输出层的输出为:
[0101][0102]
其中,g(x)代表隐藏层的激活函数,
[0103]
步骤4:根据隐藏层输出和激活函数确定输出层输出。
[0104]
输出层函数与上述式子相似:
[0105]
[0106][0107]
其中ω
li
代表隐藏层和输出层相应神经元之间的连接权重;oi为隐藏层的输出;角标(3)代表输出层;f(x)代表隐藏层的活化函数,由于输出层输出对应于pid参数,故f(x)为非负活化函数,f(x)=relu(x)=max(0,x);
[0108][0109]
步骤5:接下来进行各层连接权值更新。
[0110]
取性能指标函数为:
[0111][0112]
利用梯度下降算法修正网络的连接权值函数,并附加一个惯性项使搜索可以快速收敛到全局极小,于是可以得到:
[0113][0114]
其中,η为学习率,α为惯性系数,求解表达式第一项:
[0115][0116]
其中对于由于可以测出y(k)和u(k)相对变化量,即
[0117][0118]
也可以近似用符号函数来替代,即这样可以简化运算,另一方面在实际操作时可以在分母上加一微小量避免初始时刻分母为0;实际电机控制pid算法可以采用离散的增量式算法,对于增量式算法,采用离散的增量式算法,对于增量式算法,
[0119]
于是可得:
[0120][0121]
于是根据之前各层的输入输出函数可以得到:
[0122][0123]
令则上式可写为:
[0124][0125]
同理可得隐藏层权值计算公式为:
[0126][0127]
其中
[0128]
于是权值可以根据采集到的数据进行更新。
[0129]
步骤6:学习率的更新。
[0130]
附加惯性项面临选取率的选取困难,进而产生收敛速度和收敛性的矛盾。于是另考虑引入学习速率自适应设计。
[0131]
η(k)=σ*η(k-1)
[0132]
其中σ为变化因子σ=2
λ
,λ=sign(g(k)*g(k-1));
[0133]
其中λ反映了梯度方向。故对于输出层和隐藏层的学习率梯度方向分别为:
[0134][0135][0136]
根据上述可以对学习率进行更新。
[0137]
于是权值可以根据采集到的数据进行更新。神经网络输出层输出的值即为pid参数的k
p
、ki、kd,然后利用增量式pid算法得到控制器输出:
[0138]
u(k)=u(k-1)+k
p
(e(k)-e(k-1))+kie(k)+kd(e(k)-2e(k-1)+e(k-2))
[0139]
控制器输出u(k)即为q轴参考电流i
q*
,将q轴参考电流输入进电流环前馈pi控制器里进而控制电机运行。
[0140]
仿真结果分析:为了验证所提出方法的可行性,在matlab/simulink环境下进行了仿真验证,并将其与pi调节器进行了对比。
[0141]
图5是空载时本发明与传统pid算法速度曲线图,由图5可以看出在电机空载时,本发明转速曲线超调量远小于传统pid算法,而且达到稳态的调节时间也远小于传统pid算法;图6是直接负载时本发明与传统pid算法速度曲线图,由图6可以看出在电机直接施加负载运行时,本发明转速曲线超调量远小于传统pid算法,而且达到稳态的调节时间也远小于传统pid算法;图7是变载时本发明与传统pid算法速度曲线图,图7是0-0.2s时电机空载运行,然后0.2s时突加负载,0.2-0.4s时负载运行,然后可以看出突加负载后本发明恢复转速稳定的时间小于传统pid算法;从以上图中均可以看出本发明算法的超调量和调整时间等动态性能均优于传统pid算法。综上所述,本文所提出的算法可以达到预想的控制精度,能够有效提高电机运行的性能。
[0142]
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,
尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种基于神经网络自适应控制的永磁同步电机控制系统pid参数自整定的方法,其特征在于,包括如下步骤:1)设计转速环的自适应控制器的神经网络结构,根据电机控制系统结构确定神经网络输入层输出、根据输入层输出和隐藏层激活函数确定神经网络隐藏层输出、根据神经网络隐藏层输出和激活函数确定神经网络输出层输出;2)从电机传感器获得电机转速和转子位置信息,以电机参考转速、电机实际转速和两者的转速差作为转速环神经网络自适应控制器的输入,利用梯度下降算法在线调整神经网络自适应控制器的神经网络权值;神经网络输出层输出的值即为转速环pid的增益环节参数k
p
、积分环节参数k
i
、微分环节参数k
d
,然后利用增量式pid算法得到神经网络自适应控制器的输出:u(k)=u(k-1)+k
p
(e(k)-e(k-1))+k
i
e(k)+k
d
(e(k)-2e(k-1)+e(k-2))其中,k表示离散的时间量,控制器输出u(k)即为q轴参考电流i
q*
,3)将q轴参考电流和实际q轴电流值输入进电流环前馈pi控制器里,从而得到q轴和d轴参考电压;根据q轴和d轴参考电压和转子位置信息通过坐标变换,通过svpwm调制的方式调整永磁同步电机控制系统的逆变桥的开关从而控制电机转速,实现电机转速的反馈控制。2.根据权利要求1所述的方法,其特征在于,所述的步骤1)中的设计转速环的自适应控制器的神经网络结构,具体为:选择三层神经网络,包括一个输入层,一个隐藏层和一个输出层,输入节点对应电机控制系统运行的电机参考转速、电机实际转速和转速差;输出节点对应于转速环pid的三个参数kp、ki、kd;输入层节点数j为3,输出层节点数i为3,隐藏层节点数为3.根据权利要求1所述的方法,其特征在于,所述的步骤1)中的根据电机控制系统结构确定输入层输出,具体为:对于电机控制系统,选择神经网络的输入层的输出为:其中x(j)代表神经网络的输入量,即电机参考转速、电机实际转速和转速差,j代表神经元节点;角标(1)代表神经网络第一层。4.根据权利要求1所述的方法,其特征在于,所述的步骤1)中的根据输入层输出和隐藏层激活函数确定隐藏层输出,具体为:由输入层输出得到隐藏层输入为:其中ω
ij
代表相应神经元之间的连接权重;o
j
为输入层的输出;角标(2)代表隐藏层;隐藏层的输出为:其中,g(x)代表隐藏层的激活函数,
5.根据权利要求1所述的方法,其特征在于,所述的步骤1)中的根据隐藏层输出和激活函数确定输出层输出,具体为:输出层输入为:输出层的输出为:其中ω
li
代表隐藏层和输出层相应神经元之间的连接权重;o
i
为隐藏层的输出;角标(3)代表输出层;f(x)代表隐藏层的活化函数,由于输出层输出对应于pid参数k
p
、k
i
、k
d
,故f(x)为非负活化函数,f(x)=relu(x)=max(0,x);6.根据权利要求1所述的方法,其特征在于,所述的步骤2)中的在线调整神经网络自适应控制器的神经网络权值,具体为:取性能指标函数为:其中r(k)代表参考转速,y(k)代表实际转速;利用梯度下降算法修正神经网络的连接权值函数,并附加一个惯性项使搜索可以快速收敛到全局极小,于是得到:其中,η为学习率,α为惯性系数,为隐藏层到输出层连接权值的变化量,求解表达式第一项:实际电机控制pid算法采用离散的增量式算法,对于增量式算法,于是可得:
于是根据之前各层的输入输出函数可以得到:令则上式可写为:同理可得隐藏层权值计算公式为:其中于是权值可以根据采集到的数据进行更新。7.根据权利要求6所述的方法,其特征在于,所述的步骤2)中,对学习率η进行更新,具体为:学习率η(k)=σ*η(k-1)其中变化因子σ=2
λ
,λ=sign(g(k)*g(k-1));其中λ反映了梯度方向;故对于输出层和隐藏层的学习率梯度方向分别为:其中λ反映了梯度方向;故对于输出层和隐藏层的学习率梯度方向分别为:根据上述对学习率进行更新。
技术总结
本发明提供了一种基于神经网络自适应控制的永磁同步电机控制系统pid参数自整定的方法,该方法包括以下步骤:步骤1:设计转速环的自适应控制器的神经网络结构;步骤2:利用梯度下降算法在线调整神经网络自适应控制器的神经网络权值;步骤3:电机转速的反馈控制。本发明能够实现永磁同步电机转速环控制系统pid参数的自整定,提升电机运行的动态性能;可以提高电机控制算法的自适应能力,摆脱对系统模型参数的依赖性。参数的依赖性。参数的依赖性。
技术研发人员:马宇 孙志锋 马风力 黄颖
受保护的技术使用者:杭州力超智能科技有限公司 杭州颐达软件科技有限公司
技术研发日:2023.02.28
技术公布日:2023/7/21
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
