Part Number: TMS320F28335
Dear team:
One of my customers has some questions about the SVGENDQ_MACRO(v) function in the motor control routine:
v.tmp1= v.Ubeta;
v.tmp2= _IQdiv2(v.Ubeta) + (_IQmpy(_IQ(0.866),v.Ualpha));
v.tmp3= v.tmp2 - v.tmp1;
v.VecSector=3;
v.VecSector=(v.tmp2> 0)?( v.VecSector-1):v.VecSector;
v.VecSector=(v.tmp3> 0)?( v.VecSector-1):v.VecSector;
v.VecSector=(v.tmp1< 0)?(7-v.VecSector) :v.VecSector;
if(v.VecSector==1 || v.VecSector==4)
{ v.Ta= v.tmp2;
v.Tb= v.tmp1-v.tmp3;
v.Tc=-v.tmp2;
} \
else if(v.VecSector==2 || v.VecSector==5)
{ v.Ta= v.tmp3+v.tmp2;
v.Tb= v.tmp1;
v.Tc=-v.tmp1;
}
else \
{ v.Ta= v.tmp3;
v.Tb=-v.tmp3;
v.Tc=-(v.tmp1+v.tmp2);
}
1. Why does this code not need Ts and Udc as introduced by SVPWM principle?
2. What are the output T1on, T2on and T3on? Can I compare them with triangular wave directly? How can I set my triangular wave?
Best Regards