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.

HFI Problem



Hi,

I'm confusing using the HFI macro, in the hfi1 structure

the dutyMax parameter , what is the relationship between the IQ value and actual Vdc Voltage which inject in to the Vd axis?

and what is the comment scribe "squ" means?

--------------------------------------------

// Initialize HFI parameters

// HFI magnitude (duty cycle) parameters
hfi1.dutyMax = _IQ(0.65); //0.24 310V //_IQ(0.4) 180V // IPD 0.3 squ 16 // 0.4 squ 8
hfi1.volt_ipd = VOLT_PU(HFI_VOLT_IPD);
hfi1.volt_run = VOLT_PU(HFI_VOLT_RUN);

// HFI frequency (timing) parameters
hfi1.Squ_PRD_set = INDEX_CNT; /* 16 IPD // 8 low speed for Bosch // 1 for E-bike */
hfi1.HFI_Time1 = 400;
hfi1.HFI_Time2 = 450;

hfi1.base_wTs = _IQ(BASE_FREQ*T);

// Initialize HPF parameters
hpf_coeff1.freq = _IQ(18.0); // in Hz
hpf_coeff1.PiT = _IQ(PI*T);
HPF_INIT(&hpf_coeff1);

// Initialize angle transition parameters
transition1.spdLo = TRANS_SPD_LO;
transition1.spdHi = TRANS_SPD_HI;
transition1.scale = TRANS_SCALE;

// Initialize NS determination parameters
ns_id1.cntON = 2; //initial:5,30
ns_id1.cntPRD = 40; //workable:2,40
ns_id1.PWM_ch[0] = 1; // epwm1
ns_id1.PWM_ch[1] = 2; // epwm2
ns_id1.PWM_ch[2] = 3; // epwm3
ns_id1.PWM_PeriodMax = pwm1.PeriodMax;
#endif

  • It was a left over comment I guess, you may ignore 'squ' in the comment field.

    dutymax is the max allowed duty cycle of high frequency injection. If the input dc voltage is lesser than the set value, then the duty cycle will max out to this value

    #define HFI_VOLT_RUN 90.0 // 50 -- ramesh /* max duty cycle below this Vdc (in V) @ RUN */

    #define HFI_VOLT_IPD 150.0 // 80 -- ramesh /* max duty cycle below this Vdc (in V) @ IPD */

  • I have several question about the HFI parameter setting and confusion.

    1. #define TRANS_SPD_HI _IQ(0.10)

    is the SPD HI equal to the "Speed Base" multiply this 0.1 ?


    2.

    hfi1.Squ_PRD_set = INDEX_CNT; /* 16 IPD // 8 low speed for Bosch // 1 for E-bike */

    my application is IPM motor, what is the recommended value for this application?

    is the default value "8" will be fine ? in this application?

    3.

    hfi1.HFI_Time1 = 400;

    hfi1.HFI_Time2 = 450;

    what is the unit for these value?

    the documentation state that the Tout is HFI_Time2-HFI_Time1. and the default value is 500us.

    is the value 50 represent 500 us ?