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
implementation of PLL
Started by ●December 17, 2004
Reply by ●December 20, 20042004-12-20
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