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.

[参考译文] C2000WARE-MOTORCONTROL-SDK:配置电机控制 PWM 频率

Guru**** 2524550 points
Other Parts Discussed in Thread: LAUNCHXL-F280049C

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1018682/c2000ware-motorcontrol-sdk-configuring-motor-control-pwm-frequency

器件型号:C2000WARE-MOTORCONTROL-SDK
主题中讨论的其他器件:LAUNCHXL-F280049C

在"user.h"中、我看到以下内容:


//! \brief 定义脉宽调制(PWM)频率、kHz
//!
//#define USER_PWM_FREQ_kHz ((float32_t)(5.0))//5kHz PWM 频率
//#define USER_PWM_FREQ_kHz ((float32_t)(10.0))//10kHz PWM 频率
//#define USER_PWM_FREQ_kHz ((float32_t)(12.0))//12kHz PWM 频率
//#define USER_PWM_FREQ_kHz ((float32_t)(15.0))//15KHz PWM 频率
#define USER_PWM_FREQ_kHz ((float32_t)(20.0))//20kHz PWM 频率

是否可以将 PWM 频率更改为50.0kHz 或100kHz 或200kHz?

如果是、这是如何在电机控制 SDK 中实现的?

注意:我尝试简单地将20.0更改为50.0、但我的示例电机没有开始旋转。

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

    这是哪个项目?

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

    我将 Piccolo 0049C Launchpad (C2000 LAUNCHXL-F280049C)与"TI BOOSTXL-DRV8320电机驱动 Booster Pack"搭配使用


    //! \file solutions/boostxl_drv8320rs/f28004x/drivers/user.h
    //! \brief 包含与用户相关的定义
    //!

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

    您可以使用更高的 PWM 频率、但需要设置正确 的 USER_NUM_PWM_TICKS_PER_ISR_TICK 值、以使 ISR 频率(USER_ISR_FREQ_Hz)低于20kHz,以确保 ISR 可以在不溢出的情况下执行。  

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

    您能否提供有关使100kHz 正常工作的详细信息?

    您能否提供有关使120kHz 正常工作的详细信息?

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

    如上所述、在  user.h 中设置 USER_PWM_FREQ_kHz 和 USER_NUM_PWM_TICKS_PER_ISR_TICK、并确保  USER_PWM_FREQ_kHz/USER_NUM_PWM_TICKS_PER_ISR_TICK 小于20kHz。

    因此、您可以设置以下两个参数:

    100kHz

    #define USER_NUM_PWM_TICKS_PER_ISR_TICK      (5)

    #define USER_PWM_FREQ_kHz       ((float32_t)(100.0))  

    120kHz

    #define USER_NUM_PWM_TICKS_PER_ISR_TICK      (6)

    #define USER_PWM_FREQ_kHz       ((float32_t)(120.0))