基于plc与bp神经网络的bldcm参数优化方法
阅读说明:本技术 基于plc与bp神经网络的bldcm参数优化方法 (BLDCM parameter optimization method based on PLC and BP neural network ) 是由 高琦昕 朱铖 周立波 张永 于 2020-04-29 设计创作,主要内容包括:本发明公开了一种基于PLC与BP神经网络的BLDCM参数优化方法。该方法步骤为:将多个PLC模块组建为PLC工业以太网;建立无刷直流电机在同步参考模型下的离散电压方程,确定神经网络的输入、输出量,并确定电机参考转速和电压、电流的变化范围;采集不同转速下电机电压、电流,发送至无刷直流电机离散电压方程生成输出值,输出值与输入值对应组合成BP神经网络的训练样本;将归一化处理后的训练样本输入已构建的BP神经网络模型中进行离线学习,得到符合要求的权值;在BP神经网络与PLC工业以太网之间建立联络,并交互实时信息;将系统与上位机进行组态,确保系统能够接受转速指令。本发明具有动态特性好、鲁棒性强的优点。(The invention discloses a BLDCM parameter optimization method based on a PLC and a BP neural network. The method comprises the following steps: building a plurality of PLC modules into a PLC industrial Ethernet; establishing a discrete voltage equation of the brushless direct current motor under a synchronous reference model, determining the input and output quantity of a neural network, and determining the reference rotating speed of the motor and the variation range of voltage and current; collecting motor voltage and current at different rotating speeds, sending the motor voltage and current to a brushless direct current motor discrete voltage equation to generate output values, and correspondingly combining the output values and the input values into a training sample of a BP neural network; inputting the training samples after normalization processing into the constructed BP neural network model for off-line learning to obtain a weight meeting the requirement; establishing contact between the BP neural network and the PLC industrial Ethernet, and interacting real-time information; and configuring the system and an upper computer to ensure that the system can receive a rotating speed instruction. The method has the advantages of good dynamic characteristic and strong robustness.)
技术领域
本发明属于直流无刷电机控制技术领域,特别是一种基于PLC与BP神经网络的BLDCM参数优化方法。
背景技术
无刷直流电动机是现代各种电气系统中广泛使用的一种电机,具有体积小、重量轻、调速性能优良等优点。与之配套的驱动系统需要快速响应的能力,而且在外部情况发生变化时应能进行快速跟踪,常规的参数固定的控制驱动系统往往不能满足这一要求。
神经网络是由众多简单的神经元连接而成,模拟人脑的工作特点和组织功能。能实现逼近任意非线性函数,可以实现随着环境条件的改变而自学习进行改变,快速跟踪及时响应能力强。
PLC(Programmable Logic Controller,可编程逻辑控制器)控制系统专为工业生产设计的一种数字运算操作的电子装置,它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。
传统无刷直流电机参数固定的控制系统在电机参数发生改变时,预先设定的控制器参数很难适应新的运行情况,存在动态特性和鲁棒性差、数据传输困难的特点。
本发明的目的在于提供一种动态特性好、鲁棒性好的基于PLC与BP神经网络的BLDCM参数优化方法。
实现本发明目的的技术解决方案是:一种基于PLC与BP神经网络的BLDCM参数优化方法,包括以下步骤:
步骤1、将多个PLC模块组建为PLC工业以太网;
步骤2、建立无刷直流电机在同步参考模型下的离散电压方程,确定神经网络的输入量与输出量,并确定电机参考转速和电压、电流的变化范围;
步骤3、采集不同转速下电机电压、电流,并将采集到的数据发送至无刷直流电机离散电压方程生成输出值,输出值与输入值对应组合成BP神经网络的训练样本;
步骤4、构建BP神经网络模型;
步骤5、归一化步骤3中的训练样本,将归一化处理后的训练样本输入已构建的BP神经网络模型中进行离线学习,得到符合要求的权值;
步骤6、在BP神经网络与PLC工业以太网之间建立联络,并交互实时信息;
步骤7、将系统与上位机进行组态,确保系统能够接受转速指令。
进一步地,步骤1所述将多个PLC模块组建为PLC工业以太网,具体为:
利用多个PLC模块通过交换机搭建PLC工业以太网。
进一步地,步骤2中所述无刷直流电机在同步参考模型下的离散电压方程,具体为:
其中R是定子阻抗,Ts是采样时间,L是d轴和q轴的电感,eds和eqs分别为d轴和q轴的反电动势,ids[k]、iqs[k]为此刻应该输出的d、q轴电流,ids[k-1]、iqs[k-1]为上一采样时刻的d、q轴电流,ωr[k-1]为上一采样时刻的角速度,vds[k-1]、vqs[k-1]为上一采集时刻的交直轴电压;
方程中等号右边第二项和第三项之和都只包含了三个能够检测到的变量ids、iqs和ωr,因此这两项看作状态变量的函数,于是方程表示为:
函数fd(ids,iq,ωr)和fq(ids,iqs,ωr)表示无刷直流电机的非线性动态方程,因此建立三层神经网络模型,ids[k-1]、iqs[k-1]、ωr[k-1]作为BP神经网络的输入量,fd(ids,iq,ωr)和fq(ids,iqs,ωr)作为输出量。
进一步地,步骤3所述采集不同转速下电机电压、电流,并将采集到的数据发送至无刷直流电机离散电压方程生成输出值,输出值与输入值对应组合成BP神经网络的训练样本,具体如下:
按设定步长和间隔,遍历取值范围采集不同转速下电机电压、电流,并将采集到的数据发送至无刷直流电机离散电压方程中的非线性动态方程中生成输出值,输出值与输入值对应组合成BP神经网络的训练样本。
进一步地,步骤4所述构建BP神经网络模型,具体如下:
BP神经网络模型为三层前馈神经网络,通过隐含层节点经验公式
确定隐含层节点数,其中a为0到10之间的常数,m为隐含层节点数,n为输出层节点数,输入层节点个数对应输入量,输出层节点个数对应输出量,BP神经网络模型中的隐含层和输出层均采用log-sigmoid函数f(x),表达式为进一步地,步骤5所述归一化步骤3中的训练样本,公式如下:
式中,xmin为数据系列中的最小数,xmax为序列中的最大数,x为归一化前的数据,y为归一化后的数据。
进一步地,步骤5所述将归一化处理后的训练样本输入已构建的BP神经网络模型中进行离线学习,具体如下:
(1)将归一化处理后的输入、输出组合成样本序列(X,Y);
(2)确定网络输入层节点数l、隐含层节点数m、输出层节点数n,初始化输入层与隐含层的连接权值ωij,隐含层与输出层间的连接权值ωjk,给定学习速率;
(3)求隐含层输出H:
其中Hj为第j层的隐含层输出,xj为第j层的隐含层输入,j为隐含层节点数,i为输入层节点数;
隐含层激励函数
(4)求输出层预测输出G:
其中Gk为第k层的预测输出,k为输出层节数;
(5)根据预测输出G和期望输出Y,计算预测误差E:
其中E为预测误差,Yk为第k层期望输出;
(6)由输出层开始,按梯度下降法计算,逐层调整权值,取步长为η,调整公式为:
其中ω(t+1)、ω(t)分别为经t+1和t次调整计算的连接权值;
最后经迭代完后,BP神经网络各神经元权值确定。
进一步地,步骤6所述在BP神经网络与PLC工业以太网之间建立联络,具体如下:
确定BP神经网络与PLC工业以太网的通讯协议相匹配,以确保两者之间能够进行数据的传递,从而实现对参数的实时优化。
进一步地,步骤7所述将系统与上位机进行组态,确保系统能够接受转速指令,具体为:
确定PLC工业以太网与上位机的通讯协议相匹配,以确保两者之间能够进行数据的传递,从而实现对系统指令的发出。
本发明与现有技术相比,其显著优点为:(1)在系统中加入BP神经网络与并采用矢量控制的方式,可以极大的提高他们的动态特性和鲁棒性;(2)PLC系统可以方便进行数据的传递与接受,其组成的工业以太网方便之后系统的扩展和升级。
附图说明
图1是PLC与BP神经网络学习结构示意图。
图2是本发明中BP神经网络的示意图。
图3是系统结构示意图。
图4是本发明中实施例方法提供的硬件布局及各部分示意图。
图5是本发明中实施例提供的系统触摸屏的布局及各按钮的示意图。
图6是本发明中实施例方法提供的CompactLogix自动化可编程控制器内部的梯形图程序示意图,其中(a)为初始化程序示意图,(b)为电机转动程序示意图,(c)为电机转动优化部分程序示意图。
图7是本发明中实施例方法提供的Micro850可编程逻辑控制器内部的梯形图程序示意图,其中(a)为光电开关采样部分程序示意图,(b)为光电开关采样与计数部分程序示意图,(c)为光电开关计数程序示意图。
具体实施方法
结合图1,基于PLC与BP神经网络的BLDCM参数优化方法,包括以下步骤:
步骤1、将多个PLC模块组建为PLC工业以太网;
步骤2、建立无刷直流电机在同步参考模型下的离散电压方程,确定神经网络的输入量与输出量,并确定电机参考转速和电压、电流的变化范围;
步骤3、采集不同转速下电机电压、电流,并将采集到的数据发送至无刷直流电机离散电压方程生成输出值,输出值与输入值对应组合成BP神经网络的训练样本;
步骤4、构建BP神经网络模型;
步骤5、归一化步骤3中的训练样本,将归一化处理后的训练样本输入已构建的BP神经网络模型中进行离线学习,得到符合要求的权值;
步骤6、在BP神经网络与PLC工业以太网之间建立联络,并交互实时信息;
步骤7、将系统与上位机进行组态,确保系统能够接受转速指令。
进一步地,步骤1所述将多个PLC模块组建为PLC工业以太网,具体为:
利用多个PLC模块通过交换机搭建PLC工业以太网。
进一步地,步骤2中所述无刷直流电机在同步参考模型下的离散电压方程,具体为:
其中R是定子阻抗,Ts是采样时间,L是d轴和q轴的电感,eds和eqs分别为d轴和q轴的反电动势,ids[k]、iqs[k]为此刻应该输出的d、q轴电流,ids[k-1]、iqs[k-1]为上一采样时刻的d、q轴电流,ωr[k-1]为上一采样时刻的角速度,vds[k-1]、vqs[k-1]为上一采集时刻的交直轴电压;
方程中等号右边第二项和第三项之和都只包含了三个能够检测到的变量ids、iqs和ωr,因此这两项看作状态变量的函数,于是方程表示为:
函数fd(ids,iq,ωr)和fq(ids,iqs,ωr)表示无刷直流电机的非线性动态方程,因此建立三层神经网络模型,ids[k-1]、iqs[k-1]、ωr[k-1]作为BP神经网络的输入量,fd(ids,iq,ωr)和fq(ids,iqs,ωr)作为输出量。
进一步地,步骤3所述采集不同转速下电机电压、电流,并将采集到的数据发送至无刷直流电机离散电压方程生成输出值,输出值与输入值对应组合成BP神经网络的训练样本,具体如下:
按设定步长和间隔,遍历取值范围采集不同转速下电机电压、电流,并将采集到的数据发送至无刷直流电机离散电压方程中的非线性动态方程中生成输出值,输出值与输入值对应组合成BP神经网络的训练样本。
进一步地,步骤4所述构建BP神经网络模型,具体如下:
BP神经网络模型为三层前馈神经网络,通过隐含层节点经验公式
确定隐含层节点数,其中a为0到10之间的常数,m为隐含层节点数,n为输出层节点数,输入层节点个数对应输入量,输出层节点个数对应输出量,BP神经网络模型中的隐含层和输出层均采用log-sigmoid函数f(x),表达式为进一步地,步骤5所述归一化步骤3中的训练样本,公式如下:
式中,xmin为数据系列中的最小数,xmax为序列中的最大数,x为归一化前的数据,y为归一化后的数据。
进一步地,步骤5所述将归一化处理后的训练样本输入已构建的BP神经网络模型中进行离线学习,具体如下:
(1)将归一化处理后的输入、输出组合成样本序列(X,Y);
(2)确定网络输入层节点数l、隐含层节点数m、输出层节点数n,初始化输入层与隐含层的连接权值ωij,隐含层与输出层间的连接权值ωjk,给定学习速率;
(3)求隐含层输出H:
其中Hj为第j层的隐含层输出,xj为第j层的隐含层输入,j为隐含层节点数,i为输入层节点数;
隐含层激励函数
(4)求输出层预测输出G:
其中Gk为第k层的预测输出,k为输出层节数;
(5)根据预测输出G和期望输出Y,计算预测误差E:
其中E为预测误差,Yk为第k层期望输出;
(6)由输出层开始,按梯度下降法计算,逐层调整权值,取步长为η,调整公式为:
其中ω(t+1)、ω(t)分别为经t+1和t次调整计算的连接权值;
最后经迭代完后,BP神经网络各神经元权值确定。
进一步地,步骤6所述在BP神经网络与PLC工业以太网之间建立联络,具体如下:
确定BP神经网络与PLC工业以太网的通讯协议相匹配,以确保两者之间能够进行数据的传递,从而实现对参数的实时优化。
进一步地,步骤7所述将系统与上位机进行组态,确保系统能够接受转速指令,具体为:
确定PLC工业以太网与上位机的通讯协议相匹配,以确保两者之间能够进行数据的传递,从而实现对系统指令的发出。
下面结合附图及
具体实施方式
对本发明做进一步详细说明。
实施例
本发明是一种基于可编程控制器(PLC)与BP神经网络学习的无刷直流电机控制参数优化方法。首先,将各个逻辑控制元件相互组态,建立工业以太网。其次,根据同步参考模型下的离散电压方程建立BP神经网络。
结合图1,本发明基于神经网络的矢量控制,包括以下步骤。
步骤1、将各个PLC模块包括:直流无刷电机、直流无刷电机驱动器、工业触摸屏、交换机、可编程自动化控制器和可编程逻辑控制器,组建起来,构建工业以太网。
步骤2、确定无刷直流电机同步参考模型中的输入量和输出量,以及神经网络的输入量与输出量,并确定变量的变化范围。BP神经网络接受的变量包括电压,电流和转速,实时调控无刷直流电机的非线性动态方程,具体如下。
无刷直流电机在同步参考模型下的离散电压方程经过整理后可以表示为
其中R是定子阻抗,Ts是采样时间,L是d轴和q轴的电感,eds和eqs分别为d轴和q轴的反电动势,方程中第二项和第三项都只包含了三个可以检测到的变量ids、iqs和ωr,因此这两项可以看作状态变量的函数,于是方程可以表示为
fd(ids,iq,ωr)和fq(ids,iqs,ωr)表示无刷直流电机的非线性动态方程,因此建立如图2的三层神经网络模型函数,ids[k-1]、iqs[k-1]、ωr[k-1]作为BP神经网络的输入量,fd(ids,iq,ωr)和fq(ids,iqs,ωr)作为输出量。
步骤3,通过编程或者仿真实现将不同转速下电机电压、电流按一定步长和间隔遍历取到,并将对应数据送入无刷直流电机离散电压方程中的非线性动态方程中,生成输出值,其与输入值对应组合成BP神经网络的训练样本。
步骤4,构建BP神经网络模型。网络模型为三层前馈神经网络,通过隐含层节点经验公式
可确定隐含层节点数,a为0到10之间的常数,输入层节点个数对应输入量,输出层节点个数对应输出量,BP神经网络模型种的隐含层和输出层均采用log-sigmoid函数,其表达式为步骤5,归一化处理步骤二中的训练样本数据,将归一化处理后的训练样本输入已构建的BP神经网络拓扑模型中进行离线学习,得到符合要求的权值。进一步的,步骤5,归一化处理采用默认方式:
式中,xmin为数据系列中的最小数,xmax为序列中的最大数。具体方法如下:
第一步,将归一化处理后的输入输出组合成样本序列(X,Y);
第二步,确定网络输入层节点数l、隐含层节点数m、输出层节点数n,初始化输入层与隐含层和隐含层与输出层间的连接权值ωij、ωjk,给定学习速率;
第三步,求隐含层输出H:
隐含层激励函数
第四步,求输出层预测输出G:
第五步,根据预测输出G和期望输出Y,计算预测误差;
第六步,由输出层开始,按梯度下降法计算,逐层调整权值,取步长为η,调整算式:
最后经迭代完后,BP神经网络各神经元权值确定,神经网络构建完成。
第七步,在神经网络与PLC工业以太网之间建立联络使其可以交互实时信息。
第八步,将系统与上位机进行组态,确保系统可以接受转速指令。
如图4,本实例提供一套基于ROCKWELL可编程控制器的伺服电机控制系统,可以实现对伺服电机的位置和速度进行精确控制。并可以在如图5所示的触摸屏上对系统状态进行监控和操作。为实现上述目的,本发明采取图3所示的技术方案:
系统由一台CompactLogix自动化可编程控制器、一台Kinetix 5500伺服驱动器、一个触摸屏,一台Stratix5700交换机,Micro850可编程逻辑控制器,伺服电机、数个从动轴及激光门构成。
上位机与CompactLogix自动化可编程控制器通过工业以太网互联,触摸屏上接收到的信息将直接传输到CompactLogix自动化可编程控制器内进行运算,运算程序如图6(a)~(c)所示。CompactLogix自动化可编程控制器再和Kinetix 5500伺服驱动器通过工业以太网互联,自动化可编程控制器将运动指令发至伺服驱动器,再由伺服驱动器驱动电机转动。电机的主动轴通过皮带与四个从动轴相连,皮带上有两个孔,两侧固定有三个光电开关。这三个光电开关都与Micro850相连,Micro850与CompactLogix自动化可编程控制器通过工业以太网互联,采集三个光电开关的状态,采集程序如图7(a)~(c)所示。
本发明在系统中加入BP神经网络与并采用矢量控制的方式,可以极大的提高他们的动态特性和鲁棒性;PLC系统可以方便进行数据的传递与接受,其组成的工业以太网方便之后系统的扩展和升级。