TI中文支持网
TI专业的中文技术问题搜集分享网站

这样让电机停机行不行

受社区朋友提示,利用把下面两个桥臂MOS管打开,其他4个关断.短路电机.软件这样写,先初始化

EALLOW;
// CPU Halt Trip
EPwm1Regs.TZSEL.bit.OSHT1=0x1;
EPwm2Regs.TZSEL.bit.OSHT1=0x1;
EPwm3Regs.TZSEL.bit.OSHT1=0x1;

EPwm1Regs.TZCTL.bit.TZA = TZ_FORCE_LO; // 置低
EPwm1Regs.TZCTL.bit.TZB = TZ_FORCE_HI; // 置高

EPwm2Regs.TZCTL.bit.TZA = TZ_FORCE_LO; // 置低
EPwm2Regs.TZCTL.bit.TZB = TZ_FORCE_HI; // 置高

EPwm3Regs.TZCTL.bit.TZA = TZ_FORCE_LO; // 置低
EPwm3Regs.TZCTL.bit.TZB = TZ_FORCE_LO; // 置低

EDIS;

以后希望电机停机 

EPwm1Regs.TZFRC.all = 4; //开启保护功能

我担心的会这样会不会引起 同1桥臂的上下2个MOS管短路?在进行保护的过程中(虽然这个时间很小),比如给下面2个桥臂置高的时候,上面的桥臂还没关断,

因为这个不是正常的PWM输出阶段?

我用过那个方案,同时给6路PWM置低,发现电机挺不下来,好像突然停顿一下,有继续跑起来了,不知何故

Igor An:

这样做从MCU角度是可以的,你的担心是有可能的,这主要要看功率部分的驱动电路是否能快速关断上管。

另外,六个管子全都置低,肯定是可以的,只是没有制动效果,只是关断PWM让电机自由停止。

如果发现顿一下继续转,有可能是有地方在不停的刷CLEAR TZ的开机命令。

你可以先找一个低压的评估板跑一下关机逻辑,测试一组PWM输出,看是否实现了想法,避免在软件实现上的一些细节导致没有达到预期效果。

受社区朋友提示,利用把下面两个桥臂MOS管打开,其他4个关断.短路电机.软件这样写,先初始化

EALLOW;
// CPU Halt Trip
EPwm1Regs.TZSEL.bit.OSHT1=0x1;
EPwm2Regs.TZSEL.bit.OSHT1=0x1;
EPwm3Regs.TZSEL.bit.OSHT1=0x1;

EPwm1Regs.TZCTL.bit.TZA = TZ_FORCE_LO; // 置低
EPwm1Regs.TZCTL.bit.TZB = TZ_FORCE_HI; // 置高

EPwm2Regs.TZCTL.bit.TZA = TZ_FORCE_LO; // 置低
EPwm2Regs.TZCTL.bit.TZB = TZ_FORCE_HI; // 置高

EPwm3Regs.TZCTL.bit.TZA = TZ_FORCE_LO; // 置低
EPwm3Regs.TZCTL.bit.TZB = TZ_FORCE_LO; // 置低

EDIS;

以后希望电机停机 

EPwm1Regs.TZFRC.all = 4; //开启保护功能

我担心的会这样会不会引起 同1桥臂的上下2个MOS管短路?在进行保护的过程中(虽然这个时间很小),比如给下面2个桥臂置高的时候,上面的桥臂还没关断,

因为这个不是正常的PWM输出阶段?

我用过那个方案,同时给6路PWM置低,发现电机挺不下来,好像突然停顿一下,有继续跑起来了,不知何故

user4729463:

回复 Eric Ma:

gPwmData.Tabc,这个寄存器没看到

是不是三项空比为设置为0(对上桥臂而言),这样上面三个MOS都关断,下面都导通?

受社区朋友提示,利用把下面两个桥臂MOS管打开,其他4个关断.短路电机.软件这样写,先初始化

EALLOW;
// CPU Halt Trip
EPwm1Regs.TZSEL.bit.OSHT1=0x1;
EPwm2Regs.TZSEL.bit.OSHT1=0x1;
EPwm3Regs.TZSEL.bit.OSHT1=0x1;

EPwm1Regs.TZCTL.bit.TZA = TZ_FORCE_LO; // 置低
EPwm1Regs.TZCTL.bit.TZB = TZ_FORCE_HI; // 置高

EPwm2Regs.TZCTL.bit.TZA = TZ_FORCE_LO; // 置低
EPwm2Regs.TZCTL.bit.TZB = TZ_FORCE_HI; // 置高

EPwm3Regs.TZCTL.bit.TZA = TZ_FORCE_LO; // 置低
EPwm3Regs.TZCTL.bit.TZB = TZ_FORCE_LO; // 置低

EDIS;

以后希望电机停机 

EPwm1Regs.TZFRC.all = 4; //开启保护功能

我担心的会这样会不会引起 同1桥臂的上下2个MOS管短路?在进行保护的过程中(虽然这个时间很小),比如给下面2个桥臂置高的时候,上面的桥臂还没关断,

因为这个不是正常的PWM输出阶段?

我用过那个方案,同时给6路PWM置低,发现电机挺不下来,好像突然停顿一下,有继续跑起来了,不知何故

Igor An:

回复 user4729463:

闭合三个下管,断开三个上管除了上面Eric提到的方式,也可以用下面的方法:

将三个下管闭合,三个上管断开(关机)

EALLOW;EPwm1Regs.AQCSFRC.all = 0x0005;EPwm2Regs.AQCSFRC.all = 0x0005;EPwm3Regs.AQCSFRC.all = 0x0005;EDIS;

将所有管子放开(开机)

EPwm1Regs.AQCSFRC.all = 0x000F;

EPwm2Regs.AQCSFRC.all = 0x000F;

EPwm3Regs.AQCSFRC.all = 0x000F; EDIS;

赞(0)
未经允许不得转载:TI中文支持网 » 这样让电机停机行不行
分享到: 更多 (0)