4. 锁相环(PLL)技术:单同步坐标系锁相环(SSRF-PLL)、解耦双同步坐标系锁相环(DDSRF-PLL)原理与实现

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

你想想看,变流器要跟电网打交道,首先得知道电网电压到底在什么位置、什么频率。不知道这些,你发的电就是瞎发,搞不好还会炸机。我早年刚入行时,就见过一个同事因为PLL参数没调好,并网瞬间直接触发过流保护,那动静,啧啧。

今天咱们就聊聊两种最经典的PLL:单同步坐标系锁相环(SSRF-PLL)解耦双同步坐标系锁相环(DDSRF-PLL)。这两种结构,基本覆盖了90%以上的工业应用场景。

核心观点:PLL的本质是一个闭环跟踪系统。它通过坐标变换,把三相交流量变成直流量,再用PI控制器去“追”这个直流量的零误差点。电网干净时,SSRF-PLL够用;电网畸变时,DDSRF-PLL才是正解。

锁相环(PLL)技术知识体系 三相电网电压 坐标变换 Clark + Park PI控制器 误差→0 θ, ω 输出 反馈:θ 用于 Park 变换 SSRF-PLL 单同步坐标系,电网平衡时使用 DDSRF-PLL 解耦双同步,电网不平衡/畸变时使用 图:PLL 核心逻辑与两种主流架构

4.1 单同步坐标系锁相环(SSRF-PLL)

SSRF-PLL,全称是 Single Synchronous Reference Frame PLL。名字挺长,其实原理很简单。

它把三相电压 Va, Vb, Vc 先做 Clark 变换,变成 Vα, Vβ。然后再做 Park 变换,变成 Vd, Vq。你想想看,如果我的 Park 变换角度 θ 正好等于电网电压的相位,那么 Vq 就会等于 0。这就是锁相环的“锁”字来源——把 q 轴电压锁到 0。

我的经验:调试 SSRF-PLL 时,我最喜欢盯着 Vq 的波形看。如果 Vq 在 0 附近平稳波动,说明锁住了。如果 Vq 一直在抖,那多半是 PI 参数没调好,或者电网本身就有谐波。

SSRF-PLL 的数学表达式其实就三行:

// 1. Clark 变换
Vα = (2/3) * (Va - 0.5*Vb - 0.5*Vc)
Vβ = (2/3) * (0.866*Vb - 0.866*Vc)

// 2. Park 变换
Vd = Vα * cos(θ) + Vβ * sin(θ)
Vq = -Vα * sin(θ) + Vβ * cos(θ)

// 3. PI 调节 + 积分
ω = PI(Vq_ref - Vq)  // Vq_ref = 0
θ = ∫ ω dt

这里有个关键点:PI 控制器的输出是角频率 ω 的修正量,不是直接输出角度。角度是通过积分得到的。这样做的好处是,即使电网频率有波动,PLL 也能平滑跟踪。

注意:SSRF-PLL 有一个致命弱点——它假设电网电压是理想的三相平衡正弦波。一旦电网出现不平衡(比如单相接地故障),或者有谐波,Vq 里就会混入 2 倍频、6 倍频的波动。这时候锁相环就会“抖”,锁不准。

我记得有一次做微电网项目,现场电网比较弱,谐波含量高。SSRF-PLL 锁出来的角度一直在 ±5° 之间晃,导致变流器输出电流畸变严重。后来我换成了 DDSRF-PLL,问题才解决。

4.2 解耦双同步坐标系锁相环(DDSRF-PLL)

DDSRF-PLL,全称是 Decoupled Double Synchronous Reference Frame PLL。名字听着唬人,其实思路很直接。

电网不平衡时,电压里除了正序分量,还有负序分量。负序分量在正序的 dq 坐标系下会表现为 2 倍频的波动。DDSRF-PLL 的做法是:同时建立两个坐标系——一个正转(+ω),一个反转(-ω)。正转坐标系锁正序,反转坐标系锁负序。然后通过解耦网络,把两个坐标系里的 2 倍频分量互相抵消掉。

具体实现分三步:

  1. 双坐标变换:对同一组三相电压,分别做 +ω 和 -ω 的 Park 变换,得到 Vd+, Vq+Vd-, Vq-
  2. 解耦网络:正序的 Vd+ 里混入了负序的 2 倍频分量,负序的 Vd- 里混入了正序的 2 倍频分量。通过一个低通滤波器 + 交叉反馈,把这些分量滤掉。
  3. 正序锁相:只拿解耦后的 Vq+ 去送 PI 控制器,输出角度 θ。

解耦的数学公式长这样:

// 解耦后的正序 dq 分量
Vd+_dec = Vd+ - Vd-_LPF * cos(2θ) - Vq-_LPF * sin(2θ)
Vq+_dec = Vq+ + Vd-_LPF * sin(2θ) - Vq-_LPF * cos(2θ)

// 解耦后的负序 dq 分量
Vd-_dec = Vd- - Vd+_LPF * cos(2θ) + Vq+_LPF * sin(2θ)
Vq-_dec = Vq- - Vd+_LPF * sin(2θ) - Vq+_LPF * cos(2θ)

看着复杂,其实逻辑很简单:你中有我,我中有你,互相减掉就干净了

关键参数:解耦网络里的低通滤波器截止频率很关键。我一般取 20~50 Hz。太高了滤不干净 2 倍频(100 Hz),太低了动态响应慢。这个需要根据实际电网情况折中。

4.3 两种 PLL 的对比与选型建议

说了这么多,到底什么时候用哪种?我直接给个表格,一目了然。

对比项 SSRF-PLL DDSRF-PLL
适用电网 理想三相平衡 不平衡、畸变
计算复杂度 低(约 50 行代码) 中(约 150 行代码)
动态响应 快(带宽可达 50 Hz) 中等(带宽 20~30 Hz)
抗谐波能力 弱(需额外滤波) 强(解耦自带滤波)
典型应用 大电网并网逆变器 微电网、弱电网、故障穿越

我个人习惯是:能用 SSRF-PLL 就不用 DDSRF-PLL。为什么?因为简单、可靠、不容易出 bug。但如果你做的是微电网、或者要求故障穿越能力的并网变流器,那还是老老实实上 DDSRF-PLL 吧。

避坑指南:我曾经在一个项目中,为了省事,在弱电网下硬用 SSRF-PLL。结果并网点电压稍微有点不平衡,PLL 就开始振荡,最后导致变流器过流跳闸。后来我加了一个前置的陷波器(Notch Filter),专门滤掉 100 Hz 分量,才勉强稳住。但说实话,不如直接上 DDSRF-PLL 省心。

4.4 实现中的几个细节

最后聊几个实现时的坑,都是我踩过的。

  • PI 参数整定:PLL 的 PI 参数跟普通电流环不一样。带宽一般取 10~30 Hz。我习惯用 Kp = 2 * ζ * ω_nKi = ω_n² 来算。阻尼比 ζ 取 0.707,自然频率 ω_n 取 20 Hz 左右。
  • 角度初始化:启动时,如果角度从 0 开始,PLL 会有一个很大的暂态过程。我一般先做一个开环预同步,估算出电网角度再切入闭环。
  • 频率限幅:PI 输出的 ω 一定要做限幅。我通常设 45~55 Hz,防止 PLL 在电网扰动时跑飞。
  • 离散化:数字实现时,积分器用 θ(k) = θ(k-1) + ω * Ts。注意角度要模 2π,不然会溢出。

嗯,PLL 这块内容就这些。说白了,锁相环就是个“追角度”的游戏。电网干净时,SSRF-PLL 一把梭;电网脏了,DDSRF-PLL 来兜底。选对工具,事半功倍。

一句话总结:SSRF-PLL 是基础,DDSRF-PLL 是进阶。先把基础的玩透,再搞进阶的,别一上来就整复杂的。


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