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.

关于F2837x标幺值的问题

在TMS320F28379的例程的IDDK_PM_Servo_F2837x-v2中IDDK_PM_Servo_F2837x-Settings.h有

// Define the base quantites
#define BASE_VOLTAGE 236.14 // Base peak phase voltage (volt), Vdc/sqrt(3)
#define BASE_SHUNT_CURRENT 9.95 // Base peak phase current (amp), Max. measurable peak curr.
#define BASE_LEM_CURRENT 12.0 // ----- do -----
#define BASE_TORQUE // Base torque (N.m)
#define BASE_FLUX // Base flux linkage (volt.sec/rad)
#define BASE_FREQ 200 // Base electrical frequency (Hz)

BASE_VOLTAGE 236.14定义为逆变器直流母线电压Vdc/sqrt(3),但是程序中却没有用到,是不是在没有开放的代码里定义其为电压的基准值?是否可以改变?

以及

// Variables for Field Oriented Control
// ****************************************************************************
float32 T = 0.001/ISR_FREQUENCY; // Samping period (sec), see parameter.h
_iq VdTesting = _IQ(0.0), // Vd reference (pu)
VqTesting = _IQ(0.13), // Vq reference (pu)
IdRef = _IQ(0.0), // Id reference (pu)
IqRef = _IQ(0.0), // Iq reference (pu)
SpeedRef = _IQ(0.0); // For Closed Loop tests

VdTesting、VqTesting、IdRef、IqRef是标幺值的形式,其基准值是什么?SpeedRef 的单位是什么?

  • BASE_VOLTAGE 236.14是一个历史工程遗留下来的值,这里并不使用。但如果要用的话这个值也是正确的。
    VdTesting、VqTesting、IdRef、IqRef这些值是基于unitary scale的,对于电压来说,VdTesting = 0.1就是0.1*236 = 23.6.
  • 非常感谢,还有一个问题,这里的参考转速SpeedRef = _IQ(0.0); // For Closed Loop tests是否也是标幺值的形式?
    如果是标幺值的形式,那么根据基频定义#define BASE_FREQ 200 // Base electrical frequency (Hz),假如极对数np为4,就可以计算出额定转速n=60f/np=(60*200)/4=3000r/min,若SpeedRef=0.05那么实际给定参考转速就为0.05*3000=150r/min。反推,如果额定转速为6000r/min,极对数为4的永磁同步电机,基频就应该设为(6000*4)/60=400,不知我的理解是否正确?
  • BASE VOLTAGE/ CURRENT/ FREQUENCY是根据驱动硬件设置的,不一定要匹配电机。通常,基准值大于电机的基准值,因此驱动器能够处理过电压、过电流和超速的条件。换言之,您可以根据自己的应用灵活地选择数值,但最好留有一定的过载空间。