This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

How to setting the Dead band compensation parameter?

Other Parts Discussed in Thread: CONTROLSUITE

Hi

In controlsuite, there is Dead band compensation parameter.

But i do not know how to use PWMwDBC_MACRO.

_IQmpy(_IQsat(i.As, d.Ith, -d.Ith), d.Kdtc) value in PWMwDBC_MACRO is too small

campared to _IQmpy(m.HalfPerMax,m.MfuncC1)+ m.HalfPerMax.

So, there seems to be no dead-time compensation effect.

Can you tell me how to use this MACRO?

// Dead Band Compensation (DBC) parameters
dbc1.gain = _IQ(0.5);
dbc1.scale = _IQdiv(_IQdiv2(pwm1.Deadband), dbc1.Ith);
dbc1.Kdtc = _IQmpy(dbc1.scale, dbc1.gain);

#define PWMwDBC_MACRO(ch1,ch2,ch3,m,i,d) \

(*ePWM[ch1]).CMPA.half.CMPA = _IQmpy(m.HalfPerMax,m.MfuncC1)+ m.HalfPerMax + \
                                                       _IQmpy(_IQsat(i.As, d.Ith, -d.Ith), d.Kdtc); \
(*ePWM[ch2]).CMPA.half.CMPA = _IQmpy(m.HalfPerMax,m.MfuncC2)+ m.HalfPerMax + \
                                                       _IQmpy(_IQsat(i.Bs, d.Ith, -d.Ith), d.Kdtc); \
(*ePWM[ch3]).CMPA.half.CMPA = _IQmpy(m.HalfPerMax,m.MfuncC3)+ m.HalfPerMax + \
                                                       _IQmpy(_IQsat(i.Cs, d.Ith, -d.Ith), d.Kdtc);