DSPRelated.com
Forums

implementation of PLL

Started by jkm December 17, 2004
Dear Prof.Wolfgang
Thank for your reply about PLL and your suggestions are very good and
implementation can be possible.Please suggest what you answer " apply
MAC operation to voltage using sin-table"
jkm
Dear jkm,

Thanks for the title but I don't have it and at the moment have no ambition 
to get it.
I don't know if your overlaying control will be done in dq-cooridnates.
If so you'll see that you have to do some calculations to get them from 
uvw-values.
Your pll is - compared to that - easy.
You know dq-coordinates ?
Search on google about it.

If you don't want to use them your voltages are sinussoidal.
You can detect the phase of a voltage if you make a fourier calculation
(look at Bronstein for Fourier-series calculation an calculate coefficiens 
only for one frequency)
You get two coefficients:
ak=factor * integral over (U(t)*sin(w*t))
bk=factor * integral over (U(t)*cos(w*t))
Dependening on the angle you can calculate the phase relation of U(t) to 
sin(w*t) (you give t you give w it's your sin(w*t) only U(t) is
measured)
(e.g. phi = arctan(ak/bk) for ak>0 and bk>0)
You can finde the factor in Bronstein but it is not of real interest for you 
...
As far as i know people who apply such simple control calculate only ak
if ak>0 U(t) is leading sin(w*t) and for the next period they introduce a 
step
if ak<0 U(t) is not leading sin(w*t) and for the next period they leave out 
a step to "be faster".
So they don't do a real PLL which changes frequency they have a fixed 
frequency (50/60Hz)
and if they would normally have e.g. 180 steps per period they make 179 or 
181 steps to
compensate for the small drift.
To calculate ak you need an integral which is some sort of summation of the 
discrete values you have.
MAC is a special DSP command which you MUST know if you want to do DSP 
assembler.
Its called "Multiply and ACummulate". You multiply your sin(w*t) from ram 
table with your U(t) value
and ACummulate. The result is ak (disregarding the factor).

But you should first find out what you want.
If you need dq coorinates you must do a transformation an you get "stable" 
values for the line voltage.
the d component should be U and you can directly use q component for phase 
compensation.
q>0 ... q<0 ... (Normally to avoid jittering q is filtered over a period and 
the correction is only
done once per period).

But may this all does not apply to you as you have something complete 
different in mind than I have...

                                                    Good luck, Wolfgang