This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS320F2800157:需要支持–F2800157 在车辆负载条件下发生编码器反馈电机负载故障

Guru**** 2564410 points
Other Parts Discussed in Thread: DRV8353

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1569079/tms320f2800157-support-required-encoder-feedback-motor-fails-under-load-on-f2800157-at-loading-condition-in-vehicle

器件型号:TMS320F2800157
主题:DRV8353 中讨论的其他器件

工具/软件:

您好团队:

我们目前正在使用具有两种类型反馈(霍尔传感器和编码器)且电机规格相同的 F2800157:

  • 电机规格: 4kW、额定电流 110A

在车辆级验证期间、使用确定电机位置 霍尔反馈 按预期运行(在空载和负载条件下)并在电流环路中平稳运行。

但是、通过 编码器反馈 我们面临的问题如下:

1.车辆无负荷状况

  • 电机在电流环路中正常运行。

  • 状态转换正确:
    电机空闲→电机搜索位置→电机定位→电机 OL 状态→电机 CL 运行→电机控制正在运行。

2.车辆负荷状况

  • 电机无法启动;它仅会振动。

  • 状态转换不正确:
    电机空闲→直接跳至→电机 OL 状态(不运行时持续振动)。

尝试的调试步骤

我们通过如下方式增大了启动电流、但问题仍然存在:

#define USER_MOTOR1_FLUX_CURRENT_A (12.0)
#define USER_MOTOR1_ALIGN_CURRENT_A (32.0)
#define USER_MOTOR1_STARTUP_CURRENT_A (35.0)

观察结果

  • 霍尔反馈:电机在负载和空载条件下均能正常运行。

  • 编码器反馈:电机在空载条件下运行良好、但仅在负载条件下运行失败。

公钥

能否请您就可能的原因向我们提供指导?

  • 我们是否缺少与相关的任何初始设置 编码器对齐、搜索位置或索引脉冲用法

  • 是否有任何专门针对负载下的编码器反馈的建议调优(磁通电流,对齐时间,启动曲线)?

您的意见将有助于我们解决这个问题。

无负载条件:

e2e.ti.com/.../with-stand-2025_2D00_09_2D00_22-171010.mp4

负载条件:

e2e.ti.com/.../with_5F00_out_5F00_stand2025_2D00_09_2D00_22-171728.mp4

谢谢、此致
C. Prabhakaran

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    感谢您对问题的详细解释。 什么是驱动器板和规格?

    此致、

    Jiaxin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Jiaxin Teng 、

    我们将使用带有 TR218X/TR21867 栅极驱动器的定制板。 最初、该代码是使用 DRV8353 和 LaunchPad F2800157 开发的。

    该代码现已迁移到带有 TR218X/TR21867 栅极驱动器的定制电路板上。

    随附了视频、显示电机行为、在其中电机开始移动、但在对齐过程中停止。(始终在 Motor_OL_Start 处)。

    但在没有负载的情况下,电机运行非常好。但是,如果我们通过手动施加小负载 ,电机将在对齐过程中停止。

    e2e.ti.com/.../Alingment_5F00_issue.mp4e2e.ti.com/.../During-basic-start.mp4

    我们还附上了 user_mtr.h 校准值。 这些值非常适合霍尔传感器电机。

    #elif (USER_MOTOR1 == Drone9616_110KV_48V)
    //请参阅 Teknic_M2310PLN04K 的以下参数说明
    #define USER_MOTOR1_TYPE MOTOR_TYPE_PM
    #define USER_MOTOR1_NUM_POLE_PAIRS (5)
    #define USER_MOTOR1_NULL (Rr_Ohm)
    #define USER_MOTOR1_电机 Rs_Ohm (0.0130890859)/*M2*/
    #define USER_MOTOR1_Ls_d_H (0.0000491670144f)/*M2*/
    #define USER_MOTOR1_Ls_q_H (0.0000491670144f)/*M2*/
    #define USER_MOTOR1_RATED_FLUX_VpHz (0.0990757346f)/*M2*/
    define USER_MOTOR1_MAGNETIZING_CURRENT_A (NULL)
    #define USER_MOTOR1_RES_EST_CURRENT_A (33.5)
    #define USER_MOTOR1_IND_EST_CURRENT_A(–33.5)
    #define USER_MOTOR1_MAX_CURRENT_A (500.0)
    #define USER_MOTOR1_FLUX_EXC_FREQ_Hz (100.0)
    #define USER_MOTOR1_NUM_ENC_SLOTS (512)
    #define USER_MOTOR1_INERITY_Kgm2 (8.81285e-04)

    // Ls 补偿系数
    #define USER_MOTOR1_Ls_d_COMP_COEF (0.15f)// 0.0f~0.5f
    #define USER_MOTOR1_Ls_q_COMP_COEF (0.35f)// 0.0f~0.5f
    #define USER_MOTOR1_Ls_MIN_NUM_COEF (0.55f)// 0.5f~1.0f

    define USER_MOTOR1_FREQ_NEARZEROLIMIT_Hz (5.0f)// Hz

    #define USER_MOTOR1_RATED_VOLTAGE_V (48.0)/**/
    #define USER_MOTOR1_FREQ_MIN_Hz (10.0)// Hz
    #define USER_MOTOR1_FREQ_MAX_Hz (390.0)//**/(1200.0)// Hz

    #define USER_MOTOR1_FREQ_LOW_Hz (10.0)// Hz
    #define USER_MOTOR1_FREQ_HIGH_Hz (600.0)// Hz
    #define USER_MOTOR1_VOLT_MIN_V (2.0)//电压
    #define USER_MOTOR1_VOLT_MAX_V (72.0)//电压

    #define USER_MOTOR1_FORCE_DELTA_A (0.0316)//(0.05)
    #define USER_MOTOR1_ALIGN_DELTA_A (0.0172)//(0.01)
    #define USER_MOTOR1_FLUX_CURRENT_A (9.0)//(0.5)
    define USER_MOTOR1_ALIGN_CURRENT_A (32.0)//(3.5)//34
    #define USER_MOTOR1_STARTUP_CURRENT_A (16.0)//(14.0)//(14.0)//(14.0)//(8.0)//(20.0)//
    #define USER_MOTOR1_TORQUE_CURRENT_A (3.0)// A
    #define USER_MOTOR1_OVER_CURRENT_A (500.0)//(500)

    #define USER_MOTOR1_SPEED_START_Hz (35.0)
    #define USER_MOTOR1_SPEED_FORCE_Hz (35.0)
    #define USER_MOTOR1_ACCEL_START_Hzps (15.0)
    #define USER_MOTOR1_ACCEL_MAX_Hzps (5.0)

    #define USER_MOTOR1_SPEED_FS_Hz (8.0)//(3.0)
    #define USER_MOTOR1_SPEED_CL_Hz (20.0)

    //仅适用于编码器
    #define USER_MOTOR1_ENC_POS_MAX (USER_MOTOR1_NUM_ENC_SLOTS * 4 - 1)
    #define USER_MOTOR1_ENC_POS_OFFSET (750)

    //仅适用于 eSMO
    #define USER_MOTOR1_KSLIDE_MAX (1.00f)// 2.0f
    #define USER_MOTOR1_KSLIDE_MIN (0.05f)

    #define USER_MOTOR1_PLL_KP_MAX (15.0f)
    #define USER_MOTOR1_PLL_KP_MIN (2.0f)
    #define USER_MOTOR1_PLL_KP_SF (20.0f)
    #define USER_MOTOR1_PLL_KI (2.8125E-06f)//未使用、保留

    #define USER_MOTOR1_BEMF_THRESHOLD (0.325039566f)//0.308939566f //(0.05f)
    #define USER_MOTOR1_BEMF_KSLF_FC_SF (2.0f)// 1.0f
    #define USER_MOTOR1_THETA_OFFSET_SF (1.0f)// 2.5f
    #define USER_MOTOR1_SPEED_LPF_FC_HZ (200.0f)// 100.0f

    //对于 IS-BLDC
    #define USER_MOTOR1_RAMP_START_Hz (5.0f)
    #define USER_MOTOR1_RAMP_END_Hz (30.0f)
    #define USER_MOTOR1_RAMP_DELAY (1)

    #define USER_MOTOR1_ISBLDC_INT_MAX (0.015f)
    #define USER_MOTOR1_ISBLDC_INT_MIN (0.010f)

    //用于 Rs 在线校准
    #define USER_MOTOR1_RSONLINE_WAIT_TIME (60000U)// 5min/300s(以 5ms 为基准)
    #define USER_MOTOR1_RSONLINE_WORK_TIME (24000U)//2min/120s(以 5ms 为基准)

    //电流和速度 PI 调节器调优系数
    #define USER_MOTOR1_GAIN_SPEED_LOW_Hz (60.0f)
    #define USER_MOTOR1_GAIN_SPEED_HIGH_Hz (150.0f)

    #define USER_MOTOR1_KP_SPD_START_SF (1.5f)// 0.1~100.0
    #define USER_MOTOR1_KI_SPD_START_SF (1.5f)// 0.1~10.0

    #define USER_MOTOR1_KP_SPD_LOW_SF (2.0f)// 0.1~100.0
    #define USER_MOTOR1_KI_SPD_LOW_SF (2.0f)// 0.1~10.0

    #define USER_MOTOR1_KP_SPD_HIGH_SF (1.0f)// 0.1~100.0
    #define USER_MOTOR1_KI_SPD_HIGH_SF (1.0f)// 0.1~10.0

    #define USER_MOTOR1_GAIN_IQ_LOW_A (2.0f)
    #define USER_MOTOR1_GAIN_IQ_HIGH_A (6.0f)

    #define USER_MOTOR1_KP_IQ_START_SF (1.5f)// 0.1~10.0
    #define USER_MOTOR1_KI_IQ_START_SF (1.5f)// 0.1~10.0

    #define USER_MOTOR1_KP_IQ_LOW_SF (2.5f)//(2.0f)// 0.1~10.0
    #define USER_MOTOR1_KI_IQ_LOW_SF (0.5f)//(2.0f)// 0.1~10.0

    #define USER_MOTOR1_KP_IQ_HIGH_SF (1.0f)// 0.1~10.0
    #define USER_MOTOR1_KI_IQ_HIGH_SF (0.5f)//(1.0f)// 0.1~10.0

    #define USER_MOTOR1_KP_ID_SF (1.0f)// 0.1~10.0
    #define USER_MOTOR1_KI_ID_SF (1.0f)// 0.1~10.0

    仅在编码器反馈时观察到该问题、特别是在负载条件下。

    在大多数情况下、车辆稍微向后移动(几度)、并且在应用油门输入时始终向前移动。

    请帮助我们进一步开展这项工作。

    谢谢

    此致

    Prabhakaran

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Prabhakaran:

    当启动电流被赋予过大时、通常会发生 OL 启动故障。 请确保电流检测硬件和  TR218X/TR21867 栅极驱动器能够承受您在软件中设置的启动电流。

    [引述 userid=“621626" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1569079/tms320f2800157-support-required-encoder-feedback-motor-fails-under-load-on-f2800157-at-loading-condition-in-vehicle
    #define USER_MOTOR1_FLUX_CURRENT_A (12.0)
    #define USER_MOTOR1_ALIGN_CURRENT_A (32.0)
    #define USER_MOTOR1_STARTUP_CURRENT_A (35.0)
    [/报价]

    谢谢、

    Jiaxin