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

proj_lab02b 马达识别问题

我没有改user.h 运行程序得到马达识别的参数

然后我把 这个参数 替代user.h 中马达参数 如下

#elif (USER_MOTOR == Anaheim_BLY172S)
#define USER_MOTOR_TYPE MOTOR_Type_Pm
#define USER_MOTOR_NUM_POLE_PAIRS (4)
#define USER_MOTOR_Rr (NULL)
#define USER_MOTOR_Rs (0.181274)
#define USER_MOTOR_Ls_d (0.1218959)
#define USER_MOTOR_Ls_q (0.1218959)
#define USER_MOTOR_RATED_FLUX (0.0569065)
#define USER_MOTOR_MAGNETIZING_CURRENT (NULL)
#define USER_MOTOR_RES_EST_CURRENT (1.0)
#define USER_MOTOR_IND_EST_CURRENT (-1.0)
#define USER_MOTOR_MAX_CURRENT (5.0)
#define USER_MOTOR_FLUX_EST_FREQ_Hz (20.0)

运行程序 

 // store user parameter error in global variable

gMotorVars.UserErrorCode = USER_getErrorCode(&gUserParams);

报错 说满量程电压过低,我把量程电压24v 改成48v 再运行 报错说 控制频率过高。

这些参数不是在24v 下估算出来的吗? 这是怎么回事?请老师指点

ming chen3:

你用的是什么电机?参数辨识是需要根据电机参数进行设置的。

我没有改user.h 运行程序得到马达识别的参数

然后我把 这个参数 替代user.h 中马达参数 如下

#elif (USER_MOTOR == Anaheim_BLY172S)
#define USER_MOTOR_TYPE MOTOR_Type_Pm
#define USER_MOTOR_NUM_POLE_PAIRS (4)
#define USER_MOTOR_Rr (NULL)
#define USER_MOTOR_Rs (0.181274)
#define USER_MOTOR_Ls_d (0.1218959)
#define USER_MOTOR_Ls_q (0.1218959)
#define USER_MOTOR_RATED_FLUX (0.0569065)
#define USER_MOTOR_MAGNETIZING_CURRENT (NULL)
#define USER_MOTOR_RES_EST_CURRENT (1.0)
#define USER_MOTOR_IND_EST_CURRENT (-1.0)
#define USER_MOTOR_MAX_CURRENT (5.0)
#define USER_MOTOR_FLUX_EST_FREQ_Hz (20.0)

运行程序 

 // store user parameter error in global variable

gMotorVars.UserErrorCode = USER_getErrorCode(&gUserParams);

报错 说满量程电压过低,我把量程电压24v 改成48v 再运行 报错说 控制频率过高。

这些参数不是在24v 下估算出来的吗? 这是怎么回事?请老师指点

Martin Yu:

用的是哪个套件下的工程?高压板还是低压DRV8301或DRV8312的?

辨识过程正常吗?

我没有改user.h 运行程序得到马达识别的参数

然后我把 这个参数 替代user.h 中马达参数 如下

#elif (USER_MOTOR == Anaheim_BLY172S)
#define USER_MOTOR_TYPE MOTOR_Type_Pm
#define USER_MOTOR_NUM_POLE_PAIRS (4)
#define USER_MOTOR_Rr (NULL)
#define USER_MOTOR_Rs (0.181274)
#define USER_MOTOR_Ls_d (0.1218959)
#define USER_MOTOR_Ls_q (0.1218959)
#define USER_MOTOR_RATED_FLUX (0.0569065)
#define USER_MOTOR_MAGNETIZING_CURRENT (NULL)
#define USER_MOTOR_RES_EST_CURRENT (1.0)
#define USER_MOTOR_IND_EST_CURRENT (-1.0)
#define USER_MOTOR_MAX_CURRENT (5.0)
#define USER_MOTOR_FLUX_EST_FREQ_Hz (20.0)

运行程序 

 // store user parameter error in global variable

gMotorVars.UserErrorCode = USER_getErrorCode(&gUserParams);

报错 说满量程电压过低,我把量程电压24v 改成48v 再运行 报错说 控制频率过高。

这些参数不是在24v 下估算出来的吗? 这是怎么回事?请老师指点

user1303469:

回复 ming chen3:

我用的24v 无刷电机4对极3000转 型号57blf02

我没有改user.h 运行程序得到马达识别的参数

然后我把 这个参数 替代user.h 中马达参数 如下

#elif (USER_MOTOR == Anaheim_BLY172S)
#define USER_MOTOR_TYPE MOTOR_Type_Pm
#define USER_MOTOR_NUM_POLE_PAIRS (4)
#define USER_MOTOR_Rr (NULL)
#define USER_MOTOR_Rs (0.181274)
#define USER_MOTOR_Ls_d (0.1218959)
#define USER_MOTOR_Ls_q (0.1218959)
#define USER_MOTOR_RATED_FLUX (0.0569065)
#define USER_MOTOR_MAGNETIZING_CURRENT (NULL)
#define USER_MOTOR_RES_EST_CURRENT (1.0)
#define USER_MOTOR_IND_EST_CURRENT (-1.0)
#define USER_MOTOR_MAX_CURRENT (5.0)
#define USER_MOTOR_FLUX_EST_FREQ_Hz (20.0)

运行程序 

 // store user parameter error in global variable

gMotorVars.UserErrorCode = USER_getErrorCode(&gUserParams);

报错 说满量程电压过低,我把量程电压24v 改成48v 再运行 报错说 控制频率过高。

这些参数不是在24v 下估算出来的吗? 这是怎么回事?请老师指点

user1303469:

回复 Martin Yu:

我用的drv8301 开发板

赞(0)
未经允许不得转载:TI中文支持网 » proj_lab02b 马达识别问题
分享到: 更多 (0)