您好!
让 InstaSpin-FOC 的电机参数测量功能与我们的定制硬件正常工作时遇到问题。 我们使用 TSM320F28069M 来实现电机的场定向控制。 我已经在前面的实验(1b 和1c)中进行了实验、并验证了电流和电压反馈是否正常工作。 我们从制造商处收到了大部分必要的电机参数、但在 尝试在实验4中实施扭矩控制器之前、我仍然需要 USER_MOTOR_RATed_磁 通。
尝试执行电机参数测量已重复导致控制器产生类似于下面所示的过流事件。 该事件发生在 EST_State_RoverL 的最末或 EST_State_Rs 的最开头。 下图显示了事件发生时的三个低侧栅极(黄色-相位 C、蓝色-相位 B、粉色-相位 A、绿色-总线电流):
下一幅图像显示了事件发生时每个相位的电流反馈(黄色-相位 C 电流、蓝色-相位 B 电流、粉色-相位 A 电流、绿色-总线电流)。 电流反馈的偏移为1.65V、在低侧分流电阻器上进行测量:
我们的硬件中的过流阈值为60A、但根据 user_j1.h 中的设置、系统不应超过15A。 这些是我在该文件中设置的参数:
#define USER_MOTOR_TYPE Motor_Type_Pm // Motor_Type_Pm (全部同步:BLDC、PMSM、SMPM、IPM)或 Motor_Type_Induction (异步 ACI) #define USER_MOTOR_NUM_POLE_PAIRS (2) //对、而不是总极数。 仅用于根据转子 Hz 计算用户 RPM #define USER_MOTOR_RR (空) //仅感应电机,否则为 NULL #define USER_MOTOR_Rs (空) // Y 等效电路中识别的相位到中性点电阻(欧姆、浮点) #define USER_MOTOR_LS_d (空) //对于 PM、确定的平均定子电感(亨利、浮点数) #define USER_MOTOR_LS_q (空) //对于 PM、确定的平均定子电感(亨利、浮点数) #define USER_MOTOR_RADED_FLUX (空) //确定转子和定子之间的总磁链(V/Hz) #define USER_MOTOR_磁 化电流(NULL) //仅感应电机、否则为 NULL #define USER_MOTOR_RES_EST_CURRENT (3.0) //在电机识别期间、用于 Rs 估算的最大电流(安培、浮点数)、10-20%额定电流 #define USER_MOTOR_IND_EST_CURRENT (-3.0) //在电机识别期间、用于 LS 估算的最大电流(负安培、浮点数)、只需足够的时间即可启用旋转 #define USER_MOTOR_MAX_CURRENT (15.00) //严重:在 ID 和运行时使用,设置所提供的速度 PI 控制器向 IQ 控制 器#define USER_MOTOR_ENID_FREQUENCY Hz 的最大电流命令输出的限制 (20.0) #define USER_MOTOR_FLUX_EST_FREQ_Hz (9.3) //在电机识别期间、最大指令速度(Hz、浮点)、额定电流~10%
和电机铭牌:
修改不同的电流阈值不会对事件产生任何影响、我已仔细检查它们是否根据电机铭牌值正确设置。 由于问题看起来与 R/L 估算过程有关、我尝试将 USER_R_OVER L_EST_FREQ_Hz 定义修改为100至300之间的值、增量为10 (发送到200时捕获了上述图像)。 这只是延长过流故障的影响。 我注意到的另一件事是、无论我使用何种设置、轴都永远不会旋转。 我已经尝试了第二个电机并获得了相同的结果。
如果您建议进一步解决此问题或设置相关且我可能忽略了这些建议、我们将不胜感激。