4、锁相环(PLL)技术:单同步坐标系PLL、解耦双同步PLL、软件锁相环实现、电网电压畸变下的锁相策略
锁相环,说白了就是电网的“眼睛”。
做储能并网,你连电网电压的相位和频率都抓不准,那后面的控制全是白搭。我入行那会儿,第一次调PLL就栽了个大跟头——电网稍微有点谐波,锁相结果就开始抖,逆变器直接过流保护跳了。嗯,从那以后,我对PLL的每个细节都不敢马虎。
4.1 单同步坐标系PLL(SRF-PLL)
这是最经典的结构,也是我们入门的起点。它的核心思路很简单:把三相电压从静止的abc坐标系,变换到旋转的dq坐标系。
你想想看,在dq坐标系下,电网电压的基波正序分量会变成一个直流量。我们只要控制q轴分量为零,就能锁定相位。这就是所谓的“同步”含义。
结构上,它包含三个部分:
- Clark变换:把abc变到αβ静止坐标系
- Park变换:把αβ变到dq旋转坐标系
- PI调节器:控制q轴电压为0,输出频率修正量
我个人习惯,在仿真阶段先用这个结构快速验证。它的动态响应快,实现也简单。但有个致命弱点——对电网畸变非常敏感。
我在项目中遇到过,某次现场电网背景谐波较大,SRF-PLL锁出来的相位有±5°的波动。这个精度对于并网逆变器来说,已经不可接受了。
4.2 解耦双同步PLL(DDSRF-PLL)
为了解决负序分量的干扰,有人提出了解耦双同步的思路。说白了,就是同时建两个旋转坐标系——一个正转,一个反转。
正转坐标系锁正序分量,反转坐标系锁负序分量。然后通过交叉解耦网络,把两个坐标系里的2倍频纹波互相抵消掉。
它的数学推导有点绕,但你可以这样理解:
- 正序分量在正转坐标系里是直流,在反转坐标系里是2倍频交流
- 负序分量在反转坐标系里是直流,在正转坐标系里是2倍频交流
- 我们提取出各自的直流分量,再通过解耦网络把交流分量滤掉
这样做的好处很明显——即使电网严重不平衡,锁相精度依然很高。我实测过,在负序分量达到10%的情况下,DDSRF-PLL的相位误差能控制在±0.5°以内。
4.3 软件锁相环实现
现在主流的做法,都是用DSP或FPGA做软件锁相。硬件PLL已经很少见了。
软件实现的优势在于灵活——你可以随时调整参数,甚至在线切换算法。我做过一个项目,电网正常时用SRF-PLL,检测到畸变后自动切换到DDSRF-PLL。
下面给一个简化的C语言实现框架:
// 软件锁相环主循环
void pll_run(float va, float vb, float vc) {
// 1. Clark变换
valpha = (2.0/3.0)*(va - 0.5*vb - 0.5*vc);
vbeta = (2.0/3.0)*(0.866*vb - 0.866*vc);
// 2. Park变换
vd = valpha*cos(theta) + vbeta*sin(theta);
vq = -valpha*sin(theta) + vbeta*cos(theta);
// 3. PI调节器
err = 0 - vq; // 控制q轴为0
integral += Ki*err*dt;
omega = Kp*err + integral;
// 4. 积分得到角度
theta += omega*dt;
// 5. 角度归一化到0~2pi
if(theta > 2*PI) theta -= 2*PI;
}
这段代码看着简单,但实际工程中要注意几个坑:
- 浮点运算精度——我建议用Q格式定点数,或者至少用double
- 角度溢出处理——一定要做模2π运算
- 启动时的预锁相——先开环跑一段时间,再切入闭环
4.4 电网电压畸变下的锁相策略
现实中的电网,远没有实验室那么干净。谐波、电压跌落、频率波动、相位跳变……各种幺蛾子都有。
我总结了几种常见畸变场景下的应对策略:
| 畸变类型 | 影响 | 推荐策略 |
|---|---|---|
| 3次、5次谐波 | dq轴出现6倍频纹波 | 前置低通滤波器,或使用MAF(移动平均滤波器) |
| 负序分量(不平衡) | dq轴出现2倍频纹波 | DDSRF-PLL或陷波滤波器 |
| 频率突变 | 锁相环失锁 | 增加频率前馈,提高PI带宽 |
| 相位跳变 | 瞬时相位误差大 | 加入相位重置逻辑,或使用自适应PLL |
这里重点说一下MAF(移动平均滤波器)。它的原理很简单——对dq轴的电压信号做滑动平均。比如电网有5次谐波,周期是4ms,你取一个4ms的滑动窗口,谐波就被完美滤掉了。
但MAF有个代价:它会引入延迟。窗口越长,延迟越大,动态响应越慢。我一般取1/4个基波周期(5ms),在滤波效果和动态响应之间取个平衡。
还有一种更高级的做法——自适应陷波滤波器。它能精确跟踪谐波频率,只滤除特定次数的谐波,对基波几乎没有影响。不过实现起来复杂一些,适合对动态响应要求极高的场合。
最后说一句,锁相环的调试,一定要结合仿真和实测。仿真能帮你验证算法逻辑,实测才能暴露真实电网下的问题。我每次做新项目,都会先在RT-LAB上跑一遍各种故障工况,确认没问题了再上真机。
嗯,锁相环这块内容不少,但核心就一句话:把电网电压的相位和频率抓准了,后面的控制才有意义。
公众号:蓝海资料掘金营,微信deep3321