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:无法在更高 RPM 的电机下实现扭矩

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1478444/tms320f2800157-not-able-to-achieve-the-torque-at-higher-rpm-of-the-motor

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

工具/软件:

您好团队:

我目前正在使用我们自己的定制板来实现扭矩控制模式。

我们能够在所有 BUILD_LEVEL_4中使用48V 编码器电机在速度控制模式下运行电机、并且可以在 BUILD_LEVEL_4中达到其最大 RPM (带编码器反馈)。

首先、我在 BUILD_LEVEL_3中测试了扭矩控制模式(电流控制模式)、因为在通用电机代码中、扭矩控制模式 仅针对 BUILD_LEVEL_3实现。

我正在尝试在 BL4中以扭矩模式运行电机、通过超越速度控制环路来运行电机、因为在 BL4中、我们只能施加负载并使用完整的 FOC 运行实验室。 我直接将 Idq_set_A 分配给 IdqRef_A、与 bl3相同。

在较低转速下、我能够达到预期扭矩(29Nm)、但在较高转速(如2000 RPM 或以上)下、我无法达到预期扭矩。

如果我应用最小负载(4Nm)电机直接停止、在这种情况下、我没有收到任何错误。

我想知道在本例中需要注入多少 Id 和 Iq 电流、因为在较低 RPM 条件下工作正常、而在较高 RPM 条件下、我们面临着这个问题。

除了注入 Id 和 IQ 电流外、是否需要检查任何相关问题?  

下面我提到了为在较低 RPM (500RPM)下实现最大扭矩而注入的 Id 和 Iq 电流。

 Id = 0A、 Iq = 230A

在本例中、我们不会注入 Id 电流、因为我知道转速较低时不需要注入 Id 电流、这种电流只需要实现最大 RPM、如果我错了、请予以纠正。

下面我分享了不同 RPM 中的预期扭矩需求。

谢谢您、

此致、

Kirana H P

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

    尊敬的 Kirana:

    您专门使用哪种解决方案? (例如、TIDM-2010、TIDA-010265等) 这些信息将帮助我将您的问题发送给团队中的正确专家。

    此致、

    Delaney

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

    尊敬的 Delaney Woodward:

    我正在使用 UMC Ware_Motor (C2000 SDK-CONTROL_SDK_5_02_00_00)。

    在我们的定制电路板中、我们使用 F2800157微控制器、我们的控制器额定功率为3kW、峰值功率为5KW。

    如上所述、我们能够在速度控制模式下实现最大 RPM。

    在较低 RPM 能够达到预期扭矩(扭矩控制模式)但在较高 RPM (2000及以上)时、只能达到预期扭矩、在这种情况下、电机突然停止、没有出现任何错误。

    上文提到的活动、我们通过使用48V 编码器电机在 TORQUE_CONTROL_MODE 中的 BUILD_LEVEL_4中执行这些操作。

    如上图所示、请提出在更高 RPM 下实现预期扭矩的方法。

    谢谢您、

    此致、

    Kirana H P

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

    尊敬的 Kirana:

    好的、感谢您提供这些信息。 我已经邀请了相关专家、他们应该会在接下来的几天内回复您。

    此致、

    Delaney

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Unknown 说:
    首先、我已在 BUILD_LEVEL_3中测试了扭矩控制模式(电流控制模式)、因为在通用电机代码中、扭矩控制模式 仅针对 BUILD_LEVEL_3实施。

    也可以在构建级别实现扭矩控制模式。 构建级别3不是真正的扭矩控制模式、它是一种开环控制、只是具有电流闭环。

    在较低转速下能够达到预期扭矩(扭矩控制模式)、但在较高转速(2000及以上)下、只有我们无法达到预期扭矩、在这种情况下、电机突然停止、没有出现任何错误。

    您需要与电机制造商核实电机的额定频率。 通常、电机无法在低速时输出相同的扭矩( 恒定功率区域的额定速度)。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否提及如何在版本级别4中实现扭矩控制模式、因为如您上文所述、版本级别3并不是真正的扭矩控制模式。

    如上所述、用于禁用实验用户指南中描述的速度环路。 请查看下面的实验室用户指南。

    通用工程和实验用户指南: https://www.ti.com/lit/spruj26

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

    你好、Yanming Luo、

    感谢您的支持。

    我已阅读上述文档、但在这里、我无法找到与如何禁用速度控制模式或如何启用扭矩控制模式相关的确切信息。  

    有关上述问题、请说明我需要在此处参考哪个模块。

    在这里、您提到了用于启用或禁用转速闭环的快速启动功能、除了需要检查的任何内容之外、您还提到了相同的内容?

    如上所述、如果我将 angleENC_rad 分配给 FOC_rad 电机不运行、只有当我分配 angleGen_rad 时它才运行。 我知道、该 angleGen_rad 是根据电机的反电动势生成的。

    我需要在扭矩控制模式下使用构建级别4的编码器反馈运行电机。

    请为我建议解决此问题的方法。

    谢谢您、

    此致、

    Kirana H P

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

    您可以参阅实验来支持编码器、还可以通过禁用速度闭环来启用扭矩控制环路。

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

    你好、Yanming Luo、

    请指定如何启用扭矩控制环路。

    如前所述、我们会禁用速度闭环、但无法通过实际编码器反馈运行电机。

    我们无法在此处找到确切的问题、因此、请支持此活动。  

    我们需要有关这方面的详细信息、因为在上述文档中、我们无法找到确切的信息。

    谢谢您、

    此致、

    Kirana H P

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

    你好、Yanming Luo、

    目前可以在所有电机转速下达到必要的扭矩。

    然而、唯一的问题是、正如我之前所说、我们无法通过真实的编码器反馈来操作电机。 即使我在运行时删除了编码器反馈、电机也会继续运行。

    您能解释一下关闭速度闭环的过程吗? 据我所知、速度闭环是指根据传感器反馈提供速度指令来操作电机。

    上面、您指示我关闭速度闭环。 如果关闭该闭环、如何在扭矩控制模式下利用反馈操作电机?

    我的电机必须在扭矩控制模式下运行并具有编码器反馈、

    请告知如何执行上述要求。 请详细说明如何激活扭矩控制模式。

    谢谢您、

    此致、

    Kirana H P

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    但是、唯一的问题是、正如我之前所说、我们无法通过真实的编码器反馈运行电机。 即使我在运行时删除了编码器反馈、电机也将继续运行。

    确保工程构建配置适用于基于编码器的 sensored-FOC。 请查看实验用户指南、并按照操作说明选择正确的定义符号。

    上面、您指示我关闭速度闭环。 如果关闭此闭环、如何在扭矩控制模式下通过反馈操作电机?

    这种反馈是什么意思?

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

    你好、Yanming Luo、

    1.当前电机在基于编码器的 FOC 中运行、但在这里、一旦电机再次超过 CTRL_RUN、我们就会将下面的 obj->angleGen_rad 值分配给 o bj->anglefoc_rad 扭矩控制模式下工作。 这是合理的吗?

    2.是否要求我禁用速度闭环 正在禁用编码器传感器反馈?

    您能详细说明一下这个问题吗?

    3.您提到 BUILD_LEVEL_3并不是一种适当的扭矩控制模式,它只是电流闭环,所以请根据您的意思说明 扭矩控制模式

    4.在这里,我 评论了这一点 PI_RUN_SERIES 以便禁用速度控制环路、无论是正确的方法、还是需要启用此环路。

    如果方法不正确、请说明如何操作 禁用速度闭环?

    谢谢您、

    此致、

    Kirana H P

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1. 目前、电机在基于编码器的 FOC 中运行、但在这里、一旦电机再次超过 CTRL_run、我们将分配下面的 obj->angleGen_rad 值到 o bj->anglefoc_rad 扭矩控制模式下工作。 这是正确的吗?

    不正确。 请参阅还支持编码器的通用电机控制实验。

    2. 无论您是否要求我禁用速度闭环 正在禁用编码器传感器反馈? [/报价]

    不对。 您需要始终使用编码器的位置反馈。 如上所述、 通用电机控制实验包括您需要的所有功能、您可以直接参考它。

    3. 您提到了 BUILD_LEVEL_3并不是适当的扭矩控制模式、它只是电流闭环、因此请根据您的意思说明 扭矩控制模式 .

    编号 这不是真正的扭矩控制模式。 它使用电流闭环进行位置开环控制、仅适用于硬件验证

    [引用 userid="578806" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1478444/tms320f2800157-not-able-to-achieve-the-torque-at-higher-rpm-of-the-motor/5715454 #5715454"]

    4.在这里,我 评论了这一点 PI_RUN_SERIES 以便禁用速度控制环路、无论是正确的方法、还是需要启用此环路。

    如果方法不正确、请说明如何操作 禁用速度闭环?

    [/报价]

    只需在 通用电机控制实验中将"flagEnableSpeedctrl"设置为"0"即可。

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

    你好、Yanming Luo、

    感谢您的支持、很抱歉您稍后回复。

    我会检查以上你建议的,我会回来.

    谢谢您、

    此致、

    Kirana H P  

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

    1、有了编码器反馈,我们面临着一个主要问题,这个问题我们在基于霍尔传感器的电机中没有遇到。

    我们知道霍尔传感器和编码器传感器反馈模式是不同的。

    对于此活动、我们使用具有霍尔传感器和编码器传感器的相同额定值的2个电机。

    问题:当电机运行频率超过100Hz 并且如果我运行并识别标志0、电机将停止、但 Speed_Hz 在该瞬间不会达到零、并且需要太多的时间才能稳定到零。

    该延迟时间将随着 Speed_ref 值的增加而增加。

    为什么此 Speed_Hz 不会根据运行和识别标志突然变为零、在此期间、如果我设置了运行和识别标志、电机将转速不受控制、然后它会在出现过压故障时停止。

    请为我建议解决此问题的方法。

    谢谢您、

    此致、

    Kirana H P  

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

    正如在上面提到的其他线程中对您的答复一样、您必须检查并确保所用编码器的角度和速度正确。 您可以参考 MCSDK 中的通用电机控制实验来使用无传感器 FOC 进行检查。

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

    你好、Yanming Luo、

    1.如上所述、我已经使用无传感器 FOC 或 FAST 估算器检查了电机、这里我们为 FOC_RAD 分配估算角度、如下所述。

    obj->angleFOC_rad = obj->angleEST_rad  

    下面我附上了与此相关的视频。 在这里、Speed_Hz 正在正确更新、并且不需要任何延迟即可稳定至零。 在此处将 run 和标识 falg 设置为零后、obj->angleEST_rad 将使用某些值进行更新、但 Speed_Hz 没有问题。

    e2e.ti.com/.../Speed_5F00_Hz-updation-in-FAST-estimator.mp4

    2.下面我附上了与编码器估算器中的 Speed_Hz 更新相关的视频,正如我之前提到的 Speed_Hz 正在进行的 时间太长、无法变为零、如果我们在此之前启用运行和标识标志、则电机将以不受控制的速度(最大速度)运行。

    e2e.ti.com/.../Speed_5F00_Hz-updation-in-ENCODER-estimator.mp4

    为了解决这个问题、我正在增加  USER_M1_CTRL_PERIOD_sec 值、但没有得到预期的结果。

    3.将编码器索引脉冲连接到示波器和计算频率,基于不同速度的索引脉冲的时间周期。 在这里、我将根据索引脉冲时间周期获得适当的速度值。

    4、能否详细介绍一下,如何确认角度和速度值。 我查看了与此相关的电机控制 SDK 文档、但未找到任何相关信息。

    我根据上述索引脉冲时间周期确认了速度值。 这是否足够、或者我需要检查其他任何内容。

    5.我们按如下所示分配 SPEED_HZ。

    6.在基于霍尔传感器的电机中,我们没有遇到这个问题,但在基于编码器传感器的电机中,我们只面临这个问题。

    我们需要针对该问题调整哪些参数? 请支持此活动。

    谢谢您、

    此致、

    Kirana H P

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    4. 您能否详细介绍一下:如何确认角度和速度值。 我已查看有关此问题的电机控制 SDK 文档、但未找到任何相关信息。

    请参阅 lab03或 lab04、使用 DATALOG 或 DAC 监控 来自 FAST 观测器和编码器的速度和角度。

    您可以尝试增大对齐电流、而不是更改 USER_M1_CTRL_PERIOD_sec  无法更改的状态。

    6. 在基于霍尔传感器的电机中、我们不会遇到此问题、但在基于编码器传感器的电机中、我们只会遇到此问题。

    如上所述、检查编码器参数是否设置正确。 来自编码器的速度和角度是正确的。

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

    1.如前所述、我们使用 MotorControlSDK_5_00版本进行开发活动。

    2.我不确定 lab03和 lab04。 您能否介绍一下如何在  MotorControlSDK_5_00中通过将 DRV8353与 F2800157 LaunchPad 结合使用(我在此活动中使用24V 编码器电机)来执行上述活动?

    3.目前我维护的是 USER_MOTOR1_ALIGN_CURRENT_A  (32.0)。 您能否说明一下、通过增加对齐电流、它会对上述问题产生什么影响?

    4、基于编码器传感器和电机,我对所有编码器参数进行了正确的维护。 除了 USER_MOTOR1_NUM_ENC_SLOTS 外、还需要检查任何参数?

    5.在 UMC 中,我们阅读 obj->angleENC_rad 和 obj->SPEED_HZ 如下所示。 正如您在编码器估计器下面的视频中所看到的那样、如果我禁用 RunAndIdentity 标志 obj->angleENC_rad 角度正根据转子位置以某个  值趋稳、但 obj->speed_Hz 是用垃圾值振荡的、经过这么多的延迟后、它才会变为零。

    。  

    我们从  下面的函数中得到 obj->speed_Hz 值作为返回变量、在这里、我找不到、为什么在 RunAndIdentity 标志为零时它不会变为零、因为没有为该部分提供逻辑。

    6.在 FAST 估算器中、我们通过估算角度来获取转子角度、并将其馈送到 FOC_RAD、然后我们正在运行电机、但在 ENOCDER 估算器中  、我们根据角度 ENC_RAD 获取转子角度、然后我们正在运行电机。

    请提及此 FAST 和编码器估算器转子角度计算背后的逻辑。

    7.如果您分享与角度和速度估算相关的源代码,这将有助于我们的活动。

    8.请说明我们需要调整的变量,如果编码器角度和速度有任何差异。

    9.这个问题不是发生在 FAST 和霍尔估算器,而是只得到编码器估算器。

    谢谢您、

    此致、

    Kirana H P  

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

    如果使用 通用电机控制实验室、请查看下面的实验室用户指南、其中包含详细的步骤和参数。 您必须自行调优编码器、因为我们没有您用于验证问题的电机。 如果可能、您可以尝试测试实验室支持的电机来进行验证。

     通用工程和实验用户指南: https://www.ti.com/lit/spruj26 

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

    感谢您的支持,罗燕明

    现在、我们能够在扭矩模式下借助反馈运行编码器电机。

    此致、

    Kirana H P  

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

    好的。 如果您有任何其他问题、敬请告知。 谢谢。