電気信号の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出版社 新刊情報



別冊CQ ham radio QEX Japan No.53

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

CQ ham radio 2024年12月号

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

CQゼミシリーズ

藤原進之介監修 テスト形式で総まとめ 情報Ⅰ標準問題集

トランジスタ技術 2024年12月号

世界AI ChatGPT電子回路

Design Wave Advance シリーズ

Arm Cortex-M23/M33プロセッサ・システム開発ガイド

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