125813443 发表于 2012-7-20 10:13

PMSM3_1 LEVEL2 电机启动与相关参数标幺化问题

采用如下图所示的框图进行电流开环调试时,
程序运行后电机抖动一下,然后硬件就过流保护了(IGBT驱动芯片HCPL-316J)。

程序中给定:
SpeedRef = 0.1;
VdTesting = 0; VqTesting = 0.25;

斜坡信号与SVPWM模块已经调试通过的,产生的PWM也正常,10kHz,3.2us死区。
想请问:

1、导致电机不能正常启动的原因可能是什么?开环控制时是否也需要考虑转子初始位置问题?是否需要电机参数?
例如parameter.h文件里定义的这些参数,这些会对电机启动产生影响吗?

// Define the PMSM motor parameters
#define RS   0.9               // Stator resistance (ohm)
#define RR    0               // Rotor resistance (ohm)
#define LS    0.00435      // Stator inductance (H)
#define LR    0      // Rotor inductance (H)
#define LM    0      // Magnetizing inductance (H)
#define P   4      // Number of poles

// Define the base quantites
#define BASE_VOLTAGE 83.138 // Base peak phase voltage (volt)
#define BASE_CURRENT 150 // Base peak phase current (amp)
#define BASE_TORQUE 7.35105194 // Base torque (N.m)
#define BASE_FLUX 0.79616 // Base flux linkage (volt.sec/rad)
#define BASE_FREQ 50 // Base electrical frequency

2、TI例程里不少参数采用的都是标幺值,但实际程序中又没有出现对标幺化过程做出定义的语句,想请问这些标幺值都是如何确定的?

125813443 发表于 2012-7-22 19:04

希望各位前辈不吝赐教啊~

先谢了:)

oujingou 发表于 2012-10-20 15:14

不知道你的问题解决了没有,你VqTesting = 0.25太大了,电机没转起来就过流了,而且你的速度SpeedRef = 0.1应该也是比较高的

oujingou 发表于 2012-10-20 15:15

在开环的情况下,VqTesting和SpeedRef 必须对应好

某沁V 发表于 2013-2-25 16:07

oujingou 发表于 2012-10-20 15:15 static/image/common/back.gif
在开环的情况下,VqTesting和SpeedRef 必须对应好

多谢指教!

想再请问一下,VqTesting和SpeedRef 二者之间具体应该怎么对应呢?有固定关系还是仅凭经验?

angelguard 发表于 2013-2-25 18:09

算了,就当纯拿一分吧。
TI的例程,开环是VVVF的,也就是类似于软启动的过程。楼主设的参数是没有问题的。
可能性有两个:1是过流保护有问题 2是电机阻抗太小,而程序里的初始占空比太大了。

某沁V 发表于 2013-2-26 14:45

angelguard 发表于 2013-2-25 18:09 static/image/common/back.gif
算了,就当纯拿一分吧。
TI的例程,开环是VVVF的,也就是类似于软启动的过程。楼主设的参数是没有问题的。 ...

谢谢前辈指点!现在分析确实最可能是这两个问题。

想再请教下开环启动时的过流问题一般怎么解决呢?如何避免过流?

望不吝赐教,多谢了!

angelguard 发表于 2013-2-27 12:38

对于电机来说,起动时由于没有反电动势,同时电机阻抗很小,电流相当大,因此相当于短路状态,你也可以理解为堵转状态。因此,起动时,电机的供电电压一定要小。也就是缓启动,若不缓启动,电流相当大,会烧坏电机和控制器。
TI的开环程序的思路是:控制占空比。刚开始起动时占空比很小,接近于0,然后慢慢的,电机转起来,有了反电动势,然后占空比变大,同时频率也相应的变大。
所以,只要你控制好初始的占空比,不要让他太大,就可以了。
具体多大,和你的电机本身有关,对于小功率电机,电机阻抗大,占空比可以放大一点,反之初始占空比要很小。

angelguard 发表于 2013-2-27 12:40

某沁V 发表于 2013-2-26 14:45 static/image/common/back.gif
谢谢前辈指点!现在分析确实最可能是这两个问题。

想再请教下开环启动时的过流问题一般怎么解决呢?如 ...

对于电机来说,起动时由于没有反电动势,同时电机阻抗很小,电流相当大,因此相当于短路状态,你也可以理解为堵转状态。因此,起动时,电机的供电电压一定要小。也就是缓启动,若不缓启动,电流相当大,会烧坏电机和控制器。
TI的开环程序的思路是:控制占空比。刚开始起动时占空比很小,接近于0,然后慢慢的,电机转起来,有了反电动势,然后占空比变大,同时频率也相应的变大。
所以,只要你控制好初始的占空比,不要让他太大,就可以了。
具体多大,和你的电机本身有关,对于小功率电机,电机阻抗大,占空比可以放大一点,反之初始占空比要很小。

某沁V 发表于 2013-2-27 14:17

angelguard 发表于 2013-2-27 12:40 static/image/common/back.gif
对于电机来说,起动时由于没有反电动势,同时电机阻抗很小,电流相当大,因此相当于短路状态,你也可以理 ...

看了前辈的分析觉得醍醐灌顶。。。确实自己理解的不是这么清楚。多谢!

还需要您再指点下:)
1、我们用的电源是蓄电池组供电的,没办法连续调节供电电压,这种情况下怎么在启动的时候降低电机的供电电压呢?
2、SVPWM验证的时候,占空比是随着转速的提高从0慢慢加上去的,(当然,开环时角度是自己给的斜坡信号),这种情况下不知您说的“初始占空比”应该怎么控制?

理解的还不够到位。。。。麻烦了

sunauto 发表于 2013-2-27 14:23

TI例程里面有一个斜坡函数,你可以将你的设定由斜坡函数输出,这样就不会启动时候过流,另外启动的时候你的电流检测顺序,就是那一项对应Ia,Ib很重要,错了就电机振动很大,会启动不了,还有你的角度增加方向是不是逆时针增加,我也在做这个,电机启动了,就是带载波形差,愿意可以交流

某沁V 发表于 2013-2-27 14:46

sunauto 发表于 2013-2-27 14:23 static/image/common/back.gif
TI例程里面有一个斜坡函数,你可以将你的设定由斜坡函数输出,这样就不会启动时候过流,另外启动的时候你的 ...


电流检测顺序,哪一项对应Ia,Ib确实很重要,但是目前开环状态下电流还未反馈使用,Vd Vq是自己给定值,所以应该暂不影响。

嗯,现在就是设定的斜坡函数输出。不知您说的这个“角度增加方向”怎么确定,怎么看是不是逆时针增加?还望赐教。

谢谢指点,一起交流!

angelguard 发表于 2013-2-27 15:02

某沁V 发表于 2013-2-27 14:17 static/image/common/back.gif
看了前辈的分析觉得醍醐灌顶。。。确实自己理解的不是这么清楚。多谢!

还需要您再指点下:)


电机的供电电压=直流侧电压*占空比,直流侧电压本就应该是恒定的,变得只有占空比。假如说VDC=100V,占空比=0.3,那么电机供电电压,也就是线电压的峰值为100*0.3=30V。
占空比的最终值和vdtesting,vqtesting有关,等于两者平方和再开根号。但在实际过程中,占空比是慢慢变化的,变化速度和你斜披函数的斜率,以及增速有关。
比如说你设vdtesting=0,vqtesting=0.3,那么程序刚开始的时候,vdtesting=0,vqtesting=0,慢慢的,vqtesting开始增加,vdtesting一直为0,最终vdtesting=0,vqtesting=0.3。最终占空比是0.3.
比如说你设vdtesting=0.5,vqtesting=0.5,那么程序刚开始的时候,vdtesting=0,vqtesting=0,慢慢的,vqtesting,vdtesting都开始增加,,最终vdtesting=0.5,vqtesting=0.5。最终占空比是0.707.

某沁V 发表于 2013-2-27 15:15

angelguard 发表于 2013-2-27 15:02 static/image/common/back.gif
电机的供电电压=直流侧电压*占空比,直流侧电压本就应该是恒定的,变得只有占空比。假如说VDC=100V,占空 ...

所以您之前说的要控制好“初始占空比”,指的就是这个最终的占空比值是吧。

呵呵 ,明白了!您分析的太清楚了。

我再结合LS的建议试试,十分感谢!



angelguard 发表于 2013-2-27 15:19

某沁V 发表于 2013-2-27 15:15 static/image/common/back.gif
所以您之前说的要控制好“初始占空比”,指的就是这个最终的占空比值是吧。

呵呵 ,明白了!您分析的太 ...

不是最终的,就是一开始的vqtesting的值,因为考虑到定子电阻补偿,一般来说,占空比的初始值不是从0开始,而是一个比较小的数。你观察下刚开始的那个数

angelguard 发表于 2013-2-27 15:21

我上段的表述有问题,刚开始不是都从零开始,而是从一个很小的数开始。这个你需要仔细研究程序。

某沁V 发表于 2013-2-27 15:21

sunauto 发表于 2013-2-27 14:23 static/image/common/back.gif
TI例程里面有一个斜坡函数,你可以将你的设定由斜坡函数输出,这样就不会启动时候过流,另外启动的时候你的 ...

对了,还有个问题请教。

您在做开环启动实验时, 是否有将转子调至零位? 用的是何种方法?

某沁V 发表于 2013-2-27 15:24

angelguard 发表于 2013-2-27 15:21 static/image/common/back.gif
我上段的表述有问题,刚开始不是都从零开始,而是从一个很小的数开始。这个你需要仔细研究程序。

嗯 好的,理解了,我在研究研究。

真的是听君一席话,胜读很多书。

多谢前辈了!感谢!

angelguard 发表于 2013-2-27 17:38

某沁V 发表于 2013-2-27 15:21 static/image/common/back.gif
对了,还有个问题请教。

您在做开环启动实验时, 是否有将转子调至零位? 用的是何种方法?

同步电机没研究过,抱歉

sunauto 发表于 2013-2-27 18:44

我用的是旋变测角度,初始角度很重要,因为旋变安装不一定合适,一种方法是固定两相通PWM信号将电机转子锁死在一个角度上,比如A正,B负,转子就定在330°,这时候在和解码器读到的角度进行比较,校正,注意这种方法你要把母线电压调低很多,要不然电流会很大,还有一种就是将Id设定一个正值,Iq设为0.再设定一个角度,启动后电机转子会定在你设定的角度上,论坛上有人介绍过,如果愿意交流加我QQ787028377,不过我也是刚接触
页: [1] 2
查看完整版本: PMSM3_1 LEVEL2 电机启动与相关参数标幺化问题