Other Parts Discussed in Thread: CONTROLSUITE
I have customer who would like to know if there is a software pll function available, the application is motor control
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.
Other Parts Discussed in Thread: CONTROLSUITE
I have customer who would like to know if there is a software pll function available, the application is motor control
What specifically does the customer want to use the pll for ? they need?
depending on the requirement the pll can be of different types, 3 phase, single phase and others..
Can you provide informaton for a 3-phase and a single phase software PLL? Thanks
We have some code for single phase pll, i can share it with you through a private message.
Please accept the friend request
Done. Thanks!, there wouldn't happen to be some code for 3-Phase would there?
James,
The code is available through controlsuite, the PLL specifically is targeted for the single phase grid connected PV inverter, however the code structure can be used for any application,
Remember to select Solar Library when installing controlsuite, or if already installed you can update it to download the solar library. Once installed the code can be found at:
controlSUITE\libs\app_libs\solar\v1.0\float
regards
Manish Bhardwaj
Manish Bhardwaj,
About the code you mentioned in the controlsuite, I have some questions below:
In the code , there are some initialized value below,
void SPLL_1ph_init(int Grid_freq, int DELTA_T, SPLL_1ph *spll_obj)
{
spll_obj->Upd[0]=SPLL_Q(0.0);
spll_obj->Upd[1]=SPLL_Q(0.0);
spll_obj->Upd[2]=SPLL_Q(0.0);
spll_obj->ynotch[0]=SPLL_Q(0.0);
spll_obj->ynotch[1]=SPLL_Q(0.0);
spll_obj->ynotch[2]=SPLL_Q(0.0);
spll_obj->ylf[0]=SPLL_Q(0.0);
spll_obj->ylf[1]=SPLL_Q(0.0);
spll_obj->sin[0]=SPLL_Q(0.0);
spll_obj->sin[1]=SPLL_Q(0.0);
spll_obj->cos[0]=SPLL_Q(0.999);
spll_obj->cos[1]=SPLL_Q(0.999);
spll_obj->theta[0]=SPLL_Q(0.0);
spll_obj->theta[1]=SPLL_Q(0.0);
spll_obj->wn=SPLL_Q(2*3.14*Grid_freq);
}
From the code above,we can see that : spll_obj->theta[0]=SPLL_Q(0.0); spll_obj->sin[0]=SPLL_Q(0.0);
But you konw ,because the sampling is random, the A/D sampling circuit can't sample the first Phase Voltage Value at theta[0]= 0,
So can you explain why set the spll_obj->theta[0]=SPLL_Q(0.0) ?
Regards!
Lyre