关于SVPWM中“马鞍波”的探究
本文摘要(由AI生成):
文章讨论了SVPWM马鞍波和SVPWM与FOC的关系。马鞍波指的是SVPWM计算出来的三个比较值,观察这几个量就能看出来。相电压的测量是接电机端和中性点,这样才能得到正弦波。相电流的检测是直接用板子上的地。马鞍波是调制波,通过载波才能分析出来,或者看比较匹配寄存器的数值,应该就是马鞍形状。正常的相电流波形是绝无可能是马鞍波的,基本上都是类似正弦。SVPWM与FOC不是同一个东西,SVPWM是一种控制算法,FOC是一种控制策略。
发帖内容
第一个问题“关于SVPWM马鞍波的问题”讨论如下:前段时间编了段SVPWM程序,用了没问题,也没怎么注意。今天去测了下相电流波形,发现不是马鞍波,我是直接从电流传感器的输出侧测的,网上查资料了,说要接个低通滤波,请问为什么要接低通滤波器啊?还有一个问题,相电压怎么测?谢谢SVPWM你直接量端电压看到的肯定是载波啊。加了低通滤波就能滤平滑成个马鞍形,也只是你单独弄个函数用他自己的软件显示个波形而已,但是这有什么意义?回复 1 绿皮青蛙 不是单独的SVPWM函数,我是已经在异步电机控制里面用到了SVPWM,而且是从电流传感器输出端观察的电机相电流,是很标准的正弦波。相电压还没测,你说的直接测端电压,那地该接哪?直接接控制板的地就可以吗?谢谢!
大家说的马鞍波,是根据你输出的占空比模拟出来的,根本测不出来的,你示波器测到的只有VDC和GND,只是占空比不同而已。TI是用了一个低通滤波的函数模拟出马鞍波的。你大概看看你端电压的疏密情况就晓得你程序是不是对了的。电压是马鞍形,电流是正弦啊没有什么问题啊。回复 4 绿皮青蛙 嗯,谢谢了。这是我测的相电压波形。示波器的地接的是直流母线电容的中点,也就是电机的中性点。
马鞍波指的是SVPWM计算出来的三个比较值,观察这几个量就能看出来了。 回复3 ltjish 但是我看别人的永磁同步电机的相电流就是马鞍波啊。难道跟功率管有关? 回复6 yokel 比较寄存器的值我看了,是马鞍波变化的。但我看过永磁同步电机的相电流,是马鞍波的,所以我才郁闷,费解。好像同步电机和异步电机的电流波形不是完全一致的吧。上次我逆变器接了滤波器用示波器看了SVPWM的电压波形没SPWM好看,SVPWM电压波形看上去好别扭。 单片机输出的信号经低通滤波器后可以得到马鞍形波形。但是该输出信号经过驱动电路输入到电机后,由于3相的3次谐波电流在电机中自行抵消,因此看到的相电流波形是基波分量,也就是单一的正弦波电流。 回复8 芦席一小生 请问,怎样从比较寄存器的值看是不是马鞍波变化的?这个问题困惑过不少初学者或者没有相关项目经验的人,当初我也被困惑过,我来做个总结:SVPWM调制的结果,是各相电压(端电压对中性点,line-neutral)是正弦的,如果是PWM控制,这个正弦电压是很难观察到的,因为示波器的探头只能夹在电机的三个出线上(端电压测量口),就算你把虚拟中点引起来,你看到的电压波形也是PWM信号, PWM dutycycle*Udc =正弦。那怎么确认相电压是正弦的呢?看各相电流,如果示波器上看到的电流是正弦的,反过来可以确认等效的相电压是正弦的I = U/Z,感抗Z的存在不影响波形。那么马鞍型电压波形是怎么回事?它是电机的三个出线端对地的波形(line-GND),也是等效的均值,PWM DUTY CYCLE *Udc,直接把示波器探头测端电压,看到的也是PWM波,不是马鞍形,如果你想看这个马鞍形波形,可以把端电压经过RC低通滤形,这样,示波器上就看到马鞍形的波形了。一些厂商如Microchip的笔记上,对这个问题也犯个错误,或者标不清楚,我见过对这个问题说得最清楚的是是TI公司,所以对TI的严谨印象很深。再说一句,SVPWM的相电压是正弦(不是马鞍形),SVPWM的相电压是正弦(不是马鞍形),SVPWM的端电压(line to GND)经过滤形后得到的滤形是马鞍形。区分几个名词:端电压 terminal voltage, terminal to GND(line to GND)相电压 phase voltage, terminal to neutral point(lineto neutral point)。回复 16 hitbuyi 端电压对地是马鞍波,2个端之间也就是线电压是正弦,相电压就是相对中心点的电压也是正弦。准确无误。但是我们平时打的都是端电压对地的,所以就有电压是马鞍波这么一说。相电压说是正弦还真不晓得怎么来的,因为示波器打不到,不过相和线电压确实是正弦,只是平时都不会去打这个波形。最简单的理解是把SVPWM理解成SPWM加三次谐波的方式,非常容易理解。这样从电压角度就晓得为什么是正弦的了。我的理解是SVPWM线电压是正弦波,相电压是马鞍波。 回复 13 allex_liu 你好 dsp输出的是6路开关信号,是同一项的上下两桥臂的信号经滤波后生的鞍形波,还是不同相的上下两桥臂的信号滤波后生成鞍形波? 回复 18 kingsr 相电压不是马鞍波形,是正弦,只有端电压是马鞍形,线电压也是正弦(因为相电压是正弦,两个正弦相加减,波形仍是正弦)。回复 19 fish18265 我是在CCS编程环境里看的,把寄存器值保存在一个数组里,调出图形窗口就能显示了。回复 15 hitbuyi 这个确实很困惑,之前用示波器测自己的相、线电压和相电流,都是正弦波,一直没搞懂那个马鞍波的问题。回复 20 hitbuyi 要看你中性点选择的是哪个,电机还是驱动器的电容中间,两个不一样的。回复 17 绿皮青蛙 我用低通频率是1K左右的滤波器(载波频率为5K),得到的实际波形就是马鞍形,不是在软件上得到的而且这个马鞍形在低通带更窄的滤波器下就会变成正弦波,这个是很好理解的。回复 25 styhl 好多时候光靠仿真是解决不了问题的,仿真是忽略了很多实际存在的东西的,这些东西在原理上影响不大,但是做具体硬件的时候,影响是很大的。 回复26 zhijun0906 lz明显是原理没弄明白。昨天用示波器亲自测试了一下U相上桥驱动电压(黄色)和线电流波形(绿色)。示波器设置为高精度滤波模式。
回复 28 kingsr 相电流(绿色)一定是正弦,由此可知等效的相电压是正弦,I =U/Z,感抗Z不影响波形;端电压(黄色)一定是你用示波器一端钳住电机的某一相(MOSFET上下桥引出的某一相),然后示波器的地接板子上的地,并且经过滤波,才看到马鞍形波形。 回复29 hitbuyi 绿色就是U相上桥IGBT的门极电压波形,示波器设置高精度滤波(HIGH Res)。回复 15 hitbuyi 既然相电压的测量是接电机端和中性点,这样才能得到正弦波。那相电流的检测是不是也应该这样?但实际上,我们在设计相电流检测电路时,地都是直接用板子上的地。我传的正弦电流波形也是这样检测的。假如测量电机端和板子上的地的电压是马鞍形?那为什么这样测的电流不是呢?糊涂了。。。求解释。谢谢! 回复32 芦席一小生 这个问题有大神来解答下吗?我也糊涂。 回复34 luofei1124 电压,顾名思义,是两点之间的电位差,某点的电压,准确地说,是某点相对另一点的电位差,只是在通常情况下,另一点通常选为零电位点。电流就没有参考点的概念,电流指的是导线中的电流,怎么测量都是一样的。通过接地电阻测量相电流,理解很简单,相电流从上端----》中点-----》地,当然可以在中点和地之间加一个采样电阻来测量相电流,采得的电压包括有相电流的信息,这里要注意采样时机。你也可以在上端---》中点之间安装电流传感器,这样也可以采到相电流,并且这里采到的相电流就是真实的相电流,很多方案就是这么做的。电流传感器装在这两个位置的区别,本版就有讨论,你可以查查看。回复 17 绿皮青蛙 造电机时使得产生的反电势是正弦,我们可以控制相电流是正弦(通常说的气隙磁场正弦分布),于是就得到恒定的转矩,因为电磁功率Pe为
Pe= Ia*Ea Ib*Eb Ic*Ec
Ia= I*cos(theta), Ea = E*cos(theta)
Ib= I*cos(theta 120), Eb = E*cos(theta120)
Ic= I*cos(theta-120), Ec =E*cos(theta-120)
于是我们可以得到电磁功率Pe
Pe= Ia*Ea Ib*Eb Ic*Ec = 常数(三角函数展开)这是PMSM正弦控制噪音小的根本原因,也是PMSM正弦波控制平稳的根本原因。 回复35 hitbuyi 谢谢大侠解答,基本上懂了。回复 37 luofei1124 千万别叫大侠啊,不敢当,不敢当,一些小问题,大家一起讨论,一起进步。当初我也是花了不少时间才搞懂,最烦一些中文书,一上来就来一大堆一长串深奥难懂的公式什么的,而忽略基本的东西,我们做工程的,恰恰需要的是基本的东西,基本的没有抠明白,哪能去理解那些高深的东西。马鞍波指的是驱动波形,单片机出来的SVPWM波形进行滤波模拟的,而你测得相电流肯定是正弦波了,要不电机怎么正常转呢。
回复17 绿皮青蛙你错了,马鞍形波形是可以测出来的,端电压滤波后的波形就是马鞍形,相电压是基于中性点的,三次谐波都被抵消掉了,观察不到的。回复 41 huihuidan 这段英文说得真明白,哪里来的?找到了,TI的ti motor control compendium中的说明。回复 13 allex_liu 的确是这样,测单片机输出的U相上桥和下桥PWM,然后示波器好像要设置带宽限制才能看到。回复 45 zengqi1020 S相电流就应该是正弦波,SVPWM中三个比较值TCM1、TCM2、TCM3也就是调制波是马鞍波形。马鞍波是调制波,通过载波才能分析出来,或者看比较匹配寄存器的数值,应该就是马鞍形状。正常的相电流波形是绝无可能是马鞍波的,基本上都是类似正弦第二个问题“SVPWM与FOC是否同一个东西”讨论如下: 目前我们是方波开环,我想做成正弦波开环。如果foc那必须闭环,貌似不对。了解了下有svpwm和spwm调制正弦波,而且sv的流行一点。问题来了:svpwm是否就是foc?是的话那必须闭环,项目是用不了的。不是的话就可以往svpwm这条路死磕了。SVPWM同PWM,SPWM类似,调制方式不同而已。PWM在方波里用的好好的,人们想到了正弦波,把三角波和正弦波交界于是产生了正弦波SPWM,静音也不错,但比起FOC那还差一些,FOC里用到的是SVPWM。SPWM,SVPWM也是可以不同FOC发送联系的,也就是不用那些FOC变换,估计等等,也不必一定要闭环,给定角度,开环也是能转的,也可以像PWM方波那样,开环或者闭环,因此你只是把PWM换成SVPWM,跟你的方波控制差不多的,SVPWM开环,因为没有电流反馈,给定的角度同电机的实际角度不一致,你会发现,正弦波的确比较好,但噪声还是比较大。FOC则一定要用到SVPWM,SVPWM只是FOC算法中的一个小模块,除此外,还有两个电流环,一个速度环,电流采样,坐标变换,角度,速度估计等等。你要的开环,FOC也是可以实现的,估计你是要速度开环吧,应该是力矩模式,给定一个固定力矩,空载和带载速度就不同了,就像方波的开环吧。回复 50 xxfrom 开环的foc,用力矩模式,貌似可以!如果只用svpwm,角度怎么给定?预测不到hall什么时候换相呀,角度不对就会导致电流比较大吧,有相关的算法提示吗?谢谢。52 xxfrom回复 51 lanmanck有霍尔,那就更好办,捕获霍尔状态。启动时根据霍尔状态定位,误差60度,一般也看不到抖动。然后根据霍尔状态变化对应的60,120,180度,,,等位置进行校准角度,在此中间:根据霍尔状态改变所经历的时间来估计出速度(角速度),角速度有了,用角速度乘时间,wt,估算出角度。 SVPWM只是FOC的一种实现方式。FOC的原本意思是磁场定向控制,就是通过闭环的方式使电压矢量旋转跟踪旋转磁场,SVPWM叫做空间矢量调制,本质就是对电压矢量进行控制来跟踪磁链,当然可以通过其他方法来实现,目的只有一个:磁链跟踪!