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:48V 编码器电机有时以不受控制的最大速度运行-对齐问题

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

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1424244/tms320f2800157-48v-encoder-motor-sometimes-running-in-uncontrolled-maximum-speed---alignment-issues

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

工具与软件:

团队成员、您好!

F2800157集成了 UMC 代码(最新的 SDK_2.0.0)和特定于 TI 在48V (ABI 编码器)下进行测试的栅极驱动器。 存在的相位裕度

大多数情况下、它能够成功达到提到的速度并能够在 提到的 速度下控制电机。

使用我们的定制板和48V 编码器、我们目前面临以下两个问题。

1) 1)有时电机以其运行  不受控制的最大速度 .

  电机偶尔以无法控制的 最大速度运行时。 这清楚地表明了电机对齐问题和编码器偏移产生的问题。

  为了避免偏移校准、在对齐状态下增加了 Idq 电流、如下所示。 仍然很少发生问题

  我们正面临着这种无法控制的局面  构建级别4中的速度问题 但我们是  在构建级别2和3中不会遇到此问题 .

  如何解决构建级别4中的编码器索引偏移校准的对齐问题?

2)电机额定频率和最大频率为  300   600  但在版本级别4中、使用上述48V 编码器电机既无法实现额定速度、也无法实现最大速度(600Hz)、  电流尖峰     以上述速度运行。

   但在第2级、我们能够以高达其最大频率运行电机  但只有在构建级别4中、我们才能实现高达260Hz 的频率、低于电机的额定速度。

  关于这个问题、我们已在更小的死区测试了电机、但仍然无法达到最大速度。

  我们一直在坚持  在构建2和4中具有相同的电机参数 ,但我们仍然无法达到最高速度。

  请告知如何识别问题、以便构建级别4能够以可实现的最快速度运行。

 谢谢你

 此致、

 Kirana H P

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

    作为回复你在其他线程你张贴。 请检查编码器线连接、并按照实验指南使用 FAST 估算器验证测得的编码器角度和速度。 2级和3级都以开环方式运行电机、而不使用编码器中的角度和速度。

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

    罗艳明您好!

    您能将编码器实验指南发送给我吗? 快速浏览一下、对我来说真的很有帮助。

    此致、

    Kirana H P

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

    请查看 通用工程和实验用户指南: https://www.ti.com/lit/spruj26。 详细连接也请参考电机数据表。

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

    罗艳明您好!

    感谢您的支持。

    我现在无法使用 FAST 估算器方法运行电机;我没有收到正确的偏移值。

    我已经像 DRV8353一样保持了电路电压的分压、但我无法获得正确的电压偏移(三相间的电压为0.6V)。

    请告诉我一些时间、以便我可以返回有关此失调电压和分压器的更具体信息。

    请为您提供建议。

    2.如本查询的开头所述,  

    电机的额定频率和最大频率是  300   600  但在版本级别4中、使用上述48V 编码器电机既无法实现额定速度、也无法实现最大速度(600Hz)、  以上述速度运行时的速度。

       但在第2级和第3级、我们能够以高达其最大频率运行电机  但只有在构建级别4中、我们才能实现高达260Hz 的频率、低于电机的额定速度。

      关于这个问题、我们已在更小的死区测试了电机、但仍然无法达到最大速度。

      我们一直在坚持  在构建2、3和4中具有相同的电机参数 ,但我们仍然无法达到最高速度。

      请告知如何识别问题、以便构建级别4能够以可实现的最快速度运行。

    此致、

    Kirana H P

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

    正如您之前所做的那样、您可以尝试先运行1级和2级、以便先验证您自己的电路板。 如果偏移不正确、您必须检查自己电路板的硬件电路和 ADC&PWM 配置。

    然后运行第3级实验以验证电流环路控制、并运行第4级实验以识别电机参数。 如果识别的电机参数不正确、则可能是您自己的电路板上有问题、或者参数设置不正确。

    确保硬件和软件首先可正常运行电机、然后检查直流母线电压是否足够高、以确保电机以高达最大频率的频率运行。

    BTW、如果您仍有任何问题、请查看实验用户指南以监控相关变量、并发布捕获的值。

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

    罗艳明您好!

    感谢您的支持。

    实际上、在我们的定制板中、我们将分压器电路与 DRV8353 EVM 板相同、但面临以下问题。

    1.在我们的定制板中、我们不使用 DRV IC、而是使用基于 IRF 的 IC。 在 DRV IC 和我们的定制电路板 IC 之间进行推理、如下所述。

    要求 DRV8353 IC 定制电路板 IC
    两端的理想电压
    启动电机前需先设置分压器
    0.6V 0.3V
    两端的理想电压
    启动电机后使用分压器
    从逐渐增加
     值设置为零
    从逐渐增加
     值设置为零
    两端的理想相电压
    所有相位、然后再启动电机
    驱动器 IC 输出与相同
     电压  
    将获得12v
    理想条件下的相位(驱动器 IC 的输出与总线电压不同)。

    DRV 和我们的定制电路板 IC 在开启电机后的功能相同、但只有在理想情况下、它们才会与前面所述的不同。

    请说明为了解决前面提到的问题、需要对通用电机代码进行哪些修改。

    2.由于我们的定制电路板存在上述情况、我们将获得以下电压偏移值。

                   

    我们是否可以使用上述偏移设置来操作4级电机?

    3.我能够在两个方向上以 BUILD_LEVEL2和3运行电机至160f、但不能超过该值运行电机。

      在上面的活动中、我使用了24V 电机参数、这些参数是使用具有 F2800157 Launchpad 的 DRV8353 EVM 估算得出的。

    4. 在 BUILD_LEVEL2中运行电机时、3 SPEED_Hz 未正确更新、它会在正值和负值之间振荡、如下所述。

    5。如果我启用电机调试器窗口、电机将急冲并停止、这会阻止我在 BUILD_LEVEL4中操作电机。

    请问为了在 BUILD_LEVEL4中操作电机、需要在通用电机代码中考虑哪些因素?

    请您建议我们对通用电机代码进行必要的修改、以解决前面提到的条件?

    此致、

    Kirana H P

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

    罗艳明您好!

    利用 DRV8353 EVM 充分了解 FAST 估算器算法的流程。

    请建议如何使用下面列出的 IRF 驱动器继续使用构建级别4的快速估算方法。

    我在下面添加了定制板驱动器 IC 的功能。 由于我们必须利用此电源来运行48V 电机、如果您担心我们驱动器 IC 的性能、请进行一次检查。

    此致、

    Kirana H P

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

    如上所述、尝试先运行级别2和级别3实验来验证硬件、然后运行级别4来识别电机参数。 如果电机识别失败或识别的电机参数不正确、 这意味着硬件板出现问题或项目中的参数设置有问题、

    如果可能、您可以使用 TI EVM 首先识别电机作为比较。

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

    罗艳明您好!

    很抱歉这么晚才回复。

    实际上、我已经使用具有 F2800157 LaunchPad 的 DRV8353 EVM 测试了24V 编码器电机。

    如果我使用上述值、电机在 BUILD_LEVEL_4中可以正常运行、但如果我将这些值增加超过20个、我这里也面临不受控制的速度问题。

    实际上、我们在这里考虑 ABZ 反馈、每当我增加加速度值时、电机以不受控制的速度运行(达到最大速度)。

    您能告诉我为什么我们在增加加速度值时会遇到这个问题吗?

    1.增加加速度时是否缺少索引脉冲?

       

    2.如何查找  USER_MOTOR1_ENC_POS_OFFSET 有什么价值?

    下面是上述24V 编码器电机的数据表。

    e2e.ti.com/.../24V-encoder-motor-data-sheet.pdf

    此致、

    Kirana H P

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

    在我们的定制板中、我们也面临同样的问题。

    在具有48V 编码器电机的定制电路板中、如果我们保持 speed_ref 为零、并且如果我们启用运行和识别标志电机、它将达到最大速度。 对于这个问题、我们需要正确调整任何参数。

    如果您有任何与此问题相关的文档、请提供给我。

    您能不能告诉我、如果我们打算使用不同的分压器电路、应如何将其采用到通用电机代码中。

    因为我们面临分压器电路调整和电机识别方面的问题。

    电机在构建级别2和3中运行、但在级别4中、它获取更多电流而不是运行。

    我使用的24V 电机参数与 drv8353 EVM 中使用的相同。

    此致、

    Kirana H P

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能不能建议我、如果我们要使用不同的分压器电路、如何将其采用通用电机代码吗?

    您应该设计一个电路来转换采用3.3V 输入的 C2000 eQEP 的电压电平。 目前、我们没有为您推荐的电路、这可能是基于您系统的常规电路设计。

    示例实验仅支持在连接到 eQEP 的 TI EVM 上具有3.3V 或5V 输出的 ABZ 编码器、以测量电机控制的速度和角度。

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

    罗艳明您好!

    很抱歉这么晚才回复。

    实际上、在我们当前版本的定制板中、我们使用以下分压器电路、这里我们面临电机识别的问题。

    您能否建议、对于低于分压器电路、我们需要在通用电机代码中进行哪些更改才能正确识别电机。

    此处我保持与 DRV8353 EVM 中用于识别的24V 电机参数相同、但在电感识别期间、电机停止旋转、Rs、额定磁通和电感值不正确。

    在我们的定制板中、与 DRV 8353 EVM 识别相比、识别过程中消耗的电流更大。

    在识别期间、注入电流大于上述值、实际上电流不受限制。

    识别期间、DRV8353 EVM 中的分压器输出为200mV、但在我们的定制电路板中、它提供了600mV。 您能否建议如何将此值限制为与 DRV 相同的值。

    您能给我推荐一下如何分析这个问题、以及我们在这里需要注意哪些参数吗?

    此致、

    Kirana H P

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

    分压电路似乎没有滤波电容(不是1500pf)。 请查看      《InstaSPIN-FOC 和 InstaSPIN-MOTION 用户指南》(https://www.ti.com/lit/spruhj1)的第5.2章(硬件必要条件)和4.1章(电流和电压)、其中包含有关这些内容的详细说明。

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

    罗艳明您好!

    1. 实际上、在我们的定制板中、我们使用的是小滤波电容值(1500pf)。
    2. 根据您在上面分享的文档、我们要将滤波器电容器的值替换为47nF。

    上述方法是正确的、或者我们需要执行额外的操作来在具有电机识别功能的 FAST 估算器(生成级别4)中运行电机。

    此致、

    Kirana H P

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

    听起来不错。 您可以参考上述用户指南、使用 FAST 估算器运行电机。

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

    罗艳明您好!

    感谢您的支持。

    目前、我们能够使用我们的定制板识别电机。

    但在电机启动期间、我们仍然面临不受控制的速度问题。

    实际上、根据我们的电机编码器传感器编码器插槽、我们有512个。

    实际上、我已经使用中断测量了转子每360度机械旋转一次的编码器 A 和 B 反馈脉冲、但每次我们都没有得到512个脉冲。

    每次我们得到超过512个脉冲,如542,534和572等

    实际上、我们也使用其他两个电机进行了测试、但也存在同样的问题。

    我们无法找到与电机转速不受控制相关的确切问题。

    请建议如何解决此不受控制的速度问题。

    此致、

    Kirana H P

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

    已回复您发布的另一个主题。 请尝试首先使用 FASTFIRST 运行电机来验证编码器、从而比较 FAST 和编码器的角度和速度。 通用器件可以支持通过 FAST 和编码器运行电机的配置。

    您是否有任何其他具有不同编码器的电机? 您能试一下另一个电机吗?

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

    罗艳明您好!

    上述电机是48V 编码器电机、具有512个编码器插槽。

    实际上、我已经尝试使用另外一个24V 编码器电机、并将电机的详细数据表附在下面。

    根据电机编码器传感器、它有1000次 cpr、但在读取编码器 A 和 B 信号时、我会在每360度机械旋转中获得超过1000个脉冲。

    您能说明一下如何解决此问题吗  

    如上所述、您可以详细解释如何测量编码器角度以及如何正确调整它。

    此致、

    Kirana H P

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

    如上所述、您可以尝试使用 FAST 估算器来验证编码器并检查编码器配置是否正确。 如果您可以确保配置正确、但编码器的输出脉冲数和测得的速度不正确、则无法从软件端解决问题、您应该询问编码器制造商编码器的规格是否正确。   

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

    罗艳明您好!

    1.您能否详细说明如何使用    FAST 估算器方法验证编码器传感器、因为这里是编码器角度         更重要。 就像霍尔传感器一样、我们不使用固定角度。

    2.除了编码器插槽和 eQEP 相关配置,我是否需要注意其他任何确认?

    如果您有任何与编码器确认相关的文档、请提及这些文档。

    3.实际上、在 DRV8353 EVM 中、我已经测试了24V 编码器(1000个编码器插槽)。如果我在 user_mtr1.h 中增大 Acceleration_start 和 Acceleration_MAX 值、然后我只会遇到不受控制的速度问题。

    相反、如果我 保持较低的值(如15和20)、那么 DRV 和定制板都不会出现任何问题。

    4.在我们的定制板中,我已经测试了具有512个编码器插槽的48V 编码器电机,有时我们面临不受控制的速度问题。

    此时、ACCURACY_START 和 ACCURATION_MAX 值分别为5和10。

    48V 编码器电机的额定功率为5kw、因此无法使用 drv EVM 进行检查。

    我们特别在开始时才面临这一问题。 如果一旦电机正常启动、我们就不会面临这种不受控制的速度问题。

    关于这个问题、我增加了启动和对齐时间延迟、但仍然面临同样的问题。

    除了这一点、您能否说明一下我们需要在 UMC 中调整的任何其他变量。

    5.当电机以上述速度运行时、其速度会正确更新、但当电机以不受控制的速度运行时、SPEED_Hz 不会正确更新、值会保持变化。

    此致、

    Kirana H P

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

    您可以查看通用电机控制实验用户指南、其中详细介绍了上述问题、

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

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

    罗艳明您好!

    我已经按照上述文档进行了相关更改、但在电机启动期间、我们仍然面临不受控制的速度问题。

    假设我运行电机30次、如果我运行电机1次或2次、我们面临这个问题。

    编码器引脚配置正确无误、下面我提到了引脚配置示例、我们仅针对所有 A、B 和 Z 反馈遵循相同的配置。

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

    除此之外、我还增加了启动时间和对准时间延迟、但仍然面临同样的问题。

    上述问题需要进行任何其他调整?

    谢谢你。

    此致、

    Kirana H P

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

    如果您尝试在不使用编码器的情况下使用无传感器 FAST 估算器运行电机、会遇到什么问题? 需要确定问题出在硬件板还是来自编码器?

    您是否有机会借助编码器运行另一个电机? 您是否在使用 TI 的 EVM 板? 自己的板?

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

    罗艳明您好!

    1.如果我使用 FAST 估算器方法(在构建级别2、3和4中)运行电机、即使使用我们的定制电路板、也不会出现不受控制的速度问题。

    2.即使我在构建级别2和3下在 MOTOR1_ENC 中运行电机、也不会出现此问题。 正如我所知、我们在构建级别2和3中使用电机的反电动势运行电机。

    但当我们在构建级别4下使用编码器反馈在 MOTOR1_ENC 中运行电机时、仅在启动期间出现此问题、但偶尔会出现此问题。

    3.我们使用 DRV8353 EVM 板进行测试、例如当我们在定制板中遇到任何问题时、我们将使用 DRV EVM 板进行验证。

    我知道、DRV8353栅极驱动器 IC 将支持额定功率高达1.5kw 的电机。

    但我们使用的48V 电机的额定功率为8kW、因此无法在 DRV EVM 中进行检查。

    4.在我们的定制电路板中、我们还能够以所有构建级别以 FAST 和编码器估算器运行我们的48V 编码器电机、但在编码器估算器构建级别4中、我们仅面临这个问题。

    能否知道我们是否需要针对上述问题调整任何角度相关参数、因为我们在 FAST 估算器中没有遇到此问题。

    5. 如果我们要比较 FAST 估算器角度与编码器估算器、那么需要比较哪些角度相关变量? 因为、我知道、我们在通用电机代码中有许多与角度相关的变量。

    6. 如何识别问题,无论是硬件、编码器还是软件?

    请为上述活动提供支持。

    此致、

    Kirana H P

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="578806" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1424244/tms320f2800157-48v-encoder-motor-sometimes-running-in-uncontrolled-maximum-speed---alignment-issues/5615814 #5615814"]

    但我们使用的48V 电机的额定功率为8kW、因此无法在 DRV EVM 中进行检查。

    4.在我们的定制板中、我们还可以运行我们的48V 编码器 m

    [报价]

    也许在开环<1Hz 期间、在低速观测器中、编码器中断优先级顺序会导致 PWM 代码分支、从而使项目不稳定。 启动期间、您可以在 eQEP 信号 A/B 输出侧发布编码器的示波器捕获吗? 甚至可能是 VBus +48V 上没有足够的大容量电容器、计数器 EMI/EMF 在启动阶段会激增编码器信号。 您是否曾尝试在 NFET 相位驱动器上添加缓冲器?

    e2e.ti.com/.../TI_2D00_System-Design-Considerations-for-High_2D00_Power-Motor.pdf

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

    大家好、Genatco 和 Yanming Luo、

    感谢您的支持、

    1.您能否说明一下如何设置编码器中断和 PWM 代码的优先级、因为我会遍历这些代码、但我还没有找到任何有关编码器中断优先级设置的信息、因此请说明我们需要设置此代码的位置。

    2. 我已经检查过编码器的反馈、根据电机的速度和方向来判断反馈是否正确。

    3.当 SPEED Ref 此时为零时、如果我们启用标志 RUN 和 Identity、它将在 DRV EVM 和我们的定制电路板中在几秒内跨三个相位产生50%占空比。

    但在我们的定制电路板中、有时、当速度基准为零时、如果我们首先启用运行和身份标志、它将生成50%占空比 PWM、然后生成应该以更高速度生成的 PWM、因为此电机以不受控制的最大速度运行。

    对于零速基准频率、为什么它会产生如上所述的 PWM?

    对于上述问题、请建议注意参数。

    4.有时当我们设置速度参考值如150f、80F 和190f 时,如果我们设置运行和标识标志,而不是顺时针方向旋转,它将尝试在该特定时间逆时针方向移动,它将进入不受控制的速度。

    相反、如果电机尝试按提到的方向运行、它将能够正常运行、并且我们不会遇到任何不受控制的速度问题。  

    下面我已附上了在不同情况下跨所有三个相位进行 PWM 的相关视频、请查看建议的解决方法。

    谢谢!

    此致、

    Kirana H P

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

    1.当速度参考为零时,如果我们启用了运行和识别标志,有时会在视频复制的下方出现无法控制的速度。

    e2e.ti.com/.../VID_2D00_20250120_2D00_WA0008.mp4

    有时、如果我们设置速度基准值、然后我们设置识别标志、则会出现不受控制的速度问题。

    2.当电机以上述速度值运行时。

    e2e.ti.com/.../VID_2D00_20250120_2D00_WA0011.mp4

    3。有时、如果我启用在速度基准值为零时运行标识标志、将 生成50%、在增加速度基准值后、也会获得相同的 PWM、这并不是基于我们提到过的速度。 在极少数情况下、我们会遇到此问题。

    e2e.ti.com/.../VID_2D00_20250120_2D00_WA0013.mp4

    有时、当速度基准为零时、我们也会看到下面的情况。

    e2e.ti.com/.../video_5F00_20250120_5F00_171709.mp4

    此致、

    Kirana H P

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    对于零速参考频率、为什么它要像上面一样生成 PWM?

    50%占空比产生零电机电流是典型的预期 PWM 行为。

    您是否查看了上面随附的 PDF 并在半桥 NFETS 上添加了缓冲器? 示波器 VBus 是否通过启动期间的单个触发器捕获、探测交流模式毫伏检查是否存在电压尖峰?

    我找不到有关编码器中断优先级设置的任何信息、因此请说明我们需要设置该优先级的位置。

    检查 TRM 中是否有中断内核优先级顺序表、并参阅 TI 网页管理优先级顺序中断。 也许可以确保编码器中断函数断言 PWM FAST 估算器中断函数的优先级。 如果设置为高电平、也可以调整经常导致启动问题的速度节拍数(user.h)。

    4. 有时当我们设置速度参考值如150f ,80F 和190f 时,如果我们设置运行和标识标志而不是沿顺时针方向旋转,它将尝试在该特定时间沿逆时针方向移动,它将进入不受控制的速度。

    运行和识别模式可能会被编码器优先级中断? 似乎识别取决于 FOC 控制、可能会在电机识别期间禁用编码器中断。 FAST 估算器低速观测器<=1Hz 似乎无法很好地配合编码器使用。 或许可以如上所述将其禁用。 您还可以将轨迹加速度(Hz/秒)减小到10Hz、例如尝试2Hz 至5Hz。  

    更常见的意外行为是由于电动机感染 CPU 代码执行过程中的接地反弹或尖峰所致。

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

    您好、Genatco、

    1.当速度基准为零时、如果我们在此时启用运行和身份标志、则会生成50%占空比 PWM、这是可以的、但为什么速度基准会以不受控制的最大速度生成 PWM?

    请观看上述针对上述问题的第一个视频。

    2.目前我们正在检查缓冲电路在我们的定制板中使用的是什么工作正常的或者什么。 您能 详细解释一下这个过程吗?

    3.您可以随附此有关编码器中断优先级的 TI 文档吗? 实际上、我已经尝试过针对上述问题修改 ISR 频率和 Ctrlperiod 是否这种正确的方法?

    4、目前我的加速度值保持为5。 通用电机代码中提到、在电机识别期间、我们将转子位置对准归零位置、但在电机识别之后、我们也遇到了这个问题。

    5.如果一旦电机正常运行、我们就不会遇到不受控制的速度问题、但如果我们一旦重新启动电源并启动、有时便会达到最大速度。

    6.能否详细说明如何在电机识别期间禁用此编码器中断。

    7.对于上述问题、我添加了一个条件、例如此时速度基准为零时、我将重新启动电机控制环路;如果速度基准大于或小于零、我将在 motor1_drive.c 中启用 PWM、但在本例中、我甚至一次面临不受控制的速度问题。

    但是、如果突然根据速度基准值启用 PWM、电机将会急冲启动时间、并且在 dyno 条件下、它将产生较大的噪声、因为这一点、我已经消除了这一条件。

    谢谢!

    此致、

    Kirana H P

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

    大家好、Genatco 和 Yanming Luo、

    1.在我们的定制板中、我们没有使用缓冲电路 这个硬件已经证明了一个 我们将使用通用电机代码进行测试。

    2.当我们设置任何速度参考值(如90f、120f 和200f 电机)时、应该以上述速度和方向运行、但如果该电机还进行了较小的反向旋转、则会出现此问题、并且电机将达到最大速度。

    我们所面临的相同情况也意味着负速度参考值、而不是逆时针 电机沿顺时针方向转动 移动( 转子旋转、甚至是5度 )然后它将尝试逆时针旋转( 方向 (笑声)突然、它将要发生 不受控制的速度。

    3.我们需要调整哪个角度变量、或者我们需要检查此问题。

    因为使用霍尔估算器、我们的定制电路板中的霍尔电机不会出现这一问题。

    谢谢!

    此致、

    Kirana H P

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1. 实际上、在我们的定制板中、我们没有使用缓冲器电路、和 这个硬件已经证明了一个 我们将使用通用电机代码进行测试。

    你的意思是什么,声明不清楚证明一个甚至是什么。 只是因为霍尔电机不存在问题、并不意味着编码器电机上的 EMI 过大。 请阅读上面的 PDF、了解详情:通常在每个半桥的高侧漏极到低侧源极之间焊接一个缓冲电容器。 除非将编码器中断测试 FOC 模式禁用为闭环模式、甚至停止失控速度、否则您无法真正确定导致逆时针旋转的编码器中断优先级。  

    [报价用户 id="578806" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1424244/tms320f2800157-48v-encoder-motor-sometimes-running-in-uncontrolled-maximum-speed---alignment-issues/5618692 #5618692"] 电机沿顺时针方向转动 移动( 转子旋转、甚至是5度 )然后它将尝试逆时针旋转( 方向 (笑声)突然、它将要发生 不受控制的速度。 [报价]

    或许可以调整编码器电机的对齐/强制增量电流(user_motor1.h)。 如果将某个位设置为高电平、预计会出现奇启动行为。 然而、由于中断优先级、我怀疑 FAST 估算器在初始启动期间并不总是获得编码器数据。 您可以尝试禁用编码器中断、直到电机进入闭环并保持稳定(预热)、加速度>5Hz、然后启用编码器中断。

    #define USER_MOTOR1_FORCE_DELTA_A (0.032f)// 15% ALC (0.05f)
    #define USER_MOTOR1_ALIGN_DELTA_A (0.015f)// 5% ALC (0.01f)   

    6. 您能否详细介绍一下如何在电机识别期间禁用此编码器中断。[/QUOT]

    您必须检查 C 代码、可能是(hal.c/h)、或者在配置编码器的任何位置检查、或启用标志设置启用。 搜索 TI Wiki C2000 ePIE 中断嵌套优先级顺序以提供有关优先级顺序的更多信息、并参考 TRM 中显示的 x157 MCU 的中断表。

    C28x 中断嵌套

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

    您好、Genatco、

    感谢您的支持、

    1.我已经使用如上所述的示波器检查了总线电压、但在这里、当电机以不受控制的速度运行时、不会出现任何尖峰。  

    2.实际上、在 hal.h 中只配置了 ADC 中断和一个 ePWM 中断。

    hal.h 中没有在通用电机代码中配置 eQEP 中断或编码器中断。

    我已经看到 ADC 和 ePWM 中断具有比 eQEP 中断更高的优先级、但它未在 hal.h 中定义

    请在您身边确认一次。

    3.在调整上述值后、电机不会反向旋转、但仍然面临不受控制的速度问题。

    #define USER_MOTOR1_FORCE_DELTA_A (0.032f)// 15% ALC (0.05f)
    #define USER_MOTOR1_ALIGN_DELTA_A (0.015f)// 5% ALC (0.01f)   

    谢谢!

    此致、

    Kirana H P

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

    正如之前回答的那样、可以无传感器快速旋转电机、看看问题是否来自编码器测量的角度和速度。

    您可以使用 DAC 或数据日志与 Graph 来检查 FAST 和编码器的角度和速度是否相同。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    eQEP 中断或编码器中断未在 hal.h 中的通用电机代码中配置。

    我们从未使用过带 UMSDK 的编码器、尽管它看起来确实直接支持 eQEP。 如果正在轮询 eQEP 寄存器、数据似乎正在被改编、可能是 EMI 或接地反弹感染+5Vdc 造成的。 需要添加一些计数器措施(硬件)才能到达正在进行的操作的底部。

    此时是否在 NFET 功率相位驱动器上添加了缓冲器?

    您能否发布一个原理图、说明定制电路板如何通过降压+48VDC 生成+5VDC? 在大多数 CMOS 器件中、只需几个尖峰或接地反弹即可导致闩锁。 您是否已在项目的 main while 循环中启用了看门狗计时器来处理失控代码情况? 您能否在速度失控情况后禁用 Run_Verify 标志、在调试中复位 MCU、或者通过其他任何方法按下"RESET"按钮来停止失控速度?

    4. 在我们的定制电路板中、我们还能够在所有构建级别下以 FAST 和编码器估算器两种方式运行48V 编码器电机、但在编码器估算器构建级别4中、只有我们面临这个问题。

    在不受控制的运行状态期间、编码器数据寄存器停止运行后、电机似乎正在以>1Hz 的构建级别4运行开环。 您可以通过 JTAG 的 CCS 调试和持续刷新寄存器视图 eQEP 外设来验证编码器数据寄存器。 由于您无法在 LaunchPad 上测试8KW 电机、因此必须使用其他工具和方法来解决问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    4. 在我们的定制电路板中、我们还能够在所有构建级别下以 FAST 和编码器估算器两种方式运行48V 编码器电机、但在编码器估算器构建级别4中、只有我们面临这个问题。

    也许可以通过在末尾删除_N 来修改符号(ENCODER_ENABLE)、检查编码器是否已启用工程编译级别4属性

    编码器模块位于(encoder.h)的函数中 (静态内联 void ENC_run (ENC_Handle handle))。

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

    您好、Genatco、

    感谢您的支持。

    1.我遵循了大家的建议、添加了缓冲电路、检查了5V spics 和地弹。 此处、我们不会遇到任何尖峰。

    2.目前我把开环频率从3Hz 增加到5Hz、所以电机在5Hz 后会进入开环、并且我增加了对齐和启动延迟、但是没有用。

    3.在构建级别4下的 MOTOR1_ENC 中、我们仅面临此问题、因此根据您的建议、我已检查了 ENC_run 函数以解决此问题。

    此函数在所有级别都是通用的、并且没有仅适用于构建级别4的函数。

    4.调整完下面的值后,我可以看到上面的问题有一些区别,但是上面的问题没有完全解决。

    #define USER_MOTOR1_FORCE_DELTA_A (0.032f)// 15% ALC (0.05f)

    #define USER_MOTOR1_ALIGN_DELTA_A (0.015f)// 5% ALC (0.01f)  

    您能否说明一下、我能够为这些变量尝试的最大值是多少?

    实际上、这些变量在 UMC 中没有使用、并且是加密的。

    5.我们需要检查或调整以上问题的任何其他变量?

    此致、

    Kirana H P

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

    罗艳明您好!

    感谢您的答复。

    1.我们可以在 FAST 估算器中旋转电机。

    2.在构建级别4下的 MOTOR1_ENC 中、仅出现问题。

    3.实际上、在 UMC 中、一个有关相位对齐的函数是、我们获取 FOC_ANGLE、并根据这些角度获取一些默认的 ANGLE_rad 值、我们将生成新的角度。

    我尝试了这个相位调整或对齐功能,但我不确定,我们需要在这里保持什么值,在 ANGLE_RAD,默认情况下保持 MATH_PI*0.01。 您能告诉我我们是否能够在代码中使用此功能吗?

    如果是、请注明此默认角度的限值。

    4.我们能否在启动阶段以构建级别3运行电机、并在超过某个频率后将其切换到构建级别4。 我们能否在负载条件下尝试这种方法。

    它是否会对电机性能产生影响? 因为我知道、如果我们随机或基于反电动势对定子进行能量计算、则会在车辆级别产生一些问题。

    5.您能否说明我们需要根据电机额定电流保持多大的电流百分比、因为我没有从 TI 文档中获得这些信息。

    6、除上述变量外,我们需要调整或检查以上问题的任何其他变量?

    7.对于上述问题、我添加了一个条件、例如此时速度基准为零时、我将重新启动电机控制环路;如果速度基准大于或小于零、我将在 motor1_drive.c 中启用 PWM、但在本例中、我甚至一次面临不受控制的速度问题。

    但是、如果突然根据速度基准值启用 PWM、电机将会急冲启动时间、并且在 dyno 条件下、它将产生较大的噪声、因为这一点、我已经消除了这一条件。

    提前感谢您

    此致、

    Kirana H P

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    4. 在我们的定制电路板中、我们还能够在所有构建级别下以 FAST 和编码器估算器两种方式运行48V 编码器电机、但在编码器估算器构建级别4中、只有我们面临这个问题。

    构建杆1-3仅使用上面 Yanming 提到的开环代码。   

    在大多数 CMOS 器件中、只需极少的尖峰或接地反弹即可导致闩锁。 [报价]

    验证存在非常快速的转换尖峰的最佳方法必须设置示波器通道交流电压、单触发模式。 将通道触发阈值设置为< 1伏。  

    您可以使用 JTAG 通过 CCS 调试验证编码器数据寄存器、并使用恒定刷新寄存器查看 eQEP 外设。

    您是否已使用 XDS110调试探针 JTAG 在失控速度期间查看 eQEP 外设寄存器? 可能只有一个尖峰会锁定编码器、看起来电机绝不会真正进入闭环电流控制。 也许会尝试减少 user_mtr1_h 的速度节拍数

    //! 简略定义每个速度控制器时钟节拍的 ISR 时钟节拍数
    //!
    #define USER_M1_NUM_ISR_TICKS_PER_SPEED_TICK (8)//10

    [报价 userid="578806" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1424244/tms320f2800157-48v-encoder-motor-sometimes-running-in-uncontrolled-maximum-speed---alignment-issues/5630876 #5630876"]

    #define USER_MOTOR1_FORCE_DELTA_A (0.032f)// 15% ALC (0.05f)

    #define USER_MOTOR1_ALIGN_DELTA_A (0.015f)// 5% ALC (0.01f)  

    您能否说明一下、我能够为这些变量尝试的最大值是多少?

    实际上、这些变量在 UMC 中没有使用、并且是加密的。

    [报价]

    这些值都是使用的、而不是加密的 UMCSDK、这意味着什么? 您确认更改该值有助于停止逆时针方向的随机(反冲)旋转。  

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

    感谢您的回复 Genatco、

    是的、1-3个构建级别是开环的、不会考虑编码器反馈。

    实际上、上述电流值在 user_mtr1.h 中声明、但不用于通用电机代码意味着上述变量不用于任何逻辑。

    是的、调整上述变量后、随机逆时针旋转减少。

    现在、电机将按上述方向运行、但在几秒钟之后、它将按逆时针方向或不受控制的速度运行。

    它在两个方向上都在发生。

    我能知道、上述电流变量的限值是多少吗?

    我们能否在 UMC 中使用 PHASE_ADJUST?

    谢谢!

    此致、

    Kirana H P

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    2. 在构建级别4下的 MOTOR1_ENC 中、只有我们面临问题。[/QUOT]

    您需要检查是否如前面所述正确测量了速度和角度。 尝试使用 FAST 的速度和角度来验证编码器。 最好使用 DAC 进行检查、如通用实验指南中所示。  

    如果可能、您可以将另一个电机与编码器一起使用、以首先验证硬件和代码。

    上面提到的其他参数仅用于提高启动性能、无法解决您遇到的问题。

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

    罗艳明您好!

    感谢您的支持、

    目前、我们在空载(工作台)条件下不会出现此问题、但在 dyno (负载)条件下、我们面临同样的问题。

    在 dyno,我们不给任何负载在电机的起始阶段,只有皮带轮连接。

    实际上、对于此问题、我在 CL_Running 之前添加了一个条件、因为当电机从开环进入闭环状态时、我们只是面临着这一问题。

    此处、当 SPEED_Hz 大于10Hz 时、我们将从 OL_RUNING 进入 CL_RUNNING 状态、并且调整延迟增大、并将值保持在下方。

    #define USER_MOTOR1_FORCE_DELTA_A (0.032f)// 15% ALC (0.05f)

    #define USER_MOTOR1_ALIGN_DELTA_A (0.015f)// 5% ALC (0.01f)。

    目前、我在工作台设置中不会遇到这个问题、但在 dyno 期间、它仅会出现。

    在 dyno 模式下、有时它会进行一次旋转、突然、它会以不受控制的速度开始向相反方向旋转。

    有时、电机将旋转一周、然后停止。

    除了上述电流值之外、我还需要为此问题调整任何其他值。

    请说明上述电流值的限制。

    此致、

    Kirana H P

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

    您能否说明一下、根据电机的额定电流、我们需要为 alignment_CURRRNT 和 STARTUP_CURRENT 保持多大的电流百分比。

    由于对于 Rs 和 Ls 估算、我们有一些基于电机额定电流的百分比、但对于上述值、UMCL 中未提及。

    此致、

    Kirana H P

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="578806" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1424244/tms320f2800157-48v-encoder-motor-sometimes-running-in-uncontrolled-maximum-speed---alignment-issues/5642541 #5642541"]您能否说明一下、根据电机的额定电流、我们需要为 alignment_CURRRNT 和 startup _current 维持多大的电流百分比

    这取决于电机增加的负载、您需要确保电流足以将转子对齐到零位置。 您可以尝试稍高的电流、例如额定电流的50%、甚至更高。

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

    罗艳明您好!

    目前、我们在负载条件下也没有遇到此问题;感谢您的支持。

    此致、

    Kirana H P

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

    罗艳明您好!

    1、 目前我正在做再生制动,我遇到了一些问题。 在 UMC 模式下、再生制动不可用。

    2.在通用电机代码中、我们有一些制动功能、但其中一个称为 HARDSWITCH_BRAKE_MODE 的中断功能与我的再生制动算法类似。

    在这里、在这种制动情况下、我们将禁用高侧 MOSFET 并启用所有低侧 MOSFET。

    3.对于我目前的再生制动、我遵循以下文档、该文档是 TI 成员建议的。

    返航机器

    在本例中、当施加再生制动时、我们需要通过改变 MOSFET 低侧 PWM 的占空比来生成 PWM、以控制再生制动水平、并且我需要禁用所有高侧 MOSFET。

    我将使用 HARDSWITCH_BRAKE_MODE 逻辑、但除此之外、我需要 生成 PWM、以通过改变 MOSFET 低侧 PWM 的占空比来控制再生制动水平。

    您能否说明一下如何在 UMC 中启用具有占空比的 PWM、因为在正常电机运行的情况下、我们会根据所述 RPM 生成具有一定占空比的 PWM。

    谢谢!

     

    此致、

    Kirana H P

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价用户 id="578806" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1424244/tms320f2800157-48v-encoder-motor-sometimes-running-in-uncontrolled-maximum-speed---alignment-issues/5656932 #5656932"]

    1、 目前我正在做再生制动,我遇到了一些问题。 在 UMC 模式下、再生制动不可用。

    2.在通用电机代码中、我们有一些制动功能、但其中一个称为 HARDSWITCH_BRAKE_MODE 的中断功能与我的再生制动算法类似。

    [报价]

     UMC 仅支持一种制动模式、所有高侧均关闭、所有低侧均开启。

    [报价 userid="578806" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1424244/tms320f2800157-48v-encoder-motor-sometimes-running-in-uncontrolled-maximum-speed---alignment-issues/5656932 #5656932"]您能否说明如何在 UMC 中启用具有占空比的 PWM、因为在正常电机运行时、我们将根据电机提及的 RPM 生成具有一定占空比的 PWM。

    该状态应与旋转电机相同。 请看一下关于 PWM 的 TRM、您可以根据需要配置 PWM 输出。

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

    罗艳明您好!

    感谢您的支持。

    实际上、我之前提到过关于 PWM 的 TRM、但这里我的要求是在再生制动期间、我需要关断所有高侧 MOSFET、并且需要 电荷 所有低侧 MOSFET、如下所述 基于电机 RPM 的占空比、用于增加再生效果 .

    但在通用电机代码中、我是 找不到与 PWM 生成相关的函数或逻辑 基于用户要求的频率、如所示 速度基准 .

    您可以告诉我、上述方法是否适用于再生制动、或者您有任何其他此再生制动算法吗?

    目前、我参考以下研究文档、了解如何使用 PMSM 电机实现再生制动。 这种方法是否正确?

    e2e.ti.com/.../Performance_5F00_Analysis_5F00_of_5F00_Regenerative_5F00_Braking_5F00_in_5F00_Pe.pdf

    根据电机 RPM、我需要以不同的占空比切换低侧 MOSDFET、因此如果您有 再生制动的源代码 请与我分享。

    基础 开关所有低侧 MOSFET 具体取决于反电动势、如上图所示?

    由于它对我们如此重要,你能帮我完成上述任务吗?

    谢谢!

    此致、

    Kirana H P

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="578806" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1424244/tms320f2800157-48v-encoder-motor-sometimes-running-in-uncontrolled-maximum-speed---alignment-issues/5659533 #5659533"]我需要根据电机 RPM 以不同的占空比切换低侧 MOSDET、因此如果您有 再生制动的源代码 、请与我分享。

    当 bool 标志测试进入控制功能以下方设置初始轨迹速度时、可能尝试将 DRV8353 SPI 控制寄存器 bool 状态(coast = 1)置为有效。 延明提到转子续流时会发生再生。 NFET 体二极管会将正弦波整流为返回电池的脉冲直流电。 运行时代码仍应监控总线电压、并在电池充电的某些过压点禁用 REGEN (滑行= 0)。   

    电机运行后的示波器相电压突然关闭直流、从而提供总线电压和 MCU +3V3电源。 有时、线性直流电源将纠正再生电压并使+3V3 LDO 稳压器处于活动状态、MCU 供电的 C 程序保持运行。 不确定 SMP 设计是否具有相同的行为。  

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

    大家好、Genatco 和 Yanming Luo、

    感谢您的答复。

    目前、我能够在再生制动条件下通过低侧 MOSFET 以一定的占空比生成 PWM、但问题是、我无法实现中指定的占空比。

    正如我在下面提到的、我需要关断所有高侧 MOSFET、并且需要使用具有固定占空比量的 PWM 来导通所有低侧 MOSFET。

    目前、在 UMC PWM 中、开关频率为8kHz、在再生制动期间、我也在尝试保持相同的频率、但如果保持相同的频率、则无法获得我在该函数中指定的正确占空比。

    每次占空比改变时、我都无法获得固定占空比。 在这里、有时我会获得100%占空比、而不是60%占空比。

    如果我保持更小的频率(例如100或500)、则 PWM 占空比为50%、但在本例中、我也没有获得我在函数中提到的值。

    您能建议解决此问题的方法吗?因为这对我们来说非常重要。

    谢谢!

    此致、

    Kirana H P

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

    在下面、我连接了用于在再生制动期间导通所有低侧 MOSFET 的逻辑。

    请检查一次。

    //再生制动

    静态内联 void HAL_enableBrakePWM (HAL_MTR_Handle handle)

    HAL_MTR_Obj * obj =(HAL_MTR_Obj*)句柄;
    uint16_t cnt;

    ePWM_SignalParams pwmSignal =
    {8000、0.4f、0.6f、TRUE、DEVICE_SYSCLK_FREQ、
    epwm_counter_mode_up_down、epwm_clock_divider_1、
    EPWM_HSCLOCK_DIVIDER_1};

    board_init();

    ////针对所需的频率和占空比配置 ePWM 模块

    ePWM_configureSignal (MTR1_PWM_U_BASE、&pwmSignal);
    ePWM_configureSignal (MTR1_PWM_V_BASE、&pwmSignal);
    ePWM_configureSignal (MTR1_PWM_W_BASE、&pwmSignal);

    INTERRUPT_ENABLE (INT_EPWM1);

    适用于(cnt = 0;cnt < 3;cnt++)

    //设置动作限定符连续软件强制寄存器(AQCSFRC)
    EPWM_setActionQualifierContSWForceAction (obj->pwmHandle[cnt]、
    EPWM_AQ_OUTPUT_A、
    EPWM_AQ_SW_OUTPUT_LOW);
    //设置死区发生器控制寄存器(DBCTL)
    EPWM_setDeadBandDelayMode (obj->pwmHandle[cnt]、EPWM_DB_RED、false);
    EPWM_setDeadBandDelayMode (obj->pwmHandle[cnt]、EPWM_DB_FED、false);
    }
    #endif

    obj->flagEnablePWM = true;//false

    返回;
    }// HAL_enableBrakePWM ()函数结束

    此致、

    Kirana H P