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.

[参考译文] TMS320F28035:梯形 PWM

Guru**** 2589265 points
Other Parts Discussed in Thread: C2000WARE, CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/665449/tms320f28035-trapezoidal-pwm

器件型号:TMS320F28035
Thread 中讨论的其他器件:C2000WAREcontrolSUITE

大家好、

首先、我要感谢大家在我的所有其他 e2e 帖子中为我提供帮助。  我的高级设计项目因您的原因而表现出色。  非常感谢!  现在返回到此帖子。  我希望为 BLDC 电机实现梯形电机控制。  我使用的是 F28035和霍尔传感器、但我的6个 PWM 信号没有使用3个 ePWM 模块进行设置。  相反、PWM 是使用 ePWM1A-ePWM6A 设置的(我们没有意识到 ePWM 是成对设置的)。  我对如何创建梯形相电压的上升和下降部分感到好奇。  根据我研究的结果、当前梯形形状上的斜升/斜降相位被关闭。  例如、如果 A 相电压处于上升/下降状态、则 A 相高侧和低侧 FET 将关闭。  我的困惑在于、如果相位关闭、如何在特定相位的这些时间点创建斜坡。  根据我的想法(这肯定是错误的) 、我本以为通过关断该相位的低 FET 而产生斜升、但使用增大的 PWM 占空比打开高 FET、 并且将以相同的方式创建斜降、但通过降低高 FET 中的 PWM 来实现。  此外、如果我必须使用不断变化的 PWM 信号、如何同步 PWM 信号、以便在适当的时间发生?   我假定 ePWM 比较值在零或周期加载(基于寄存器配置)、如果我在代码中连续更改 ePWM 比较值(不使用任何标志检查或延迟)、则每个周期结束时会连续发生不同的 PWM 占空比。  这是正确的假设吗?  很抱歉发帖太长了。  非常感谢您的帮助。  再次感谢!

-Brandon

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Brandon。
    您能否同时为三个相位绘制电压与时间?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    迪诺纳

    这是相电压的波形。  我绘制了具有梯形重叠的栅极信号电压(方波)。  每个电压信号的最小电压为-0.5*VDC_BUS,最大电压为0.5*VDC_BUS。  我希望这有助于澄清问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我希望有更有经验的人可以看看这个帖子。 我在三相系统中太糟糕了。
    但我可以告诉您、如果您以负直流总线为基准、则不能对相位施加负电压、因为您的最小电压为0。 但是、如果我们获取您的波形并使用0.5直流总线电平将其向上移动、我们将获得[0;DC]电平范围内的电压。 这是可以的、因为任何电机都由其线间电压驱动-我是说负总线和相位之间的电压无关紧要。 但两相(A 和 B、A 和 C、B 和 C)之间的电压很重要。 如果我们将您的图形上移、则线间电压相同。

    现在、我们有一项任务、即在每个相位创建[0;DC]范围内的电压。 这并不难。 例如、如果占空比为75%、则电压等于直流的75%。 因为"电压"是指" PWM 周期上的平均电压"。

    因此、我认为您可以尝试为 CMPA 设置梯形基准。 根据您的图、-0.5是 CMPA=0、+0.5是 CMPA=TBPRD。

    请尝试执行此操作吗? 如果你的电机有灯和火、让我们听更多聪明的人说。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    迪诺纳

    您建议的基本上是我要实现的、以获得所需的最小和最大电压。 但是、我想知道、当电压分别上升或下降时、我是否需要升高或降低占空比。 例如,如果我升高 A 相电压,我会将占空比设置为10%,然后设置为20%,然后设置为40%,.......... 然后达到100%? 这样、平均电压将是相对于时间的斜坡函数。 我希望这是有道理的。

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

    如果我正确理解了您的问题-那么是的、您必须根据您的斜坡更改占空比。

    比如00%-10%-20%-... -90%- 100%- 100%- 100%- 90%- 80%... 10%- 0%- 0%- 0%- 10%... 对于"A"相位、与"B"相和"C"相位的顺序相同、但漂移120度和240度。

    您对此有什么问题吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以通过级联同步信号将所有 PWM 模块相互同步。 在 TBCTL 寄存器中、查看 SYNCOSEL 和 PHSDIR 域。 阅读 SPRUGE9E (ePWM 模块参考指南)中的2.2.3.2和2.2.3.3节。 同步时、根据需要使用相位寄存器使一个 PWM 从另一个 PWM 延迟。 我还建议使用 DMA 来更改 PWM 的占空比、以生成斜坡。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    C2000 Ware 示例代码中没有一个非常适合在应用中显示同步、但我认为最接近的代码是
    C:\ti\c2000Ware_1_00_03_00\device_support\f2803x\examples\c28\ePWM_timer_interrupts
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Quark、

    感谢您提供参考。  我将尝试实施您今天提出的建议。  此外、您提到了什么是 DMA?  再次感谢。

    -Brandon

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以安装 C2000 controlSUITE、该软件可从 TI 网站下载、并可在 controlSUITE 中找到一些 BLDC 示例项目、如"HVBLDC_Sensorless"、如下所示。 您还可以在该文件夹中找到" BLDC 电机的无传感器梯形控制"应用手册、其中详细介绍了如何更改 PWM 占空比以及如何在您需要的电压梯形波形时控制 BLDC。 如果您对此示例项目有任何疑问、请告诉我、您也可以从 E2E 论坛找到类似问题的答案。

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

    有关 C2000器件、请参阅以下内容

    http://e2e.ti.com/support/microcontrollers/c2000/f/171/t/619425

    DMA 是直接存储器存取。  它可用于在无需 CPU 干预的情况下更新 PWM 寄存器。  如果您的 PWM 频率较快、并且您希望 CPU 也执行其他操作、这一点很重要。  但它有一条要设置的学习曲线、因此如果您的 PWM 频率较慢、只需使用 CPU 和中断即可。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Quark、
    请您向我介绍一下 DMA 的一些参考。 我想了解更多信息。 与此同时、我将尝试使用 CPU 和中断来实现。

    谢谢、
    Brandon
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我刚刚意识到2803x 没有 DMA。 抱歉。

    我通常使用2806x 和28335、因此我假设您使用的芯片具有 DMA。 如果您仍然对 DMA 感兴趣、可以在下面的 C2000 Ware 中找到一个很好的示例代码
    C:\ti\c2000Ware_1_00_03_00\device_support\f28066\examples\c28\dma_ram_to_ram
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果我使用增大/减小 PWM 占空比来获得梯形电压波形、 当梯形波位于波形顶部时、我是否需要在特定相位中使用高 FET、然后在梯形波形位于底部时在特定相位上使用低 FET? 例如,当 A 相达到最大值并降低时,我将使用100%。。 90%… 当电压大约处于峰峰值之间的中点时达到0%、那么在电压通过中点后、我将开始增加 A 相低 FET 上的占空比、直到我达到最小 A 相电压。 是这样吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我不是 BLDC 的相关人员、但本视频可能会为您提供帮助

    https://www.youtube.com/watch?v=szgVUfyX8JM