大家好。
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