誘導機の諸性質

# はじめに
誘導機は、三相交流系統において安価で構造が単純であるということから多用される。しかし、滑りという系統の回転速度と機械的回転速度がずれるという特色がある。したがってそれについて考慮しなければならないため興味深い現象が多数存在する。そこで、今回は誘導機の等価回路を用いてこれらの性質や現象について考察した。結果以下のようなトルクと滑りのグラフを得ることができた。

![誘導機_トルク_コンター図.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1686019/c6055751-d74b-5786-3959-d140020da9f1.png)

# 滑りの定義
滑り$s$とは、実際の機械的回転速度$N$について電気的回転速度$N_s$との相対速度を$N_s$で除したものであり、以下の式で定義される。

```math
s=\frac{N_s-N}{N_s}
```

しかし、この式では扱いづらいので以下のように変形する。

```math
N=(1-s)N_s
```
これにより、回転速度の関係が分かりやすくなった。また、以下に示すように回転速度によって制動機、電動機、発電機と分類することができる。

| 制動機 | 電動機 | 発電機 |
|:-----------|------------:|:------------:|
| $-N_s<N<0$ | $0<N<N_s$ | $N_s<N$         |
| $2>s>1$     | $1>s>0$      | $0>s>-1$       |






# 等価回路
まず、二次側の等価回路は以下のように表すことができる。

![2次側の等価回路1.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1686019/c17bd09a-d2fb-1e6f-eb6b-a9055e534699.jpeg)

二次側に出力される電圧は$s$に比例することに注意する。$s=1$のとき変圧器と同等の性質を示すことから類推できる。

ここで、オームの法則より、sで除すると以下のような等価回路になる。

![2次側の等価回路2.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1686019/90b02ad4-cc13-904f-8d1f-36741514624a.jpeg)

これを用いることにより、1次2次含めた精度の良いT型等価回路は以下のようになる。

![T型等価回路.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1686019/6e049921-e719-b8a7-046b-df79b887b519.jpeg)

この等価回路のメリットは、電圧降下をより正確に表すことができるという点であるが、計算が複雑になることから、以下のL型等価回路がよく用いられる。

![L型等価回路.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1686019/5c173331-e439-c53d-ee87-6b1ffef8aa4c.jpeg)

# 二次電流について

それでは、二次電流についての導出とグラフ化を試みる。

```math
\dot{I_2}=\frac{\dot{E_1}}{(r_1+r_2/s)+j(x_1+x_2)}
```


```math
I_2=\frac{E_1}{\sqrt{(r_1+r_2/s)^2+(x_1+x_2)^2}}
```


これを描写するプログラムは以下の通りである。

``` python yuudouki_I2.py
import numpy as np
import matplotlib.pyplot as plt
import math

p=4
f=50
E_1=100.0

r_1=1.0
x_1=1.0
r_2=1.0
x_2=10.0

#滑りの範囲の指定
s = np.arange(-1.0, 2.0, 0.02)


N_s=120*f/p
N=(1-s)*N_s

omega_s=2*math.pi*N_s
omega=2*math.pi*N

I2_dot=E_1/((r_1+r_2/s)+1j*(x_1+x_2))
I_2=abs(I2_dot)

P_2= (r_2/s)*I_2**2

T=P_2/omega_s


fig, ax = plt.subplots()



# x 軸のラベルを設定する。
ax.set_xlabel("滑りs", fontname="MS Gothic")

# y 軸のラベルを設定する。
ax.set_ylabel("2次電流", fontname="MS Gothic")

# タイトルを設定する。
ax.set_title("2次電流と滑りの関連式", fontname="MS Gothic")

#x軸の反転
ax.invert_xaxis()
ax.plot(s, I_2)
ax.grid()
plt.show()
```

![誘導機2次電流.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1686019/3a0527dd-0624-fa38-d1dd-741a58a3d7f3.png)


このグラフを見て分かるとおり、$N_s=N$となる$s=0$のときつまり、同期速度と同じ速度で回転しているとき系統から電力を供給しなくてもいいので（摩擦がない理論的には）二次電流は0となる。

## 二次抵抗を変化させた場合
次に、二次抵抗を変化させていった場合、二次電流がどのように変化するのかを以下のプログラムを用いて調べる。

```python induction_machine_I.py
import numpy as np
import matplotlib.pyplot as plt
import math

p=4
f=50
E_1=100.0

r_1=1.0
x_1=1.0
#r_2=1.0
x_2=10.0


n=1000
r_2= np.linspace(0.1,20,n)

#滑りの範囲の指定
#s = np.arange(-1.0, 2.0, 0.02)

s=np.linspace(-1,2,n)

r_2,s= np.meshgrid(r_2,s)

N_s=120*f/p
N=(1-s)*N_s

omega_s=2*math.pi*N_s
omega=2*math.pi*N

I2_dot=E_1/((r_1+r_2/s)+1j*(x_1+x_2))
I_2=abs(I2_dot)

P_2= (r_2/s)*I_2**2

T=P_2/omega_s


fig, ax = plt.subplots()



# x 軸のラベルを設定する。
ax.set_xlabel("滑りs", fontname="MS Gothic")

# y 軸のラベルを設定する。
ax.set_ylabel("2次電流", fontname="MS Gothic")

# タイトルを設定する。
ax.set_title("2次電流と滑りの関連式", fontname="MS Gothic")

#x軸の反転
ax.invert_xaxis()
ax.contour(s, I_2,r_2)
#カラーバーの表示
PCM=ax.get_children()[2] 
plt.colorbar(PCM, ax=ax,label="r_2")
ax.grid()
plt.savefig("誘導機_二次電流コンター図.png")
plt.show()

```
これを実行すると以下のような画像が出力される。

![誘導機_二次電流コンター図.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1686019/c33799df-430c-bcf0-7761-07edd0d3075b.png)

この図を見て明らかな通り、滑りsが0となる場合において、二次電流が0となる。これは、電気角速度と機械角速度が等しいため、磁束が交差しないため、二次電流が生じないことを意味している。

また、滑りsが0以外のところでは、二次抵抗が増えるほど二次電流が流れにくくなっている。

したがって、始動時に二次抵抗を大きくすれば効率は低下してしまうが始動電流を小さくすることができる。また、このグラフより滑りと二次抵抗の比率によって二次電流が決定されるという比例推移が読み取れる。


# トルクについて
トルクについては、出力と角速度を用いて表すことができる。


``` math
T=\frac{(1-s)P_2}{(1-s)\omega_s}=\frac{P_2}{\omega_s}
```

ここで、二次入力$P_2$は以下の様に表すことができる。
``` math
P_2=(r_2/s)I_2^2
```

ゆえにトルク$T$は以下のように表すことができる。

``` math
T=\frac{P_2}{\omega_s}=\frac{E^2_1 (\frac{r_2}{s})}{2\pi f((r_1+\frac{r_2}{s})^2+(x_1+x_2)^2)}
```

これを用いて誘導機のトルクと滑りの関係をグラフ化すると以下のような有名な曲線になる。
``` python yuudouki_T.py
import numpy as np
import matplotlib.pyplot as plt
import math

p=4
f=50
E_1=100.0

r_1=1.0
x_1=1.0
r_2=1.0
x_2=10.0

#滑りの範囲の指定
s = np.arange(-1.0, 2.0, 0.02)


N_s=120*f/p
N=(1-s)*N_s

omega_s=2*math.pi*N_s
omega=2*math.pi*N

I2_dot=E_1/((r_1+r_2/s)+1j*(x_1+x_2))
I_2=abs(I2_dot)

P_2= (r_2/s)*I_2**2

T=P_2/omega_s


fig, ax = plt.subplots()



# x 軸のラベルを設定する。
ax.set_xlabel("滑りs", fontname="MS Gothic")

# y 軸のラベルを設定する。
ax.set_ylabel("トルクT", fontname="MS Gothic")

# タイトルを設定する。
ax.set_title("トルクと滑りの関連式", fontname="MS Gothic")

#x軸の反転
ax.invert_xaxis()
ax.plot(s, T)
ax.grid()
plt.show()
```

![誘導機トルク.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1686019/23632cf8-aea9-0361-ef8e-5e8ca5e4adf0.png)

## 二次抵抗を変化させた場合
一方で、二次抵抗を変化させた場合についてトルクの変化を調べるため、以下のようなプログラムを書いた。

```python induction_machine_T.py
import numpy as np
import matplotlib.pyplot as plt
import math

p=4
f=50
E_1=100.0

r_1=1.0
x_1=1.0
#r_2=1.0
x_2=10.0


n=1000
r_2= np.linspace(2,10,n)

#滑りの範囲の指定
#s = np.arange(-1.0, 2.0, 0.02)

s=np.linspace(-1,2,n)

r_2,s= np.meshgrid(r_2,s)

N_s=120*f/p
N=(1-s)*N_s

omega_s=2*math.pi*N_s
omega=2*math.pi*N

I2_dot=E_1/((r_1+r_2/s)+1j*(x_1+x_2))
I_2=abs(I2_dot)

P_2= (r_2/s)*I_2**2

T=P_2/omega_s


fig, ax = plt.subplots()



# x 軸のラベルを設定する。
ax.set_xlabel("滑りs", fontname="MS Gothic")

# y 軸のラベルを設定する。
ax.set_ylabel("2次電流", fontname="MS Gothic")

# タイトルを設定する。
ax.set_title("トルクと滑りの関連式", fontname="MS Gothic")

#x軸の反転

ax.set_xlim(-1,2)
ax.invert_xaxis()
ax.contour(s, T,r_2)
#カラーバーの表示
PCM=ax.get_children()[2] 
plt.colorbar(PCM, ax=ax,label="r_2")

ax.grid()
plt.savefig("誘導機_トルク_コンター図.png")
plt.show()


```

これを実行すると、以下のような画像を得ることができる。

![誘導機_トルク_コンター図.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1686019/c6055751-d74b-5786-3959-d140020da9f1.png)

滑りsが0付近では、電気回転速度と機械回転速度が等しいので、トルクTは生じていない。一方で、トルクT一定条件の下で、二次抵抗$r_2$を変化させることができれば、滑り$s$も変化することがわかる。これは、次に紹介する比例推移そのものである。

# 比例推移
2次電流$I_2$,トルク$T$は$\frac{r_2}{s}$に依存する。これを比例推移という。これは、$I$,$T$を制御するために、$r_2$を増加させれば、それに伴い$s$も増加するということを意味している。

```math
I_2=\frac{E_1}{\sqrt{(r_1+r_2/s)^2+(x_1+x_2)^2}}
```
``` math
T=\frac{P_2}{\omega_s}=\frac{E^2_1 (\frac{r_2}{s})}{2\pi f((r_1+\frac{r_2}{s})^2+(x_1+x_2)^2)}
```

例えば、滑りを2倍にしたいとき、$r_2$も2倍すれば$T$と$I_2$を一定にするという条件の下で変更することができる。これが誘導機のメリットの一つである。

# V/f制御
最後に、V/f制御について説明する。まず、$T$の最大値を求めてみる。

``` math
T=\frac{P_2}{\omega_s}=\frac{E^2_1 (\frac{r_2}{s})}{2\pi f((r_1+\frac{r_2}{s})^2+(x_1+x_2)^2)}= \frac{E^2_1 r_2}{2\pi f(r_1^2+(x_1+x_2)^2)s+\frac{r^2_2}{s}+2r_1 r_2}\le \frac{E_1^2 r_2}{2\pi f (2r_2\sqrt{(r_1^2+(x_1+x_2)^2) }+2r_1r_2)}(=T_{max})

```

ここで、抵抗成分はインダクタンス成分と比較して十分に小さいと仮定すると、

``` math
T_{max}=\frac{E_1^2 r_2}{2\pi f 2r_2 (x_1+x_2)}=\frac{E_1^2 r_2}{2\pi f 2r_2 (2\pi f L_1 +2\pi f L_2)}=\frac{E_1^2 }{8\pi^2 f^2 (L_1+L_2)}\propto　(\frac{E_1^2}{f^2})
```

ただし、$x_1,x_2=2\pi f L_1,2\pi f L_2$とする。

このように、トルクの大きさが$\frac{E_1^2}{f^2}$によっておおよそ変化することを利用した制御をV/f制御という。これは、ベクトル制御よりも単純な方法として多用されている。


# まとめ
今回は誘導機の二次電流とトルクと滑りの関係についてPythonを用いて描写した。
具体的には、等価回路を用いることで、それらの特性を導出した。後半では実際に式を導出することで、比例推移、V/f制御の原理を等価回路から導出した。