CN106208867A - 一种永磁同步电机控制***pid参数寻优方法 - Google Patents
一种永磁同步电机控制***pid参数寻优方法 Download PDFInfo
- Publication number
- CN106208867A CN106208867A CN201610561870.5A CN201610561870A CN106208867A CN 106208867 A CN106208867 A CN 106208867A CN 201610561870 A CN201610561870 A CN 201610561870A CN 106208867 A CN106208867 A CN 106208867A
- Authority
- CN
- China
- Prior art keywords
- control system
- time
- parameter
- speed
- control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P21/00—Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
- H02P21/14—Estimation or adaptation of machine parameters, e.g. flux, current or voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/17—Mechanical parametric or variational design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/367—Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P21/00—Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
- H02P21/0003—Control strategies in general, e.g. linear type, e.g. P, PI, PID, using robust control
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Control Of Ac Motors In General (AREA)
Abstract
一种永磁同步电机控制***PID参数寻优方法,包括步骤1:根据实际控制***的参数计算仿真***的仿真步长T1、电流环周期TC1和速度环周期TS1;步骤2:根据实际***永磁同步电机的参数,将电流环的电流反馈和电流环的速度反馈进行归一化计算;步骤3:CLARK变换;步骤4:PARK变换;步骤5:IPARK变换;步骤6:SVPWM设计;步骤7:使用matlab语言实现离散化的PID调节器;步骤8:建立控制***参数评价函数;步骤9:设计遗传算法;步骤10:配置SIMULINK永磁同步电机和IGBT仿真模型参数;步骤11:构建永磁同步电机空间矢量算法SIMULINK仿真模型;步骤12:参数寻优。
Description
技术领域
本发明属于永磁同步电机控制***领域,具体涉及一种永磁同步电机控制***PID参数优化方法。
背景技术
永磁同步电机以其高能源利用效率、高力矩惯量比、高能量密度,环保低碳等特点,被广泛用于实现高精度和高效能的伺服控制***。随着伺服控制***的精度和性能要求的进一步提高,PID控制器成为实际电机控制***中关键环节之一。
PID控制器具有稳定性好、工作可靠、适应性好等诸多优点;但是,PID参数的整定一直是困扰工程人员的一个难题,一般都是根据***特性和工程经验通过经验法采用实际反复试验进行PID参数整定;这种方法的缺陷在于:效率低、PID参数优化性能不佳,调试时间长,调试成本高,某些特殊***伴随危险性,尤其无法适用一些高精准控制***的参数调试。经验调试方法导致控制***性能指标很难达到最优,并且很大程度上增加了控制***的研发成本,延长了研发周期。
发明内容
本发明提供一种永磁同步电机控制***PID参数寻优方法,
本发明是通过以下技术方案来实现的:一种永磁同步电机控制***PID参数优化方法;包括以下几个步骤:
步骤1:根据实际控制***的内环电流环控制周期TC、外环速度环控制周期TS、晶振频率fosc、晶振周期Ts,计算仿真***的仿真步长T1、电流环周期TC1和速度环周期TS1;
步骤2:根据实际***永磁同步电机的额定电流、额定转速,将电流环的电流反馈和电流环的速度反馈进行归一化计算;
步骤3:CLARK变换;
步骤4:PARK变换;
步骤5:IPARK变换;
步骤6:SVPWM设计;
步骤7:使用matlab语言实现离散化的PID调节器;
步骤8:建立控制***参数评价函数;
步骤9:采用Matlab语言设计遗传算法;
步骤10:配置SIMULINK永磁同步电机和IGBT仿真模型参数;
步骤11:构建永磁同步电机空间矢量算法SIMULINK仿真模型;
步骤12:进行参数寻优,获取控制***速度环和电流环PID优化参数。
步骤1中具体分析及计算如下:
由于控制***本身的复杂度,以及执行机构的复杂度很高,一次仿真和计算的数据量特别大,这对于控制***来说是不允许的,但是实际控制***往往都具有一定的响应延时,控制***响应时间往往较长,这就意味着仿真的时间必须较长才能看到控制效果;为了调节仿真***和控制***的矛盾,就必须对仿真***中的仿真步长T1、电流环周期TC1和速度环周期TS1进行特殊设置;
在实际应用中,实际控制***有两个控制周期,包括内环电流环控制周期和外环速度环的控制周期,内环电流环控制周期TC=66us,外环速度环控制周期TS=264us,实际控制***的晶振频率fosc=150MHz,实际控制***的晶振周期Ts=6.6ns,实际控制***的电流环的控制周期TC为10000×Ts=66us,实际控制***的外环速度环周期TS为4倍的实际控制***的内环电流环周期;考虑到如果将仿真***的仿真步长T1设置为6.6ns,仿真***的电流环控制周期和速度环控制周期和实际控制***的电流环周期和控制环周期一样,会造成巨大的数据量,计算复杂,实际验证发现,一次***仿真就会消耗半个小时,这样的仿真速度显然达不到我们的仿真需求。
设置仿真***中电流环的控制周期TC1为266us,速度环的控制周期TS1为1066us,仿真步长T1为0.5us,可以将仿真速度提高75倍;
需要注意由于实际控制***中的PID调节器中含有积分单元,实际控制***中电流环周期为控制***晶振周期的1000倍,仿真***周期修改为控制***晶振周期的133倍,这样的设置会导致PID调节器的不同,因此这里将PID调节器的积分参数与倍数相关联,避免了由于控制***晶振周期调整而导致的调节器差异。
步骤2的相关分析及计算如下:
将关键变量进行归一化处理是在工程计算和电力***中常用的一种数值标记方法,用来表示各物理参变量的相对值,简化运算过程,方便程序调试及纠错;归一化值=实际值/基准值,这个值是一种无量纲的量,一个物理量的归一化值在不同环境中是不固定的;这里进行归一化处理的变量有电流环的电流反馈和电流环的速度反馈;
根据实际***中电机的文档资料可以看出电机额定电流有效值为10A,设置电流标幺的基准值为10,电流环的电流反馈设置为10以内,实际控制***中的电流经过AD采样后进行基准值为10的归一化处理,保证控制***和仿真***良好的对称性;
实际控制***中的永磁同步电机额定转速为3000RPM,设置电流环的速度反馈的基准值为3000,设置目标速度基准值为3000的归一化处理;
经过以上的变量归一化处理,仿真***的输入变量的范围设置在0~1之间,内部的坐标运算单元输入数据的范围设置在0~1之间,同样设置PID调节器的输出限幅为±1,就使得计算更加方便,易于进行计算和结果的分析比较。
步骤3的相关分析及计算如下:
永磁同步电机的控制***中需要进行一系列坐标变换,在常规控制***中,坐标变换可以通过程序实现也可以通过专业的芯片实现,这里仿真通过Simulink平台搭建,这些数学运算可以通过Matlab程序来实现。
Clark变换将一个三相坐标***变换到静止的两相α、β坐标***中,从物理意义上讲,就是将电机ABC三相电压等效到另外一个静止坐标系中去,如公式(1)所示:
其中,VAN、VBN分别指电机ABC三相中的AB两相的电压瞬时值,VSα、Vsβ分别指变换后的α、β坐标***中的电压矢量值。
步骤4的相关分析及计算如下:
PARK变换同样是一个坐标变换,将静止的两相α、β坐标***变换为一个转动的d、q轴坐标***中,从物理意义上讲,就是结合步骤3中的坐标变换将电机三相电流投影、等效到d、q轴坐标***中去,如公式(2)所示:
其中,uα、uβ分别指步骤3中公式(1)通过CLARK变换得到的两相α、β坐标***中的电压矢量,即VSα、Vsβ;这里的ud、uq分别指PARK变换后的d、q坐标***中的电压矢量;
步骤5的相关分析及计算如下:
IPARK变换将转子的2轴电流矢量变换到定子的三相电流矢量中去,如公式(3)所示:
步骤6:SVPWM设计,SVPWM是整个矢量控制的关键,具体包括以下几个步骤,
步骤6.1:根据当前电机定子中的三相电流来确定矢量所处扇区seca,在进行矢量控制时,首先确定当前控制矢量的位置,再通过当前矢量位置控制指令确定下一时刻中电机三相线圈中的电流信号;
考虑到算法比较复杂,在计算时包含很多中间计算过程,同时含有很多中间变量,其中Va、Vb、Vc就是其中的三个电压控制矢量中间变量;
首先默认seca为0,根据步骤5中计算出的uα和uβ,计算电压控制矢量中间变量Va、Vb、Vc,计算公式如(4)所示:
式中,Ualpha和Ubeta分别对应公式(3)中的uα和uβ。
然后将这三个电压控制矢量中间变量Va、Vb、Vc和0分别作比较,当Va>0时,seca置数为1,当Va≤0时,执行Vb>0的比较;当Vb>0时,在seca原有数值的基础上将加一,当Vb≤0时,执行Vc>0的比较;当Vc>0时,就在Vc原有数数值的基础上加4,当Vc≤0时,结束;
步骤6.2:根据步骤6.1中扇区seca和电压控制矢量中间变量Va、Vb、Vc,确定电压控制矢量中间变量Va、Vb、Vc的作用时间Ta、Tb、Tc,矢量控制的核心就在于这部分,实质是一种对在三相正弦波中加入了两个零矢量的调制波进行规则采样的一种变形SPWM;SVPWM的调制过程是在空间实现的,没有明确的线电压调制波,SPWM是在ABC坐标系下分相实现的;根据步骤6.1中计算出的扇区位置信息,电压控制矢量中间变量Va、Vb、Vc,会有不同的作用时间Ta、Tb、Tc;根据扇区seca的数值,分别计算电压控制矢量中间变量Va、Vb、Vc的三个作用时间Ta、Tb、Tc;当seca=0时,根据公式(5)计算Ta、Tb、Tc时间,此时间即为三个作用时间Ta、Tb、Tc,且结束计算;当seca≠0时,执行seca=1,根据公式(5)计算Ta、Tb、Tc的时间,此时间即为三个作用时间Ta、Tb、Tc且结束计算;当seca≠1时,执行seca=2,此后依次按照SVPWM算法中的公式计算Ta、Tb、Tc的时间,此时间即为三个作用时间Ta、Tb、Tc;以此类推,执行到当seca=5时,计算Ta、Tb、Tc时间,结束;
其中,NUB为速度环控制周期时间,t1、t2分别为两个中间变量;当seca为其它数值时,按照SVPWM的算法即可计算出时间Ta、Tb、Tc;其中SVPWM算法为现有算法,其中公式均可在相关资料中找到。
步骤6.3:根据步骤6.2中计算出的三个作用时间Ta、Tb、Tc生成控制逆变器的六路PWM矢量控制信号;首先将三个作用时间Ta、Tb、Tc分别与一个三角波进行滞回比较,产生三路PWM矢量控制信号,然后将三路PWM矢量控制信号反相,又生成三路PWM矢量控制信号,共产生六路PWM矢量控制信号,六路PWM矢量控制信号分别为:U_true、U_false、V_true、V_false、W_true、W_false,其中六路PWM矢量控制信号分为三组,每组PWM矢量控制信号中的两个PWM矢量控制信号相反,作用于一组桥臂中的上下两个桥臂,从而,生成的六路PWM矢量控制信号分别作为逆变器的六个开关信号;通过这六路PWM矢量控制信号可以控制逆变
器从而控制永磁同步电机。
步骤7:使用matlab语言实现离散化的PID调节器;考虑到利用Matlab语言实现的PID调节器无法单独实现历史值的保存,所以利用Simulink中的Memory模块进行上一次历史值的保存,在下一次计算时将上一次历史值重新输入,在第一次PID计算时设置所有输入均为零,设置保存的变量有:历史误差(spd_old_SatErr)、历史输出(spd_old_Out)、历史输入(spd_old_Ui);具体为:首先更新控制***周期,然后根据PID的计算公式来计算此时的PID输出值,对PID的输出值进行限幅操作,防止过大的控制信号所造成的控制***不稳定现象,最后,将计算的中间变量和输出值进行保存,以便下一次的PID计算,至此,PID的参数离散化处理结束。
步骤8:在对整个控制***的控制效果进行评价时,常规的方法是观看电机的电流环响应、速度环响应以及转矩响应,直观的观看无法进行细致的效果评价,当单个参量调整后,无法具体量化和评价该参量改变后的控制效果变化;建立有效的控制***参数评价函数,以此进行下一步控制参数优化和***调整,具体的控制***参数评价函数包含以下几个步骤:
步骤8.1:控制***中将转速作为主要性能指标,设置五个评价参数指标均与电机转速相关,设置暂态上升时间用来观察控制***的快速机动能力;稳态上升时间可以评价***的鲁棒性和稳定性;当电机转速稳定在目标转速的2%时即控制***进入稳态;设置控制***超调量和暂态振荡次数,用来评价整个控制***的抗干扰情况;设置***稳态误差,用来评价控制***的稳态性能,当控制***进入2%的稳态范围内后,会出现稳态震荡,这个震荡幅度是控制***中一个非常重要的参数指标;
步骤8.2:设置暂态上升时间(risetime)用Matlab语言实现;暂态上升时间是指从控制***工作开始到实际电机转速为目标转速的95%时所消耗的时间;首先将暂态上升时间赋值为控制***运行时间,按照时间从前往后的顺序进行顺序查询,实际转速是从0开始逐渐增加,此时判断转速是否到达目标转速95%的范围内,如果没有达到,保存当前时间点,继续判断,当实际转速到达目标转速95%的范围时,即确定此时的时间为暂态上升时间(risetime)。
步骤8.3:设置超调量(overshot)用Matlab语言实现;超调量=(实际最大转速-目标转速)/目标转速×100%;首先将实际最大转速赋值为第一个速度采样值,然后依次时间顺序比较上一个时刻的速度采样值和当前时刻的速度采样值,在当前速度采样值大于上一时刻的速度采样值时,保存当前速度采样值,在当前速度采样值小于等于上一时刻的速度采样值时,继续时间顺序比较,通过顺序的迭代比较,最终找出最大的速度采样值,最后通过超调量公式计算出相应的超调量;
步骤8.4:设置暂态振荡次数(oscnum)用Matlab语言实现,暂态振荡次数用来表示控制***从暂态过渡到稳态时控制***所经历的震荡状态,震荡的次数是评价整个控制***设计和参数控制性能的最重要的一个指标;
首先将暂态振荡次数赋值为0,然后,当控制***进入暂态以后,依照时间顺序进行顺序查询,并判定此时的实际转速是否超出目标转速5%范围,如果实际转速超出目标转速的5%范围并回落一次,此时判断出***响应出现一次震荡;如果实际转速未超出目标转速的5%范围,则继续时间顺序查询,这样通过在暂态范围内的反复判断,震荡次数累加,最终得到***的暂态振荡次数;
步骤8.5:设置稳态上升时间(transtime)用Matlab语言实现,稳态上升时间是指控制***从启动开始,一直到控制***达到稳态时所消耗的时间,当实际电机转速稳定在目标转速的±2%时,判断此时的时间为稳态上升时间;稳态上升时间不同于暂态上升时间反映电机的快速机动性,稳态上升时间可以评价***的鲁棒性和稳定性,稳态上升时间这个参数的提高需要整个***结构的高效设计以及敏感参量的调整优化;
步骤8.6:设置稳态误差(stateerror)用Matlab语言实现;稳态误差代表了***进入稳态后的振动情况,分布在整个频带,如果持续时间长或者较幅度较大的话,会降低整个***的使用寿命,***硬件的负载会增加,故障率会增加,***可靠性降低;
首先将稳态误差赋值为速度反馈的最大值,然后根据时间顺序从后往前查询,依次判断速度反馈是否超出目标转速的±2%,当速度反馈超出目标转速的±2%时,则上一个时刻的速度反馈即为***稳态速度范围,这样就确定了***整体的稳态速度范围,然后在这个稳态速度范围内,求得转速的平均值即为稳态转速均值,利用这个稳态转速均值和目标转速进行取绝对值的差值计算,再除以目标速度就获得了稳态误差;
所述步骤8.3、步骤8.4、步骤8.5、须在控制***达到稳态后才能计算,当控制***未达不到稳态时,设置超调量和稳态误差均为1,设置暂态震荡次数为1,这样的设置覆盖了所有的控制***响应,保证了***参数评价函数在任何响应下均能对当前的***状态做出最客观有效的评价,以便进行有效的***及参量调整。
步骤9:采用Matlab语言设计遗传算法;为了进一步挖掘仿真***的价值,设计遗传算法利用仿真环境进行PID调节器的参数整定,采用现有成熟的遗传算法来进行参数整定可以节省大量的人力物力,有效提高***研发效率,具体包括以下几个步骤:
步骤9.1:遗传算法中的个体评价参数指标设置,遗传算法需要根据完善的个体评价参数指标设置来判断此个体的环境适应性,根据环境适应性来引导进行下一步的参数变异方向,缩小目标解范围,在步骤8中的五个评价参数指标,分别为暂态上升时间、稳态上升时间、暂态震荡次数、超调量、稳态误差,这时候没有确定的目标参数范围,参数寻优范围较大,寻优迭代次数多,加上暂态上升时间后,会导致响应畸形出现,在后期缩小目标参数范围后将暂态上升时间加入评价函数中去,使得变异方向更加准确;
步骤9.2:遗传算法随着进化的进行,其选择率、交叉算子、变异率是动态改变的,通过分析***要求,按照遗传算法的相关规则,确定遗传算法中一些具体参数的范围,比如种群中的个体个数,遗传率,变异等。
步骤9.3:遗传算法中的一次参数寻优是在一个种群中进行的,种群的个数决定了最优解的范围以及染色体维度,当染色体维度很高时,遗传算法很难找到较好的解;考虑到最开始生成的初始种群适应度极其低,个体之间差异不大,对于染色体维度为10的数据,在进化初期靠在一个种群中交叉进行全局搜索来搜寻较优的个体,这里限定一个种群中的个体个数为50;
步骤9.4:考虑到无法具体界定问题是否得到最优解,设置迭代次数为100;根据控制***评价参数指标,选择速度的暂态震荡次数、超调量、暂态上升时间、稳态上升时间和稳态误差,根据这5个评价参数指标的加权平均,得到目标函数,考虑到应用遗传算法,因此最后的目标函数就会越来越收敛为0;因此,可以根据自己对参数具体的性能要求设置一个目标函数的范围,在一次次迭代时,判断每次参数的目标函数是否在这个范围内,如果在这个范围内,则停止迭代;
步骤9.5:将步骤9.1中的5个评价参数指标按照一定的权重比相加,并且可以在寻优的不同时间分段修改各个参数的权重,以便达到最佳的寻优效果,设置上升时间的权重为0.1,设置超调量的权重为0.2,设置暂态震荡次数的权重为0.2,设置暂态上升时间和稳态上升时间的权重均为0.2,设置稳态误差的权重为0.3;以上五个评价参数指标按照各自权重比相加便得到寻优使用的目标函数;
步骤9.6:终止条件设置为对目标函数的限制,经过几次不使用目标函数的仿真发现,最优的参数解出现时,此时的目标函数小于1,因此,设置寻优终止条件为目标函数小于1;
步骤9.7:编写完整的遗传算法程序。
步骤10:根据实际永磁同步电机和IGBT参数,配置SIMULINK永磁同步电机和IGBT仿真模型,实际控制***中使用一款200W的永磁同步电机,仿真模型中的PMSM电动机设置和实际控制***中永磁同步电机参数相同;仿真模型中的PMSM电动机相数设置为3相,反电动势类型设置为正弦,电动机转子类型设置为圆形,机械端输入设置为转矩输入;
设置电动机定子电阻、电机定子电枢电感,电机定子绕组的永磁体磁链会自动设置,电压常数也被自动设置,设置电动机的转动惯量,设置电动机的粘滞阻尼,设置电动机的极对数,设置电动机的静摩擦系数;
逆变器作为整个控制***的关键环节,将母线电压转化为电机需要的三相电;设置桥臂数、电阻、电容为无穷大,根据实际***的器件选择电力电子器件类型、导通电阻,分别设置正向电压,最后设置开通和关断时间。
步骤11:利用步骤10中对逆变器和永磁同步电机的设置,完成步骤1到9的计算和设计,最终构建完整永磁同步电机空间矢量算法SIMULINK仿真模型,将各个模块相互关联设计为一个整体的控制***,处理相关变量。
步骤12:经过步骤9对遗传算法程序的设计,以及步骤11对控制***仿真模型的设计,调用遗传算法,采用仿真算法进行参数寻优,设置迭代次数后,计算机开始寻优计算,计算结束后,可以获取控制***最优速度环和电流环PID参数。
与现有技术相比较,本发明的有益效果在于:(1)本发明基于一种永磁同步电机控制矢量控制策略,通过对电机、逆变器等器件进行精准的控制模型设计,对实际控制***进行高相似度的仿真,设计出能够进行参数寻优的遗传算法,结合控制***的仿真模型,寻优得到该控制***的最优参数,从而提高控制***自身的性能;(2)该方法可以针对实际应用中多数永磁同步电机和控制***,进行参数寻优,而且,参数的性能明显优于利用工程经验调试的性能,有效挖掘了参数对***的价值;(3)本发明克服了传统控制***需要人工调试参数的缺点,降低了企业研发成本,有效提高了控制***的研发速度、精度以及可靠性;(4)提高了永磁同步电机控制***的开发效率,具有可观的社会效益和经济效益。
附图说明
图1是本发明的SVPWM扇区计算流程图;
图2是本发明的空间矢量作用时间Ta、Tb、Tc计算流程图;
图3是本发明PID控制算法流程图;
图4是本发明暂态上升时间计算流程图;
图5是本发明超调量计算流程图;
图6是本发明暂态振荡次数计算流程图;
图7是本发明稳态误差计算流程图;
图8是本发明算法流程图;
图9是本发明控制***仿真模型图;
图10是本发明模块结构图。
具体实施方式
具体实施例1:结合图1-图8,一种永磁同步电机控制***PID参数优化方法;包括以下几个步骤:
步骤1:根据实际控制***的内环电流环控制周期TC、外环速度环控制周期TS、晶振频率fosc、晶振周期Ts,计算仿真***的仿真步长T1、电流环周期TC1和速度环周期TS1;
步骤2:根据永磁同步电机额定电流、额定转速,进行归一化计算;
步骤3:CLARK变换;
步骤4:PARK变换;
步骤5:IPARK变换;
步骤6:SVPWM设计;
步骤7:PID参数离散化处理;
步骤8:建立控制***参数评价函数;
步骤9:遗传算法设计;
步骤10:配置SIMULINK永磁同步电机和IGBT仿真模型参数;
步骤11:构建永磁同步电机空间矢量算法SIMULINK仿真模型;
步骤12:进行参数寻优,获取控制***速度环和电流环PID优化参数。
所述步骤1中具体分析及计算如下:
由于控制***本身的复杂度,以及执行机构的复杂度很高,一次仿真和计算的数据量特别大,这对于控制***来说是不允许的,但是实际控制***往往都具有一定的响应延时,控制***响应时间往往较长,这就意味着仿真的时间必须较长才能看到控制效果;为了调节仿真***和控制***的矛盾,就必须对仿真***中的仿真步长T1、电流环周期TC1和速度环周期TS1进行特殊设置;
在实际应用中,实际控制***有两个控制周期,包括内环电流环控制周期和外环速度环的控制周期,内环电流环控制周期TC=66us,外环速度环控制周期TS=264us,实际控制***的晶振频率fosc=150MHz,实际控制***的晶振周期Ts=6.6ns,实际控制***的电流环的控制周期TC为10000×Ts=66us,实际控制***的外环速度环周期TS为4倍的实际控制***的内环电流环周期;考虑到如果将仿真***的仿真步长T1设置为6.6ns,仿真***的电流环控制周期和速度环控制周期和实际控制***的电流环周期和控制环周期一样,会造成巨大的数据量,计算复杂,实际验证发现,一次***仿真就会消耗半个小时,这样的仿真速度显然达不到我们的仿真需求。
设置仿真***中电流环的控制周期TC1为266us,速度环的控制周期TS1为1066us,仿真步长T1为0.5us,可以将仿真速度提高75倍;
需要注意由于实际控制***中的PID调节器中含有积分单元,实际控制***中电流环周期为控制***晶振周期的1000倍,仿真***周期修改为控制***晶振周期的133倍,这样的设置会导致PID调节器的不同,因此这里将PID调节器的积分参数与倍数相关联,避免了由于控制***晶振周期调整而导致的调节器差异。
步骤2的相关分析及计算如下:
将关键变量进行归一化处理是在工程计算和电力***中常用的一种数值标记方法,用来表示各物理参变量的相对值,简化运算过程,方便程序调试及纠错;归一化值=实际值/基准值,这个值是一种无量纲的量,一个物理量的归一化值在不同环境中是不固定的;这里进行归一化处理的变量有电流环的电流反馈和电流环的速度反馈;
根据实际***中电机的文档资料可以看出电机额定电流有效值为10A,设置电流标幺时的基准值为10,电流环的电流反馈设置为10以内,实际控制***中的电流经过AD采样后进行基准值为10的归一化处理,保证控制***和仿真***良好的对称性;
实际控制***中的永磁同步电机额定转速为3000RPM,设置电流环的速度反馈的基准值为3000,设置目标速度基准值为3000的归一化处理;
经过以上的变量归一化处理,仿真***的输入变量的范围设置在0~1之间,内部的坐标运算单元输入数据的范围设置在0~1之间,同样设置PID调节器的输出限幅为±1,就使得计算更加方便,易于进行计算和结果的分析比较。
步骤3的相关分析及计算如下:
永磁同步电机的控制***中需要进行一系列坐标变换,在常规控制***中,坐标变换可以通过程序实现也可以通过专业的芯片实现,这里仿真通过Simulink平台搭建,这些数学运算可以通过Matlab程序来实现。
Clark变换将一个三相坐标***变换到静止的两相α、β坐标***中,从物理意义上讲,就是将电机ABC三相电压等效到另外一个静止坐标系中去,如公式(1)所示:
其中,VAN、VBN分别指电机ABC三相中的AB两相的电压瞬时值,VSα、Vsβ分别指变换后的α、β坐标***中的电压矢量值。
步骤4的相关分析及计算如下:
PARK变换同样是一个坐标变换,将静止的两相α、β坐标***变换为一个转动的d、q轴坐标***中,从物理意义上讲,就是结合步骤3中的坐标变换将电机三相电流投影、等效到d、q轴坐标***中去,如公式(2)所示:
其中,uα、uβ分别指步骤3中公式(1)通过CLARK变换得到的两相α、β坐标***中的电压矢量,即VSα、VSβ;这里的ud、uq分别指PARK变换后的d、q坐标***中的电压矢量;
步骤5的相关分析及计算如下:
IPARK变换将转子的2轴电流矢量变换到定子的三相电流矢量中去,如公式(3)所示:
步骤6:SVPWM设计,SVPWM是整个矢量控制的关键,具体包括以下几个步骤,
步骤6.1:根据当前电机定子中的三相电流来确定矢量所处扇区seca,在进行矢量控制时,首先确定当前控制矢量的位置,再通过当前矢量位置控制指令确定下一时刻中电机三相线圈中的电流信号;
考虑到算法比较复杂,在计算时包含很多中间计算过程,同时含有很多中间变量,其中Va、Vb、Vc就是其中的三个电压控制矢量中间变量;
首先默认seca为0,根据步骤5中计算出的uα和uβ,计算电压控制矢量中间变量Va、Vb、Vc,计算公式如(4)所示:
式中,Ualpha和Ubeta分别对应公式(3)中的uα和uβ。
然后将这三个电压控制矢量中间变量Va、Vb、Vc和0分别作比较,当Va>0时,seca置数为1,当Va≤0时,执行Vb>0的比较;当Vb>0时,在seca原有数值的基础上将加一,当Vb≤0时,执行Vc>0的比较;当Vc>0时,就在Vc原有数数值的基础上加4,当Vc≤0时,结束;
步骤6.2:根据步骤6.1中扇区seca和电压控制矢量中间变量Va、Vb、Vc,确定电压控制矢量中间变量Va、Vb、Vc的作用时间Ta、Tb、Tc,矢量控制的核心就在于这部分,实质是一种对在三相正弦波中加入了两个零矢量的调制波进行规则采样的一种变形SPWM;SVPWM的调制过程是在空间实现的,没有明确的线电压调制波,SPWM是在ABC坐标系下分相实现的;
根据步骤6.1中计算出的扇区位置信息,电压控制矢量中间变量Va、Vb、Vc,会有不同的作用时间Ta、Tb、Tc;根据扇区seca的数值,分别计算电压控制矢量中间变量Va、Vb、Vc的三个作用时间Ta、Tb、Tc;当seca=0时,根据公式(5)计算Ta、Tb、Tc时间,此时间即为三个作用时间Ta、Tb、Tc,且结束计算;当seca≠0时,执行seca=1,根据公式(5)计算Ta、Tb、Tc的时间,此时间即为三个作用时间Ta、Tb、Tc且结束计算;当seca≠1时,执行seca=2,计算Ta、Tb、Tc的时间,此时间即为三个作用时间Ta、Tb、Tc且结束计算;以此类推,执行到当seca=5时,计算Ta、Tb、Tc时间,结束;
其中,NUB为速度环控制周期时间,t1、t2分别为两个中间变量;当seca为其它数值时,按照SVPWM的算法即可计算出时间Ta、Tb、Tc;其中SVPWM算法为现有算法,其中公式均可在相关资料中找到。
步骤6.3:根据步骤6.2中计算出的三个作用时间Ta、Tb、Tc生成控制逆变器的六路PWM矢量控制信号;首先将三个作用时间Ta、Tb、Tc分别与一个三角波进行滞回比较,产生三路PWM矢量控制信号,然后将三路PWM矢量控制信号反相,又生成三路PWM矢量控制信号,共产生六路PWM矢量控制信号,六路PWM矢量控制信号分别为:U_true、U_false、V_true、V_false、W_true、W_false,其中六路PWM矢量控制信号分为三组,每组PWM矢量控制信号中的两个PWM矢量控制信号相反,作用于一组桥臂中的上下两个桥臂,从而,生成的六路PWM矢量控制信号分别作为逆变器的六个开关信号;通过这六路PWM矢量控制信号可以控制逆变器从而控制永磁同步电机。
步骤7的具体分析如下:
使用matlab语言实现离散化的PID调节器;考虑到利用Matlab语言实现的PID调节器无法单独实现历史值的保存,所以利用Simulink中的Memory模块进行上一次历史值的保存,在下一次计算时将上一次历史值重新输入,在第一次PID计算时设置所有输入均为零,设置保存的变量有:历史误差(spd_old_SatErr)、历史输出(spd_old_Out)、历史输入(spd_old_Ui);
具体为:首先更新控制***周期,然后根据PID的计算公式来计算此时的PID输出值,对PID的输出值进行限幅操作,防止过大的控制信号所造成的控制***不稳定现象,最后,将计算的中间变量和输出值进行保存,以便下一次的PID计算,至此,PID的参数离散化处理结束。
所述步骤8:
在对整个控制***的控制效果进行评价时,常规的方法是观看电机的电流环响应、速度环响应以及转矩响应,直观的观看无法进行细致的效果评价,当单个参量调整后,无法具体量化和评价该参量改变后的控制效果变化;建立有效的控制***参数评价函数,以此进行下一步控制参数优化和***调整,具体的控制***参数评价函数包含以下几个步骤:
步骤8.1:控制***中将转速作为主要性能指标,设置五个评价参数指标均与电机转速相关,设置暂态上升时间用来观察控制***的快速机动能力;稳态上升时间可以评价***的鲁棒性和稳定性;当电机转速稳定在目标转速的2%时即控制***进入稳态;设置控制***超调量和暂态振荡次数,用来评价整个控制***的抗干扰情况;设置***稳态误差,用来评价控制***的稳态性能,当控制***进入2%的稳态范围内后,会出现稳态震荡,这个震荡幅度是控制***中一个非常重要的参数指标;
步骤8.2:设置暂态上升时间(risetime)用Matlab语言实现;暂态上升时间是指从控制***工作开始到实际电机转速为目标转速的95%时所消耗的时间;首先将暂态上升时间赋值为控制***运行时间,按照时间从前往后的顺序进行顺序查询,实际转速是从0开始逐渐增加,此时判断转速是否到达目标转速95%的范围内,如果没有达到,保存当前时间点,继续判断,当实际转速到达目标转速95%的范围时,即确定此时的时间为暂态上升时间(risetime)。
步骤8.3:设置超调量(overshot)用Matlab语言实现;超调量=(实际最大转速-目标转速)/目标转速×100%;首先将实际最大转速赋值为第一个速度采样值,然后依次时间顺序比较上一个时刻的速度采样值和当前时刻的速度采样值,在当前速度采样值大于上一时刻的速度采样值时,保存当前速度采样值,在当前速度采样值小于等于上一时刻的速度采样值时,继续时间顺序比较,通过顺序的迭代比较,最终找出最大的速度采样值,最后通过超调量公式计算出相应的超调量;
步骤8.4:设置暂态振荡次数(oscnum)用Matlab语言实现,暂态振荡次数用来表示控制***从暂态过渡到稳态时控制***所经历的震荡状态,震荡的次数是评价整个控制***设计和参数控制性能的最重要的一个指标;
首先将暂态振荡次数赋值为0,然后,当控制***进入暂态以后,依照时间顺序进行顺序查询,并判定此时的实际转速是否超出目标转速5%范围,如果实际转速超出目标转速的5%范围并回落一次,此时判断出***响应出现一次震荡;如果实际转速未超出目标转速的5%范围,则继续时间顺序查询,这样通过在暂态范围内的反复判断,震荡次数累加,最终得到***的暂态振荡次数;
步骤8.5:设置稳态上升时间(transtime)用Matlab语言实现,稳态上升时间是指控制***从启动开始,一直到控制***达到稳态时所消耗的时间,当实际电机转速稳定在目标转速的±2%时,判断此时的时间为稳态上升时间;稳态上升时间不同于暂态上升时间反映电机的快速机动性,稳态上升时间可以评价***的鲁棒性和稳定性,稳态上升时间这个参数的提高需要整个***结构的高效设计以及敏感参量的调整优化;
步骤8.6:设置稳态误差(stateerror)用Matlab语言实现;稳态误差代表了***进入稳态后的振动情况,分布在整个频带,如果持续时间长或者较幅度较大的话,会降低整个***的使用寿命,***硬件的负载会增加,故障率会增加,***可靠性降低;
首先将稳态误差赋值为速度反馈的最大值,然后根据时间顺序从后往前查询,依次判断速度反馈是否超出目标转速的±2%,当速度反馈超出目标转速的±2%时,则上一个时刻的速度反馈即为***稳态速度范围,这样就确定了***整体的稳态速度范围,然后在这个稳态速度范围内,求得转速的平均值即为稳态转速均值,利用这个稳态转速均值和目标转速进行取绝对值的差值计算,再除以目标速度就获得了稳态误差;
所述步骤8.3、步骤8.4、步骤8.5、须在控制***达到稳态后才能计算,当控制***未达不到稳态时,设置超调量和稳态误差均为1,设置暂态震荡次数为1,这样的设置覆盖了所有的控制***响应,保证了***参数评价函数在任何响应下均能对当前的***状态做出最客观有效的评价,以便进行有效的***及参量调整。
步骤9:采用Matlab语言设计遗传算法;为了进一步挖掘仿真***的价值,设计遗传算法利用仿真环境进行PID调节器的参数整定,采用现有成熟的遗传算法来进行参数整定可以节省大量的人力物力,有效提高***研发效率,具体包括以下几个步骤:
步骤9.1:遗传算法中的个体评价参数指标设置遗传算法需要根据完善的个体评价参数指标设置来判断此个体的环境适应性,根据环境适应性来引导进行下一步的参数变异方向,缩小目标解的范围,在步骤8中的五个评价参数指标,分别为暂态上升时间、稳态上升时间、暂态震荡次数、超调量、稳态误差,这时候没有确定的目标参数范围,参数寻优范围较大,寻优迭代次数多,加上暂态上升时间后,会导致响应畸形出现,在后期缩小目标参数范围后将暂态上升时间加入评价函数中去,使得变异方向更加准确;
步骤9.2:遗传算法随着进化的进行,其选择率、交叉算子、变异率是动态改变的,通过分析***要求,按照遗传算法的相关规则,确定遗传算法中一些具体参数的范围,比如种群中的个体个数,遗传率,变异等。
步骤9.3:遗传算法中的一次参数寻优是在一个种群中进行的,种群的个数决定了最优解的范围以及染色体维度,当染色体维度很高时,遗传算法很难找到较好的解;考虑到最开始生成的初始种群适应度极其低,个体之间差异不大,对于染色体维度为10的数据,在进化初期靠在一个种群中交叉进行全局搜索来搜寻较优的个体,这里限定一个种群中的个体个数为50;
步骤9.4:考虑到无法具体界定问题是否得到最优解,设置迭代次数为100;根据控制***评价参数指标,选择速度的暂态震荡次数、超调量、暂态上升时间、稳态上升时间和稳态误差,根据这5个评价参数指标的加权平均,得到目标函数,考虑到应用遗传算法,因此最后的目标函数就会越来越收敛为0;因此,可以根据自己对参数具体的性能要求设置一个目标函数的范围,在一次次迭代时,判断每次参数的目标函数是否在这个范围内,如果在这个范围内,则停止迭代;
步骤9.5:将步骤9.1中的5个评价参数指标按照一定的权重比相加,并且可以在寻优的不同时间分段修改各个参数的权重,以便达到最佳的寻优效果,设置上升时间的权重为0.1,设置超调量的权重为0.2,设置暂态震荡次数的权重为0.2,设置暂态上升时间和稳态上升时间的权重均为0.2,设置稳态误差的权重为0.3;以上五个评价参数指标按照各自权重比相加便得到寻优使用的目标函数;
步骤9.6:终止条件设置为对目标函数的限制,经过几次不使用目标函数的仿真发现,最优的参数解出现时,此时的目标函数小于1,因此,设置寻优终止条件为目标函数小于1;
步骤9.7:编写完整的遗传算法程序。
所述步骤10:根据实际永磁同步电机和IGBT参数,配置SIMULINK永磁同步电机和IGBT仿真模型,实际控制***中使用一款200W的永磁同步电机,仿真模型中的PMSM电动机设置和实际控制***中永磁同步电机参数相同;仿真模型中的PMSM电动机相数设置为3相,反电动势类型设置为正弦,电动机转子类型设置为圆形,机械端输入设置为转矩输入;
设置电动机定子电阻、电机定子电枢电感,电机定子绕组的永磁体磁链会自动设置,电压常数也被自动设置,设置电动机的转动惯量,设置电动机的粘滞阻尼,设置电动机的极对数,设置电动机的静摩擦系数;
逆变器作为整个控制***的关键环节,将母线电压转化为电机需要的三相电;设置桥臂数、电阻、电容为无穷大,根据实际***的器件选择电力电子器件类型、导通电阻,分别设置正向电压,最后设置开通和关断时间。
所述步骤11:利用步骤10中对逆变器和永磁同步电机的设置,完成步骤1到9的计算和设计,最终构建完整永磁同步电机空间矢量算法SIMULINK仿真模型,将各个模块相互关联设计为一个整体的控制***,处理相关变量。
步骤12:经过步骤9对遗传算法程序的设计,以及步骤11对控制***仿真模型的设计,调用遗传算法,采用仿真算法进行参数寻优,设置迭代次数后,计算机开始寻优计算,计算结束后,可以获取控制***最优速度环和电流环PID参数。
结合图8为本发明的程序流程图,由于本发明中永磁同步电机的控制策略采用的是矢量控制策略;在程序开始之后,首先定义并进行说明,然后计算控制周期,接着进行相应的速度环、电流环的入口参数加载及计算,接着判定是否到达速度控制周期,如果到达速度控制周期,则进行反馈速度的计算,具体包括速度PID的计算,接着进行PID调节器的数据更新输出;如果没有到达控制周期,则输出上次更新值。
接着进行电流环的控制周期计算,如果时间够一个周期,则进行相应的计算和控制量的输出,包括一些坐标变换和SVPWM的扇区计算,最后计算出三个控制时间信号Ta、Tb、Tc。如果此时没有到达电流的控制周期,则输出上次的更新值;根据电流环的输出更新或者输出保持,这样就得到了此时的三个控制时间Ta、Tb、Tc,接着进行六路PWM信号的计算输出,六路控制信号直接作用于逆变器的六个桥臂;最后进行基础的时钟更新,至此整个流程结束。
结合图9为本发明中永磁同步电机控制***的模型仿真图,整个控制***模型建立在Matlab8.5/Simulink环境下,图中包含有永磁同步电机,逆变器,核心控制程序模块,示波器等模块。
结合图10为本发明的模块结构图,从图中可以看出,本发明主要包含两部分内容,遗传算法模块和电机控制***模型,遗传算法模块主要包含对速度信号的响应与处理和控制参数寻优算法两部分,电机控制***模型即为图9的模型。
具体实施例2:具体实施例2:本发明基于一种永磁同步电机控制***PID参数优化方法,用户可以根据自己的控制***的电机、逆变器设置仿真环境中的器件,根据自己控制程序中的相关配置,设置仿真***中的相关配置选项,同时修改相关的参数范围,接下来就可以使用本发明来进行控制参数的整定与寻优,最后将仿真环境中的参数配置应用到自己实际的控制***中去。
仿真环境配置及设置如下:Windows 10x64操作***;Intel(R)Core(TM)i5-3230M处理器为;8G内存;仿真软件使用MathWorks公司的Matlab8.5,包含其中的Simulink模块。
实际控制***配置如下:基于DSP的主控制电路,大功率电源模块,基于IGBT的逆变电路模块,高精度电流采集传感器,上位机软件。
用户在建立了实际的永磁同步电机控制***后,根据实际永磁同步电机控制***的特征对仿真***进行设置便可以进行参数寻优操作,按照如下操作步骤进行便可:
步骤A:查看实际永磁同步电机控制***的具体设置,确定仿真环境需求,具体的仿真环境需求包括需要得到的控制器参数,例如是否需要电流环的控制参数等。
步骤B:根据永磁同步电机资料确定仿真环境中永磁同步电机参数;例如电机的额定电压、额定电流、额定功率、额定转矩、极对数、定子电阻和定子电感等详细的电机设计参数;通过这些参数,进而对控制***模型中的电机模型进行设置。
步骤C:根据实际永磁同步电机***中的逆变器资料确定仿真环境中的逆变器配置信息,具体包括导通电阻,上升时间,下降时间等参数信息。
步骤D:检查永磁同步电机控制器中的程序设置,包括电流环控制周期、速度环控制周期,PID控制器类型,根据这些数据配置仿真环境中模块的输入采样频率,设置示波器的数据保存长度。
步骤E:查看实际***中电机相电流大小,AD采样设置,电机角度反馈等数据,对仿真***进行标幺处理,标幺处理的数值根据实际情况而定,原则就是电流标幺的数值为电机相电流的额定数值,AD采样根据实际***中的AD模块进行AD模块的位数设定,电机角度的反馈根据电机的极对数的不同,配置不同的机械角到电角度的变换关系。
步骤F:根据实际控制***的需求,配置遗传算法中的个体个数,染色体个数,迭代次数,其中的具体个数根据控制***和寻优参数的不同会有很大差异,具体的数值可以参考成熟遗传算法中的具体设置。
步骤G:根据实际永磁同步电机***确定寻优参数的最优解范围,这个范围属于用户自定义的一个范围,由于不同控制***的性能要求不同,没有统一的范围要求,即如果用户确定此控制***最终所需参数的具体指标,计算出响应的控制***性能范围,若这个范围可以确定,则跳至步骤I,否则继续步骤H。
步骤H:如果不能确定寻优参数的最优解范围,在遗传算法程序中设置目标参数范围,这些参数的范围没有一个统一的限定,因为每个***的PID参数都有很大差异,用户可以通过自己控制***的特征来进行相应的参数范围设定;区间设置较大,则目标参数范围较大,设置遗传算法中的迭代次数大于150次,不设终止条件。
步骤I:如果可以确定目标参数的最优解范围,则根据这个范围设置种群的范围一般范围可以设定为50,但是用户最好根据成熟遗传算法的相关设定来设置种群的范围,注意这个范围的设定一定得非常准确,否则会造成后边的参数寻优失败;
步骤J:根据自己需求设计参数的响应指标:包括暂态上升时间,暂态振荡次数,稳态调节时间,超调量,稳态误差这些参数,包括目标解的范围,如果目标参数的范围可估计,则这个值也可大致估计。
步骤K:根据步骤J确定的目标范围和各个性能指标设计寻优终止条件。
经过这些步骤的设置,整个仿真环境的设计就基本结束,如果条件允许,下一步可以使用针对实际控制***控制效果较好的参数,运用到仿真***中去,以此检验仿真***的可靠性。
步骤L:启动遗传算法,开始参数寻优。
步骤M:当寻优结束后,查看目标函数经过屡次迭代后的变化趋势,如果目标解收敛并且变得很小,则寻优成功,将目标参数运用至实际***即可;如果参数不符合预期,则返回检查步骤H或者步骤I,重新开始寻优即可。
表1
环境设置 | 具体设置 |
仿真步长 | 5.00E-07 |
仿真时间 | 0.4s |
求解器类型 | Fixed step |
输出数据限制 | 800000 |
数据类型 | double |
***采样时间 | inherited |
遗传算法设置 | 具体设置 |
种群个体个数 | 50 |
染色体个数 | 10 |
迭代次数 | 150 |
速度环P值范围 | 0到1 |
速度环D值范围 | 0到100 |
电流环P值范围 | 0到10 |
电流环D值范围 | 0到100 |
示波器数据限制 | 不限制 |
电动机设置 | 具体设置 |
Number of phases | 3 |
Back EMF waveform | Sinusoidal |
Rotor type | Round |
Mechanical input | Torque Tm |
Stator phase resistance Rs(ohm) | 0.2 |
Stator phase Inductance Ls(H) | 0.0045 |
Machine constant | Torque Constant(N.m/A_peak) |
Inertia(J(kg.m^2) | 0.00001814 |
viscous damping(F(N.m.s)) | 0.0002024 |
pole pairs | 4 |
static friction(F(N.m)) | 0 |
Rotor flux position when theta=0 | original Park |
表1中包含所有的环境设置,其中设置范围为具体实施例中根据依次步骤得到具体设置。
表2
表2为两台电机的具体参数。
表3
表3寻优参数及性能比较,表3为利用表2中的两台电机在实际***中的参数测试结果,其中A型电机的环境设定为表1所示,B型电机的环境设定根据juice实施例设定即可;其中的经验法参数为工程人员利用经验调试出的PID参数,寻优法为利用本发明方法得到的PID参数,测试转速设置为1000RPM;除此之外表3寻优参数及性能比较统计了经验法和寻优法在实际***中的试验性能,结果表明,寻优法得到的参数在实际试验中的效果明显优于经验参数的效果,进一步证明了本发明的价值和实用性。
Claims (8)
1.一种永磁同步电机控制***PID参数寻优方法,其特征在于,包括
步骤1:根据实际控制***的内环电流环控制周期TC、外环速度环控制周期TS、晶振频率fosc、晶振周期Ts,计算仿真***的仿真步长T1、电流环周期TC1和速度环周期TS1;
步骤2:根据实际***永磁同步电机的额定电流、额定转速,将电流环的电流反馈和电流环的速度反馈进行归一化计算;
步骤3:CLARK变换;
步骤4:PARK变换;
步骤5:IPARK变换;
步骤6:SVPWM设计;
步骤7:使用matlab语言实现离散化的PID调节器;
步骤8:建立控制***参数评价函数;
步骤9:采用Matlab语言设计遗传算法;
步骤10:配置SIMULINK永磁同步电机和IGBT仿真模型参数;
步骤11:构建永磁同步电机空间矢量算法SIMULINK仿真模型;
步骤12:进行参数寻优,获取控制***速度环和电流环PID优化参数。
2.根据权利要求1所述的一种永磁同步电机控制***PID参数寻优方法,其特征在于,所述步骤1具体分析如下:
考虑到将仿真控制***的仿真步长T1设置为6.6ns,仿真控制***的电流环控制周期和速度环控制周期和实际控制***的电流环和控制环周期一样,会造成巨大的数据量,计算复杂,这样的仿真速度达不到仿真需求;所以设置仿真控制***中电流环的控制周期TC1为266us,速度环的控制周期TS1为1066us,仿真步长T1为0.5us,可以将仿真速度提高75倍;
考虑到实际控制***中的PID调节器中含有积分单元,实际控制***中电流环周期为控制***晶振周期的1000倍,仿真控制***周期为控制***晶振周期的1000倍,133倍,这样的设置会导致PID调节器的不同,因此这里将PID调节器的积分参数与倍数相关联,避免由于控制***晶振周期的1000倍,调整而导致的调节器差异。
3.根据权利要求1所述的一种永磁同步电机控制***PID参数寻优方法,其特征 在于,所述步骤3具体包括:
永磁同步电机的控制***中需要进行一系列坐标变换,仿真通过Simulink平台搭建,通过Matlab程序来实现数学的运算;
Clark变换将一个三相坐标***变换到静止的两相α、β坐标***中,从物理意义上讲,就是将电机ABC三相电压等效到另外一个静止坐标系中去,如公式(1)所示:
其中,VAN、VBN分别指电机ABC三相中的AB两相的电压瞬时值,VSα、VSβ分别指变换后的α、β坐标***中的电压矢量值;
所述步骤4的计算如下:
PARK变换同样是一个坐标变换,将静止的两相α、β坐标***变换为一个转动的两相d、q轴坐标***中,从物理意义上讲,就是结合步骤3中的坐标变换将电机三相电流投影、等效到d、q轴坐标***中去,如公式(2)所示:
其中,uα、uβ分别指步骤3中公式(1)通过CLARK变换得到的两相α、β坐标***中的电压矢量,即VSα、VSβ;这里的ud、uq分别指PARK变换后的d、q坐标***中的电压矢量;
所述步骤5的计算如下:
IPARK变换将转子的两相电流矢量变换到定子的三相电流矢量中,如公式(3)所示:
。
4.根据权利要求1所述的一种永磁同步电机控制***PID参数寻优方法,其特征在于,所述的步骤6具体包括以下几个步骤:
步骤6.1:根据电机定子中的三相电流来确定矢量所处扇区seca,在进行矢量控制时,首先确定当前控制矢量的位置,再通过当前矢量位置控制指令确定下一时刻中电机三相线圈中的电流信号;考虑到算法比较复杂,在计算时包含很多中间计算过程,同时含有很多中间变量,其中Va、Vb、Vc就是其中的三个电压控制矢量中间变量;
首先默认seca为0,根据步骤5中计算出的uα和uβ,计算电压控制矢量中间变量Va、Vb、Vc,计算公式如(4)所示:
Va=Ubeta
Vb=(-0.5*Ubeta+0.8660254*Ualpha) (4)
Vc=(-0.5*Ubeta-0.8660254*Ualpha)
式中,Ualpha和Ubeta分别对应公式(3)中的uα和uβ;
然后将这三个电压控制矢量中间变量Va、Vb、Vc分别和零作比较,当Va>0时,seca置数为1,当Va≤0时,执行Vb>0的比较;当Vb>0时,在seca原有数值的基础上将加一,当Vb≤0时,执行Vc>0的比较;当Vc>0时,就在Vc原有数数值的基础上加4,当Vc≤0时,结束;
步骤6.2:根据步骤6.1中扇区seca和电压控制矢量中间变量Va、Vb、Vc,确定电压控制矢量中间变量Va、Vb、Vc的作用时间Ta、Tb、Tc,矢量控制的核心就在于这部分,实质是一种对在三相正弦波中加入了两个零矢量的调制波进行规则采样的一种变形SPWM;SVPWM的调制过程是在空间实现的,没有明确的线电压调制波,SPWM是在ABC坐标系下分相实现的;
根据步骤6.1中计算出的扇区位置信息,电压控制矢量中间变量Va、Vb、Vc,会有不同的作用时间Ta、Tb、Tc;根据扇区seca的数值,分别计算电压控制矢量中间变量Va、Vb、Vc的三个作用时间Ta、Tb、Tc;当seca=0时,根据公式(5)计算Ta、Tb、Tc时间,此时间即为三个作用时间Ta、Tb、Tc,且结束计算;当seca≠0时,执行seca=1,根据公式(5)计算Ta、Tb、Tc的时间,此时间即为三个作用时间Ta、Tb、Tc且结束计算;当seca≠1时,执行seca=2,此后依次按照SVPWM算法中的公式计算Ta、Tb、Tc的时间,此时间即为三个作用时间Ta、Tb、Tc;以此类推,执行到当seca=5时,计算Ta、Tb、Tc时间,结束;
其中,NUB为速度环控制周期时间,t1、t2分别为两个中间变量;当seca为其它数值时,按照SVPWM的算法即可计算出时间Ta、Tb、Tc;其中SVPWM算法为现有算法,其中公式均可在相关资料中找到。
步骤6.3:根据步骤6.2中计算出的三个作用时间Ta、Tb、Tc生成控制逆变器的六路PWM矢量控制信号;首先将三个作用时间Ta、Tb、Tc分别与一个三角波进行滞回比较,产生三路PWM矢量控制信号,然后将三路PWM矢量控制信号反相,又生成三路PWM矢量控制信号,共产生六路PWM矢量控制信号,六路PWM矢量控制信号分别为:U_true、U_false、V_true、V_false、W_true、W_false,其中六路PWM矢量控制信号分为三组,每组PWM矢量控制信号中的两个PWM矢量控制信号相反,作用于一组桥臂中的上下两个桥臂,从而,生成的六路PWM矢量控制信号分别作为逆变器的六个开关信号;通过这六路PWM矢量控制信号可以控制逆变器从而控制永磁同步电机;
所述步骤7具体是指:使用matlab语言实现离散化的PID调节器;考虑到利用Matlab语言实现的PID调节器无法单独实现历史值的保存,利用Simulink中的Memory模块进行上一次历史值的保存,在下一次计算时将上一次历史值重新输入,在第一次PID计算时设置所有输入均为零,设置保存的变量有:历史误差、历史输出、历史输入;
具体为:首先更新控制周期,然后根据PID的计算公式来计算此时的PID输出值,对PID的输出值进行限幅操作,防止过大的控制信号所造成的控制***不稳定,最后,将计算的输出值进行保存,以便下一次的PID计算以便下一次的PID计算,至此,PID的参数离散化处理结束。
5.根据权利要求1所述的一种永磁同步电机控制***PID参数寻优方法,其特征在于,所述步骤8:在对整个控制***的控制效果进行评价时,常规的方法是观看电机的电流环响应、速度环响应以及转矩响应,直观的观看无法进行细致的效果评价,当单个参量调整后,无法具体量化和评价此参量改变后的控制效果变化;建立有效的控制*** 参数评价函数,以此进行下一步控制参数优化和***调整,具体的控制***参数评价函数包含以下几个步骤:
步骤8.1:控制***中将转速作为主要性能指标,设置五个评价参数指标均与电机转速相关,设置暂态上升时间用来观察控制***的快速机动能力;稳态上升时间可以评价***的鲁棒性和稳定性;当电机转速稳定在目标转速的2%时即控制***进入稳态;设置控制***超调量和暂态振荡次数,用来评价整个控制***的抗干扰情况;设置***稳态误差,用来评价控制***的稳态性能,当控制***进入2%的稳态范围内后,会出现稳态震荡,这个震荡幅度是控制***中一个非常重要的参数指标;
步骤8.2:设置暂态上升时间用Matlab语言实现;暂态上升时间是指从控制***工作开始到实际电机转速为目标转速的95%时所消耗的时间;首先将暂态上升时间赋值为控制***运行时间,按照时间从前往后的顺序进行顺序查询,实际转速是从0开始逐渐增加,此时判断转速是否到达目标转速95%的范围内,如果没有到达,保存当前时间点,继续判断,当当前实际转速到达目标转速95%的范围时,即确定此时的时间为设置暂态上升时间步骤8.3:将超调量用Matlab语言实现;首先将实际最大转速赋值为第一个速度采样值,然后依次时间顺序比较上一个时刻的速度采样值和当前时刻的速度采样值,当当前速度采样值大于上一时刻的速度采样值时,保存当前速度采样值,当当前速度采样值小于等于上一时刻的速度采样值时,继续时间顺序比较,通过顺序的迭代比较,最终找出最大的速度采样值,最后通过超调量公式计算出相应的超调量;
步骤8.4:设置暂态振荡次数用Matlab语言实现,暂态振荡次数用来表示控制***从暂态过渡到稳态时控制***所经历的震荡状态,震荡的次数是评价整个控制***设计和参数控制性能的最重要的一个指标;
首先将暂态振荡次数赋值为0,然后,当控制***进入暂态以后,依照时间顺序进行顺序查询,并判定此时的实际转速是否超出目标转速5%范围,如果实际转速超出目标转速的5%范围并回落一次,此时判断出***响应出现一次震荡;如果实际转速未超出目标转速的5%范围,则继续时间顺序查询,这样通过在暂态范围内的反复判断,震荡次数累加,最终得到***的暂态振荡次数;
步骤8.5:设置稳态上升时间用Matlab语言实现,稳态上升时间是指***从启动开始,一直到***达到稳态时所消耗的时间,当实际电机转速稳定在目标转速的±2%时,判断此时的时间为稳态上升时间;稳态上升时间不同于暂态上升时间反映电机的快速机动性,稳态上升时间可以评价***的鲁棒性和稳定性,稳态上升时间这个参数的提高需要整 个***结构的高效设计以及敏感参量的调整优化;
步骤8.6:设置稳态误差用Matlab语言实现;稳态误差代表了***进入稳态后的振动情况,分布在整个频带;
首先将稳态误差赋值为速度反馈的最大值,然后根据时间顺序从后往前查询,依次判断速度反馈是否超出目标转速的±2%,当速度反馈超出目标转速的±2%时,则上一个时刻的速度反馈即为***稳态速度范围,这样就确定了***整体的稳态速度范围,然后在这个稳态速度范围内,求得速度的平均值即为稳态速度均值,利用这个稳态速度均值和目标转速进行取绝对值的差值计算,再除以目标速度就获得了稳态误差;
所述步骤8.3、步骤8.4、步骤8.5、须在控制***达到稳态后才能计算,当控制***一直达不到稳态时,设置超调量和稳态误差均为1,设置暂态震荡次数为1,保证了***参数评价体系在任何响应下均能对当前的***状态做出最客观有效的评价,以便进行有效的***及参量调整。
6.根据权利要求1所述的一种永磁同步电机控制***PID参数寻优方法,其特征在于,所述步骤9:采用Matlab语言设计遗传算法;为了进一步挖掘仿真***的价值,设计遗传算法利用仿真环境进行PID调节器的参数整定,采用现有成熟的遗传算法来进行参数整定可以节省大量的人力物力,有效提高***研发效率,具体包括以下几个步骤:
步骤9.1:遗传算法中的个体评价参数指标设置,遗传算法需要根据完善的个体评价参数指标来判断此个体的环境适应性,根据环境适应性来引导进行下一步的参数变异方向,缩小目标解范围,在步骤8中的五个评价参数指标,分别为暂态上升时间、稳态上升时间、暂态震荡次数、超调量、稳态误差,这时候没有确定的目标参数范围,参数寻优范围较大,寻优迭代次数多,加上暂态上升时间后,会导致响应畸形出现,在后期缩小目标参数范围后将暂态上升时间加入评价函数中去,使得变异方向更加准确;
步骤9.2:遗传算法随着进化的进行,其选择率、交叉算子、变异率是动态改变的,通过分析控制***要求,按照遗传算法的相关规则,确定遗传算法中具体参数的范围;
步骤9.3:遗传算法中的一次参数寻优是在一个种群中进行的,种群的个数决定了最优解的范围以及染色体维度,考虑到最开始生成的初始种群适应度极其低,个体之间差异不大,对于染色体维度为10的数据,在进化初期靠在一个种群中交叉进行全局搜索来搜寻较优的个体;
步骤9.4:考虑到无法具体界定问题是否得到最优解,设置迭代次数为100;根据控制***评价参数指标,选择速度的暂态震荡次数、超调量、暂态上升时间、稳态上升时间和稳态误差,根据这5个评价参数指标的加权平均,得到目标函数,考虑到应用遗传算法,因此最后的目标函数就会越来越收敛为0;
步骤9.5:将步骤9.1中的5个评价参数指标按照一定的权重比相加,并且可以在寻优的不同时间段修改各个参数指标的权重,以便达到最佳的寻优效果;设置超调量的权重为0.2,设置暂态震荡次数的权重为0.2,设置暂态上升时间和稳态上升时间的权重均为0.2,设置稳态误差的权重为0.3;将以上五个评价参数指标按照各自权重比相加便得到寻优使用的目标函数;
步骤9.6:终止条件设置为对目标函数的限制,设置寻优终止条件为目标函数小于1。
7.根据权利要求1所述的一种永磁同步电机控制***PID参数寻优方法,其特征在于,所述步骤11:利用步骤10中对逆变器和永磁同步电机的设置,完成步骤1到9的的计算和设计,最终构建完整永磁同步电机空间矢量算法SIMULINK仿真模型。
8.根据权利要求1所述的一种永磁同步电机控制***PID参数寻优方法,其特征在于,所述步骤12:经过所述步骤9对遗传算法程序的设计,以及所述步骤11对控制***仿真模型的设计,调用遗传算法,采用仿真算法进行参数寻优,设置迭代次数后,计算机开始寻优计算,计算结束后,可以获取控制***最优速度环和电流环PID参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610561870.5A CN106208867A (zh) | 2016-07-16 | 2016-07-16 | 一种永磁同步电机控制***pid参数寻优方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610561870.5A CN106208867A (zh) | 2016-07-16 | 2016-07-16 | 一种永磁同步电机控制***pid参数寻优方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106208867A true CN106208867A (zh) | 2016-12-07 |
Family
ID=57476015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610561870.5A Pending CN106208867A (zh) | 2016-07-16 | 2016-07-16 | 一种永磁同步电机控制***pid参数寻优方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106208867A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107919823A (zh) * | 2017-12-12 | 2018-04-17 | 长安大学 | 一种永磁电机离散仿真模型设计方法 |
CN109145522A (zh) * | 2018-10-29 | 2019-01-04 | 苏州科技大学 | 基于可扩缩式动态性能评价函数的进给***伺服优化方法 |
CN109521669A (zh) * | 2018-11-12 | 2019-03-26 | 中国航空工业集团公司北京航空精密机械研究所 | 一种基于强化学习的转台控制参数自整定方法 |
CN110456632A (zh) * | 2019-09-12 | 2019-11-15 | 北京航空航天大学 | 一种针对不确定性pid控制***的时变可靠度评估方法 |
CN111628687A (zh) * | 2020-05-28 | 2020-09-04 | 武汉理工大学 | 一种基于熵权法的永磁同步电机多目标参数优化方法 |
CN112731808A (zh) * | 2020-12-18 | 2021-04-30 | 上海海事大学 | 一种可靠性测试设备控制方法 |
CN113688474A (zh) * | 2021-08-13 | 2021-11-23 | 北京航天飞腾装备技术有限责任公司 | 一种基于参数辨识的电动舵机仿真建模方法 |
CN113719972A (zh) * | 2021-08-09 | 2021-11-30 | Tcl空调器(中山)有限公司 | 控制参数整定方法、装置、设备和计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080018288A1 (en) * | 2006-07-20 | 2008-01-24 | Schneider Toshiba Inverter Europe Sas | Method of adjusting parameters of a synchronous motor and variable speed drive using such a method |
JP2013085461A (ja) * | 2011-10-12 | 2013-05-09 | Ls Industrial Systems Co Ltd | 永久磁石同期電動機駆動システムのパラメータ推定装置 |
CN103427749A (zh) * | 2012-05-22 | 2013-12-04 | 北京航天发射技术研究所 | 一种基于标幺值设计的永磁同步电机伺服控制方法 |
CN103684182A (zh) * | 2013-11-14 | 2014-03-26 | 西安理工大学 | 一种永磁同步电机参数辨识方法 |
CN104539211A (zh) * | 2014-12-18 | 2015-04-22 | 珠海格力节能环保制冷技术研究中心有限公司 | 电机参数辨识方法及装置 |
-
2016
- 2016-07-16 CN CN201610561870.5A patent/CN106208867A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080018288A1 (en) * | 2006-07-20 | 2008-01-24 | Schneider Toshiba Inverter Europe Sas | Method of adjusting parameters of a synchronous motor and variable speed drive using such a method |
JP2013085461A (ja) * | 2011-10-12 | 2013-05-09 | Ls Industrial Systems Co Ltd | 永久磁石同期電動機駆動システムのパラメータ推定装置 |
CN103427749A (zh) * | 2012-05-22 | 2013-12-04 | 北京航天发射技术研究所 | 一种基于标幺值设计的永磁同步电机伺服控制方法 |
CN103684182A (zh) * | 2013-11-14 | 2014-03-26 | 西安理工大学 | 一种永磁同步电机参数辨识方法 |
CN104539211A (zh) * | 2014-12-18 | 2015-04-22 | 珠海格力节能环保制冷技术研究中心有限公司 | 电机参数辨识方法及装置 |
Non-Patent Citations (2)
Title |
---|
宝永安: "基于智能算法的永磁同步电机调速***PID参数整定", 《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》 * |
张正斌: "基于DSP的永磁同步电机伺服驱动器研究", 《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107919823A (zh) * | 2017-12-12 | 2018-04-17 | 长安大学 | 一种永磁电机离散仿真模型设计方法 |
CN107919823B (zh) * | 2017-12-12 | 2020-06-09 | 长安大学 | 一种永磁电机离散仿真模型设计方法 |
CN109145522A (zh) * | 2018-10-29 | 2019-01-04 | 苏州科技大学 | 基于可扩缩式动态性能评价函数的进给***伺服优化方法 |
CN109521669A (zh) * | 2018-11-12 | 2019-03-26 | 中国航空工业集团公司北京航空精密机械研究所 | 一种基于强化学习的转台控制参数自整定方法 |
CN110456632A (zh) * | 2019-09-12 | 2019-11-15 | 北京航空航天大学 | 一种针对不确定性pid控制***的时变可靠度评估方法 |
CN111628687A (zh) * | 2020-05-28 | 2020-09-04 | 武汉理工大学 | 一种基于熵权法的永磁同步电机多目标参数优化方法 |
CN111628687B (zh) * | 2020-05-28 | 2023-04-18 | 武汉理工大学 | 一种基于熵权法的永磁同步电机多目标参数优化方法 |
CN112731808A (zh) * | 2020-12-18 | 2021-04-30 | 上海海事大学 | 一种可靠性测试设备控制方法 |
CN113719972A (zh) * | 2021-08-09 | 2021-11-30 | Tcl空调器(中山)有限公司 | 控制参数整定方法、装置、设备和计算机可读存储介质 |
CN113719972B (zh) * | 2021-08-09 | 2022-12-13 | Tcl空调器(中山)有限公司 | 控制参数整定方法、装置、设备和计算机可读存储介质 |
CN113688474A (zh) * | 2021-08-13 | 2021-11-23 | 北京航天飞腾装备技术有限责任公司 | 一种基于参数辨识的电动舵机仿真建模方法 |
CN113688474B (zh) * | 2021-08-13 | 2024-02-09 | 北京航天飞腾装备技术有限责任公司 | 一种基于参数辨识的电动舵机仿真建模方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106208867A (zh) | 一种永磁同步电机控制***pid参数寻优方法 | |
CN106357184B (zh) | 基于神经网络的车用永磁同步电机输出转矩的温度补偿方法 | |
Bolognani et al. | Design and implementation of model predictive control for electrical motor drives | |
Bolognani et al. | Extended Kalman filter tuning in sensorless PMSM drives | |
Ruiz-Vega et al. | Online assessment and control of transient oscillations damping | |
CN109495031A (zh) | 一种基于ESO-CPC的激光追踪控制***电机Simulink仿真方法 | |
US20160170429A1 (en) | System and method for non-linear model predictive control of multi-machine power systems | |
Chen et al. | Quantitative stability analysis of complex nonlinear hydraulic turbine regulation system based on accurate calculation | |
Zelenin et al. | Development and implementation experience of microprocessor emulators for cyber-physical AVR testing complexes | |
Šmídl et al. | Reduced-order square-root EKF for sensorless control of PMSM drives | |
CN113472251B (zh) | 一种电机参数辨识方法 | |
Maciążek | Power theories applications to control active compensators | |
Li et al. | Development of an effective model for computing rightmost eigenvalues of power systems with inclusion of time delays | |
Wei et al. | Model-free predictive current control using extended affine ultralocal for PMSM drives | |
Ding et al. | Sensorless control of surface-mounted permanent magnet synchronous motor using adaptive robust UKF | |
Björk et al. | Influence of sensor feedback limitations on power oscillation damping and transient stability | |
CN108549219A (zh) | 一种航天器喷气控制器参数辅助设计方法及*** | |
Thakallapelli et al. | Development and applicability of online passivity enforced wide-band multi-port equivalents for hybrid transient simulation | |
Mahmud | Novel robust controller design to enhance transient stability of power systems | |
Alekseevskiy et al. | Procedure for the synthesis of models of electrotechnical complexes | |
Hamidifar et al. | A state space synchronous machine model with multifunctional characterization of saturation using Levenberg–Marquardt optimization algorithm | |
Reginatto et al. | Robustness of global asymptotic stability in indirect field-oriented control of induction motors | |
Mohamed | Implementation of model predictive control for three-phase inverter with output LC filter using DSP | |
Zhang et al. | Demagnetization faults robust detection method based on an adaptive sliding mode observer for pmsm | |
Gong et al. | Low-speed sensorless control of permanent magnet synchronous motors via the Cauchy–Gauss hybrid mutation particle swarm optimization algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20161207 |