大家好,今天我发现一种很奇怪的现象,启用死区模块居然会降低电机的转速。而且我死区时间设置为0,相当于只是用这个死区模块产生了一对互补的PWM波,转速确下降的50%,通过变量观测占空比也没改变。而且我试了很多遍,都是这样。加的死区设置程序如下:其它都没变,加了这段程序后,转速就降低了很多。真是百思不得其解,到底是哪里出现问题了呢?
//死区设置
EPwm1Regs.DBCTL.bit.OUT_MODE = DB_FULL_ENABLE;//使能双边沿延时
EPwm1Regs.DBCTL.bit.IN_MODE = DBA_ALL;//使EPwm1A是双边延时输入源
EPwm1Regs.DBCTL.bit.POLSEL = 2;//极性选择控制,EPWM1A不翻转,EPWM1B翻转.
EPwm1Regs.DBRED =0;//死区上升沿延时寄存器,死区时间设置=0/TBCLK=0us
EPwm1Regs.DBFED =0;//死区下降延时寄存器,死区时间设置=0/TBCLK=0us