《PMSM的FOC 矢量控制算法调试流程与矢量控制法详解.docx》由会员分享,可在线阅读,更多相关《PMSM的FOC 矢量控制算法调试流程与矢量控制法详解.docx(21页珍藏版)》请在优知文库上搜索。
1、今天讲一下永磁电机FOC矢量控制具体操作流程,先放一张矢量控制框图:一、FOC矢量控制电路框图验证三相逆变模块的正确输出。不接电机,使用高级定时器输出6路互补PWM,改变占空比,测量三相逆变模块的U、V、W对地波形的占空比是否正常。二、测试相电流采样电路的功能1、不接电机,连续采样相电流,此时采样值为相电流为。时的值,此时值应该比较稳定,变化不大,如果变化比较大,说明有问题。2、接上电机,给U相设置占空比为5%,V、W占空比为0,此时可以用万用表测量取样电阻上的电压值,应该已经有值。再用adc采样相电流,计算相电流采样极性和大小是否正常。根据正电压产生正电流的电动机原则,U相电流应该是正的,V
2、、W两相电流应该是负的,且V、W两相电流应基本相同。若正负号不对,需要进行调整。三、测试变换程序的正确性矢量控制的核心其实就在Clark与Park变换上,通过这两个变换实现了直轴与交轴的解耦。如果使用的是官方的库,可以不管本步骤。如果是自己写的,需要通过仿真测试等手段,确保程序的正确性。四、调试SVPWM模块通过SVPWM模块可以把FOC的控制结果转换为定时器6个通道的占空比,从而驱动三相逆变模块控制定子绕组产生旋转磁场,拖动转子旋转。为了验证SVPWM模块的功能,需要使用上图中的6、7即反park变换和SVPWM模块,产生开环的旋转磁场。1、把FoC其他部分注释掉,只保留反Park变换和SV
3、PWm函数。2、反Park变换的输入参数有3个:Vq、Vd.Angle,将Vq=0,Vd设置为一个较小的值,Angle=O,然后接电机上电,此时SVPWm会有输出,电机有力,转子被锁定在当前电角度位置。如果没有力,说明Vd值太小了。同时可以查看CHI、CH2、CH3的波形和SVPWm的标准波形做对比。比如,处于SVPWm的扇区1,那么CHI、CH2、CH3上的波形关系如下:你可以在仿真模式下,把CH1、CH2、CH3通道的比较值加入watch窗口,然后手动改变Vd的值。改变Vd的值,3个通道的比较值也会跟着改变。3、将AngIe由O开始,每次增加30。左右,此时电机会跟着旋转,且每次旋转的角度
4、应该是相同的,记录下这个旋转方向,这就是此系统固有的正方向。此时还可以验证电机的极对数,若AngIe重更增加N个周期后电机回到起始点(可用记号笔进行标注),电机的极对数即为N。五、整定d轴、q轴PlD参数1、把电流采样模块、CIark变换、Park变换、PlD控制器加入。2、此时系统的输入参数有3个:PlD控制器的参考量IQREF、IDREF和Angle。设置Angle=0,IQREF=0,IDREF设置为一个较小值(可以与上面的Vd一样)。3、d轴和q轴都有PID控制器,将两个PID的参数都设置为0。之后保持q轴的PlD为0,然后整定d轴的参数(整定的过程中,可以给电机上电观察效果,目的是使
5、电流采样值经过dark、park变换后的Iq、Id值接近于IQREF、IDREF)。d轴整定完后,把q轴的PID参数设置为相同即可。六、使用编码器输出角度替代AngIe值改变Angle值,电机旋转起来。旋转状态的Iq、Id值与停止状态一样仍然是接近于IQREF、IDREF的。在程序让Angle自加,使用jscope观察4个变量的变化:Angle值、编码器返回的角度值、A相电流采样值、B相电流采样值。AngIe值、编码器返回的角度值的波形如左边的两个图。两个波形应该都是幅值相同的三角波,如果编码器值的变化方向与AngIe不同,那么编码器的输出角度值需要反向。他们两者的波形并不重合,在水平轴上存在
6、偏差值。而这步的目的就是要让他们重合,这样就能用编码器输出值替代Angle值了。因为Angle值代表的是转子的真实电角度。因此要把编码器输出角度矫正为Angle值。如果是绝对式编码器,就要把编码器返回的角度值减去偏差,使之与Angle值的波形重合。如果是相对式编码器,就需要当电机启动阶段给定一个Angle值进行预定位时,把编码器的输出角度矫正为Angle值。右边的两个图是相电流的采样值。调试Pl控制器参数时也可参考相电流曲线,若曲线发生畸变,不是图中那样的正弦波形,需要降低比例及积分作用。修改程序,使用编码器的输出角度值替代AngIe值。绝对式编码器并不需要特殊的启动过程,因为矫正过后,一上电
7、编码器的输出角度就是与转子的电角度是重合的。使用相对式编码器,在上电时,并不知道转子的位置,因为需要先设定AngIe、IqRef为O,IdRef设置为合适值,此时电机转子会自动旋转到零点位置处,然后再把编码器的输出角度值矫正为0,完成编码器值与转子电角度的重合。七、验证电流闭环下面依次验证d轴与q轴。因为d轴用于影响转子的磁场,并不产生扭矩(d轴与转子磁场方向在一条直线上,d轴的作用是把转子固定在当前角度,不让转子动)。作用效果如下:q轴产生的磁场方向垂直于转子磁场方向,于是产生扭矩,吸引着转子旋转。我们先来验证d轴,将IqRef设置为0,IdRef设置为一个合适的正值,此时电机是不会旋转的,
8、用手转动电机也是可以转动的,只是不同于自由转动状态,此时旋转电机时会感到阻力较大,有一个力始终在维持电机处于当前位置。验证q轴时同理将IdRef设置为0,IqRef设置为一个合适的值即可。需要注意的是,因为启动电流明显大于稳态电流,如果IqRef的值设置得过小,电机无法旋转起来,而增大IqRef,使电机可以旋转起来后,电机会一直加速到最高转速。为保证安全,需要对输出电压占空比进行限幅。将IqRef设置为正值时电机应该正转,设置为负值时电机应该反转,且正反转速应该是相同的。此时还可以进一步观察转速采样结果,如果和实际情况符合的话就可以进行下一步了。八、调试速度闭环需要先验证转速测量的程序是否正常
9、。然后就可以在电流环的外层添加速度环了。电流环对于PMSM而言,除了在弱磁控制等情况下,IdRef一般是固定为O的。不过对于异步电机而言,因为要产生绕组电流,IdRef并不是零。IqRef连接至速度环Pl控制器的输出上,一般会对IqRef的范围进行限幅,以保证电流在安全范围内OPMSMFOC矢量控制法详解永磁同步电机(PMSM)是由三相控制交流电源驱动的交流同步电机。PMSM由称为定子的静止部分和称为转子的旋转部分组成。定子由三相绕组组成,当用平衡的三相电压激励时,它会产生旋转磁场。转子的磁芯上插入了永磁体,会产生转子磁场。转子磁场与定子旋转磁场相互作用,产生转子转矩。传统的控制方法是以一个六
10、步的控制过程来驱动定子,而这种控制过程会使生成的转矩产生振荡。在六步控制过程中,给一对绕组通电直到转子达到下一位置,然后电机换相到下一步,霍尔传感器用于确定转子的位置,以采用电子方式给电机换相。高级的无传感器算法使用在定子绕组中产生的反电动势来确定转子位置。六步控制(也称为梯形控制)的动态响应并不适用于某些负载动态变化的应用。只有使用高级的算法如FOC才可处理这些动态负载变化。理解FOC(有时称为矢量控制)如何工作的一种方法是在头脑中设想参考坐标变换过程。如果从定子的角度来设想交流电机的运行过程,则会看到在定子上施加了一个正弦输入电流。该时变信号产生了旋转的磁通。转子的速度是旋转磁通矢量的函数
11、。从静止的角度来看,定子电流和旋转磁通矢量看似交流量。现在,设想在电机内部,转子随着定子电流所产生的旋转磁通矢量以相同的速度同步旋转。如果从这个角度观察稳态条件下的电机,那么定子电流看似常量,且旋转磁通矢量是静止的。最终,希望控制定子电流来获得期望的转子电流(不可直接测量得到)。通过参考坐标变换,可使用标准控制环,如同控制直流量一样实现对定子电流的控制。图4-1磁场定向控制(FiekiOrientedControl,简称FOC)又称矢量控制,是通过控制变频器输出电压的幅值和频率控制三相直流无刷电机的一种变频驱动控制方法。图4-1为经典的矢量控制框图。FOC实质是运用坐标变换将三相静止坐标系下的
12、电机相电流转换到相对于转子磁极轴线静止的旋转坐标系上,通过控制旋转坐标系下的矢量大小和方向达到控制电机目的。由于定子上的电压量、电流量、电动势等都是交流量,并都以同步转速在空间上不断旋转,控制算法难以实现控制。通过坐标变换之后,旋转同步矢量转换成静止矢量,电压量和电流量均变为直流量。再根据转矩公式,找出转矩与旋转坐标系上的被控制量之间关系,实时计算和控制转矩所需的直流给定量,从而间接控制电机达到其性能。由于各直流量是虚构的,在物理上并没有实际意义,因而还需通过逆变换变为实际的交流给定值。结合矢量控制框图,系统的控制过程分析如下。第一步:测量电机三相定子电流,可得到Ia和Ib0将三相电流通过Cl
13、ark变换至静止坐标系下的两相电流Ia和l,其是相互正交的时变电流值;第二步:按照位置和速度估算器上一次迭代计算出的电机角度,Ia和I通过Park变换得到旋转坐标系下相互正交的电流Id和Iq。在稳态条件下,Id和Iq是常量;第三步:Id的参考值控制转子磁通,Iq的参考值控制转矩输出,其各自的实际值与参考值进行比较得到电流环Pl控制器的输入。调节Pl控制器的参数,得到Vd和Vq,即要施加到电机上的电压矢量;第四步:输入Va、VIa、用到位置估算算法,估算得出新的电机角度和转速。新的电机角度可告知FOC算法下一个电压矢量在何处。计算出的电机转速与给定值进行比较得到误差,误差经过速度环Pl调节器输出
14、Iq的参考值;第五步:按照位置和速度估算器迭代计算出的电机角度,Vd和Vq通过Park逆变换得到静止坐标系下的两相电压Va、Vo第六步:采用SVPWM算法判定其合成的电压矢量位于哪个扇区,计算出三相各桥臂开关管的导通时间。最后经过三相逆变器驱动模块输出电机所需的三相电压。通过一系列坐标变换,可间接确定不随时间变化的转矩和磁通值,并可采用经典的Pl控制环对其进行控制。控制过程起始于3相电机电流的测量。实际应用中,三个电流值的瞬时和为零。这样仅测量其中两个电流即可得到第三个电流值。因此,可通过去除第三个电流传感器来降低硬件成本。接下来逐步分析一下FoC算法实现的原理。Clarke变换ia+匕=。i
15、a=ia1.i=r=(ib-ic)图4-2第一次坐标变换,称为CIarke变换,它将一个3轴、2维的定子坐标系变换到2轴的定子坐标系中(见上图,其中la.Ib和IC为各相电流)。如下三个式子代表Clarke变换。ClarkeTransformation图4-3变换前,la、Ib和IC的三相电流波形如图4-3左图,相位差120。CIarke变换后的Ia和I波形如图4-3右图。Park变换经过Clarke变换后,已使定子电流在一个两坐标轴分别标为a、P的2轴正交系中得以表达。下一步将其变换到另一个正在随着转子磁通旋转的2轴系统中。这种变换就是Park变换,如下图所示。该2轴旋转坐标系的坐标轴称为d
16、-q轴。表示转子角度。图4-4I和I经过Park变换后得到的Iq和Id的波形如图4-5。图4-5如下两个式子代表Park变换。Id=icos+iSnBIq=-sin+cosPI环控制PID控制器对闭环控制中的误差信号进行响应,并尝试对控制量进行调节,以获得期望的系统响应。被控参数可以是任何可测系统量,例如转速、转矩或磁通。PID控制器的优点在于,可通过改变一个或多个增益值并观察系统响应的变化以试验为根据进行调节。在FOC算法中,使用三个Pl环控制三个互相影响的变量,分别是转子转速,转子磁通和转子转矩。控制转子转速的Pl环称为速度环,也叫外环;其余两个统称为电流环,也叫内环。转子磁通PI环的参考值通常设置为0(在无弱磁情况下),反馈值为Id;