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: some questions about Scaler (V/Hz) .

Part Number: TMS320F28027F
Other Parts Discussed in Thread: CONTROLSUITE

Hi everyone!

please take a time and answer to my question one by one thanks in advance!

after analyzing 

C:\ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v2.1\HVACI_Scalar

 As far as I got, there is bunch of functions 

A0,A1,A2,A3,

B0,B1,B2,B3,

C0,C1,C2,C3,

which A0,B0,C0  circularly are being called by (*Alpha_State_Ptr)();  and if flag of them was active, then it will go to the correspond circular function  group  

I came up with some question :

Q1: what is a purpose of having these functions ?

Q2: there is some Var & func are not used ((VTimer0[1],VTimer0[2],VTimer0[3])

                                                                    &(VTimer1[1],VTimer1[2],VTimer1[3])

                                                                    &(VTimer2[1],VTimer2[2],VTimer2[3])

an also 

          A2,A3,

          B1,B2,B3,

          C2,C3)

Am I right? if so, then why we put these them?

Q3:if we don't consider faults and blanking LEDs, could we delete all of those function and variable groups (A0~A3,B0~B3,C0~C3 and VTimer0[0..3] ,VTimer1[0..3] ,VTimer2[0..3] ) ? 

Q4:what is this  SerialCommsTimer variable about?

Q5:as far as I get ,this project did not apply Acceleration and Deceleration to speed of motor ,is that right ,so we should add this function to it.

Q6: would you please tell me if  this macro SVGENMF_MACRO(v) calculate Angel of the 3phase sin wave itself and do not need to set the angle of sin wave externally ?

thanks for attention 

Dave. 

  • Q1: what is a purpose of having these functions ?

    This is to enable running multiple background functions in different threads at different time instances depending on use case. TI example has used in minimally for demo purpose, but a real application may have more. It is up to the user to use the same one or different one.

    there is some Var & func are not used ((VTimer0[1],VTimer0[2],VTimer0[3])

                                                                        &(VTimer1[1],VTimer1[2],VTimer1[3])

                                                                        &(VTimer2[1],VTimer2[2],VTimer2[3])

    an also 

              A2,A3,

              B1,B2,B3,

              C2,C3)

    Am I right? if so, then why we put these them?

    These are some legacy carry over from  other projects. Ignore those that are not contributing to the demo.

    Q3:if we don't consider faults and blanking LEDs, could we delete all of those function and variable groups (A0~A3,B0~B3,C0~C3 and VTimer0[0..3] ,VTimer1[0..3] ,VTimer2[0..3] ) ? 

    Refer to my previous answers

    Q4:what is this  SerialCommsTimer variable about?

    This is to count the timing for serial comm, but if not used, just ignore.

    Q5:as far as I get ,this project did not apply Acceleration and Deceleration to speed of motor ,is that right ,so we should add this function to it.

    The demo code gives the basic hand to get the demo kit to doing some basic functions. The user will have to customise it to their reqs.

    Q6: would you please tell me if  this macro SVGENMF_MACRO(v) calculate Angel of the 3phase sin wave itself and do not need to set the angle of sin wave externally ?

    It does not need angle, just the two axes data is enough.

  • Ramesh

    thanks for putting a lot of your time answering my questions ,

    q1:some thing that I got from your explanation is: these functions are sort of OS (operation system in multi tasking). ,is that right?

    q2:you mean by having 

    svgen_mf1.Gain = vhz1.VoltOut;
    svgen_mf1.Freq = vhz1.Freq;  

    these two values  ,SVGENMF_MACRO calculate angle of 3phase sin wave in every call. is that right?

  • Dear Ramesh ,

    in short ,all function  that we need to run the motor is this ISR

    interrupt void MainISR(void)
    {

    // Verifying the ISR
    IsrTicker++;

    // ------------------------------------------------------------------------------
    // Connect inputs of the VOLT_PROF module and call the volt profile macro
    // ------------------------------------------------------------------------------
    vhz1.Freq = SpeedRef;
    VHZ_PROF_MACRO(vhz1);

    // ------------------------------------------------------------------------------
    // Connect inputs of the SVGEN_MF module and call the space-vector gen. macro
    // ------------------------------------------------------------------------------
    svgen_mf1.Gain = vhz1.VoltOut;
    svgen_mf1.Freq = vhz1.Freq;
    SVGENMF_MACRO(svgen_mf1);

    // ------------------------------------------------------------------------------
    // Connect inputs of the PWM_DRV module and call the PWM signal generation macro
    // ------------------------------------------------------------------------------
    pwm1.MfuncC1 = svgen_mf1.Ta;
    pwm1.MfuncC2 = svgen_mf1.Tb;
    pwm1.MfuncC3 = svgen_mf1.Tc;
    PWM_MACRO(1,2,3,pwm1) // Calculate the new PWM compare values

    }

    is that right?

    thanks for attention.

    Dave.

  • Q1. yes

    Q2. It calcultes teh dutycyles of the 3 phase sine wave.

  • No, it is not so straight, PWMs need to be generated in a timed manner. You may need to review some text books for the basics.

  • No, it is not so straight, PWMs need to be generated in a timed manner. You may need to review some text books for the basics.

    I know about that... ,thanks for your help.

    best wishes

    Dave.