我们有一个使用
STM32F303 处理器的定制板。为其选择的栅极驱动器不是 STEVAL-001ESC IC。ST IC 具有低侧驱动器“低电平有效”的极性。我们使用的 IC 将低侧驱动器设为“高电平有效”。但是,当我们进行此更改时,似乎阶段未正确打开。
比较生成的软件,唯一的变化是 MCW 5.2 更新从低电平有效到高电平有效导致 5 个文件被更改,其中没有一个是 C 或 H 文件。它是 .ioc、.elf、.log 等文件。*.ioc 文件似乎显示了正确的更改,例如:
MotorControl.PHASE_VL_POLARITY= L_ACtiVE_LOW
改为:
MotorControl.PHASE_VL_POLARITY= L_ACTIVE_HIGH
也发生在其他 2 个阶段。
然而,似乎没有相应的 C 或 H 代码更改,并且板上栅极驱动器的输出似乎也没有改变。所以看起来它可能没有包含这个变化。我们已经在该板上成功构建并运行了 STEVAL-001ESC 的库存固件,并且对代码相当满意。
请注意,在这个定制板上,我们已经覆盖了生成代码中的 GPIO 锁,并进行了快速测试以验证硬件/引出线是否正确。在这种情况下,我们跳过 PWM 并直接使用 HAL_GPIO_WritePin 函数命令栅极驱动器引脚。在这种情况下,设置/重置直接写入引脚,所有硬件都正常工作,电机如预期的那样晃动。
那么,任何人都可以回答这些问题:
- MCW 5.2 GUI 中的驱动器极性是否是受支持的功能?
- 如果是这样,这种极性是如何实现的?我们在任何 C 文件中都看不到它。
- 如果没有,谁能建议在生成的代码中手动实现它的最佳位置?