主题中讨论的其他器件:DRV8305
我将逐一进行电机控制 SDK intaspin FOC 实验。 我的控制器是 F280049C Launchpad、我的驱动程序是 Boostxl-drv8305。 我在前面的三个实验工作中没有遇到任何问题。 第三个实验是 is03_hardware_test、它运行开环电机速度控制、我已经顺利完成了此实验。 但是、在第四个和第五个实验中、即 IS _04和 IS _05_MOTOR_id 中、产生过高电流的系统和驱动器会提供 nFault 信号。 因此、我无法完成这些实验、也无法识别电机。
过去、我还在 Instaspin 上使用过 F28069M launchpad 和 drv8305、但我没有遇到任何问题。 此外、我针对 F280049C 修改了 drv8305的所有代码、因此 ADC 和 PWM 值看起来是正确的。
我想在 IT_05实验中、EST_State_ROVERL 阶跃中会出现高电流。 电流控制器可能存在问题。 当我更改 PWM 频率时、这种行为会发生变化。 20-25kHz PWM 频率会导致高电流、但当我将该值增大到45kHz 时、电机电流非常低、电机不旋转。 此外、估算器状态保持 EST_State_ROVERL。
我已经检查了 instaspin 用户指南、但"6.9.2.5 RoverL 识别期间电流控制器稳定性故障排除"部分为空
我的电机参数:
#Elif (USER_MOTOR== My_A2212T13) #define USER_MOTOR_TYPE MOTOR_TYPE_PM #define USER_MOTOR_NUM_POLE_PAIRS (6) #define USER_MOTOR_RR_OHM (空) #define USER_MOTOR_Rs_Ohm (0.102725) #define USER_MOTOR_LS_D_H (0.00001216) #define USER_MOTOR_LS_q_H (0.00001216) #define USER_MOTOR_RATed_磁 通_VpHz (空) #define USER_MOTOR_磁 化电流_A (空) #define USER_MOTOR_RES_EST_CURRENT_A (1.0) #define USER_MOTOR_IND_EST_CURRENT_A (-1.0) #define USER_MOTOR_MAX_CURRENT_A (3.0) #define USER_MOTOR_FLUX_EXC_FREQ_Hz (20.0) #define USER_MOTOR_RATID_SPEED_KRPM (3.0) #define USER_MOTOR_FREQ_MIN_Hz (5.0) // Hz #define USER_MOTOR_FREQ_MAX_Hz (300.0) // Hz #define USER_MOTOR_FREQ_LOW_Hz (10.0) // Hz #define USER_MOTOR_FREQ_HIGH_Hz (150.0) // Hz #define USER_MOTOR_VOLT_MIN_V (0.1) #define USER_MOTOR_VOLT_MAX_V (12.5) #define USER_MOTOR_NUM_ENC_SLOTS (空)