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.

TMS320F28027F: Overmodulation difference between Lab10 a and Lab10c

Part Number: TMS320F28027F


Hi,

On my motor, using lab10a, the current waveform is not stable around Vs=0.5, when the compMode transition between all_phase_measurable to two_phase_measurable, the minWidth_microseconds is to 2.

The instability improved when minWidth_microseconds set to lower, 1.5,  but glitches in current waveform appears for few cycles near peaks during acceleration (which I believe is during the compMode transition as well).

After changing this line in mainISR() to match lab10c:

lab10a:

SVGENCURRENT_MeasureShunt_e measurableShuntThisCycle = SVGENCURRENT_getMode(svgencurrentHandle);

...

if(measurableShuntThisCycle > two_phase_measurable)
{
gAdcData.I.value[0] = gIavg.value[0];
gAdcData.I.value[1] = gIavg.value[1];
gAdcData.I.value[2] = gIavg.value[2];
}

to lab10c:

SVGENCURRENT_IgnoreShunt_e ignoreShuntThisCycle = SVGENCURRENT_getIgnoreShunt(svgencurrentHandle);

...

if(ignoreShuntThisCycle > use_all)
{
gAdcData.I.value[0] = gIavg.value[0];
gAdcData.I.value[1] = gIavg.value[1];
gAdcData.I.value[2] = gIavg.value[2];
}

The condition greatly improved at minWidth_microseconds is 2, while the glitches in current waveform during acceleration still appearing sometimes.

Please help me to understand the difference between the codes, and how they affect the actual measurable duty set by minWidth.