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.

Some Question related FOC.

Other Parts Discussed in Thread: TMS320F28069F

Dear all,

I am using TMS320F28069F controller and motorware13 example implementation for AC induction motor 415V/50Hz system. I implemented lab examples(1-10) in my custom board.

I have some question related FOC.

  1. My USER_PWM_FREQ_kHz = 5khz, and motor in running condition, then in one of my function require change decrease this frequency upto 2.5khz with 0.1 decrease factor in motor running condition. Is it possible in insta spin FOC? How?

  2. Can I change USER_FORCE_ANGLE_FREQ_Hz from 1 to 0.5Hz?

  3. Can I change USER_FORCE_ANGLE_FREQ_Hz in motor running condition? How?

  4. What I have to do if i want to change some parameters(guserpara) from USER_setParams() function parameters in motor running condition?

  5. Can I change from torque control to speed control and speed control to torque control during motor running condition? How?

-Suprit

  • 1. This will be challenging as the timings effects so many items....why is this required? and what does this mean: " with 0.1 decrease factor "?

    2. Yes, if that is what is best for your system.

    3 & 4. Yes, you can update a member of the structure

    pUserParams->forceAngleFreq_Hz

      // initialize the user parameters
      USER_setParams(&gUserParams);

    However, you need to be thoughtful of WHEN you are doing things like this with how it can effect the other rest of the control system

    5. Yes.

    as soon as you call

        // Dis-able the Library internal PI.  Iq has no reference now
        CTRL_setFlag_enableSpeedCtrl(ctrlHandle, false);

    then the input to the FOC control system of IqRef_A will be floating, and you need to provide  an input.

    if we turn the speed controller back on after being in torque mode you need to seed the PI controller so that its output will equal the existing IqRef_A. You will also want to clear the integrator in the PI structure.

  • Dear chris,

    Thank you for your prompt reply.

    1."why is this required?"

    In AC drive if heatsink temperature goes to above limit, than switching frequency decrease with 0.1khz factor up to minimum switching frequency limit.

     

  • Changing PWM frequency is possible although these two points must be considered:

     

    1. Sampling of the currents need to be at a fixed rate regardless of the frequency of the PWM. So I suggest triggering the ADC samples with a timer at a fixed frequency, I.e. 2.5 kHz regardless of what the PWM frequency is.

    2. Since the current samples will be phase shifted with respect to the PWM outputs, the current feedback circuit needs to be an inline sampling topology (hall type sensor, or inline shunt resistor with a high side type of OPAMP) so that the sampling doesn’t depend on a PWM on time of the low side IGBT.

  • Thank you chris,

    I will try this.

    Question 3:Can I change USER_FORCE_ANGLE_FREQ_Hz in motor running condition? How?

    I have set USER_FORCE_ANGLE_FREQ_Hz = 1.0 in default user.h file and I change this angle in motor running condition through some logic to pUserParams->forceAngleFreq_Hz = 0.5 hz but it will not take in action. Still motor is running in 1.0hz force angle. So still I miss any function to set force angle after change value in pUserParams->forceAngleFreq_Hz.?

  • Yes, you can change that on the fly by using function EST_setForceAngleDelta_pu(). Take a look at est.h under:

    sw\modules\est\src\32b\est.h

    Look for EST_setForceAngleDelta_pu(), and the comments of that function there is an example on how to use the function.

    -Jorge

  • Thanks Jorge.

    Done

  • Dear chris,

    "Changing PWM frequency is possible although these two points must be considered:"

    I try this. I used ECAP timer at 5kHz for adc sample and i disable Main_ISR() interrupt and shifted all main ISR functions to ECAP isr. Working Ok. now i can change PWM switching freq in  online state.

    Thanks.

  • Dear chris,

    5. Can I change from torque control to speed control and speed control to torque control during motor running condition? How?

    5. Yes.

    as soon as you call

        // Dis-able the Library internal PI.  Iq has no reference now
        CTRL_setFlag_enableSpeedCtrl(ctrlHandle, false);

    then the input to the FOC control system of IqRef_A will be floating, and you need to provide  an input.

    if we turn the speed controller back on after being in torque mode you need to seed the PI controller so that its output will equal the existing IqRef_A. You will also want to clear the integrator in the PI structure.

    How can i do this? What are the related function for these in FOC.

  • Amtech said:
    How can i do this? What are the related function for these in FOC.

        // Dis-able the Library internal PI.  Iq has no reference now
        CTRL_setFlag_enableSpeedCtrl(ctrlHandle, false);

     

    from proj_lab05a

    see function and use of

    void updateIqRef(CTRL_Handle handle)

    Amtech said:
    if we turn the speed controller back on after being in torque mode you need to seed the PI controller so that its output will equal the existing IqRef_A. You will also want to clear the integrator in the PI structure.

    You should read this post regarding flying start. Which is very similar to what happens when you transition from Torque to Speed mode.

     

    http://e2e.ti.com/support/microcontrollers/c2000/f/902/t/327771.aspx?pi310980=1