TI中文支持网
TI专业的中文技术问题搜集分享网站

HVACI例程

大家好。

       1、 我最近在控制三相交流电机,参考了C:\ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v2.1\HVACI_Sensorless 的例程,硬件电路基本参考TI来设计,请问电机不同,以下的参数要不要修改?要不要修改为现在的电机参数?

// Define the electrical motor parameters (1/4 hp Marathon Motor)
#define RS   11.05          // Stator resistance (ohm)#define RR    6.11          // Rotor resistance (ohm)#define LS    0.316423        // Stator inductance (H)#define LR    0.316423     // Rotor inductance (H)  
#define LM    0.293939      // Magnetizing inductance (H)
#define POLES   4     // Number of poles

// Define the base quantities for PU system conversion
#define BASE_VOLTAGE    220     // Base peak phase voltage (volt)
#define BASE_CURRENT    3          // Base peak phase current (amp)
#define BASE_TORQUE           // Base torque (N.m)
#define BASE_FLUX             // Base flux linkage (volt.sec/rad)
#define BASE_FREQ       50         // Base electrical frequency (Hz)

2、我改为_iq SpeedRef = _IQ(0.1);,用示波器看PWM互补的,把程序烧写到28035,连接电机响了几下没转动就停止了, 逆变器烧掉了,这是什么原因?

急求高手帮我解答这个问题,谢谢了

Eric Ma:

liangfeng,

在设计或做实验之前,都要看一下TI demo的相关说明文档。

1. 需要修改对应的电机参数。

2. 这个需要软硬件排查,建议你还是按照这个demo中的例程build level一步一步调试。

Eric

大家好。

       1、 我最近在控制三相交流电机,参考了C:\ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v2.1\HVACI_Sensorless 的例程,硬件电路基本参考TI来设计,请问电机不同,以下的参数要不要修改?要不要修改为现在的电机参数?

// Define the electrical motor parameters (1/4 hp Marathon Motor)
#define RS   11.05          // Stator resistance (ohm)#define RR    6.11          // Rotor resistance (ohm)#define LS    0.316423        // Stator inductance (H)#define LR    0.316423     // Rotor inductance (H)  
#define LM    0.293939      // Magnetizing inductance (H)
#define POLES   4     // Number of poles

// Define the base quantities for PU system conversion
#define BASE_VOLTAGE    220     // Base peak phase voltage (volt)
#define BASE_CURRENT    3          // Base peak phase current (amp)
#define BASE_TORQUE           // Base torque (N.m)
#define BASE_FLUX             // Base flux linkage (volt.sec/rad)
#define BASE_FREQ       50         // Base electrical frequency (Hz)

2、我改为_iq SpeedRef = _IQ(0.1);,用示波器看PWM互补的,把程序烧写到28035,连接电机响了几下没转动就停止了, 逆变器烧掉了,这是什么原因?

急求高手帮我解答这个问题,谢谢了

liangheng feng:

回复 Eric Ma:

Eric

      你好,感谢你的回复。

     1、我现在对其中一些参数不是很理解:

     #define BASE_FREQ       50         // Base electrical frequency (Hz)    这个频率是什么频率?是输入电机的电源频率吗?

    #define BASE_VOLTAGE    220     // Base peak phase voltage (volt)   这个电压是我们的市电的电压吗?    #define BASE_CURRENT    3          // Base peak phase current (amp)

     2、每次换电机都要改变参数有点麻烦,不知有没有设置统一的参数方法?

      再次谢谢你。

liangfeng,

大家好。

       1、 我最近在控制三相交流电机,参考了C:\ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v2.1\HVACI_Sensorless 的例程,硬件电路基本参考TI来设计,请问电机不同,以下的参数要不要修改?要不要修改为现在的电机参数?

// Define the electrical motor parameters (1/4 hp Marathon Motor)
#define RS   11.05          // Stator resistance (ohm)#define RR    6.11          // Rotor resistance (ohm)#define LS    0.316423        // Stator inductance (H)#define LR    0.316423     // Rotor inductance (H)  
#define LM    0.293939      // Magnetizing inductance (H)
#define POLES   4     // Number of poles

// Define the base quantities for PU system conversion
#define BASE_VOLTAGE    220     // Base peak phase voltage (volt)
#define BASE_CURRENT    3          // Base peak phase current (amp)
#define BASE_TORQUE           // Base torque (N.m)
#define BASE_FLUX             // Base flux linkage (volt.sec/rad)
#define BASE_FREQ       50         // Base electrical frequency (Hz)

2、我改为_iq SpeedRef = _IQ(0.1);,用示波器看PWM互补的,把程序烧写到28035,连接电机响了几下没转动就停止了, 逆变器烧掉了,这是什么原因?

急求高手帮我解答这个问题,谢谢了

Eric Ma:

回复 liangheng feng:

liangfeng,

1. Base_Freq 应该是归一化用的基值,是电机旋转磁场频率的基值。由于电机程序都是采用归一化的方式来编写的,所以后续代码中关于速度频率的1就代表50HZ。

电压,电流也是类似,都是输入到电机的电压和电流基值。

2. 换电机的话,就要修改电机参数,很正常的。因为无传感的方法需要输入电机的磁极对数,电感及电阻,用在预测转子位置。但如果是有传感的方案的话,应该除了磁极对数之外,其他可以不用。

Eric

大家好。

       1、 我最近在控制三相交流电机,参考了C:\ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v2.1\HVACI_Sensorless 的例程,硬件电路基本参考TI来设计,请问电机不同,以下的参数要不要修改?要不要修改为现在的电机参数?

// Define the electrical motor parameters (1/4 hp Marathon Motor)
#define RS   11.05          // Stator resistance (ohm)#define RR    6.11          // Rotor resistance (ohm)#define LS    0.316423        // Stator inductance (H)#define LR    0.316423     // Rotor inductance (H)  
#define LM    0.293939      // Magnetizing inductance (H)
#define POLES   4     // Number of poles

// Define the base quantities for PU system conversion
#define BASE_VOLTAGE    220     // Base peak phase voltage (volt)
#define BASE_CURRENT    3          // Base peak phase current (amp)
#define BASE_TORQUE           // Base torque (N.m)
#define BASE_FLUX             // Base flux linkage (volt.sec/rad)
#define BASE_FREQ       50         // Base electrical frequency (Hz)

2、我改为_iq SpeedRef = _IQ(0.1);,用示波器看PWM互补的,把程序烧写到28035,连接电机响了几下没转动就停止了, 逆变器烧掉了,这是什么原因?

急求高手帮我解答这个问题,谢谢了

liangheng feng:

回复 Eric Ma:

Eric,

      非常感谢,你的回答让我思路清晰了很多,但还是有点迷惑。

      1、我看例程的speedref的0.5对应电机的最大转速,为什么不用1来对应最大转速呢?而且我测试给1时最大的频率是80HZ左右,这部分是不是有保护功能在里面呢?

      譬如:se1.BaseRpm = 120 * BASE_FREQ / POLES;    //基础转速         电机转速公式不是乘60吗,这里怎么乘120.  

      2、归一化的电流基值是最大值吗?我的电机是0.6A的额定电流,我应该设0.6还是1A。

liangfeng,

大家好。

       1、 我最近在控制三相交流电机,参考了C:\ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v2.1\HVACI_Sensorless 的例程,硬件电路基本参考TI来设计,请问电机不同,以下的参数要不要修改?要不要修改为现在的电机参数?

// Define the electrical motor parameters (1/4 hp Marathon Motor)
#define RS   11.05          // Stator resistance (ohm)#define RR    6.11          // Rotor resistance (ohm)#define LS    0.316423        // Stator inductance (H)#define LR    0.316423     // Rotor inductance (H)  
#define LM    0.293939      // Magnetizing inductance (H)
#define POLES   4     // Number of poles

// Define the base quantities for PU system conversion
#define BASE_VOLTAGE    220     // Base peak phase voltage (volt)
#define BASE_CURRENT    3          // Base peak phase current (amp)
#define BASE_TORQUE           // Base torque (N.m)
#define BASE_FLUX             // Base flux linkage (volt.sec/rad)
#define BASE_FREQ       50         // Base electrical frequency (Hz)

2、我改为_iq SpeedRef = _IQ(0.1);,用示波器看PWM互补的,把程序烧写到28035,连接电机响了几下没转动就停止了, 逆变器烧掉了,这是什么原因?

急求高手帮我解答这个问题,谢谢了

liangheng feng:

回复 Eric Ma:

Eric

      你好,还有点地方不明白,希望能帮我解答一下:

     // Define the base quantities for PU system conversion    #define BASE_VOLTAGE    236.140     // Base peak phase voltage (volt)    #define BASE_CURRENT    10          // Base peak phase current (amp)   #define BASE_TORQUE           // Base torque (N.m)   #define BASE_FLUX             // Base flux linkage (volt.sec/rad)    #define BASE_FREQ       120         // Base electrical frequency (Hz)         // Note that 0.5 pu (1800 rpm) is max for Marathon motor          // Above 1800 rpm, field weakening is needed.

    上面的电压,电流,频率参数初始化的数值是怎么给定呢?  为什么BASE_VOLTAGE给了236.140,BASE_CURRENT给了10A这么大?基准值是给最大值吗?

 

大家好。

       1、 我最近在控制三相交流电机,参考了C:\ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v2.1\HVACI_Sensorless 的例程,硬件电路基本参考TI来设计,请问电机不同,以下的参数要不要修改?要不要修改为现在的电机参数?

// Define the electrical motor parameters (1/4 hp Marathon Motor)
#define RS   11.05          // Stator resistance (ohm)#define RR    6.11          // Rotor resistance (ohm)#define LS    0.316423        // Stator inductance (H)#define LR    0.316423     // Rotor inductance (H)  
#define LM    0.293939      // Magnetizing inductance (H)
#define POLES   4     // Number of poles

// Define the base quantities for PU system conversion
#define BASE_VOLTAGE    220     // Base peak phase voltage (volt)
#define BASE_CURRENT    3          // Base peak phase current (amp)
#define BASE_TORQUE           // Base torque (N.m)
#define BASE_FLUX             // Base flux linkage (volt.sec/rad)
#define BASE_FREQ       50         // Base electrical frequency (Hz)

2、我改为_iq SpeedRef = _IQ(0.1);,用示波器看PWM互补的,把程序烧写到28035,连接电机响了几下没转动就停止了, 逆变器烧掉了,这是什么原因?

急求高手帮我解答这个问题,谢谢了

fuxin deng:

回复 Eric Ma:

// Define the electrical motor parameters (1/4 hp Marathon Motor)#define RS     11.05                       // Stator resistance (ohm) #define RR     6.11                         // Rotor resistance (ohm) #define LS     0.316423                // Stator inductance (H) #define LR     0.316423                // Rotor inductance (H) #define LM     0.293939                // Magnetizing inductance (H)#define POLES 4 // Number of poles

// Define the base quantities for PU system conversion#define BASE_VOLTAGE       236.140          // Base peak phase voltage (volt)#define BASE_CURRENT    10                     // Base peak phase current (amp)#define BASE_TORQUE                                // Base torque (N.m)#define BASE_FLUX                                       // Base flux linkage (volt.sec/rad)#define BASE_FREQ            120                  // Base electrical frequency (Hz)                                                                             // Note that 0.5 pu (1800 rpm) is max for Marathon motor                                                                            // Above 1800 rpm, field weakening is needed.

您好,对于上面的几个参数,我有以下疑问:

       1)我想问问上面的基值电压236.140V,基值电流10A,频率120Hz是怎么给定的,这是电机工作的额定工作条件吗?但一般通用的交流电机的额定工作频率都是50Hz或60Hz的,这个120Hz是怎么来的?

       2) 还有后面那句:Note that 0.5 pu (1800 rpm) is max for Marathon motor ,意思说速度值设为0.5时对应的是电机的最高转速1800rpm,根据样例程序里的公式:speed2.BaseRpm = 120 * (BASE_FREQ / POLES);;当速度值设为0.5时对应的频率是60Hz,代入公式speed2.BaseRpm = 120 * (60 / 4)=1800是能正确的值,那如果我把速度值设为1是,那根据公式计算出的电机转速就为3600rpm,这不就超过了电机的转速范围吗?不过我在测试时发现当我把速度值设为1时,逆变出来的频率只有80Hz那样,达不到120Hz,是不是样例程序里做了限制?

        在网上查到电机的转速公式是:速度 = 60 * (频率 / 级数 );把速度值为1时对应最高的转速,此时频率应为120Hz,那根据上面的公式 速度 = 60 * (120/ 级4)= 1800 也能得到电机的最高转速,不清楚TI为什么要按上面的方法设,为什么不把速度值为1时定义为最高转速,而是把速度值为0.5时定义为最高转速。

     谢谢。

大家好。

       1、 我最近在控制三相交流电机,参考了C:\ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v2.1\HVACI_Sensorless 的例程,硬件电路基本参考TI来设计,请问电机不同,以下的参数要不要修改?要不要修改为现在的电机参数?

// Define the electrical motor parameters (1/4 hp Marathon Motor)
#define RS   11.05          // Stator resistance (ohm)#define RR    6.11          // Rotor resistance (ohm)#define LS    0.316423        // Stator inductance (H)#define LR    0.316423     // Rotor inductance (H)  
#define LM    0.293939      // Magnetizing inductance (H)
#define POLES   4     // Number of poles

// Define the base quantities for PU system conversion
#define BASE_VOLTAGE    220     // Base peak phase voltage (volt)
#define BASE_CURRENT    3          // Base peak phase current (amp)
#define BASE_TORQUE           // Base torque (N.m)
#define BASE_FLUX             // Base flux linkage (volt.sec/rad)
#define BASE_FREQ       50         // Base electrical frequency (Hz)

2、我改为_iq SpeedRef = _IQ(0.1);,用示波器看PWM互补的,把程序烧写到28035,连接电机响了几下没转动就停止了, 逆变器烧掉了,这是什么原因?

急求高手帮我解答这个问题,谢谢了

Eric Ma:

回复 liangheng feng:

liangheng,

1. 这里的公式poles指的是极数,但是速度是60*f/极对数,所以转换一下后就是120f/极数。

2. 一般是最大值,程序中都是算的最大电流,也就是说要考虑峰值。还有一般要留一点裕量。

Eric

大家好。

       1、 我最近在控制三相交流电机,参考了C:\ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v2.1\HVACI_Sensorless 的例程,硬件电路基本参考TI来设计,请问电机不同,以下的参数要不要修改?要不要修改为现在的电机参数?

// Define the electrical motor parameters (1/4 hp Marathon Motor)
#define RS   11.05          // Stator resistance (ohm)#define RR    6.11          // Rotor resistance (ohm)#define LS    0.316423        // Stator inductance (H)#define LR    0.316423     // Rotor inductance (H)  
#define LM    0.293939      // Magnetizing inductance (H)
#define POLES   4     // Number of poles

// Define the base quantities for PU system conversion
#define BASE_VOLTAGE    220     // Base peak phase voltage (volt)
#define BASE_CURRENT    3          // Base peak phase current (amp)
#define BASE_TORQUE           // Base torque (N.m)
#define BASE_FLUX             // Base flux linkage (volt.sec/rad)
#define BASE_FREQ       50         // Base electrical frequency (Hz)

2、我改为_iq SpeedRef = _IQ(0.1);,用示波器看PWM互补的,把程序烧写到28035,连接电机响了几下没转动就停止了, 逆变器烧掉了,这是什么原因?

急求高手帮我解答这个问题,谢谢了

Eric Ma:

回复 fuxin deng:

Fuxin,

1. base frequency是电机的电周期,也就是对应的速度。归一化就是参考这个频率来算速度的。

2. 程序中的公式有极数跟极对数的区分。

Eric

大家好。

       1、 我最近在控制三相交流电机,参考了C:\ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v2.1\HVACI_Sensorless 的例程,硬件电路基本参考TI来设计,请问电机不同,以下的参数要不要修改?要不要修改为现在的电机参数?

// Define the electrical motor parameters (1/4 hp Marathon Motor)
#define RS   11.05          // Stator resistance (ohm)#define RR    6.11          // Rotor resistance (ohm)#define LS    0.316423        // Stator inductance (H)#define LR    0.316423     // Rotor inductance (H)  
#define LM    0.293939      // Magnetizing inductance (H)
#define POLES   4     // Number of poles

// Define the base quantities for PU system conversion
#define BASE_VOLTAGE    220     // Base peak phase voltage (volt)
#define BASE_CURRENT    3          // Base peak phase current (amp)
#define BASE_TORQUE           // Base torque (N.m)
#define BASE_FLUX             // Base flux linkage (volt.sec/rad)
#define BASE_FREQ       50         // Base electrical frequency (Hz)

2、我改为_iq SpeedRef = _IQ(0.1);,用示波器看PWM互补的,把程序烧写到28035,连接电机响了几下没转动就停止了, 逆变器烧掉了,这是什么原因?

急求高手帮我解答这个问题,谢谢了

fuxin deng:

回复 Eric Ma:

Eric 您好:

        按您所说,根据公式speed2.BaseRpm = 120 * (BASE_FREQ / POLES) ,如果把速度值设为1.0pu时,电机的电周期应该就为120Hz,这样算到的电机速度就为speed2.BaseRpm = 120 * (BASE_FREQ / POLES) = 120*(120 / 4)=  3600rpm,这已经远远超过了电机的额定速度 1800rpm,请问这样设合理吗?
        还有下面这段程序里说是在速度值设为0.5pu时对应的是最高转速1800rpm的,是不是说在设定速度值时不能超到0.5pu?为什么不一开始就把BASE_FREQ  设为60Hz,那1.0pu时不就对应了最高转速1800rpm了 ?
                 谢谢。

                #define BASE_FREQ            120            // Base electrical frequency (Hz) 

                                                                                     // Note that 0.5 pu (1800 rpm) is max for Marathon motor                                                                                      // Above 1800 rpm, field weakening is needed.

大家好。

       1、 我最近在控制三相交流电机,参考了C:\ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v2.1\HVACI_Sensorless 的例程,硬件电路基本参考TI来设计,请问电机不同,以下的参数要不要修改?要不要修改为现在的电机参数?

// Define the electrical motor parameters (1/4 hp Marathon Motor)
#define RS   11.05          // Stator resistance (ohm)#define RR    6.11          // Rotor resistance (ohm)#define LS    0.316423        // Stator inductance (H)#define LR    0.316423     // Rotor inductance (H)  
#define LM    0.293939      // Magnetizing inductance (H)
#define POLES   4     // Number of poles

// Define the base quantities for PU system conversion
#define BASE_VOLTAGE    220     // Base peak phase voltage (volt)
#define BASE_CURRENT    3          // Base peak phase current (amp)
#define BASE_TORQUE           // Base torque (N.m)
#define BASE_FLUX             // Base flux linkage (volt.sec/rad)
#define BASE_FREQ       50         // Base electrical frequency (Hz)

2、我改为_iq SpeedRef = _IQ(0.1);,用示波器看PWM互补的,把程序烧写到28035,连接电机响了几下没转动就停止了, 逆变器烧掉了,这是什么原因?

急求高手帮我解答这个问题,谢谢了

Eric Ma:

回复 fuxin deng:

fuxin,

其实你也注意到0.5 pu就是额定转速了,1800 rpm。

之所以把频率设的那么高,我觉得考虑到可能一个方面是用于弱磁提速用的吧。

其实你想设置为其他频率,我觉得也是可以的,只是你程序中在设置参考转速的时候要注意就行了。

Eric

赞(0)
未经允许不得转载:TI中文支持网 » HVACI例程
分享到: 更多 (0)