もう少し真面目に555タイマーの計算を説明してみる

こんにちは.今回は555タイマーICの計算を説明してみます.

計算式自体は以前 555タイマーのPWMを計算する話 - だたろう’s diary という話でまとめたのですが,そもそもこの記事でやりたかったことの前提の話になっており,記事では簡潔な適当な解説になっていて分かりにくいかなと思ったので改めて説明してみます.

555タイマーとは

555タイマーは,昔からある割と有名なICです.矩形波を出したり,一定時間だけ信号を出したり,フリップフロップになったりします.NE555とかLMC555とか色々ありますが,基本は同じはずです.その動作モードとしては,主に3種類あります.

非安定モード(astableモード)

非安定モードは,出力がHighとLowで常に切り替わる矩形波を出力するモードです.HighとLowのどちらもすぐ他方の状態に切り替わるので非安定です. 本記事では,このモードに関する計算をします.

単安定モード(monostableモード)

単安定モードは,信号を受け取ると一定時間だけ出力がHighになり,その後はまた信号が来るまでLowであり続けるモードです.出力がHighの時は勝手にLowに切り替わりますが,出力がLowの時は信号が来るまでずっとその状態が保持されるので単安定です.

一瞬信号が送られると(赤),一定時間出力がHighになる(緑)

双安定モード(bistableモード)

双安定モードは,セット信号を受け取るとずっとHighになり,リセット信号を受け取るとLowを出力するモードです.タイマーというよりはコンパレータやフリップフロップと言った方が分かりやすいかもしれません. HighとLowのどちらの状態でもその状態を保持できるので双安定です.

非安定モードでの周期,周波数,Duty比の計算

非安定モードは矩形波を出力します.そして矩形波の周波数やDuty比はICに接続するコンデンサと抵抗の値で決まります.非安定モードでもいろいろな回路があると思いますが,多分一番シンプルな回路図と周波数f[Hz],周期T[s],Duty比D[%]の計算式を先に示しておきます.

R1とR2の抵抗値をそれぞれR_1[Ω],R_2[Ω]とし,コンデンサC1の容量をC[F]とすると

 \displaystyle
f  = \frac{1}{C(R_1 + 2R_2)\ln2}


 \displaystyle
\begin{aligned}
T &= \frac{1}{f} \\
 &= C(R_1 + 2R_2)\ln2
\end{aligned}


 \displaystyle
D = \frac{R_1 + R_2}{R_1 + 2R_2} \times 100


ここに示した式は,あくまで上の回路図で理想的に動く場合です.他の回路図を参考にするときは部品番号などに注意しましょう.以降は,この計算式の導出を行います.

計算式を求める

動作原理

上に示した式を求めるためには,まず555タイマーがどのように動作しているか把握する必要があります.といっても難しいことは抜きにして,最低限必要な部分のみ説明します.
555ICは回路図中のコンデンサの電圧を監視しています.

  • コンデンサは電源電圧の2/3になるまでR1とR2を通して充電され,この間ICの出力はHighとなります.

  • コンデンサの電圧が電源電圧の2/3になると次はコンデンサ電圧が電源電圧の1/3になるまで放電されます.放電するときの電流はR2を通り,Dischargeピンに入りIC内部でGNDへ接続されます.この間ICの出力はLowになります.

これを繰り返し,矩形波を出力しています.つまりコンデンサの電圧は電源電圧の1/3と2/3の間を行ったり来たりする三角形のような波形になります.
充放電にかかる時間はR1,R2の抵抗値とコンデンサの容量により決まるので,これらで周波数やDuty比を変化させられることになります.

動作イメージ(赤の経路で充電され,青の経路で放電される)

コンデンサの電圧波形(電源電圧5V)

充電にかかる時間

まずはコンデンサが充電される期間,つまり555ICがHighを出力している時間t_{\rm{High}}を求めます.回路図中の赤矢印に注目し,この部分について微分方程式を解きます. 電源電圧をV[V],コンデンサの容量をC[F],コンデンサにたまっている電荷Q[C],流れている電流をi[A]とすると,

 \displaystyle
V = (R_1 + R_2) i + \frac{Q}{C}

となります.電流は電荷の時間変化なので,

 \displaystyle
V = (R_1 + R_2)\frac{dQ}{dt} + \frac{Q}{C}

となります.コンデンサにたまっている電荷Qは時間の関数です.この微分方程式を解くと,

 \displaystyle
Q = CV\left(1-\frac{2}{3}\exp\left(-\frac{t}{C(R_1 + R_2)}\right)\right)

ただし,充電が開始されるのはコンデンサが電源電圧の1/3になった時なので初期条件は

 \displaystyle
Q(0) = \frac{1}{3}CV

となります.さらに,コンデンサ電荷と電圧の関係を用いると,充電時のコンデンサの電圧波形v_{\rm{charge}}

 \displaystyle
\begin{aligned}
v_{\rm{charge}} &= \frac{Q}{C} \\
&= V\left(1-\frac{2}{3}\exp\left(-\frac{t}{C(R_1 + R_2)}\right)\right)
\end{aligned}

これで充電時の電圧波形が求まりました.
コンデンサが充電されている間タイマーICの出力はHighになり,コンデンサ電圧が2/3Vになるまで充電されます.よって,ICの出力がHighである時間t_{\rm{High}}に関して,

 \displaystyle
v_{\rm{charge}}(t_{\rm{High}}) = \frac{2}{3}V

が成り立ち,これを解くと

 \displaystyle
t_{\rm{High}} = C(R_1 + R_2)\ln2

となります.

放電にかかる時間

続いて,コンデンサが放電される時間,つまりICの出力がLowになっている時間t_{\rm{Low}}を求めます.先に示した回路図の青矢印に注目し,この部分について微分方程式を立てます.

つまりこのような回路を考える

先ほどと同様に微分方程式を立てると,

 \displaystyle
0 = R_2\frac{dQ}{dt} + \frac{Q}{C}

となります.これを解いて,

 \displaystyle
Q = \frac{2}{3}CV\exp\left(-\frac{t}{CR_2}\right)

となります.放電が始まるのはコンデンサの電圧が2/3Vに到達したときなので,初期条件は

 \displaystyle
Q(0) = \frac{2}{3}CV

です.さらに,コンデンサ電荷と電圧の関係を用いて,放電時の電圧波形v_{\rm{discharge}}は,

 \displaystyle
v_{\rm{discharge}} = \frac{2}{3}V\exp\left(-\frac{t}{CR_2}\right)

となります.
コンデンサが放電されている間タイマーICの出力はLowになり,コンデンサ電圧が1/3Vになるまで放電されます.よって,ICの出力がLowである時間t_{\rm{Low}} に関して,

 \displaystyle
v_{\rm{discharge}}(t_{\rm{Low}}) = \frac{1}{3}V

が成り立ち,これを解くと

 \displaystyle
t_{\rm{Low}} = CR_2\ln2

となります.

周期,周波数,Duty比の計算

コンデンサと出力の波形を1周期分表しました.ここまでくればあともう少し.
矩形波の周期Tは,図より

 \displaystyle
\begin{aligned}
T &= t_{\rm{High}} + t_{\rm{Low}} \\
&= C(R_1 + 2R_2)\ln2
\end{aligned}

周波数fは,

 \displaystyle
\begin{aligned}
f &= \frac{1}{T} \\
&= \frac{1}{C(R_1 + 2R_2)\ln2}
\end{aligned}

Duty比Dは,

 \displaystyle
\begin{aligned}
D &= \frac{t_{\rm{High}}}{T} \times 100\\
&= \frac{R_1 + R_2}{R_1 + 2R_2} \times 100
\end{aligned}

となり,最初に示した式を導出することができました.

まとめ

今回は,以前解説した555タイマーの周波数計算について,もう少し丁寧に説明してみました.自分はCR充放電の微分方程式の解き方を忘れるくらい数学苦手ですので,計算ミスなどありましたら指摘していただければと思います. 今回紹介のみになった単安定,双安定モードや非安定モードでもさらに工夫された回路とかあるのでぜひやってみてください.