主题中讨论的其他器件: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