2401038_zh-CN

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

2401038_zh-CN

2401038_zh-CN

采用LCU互补PWM和死区时间实现6步BLDC换向的推荐方法是什么?

大家好,

我正在使用S32K311 开发一个三相无刷直流电机六步换向项目

  • 用于 PWM 生成的 eMIOS

  • TRGMUX

  • 拉库

  • GD3000闸门驱动器

  • RTD 5.0.0

我的相位映射图是:

  • U_HS = eMIOS ch0

  • U_LS = eMIOS ch1

  • V_HS = eMIOS ch2

  • V_LS = eMIOS ch3

  • W_HS = eMIOS ch4

  • W_LS = eMIOS ch5

我使用以下 LUT 值:

#define LCU_LUT_OFF 0x0000U


#define LCU_LUT_PWM 0xAAAAU

#define LCU_LUT_INV_PWM 0x5555U

#define LCU_LUT_ON 0xFFFFU

最初,我通过在每个扇区动态更改查找表 (LUT) 来实现换向:

Lcu_Ip_SetSyncOutputLutControl(LCU_LutList, 6U);

V+ / W- 示例:

Emios_Pwm_Ip_SetDutyCycle(EMIOS_INSTANCE, PWM_CHANNEL_V_HS, activeDuty); LCU_LutList[PWM_CHANNEL_V_HS].Value = LCU_LUT_PWM; LCU_LutList[PWM_CHANNEL_V_LS].Value = LCU_LUT_INV_PWM; LCU_LutList[PWM_CHANNEL_W_LS].Value = LCU_LUT_ON; Lcu_Ip_SetSyncOutputLutControl(LCU_LutList, 6U);

出现了一个奇怪的问题:

  • 如果在循环之前配置一次 V_HS,则会出现 PWM。

  • 进入换向循环并反复调用 Lcu_Ip_SetSyncOutputLutControl() 后,V_HS 停止切换,而其他通道继续工作。

这让我不禁思考,动态同步 LUT 更新是否是电机换向的正确方法。

 

我的主要问题

对于S32K311 + GD3000推荐的架构是什么?

  • 3对互补的PWM对

  • 死时间插入

  • 六步换算

  • 安全切换

我应该:

  • 保持 LCU LUT静态(PWM / INV_PWM),仅通过改变LCU 输出使能/覆盖状态来执行换向?

  • 是否使用 Lcu_Ip_SetOutputLutControl()(立即更新)代替 Lcu_Ip_SetSyncOutputLutControl()?

  • 完全避免动态 LUT 重写?

 

死时间问题

我想利用 LCU 生成具有死区时间的互补 PWM

预期方法是否为:

  • 使用 eMIOS 仅生成 3 个基本 PWM(U、V、W),

  • 将它们通过 TRGMUX 路由到 LCU,

  • 使用固定 LUT:HS = 0xAAAA LS = 0x5555

  • 在LCU输出/滤波器设置中配置死区时间,

  • 然后仅更改每个换向扇区的输出启用/覆盖设置?

如果 NXP 有示例(RTD 或 MBDT)演示了带有 LCU 互补 PWM 和死区时间插入的 6 步 BLDC ,我将非常感激您提供参考,引用。

谢谢!

Re: Recommended way to implement 6-step BLDC commutation with LCU complementary PWM and dead time?

您好@Esakki

您可以参考以下链接中的电机解决方案,您可以在此页面找到演示代码和应用程序节点:

https://www.nxp.com/design/design-center/development-boards-and-designs/MCSPTE1AK344


例如,在 BLDC 的六步法中,改变电机的旋转方向通常不是通过更新 LCU 的状态来实现的,您可以查看我们的演示代码和应用程序节点。


标记 (1)
无评分
版本历史
最后更新:
2 周之前
更新人: