同步发电机基本方程

同步发电机有六个电路回路,需要建立三个定子绕组,一个励磁绕组,直轴和交轴阻尼绕组的方程。首先是磁链和电流、电压的正方向。规定定子电流所产生磁通方向与该相绕组轴线正方向相反时,电流为正(磁通正方向与电流正方向相反)。转子绕组电流产生磁通方向与d,q轴正方向相同时,电流为正。

以凸极机为例,有如下示意图:

其中$\theta=\theta_{0}+\omega t$为d轴与a相夹角,$\theta_{0}$为电机旋转初始角度.

据此,可有如下等效电路图:

可列方程组如下:

电路方程:

$\begin{equation}%开始数学环境 \left[ %左括号 \begin{array}{ddd} u_{a}\\ %第一行元素 u_{b}\\ %第二行元素 u_{c}\\ u_{f}\\ 0\\ 0\\ \end{array} \right] \end{equation} =$ $\begin{equation} \left[ %左括号 \begin{array}{ccc} r & 0 & 0 & 0 & 0 & 0\\ %第一行元素 0 & r & 0 & 0 & 0 & 0\\ %第二行元素 0 & 0 & r & 0 & 0 & 0\\ 0 & 0 & 0 & r_{f} & 0 & 0\\ 0 & 0 & 0 & 0 & r_{D} & 0\\ 0 & 0 & 0 & 0 & 0 & r_{Q}\\ \end{array} \right] %右括号 \end{equation} $ $ \begin{equation} \left[ %左括号 \begin{array}{ccc} -i_{a}\\ %第一行元素 -i_{b}\\ %第二行元素 -i_{c}\\ i_{f}\\ i_{D}\\ i_{Q}\\ \end{array} \right] %右括号 \end{equation} +$ $ \begin{equation} \left[ %左括号 \begin{array}{ccc} \psi_{a}\\ %第一行元素 \psi_{b}\\ %第二行元素 \psi_{c}\\ \psi_{f}\\ \psi_{D}\\ \psi_{Q}\\ \end{array} \right] %右括号 \end{equation} $

磁链方程:

$\begin{equation} \left[ %左括号 \begin{array}{ccc} \dot \psi_{a}\\ %第一行元素 \dot \psi_{b}\\ %第二行元素 \dot \psi_{c}\\ \dot \psi_{f}\\ \dot \psi_{D}\\ \dot \psi_{Q}\\ \end{array} \right] %右括号 \end{equation} $ $=\begin{equation} \left[ %左括号 \begin{array}{ccc} L_{aa} & M_{ab} & M_{ac} & M_{af} & M_{aD} & M_{aQ}\\ %第一行元素 M_{ba} & L_{bb} & M_{bc} & M_{bf} & M_{bD} & M_{bQ}\\ %第二行元素 M_{ca} & M_{cb} & L_{cc} & M_{cf} & M_{cD} & M_{cQ}\\ M_{fa} & M_{fb} & M_{fc} & L_{ff} & M_{fD} & M_{fQ}\\ M_{Da} & M_{Db} & M_{Dc} & L_{Df} & L_{DD} & M_{fQ}\\ M_{Qa} & M_{Qb} & M_{Qc} & M_{Qf} & M_{QD} & L_{QQ}\\ \end{array} \right] %右括号 \end{equation} $ $\begin{equation} \left[ %左括号 \begin{array}{ccc} -i_{a}\\ %第一行元素 -i_{b}\\ %第二行元素 -i_{c}\\ i_{f}\\ i_{D}\\ i_{Q}\\ \end{array} \right] %右括号 \end{equation}$

由于以下两个原因:

  1. d轴,q轴磁阻不同,交联的磁链不同。
  2. 电机转子一直旋转。

所以对于凸极机而言磁链方程中的定子自感及其互感都为变量,电压方程变为变系数微分方程,不便求解。因此需要进行坐标变换。

park变换

站在转子角度,将定子电流$i_{a},i_{b},i_{c}$分解到d轴,q轴,0轴即以$i_{d},i_{q},i_{0}$表示。根据电机绕组示意图,有如下变换:

$\begin{equation} \left[ %左括号 \begin{array}{ccc} i_{d}\\ %第一行元素 i_{q}\\ %第二行元素 i_{0}\\ \end{array} \right] %右括号 \end{equation} $ $=\frac{2}{3}\begin{equation} \left[ %左括号 \begin{array}{ccc} cos\theta & cos(\theta-120^{\circ}) & cos(\theta+120^{\circ})\\ %第一行元素 -sin\theta & -sin(\theta-120^{\circ}) & -sin(\theta+120^{\circ})\\ %第二行元素 \frac{1}{2} & \frac{1}{2} & \frac{1}{2}\\ \end{array} \right] %右括号 \end{equation} $ $\begin{equation} \left[ %左括号 \begin{array}{ccc} i_{a}\\ %第一行元素 i_{b}\\ %第二行元素 i_{c}\\ \end{array} \right] %右括号 \end{equation}$


In [5]:
#符号推演用
#p.36,例题2-4(1)
import sympy
from  sympy import symbols,cos,sin,pi
from sympy.matrices import Matrix, eye, zeros, ones, diag, GramSchmidt
sympy.init_printing(use_latex='mathjax')
theta0,t,w,a0,I=symbols("\\theta_{0},t,\omega,\\alpha_{0},I")
theta=w*t+theta0
i_abc=sympy.sqrt(2)*I*Matrix(([cos(w*t+a0),cos(w*t+a0-(2*pi/3)),cos(w*t+a0+(2*pi/3))]))
i_abcf=sympy.sqrt(2)*I*Matrix(([cos(w*t+a0),cos(w*t+a0+(2*pi/3)),cos(w*t+a0-(2*pi/3))]))
i_abc0=sympy.sqrt(2)*I*Matrix(([cos(w*t),cos(w*t),cos(w*t)]))
park_martirx=(2/3)*Matrix(
    ([sympy.cos(theta), sympy.cos(theta-(2*pi/3)), sympy.cos(theta+(2*pi/3))],
    [-1*sympy.sin(theta), -1*sympy.sin(theta-(2*pi/3)), -1*sympy.sin(theta+(2*pi/3))],
    [0.5, 0.5, 0.5])
)
def park(i_abc):
    idq0=park_martirx*i_abc
    for i in range(3):
        idq0[i]=idq0[i].trigsimp()
    return idq0
(park(i_abc),park(i_abcf),park(i_abc0))


Out[5]:
$$\left ( \left[\begin{matrix}1.0 \sqrt{2} I \cos{\left (\alpha_{{0}} - \theta_{{0}} \right )}\\0.5 \sqrt{2} I \sin{\left (\alpha_{{0}} - \theta_{{0}} \right )}\\0\end{matrix}\right], \quad \left[\begin{matrix}1.0 \sqrt{2} I \cos{\left (\alpha_{{0}} + 2 \omega t + \theta_{{0}} \right )}\\- 1.0 \sqrt{2} I \sin{\left (\alpha_{{0}} + 2 \omega t + \theta_{{0}} \right )}\\0\end{matrix}\right], \quad \left[\begin{matrix}0\\0\\1.0 \sqrt{2} I \cos{\left (\omega t \right )}\end{matrix}\right]\right )$$

In [6]:
import numpy as np
#p.36,例题2-4(2) 数值算法
i_abc=np.matrix([1,-0.25,-0.25])
def park_transform(theta, i_abc):
    theta=np.deg2rad([theta,theta-120,theta+120])
    park_martirx = (2/3)*np.matrix([[np.cos(theta[0]), np.cos(theta[1]), np.cos(theta[2])],
                             [-np.sin(theta[0]), -np.sin(theta[1]), -np.sin(theta[2])],
                             [0.5, 0.5, 0.5]])
    i_dq0 = park_martirx*i_abc
    return i_dq0

In [7]:
park_transform(90, i_abc.T)


Out[7]:
matrix([[  2.77555756e-17],
        [ -8.33333333e-01],
        [  1.66666667e-01]])

In [ ]:


In [ ]:


In [ ]: