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.

TMS320F280041C: MotorControl SDK adc setup

Part Number: TMS320F280041C

Tool/software:

Greetings! I am using your TMS320F280041C(100 pin package) for a very first time and I am setting up my pcb in order to use MotorControl SDK v5_02. I think I had done something wrong. My physical connections are as follows:

R voltage -> pin 9 (A2)

S voltage -> pin 39 (B4)

T voltage -> pin 6 (A6)

R current -> pin 29 C1

S current -> pin 37 A8

T current -> pin 7 B2

line voltage -> pin 40 A10

So I am setting the pins using this code:

 // configure the SOCs for hvkit_rev1p1
// C1  adcHandle ADCC Channel 1
  ADC_setupSOC(obj->adcHandle[2], ADC_SOC_NUMBER0, ADC_TRIGGER_EPWM1_SOCA,
               ADC_CH_ADCIN1, HAL_ADC_SAMPLE_WINDOW);

// A8 adcHandle ADCA Channel 8
  ADC_setupSOC(obj->adcHandle[0], ADC_SOC_NUMBER0, ADC_TRIGGER_EPWM1_SOCA,
               ADC_CH_ADCIN8, HAL_ADC_SAMPLE_WINDOW);

// B2  adcHandle ADCB Channel 2
  ADC_setupSOC(obj->adcHandle[1], ADC_SOC_NUMBER0, ADC_TRIGGER_EPWM1_SOCA,
               ADC_CH_ADCIN2, HAL_ADC_SAMPLE_WINDOW);

// A2
  ADC_setupSOC(obj->adcHandle[0], ADC_SOC_NUMBER1, ADC_TRIGGER_EPWM1_SOCA,
               ADC_CH_ADCIN2, HAL_ADC_SAMPLE_WINDOW);

 // B4
  ADC_setupSOC(obj->adcHandle[1], ADC_SOC_NUMBER1, ADC_TRIGGER_EPWM1_SOCA,
               ADC_CH_ADCIN4, HAL_ADC_SAMPLE_WINDOW);

// A6
  ADC_setupSOC(obj->adcHandle[0], ADC_SOC_NUMBER2, ADC_TRIGGER_EPWM1_SOCA,
               ADC_CH_ADCIN6, HAL_ADC_SAMPLE_WINDOW);

  // VDCBUS - A9->RA1. hvkit board has capacitor on Vbus feedback, so
  // the sampling doesn't need to be very long to get an accurate value
  //A10 
  ADC_setupSOC(obj->adcHandle[0], ADC_SOC_NUMBER3, ADC_TRIGGER_EPWM1_SOCA,
               ADC_CH_ADCIN10, HAL_ADC_SAMPLE_WINDOW);

  //Extra analgue input A0
  ADC_setupSOC(obj->adcHandle[0], ADC_SOC_NUMBER4, ADC_TRIGGER_EPWM1_SOCA,
                ADC_CH_ADCIN0, HAL_ADC_SAMPLE_WINDOW);
                

The problem is I don`t receive correct values. The current channels react to input voltage but return false data. The voltage channels don`t even react. So I think I have done something wrong. My irs is working and it is set to trigger with pwm channel 1.

Any ideas?

Thanks!

  • What example lab are you referring to? You may refer to the example in motor control SDK and just change the configuration according to your board.

    Make sure that the ADC_TRIGGER_EPWM1_SOCA is triggered, and ADC reference is set correctly as the example codes in motor control SDK.