我没有改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 开发板