-
各位老师好,我在用controlSUITE中的矢量控制程序。在测试单电流环矢量控制时,需要用到斜坡升速模块,请问参数StepAngleMax为什么这么计算呢?下图为StepAngleMax的计算公式。
斜坡升速信号产生模块的程序如下:
#define RG_MACRO(v) \
\
/* Compute the angle rate */ \
v.Angle += _IQmpy(v.StepAngleMax,v.Freq); \
\
/* Saturate the angle rate within (-1,1) */ \
if (v.Angle>_IQ(1.0)) \
v.Angle -= _IQ(1.0); \
else if (v.Angle<_IQ(-1.0)) \
v.Angle += _IQ(1.0); \
\
/* Compute the ramp output */ \
v.Out = _IQmpy(v.Angle,v.Gain) + v.Offset; \
/* Saturate the ramp output within (-1,1) */ \
if (v.Out>_IQ(1.0)) \
v.Out -= _IQ(1.0); \
else if (v.Out<_IQ(-1.0)) \
v.Out += _IQ(1.0);#endif // __RAMPGEN_H__
-
T是相邻两次stepAngle程序执行的间隔时间,BASE_FREQ是IQ(1)代表的最快转速值。因为1/BASE_FREQ是转一圈的时间,所以 T / (1/BASE_FREQ)代表间隔时间转过的角度也就是stepAngle。
-
您好!1/BASE_FREQ是转一圈的时间的话,那么BASE_FREQ设定为200hz的话,则BASE_FREQ对应的最快转速值为200r/s,即为12000r/s?但此时对应的实际最高转速为3000r/s,这个怎么解释呢?
非常感谢!!!
rookiecalf:
算的是电磁角速度
-
各位老师好,我在用controlSUITE中的矢量控制程序。在测试单电流环矢量控制时,需要用到斜坡升速模块,请问参数StepAngleMax为什么这么计算呢?下图为StepAngleMax的计算公式。
斜坡升速信号产生模块的程序如下:
#define RG_MACRO(v) \
\
/* Compute the angle rate */ \
v.Angle += _IQmpy(v.StepAngleMax,v.Freq); \
\
/* Saturate the angle rate within (-1,1) */ \
if (v.Angle>_IQ(1.0)) \
v.Angle -= _IQ(1.0); \
else if (v.Angle<_IQ(-1.0)) \
v.Angle += _IQ(1.0); \
\
/* Compute the ramp output */ \
v.Out = _IQmpy(v.Angle,v.Gain) + v.Offset; \
/* Saturate the ramp output within (-1,1) */ \
if (v.Out>_IQ(1.0)) \
v.Out -= _IQ(1.0); \
else if (v.Out<_IQ(-1.0)) \
v.Out += _IQ(1.0);#endif // __RAMPGEN_H__
-
T是相邻两次stepAngle程序执行的间隔时间,BASE_FREQ是IQ(1)代表的最快转速值。因为1/BASE_FREQ是转一圈的时间,所以 T / (1/BASE_FREQ)代表间隔时间转过的角度也就是stepAngle。
-
您好!1/BASE_FREQ是转一圈的时间的话,那么BASE_FREQ设定为200hz的话,则BASE_FREQ对应的最快转速值为200r/s,即为12000r/s?但此时对应的实际最高转速为3000r/s,这个怎么解释呢?
非常感谢!!!
xu zhang11:
回复 rookiecalf:
谢谢您的回复,请问转子磁场定向控制采用的是机械角度还是电角度
非常感谢!!