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.

[参考译文] TMS320F280025C:一般电机实验室无法识别电机

Guru**** 649970 points
Other Parts Discussed in Thread: LAUNCHXL-F280025C, C2000WARE-MOTORCONTROL-SDK, C2000WARE, TMDSCNCD280025C, BOOSTXL-DRV8323RS
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1081468/tms320f280025c-general-motors-lab-cannot-identify-motors

部件号:TMS320F280025C
线程中讨论的其他部件:LAUNSCHXL-F280025CC2000WARE-MOTORCONTROL-SDKC2000WARETESTTMDSCNCD280025CBOOSTXL-DRV8323RS

我的开发板是 LaunchXL-F280025C,驱动板是 DEV8323RS。 根据通用电动机指南,C9,C10和 C11分别安装了47nF 电容器,SW2被拨到了1,1。 我已将驱动程序板连接到 launchxL-F280025C。 我将 flag_bypassMotorId 设置为 flash 以识别马达,并将 user.h 中马达参数的极性日志更改为14,因为我不知道其他参数,所以我需要识别马达。 程序运行时,我将 flagEnableRunAndIdentify 设置为1,并立即收到来自 TZFLG 寄存器的模块溢出当前错误。 它与 OST,DCAEVT1和 DCAEVT2寄存器相关。 这一错误似乎告诉我应该设置其中一个,但实际上不是。 如何消除此错误并成功识别电机参数?

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

    请查看以下链接中的实验室用户指南,并按照该指南从内部版本1运行实验室。

    C2000WARE-MOTORCONTROL-SDK:https://www.ti.com/tool/C2000WARE-MOTORCONTROL-SDK

    通用项目和实验室用户指南:https://www.ti.com/lit/spruj26

    文件夹中的示例实验室项目:C:\ti\c2000\C2000Ware_MotorControl_SDK_3_03_00_00\solutions\universal_motorcontrol_lab_f28002x

    请勿在制造级别4之前运行电机并识别制造级别4中的电机时添加任何负载。

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

    我已经用 DMC_LEV_1构建了该程序并通过了,然后用 DMC_LEVEL 4构建了该程序,出现了上述错误。

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

    我发现了一个有趣的现象,从 DRV8323RS 卸下电机后,我使用了 DMC_LEVEL_4构建程序并运行识别,模量过流错误将消失,一切正常,我可以看到 PWM 波形, 但当我连接电机并运行程序时,模块过流错误会发生,并且无法使用示波器获得 PWM 波形。

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

    请勿将负载添加到电机中以识别参数。 并按照指南根据电机设置正确的参数。

    #define user_motor1_RES_EST_CURRENT_A (1.5f)
    #define user_motor1_IND_EST_CURRENT_A (-1.0f)
    #define user_motor1_MAX_CURRENT_A (6.0f)
    #define user_motor1_flux_exC_FREQ_Hz (40.0f)

    #define user_motor1_over _current_a      (6.5英尺)       // a

    同时更改以下参数,以使用内部版本2运行电机。

    #define user_motor1_FREQ_LOW_Hz (5.0f)// Hz
    #define user_motor1_FREQ_HIGH _Hz (300.0f)// Hz
    #define user_motor1_vol_min_V (5.0f)//伏特
    #define user_motor1_vol_MAX_V (24.0f)//伏特

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

    我构建了2级程序并根据测试指南运行电机。,我的电机无负载,我的电机参数设置如下:

    当我将 flagEnableRunAndIdentify 设置为1时,马达发出咔嗒声,并收到 ModuleOverCurrent 错误。 我追踪了 Cmpss 寄存器并找到了一个 COMPLLATCH 事件。 但我将溢出值设置为15A,这与 DRV8323RS 的最大值一致。 该错误的屏幕截图如下:

    如何解决此问题?

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

    您使用的是哪种电机? 您是否有电动机规格? 您是否按照实验室指南为这款电机选择了正确的算法?

    以下参数必须根据您的马达进行调节,而不是直接用于您的马达。

    #define user_motor1_FREQ_LOW_Hz (5.0f)// Hz
    #define user_motor1_FREQ_HIGH _Hz (300.0f)// Hz
    #define user_motor1_vol_min_V (5.0f)//伏特
    #define user_motor1_vol_MAX_V (24.0f)//伏特

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

    我只知道电动机的极对数,我希望通过电动机标识来确认其他参数。 我可以通过使用 LAB2B 轻松实现这一目标,但它基于28027芯片。 我想问280025C 是否必须提供 V/F 曲线的适当参数来识别电动机。 我可以跳过此步骤吗? 我可以直接进入 DMC 级别_3和 DMC 级别_4吗? 除电机外,我使用的所有硬件都基于 TI 评估板。 我没有尝试过 DMC_LEVEL _3,但我将立即收到 DMC_LEVEL _4和 DMC_LEV_2的模块过电流错误。 我已经花了一周时间,这辆汽车还没有运转。 我很伤心。 你能告诉我我出了什么问题吗?

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

    请按照以下步骤检查您所做的设置。  

    • 确保将 TMDSCNCD280025C 上的开关设置为如下所述。
      • 对于 S1:A,将两台交换机都放置在上,以便使用卡上 XDS100v2仿真器
      • 对于 S2,将左侧开关向上(1)定位,将 GPIO 28和29路由到 BoosterPack 连接器,然后将右侧开关向上(1)定位到虚拟 COM 端口输出 GPIO 16和17。
      • 对于 S3,将左侧开关向下定位,将 GPIO24向下拉至逻辑0,将右侧开关向上拉,将 GPIO32向上拉至逻辑1,将 F280025C 置于等待启动模式,以降低连接问题或以前加载的代码执行的风险。
      • 对于 S5,将左侧开关向下定位到路由 Q1至 J12的 J12 (对于 J12上的编码器接口),将右侧开关向下定位到路由 Q2至 J13 (对于 J13上的霍尔传感器接口)。
    • 确保按照以下说明完成以下项目,然后将 BOOSTXL-DRV8323RS 连接 LAUNCXL-F280025C 的 J1/J3和 J4/J2,如所示。
      • 使用47nF 电容器填充 C9,C10和 C11。
      • LAUNCXL-F280025C 的 J3-29和 J3-30弯曲  90度,使其未连接到 BOOSTXL-DRV8323RS。