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.

单相DC-AC锁相环的问题

你好,

我想问一下Solar_HV_dcac_Concerto_c28.c里PLL的参数:

//PLL controller , sample rate 416e-6
CNTL_2P2Z_CoefStruct4.b2 = _IQ26(-0.01723);
CNTL_2P2Z_CoefStruct4.b1 = _IQ26(0.0004355);
CNTL_2P2Z_CoefStruct4.b0 = _IQ26(0.01767);
CNTL_2P2Z_CoefStruct4.a2= _IQ26(-0.864);
CNTL_2P2Z_CoefStruct4.a1= _IQ26(1.864);
CNTL_2P2Z_CoefStruct4.max = _IQ24(0.06); // 50Hz
CNTL_2P2Z_CoefStruct4.min = _IQ24(-0.06); // -50Hz

根据这个控制框图,Vd是锁相环的输入,开环传递函数是 Ko(kp*s+ki)/s^2

但是,根据程序里的参数,用tustin逆变换到s域,得到这个传函


-2.293e-05 s^2 + 90.25 s + 4870
-------------------------------
s^2 + 350.8 s - 5.617e-10

然后忽略比较小的数就得到

90.25 s + 4870
--------------
s(s + 350.8)

和我根据框图得到的传函形式并不一样,请问这个参数是根据什么设计的?

谢谢!

  • 我电脑的matlab卸掉了,没法进行反变换

    我可以给你一个思路去尝试下:

    框图上给出的只是一个PI,也就是1P1Z(极点在零点处),但是实际程序里面用的是2P2Z,

    我很早之前也跟设计人员确认过,其结构就是 G(s) = K*(s+w1)/{s(s+w2)}

    所以你上面z域到s域的变换结果应该是正确的.

  • 谢谢你的回复!

    按照你说的结构就是

    90.25 (s + 53.96)
    ---------------------
    s(s + 350.8 )

    我想知道的是这个w1和w2是怎么选择的,根据我上面写的式子极点对应的是55.8Hz,零点对应的是8.59Hz (数据不一定准确,因为我省略了很小的数,按着上式变换到z域和程序里的一个参数差一点)

    因为我在电流环用了PI控制,kp等于4点几时(网侧有电感),就有谐振在输出电压和电流的波形里(和我电路参数的谐振频率不一样),我看过一些文章说PLL 容易引起谐振,想问一下这个参数是怎么选的,谢谢啦!

  • Jiaojiao

        W1和W2的选择是由系统的传递函数幅频相位曲线设计的,TI这个设计没有具体给出设计过程。

    但是电流环的PI设计,本可以认为与PLL环的控制是解耦独立的,电流的带宽很宽,一般为开关频率的1/10~1/5,电流的跟踪速度很快

    电流的Kp大了,系统电流震荡,你可以适当降低Kp的值.

  • 好的,谢谢你的回复!