原文:/s?id=1598073940651988276&wfr=spider&for=pc
异步电机
在现代异步电机和同步电机的调速控制中,SVPWM(空间电压矢量脉宽调制)算法是一门必备的基础知识。但对于刚开始接触这个理论的人来说,感觉尽管查了不少理论书籍,最后还是一头雾水。这次庆叔和大家不讲理论,而是从几个简单的计算介绍,来让大家快速入门。
首先还是要理解一下SVPWM。SVPWM是一种脉宽调制的算法,与它对应的次一级算法是SPWM(正弦波脉宽调制)。SVPWM是我们常听到的“电压矢量控制”,但一定要清楚,电压矢量控制与“电流矢量控制”并不是一回事。SVPWM再次强调一下,它是脉宽调制的手段,而电流矢量控制指的是通过坐标转换,将交流电机模型转换为直流电机模型,通过直流电机控制定子电流和转子电流的原理来实现交流电机的一种调速算法。与它对应的次一级算法是V/f控制。因此一个是脉宽计算,一个是调速算法,而后者需要依赖前者输出脉冲。
因此,SVPWM即可以应用到V/F调速算法,也可以应用到磁场定向的调速算法,只是对SVPWM输入参数接口的算法来源不同。
SVPWM是将电机与逆变模块(三组,六个开关管)看成一个整体,从三组开关的八个状态对应的旋转磁场来实现不同脉宽的输出,而在计算中,通常着眼于电机的输入电压,直接通过电压计算即可,因此越过了磁场的计算,所以被称为电压矢量。
TI电机控制的官方参考文档中关于SVPWM部分:
TI SVPWM模块框图
实现SVPWM控制,其实主要解决以下问题即可:
注意:在整个计算过程中都使用了PU参数,即百分比为单位的参数,这样的好处是,因为变量都是百分比,就不用去考虑实参带来的变化,一个模块输出的变量直接就可以用于下一个模块的输入。
SVPWM所需的两个电压分量作为输入:这两个电压分别是Ualpha和Ubeta计算Ualpha和Ubeta时,需要两个参数:调制比和当前走过的角度
2.1. 旋转角度theta
旋转角度指的是当前磁场旋转的角度,亦即电压合成矢量当前的角度。这个角度其实就是一个不断在增进的量,每个开关频率周期,增进量为当前频率*基础频率/开关频率。
2.2.调制比M
调制比是相对于直流母线电压的,因为直流母线电压对应了最大输出线电压的峰值,从而可以计算出最大输出的线电压,而预期输出的线电压比上最大输出的线电压即为需要的调制比。
2.3. 上面两个参数计算出来后,Ualpha = M*cos(theta),Ubeta = M*sin(theta)
3. 接下来就是扇区判断和占空比的输出,这个就可以直接参考SVPWM的书籍了,下面直接给出算法,大家自行对应教材,这里只是提醒一下:这个算法中的Sector的判断和对应的时间计算经过了简化和整理,而参考教材时一般都给出了详细的分析,因此需要把教材的公式进行展开和合并后才能对应起来。
tmp1 = Ubeta; tmp2=0.5*Ubeta + 0.866*Ualpha; tmp3 = tmp2-tmp1;
Sector = 3; Sector = (tmp2>0)?(Sector-1):Sector; Sector = (tmp3)>0?(Sector-1):Sector; Sector=(tmp1<0?)(7-Sector):Sector;
if(Sector == 1 || Sector ==4) {Ta=tmp2;Tb=tmp1-tmp3;Tc=-tmp2)}
else if(Sector==2 || Sector == 5) {Ta = tmp3+tmp2; Tb = tm;1; Tc = -tmp1;}
else {Ta=tmp3; Tb=-tmp3; Tc = -(tmp1+tmp2);
从上面可以看出PU带来的便利,占空比的百分比可以直接取电压的百分比,而不用再去转换。Ta,Tb,Tc占空比计算出来后乘上周期计数值得到PWM比较器的比较值 ,对PWM的比较器赋值即得到当前开关周期内对应的三组开关管的PWM计数周期,整个计算即结束。
为了更好的描述SVPWM,前述的Ualpha和Ubeta来自于V/f控制的目标频率对应的目标电压值,即这是一个V/f调速策略的算法,而在FOC的计算中,Ualpha和Ubeta的值是来自于反PARK变换的值,这需要注意。
最后附上TMS320F28335上跑SVPWM的输出的相电压波形(马鞍波)和输出线电压波形(正弦波)。
相电压波形
线电压波形
如果觉得《知道这几个计算就掌握了SVPWM》对你有帮助,请点赞、收藏,并留下你的观点哦!