
基于DSP28377的三相并网双二阶锁相环DSOGI-PLL程序
最近在搞三相并网逆变器项目,电网同步环节用DSP28377实现了双二阶广义积分锁相环(DSOGI-PL
L),这玩意儿确实比传统SRF-PLL抗干扰能力强不少。今天咱们就唠唠这个算法的实现细节,顺手贴点实
际工程中验证过的代码。
先说核心部分——双二阶广义积分器(DSOGI)。这货相当于两个并行的带通滤波器,专门用来提取电
网电压的正交分量。在C2000里实现时要注意定点数处理,毕竟28377没有浮点单元。来看个结构体定义:
```c
typedef struct {
_iq v_alpha; // α轴分量
_iq v_beta; // β轴分量
_iq qv_alpha; // α轴正交分量
_iq qv_beta; // β轴正交分量
_iq k; // 阻尼系数
_iq omega; // 基波角频率
} DSOGI_STRUCT;
```
这里用了TI的IQmath库做定点数运算,_iq类型对应Q24格式。滤波器的传递函数实现是关键,咱们
用差分方程代替直接计算:
```c
void DSOGI_Update(DSOGI_STRUCT *s, _iq va, _iq vb)
{
// α轴计算
_iq temp = _IQmpy(s->k, s->omega);
s->v_alpha = _IQmpy(temp, (va - s->v_alpha)) + s->v_alpha;
s->qv_alpha = _IQmpy(s->omega, (s->v_alpha - s->qv_alpha));
// β轴同理
...
}
```
注意这里的_IQmpy是IQmath的定点乘法,运算前记得把原始电压信号做Clark变换。系数k直接影响
动态响应,实测取0.7~1.2之间效果比较稳,Q值别设太高,否则抗频偏能力下降。