4、锁相环(PLL)技术:单同步坐标系PLL、解耦双同步PLL、软件锁相环实现、电网电压畸变下的锁相策略

锁相环,说白了就是电网的“眼睛”。

做储能并网,你连电网电压的相位和频率都抓不准,那后面的控制全是白搭。我入行那会儿,第一次调PLL就栽了个大跟头——电网稍微有点谐波,锁相结果就开始抖,逆变器直接过流保护跳了。嗯,从那以后,我对PLL的每个细节都不敢马虎。

4.1 单同步坐标系PLL(SRF-PLL)

这是最经典的结构,也是我们入门的起点。它的核心思路很简单:把三相电压从静止的abc坐标系,变换到旋转的dq坐标系。

你想想看,在dq坐标系下,电网电压的基波正序分量会变成一个直流量。我们只要控制q轴分量为零,就能锁定相位。这就是所谓的“同步”含义。

结构上,它包含三个部分:

  • Clark变换:把abc变到αβ静止坐标系
  • Park变换:把αβ变到dq旋转坐标系
  • PI调节器:控制q轴电压为0,输出频率修正量

我个人习惯,在仿真阶段先用这个结构快速验证。它的动态响应快,实现也简单。但有个致命弱点——对电网畸变非常敏感。

注意:当电网电压含有负序分量或谐波时,dq轴会出现2倍频或更高次的纹波。PI调节器压不住这些纹波,锁相结果就会抖动。

我在项目中遇到过,某次现场电网背景谐波较大,SRF-PLL锁出来的相位有±5°的波动。这个精度对于并网逆变器来说,已经不可接受了。

4.2 解耦双同步PLL(DDSRF-PLL)

为了解决负序分量的干扰,有人提出了解耦双同步的思路。说白了,就是同时建两个旋转坐标系——一个正转,一个反转。

正转坐标系锁正序分量,反转坐标系锁负序分量。然后通过交叉解耦网络,把两个坐标系里的2倍频纹波互相抵消掉。

它的数学推导有点绕,但你可以这样理解:

  • 正序分量在正转坐标系里是直流,在反转坐标系里是2倍频交流
  • 负序分量在反转坐标系里是直流,在正转坐标系里是2倍频交流
  • 我们提取出各自的直流分量,再通过解耦网络把交流分量滤掉

这样做的好处很明显——即使电网严重不平衡,锁相精度依然很高。我实测过,在负序分量达到10%的情况下,DDSRF-PLL的相位误差能控制在±0.5°以内。

我的经验:DDSRF-PLL的参数整定比SRF-PLL复杂。带宽不能设太高,否则解耦效果变差;也不能太低,否则动态响应慢。我一般先按SRF-PLL整定,然后带宽折半,再微调解耦系数。

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π运算
  • 启动时的预锁相——先开环跑一段时间,再切入闭环
避坑指南:我曾经在量产项目上吃过亏——软件PLL的积分项没有做限幅。电网频率突变时,积分器饱和,锁相环失锁,逆变器直接炸了。从那以后,我所有项目的PI输出都加了限幅。

4.4 电网电压畸变下的锁相策略

现实中的电网,远没有实验室那么干净。谐波、电压跌落、频率波动、相位跳变……各种幺蛾子都有。

我总结了几种常见畸变场景下的应对策略:

畸变类型 影响 推荐策略
3次、5次谐波 dq轴出现6倍频纹波 前置低通滤波器,或使用MAF(移动平均滤波器)
负序分量(不平衡) dq轴出现2倍频纹波 DDSRF-PLL或陷波滤波器
频率突变 锁相环失锁 增加频率前馈,提高PI带宽
相位跳变 瞬时相位误差大 加入相位重置逻辑,或使用自适应PLL

这里重点说一下MAF(移动平均滤波器)。它的原理很简单——对dq轴的电压信号做滑动平均。比如电网有5次谐波,周期是4ms,你取一个4ms的滑动窗口,谐波就被完美滤掉了。

但MAF有个代价:它会引入延迟。窗口越长,延迟越大,动态响应越慢。我一般取1/4个基波周期(5ms),在滤波效果和动态响应之间取个平衡。

还有一种更高级的做法——自适应陷波滤波器。它能精确跟踪谐波频率,只滤除特定次数的谐波,对基波几乎没有影响。不过实现起来复杂一些,适合对动态响应要求极高的场合。

我的建议:不要追求“万能”的锁相策略。先分析你面对的电网环境,再选最合适的方案。比如光伏电站,电网谐波通常不大,SRF-PLL加个低通滤波器就够了。但微电网场景,电压畸变严重,DDSRF-PLL是必须的。

最后说一句,锁相环的调试,一定要结合仿真和实测。仿真能帮你验证算法逻辑,实测才能暴露真实电网下的问题。我每次做新项目,都会先在RT-LAB上跑一遍各种故障工况,确认没问题了再上真机。

嗯,锁相环这块内容不少,但核心就一句话:把电网电压的相位和频率抓准了,后面的控制才有意义。

锁相环(PLL)技术知识体系 锁相环(PLL) 单同步坐标系PLL 解耦双同步PLL 软件锁相环实现 畸变下锁相策略 Clark + Park变换 PI调节器锁q轴=0 对谐波敏感 正转+反转坐标系 交叉解耦网络 抗不平衡能力强 DSP/FPGA实现 浮点/定点运算 角度归一化处理 谐波:MAF滤波器 不平衡:DDSRF 频率突变:前馈 核心目标:精准锁定电网相位与频率

公众号:蓝海资料掘金营,微信deep3321