この記事でわかること
・555の種類と特長
・タイマー、発振器としての使い方
・その他の利用方法(ドライバなど)
タイマーIC NE555(1972年発売)は50年以上の超ロングセラー品です。
このICは、タイマーや発振器として使うのが本来の用途ですが、
非常に安価(数十円程度)であることから、
内部回路のコンパレータやフリップフロップだけを利用しても、十分に元がとれます。
また、出力電流が大きいことから、FET等を駆動させるドライバICとしても使えます。
本記事では、タイマーIC 555の3つの使い方
(タイマー、発振器、ドライバ)について解説します。
<注意点>
本記事で解説するタイマーICの使い方は一般的な内容です。
各メーカーで仕様が異なっており、
ここで紹介する方法が適切で無い場合がある為、
使用の際は、デバイスのデータシートを必ず確認して下さい。
555の種類と特徴
タイマIC 555には、バイポーラトランジスタで構成されるバイポーラタイプと、
後から登場したMOSFETで構成されるCMOSタイプがあります。
2つのタイプの主な相違点は以下になります。
出力電流を除き、CMOSタイプの方が優れています。
また、あとで説明しますが、
CMOSタイプの方がタイマ時間や周波数の設定範囲を広くとれます。
両タイプとも、出力電流が比較的大きいですが、
これは流すことができる電流値であって、その時の出力電圧まで保証していません。
例えば、バイポーラタイプであるNE555でVcc=5Vの場合、
Hレベル出力電圧VOHは出力電流100mAで、2.75Vまで低下し、
Lレベル出力電圧VOLは出力電流8mAで、0.4Vまで上昇してしまいます。
つまり、出力電流を多く流す分、H出力電圧の降下・L出力電圧の上昇が大きくなり、
出力相手先がH/Lレベル判定できなくなる恐れがあります。
このため、TTLレベル(VOH:2.4V以上、VOL:0.4以下)を満足させるには、
出力電流を小さくする必要が出てきます。
この時、Lレベルで出力できる電流は8mAと、かなり小さくなってしまうので注意が必要です。
このことは、CMOSタイプでも同様であり、
3.3V電源でも動作できますが、Vccが低いと、出力できる電流は更に小さくなります。
各メーカーから発売されている555を以下に示します。
また、各タイプにはタイマ回路が2個入りの製品もあります。
<バイポーラタイプ>
1回路:NE555(TI)、LM555(TI ※1)
2回路:NE556(TI)
<CMOSタイプ>
1回路: ICM7555(Intersil、アナデバ)
LMC555(TI ※1)
TLC551、TLC555(TI)
MIC1555、MIC1557(microchip)
TS555(ST)
2回路: ICM7556(アナデバ)
TLC552、TLC556(TI)
TS556(ST)
TI :テキサスインスツルメンツ
※1:ナショナル・セミコンダクターだったがTIに吸収
Intersil :インターシル(ルネサスの子会社となっている)
アナデバ:アナログデバイセズ
microchip:マイクロチップテクノロジ
ST :STマイクロエレクトロニクス
Amazonを見ると、コピー品と思われる製品が沢山出てきます。
555の内部構成と動作原理
NE555のピン配置と内部回路を示します。
抵抗値R(NE555の場合は5kΩ)が3個直列接続され、
コンパレータ2個(COMP1,2)とRS-FF(フリップ・フロップ)、
オープンコレクタ出力(DISCH)と、プッシュプル出力(OUT)から構成されています。
コンパレータは+入力と-入力を比較し、
電圧が高い方が+ならH、ーならLを出力します。
RS-FF(フリップ・フロップ)は本来、
R(リセット)が来たらL、S(セット)が来たらHを出力しますが、
出力は反転論理の/Qなので、リセットで出力H、セットでLです。
プッシュプル出力OUTは、H入力でL出力、
L入力でH出力される反転(インバーター)回路になっています。
プッシュプルについては下記記事で解説しています。
これによって、タイマICの出力OUTは、
リセットでL出力、セットでH出力されます。
オープンコレクタ出力DISCHのトランジスタTRは、
リセットでオン(DISCH端子がGNDショート)、
セットでオフ(DISCH端子オープン)します。
オープンコレクタについては下記記事で解説しています。
また、このRS-FFは強制リセット(RESET)が付いていおり、
RESETがLになると、他の入力に関係なく、タイマICの出力がLになります。
(優先度:RESET>S>R)
入力信号は以下の4つです。
TRIG(トリガ)
入力電圧がCONT電圧/2以下(1/3×Vcc)になると、
COMP2の出力は、-入力より+入力の方が高くなるので、Hになります。
これにより、S入力がHになるので、RS-FFはセット状態となり、
OUTはH出力、DISCHはオープン状態になります。
THRES(スレッショルド)
入力電圧がCONT電圧以上(2/3×Vcc)になると、
COMP1の出力は、-入力より+入力の方が高くなるので、Hになります。
これにより、R入力がHになるので、RS-FFはリセット状態となり、
OUTはL出力、DISCHはGNDショートされます。
但し、TRIG入力がある場合は、S入力がR入力よりも優先されるので
THRES入力は無視されます。
RESET(リセット)
Lレベルにすると、他の入力信号に関係なく、RS-FFが強制リセットされるので、
OUTはL出力、DISCHはGNDショートされます。
CONT(コントロール)
外部から電圧を入力、又は抵抗を接続することでCONT電圧を調整できます。
(つまり、COMP1,2の閾(しきい)値電圧が変更可能)
CONT端子に外部から電圧を入力する場合は、抵抗分圧したものを直接接続すると、
555の内部抵抗とで分圧されるため、CONTへの入力電圧が低下してしまいます。
そのため、オペアンプを用いたボルテージフォロワを使い、
出力インピーダンスを十分小さくすることで、
分圧の影響を無くし、入力電圧の低下を防止します。
CONT電圧を調整するもう一つの方法として、
図の様に抵抗Rcを接続することで内部抵抗との分圧比を変えて電圧を調整します。
例えば、Rc=10kΩを接続すると、
閾値電圧がTHRESが1/2×Vcc、TRGが1/4×Vccになります。
何も接続しない場合は、CONT電圧は2/3×Vccなので、
閾値電圧はTHRESが2/3×Vcc、TRGが1/3×Vccになります。
通常、CONT端子は使わない事が多いですが、
その場合、ノイズによる誤動作を防ぐため、バイパスコンデンサを接続します。
(0.01uF~0.1uFのセラミックコンデンサを使用)
出力信号は2つです。
OUT(出力)
RS-FFの/Q信号の論理を反転した信号が出力されます。
(RS-FFがリセットされるとL、セットでHが出力)
プッシュプル回路によって、
100mA~200mAの比較的大きな電流を出力できます。
DISCH(ディスチャージ)
オープンコレクタ出力になっており、
/QがLでTRがオフ、Hでオンします。
従って、RS-FFがリセットされると、DISCH出力がGNDにショートされ、
セットでオープンとなります。
このICは3つの動作モードを持ちます。
・単安定(モノステーブル)モード(タイマとして使用)
・無安定(アステーブル)モード(発振器として使用)
・双安定(バイステーブル)モード(ドライバ等に使用)
次に各モードの動作について説明します。
単安定モード
Monostable(モノステーブル)モードとも呼ばれ、
安定状態が1つあることを意味し、
出力Lが安定状態で、出力Hが不安定状態になります。
つまり、出力L状態は外部から信号を加えない限り、そのまま維持しますが、
出力H状態は時間が経つと、L状態になってしまう事を意味します。
この特徴により、一定時間だけH出力するタイマとして使用できます。
※別名:ワンショットモードとも呼ばれます。
タイマー動作
・初期状態
RESETがLレベルの時、RS-FFが強制リセット(/Q=H)されるため、
DISCHがGNDショートとなるので、コンデンサCの電圧は0Vとなり、
タイマ出力OUTはLです。
その後、RESETをHにしても、THRESは0Vなので、RS-FFのR入力はL、
TRIGはプルアップされているのでS入力もLとなり、
リセット状態を維持するので、OUTはLのままです。
・タイマー開始
TRIGをL(1/3×Vcc以下)にすると、RS-FFがセット(/Q=L)されるので、
OUTはHになります。(タイマー出力開始)
また、DISCHがオープンになるので、コンデンサCは抵抗RAを経由して
電流が流れ込むことで充電され、THRES電圧が上昇していきます。
その後、TRIGをHにして、RS-FFのS入力がLになっても、
R入力がH、又はRESET入力がLにならない限り、
セット状態を維持するので、OUTはHのままです。
・タイマー終了
THRES電圧が上昇し、Hレベル(2/3×Vcc以上)になると、
RS-FFのR入力がHになるので、RS-FFがリセット(/Q=H)され、
OUTがLになります。(タイマー出力終了)
また、DISCHがGNDショートすることで、コンデンサCの電圧は0Vに低下し、
THRES電圧がLレベルになるので、R入力はLになりますが、
R-FFの出力はそのままの状態(/QがH)を維持するので、OUTはLのままです。
タイマー時間の設定
タイマー出力OUTがHである期間(タイマー時間)は
THRES電圧が2/3×Vccになるまでの時間になります。
THRES電圧はCRA直列回路に電圧Vccを印加し、
時間tが経過時のコンデンサ充電電圧になります。
V(THRES)=2/3×Vcc になる時の時間tがタイマー時間になるので、
になります。
タイマー時間tは時定数CRAの1割増程度なので、
時定数CRA≒タイマー時間と考えることができます。
以上から、計算上は、タイマー時間はCとRAだけで決まりますが、
実際には温度や電源電圧による変動が僅かながら存在します。
タイマーの精度
タイマーの精度については、NE555のデータシートを見ると、
単安定モード時の初期精度が最大3%となっています。
この精度は555単体での値であり、抵抗やコンデンサの精度による影響を受けます。
精度1%の抵抗、5%のコンデンサにした場合、10%程度の精度になります。
このため、正確なタイマー時間を設定したい場合は、
図のように可変抵抗VRを追加することで、調整することができます。
しかし、先ほど述べたように温度や電源電圧による影響を受けるため、
VRで調整しても、周囲温度の変化や電源電圧の値によって、
タイマー時間は変動してしまいます。
この変動の大きさは、それぞれ温度安定性、電圧安定性として定義されています。
NE555の場合、温度安定性は平均50ppm/℃です。
つまり、1℃で0.005%変動するので、使用温度範囲を0~60℃とした場合、
使用時の周囲温度によって、タイマ時間は約0.3%違ってきます。
電源安定性は最大0.5%/Vとなっています。
これは、タイマー動作中の電圧変動ではなく、
555の電源電圧を5V~15Vの間で設定した場合のタイマー時間への影響を示すものです。
つまり、Vccの設定電圧を1V変えた場合、タイマ時間が0.5%変化することを意味します。
例えば、使用する電源の仕様が5V±5%なら、
Vccの設定電圧に0.5Vの差が生じるため、タイマ時間は0.25%変化します。
但し、これはタイマ動作(コンデンサ充電期間)中にVccが変化しないことが前提です。
動作中にVccが変動すると、タイマー時間は大きく変動していまいます。
このため、出力変動の少ない電源を使用すると共に、
電源ピン(1-8ピン間)にバイパスコンデンサC1を入れて電源を安定化させます。
(0.01uF~0.1uFのセラミックコンデンサを使用)
タイマー時間の設定範囲
タイマー時間を長くするには、CやRAを大きくする必要がありますが、
RAを大きくした場合、充電電流が小さくなり過ぎると、
回路の漏れ電流によりタイマが正しく動作しなくなります。
回路の漏れ電流とは、THRES入力に流れ込む電流と、
コンデンサの漏れ電流になります。
THRES入力はコンパレータに入力されているので、
理想的には入力インピーダンス無限大で入力電流ゼロなのですが、
NE555の場合、スレッショルド電流として定義されており、
THRES入力に0.25uA流れ込みます。
このため、例えばRAが20MΩだとすると、電圧降下が20MΩ×0.25uA=5Vとなります。
これによって、Vcc=15Vの場合、THRES電圧が10Vまで低下してしまい、
THRES入力がHレベルとなる閾値の2/3×Vcc(つまり10V)を超えることができず、
タイマーが終了できなくなります。
また、Cを大きくした場合、
100μFを超えてくると電解コンデンサを使う必要が出てきますが、
コンデンサの漏れ電流が大きい(数十uA程度)ため、
充電電流が小さいと、充電電圧の上昇に影響が出ます。
逆にタイマー時間を短くするには、CやRAを小さくしますが、
RAが小さすぎると、TRがオン時に過大電流が流れてICが故障します。
以上の理由から、NE555のデータシートを見ると、
RAが1k~10MΩ、Cが0.001u~100uFで設定されており、
タイマー時間は10us~10sが推奨範囲となっています。
また、LMC555などのCMOSタイプの場合、
スレッショルド電流が10pAと、バイポーラタイプに比べ桁違いに小さく、
漏れ電流による影響が小さくなるため、タイマー時間を長くできます。
TRIG入力について
TRIGがLになり、タイマーが開始されると、
その後、TRIGがHやLに変化しても、タイマー動作に影響しません。
このため、タイマー出力中に再度、TRIGがLになっても、
タイマー時間は延長しません。
この特徴は、TRIG入力をスイッチで行う場合、チャタリングが発生しても
タイマー動作に影響しないという利点になります。
※チャタリング:信号がH/Lにバタつく現象のこと
しかし、TRIGがLのままだとRS-FFをリセットできないため、
タイマー出力OUTがLに戻らなくなります。
また、NE555のデータシートを見ると、
「タイマ時間終了の10us以上前にTRIGをHにしておくこと」と記載があります。
従って、TRIGのL期間は、「タイマ時間(1.1CRA)ー10us」以内にする必要があります。
一方、TRIGがLと認識するのに必要な最小L期間ですが、
CMOSタイプのLMC555では20nsとされています。
バイポーラタイプのNE555には記載がありませんが、
低速動作のため、それよりも十分長い時間が必要です。
(2us程度あれば十分と考えます)
以上の様にTRIG信号のL期間は制約があることから、
TRIGへのL入力を押しボタンスイッチにした場合など、
L期間がタイマー時間より長くなる恐れがある場合、
微分回路を使って、TRIG信号のL期間を短くします。
この回路の動作ですが、SWをオンして、SETが0Vになると、
R3を経由してC3が充電されることで、TRIG電圧は上昇します。
このTRIG電圧がHレベルとなる1/3×Vccまで上昇する時間tは
以下の式で求まります。
この時間が2usより長く、
タイマー時間(1.1CRA)-10usより短くなるようにR3,C3を設定します。
その後、SWをオフし、SETがHになった瞬間、
HレベルであるTRIG電圧にC3の充電電圧Vcc分上昇することで
2×Vccとなり、TRIGに過電圧が入力されてしまいます。
これを防ぐため、D1によるダイオードクランプを設けることで、
TRIG電圧がVcc以上にならないようにします。
(実際はD1の順方向電圧VF分、上昇します)
RESET入力について
タイマー期間中にRESETをLにすると、
タイマーは強制終了(出力L)します。
(TRIG入力があっても無視されます)
RESETのLレベル電圧はTRIG電圧のLレベルと違い、電源電圧Vccとは無関係で、
NE555の場合、0.3V以下でL、1V以上でHレベルになります。
RESTをLレベルにするのに必要なリセット電流は最大1.5mAと比較的大きいため、
REST信号を出力するICのLレベル出力電流(シンク電流)が十分あるものを選びます。
また、電源投入時のRS-FFの状態(リセットorセット)は未定なので、
TRIG入力が無くてもタイマー出力OUTがH出力される恐れがあるため、
起動時はRESETをLにして、リセットさせる必要があります。
このため、図のようなパワーONリセット回路を設けることで、
電源投入時のタイマー誤出力を防ぐことができます。
電源投入時のRESETがLである期間をtとすると、
時定数R4,C4は電源の立上り時間より十分長くなるように選びます。
ここでは、R4 :10kΩ C4:0.1uF とすると、
t=60us
となり、起動から60usはRESETがLレベルになります。
CONT入力について
CONT端子に外部から電圧Vcを入力することで、
タイマー動作中にタイマ時間を電圧制御できることから、
PWM出力回路として利用することができます。
また、発振器モード時は、電圧で周波数を制御できるので、
VCO(電圧制御発振器)やFM(周波数変調)回路に応用できます。
しかし、CONT電圧ータイマ時間・周波数特性が直線的でないため、
調整がし難く、調整幅も小さいです。
また、CONT電圧を変えると、
TRIG入力の閾値も同時に変わってしまうので注意が必要です。
無安定モード
Astable(アステーブル)モードとも呼ばれ、
安定状態が無いことを意味し、
出力L及びH共に不安定状態になります。
つまり、出力LとH状態共に外部から信号を加えなくても、
一定時間が経つと、もう一方の状態に移ってしまう事を意味します。
この特徴により、一定時間毎にHとLに切替わる発振器として使用できます。
発振器動作
・初期状態
RESETがLレベルの時、RS-FFが強制リセット(/Q=H)されるため、
DISCHがGNDショートとなるので、コンデンサCの電圧は0Vとなり、発振器出力OUTはLです。
・動作開始
その後、RESETをHにした時、THRESとTRIG入力が0Vなので、
COMP1はL、COMP2はHが出力され、RS-FFはセット状態になります。
出力OUTはH、DISCHのトランジスタTRはオフとなります。
これによって、VccからRA,RBを経由して電流がCに流れることで充電され、
C電圧は上昇していきます。
C電圧が1/3×Vccを超えるとCOMP2はLになりますが、
COMP1もLのままなので、RS-FFは変化せず、C電圧は上昇を継続します。
・出力切替(H→L)
C電圧が2/3×Vccを超えるとCOMP1はHになるため、
RS-FFはリセットされるので、OUTはLとなり、DISCHがGNDショートとなります。
この時、タイマー動作時と違い、RBがあることで放電電流が制限されるため、
C電圧はすぐ0Vとならず、徐々に下降していきます。
・出力切替(L→H)
C電圧が1/3×Vccを下回るとCOMP2はHになるので、
RS-FFは再びセット状態になり、OUTはH、DISCHはオフになります。
以上から、C電圧は1/3×Vccと2/3×Vccの間で上下変動し、
OUTはH/Lを繰り返し出力することでクロック出力になります。
また、RESET入力をLにすると、発振器は強制的に停止します。
H期間とL期間について
OUTがHである期間は、初期状態(C電圧が0V)からの1回分を除き、
C電圧が1/3×Vccから2/3×Vccまで充電されるまでの時間tHとして、以下の式で求められます。
L期間は、C電圧が2/3×Vccから1/3×Vccまで放電されるまでの時間tLとして、
以下の式で求められます。
つまり、H期間tHは、RAがある分、L期間tLよりも長くなります。
RA=0にすれば、tH=tLで50%DUTYになりますが、
DISCH出力がオンするとVccがショートとなり、過大電流が流れてICが壊れるため、
この回路では50%DUTYにはできません。
周期TはHとL期間の合計なので、
T=tH+tL=ln2×(2RB+RA)×C≒0.69(2RB+RA)×C
周波数fは
f=1/T=1.44/[(2RB+RA)×C]
になります。
上記の式より、周波数やDUTYはRA、RBとCで決まりますが、
タイマー動作と同様、実際には温度や電源電圧によって変動します。
周波数の精度と設定範囲
周波数の精度については、
NE555のデータシート(前述した「タイマー時間の精度」参照)を見ると、
無安定モード時の初期精度が2.25%となっており、
単安定モード(タイマー動作時)の1%に比べ劣っています。
また、温度安定性や電源安定性も単安定モード時より悪く、あまり高精度にできません。
設定範囲は0.1~10kHz程度と、デジタル回路としては低速です。
50% DUTY発振器
上記で説明した通り、先程の基本回路ではONデューティーを50%にできません。
50% DUTYのクロック出力が必要な場合、
以下の回路がデータシートに記載されています。
(動作は確認していないので、精度や安定性については不明です)
この回路はダイオードD1,D2を追加することで、
C充電時にVccからの電流がD1を経由することでRBが無視できます。
これにより、H期間の式にRB=0を入れると、
tH=0.69×(RA+RB)C=0.69RAC
となります。
L期間はtL=0.69RBC なので、
RA=RBにすれば、tH=tLになり、
50% DUTYとなります。
D2を設ける理由は充電時にD1の順方向電圧VF分、低下するので、
放電時もD2を経由させてVF分低下させることで、HとLに差が生じない様にしています。
もう一つの50% DUTY回路は、CMOSタイプの555で使用できます。
この回路はクロック出力に使用していたOUTをCの充放電に使用し、
DISCHをオープンコレクタ出力として利用するため、プルアップ抵抗をつけます。
CMOSタイプである理由ですが、出力電流が小さければ、
OUT電圧がVccから0Vまで出力できるからです。
バイポーラタイプだと、出力電圧がTTLレベルなので、
H出力がVccより低く、L出力は0Vより高くなるため、この回路に向きません。
CMOSの場合、OUT端子のH出力電圧は、ほぼVccなので、
RCを経由してCが充電されるので、H期間tH=0.69RcCとなります。
OUT端子のL出力電圧は、ほぼ0Vなので、RCを経由してCが放電されるので、
L期間tL=0.69RcCとなることから、tH=tLとなり50% DUTYとなります。
双安定モード
Bistable (バイステーブル)モードとも呼ばれ、
安定状態が2つあることを意味し、
出力がH状態とL状態が共に安定を保ちます。
つまり、外部から信号を加えない限り、
出力がH、もしくはL状態のままであることを意味します。
このモードは、555をタイマーや発振器としてではなく、
コンパレータやフリップフロップ等の
内部回路の機能を利用したい場合に使います。
例えば、THRESとTRIGを接続し、入力として使うと、
シュミットトリガ・インバータになります。
シュミットトリガについて説明します。
通常のIC入力は、閾値を基準にして、
入力信号が高ければHレベル、低ければLレベルと判断しますが、
入力電圧が閾値付近をふらつくと、Hレベルになったり、
Lレベルになったりすることで、出力がバタついてしまいます。
(信号がH/Lにバタつく現象をチャタリングと呼びます)
シュミットトリガは、Hレベルと判断する閾値と、
Lレベルと判断する閾値が異なります。
これによって、一度Hレベルになったら、
入力電圧が少しくらい低下してもLレベルになりません。
逆にLレベルになったら、
Hレベルにするには十分に入力電圧を上げる必要があります。
そうすることで、入力電圧が多少ふらついても、
出力がバタつかなくなり、チャタリングの発生を防止できます。
このシュミット・トリガ・インバータの出力ですが、
OUT端子とDISCH端子の2つが利用できます。
OUT端子の方はプッシュプル出力なので、出力電流を多く流すことができます。
(バイポーラタイプで200mA、CMOSタイプで100mA)
このように出力電流が大きいことから、リレーやLED等を直接接続して制御したり、
FETを駆動させるドライバICとして使えます。
ドライバ出力が1点だけ必要な場合、これを使えば、
複数出力を持つトランジスタアレイを使うことなく、小型で無駄の無い回路を構成できます。
但し、本記事の最初で説明しましたが、出力電流が大きいと出力電圧が低下し、
相手先のICが、H/Lレベルを正しく認識できない場合があるので注意が必要です。
もう一つの出力であるDISCH端子はオープンコレクタ出力なので、
別電圧+Vでプルアップすることにより、
Vccとは別の電圧レベルで信号を出力できます。
(相手先の入力電圧レベルに合わせられる)
但し、DISCH端子は本来、タイマー時間を決めるコンデンサ充放電回路用であり、
出力として使用することを前提としていないので、
データシートに出力電流や電圧の規定が記載されてない場合が多いです。
NE555のデータシートにはDISCH端子のオン電圧規定時の条件として、
Vcc=5V、8mA としていることから、
OUT端子と違い、大きな電流は流せないです。
次にフリップフロップとして使う場合です。
TRIGとRESETをプルアップすることで、それぞれが、
ローアクティブ(Lで有効)のセット入力、リセット入力になります。
この時、RS-FFのもう一つのリセット入力Rを無効にするために、
THRESはGNDに接続します。
出力OUT及びプルアップされたDISCH出力は、
セット入力でH、リセット入力でLとなります。
セット、リセット同時入力の場合はリセットが優先されます。
一度、セット又はリセットされると、
入力がHに戻っても、出力はそのままの状態を維持します。
以上のように、双安定モードは、
タイマICをシュミットトリガやフリップフロップとして使えますが、
入力の論理レベルがTTLレベルでないことや、動作速度が遅いといった欠点があります。
以下の記事で、半田付けのコツや部品の外し方を解説しています。
工作時に役立つ工具類を紹介しています。