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.

[参考译文] TMS320F28065:如何使用 focus算法 驱动 PMSM 电机

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1184762/tms320f28065-how-to-drive-pmsm-motor-using-foc-algorithm

器件型号:TMS320F28065
主题中讨论的其他器件:controlSUITEDRV8312-C2-KITDRV8312LM5109

您好、TI 专家、  

我将使用 FOC 算法驱动 PMSM 电机。 我设计了一个包含 f28065微控制器的电路板。 为此、我从 TI 应用手册开始。 然后、我根据我的板对其进行了定制。

在我的板上、我已将霍尔效应传感器连接到控制器的 eCAP1、ecap2和 ecap3引脚。  

我有一些问题。

1 -在本应用手册中、PWM 在 pwm1的中断伺服例程中进行了修改。 当 tbctr 复位时、会生成中断。 我的问题是其他 PWM 是否需要与 pwm1同步? 我是说其他 PWM 的 tbctr 寄存器的值不应该与 pwm1相同?  

2 -由于我的电机没有配备编码器、而且 我只有30个霍尔传感器的边缘、 因此是否可以精确地进行位置控制?

3 -当我将内置电平设置为3级时、电机以开环模式旋转。 但它会产生大量噪声。  

如果我的问题非常基本、我会道歉。  

谢谢  

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

     您好、Hamid、

    我们的 PMSM 专家目前已不在办公室、预计将在周一前回复。 由此给您带来的不便、我们深表歉意。

    谢谢、

    Luke

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="345538" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1184762/tms320f28065-how-to-drive-pmsm-motor-using-foc-algorithm ]1-在本应用手册中,PWM 在 pwm1的中断伺服例程中进行了修改。 当 tbctr 复位时、会生成中断。 我的问题是其他 PWM 是否需要与 pwm1同步? 我是说其他 PWM 的 tbctr 寄存器的值不应该与 pwm1相同?  [/报价]

    是的、电机驱动器需要同步三个 EPWM。

    您可以查看以下有关 C2000和电机控制的培训讲座链接。

    https://training.ti.com/c2000-motorcontrol-training-series

    https://training.ti.com/c2000-mcu-device-workshops

    [引用 userid="345538" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1184762/tms320f28065-how-to-drive-pmsm-motor-using-foc-algorithm ]2-由于我的电机没有配备编码器、而且 我只有30个霍尔传感器边缘、 因此可以精确地进行位置控制吗?

    这取决于您的系统要求。 在大多数情况  下、霍尔传感器不够好、无法精确地进行位置控制。

    [引用 userid="345538" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1184762/tms320f28065-how-to-drive-pmsm-motor-using-foc-algorithm ]3-当我将内置电平设置为3级时、电机以开环模式旋转。 但它会产生大量噪声。  [/报价]

    您正在使用哪个示例项目? 开环运行电机可能是正常现象、您可以尝试调节基准电压和速度以进行开环控制。

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

    感谢您的宝贵意见。

    我已开始使用以下示例项目:

    • C:\ti\controlSUITE\development_kits\DRV8312-C2-Kit_v128\PM_Sensorless
      然后、我根据我的板对其进行了修改。 我通过某种方式修改了它以生成 PWM 对(PWMxA 和 PWMxB)、并且修改了每个 PWM 的死区参数。
      在此示例项目中、每个 PWM 的 EPwmxRegs.TBCTL.bit.SYNCOSEL 设置为零、并且每个 PWM 的 EPwmxRegs.TBPHS.half.TBPHS 设置为零、但我找不到任何代码来执行同步。
    • 我检查了半桥的输出信号、有三个相位几乎相同的正弦波。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是否仍要使用霍尔传感器运行电机? 需要位置控制? 还是无传感器足以满足您的应用需求?

    [引用 userid="345538" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1184762/tms320f28065-how-to-drive-pmsm-motor-using-foc-algorithm/4467024 #4467024"]C:\ti\controlSUITE\development_kits\DRV8312-C2-Kit_v128\PM_Sensorless
    然后、我根据我的板对其进行了修改。 我通过某种方式修改了它以生成 PWM 对(PWMxA 和 PWMxB)、并且修改了每个 PWM 的死区参数。[/引用]

    您是否更改 了 DRV8312-C2-KIT 的代码? 或您自己的电路板?  DRV8312-C2-KIT 不需要启用用于 PWM 输出的 aband。

    [引用 userid="345538" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1184762/tms320f28065-how-to-drive-pmsm-motor-using-foc-algorithm/4467024 #4467024"]在本示例中,每个 PWM 的 EPwmxRegs.TBCTL.bit.SYNCOSEL 设置为零,并且每个 PWM 的 EPwmxRegs.TBPHS.half.TBPHS 设置为零,但我找不到任何同步代码[引用/引用]。

     默认情况下、所有 ePWM 都是同步的。

    [引用 userid="345538" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1184762/tms320f28065-how-to-drive-pmsm-motor-using-foc-algorithm/4467024 #4467024"]我检查了半桥的输出信号,有三个相位几乎相同的正弦波。

    您正在开发哪种构建版本? 输出应是构建级别2~7中占空比可变的 PWM 信号。

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

    在我的应用中、我需要执行位置控制。 如果我无法使用霍尔效应传感器执行此操作、我将使用配备编码器的电机。 据我所知、为了驱动 PMSM 电机、无需霍尔传感器。 我的意思是、使用有传感器或无传感器方法来实现这一目的没有什么不同。 我想知道你的意见。

    我有一个问题。 您说 PWM 默认是同步的。 但是、当我在调试模式下检查每个 PWM 的计数器值时、我看到它们不是相同的。 当我在 epwm1的 interupt 服务例程中设置每个 PWM 的 cmpa 值时、epwm2和 epwm3的 cmpa 值会在不同的时间更新。 为了简短介绍、我确定我是否正在正确更新 PWM。

    我不使用 DRV8312驱动器、我使用了三个 lm5109来驱动高侧和低侧 n-MOSFET。 我选择这个示例项目是因为它为 f28065微控制器提供了更多的功能。
    最后,我对错误信息表示歉意,半桥的输出不是正弦波。 我的示波器出现问题。 以下是 svgen.ta 和 svgen.ta -svgen.tc 的波形(构建级别设置为 level2)

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

    您似乎已启用探头上的滤波器来监控电流和电压。 当将 SVPWM 用于 FOC 时、波形是正确的。

    寄存器和变量不会在监视窗口中同时更新、因此您不能在调试模式中检查实际立即值。  

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

    感谢您的宝贵意见。  

    我有疑问。 应如何设置 BASE_FREQ (基本电气频率)? 在开环模式下、当我将它设置为20时、它运行良好、但是在闭环模式(LEVEL4)下、当它为20时、电机会产生大量噪声。 在该模式下、如果我将其设置为200、则产生的噪声要小得多。 您能告诉我必须如何调整频率吗?

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

    您只需根据所使用的电机将值设置为等于或大于电机额定频率。 因此、对于大多数电机而言、它可能是200~400 μ A。

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

    谢谢你。 非常感谢您的帮助。