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.

[参考译文] CCS/DRV8301-69M-KIT:Proj_lab11e -代码中的 GPIO 错误+快速切换到 BLDC 期间的不稳定

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/589582/ccs-drv8301-69m-kit-proj_lab11e---gpio-error-in-code-instability-during-switch-fast-to-bldc

器件型号:DRV8301-69M-KIT
主题中讨论的其他器件:DRV8301

工具/软件:Code Composer Studio

当尝试使用 proj_lab11e 运行电机时、我想知道代码是用于60DEG 还是120DEG 霍尔传感器布局。 我在软件中找不到允许我在两者之间进行选择的任何内容。 但是、按原样使用代码(进行以下更正)、它适用于我的120DEG 电机。 我不确定它是否适用于60DEG 电机。

我在 HALLBLDC_State_Check 中发现的一个小错误:

gHall_GpioData =(~HAL_readGpio (halHandle、(GPIO_Number_e) HAL_HallGpio_C)& 0x1)<< 2;/CAP1->J10/J4_1->绿色
gHall_GpioData +=(~HAL_readGpio (halHandle、(GPIO_Number_e) HAL_HallGpio_B)& 0x1)<< 1;//CAP2->J10/J4_2->绿色和白色
gHall_GpioData +=(~HAL_readGpio (halHandle、(GPIO_Number_e) HAL_HallGpio_A)& 0x1);//CAP3->J10/J4_3->灰色和白色

我用于 DRV8301-69M 的原理图将 CAP1与 GPIO_A 链接在一起、将 CAP3与 GPIO_C 链接在一起

hal.h 中的一个大错误标头10的 GPIO 错误(GPIO 24、25、26应为40、41、42)

typedef 枚举

HAL_HallGpio_A=GPIO_Number_24、//!<霍尔传感器 A 的 GPIO 引脚编号
HAL_HallGpio_B=GPIO_Number_25、//!<霍尔传感器 B 的 GPIO 引脚编号
HAL_HallGpio_C=GPIO_Number_26 //!<霍尔传感器 C 的 GPIO 引脚编号
} HAL_HallGpio_e;
#endif

在更改为 GPIO 40、41、42后、工作正常、但我遇到的不稳定性除外  

_iq gHall_speed_FastToBldc_low_pu @ 400rpm
_iq gHall_speed_BldcToFast_high_pu @ 600rpm

当从目标 RPM 大于350rpm 的 FAST 转至 BLDC 时、它不会达到350RPM、而是保持在400rpm 左右(请参阅屏幕截图)。 它在 FAST 和 BLDC 之间保持振荡(BTW,我喜欢这个模拟发现示波器;-))。 我将 gMotorVars.MaxAccel_krpmps 从非常温和的0.2更改为更激进的2.0、但这并不会产生影响。 有什么想法吗? (我将在下周重新识别我的电机、但当转速接近开关频率时、FAST > BLDC 的算法似乎并不稳健。) 当增加迟滞时、情况会变得更好、但我仍然可以重现问题(在生成非常大的迟滞400/1200rpm 后可能还可以)

此致、
Tomas

 有什么想法要改进吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是对的、hal.h 中具有 F28029 controlCARD 的 DRV8301套件的 J10 GPIO 编号为40、41和42。
    最好为状态开关设置较大的迟滞、为了避免因速度振动而频繁发生状态变化、您可以添加一个速度滤波器、用于 BLDC 和快速速度计算。