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.

[参考译文] TMS320F280039C:SVPWM 问题

Guru**** 2769195 points

Other Parts Discussed in Thread: INA296A

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1158246/tms320f280039c-svpwm-issues-and-questions

器件型号:TMS320F280039C
主题中讨论的其他器件:INA296A

您好!

 

我正在使用另一个 MCU 将一个已经正常工作的系统迁移到使用 TI 的 C2000 MCU。 该系统依赖于交流 FOC 电机控制。 我已经在运行稳压器、并且我正在通过一个库在两个微控制器之间共享的 Park、Clarke、逆向 Park 变换。 因此,我知道这不是问题。 FOC 控制中唯一不同的是 SVPWM 模块。 我没有自己的 SVPWM 模块,并且正在使用 MCU 供应商的 SVPWM 模块。 我本周休假、TI e2e 站点因维护而中断、因此我要让一位同事为我发布此信息、我希望在假期回来之前看到一些后续步骤! 提前感谢!

 

总体问题:我命令100 RPM、我获得100 RPM、但足够的电机电压、我可以获得400 RPM (40.14V、当我应该具有21.74V 时)。 我命令500RPM、我获得500RPM、但我获得了足够的电机电压以达到1500RPM (当我应该具有55.757V 时为145.17V)。

怀疑是问题的原因:我有一吨 D 电流–D 电流基准为0,因此我施加一吨 D 电压来尝试将 D 电流保持为0。 我认为 D 电流是由 TI 的 SVPWM 模块出现问题引起的。 我不了解输入/输出,或者 SVPWM 模块无法正常工作。 我怀疑 SVPWM 模块工作正常、问题在于我的理解。

 

请注意、工作系统/TI 之间的 Park、Clarke、逆向 Park 变换和下面使用的所有稳压器是相同的、因此这不是稳压器问题。 在这方面、工作系统/ TI 之间的代码是相同的、因为所有这些都在我们在 MCU 之间共享的库中。 这里唯一的区别是 SVPWM。 这就是我怀疑 SVPWM 存在问题的原因。

 

TI SVPWM 模块

输入:alpha/Beta 电压除以 DcLinkVoltage、得到 Alpha / Beta 占空比

输出:A、B、C PWM 从-0.5缩放到0.5

TI SVPWM–

 

有3个不同的 SVPWM 模块。 我已经尝试了3个中的2个。 我的下一步是在我休假回来后尝试第三个模块,但我希望这里的人可能会建议他们在我使用的 SVPWM 模块中看到一些内容,并提出一些我误解的内容。

 

我正在使用的当前 SVPWM 模块实际上是它们具有的旧模块。 他们建议不要使用它和使用新的。 我之所以使用它、是因为它计算 SVM 扇区、而其他2个扇区没有计算、我们需要使用这些扇区进行当前相位重建。

 

 

这将输出-0.5V 至0.5V 的 PWM、然后我将其设置为电机 PWM 计数器比较值。

 

与此相关的问题–我比较了工作系统和 TI 之间在100RPM 和500RPM 下的数据、以了解它们的比较情况。 我从这一点出发、了解工作系统和 TI 之间的主要差异、就是这样–

  1. Q 电流在2之间是相同的、这是有道理的、因为这是扭矩的来源
  2. TI 的 D 电流吨数–导致 D 电压吨数、进而导致电机电压吨数
  3. 示波器迹线上的占空比在500 RPM 60Nm 时明显不同–这让我认为 SVPWM 是错误的–要么我不了解它的输出或它的输入、要么算法是错误的。
  4. 为什么我需要对已经被2除以2的周期进行分频、这意味着我将它除以4? 这些示例也会实现这一点。 这使我很困惑。
  5. 为什么示例会(周期*占空比)+周期? 为-0.5至0.5。 这使我很困惑。 较新的 SVPWM 允许我们将占空比从0.0缩放到1.0、然后将其乘以周期、这对我来说更有意义。

 

阅读下面的数据,因为我在这里展示了 TI 较新的 SVPWM 选项。

 

100转/分60牛米

 

工作系统

 

示波器迹线

 

 

采样频率为10ms 时的趋势–仅适用于平均值比较

 

捕获采样率为250us 的缓冲器–很适合了解实际情况

 

 

占空比:-32767(-1)至32768(1)

 

 

TI

 

趋势–

 

 

 

 

 

捕获缓冲器

 

 

 

 

 

500转/分60牛米

 

工作系统

 

示波器捕获

 

 

趋势:

 

 

 

捕获缓冲器

 

 

 

 

TI

 

 

趋势

 

 

 

捕获缓冲器

 

 

 

 

TI 新的 SVPWM 选项1–

 

SVGEN_RUN

 

输入–Alpha / Beta (函数将它们除以 DcLink 电压以获取占空比)

输出–A、B、C 占空比从-0.5至0.5

 

在这里、我不确定两件事–

  1. 它们如何在不计算扇区的情况下成功地实现 SVPWM? 他们如何判断要打开哪些 IGBT?
  2. 我们采用哪种 SVM 模式? 我尝试了 SVM_COM_C、结果与计算我现在尝试的扇区的旧 SVGEN 相同。

 

TI 新的 SVPWM 选项2–

 

第二个选项将 SVGEN_RUN 与 SVGEN_CURRENT 组合在一起、SVGEN_CURRENT 为我们执行电流重构、看起来它们必须计算扇区才能实现该目的、但不能真正调用扇区并保存扇区。

 

要使用它、请运行 SVGEN_RunRegenCurrent 以计算要重建的相位、然后运行上面的 SVGEN_RUN、然后在它下面调用 SVGENCURRENT_COMPPWMData ()。 我还没有尝试这样做-它可能会做我们想要的事情、但它看起来就像它描述了阶段重建。 在这里、您不需要再次将已经被2除以2的 PWM 周期进行除法、只需将周期乘以占空比、就像我执行对我来说有意义的其他 ePWM 一样。 我喜欢这个。

 

SVGEN_RunRegenCurrent 看起来与我们使用 SVM 扇区重建电流的电流重构非常相似、但它允许重建3个相中的2个相位。

 

 

然后、在计算 PWM 之后、您决定要忽略哪个分流器、这似乎非常类似于决定您所在的 SVM 扇区:

 

 

因此、我的下一步是尝试使用此方法并查看其执行方式。

 

感谢您的帮助、很抱歉发帖很长! 希望数据和我的共享有助于找出问题的根本原因、并尝试一个很好的下一步!

 

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

    这是一个有关使用低侧分流电阻器进行三相电机控制的通用主题、它与 FAST 或 InstaSPIN-FOC 算法无关。 您可以在网站上找到一些有关这方面的应用手册/白皮书、而不仅仅是在 TI.com 上找到。

    您在上面提到的内容中、电压感应需要一个低频滤波器来滤除 PWM 信号。

    如果您对上述主题有任何疑问、请为其创建新主题。 在本主题中、我们希望专注于一个主题、并在一页中解决该问题。 谢谢!

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

    Yanming 必须有定义细分。 海报似乎应该考虑 eQEP 与使用 DMA 传输的较慢 SPI 旋转变压器。 旋变传感器一词不会推断电流分流监控、而是使用 IR/霍尔和/或代码滚轮进行转子位置检测。 我们不会解析电流、我们会监控 PID 或快速块速度 PIE 控制器的电流。  海报未将 FAST 估算器用于转子位置或角度、并链接了另一个论坛帖子提及使用 SPI 旋转变压器 DMA 传输。 事实上、我的几个帖子都是关于主题的、这个问题需要不止一页的时间才能解决!

    250µs、通过 x39c SPI 进行的低侧分流电流监测、以 μ s EOC 采样间隔为单位、可能无法跟上速度轨迹的快速变化占空比。 即使在非常低的占空比下或在进行电流重构(两相)时、由于内部总线时序问题、模拟 SPI 数据也将是准确的。 我会避免将 SPI 用于任何 SVM 模块的低侧或高侧电流监控、而是使用 ADC 直接对 INA241x 或 INA296A 等电流监控器输出进行采样、而不会产生 PWM 抑制。

    [引用 userid="35051" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1158246/tms320f280039c-svpwm-issues-and-questions/4382469 #4382469"]这是一个有关使用低侧分流电阻器进行三相电机控制的通用主题,它与 FAST 或 InstaSPIN-FOC 算法无关

    上图显示了 Clarke α β 的(电机:A、B、C)、用于跟踪转子位置。 在本例中、旋变传感器一词定义了转子位置、ACIM 将在磁场中滑动数百度。 ACIM 旋转变压器似乎计算换向周期之间的弧度数。 通过 μ µDMA 传输实现的速度较慢的 SPI 数据更新可能不是实现该目标的最佳方式、甚至不是实现该目标的最佳方式。

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

    请创建一个新主题、以讨论您在上面提到的这些主题。 似乎它与此主题帖的标题无关、如果要通过 E2E 上的标题搜索问题、可能会使用户感到困惑。 谢谢。