電気信号のON/OFFを取り除く回路



『LTspice Users Club』のWebサイトはこちら

■問題
電気回路 ― 基礎

平賀 公久 Kimihisa Hiraga

 図1は,プッシュ・スイッチを入れた瞬間,電気信号が勝手にON/OFFを繰り返す現象(バウンス)を取り除く,デバウンス回路です.この回路で,バウンスがない正常な場合,Vcの電圧波形は,図2の(a)~(d)のどれでしょうか.プッシュ・スイッチは,10msで押してONさせ,スイッチのオン抵抗は0Ω,オフ抵抗は無限大とします.


図1 スイッチのバウンスを取り除くデバウンス回路


図2 図1にバウンスが無い場合のVcの電圧波形
正しい波形はどれか?

(a)の波形 (b)の波形 (c)の波形 (d)の波形

■ヒント

 図1のプッシュ・スイッチは,0ms~10msの間はOFF(非導通),10ms以降はON(導通)です.なので,このスイッチのON/OFFにより,10msを境にしてコンデンサの状態は充電,あるいは放電となります.また,そのときの時定数を検討すると分かります.

■解答


(b)の波形

 図1のプッシュ・スイッチは,0ms~10msの間がOFF(非導通)なので,その間に,C1がR1とR2を介し5V充電されています.10ms以降は,ON(導通)となり,R2とプッシュ・スイッチを介して放電し,GNDの電圧と等しくなります.充電と放電の状態を表しているのは,図2の(b)と(d)となります.放電は,C1からR2を通りGNDに向けて流れる経路なので,その時定数は「C1R2=10ms」です.(d)は時定数が無く,10msの時定数を持つのは(b)となります.なので,バウンスがない正常な場合のVcの電圧波形は,(b)の波形となります.

■解説

●デバウンス回路でない場合のOUTの波形
 図3は,図1のR2とC1を外した回路でデバウンス回路ではありません.この回路の動作は,INの電圧はプッシュ・スイッチがONのとき0V(Low),OFFのとき5V(High)のディジタル信号となります.A1のシュミット・トリガ入力のインバータを通して出力します.シュミット・トリガ入力のインバータは,INの電圧に雑音が重畳されたときにOUTの信号が誤動作しないようにします.この回路を用いて,プッシュ・スイッチのバウンスにより,OUTの波形がどうなるかシミュレーションで確認します.ここで,図3のプッシュ・スイッチ(X1)は,図4のサブサーキットに対応しています.


図3 デバウンス回路でないときのOUTをシミュレーションする.

 図4のV1は,10ms~30ms間のバウンスを,スイッチのON/OFFを記述した「bouncing.txt」を読み込むことで模擬します.


図4 図3のプッシュ・スイッチのサブサーキット
bouncing.txtを読み込み,プッシュ・スイッチのバウンスによる影響を模擬する.

 図5は,図3のシミュレーション結果で,上段がINの電圧波形,下段がOUTの電圧波形です.10ms以降では,バウンスによりINの電圧が5V(High)と0V(Low)を繰り返し,それがシュミット・トリガ入力のインバータによって反転したOUTの信号となります.このように1回のプッシュ・スイッチを押す信号が,バウンスの影響によりディジタル信号のHighとLowを繰り返えした信号になるので良くありません.


図5 図3のシミュレーション結果 INとOUTは,バウンスの影響によりON/OFFを繰り返す.

●スイッチが理想のときのデバウンス回路の動作
 図6は,図1をシミュレーションする回路です.


図6 図1をシミュレーションする回路

 プッシュ・スイッチ(X1)のサブサーキットは図7で,バウンスが出ないようになっていて,10msに1回だけONとなります.


図7 図6のプッシュ・スイッチのサブサーキット
V1は10msに1回だけONとなるよう矩形波とする.

 図8は,図6のシミュレーション結果で,上段がINの電圧波形,中段がVcの電圧波形,下段がOUTの電圧波形です.


図8 図6のシミュレーション結果

 Vcの電圧波形は,0ms~10ms間,プッシュ・スイッチがOFFなので5Vとなります.10ms以降は式1の時定数でC1は放電して0Vとなります.

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・(1)

 これが,正解の図2の(b)の波形となります.シュミット・トリガ入力のインバータは,1.5Vの閾値で出力がHighとなるように設定しているので,下段のOUTの波形は,Vcの電圧が1.5Vより下がると出力が5Vとなります.また,図8には示しませんでしたが,プッシュ・スイッチがOFFになるときは,式2の時定数でC1は充電となります.

・・・・・・・・・・・・・・・・・・・・・・・・(2)

 式1と式2を比べると,充電は放電より長い時間がかかるようにしています.

●バウンスの影響を取り除くデバウンス回路の動作
 図9は,プッシュ・スイッチ(X1)のサブサーキットをバウンスがある図4に変更した回路です.この回路をシミュレーションし,プッシュ・スイッチで生まれたバウンスにより,短時間にON/OFFを繰り替えしたときの,デバウンス回路の出力を確認します.


図9 プッシュ・スイッチで生まれたバウンスの影響をシミュレーションする回路
X1のプッシュ・スイッチは図4のサブサーキットへ変更している.

 図10は,図9のシミュレーション結果です.上段がINの電圧波形,中段がVcの電圧波形,下段がOUTの電圧波形です.バウンスの影響によりINの電圧波形は乱れます.INの電圧波形が0Vになるとき,C1は式1の時定数τ1で放電するので,Vcの波形はINの波形と同期せず,0Vまでは落ちません.また,INの電圧波形が0Vから高い電圧側へ戻るとき,式2の時定数τ2で充電するので,Vcの電圧変化は,わずかしか変化しません.この動作により,中段のVcの波形となり,スイッチで生まれたバウンスは取り除かれ,OUTにはプッシュ・スイッチを1回押した信号が伝わります.


図10 図9のシミュレーション結果
スイッチで生まれたバウンスの影響は取り除かれている.

 今回解説したように,機械的な接点を持つスイッチは,短時間に接点がON/OFFを繰り返すバウンスが発生します.デバウンス回路は,バウンスの影響を取り除き,1回押した信号を正確に伝えることができます.


■データ・ファイル

解説に使用しました,LTspiceの回路をダウンロードできます.
LTspice5_032.zip

●データ・ファイル内容
Switch_debouncing_bad_cir.asc:図3の回路
pushbuttom_SW.asc:図4の回路
pushbuttom_SW.asy:図4のシンボル
Switch_circuit.asc:図6の回路
pushbuttom_SW_ideal.asc:図7の回路
pushbuttom_SW_ideal.asy:図7のシンボル
Switch_debouncing.asc:図9の回路
bouncing.txt:バウンスを模擬するファイル

■LTspice関連リンク先


(1) LTspice ダウンロード先
(2) LTspice Users Club
(3) トランジスタ技術公式サイト LTspiceの部屋はこちら
(4) LTspice電子回路マラソン・アーカイブs
(5) LTspiceアナログ電子回路入門・アーカイブs
(6) LTspice電源&アナログ回路入門・アーカイブs
(7) IoT時代のLTspiceアナログ回路入門アーカイブs
(8) オームの法則から学ぶLTspiceアナログ回路入門アーカイブs

トランジスタ技術 表紙

CQ出版社オフィシャルウェブサイトはこちらからどうぞ

CQ出版の雑誌・書籍のご購入は、ウェブショップで!


CQ出版社 新刊情報



トランジスタ技術 2025年 1月号

注目のロボット センサ&走行制御!

TECH I シリーズ

マイクロプロセッサ・アーキテクチャ教科書

Interface 2025年 1月号

数学&図解でディープ・ラーニング

別冊CQ ham radio QEX Japan No.53

巻頭企画 ハムのArduino活用の勧め

CQ ham radio 2024年12月号

アマチュア無線(再)開局お役立ち情報

アナログ回路設計オンサイト&オンライン・セミナ