Part Number: TMS320F28035
Other Parts Discussed in Thread: SFRA
I amlearning to perform SFRA and at first I want to do it at TMDSSOLAREXPKIT in Close Loop. I receive the following result
Obviously I am doing something wrong. I did the following thing:
I use the 40kHz ISR so I declare:
#define SFRA_ISR_FREQ 40000 #define SFRA_FREQ_START 100 #define SFRA_FREQ_LENGTH 100 ... //SFRA Object Initialization //Specify the injection amplitude SFRA1.amplitude=_IQ26(0.01);
Then this is what I pass to SFRA:
duty_inv_pu=SFRA_IQ_INJECT(InvModIndex); PWMDRV_1phInv_unipolar(1,_IQ15(750),_IQ24mpy((InvSine<<9),duty_inv_pu)); SFRA_IQ_COLLECT(&duty_inv_pu,&inv_meas_cur_diff_inst);
where:
inv_meas_cur_lleg1_inst=(((int32) Ileg1_fb) <<12)-_IQ24(0.50); inv_meas_cur_lleg2_inst=(((int32) Ileg2_fb) <<12)-_IQ24(0.50); inv_meas_cur_diff_inst = (inv_meas_cur_lleg1_inst - inv_meas_cur_lleg2_inst)<<1;
I put InvModIndex by hand and so it to 0.7 that gives around 22V at the output
Am I putting wrong variables to SFRA_IQ_COLLECT?
When I am doing Close loop model with PID then I receive decent plots, although I am aware that it also require more tuning
Close Loop: