field_weaken 异步电机弱磁调速
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
异步电机弱磁调速
异步电机矢量控制的调速范围可以通过减弱磁场来增大,这种调速方式被称作“弱磁调速”,在Turbo PMAC中,可以通过一个简单的程序来实现这种调速方式。
弱磁调速的基本用法是:当转速达到现有电枢电压下的极限(即反向电动势等于电枢电压)减弱转子场强,以达到速度极限增大的效果。磁场强度在一定范围内与速度大致成反比,磁场强度是由定子的Id(平行于磁场方向的电流)指令控制,在Turbo PMAC中为Ixx77变量。但实际磁场变化会滞后于Ixx77一个相对较大的电气时间常数(电感的电流滞后于电压)。Turbo PMAC的“滑差(转差)增益”参数Ixx78是相更新时间(相周期)除以转子时间常数,Turbo PMAC使用“滑差增益”与“开环估计器”计算代表磁场强度的转子励磁电流。
我们也可以使用Ixx78滑差增益预测转子励磁电流的滞后,还可以加速定子Id指令的变化以对滞后做出一定的补偿。由于这个算法并非每个相周期都会运行,我们将针对PLC0计算等效的滑差时间常数,一个介于实时中断与转子电气时间常数之间的值。
由于转子的磁场强度决定电机的力矩常数,因此控制场强也相当于控制了反馈回路增益,在减弱磁场的同时回路增益也将减小。为对此做补偿,我们需要同时更改位置环比例增益Ixx30,Ixx30的变化应与估计的转子励磁电流成反比,以确保回路全局增益保持不变。
下面的例子是在4号电机上操作,您可以做简单的更改以操作其他电机。它基于期望速度来控制磁场,因期望速度比实际速度更平滑,但在使用时应确保实际速度与期望速度相差不是太大,否则,应使用实际速度控制磁场。
;变量替换及定义
;I变量
#define ServoPeriod I(I19+5) ;每个伺服周期内相周期个数
#define PLC0Period (I8+1) ;每个实时中断周期内伺服周期个数
#define Mtr4CmdId I477 ;指令直接电流(Id)
#define Mtr4SlipGain I478 ;滑差增益,由转子时间常数得出
#define Mtr4PropGain I430 ;控制回路增益
#define Mtr4MaxIq I469 ;伺服输出限幅值(Iq,力矩电流)
;用于自动计算的M变量
#define Mtr4EstIm M480 ;估计励磁电流,PMAC自动计算
Mtr4EstIm->Y:$000237,8,16,S ;以Ixx77为单位
#define Mtr4ActId M476 ;实际Id,来自(霍尔)传感器
Mtr4ActId->Y:$000239,8,16,S ;以Ixx77为单位
#define Mtr4DesVel M455 ;期望速度
Mtr4DesVel->X:$00021A,0,24,S ; 1/[Ixx08*32]cts/[Ixx60+1]cyc
#define Mtr4ActVel M456 ;实际速度,来自编码器
Mtr4ActVel->X:$00021D,0,24,S ; 1/[Ixx09*32]cts/[Ixx60+1]cyc
;用于算法的P变量
#define Mtr4DesIm P470 ;期望的励磁电流
#define Mtr4LastDesIm P471 ;上一周期期望励磁电流
#define Mtr4BaseSpeed P472 ;励磁电流饱和时的最大速度(基础转速)
#define BaseSpeedFrac P473 ;基础场强(减弱磁通前的磁场强度)的百分比#define Mtr4CtsPerRev P474 ;解码后编码器分辨率(这里为×4);
#define Mtr4BaseRPM P475 ;空载基础转速rev/min
#define Mtr4BaseKp P476 ;基础比例增益
#define Mtr4BaseId P477 ;基础场强下的定子Id
#define Mtr4DesId P478 ;非极限值的期望Id
#define Mtr4MinIm P479 ;最小励磁电流
#define Mtr4Tslip P480 ;实时中断时间/转子时间常数
#define MaxIdqSqrd P481 ; Id 与Iq矢量和最大值;
;设置常量(在线指令并保存,或上电、后台PLC)
BaseSpeedFrac=0.9 ;基础场强的90%
Mtr4BaseRPM=1800 ;空载基础速度
Mtr4CtsPerRev=2000 ;500线编码器,×4解码
;计算带载基础速度cts/ms
Mtr4BaseSpeed=BaseSpeedFrac*Mtr4BaseRPM*Mtr4CtsPerRev/60000
;以内部单位重新计算指令速度
Mtr4BaseSpeed=Mtr4BaseSpeed*((I10*(I460+1)/8388608)*I408*32
Mtr4BaseId=3000 ;低转速指令Id
Mtr4MinIm=1000 ;高转速指令Id
Mtr4BaseKp=200000 ;低转速伺服比例增益
Mtr4Tslip=Mtr4SlipGain*ServoPeriod*PLC0Period ;单位用于PLCC0 MaxIdqSqrd=32767*COS(30)*32767*COS(30) ;最大矢量励磁电流
OPEN PLCC 0 CLEAR
;基于速度计算转子期望励磁电流
IF (ABS(Mtr4DesVel) < Mtr4BaseSpeed)
Mtr4DesIm=Mtr4BaseId ;饱和场强
ELSE
Mtr4DesIm=Mtr4BaseId*Mtr4BaseSpeed/ABS(Mtr4DesVel) ;减弱磁场
IF (Mtr4DesIm < Mtr4MinIm)
Mtr4DesIm=Mtr4MinIm ;使用最小值
ENDIF
ENDIF
Mtr4CmdId=(Mtr4DesIm-(1-Mtr4Tslip)*Mtr4LastDesIm)/Mtr4Tslip
Mtr4LastDesIm=Mtr4DesIm ;保存,用于下次查询
IF (Mtr4DesIm < Mtr4MinIm)
Mtr4DesIm=Mtr4MinIm ;使用最小值
ENDIF
Mtr4MaxIq=SQRT(MaxIdqSqrd-Mtr4CmdId*Mtr4CmdId) ;Iq限制
IF (Mtr4EstIm < 0.98*Mtr4BaseId) ;减弱磁场?
Mtr4PropGain=Mtr4BaseKp*Mtr4BaseId/Mtr4EstIm ;增加增益用于补偿
ELSE
Mtr4PropGain=Mtr4BaseKp ;使用基础比例增益
ENDIF
CLOSE