主题中讨论的其他器件:MOTORWARE
大家好、TI 人
在运行泵(与 LaunchXL-F28069M + BOOSTXL-DRV8301 EVM 基本相同)但每皮秒有2个泵时、我们遇到了一个问题。 我们达到了一些我们无法理解的功率限制。 当 查看相电流(在连接电机的导线上)时、两个泵均以12V、~10A 峰值/峰值(8k RPM)运行。 我们可以在该电流下单独运行每个电机、但当我们运行两个泵时、我们可以运行一个达到该电流、 但是、一旦第2个通道运行并达到大约+/- 9A (700-7500 RPM)、第1个通道将失去同步、并为周期生成巨大的电流尖峰+/- 40A、从而使其停止并重新启动。
我们的要求是让两者以8k RPM 的转速运行。 该软件基于实验10d。 在 我们运行1个 ISR 例程时、这与您一直在帮助路易朱的项目相同。 CPU 时间看起来不错~160US/200US 周期用于电机 ISR、主循环需要1.4mS 才能完成(与 lab10d 没有太大差异)、因此它每6-7个电机 ISR 就会完成一次。 这是对的吗?
我们已禁用 OTCW 检测、以帮助解决此问题。 在此事件之后、我们才会看到 DRV 产生故障。
以下是 user.xx.h 文件中的关键值:
//电机:10000 RPM * 4/120 = 333.3
#define USER_IQ_FULL_SCALE_FREQ_Hz_M1 (333.3)
//使用具有2.5V 基准的 ADC 和 DRV 进行固定~2x USER_ADC_FULL_SCALE_VOLTAGE
#define USER_IQ_FULL_SCALE_VOLTAGE_V_M1 (40.0)
//使用2.5V 基准的 ADC 和 DRV 进行修正
//输入电压* 4.99 /(4.99 +34.8)= 2.5 =>输入电压(最大值)= 19.93487
#define USER_ADC_FULL_SCALE_VOLTGE_V_M1 (19.93487)
//使用具有2.5V 基准的 ADC 和 DRV 进行修复-比 USER_IQ_FULL_SCALE_CURRENT_A 高~ 20%
#define USER_IQ_FULL_SCALE_CURRENT_A_M1 (32.0)
//使用具有2.5V 基准电压、具有9毫欧感应的 ADC 和 DRV 进行固定
#define USER_ADC_FULL_SCALE_CURRENT_A_M1 (27.78)
在 Mentor 板上提供#define USER_NUM_CURRENT_SENSORS_M1 (2)// 2
#define USER_NUM_VOLTGE_SENSORS_M1 (3)//需要3个
#define V_A_OFFSET_M1 (0.1198145)//
#define V_B_OFFSET_M1 (0.1198781)//
#define V_C_OFFSET_M1 (0.1191706)//
#define USER_PWM_FREQ_kHz_M1 (10.0)//30.0示例、典型值为8.0 - 30.0 KHz;极低电感、高速电机可能需要45-80 KHz
#define USER_MAX_VS_MAG_PU_M1 (0.5)//如果不使用电流重构技术,则设置为0.5。 有关更多信息、请查看 lab10a-x 中的模块 svgen_current。
#define USER_NUM_PWM_TICKS_PER_ISR_TICK_M1 (2)
#define USER_NUM_ISR_TICKS_PER_CTRL_TICK_M1 (1)// 2示例、控制器时钟速率(CTRL)以 PWM/2运行;例如30 KHz PWM、15 KHz 控制
#define USER_NUM_CTRL_TICKS_PER_CURRENT_TICK_M1 (1)// 1典型正向 FOC 电流控制器(IQ/ID/IPark/SVPWM)以与 CTRL 相同的速率运行。
#define USER_NUM_CTRL_TICKS_PER_EST_TICK _M1 (1)// 1典型的 FAST 估算器以与 CTRL 相同的速率运行;
#define USER_NUM_CTRL_TICKS_PER_SPEED_TICK_M1 (15)// 15 (典型值)以匹配 PWM、例如:15kHz PWM、控制器和电流环路、1KHz 速度环路
#define USER_NUM_CTRL_TICKS_PER_TRAJ_TICK _M1 (15)// 15 (典型值)以匹配 PWM、例如:10kHz 控制器和电流环路、1KHz 速度环路、1KHz 轨迹
----其他值的默认值
#define USER_MOTOR_TYPE_M1 MOTOR_Type_PM // Motor_Type_PM (全部同步:BLDC、PMSM、SMPM、IPM)或 Motor_Type_Induction (异步 ACI)
#define USER_MOTOR_NUM_POLE_PAINS_M1 (2)//对、而不是总极数。 仅用于根据转子 Hz 计算用户 RPM
#define USER_MOTOR_RR_M1 (NULL)//仅感应电机、否则为空
#define USER_MOTOR_Rs_M1 (0.04676075)//(0.074250020)// Y 等效电路中确定的相位到中性点电阻(欧姆、浮点)
#define USER_MOTOR_LS_D_M1 (0.000127290)//(0.000123519)//对于 PM、确定的平均定子电感(亨利、浮点数)
#define USER_MOTOR_LS_q_M1 (0.000127290)//(0.000123519)//对于 PM、确定的平均定子电感(亨利、浮点数)
#define USER_MOTOR_RATed_FLUX_M1 (0.0150248)//(0.016194884)//确定转子和定子之间的总磁链(V/Hz)
#define USER_MOTOR_磁 化 Current_M1 (NULL)//仅感应电机、否则为 NULL
#define USER_MOTOR_RES_EST_CURRENT_M1 (2.0)//在电机识别期间、用于 Rs 估算的最大电流(安培、浮点数)、10-20%额定电流
#define USER_MOTOR_IND_EST_CURRENT_M1 (-2.0)//在电机识别期间、用于 LS 估算的最大电流(负电流、浮点数)、只需足够的时间即可启用旋转
#define USER_MOTOR_MAX_CURRENT_M1 (15.0)//严重:在 ID 和运行时使用、设置所提供的速度 PI 控制器向 IQ 控制器输出的最大电流命令的限制
#define USER_MOTOR_FLUX_EST_FREQ_Hz_M1 (20.0)//在电机识别期间、最大命令速度(Hz、浮点)、额定电流~10%
我的问题是、我们是否为此应用正确设置了这3个电流参数?
USER_ADC_FULL_SCALE_CURRENT_A_M1 (27.78)=+13.69A 测量范围、因为基准电压为2.5V、检测电阻为9m Ω、逆变器为12V
USER_IQ_FULL_SCALE_CURRENT_A_M1 (32.0)=+/- 16A 最大值、用于内部。 无法翻转。 已选择用户
USER_MOTOR_MAX_CURRENT_M1 (15.0)=额定电机电流。 用户选择的每个电机
USER_MOTOR_MAX_CURRENT_M1值是峰值还是 RMS 值? 这限制了我们吗?
我们应该设置 IQ_FULL_SCALE_... 价值更高?
我们似乎达到了功率限制、因为只要相电流为~Ω+/-10A、我们就可以通过运行更慢并增加负载或两种组合来跳闸。 12V 总线看起来正常-我们增加了电容、以防止在这些事件中使其不受损坏、认为这是原因、但事实并非如此。
感谢您的任何帮助!
-罗宾