同步发电机有六个电路回路,需要建立三个定子绕组,一个励磁绕组,直轴和交轴阻尼绕组的方程。首先是磁链和电流、电压的正方向。规定定子电流所产生磁通方向与该相绕组轴线正方向相反时,电流为正(磁通正方向与电流正方向相反)。转子绕组电流产生磁通方向与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}$
由于以下两个原因:
所以对于凸极机而言磁链方程中的定子自感及其互感都为变量,电压方程变为变系数微分方程,不便求解。因此需要进行坐标变换。
站在转子角度,将定子电流$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]:
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]:
In [ ]:
In [ ]:
In [ ]: