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.

TMS320F280025C: Question about : Universal Motor Control Lab single shunt sampling

Part Number: TMS320F280025C
Other Parts Discussed in Thread: C2000WARE

Hi Team,

When i use universal motor control lab single shunt sampling(MOTOR1_DCLINKSS), i find that MOTOR1_DCLINKSS with LaunchPad-F280025+BSXL8323RS_REVA is supported in C2000Ware_MotorControl_SDK_4_00_00_00, and isn't supported in C2000Ware_MotorControl_SDK_4_01_00_00. I wonder that why SDK4.01 remove the DCLINKSS function in LaunchPad-F280025+BSXL8323RS_REVA?

And I have some questions about the function (DCLINK_SS_runPWMCompensation(dclinkHandle, pVab_out, Vdc_V, &pwmCMPA, &pwmCMPB, &upSoc, &downSoc);) in dclink_ss.h. 

Why sampling is performed on the first half and compensation is performed on the second half just in actual sector=2,4,6? Maybe we can compensate on the first half and sample on the second half in all sectors for small delay.

if((sector == 1) || (sector == 4) || (sector == 2)) //actual sector=2,4,6
{
// formal half = measurement vector, latter half = compensation vector
obj->flag_SST = 1;
}
else
{
// formal half = compensation vector, latter half = measurement vector
obj->flag_SST = 0;
}

Thanks!

Jim

  • I wonder that why SDK4.01 remove the DCLINKSS function in LaunchPad-F280025+BSXL8323RS_REVA?

    Yes. Single shunt has been removed for DRV8323RS and DRV8323RH BOOSTXL packer  in latest motor control SDK since these two kit must be changed by manual for single shunt. The single shunt algorithm only only supports DRV8329EVM now.

    The single shunt always do the compensation in the first half and the measurement in the second half by default, only uses the method as you mentioned above when the sequence control is enabled and the pwm duty is high.

  • Hi Yanming,

    Thanks for your reply!

    For the single shunt solution in SDK4.01, i think it is needed to compare driving performance of single shunt solution to 3 shunt solution. It is not difficult to change the kit by manual.

    The single shunt always do the compensation in the first half and the measurement in the second half by default, only uses the method as you mentioned above when the sequence control is enabled and the pwm duty is high.

    It makes sense. But in the code, measurement in the first half and compensation in the second half only work in low modulation and sector 2,4,6. Maybe i have some misunderstanding. Please help me confirm it.

    if(Vs > highThr_V)
    {
    // if the output voltage is higher than threshold, stop sequence control
    obj->flagRunInHighModulation = true;
    }
    else if(Vs < lowThr_V)
    {
    // if the output voltage is higher than threshold, stop sequence control
    obj->flagRunInHighModulation = false;
    }

    if(obj->flagRunInHighModulation == false) // should be ture
    {
    if((sector == 1) || (sector == 4) || (sector == 2)) //actual sector=2,4,6
    {
    // formal half = measurement vector, latter half = compensation vector
    obj->flag_SST = 1;
    }
    else
    {
    // formal half = compensation vector, latter half = measurement vector
    obj->flag_SST = 0;
    }
    }
    else
    {
    // formal half = compensation vector, latter half = measurement vector
    obj->flag_SST = 0;
    }
    }

    And i wonder that why we need measurement in the first half in that condition(high duty)?  Why choose the sector 2,4,6? 

    Thanks a lot!

    Jim

  • It makes sense. But in the code, measurement in the first half and compensation in the second half only work in low modulation and sector 2,4,6. Maybe i have some misunderstanding. Please help me confirm it.

    As mentioned above, it's just in the state when the sequence control is enabled for improving the current waveform. By default, the he sequence control is disabled, we will remove this feature in the future, so please ignore this.