大家好,最近我在研究无功补偿时需要用到SPLL计算电角度,打算借鉴solar lib部分的SPLL代码,但是有一些疑惑。
1、在结构体定义的各个变量的含义我不太理解,分别是upd cos sin theta ylf
2、SPLL中的环路滤波器和陷波滤波器的参数都是如何整定的
希望各位大神指点,谢谢!
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.
大家好,最近我在研究无功补偿时需要用到SPLL计算电角度,打算借鉴solar lib部分的SPLL代码,但是有一些疑惑。
1、在结构体定义的各个变量的含义我不太理解,分别是upd cos sin theta ylf
2、SPLL中的环路滤波器和陷波滤波器的参数都是如何整定的
希望各位大神指点,谢谢!
参考solarLib.PDF文档 中SPLL内容,路径是
C:\ti\controlSUITE\libs\app_libs\solar\v1.2
下面是控制框图截图:
Upd表示 PD相位检测的输出,就是图中的Vd.
ynotch是陷波滤波器,因为在锁住的情况下,Vd的包含2次谐波分量,需要把这个谐波分量滤除,由于市电频率一般是50Hz或者60Hz,2倍谐波就是100Hz或者120Hz左右,低通滤波器带宽要很窄才能滤除这个信号,带宽窄意味着PLL系统动态响应慢,所以加了陷波器,滤除这个信号,后级的PI调节器(也是低通滤波器)带宽可以设计得大些.
Ylf 就是低通滤波器的输出,实际上就是PI调节器的输出, PI系数的整定文档有详细的介绍
Sin 就是SinTheta
Cos就是 CosTheta.
你没把你分析上不符的地方贴出来。
我的理解如下:
Pi传递只是进行了以下改写,把传统的Ki改成了时间值Ti, Ti与Kp一样是可调的
G(s)=Kp+Ki/s
=Kp(1+(Ki/Kp)/s
Ki/Kp = Ti/Kp
Ki = Ti是积分时间系数,自己调节
控制环路分析如下:
环路稳定性分析中代入了PI传递函数.
由于Vd的表达式含有Vgrid和相位差,所以在下图的输入相位和输出相位传递函数开环传递路径上就有PI kp+ki/s和积分1/s,同时又放大的增益Vgrid.
本来是Vgrid/2的,实际建模变成了Vgrid,这点只是影响了增益,在Kp和Ki设计时,稍微补偿就好了.
得到总体的相位闭环传递函数,就可以通过环路分析思路来确定Kp和Ki的数值
PI表达式写得比较乱,导致在Ki计算上有不合理的地方,稍微整理下就好了
Kp + (Kp/Ti)/s = Kp + Ki/s
Ki = Kp/Ti
你去百度上看看二阶系统的动静态响应分析
Wn是固有频率,Wn = 119.014Hz
Wd 只是方便引入的一个中间变量
利用以下表达式,可以计算出需要的Kp和Ki
sqrt(Ti*Kp/4) = 0.7
sqrt(Kp/Ti) = 119.014
Ki = Kp/Ti
就可以得到 Kp = 166.6, Ki = 119.014^2 = 14164
也在solar lib的那个文档里,就是spll_1ph_sogi这个锁相环。
你好!初始化函数和陷波器系数更新函数中1.0/ISR_FREQUENCY代表公式中时间DELTA_T吗?既然这样DELTA_T应该等于0.001/ISR_FREQUENCY才对嘛,比如20KHz或者40kHz一般ISR_FREQUENCY定义为20或者40嘛,望解答谢谢!
SPLL_1ph_init(GRID_FREQ,_IQ21((float)(1.0/ISR_FREQUENCY)) &spll1,spll_lpf_coef1);
SPLL_1ph_notch_coeff_update(((float)(1.0/ISR_FREQUENCY)),(float)(2*PI*GRID_FREQ*2),(float)c2,(float)c1, &spll1);
你好,请教问题。
1、Ho(s) 公式为什么是这样的?
LPF环节是PI控制,传递函数是Kp + Ki/s,后面的都不懂是怎么来的?
2、开环函数和闭环函数的关系
闭环函数 = G/(1+GH)
开环函数 = GH
文档上这样写Closed Loop TF = Open Loop TF / (1+ OpenLoopTF)
合适吗?