This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

电机控制系统参数的标幺化

Other Parts Discussed in Thread: CONTROLSUITE

各位老师你们好,我在做永磁同步电机矢量控制系统,采用的是无位置滑动模态估计法,在随转子转速进行计算时,看到controlSuite中FOC程序,看到程序中的基频Base_Freq设置为200hz,然后遇到一些问题:

1、利用下面这个式子进行角速度的计算,

Temp1 = _IQmpy(v.K1,(v.EstimatedTheta - v.OldEstimatedTheta));

其中K1=_IQ21(1/(BASE_FREQ*T));

利用表达式可以表示为:

式子中的Tspeed是中断服务频率的倒数吧,为什么还要在除一个基频呢?这个是标幺化处理吗?具体处理思想是什么呢?

2、为了方便您解决问题,我将系统的控制框图放在下面了。在程序中我还看到,在进行RG模块时需要计算StepAngleMax,这个就是每进入一次中断增加的角度值吧,为什么它的值就是BASE_FREQ*T呢?

非常感谢!!!

  • 你说的是BASE_FREQ吧,这个是TI 自定义的标幺化 频率值,比如设定BASE_FREQ是200hz,也是就说当电机频率达到200hz时,算法里面显示值为IQ(1)。

  • 谢谢您的回复,请问BASE_FREQ*T计算得到的是什么值呢?另外K1=_IQ21(1/(BASE_FREQ*T))得到的是什么值呢?进行速度计算为真么需要这个值?

    非常感谢!!!

  • 这个道理很简单啊,速度 = 距离 / 时间,在程序里 距离 就是 前后两次角度的 差值,时间 就是前后两次中断的固定间隔周期 T,两者相除就是 角速度。

    至于为什么加上BASE_FREQ,前面说过了是为了标幺化,就是说 程序里的 角速度值 单位 1 等于 BASE_FREQ的值。这样是为了方便 程序里所有变量统一单位。

  • 谢谢您:

    “角速度值 单位 1 等于 BASE_FREQ的值”这样的话加速度单位1与转速单位1应该一致的吧。转速单位1代表3000r/min,二者都是基值,那这样的话应该一致吧,但是BASE_FREQ与转速基值不一致啊?

    在斜坡信号产生模块中有StepAngleMax=BASE_FREQ*T(T=1/f,f是中断服务频率),这个频率怎么和角度存在关系呢?

    谢谢您。