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.

[参考译文] DRV8353RS-EVM:通用电机控制实验室校正偏移值故障和模块过流故障。

Guru**** 2562120 points
Other Parts Discussed in Thread: DRV8353RS-EVM, MOTORWARE, LAUNCHXL-F280025C, DRV8353RH-EVM, DRV8353, C2000WARE, SFRA

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1043745/drv8353rs-evm-universal-motor-control-lab-correct-offset-values-faults-and-module-overcurrent-faults

器件型号:DRV8353RS-EVM
主题中讨论的其他器件: MOTORWARELAUNCHXL-F280025CDRV8353RH-EVMDRV8353C2000WARESFRA

我正在利用 LAUNCHXL-F2800025C 和 DRV8353RS-EVM 通过通用电机控制实验室进行工作。  电机尚未连接。

在 DMC_LEVEL_1中、我将获得电流偏移和电压偏移故障。 我已经验证这不是硬件问题、因为我已经用2个不同的 LaunchPad 和驱动板重复了这一过程。 在 motorware 实验中、电流偏移约为1.0、电压偏移约为0.5。   在以下默认值中、电流偏移似乎是 ADC 计数值、电压似乎是伏?  正确的值。

user_mtr1.h

//! 简要介绍 A、B 和 C 相的 ADC 电流偏移
#define USER_M1_IA_OFFSET_AD (2048.0f)
#define USER_M1_IB_OFFSET_AD (2048.0f)
#define USER_M1_IC_OFFSET_AD (2048.0f)

//! 简要介绍 A、B 和 C 相的 ADC 电压偏移
#define USER_M1_VA_OFFSET_SF (0.500514159f)
#define USER_M1_VB_OFFSET_SF (0.506255884f)
#define USER_M1_VC_OFFSET_SF (0.503381569f)

此外、当我将 motorVars_M1.flagEnableRunAndIdentify 设置为1时、我将获得模块过流故障。   

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

    您好、Carl、

    您能否确保为 DRV8353RS-EVM 提供 VREF = 3.3V 电压、并检查 F280025C 固件中 ADC 电流和电压反馈的满量程电流和电压值是否缩放到3.3V? 如果调节不当、则会导致模电流过大故障。  

    您能否确保 F280025C 上的连接与 DRV8353RS-EVM 的连接器兼容?



    我将把这个问题转交给 C2000团队、因为这个问题符合 LAUNCHXL-F280025C 和 MotorControl SDK 的要求。  

    谢谢、
    Aaron



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

    您好、Carl、

    如上所述、正确的偏移值应接近数字。 您看一下 lad 用户指南吗? 并按照指南将逆变器板连接到 LaunchPad、然后为 DRV8353RS-EVM 选择合适的构建配置?

    Universal Project and Lab User's Guide (通用项目和实验室用户指南): https://www.ti.com/lit/ug/spruj26/spruj26.pdf

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

    是的、我已经按照指南连接了电路板并重新检查了几次。  我将电流偏移更改为1.0、电压偏移更改为0.5、这样清除了电流偏移故障、而不是电压偏移故障。   

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

    根据《通用电机控制实验室指南》、如果按照指南中的说明进行连接、则它们是兼容的。  我遵循了第11页的指南。

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

    以下是 SDK 工程中提供的默认值。  我的应用是36V BLDC 电机。

    #elif defined(BSXL8353RS_REVA)
    //! \brief Defines the nominal DC bus voltage, V
    //!
    //#define USER_M1_NOMINAL_DC_BUS_VOLTAGE_V    (48.0f)
    #define USER_M1_NOMINAL_DC_BUS_VOLTAGE_V    (36.0f)
    
    //! \brief Defines the maximum voltage at the AD converter
    #define USER_M1_ADC_FULL_SCALE_VOLTAGE_V    (132.7979508f)
    
    //! \brief Defines the analog voltage filter pole location, Hz
    #define USER_M1_VOLTAGE_FILTER_POLE_Hz      (338.1100618f)      // 9.76k/47nF
    
    //! \brief Defines the maximum current at the AD converter
    //#define USER_M1_ADC_FULL_SCALE_CURRENT_A         (94.28571429f)     // gain=5
    #define USER_M1_ADC_FULL_SCALE_CURRENT_A         (47.14285714f)     // gain=10
    
    //! \brief ADC current offsets for A, B, and C phases
    #define USER_M1_IA_OFFSET_AD    (2048.0f)
    #define USER_M1_IB_OFFSET_AD    (2048.0f)
    #define USER_M1_IC_OFFSET_AD    (2048.0f)
    
    //! \brief ADC voltage offsets for A, B, and C phases
    #define USER_M1_VA_OFFSET_SF    (0.500514159f)
    #define USER_M1_VB_OFFSET_SF    (0.506255884f)
    #define USER_M1_VC_OFFSET_SF    (0.503381569f)
    
    //! \brief DC bus over voltage threshold
    #define USER_M1_OVER_VOLTAGE_FAULT_V        (48.0f)
    
    //! \brief DC bus over voltage threshold
    #define USER_M1_OVER_VOLTAGE_NORM_V         (44.0f)
    
    //! \brief DC bus under voltage threshold
    #define USER_M1_UNDER_VOLTAGE_FAULT_V       (10.0f)
    
    //! \brief DC bus under voltage threshold
    #define USER_M1_UNDER_VOLTAGE_NORM_V        (12.0f)
    
    //! \brief motor lost phase current threshold
    #define USER_M1_LOST_PHASE_CURRENT_A        (0.2f)
    
    //! \brief motor unbalance ratio percent threshold
    #define USER_M1_UNBALANCE_RATIO             (0.2f)
    
    //! \brief motor over load power threshold
    #define USER_M1_OVER_LOAD_POWER_W           (50.0f)
    
    //! \brief motor stall current threshold
    #define USER_M1_STALL_CURRENT_A             (10.0f)
    
    //! \brief motor fault check current threshold
    #define USER_M1_FAULT_CHECK_CURRENT_A       (0.2f)
    
    //! \brief motor failed maximum speed threshold
    #define USER_M1_FAIL_SPEED_MAX_HZ           (500.0f)
    
    //! \brief motor failed minimum speed threshold
    #define USER_M1_FAIL_SPEED_MIN_HZ           (5.0f)
    
    //! \brief Defines the number of failed torque
    //!
    #define USER_M1_TORQUE_FAILED_SET           (0.000001f)
    // end of BSXL8353RS_REVA

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

    偏移与直流总线电压和电机无关。 请确保 DRV8353RS-EVM 上的 J1-17 (IDRIVE)和 J1-19 (VDS)未连接到 LAUNCHXL-F280025C、并将至少15V 的电源添加到 DRV8353RS-EVM 的直流总线。

    表达式窗口中 systemVars.boardKit 和 systemVars.estType 的值是什么?

    偏移值将在不使用 user_mtr1.h 中的值的情况下进行校准、因为 motorVars_M1.flagEnableOffsetCalc 默认值等于"true"。

    如果可能、请详细说明如何连接和选择您所做的构建配置。

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

    Yanming、感谢您的帮助。

    2个电路板通过长2路接头引脚连接。  J1-17和 J1-19的引脚未安装、因此未连接。  我将36V 应用于电路板、它在表达式窗口中正确显示和更新。  我还有一个从 J2-12到 J2-19的跳线。  我没有 DAC 模块、我关注了电机控制 SDK 通用项目和实验 页11中的所有内容。   

    systemVars.boardKit = Board_BSXL8353RS_REVA

    编译配置:

    通用电机控制实验室 f280002x [有效- Flash_lib_DRV8353RS]

    DMC_BUILDLEVEL = DMC_LEVEL_1

    我猜是 user_mtr1.h 中的默认值 不正确。

    Carl

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

    如上所述、user_mtr1.h 中所有套件的默认值都是正确的、并且不使用这些值、因为在项目中默认情况下、"motorVars_M1.flagEnableOffsetCalc=true"、将通过调用 motor1_drive.c 文件中的 runMotor1OffsetCalculation ()函数来重新计算偏移值。

    我已使用 AUNCHXL-F2800025C 和 DRV8353RS-EVM 重新验证了实验室。 如果您在示例实验中没有更改任何内容、则所有构建级别都应使用"Flash_lib_DRV8353RS"在 DRV8353RS-EVM 上正常运行。

    您使用的是 DRV8353RS-EVM 还是 DRV8353RH-EVM 板? 请按照用户指南检查 LAUNCHXL-F2800025C 和 DRV8353RS-EVM 上的设置。 您可以使用万用表或示波器来检查感应电流值是否正确、如果硬件套件连接正确、则该值应接近1.65V。

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

    我使用的是 DRV8353RS-EVM。  我尝试测量 J1/J3引脚28、27和26上的电压。  我得到0伏。  我还移除 了从 J2-12到 J2-19的跳线、并得到相同的模过流故障。  我在代码中对此进行了查看、看起来所有 SPI 问题都可能会产生该故障。  它可以尝试另一个焊盘吗?  我没有安装 DAC 模块。  您能描述您测试过的配置吗?

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

    这意味着 DRV8353S 未启用、因为连接不正确或器件未通过 SPI 正确配置。

    如果 DRV8353S 被启用、用于电流感测的 ADC 引脚上的电压应该为1.65V。

    DAC 模块仅用于调试、使用 DRV8353不会对电机控制产生任何影响。

    请按照实验用户指南中的说明仔细检查连接和 SPI 通信。 如果您仍有疑问、请发布一些图片以显示您所做的连接。

    我们在用户指南和示例代码中描述/完成的详细连接和配置。

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

    我可以告诉大家、无需为 SPI 启用 DRV8353RS-EVM。  您能否在 《电机控制 SDK 通用项目和实验室用户指南》中发布特定部分?  每次尝试运行时、我都会遇到故障。  下面是我的设置图片。 我认为它与指南的第11页减去 DAC 板完全相同。

    此外、这里是我的预定义符号。

    ${COM_TI_MOTOR_CONTING_C2000WARE_SDK_SOFTWARE_PACKAGE_symbols}
    内联
    闪存
    _F28002x
    SOFT_LIB
    BSXL8353RS_REVA
    LPD_SION_J1_J4
    motor1_fast
    Motor1_ESMO_N
    motor1_ENC_N
    QEP_ENABLE_N
    Motor1_HALL_N
    HALL_ENABLE_N
    HALL_CAL_N
    motor1_OVM_N
    motor1_FWC_N
    motor1_MTPA_N
    motor1_SSIPD_N
    motor1_VOLRECT_N
    DATALOGF2_EN
    DAC128S_ENABLE_N
    DAC128S_SPIB_N
    CPUTIME_ENABLE
    TEST_ENABLE
    SFRA_ENABLE_N
    STEP_RP_EN_N
    CMD_POT_EN_N
    CMD_CAP_EN_N
    CMD_SWITCH_EN_N
    CMD_CAN_EN_N

    再次感谢您的帮助。

    Carl

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

    GPIO29连接到 DRV8353使能引脚。 因此、您需要将 LAUNCHXL-F280025C 上的 S2设置为(1:1)位置、需要通过将 S2的 SEL1设置为1 (靠近 USB 仿真器)将 GPIO28&GPIO29路由到 BP 接头。

    很抱歉、如果实验指南中没有此说明、您必须在 LAUNCHXL-F280025C 用户指南中找到此设置。 我们将使用此注释反转本文档。

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

    我将 S2设置为1:1。  解决了 SPI 问题。  我忽略了 S2、因为指南将其称为 UART。  因此、所有故障都会清除并运行。  但是、ISRCount 不会递增。  您希望我打开另一个问题、还是继续这个主题?

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

    您在示例实验中进行了哪些更改? 您可以尝试运行原始实验而不进行更改、只需将构建配置更改为"Flash_lib_DRV8353RS"、如实验用户指南中所示。 请停止运行代码并查看 PC 在何处。

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

    我刚开始。  重新安装了 SDK 和 CSS。  我没有修改任何文件。  我只将构建配置设置为"Flash_lib_DRV8353RS"。  我得到了相同的结果。  它启动时没有故障、但 ISRCount 不会增加。

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

    实验看起来运行良好、您可以按照实验检查其他变量/信号输出。

    以下代码已在版本代码中删除。 如果需要,可以将其添加到 motor1_drive.c 文件中的 motor1CtrlISR()中。

    motorVars_M1.ISRCount++;

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

    是的、我现在能够运行该实验。  您可能需要更改实验指南、因为它专门要求您检查 ISRCount 是否在递增。  此外、您应该检查的 PWM 寄存器的值实际上来自控制器未运行以及指南建议检查其正在运行的值以及这些值不匹配的情况。   

    非常感谢您的帮助。