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.

CCS/TMS320F280041C: InstaSPIN sygnal chain test problem

Part Number: TMS320F280041C
Other Parts Discussed in Thread: MOTORWARE

Tool/software: Code Composer Studio

Greetings! I`ve reached is04_signal_chain_test. My motor is running correctly on the hardware test. But on test 4 it doesn`t run at all. I`m not sure what values should I set to speedRef_krpm,IdSet_A and IqSet_A. Now the controller is generating a PWM with 50% duty cycle. I`ve tried example 5, but there the motor made just a few rotations and stoped without reaching the point where I have to lock the rotor(I`m using ACIM). Do you have any idea what is wrong?

Thanks!

  • The InstaSPIN-FOC labs of F28004x don't support ACIM. You might have to use the motorWare with the supporting controllers if you want to implement the instaSPIN-FOC on an ACIM.

    1. Change the PWM and ADC configuration in hal.c according to your own hardware board.

     

    2. Set correct parameters based on the hardware board in user.h

    #define USER_IQ_FULL_SCALE_VOLTAGE_V           (xx)

    #define USER_VOLTAGE_FILTER_POLE_Hz               (xx)

    #define USER_ADC_FULL_SCALE_VOLTAGE_V       (xx)

    #define USER_IQ_FULL_SCALE_CURRENT_A           (xx)

    #define USER_ADC_FULL_SCALE_CURRENT_A       (xx)

     

    3. make sure that the sign of the current coefficient in HAL_readADCDataWithOffsets() in hal.h matches the current sensing circuit. Refer to chapter 5.2.2 Current Feedback Polarity in InstaSPIN user's guide (SPRUHJ1H, http://www.ti.com/lit/ug/spruhj1h/spruhj1h.pdf) to set the sign of the current scale factor.

     

    HAL_readADCDataWithOffsets(HAL_Handle handle, HAL_ADCData_t *pADCData)

    {

       HAL_Obj *obj = (HAL_Obj *)handle;

     

       float32_t value;

     

       float32_t current_sf = -HAL_getCurrentScaleFactor(handle);

       float32_t voltage_sf = HAL_getVoltageScaleFactor(handle);

    ….

    }

    1. Set up the right v/f curve or reference current and speed based on the specification of the motor for running lab03 orlab04.
  • How did you come to the conclusion F28004x doesn`t support ACIM? Where did you read it? I found only F280041C is Insta-FOC enabled. Are you sure? I`ve started the motor into the hardware test. which is scalar control, but where is the problem in using ACIM after that with the lib? The options are there and I can compile the project!

    Thanks!

  • Ok! Here comes the solution. When I was modifying my user.h file I used my_motor_1 profile as a base, because I don`t use any of the listed motors. And the problem was I didn`t know the parameters of my motor like USER_MOTOR_Rr_Ohm, USER_MOTOR_Rs_Ohm, USER_MOTOR_Ls_d_H, USER_MOTOR_Ls_q_H and so on. I`ve just added the values from the motor`s plate. But this example uses PI and the coeficients of the PI are calculated using these values. So they were zeros and the only output of the ISR I have was 50% duty cycle. Since I added values there everything is working. There is nothing written into the example doc about this and the presense of the motor ID example confused me I don`t need these values.

    Thanks!