DFIG控制6-a: simulink的PLL模块和坐标变换相关问题

本文主要是对接下来的仿真教程中没看懂的地方做了一些确认。主要就是一些角度相关的问题。

PLL的使用

后面教程涉及三相不平衡电压,所以不能直接使用atan2获得相位,而需要使用PLL等方式。Simulink有现成的三相PLL模块,就是使用时需要注意相位和atan2有差异。

仿真模型调整

框图
DFIG控制6-a: simulink的PLL模块和坐标变换相关问题_第1张图片

使用atan2
DFIG控制6-a: simulink的PLL模块和坐标变换相关问题_第2张图片

使用PLL时,相比原模型,减掉了pi/2(来自教程7视频,只看输出1 tita_r,暂时还没自己搭仿真模型),PLL模块可以全使用默认参数。
DFIG控制6-a: simulink的PLL模块和坐标变换相关问题_第3张图片

角度修正的原因

使用atan2的情况,是假设电压表达式如下,clarke变换后再atan2的结果正好是ωt。A相电压达到最大值时,角度为0。
DFIG控制6-a: simulink的PLL模块和坐标变换相关问题_第4张图片

而根据PLL模块的文档,在A相电压过零时,PLL的输出为0。所以A相达到最大值时,PLL输出为pi/2

wt: Angle (rad) varying between 0 and 2*pi, synchronized on zero crossings of the fundamental (positive-sequence) of phase A.

所以这个问题其实就是因为sinωtcosωt的相位差pi/2。使用PLL时,为了获得和之前仿真相同的相位,需要减去 pi/2。简单仿真验证如下:
DFIG控制6-a: simulink的PLL模块和坐标变换相关问题_第5张图片
DFIG控制6-a: simulink的PLL模块和坐标变换相关问题_第6张图片

另外两种方式输出角度的范围其实也不完全一样,但是可以不管。

使用park反变换模块来改变相位

在教程6中,为了补偿数字控制造成的延时,需要把输出参考电压的相位加上 1.5*w*Ts,来抵消控制的延时。

注意到调整相位的方法比较奇怪,如下图compensation模块:

  1. 先clarke变换
  2. 再park反变换,输入的角度固定为1.5*w*Ts
  3. 最后clarke反变换
    DFIG控制6-a: simulink的PLL模块和坐标变换相关问题_第7张图片

想了想,其实park反变换就是一个旋转矩阵,最终实现的效果就是把电压向量旋转了一个固定角度。
如下:
DFIG控制6-a: simulink的PLL模块和坐标变换相关问题_第8张图片

也简单做了仿真验证,为了让效果更明显,相位提前pi/2
DFIG控制6-a: simulink的PLL模块和坐标变换相关问题_第9张图片
DFIG控制6-a: simulink的PLL模块和坐标变换相关问题_第10张图片

所以可以这样来调节相位,就是比较难理解。。

参考资料

  1. 几个变换的表达式:Online Field-Oriented Control (Clarke-Park) Transform Calculator (leventozturk.com)

你可能感兴趣的:(双馈感应电机控制DFIG,control,matlab,硬件工程,嵌入式硬件)