|
前提知識
・インバータ
・PWM制御
・RL回路
・コンパレータ
インバータなどに用いられる、PWM制御による正弦波生成方法を説明します。
■正弦波生成回路図
以下のとおり、スイッチとローパスフィルタの役割となるRL回路によって構成されます。
PWM制御によってスイッチをタイミングよくON/OFFすることでRL回路部分で正弦波を生成する事ができます。
■PWM制御方法:三角波比較方式
正弦波を生成するためにスイッチを狙いのタイミングでON/OFFする方法として、三角波比較方式があります。
以下の様に生成したい正弦波と三角波をコンパレータで通すと、正弦波の値より三角波の値の方が小さい時は電圧レベルはONとなり、逆に三角波の値の方が大きい時は電圧レベルはOFFとなります。
■pythonによる実装例
import numpy as np
from scipy import signal
import matplotlib.pyplot as plt
f1 = 1 # 正弦波の周波数
f2 = 50 # 三角波の周波数
K = 0.015 # ローパスフィルタの時定数
v = 0.5 # 疑似正弦波の初期電圧値
v_t = [] # 電圧値格納スペース
x = np.arange(0,1,0.001) # 時間
sin = (np.sin(2 * np.pi * f1 * x) + 1)/2 # 狙いの正弦波
tri = (signal.sawtooth(2 * np.pi * f2 * x, 0.5) + 1)/2 # 三角波
on = sin > tri # ON/OFF信号
for i in on: # 疑似正弦波生成
v = K * i + (1-K)* v # ローパスフィルタ
v_t = np.append(v_t,v)
plt.plot(x, sin)
plt.plot(x, on)
plt.plot(x, v_t)
plt.show()
結果は以下のとおり。狙いの正弦波に近い正弦波を生成する事ができました。
この正弦波はローパスフィルタを介しているため遅れが発生します。またローパスフィルタの時定数によって三角波の周波数を適切に変える必要があります。
サブチャンネルあります。⇒ 何かのお役に立てればと
|
|