三相永磁同步电动机的转矩方程为
(4-1)
上式说明了转矩由两项组成,括号中的第一项是由三相旋转磁场和永磁磁场相互作用所产生的电磁转矩;第二项是由凸极效应引起的磁阻转矩。
对于嵌入式转子,Ld,电磁转矩和磁阻转矩同时存在。可以灵活有效地利用磁阻转矩,通过调整和控制β角,用最小的电流幅值来获得最大的输出转矩。对于凸极转子,Ld=Lq因此只存在电磁转矩,而不存在磁阻转矩,转矩方程变为
(4-2)
由式中可以看出,当三相合成的电流矢量is与d轴的夹角β等于90°时可以获得最大转矩,也就是说is与q轴重合时转矩最大。这时,式4-2可以改写为
因为是永磁转子ψf是一个不变的值,所以式4-2说明了只要保持is与d轴垂直,就可以像直流电动机控制那样,通过调整直流量iq来控制转矩,从而实现三相永磁同步伺服电动机的控制参数的解耦,实现三相永磁同步伺服电动机转矩的线性化控制。
下面分别根据交、直流跟踪控制法的系统结构图,介绍PMSM矢量控制的具体工作过
程:
⑴. 交流跟踪控制法
图1交流跟踪控制法(DC法)系统结构图
永磁同步电机矢量控制交流跟踪控制法(AC 法)系统结构图如图1示系统同样采用速度和电流闭环控制,速度环为外环,电流环为内环。由速度环的速度调节器输出综合电流大小的给定is(这里is 的相位与q轴相同)由于电磁转矩Te正比于is,is也相当于转矩给定。采用可连续检测电机转子位置信号的光电编码器,测得励磁磁极轴线(d轴)与A相绕组轴线(a轴)之间的夹角θ(转子位置角),即可得is与a轴的夹角λ=θ+90°,根据λ角的大小,把is分解成三相绕组电流的(这三个相电流给定是电流的瞬时值给定)。可得
(5-9)
用λ角去实现is到ia*、ib*、ic*的转换过程,其实质是实现了对is方向的控制。(方框框住的运算部分实际上实现了把电流从d- q轴坐标系到a- b-c坐标系的变换)。三相电流给定ia*、ib*、ic*与实际反馈值ia、ib、ic的差值经过电流调节器Gi(S)运算得到给定电压信号Ua、Ub、Uc送入电压源型逆变器,使逆变输出的三相电流ia、ib、ic完全跟踪ia*、ib*、ic*也就最终实现了对is大小及方向控制的目的。事实上交流跟踪控制法也是id=0的控制因为5-9
公式就是在id=is*cosβ=0(当三相合成的电流矢量is与与d轴的夹角β等于90°时)的条件下推出的。而且本人在分别做过交流和直流跟踪控制后,将直流跟踪控制的电流Clarke、Park变换进行实际公式推导后,发现与5-9这个公式基本是一样的(只差一个常数)。
本人刚开始做的时候不明白的太多,对SVPWM、坐标变换原理没搞太明白。相对而言交流控制则非常通俗,好理解,基于a-b-c坐标系,结构简单,运算量少,易于实现电流开环系统。加上有接触过别的电机SPWM控制,所以就选择先做这个了。
这个方案开始时只速度环,没加电流开环时的具体做法是,将速度环PI输出值经过运算后不进行调节,直接输入至比较单元。即将速度环输出值作为is 根据5-9公式算得给定ia*、ib*、ic*输入至CMPR比较单元。(注意公式5-9 中负号的实现,用dsp的朋友可以通过设置ACTRA寄存器实现)
下面说说交流闭环跟踪控制具体做法和会出现的问题:
实际交流跟踪控制的调制方法可以说用的是SPWM,即ia*、ib*、ic*与实际反馈值ia、ib、ic的差值输入控制器中并输出给定电压信号即开关器件导通时间,(这个开关信号已经包括三相正弦相位信号也即包含角度信息)由此输出SPWM去控制开关器件的开关。
电流调节器一般可采用滞环、P 或PI 调节器。当采用P调节器时,AC 法和DC 法的控制效果完全相同;当采用PI 调节时,DC 法性能好,在这里的交流控制器就只选用P控制而不用PI控制了,因为而AC 法等效交直轴电流分量会在控制器内产生耦合作用,电流控制特性发生变化,使电流解耦特性也发生变化,在电机高速时电流幅值和相位误差会增加。实际简单、通俗一点说就是如果假设控制器使用的是单纯的一个积分环节控制时,基于这里控制的是交流量,是带相位信息的电流,经过单纯积分后就会产生90度的相位滞后。
所以如果最后使用的是PI控制时,用示波器看的话给定电压与反馈电流相位也能看出会有接近90度偏差,(不是精确90度是因为不是单纯的积分环节,多了个比例环节)。所以实际做出这个PI控制后会发现空载电流会很大。原因是给定电压与反馈电流相位的不对称就会导致电机运行无功部分增大,而有功部分--输出机械能不变,进而会使定子电流增大。但是只用P控制又发现系统性能不好,而且高速时还是会有相移。至于为什么转速较高时,其电流环输出电流ABC与给定电流还是会出现幅值和相位上的偏差,查阅了很多资料,分析其原因。有两个方面:一是电机反电势的对电流控制环的干扰,会随转速升高而增大。虽然可用提高比例放大倍数来减少这一影响,但有时又有受到直流端电压不能够任意提高的限制,这个问题一般通过前馈补偿方法。二是通常采用的PI调节的工作频带不够宽。工作频带这个问题跟交流伺服的群主虫子交流后给支了一招:使用PID调节可以加宽带宽。但是最后试过效果好像不太明显,可能是我没试明白。
至于前馈补偿大部分的资料都是通过电机参数和电机转速的运算出电压偏差然后进行,
这个可行度仔细想想其实很低。 所以后来想出别的办法:给定电压与反馈电流相位差可以
通过在开始时计算λ=θ+90°时强行进行角度补偿。但是又因为经过PI调节中有个P其实已经不是单纯一个积分环节了,所以这个相位差就不可能是准确的90度了。而且实际就算是正常的交流或直流跟踪控制系统也会有些许的相位偏差,所以这个相位就不能单纯的直接补偿90度了。还是不太可行,不过后来鄙人又试通过实际检测出给定电压与反馈电流相位差后再进行补偿(这个应该也算是一个的闭环控制,或者也可以叫前馈补偿)但是这个方法需要有个精确的检测相位差的方法和装置。在这里介绍一种方法:实际检测反馈电流过零点(软硬件)时对应在芯片内部运算出的编码角度值,这样就能得出给定电压与反馈电流相位差并据此进行补偿。
另外在实际做这个时一定要注意5-9公式中的那个负号,搞明白这个输出极性正负的问
题,因为通常DSP 的EVA 动作寄存器ACTRA都设定上桥为高有效(大部分程序设定高有效是基于死区的考虑),这样实际上桥的比较值CMPR与输出的占空比是成反比的,而电机三个绕组的极性又是与上桥一致的。所以实际使用时电流经过P或PI调节输出后可以直接赋予CMPR,公式中的负号已通过ACTRA的设置实现。
或许经过我这么一说好像交流控制只是在电流开环时易于上手,在做到后期时是比较复杂,好像是一无是处,其实也不尽然,交流控制器还是能够保证系统具有快速响应特性的。 另外在做完交流跟踪控制后你会发现理解并实现起直流跟踪控制会非常轻松。
⑵直流跟踪控制法
这个方法因为电流环控制的是直流电流信号,直流信号就不会有上面交流信号滞后90
度的问题。并且直流信号恰好具有对运行频带不敏感的特点,从而可在一定程度上扩大电流
器的工作范围。
至于直流控制法书上基本都有较详细的说明,这里将略为述说。
PMSM矢量控制直流跟踪控制法(DC法)系统结构图如图2示:系统采用速度和电流闭
环控制。电机A相、B相绕组电流ia、ib经过Clarke变换得到ab方向的电流iα、iβ将
三相静止坐标转换成二相静止坐标。说白了这一变换就是根据功率等效原则将三相绕组电机
等效成二相绕组电机(我们知道三相绕组电机通三相互差120相角度电流便能得到幅值不变
角度旋转的圆形磁链矢量,而二相通差90 相角度的电流也能达到这样的旋转圆形磁链矢量)。 再经Park变换得到dq方向的电流分量id 、qi 。即将二相静止坐标转换成二相旋坐标转换至D、Q轴上。qi 为励磁分量,在PMSM中希望励磁磁链全部转子永磁体产生,即id=0,而定子电流只用于产生电磁转矩,满足以上条件,只需做到定子磁链角度超前转子磁链90度(即定子旋转磁场始终保持90度角度差拖动转子转动)。
电机的反馈速度与速度给定(由键盘输入)的差值经过PI调节输出作为q轴电流给定
iq* ,由于电磁转矩Te∞iq,iq*即代表了转矩指令,iq* 与反馈交轴电流iq做差后通过q轴电流PI调节得到q轴电压给定量uq*。而d轴电流给定id*设为0,得d轴电流误差经过d轴电流PI调节后得到d轴电压给定量ud*。ud*、uq*经Park逆变换后作为SVPWM模块的输入ua*、uβ*,(SVPWM算法包含从二相静止坐标转换至三相坐标的变换) 在SVPWM中通过相应计算得到对应的扇区值和开关器件导通时间,由此输出PWM波去控制开关器件的开关。
这里说一下这里其实也不一定非要用SVPWM,用交流跟踪控制的SPWM调制(应该
也可以说是PWM调制)也是可以的,具体做法是将ua*、uβ*再经过Clarke逆变换变换成三相静止的坐标uA*、uB*、uC*输入至比较单元即可。这样PWM口输出的波形经过滤波后就不再是马鞍波将是正弦波,实际上MATLAB里的矢量控制仿真例子用的就是这方法。
图2 直流跟踪控制法(DC法) 系统结构图
而空间矢量调制(SVPWM)是近年发展的一种比较新颖的控制方法,空间矢量PWM波
是一个由三相功率逆变器六个功率开关元件的特定开关模式产生的脉宽调制波,使得输出电
流波形尽可能接近于理想的正弦波形。空间矢量PWM与传统的正弦PWM不同,它是从三
相输出电压的整体效果出发,着眼于如何使电机获得理想圆形磁链轨迹,使定子磁场必须实
时追踪转子磁场。空间矢量脉宽调制技术与SPWM相比较,对谐波的抑制更有效,谐波成
分小,基波成分大,不仅使得电机转矩脉动。降低,电流波形畸变减少,使旋转磁场更逼近
圆形,直流电压利用率有了很大的提高。
因此在实际试过SPWM和SVPWM调制方法并比较效果后,还是在矢量控制直流跟踪
控制法中采用空间矢量调制(SVPWM)。
防积分饱和PI调节器为: 【其中Kc(uk-U)为防饱和部分】
(5—16)
式中:k—采样序号,k=0,1,2,……; uk——第k次采样时刻的输出值;
ek——第k次采样时刻输入的误差值; Kp——比例系数
T1——积分常数; K1——积分系数,K1 =Kp T/T1
积分饱和修正系数 Kc = K1/Kp=T/T1; T——采样周期。
实际使用的速度环PI控制程序(电流环类推)请看文章最后附1,附2
硬件系统如图3所示,主控制芯片采用TI公司的TMS320LF2407A芯片,专门用于电
动机的数字化控制,此系列的芯片有很高的运算精度(32 位)和系统处理能力两个事件管
理器模块为电机及其功率变换提供了良好的控制平台。
图3 控制主芯片以及外围硬件框图
附1:汇编程序如下
用户1647968 2012-11-22 12:32
附2 :C程序如下: //===============速度PI====================// void Speed_PI(void) // { Kcspeed=Kispeed/Kpspeed; Espeed=Nref-N; Uspeed=Kpspeed*Espeed+RKspeed; if(Uspeed<0) { if((Nmin-Uspeed)>=0) Iref=Nmin; else Iref=(int)Uspeed; } else { if(Nmax-Uspeed<0) Iref=Nmax; else Iref=(int)Uspeed; } RKspeed=Kcspeed*(Iref-Uspeed)+Espeed*Kispeed+RKspeed; Iref1=Iref; } 关于电流环就先写这里,由于时间时间仓促,如有不正确的地方还请改正。
用户1647968 2012-11-22 12:26
POS2 LACC I_MAX ; ACC =上限值 LIM SACL I_REF ;输出 SUB N_U SACL N_ELPI ;求极限偏差 LT N_ELPI MPY N_KC ;积分饱和修正系数,Q12格式 PAC LT N_EK MPY N_KI ;积分系数,Q12格式 APAC ADD N_RK,12 SACH N_RK,4 ;更新N_RK
用户1647968 2012-11-22 12:22