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**** 2589280 points
Other Parts Discussed in Thread: DRV8301, TMS320F28035, CONTROLSUITE, MOTORWARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/663721/tms320f28035-space-vector-pwm

器件型号:TMS320F28035
主题中讨论的其他器件:DRV8301controlSUITEMOTORWARE

大家好、

我有一些一般性问题。  我将 TMS320F28035与 DRV8301一起用于驱动 BLDC 电机。  由于我不知道 ePWM 模块是如何配对的(ePWMxA 和 ePWMxB)、我已经将电路板设计为将所有 ePWMxA (ePWM1A-ePWM6A)用于发送到 DRV8301的 PWM。  幸运的是、我从 TI 的一位员工那里了解到、可以将互补 PWM 与 SVPWM 技术结合使用来控制电机。  因此、我决定对我必须处理的内容执行以下操作:

我 将 DRV8301设置为使用具有默认死区时间的3PWM 模式(现在似乎已有足够的死区时间、但稍后可能会增加死区时间)。

2. 我现在只使用 ePWM1A、ePWM2A 和 ePWM3A (我让 DRV8301处理互补的 PWM 信号)。

3. 我正在使用 DRV8301的内置电流放大器来测量相电流。

4.使用电机霍尔信号测量转速和转子位置。

现在来回答这个问题。  由于我没有任何类型的 PI 控制器或除霍尔信号和电流测量之外的任何其他东西、我将如何应用从电机获取的信息来实现 SVPWM?  我的想法是、我可以使用大厅来确定需要使用哪些部门。  然后、我可以测量电流、以确定两个空间矢量 PWM 设置以及零矢量 PWM 设置的时序。  我正在尝试实现中间对齐的正向/反向 SVPWM。  我理解 SVPWM 的概念(我在脑海中点击时无法停止微笑)、但我从未实施过 SVPWM 技术。  实际上、这是我第一次设计电机控制器。  此外、还有一个有关 PWM 的问题: PWM 频率需要多快、是否有经验法则?  我的 MCU 以大约16MHz 的频率运行、 我听说 PWM 频率应至少为电机电频率的10倍。  如果有任何建议或帮助,将不胜感激。

谢谢、

Brandon

   

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1.对于 DRV8301、您只能使用 C2000中的3个 PWM 来控制 DRV8301、正如您所描述的那样。

    2.对于 SVPWM、您可以从 TI 网站下载 C2000 controlSUITE 或 MotorWare、有许多示例项目可展示如何驱动电机。
    也许、您可以参阅\ti\controlSUITE\development_kits\DRV830x-HC-C2-KIT_V105\PM_Sensorless 中的"PM_Sensorless"项目如果您安装了 controlSUITE、此项目将使用 SVPWM 实现无传感器 FOC。 有两种类型的 SVPWM、您可以在 controlSUITE 的库指南中找到详细说明。 如果您的项目中没有任何速度或电流闭环、则可以使用 SVGEN_MF。

    BTW、F28035可以在高达60MHz 的频率下运行、您为什么将其频率设置为16MHz? 通常、PWM 频率必须大于电机最大频率的12倍。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Yanming、

    感谢您的回答。  我将介绍您提到的 controlSUITE 和 MotorWare。  关于 MCU 工作频率、我不确定是否正确。 我计算频率的方法是测量 PWM 计数器的频率。  此外、我没有考虑 PWM 周期是最大计数器值的两倍的递增/递减计数。  因此、我测量的计数器的频率应约为30MHz。  计数器的频率是否与 CPU 内部振荡器的频率相同?  此外、我不确定是否为 CPU 本身正确设置时钟。  我有一个外部晶体、但使用内部振荡器。  您是否知道我需要如何设置 MCU 以60 MHz 的频率使用外部晶振?  谢谢你。

    -Brandon

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

    Brandon、

        controlSUITE 示例展示了如何在系统初始化函数中设置时钟。 可以通过查看 PWM 计数器的速度来确定您的时钟速率、但是最好的方法是使用 XCLKOUT... 《系统控制和中断参考指南》中介绍了此和其他时钟详细信息、包括如何设置 PLL。

    此致、
    Cody