■チャタリング防止回路 マイコンにスイッチを取り付けてみたのだがチャタリングが起きて 一回スイッチを押しただけなのに十数回押した事になってしまいました 本来ならソフトで解決すればいいのだが、あえて回路で解決しようと思います ▼手元にあった部品を組み合わせて作った回路 一般的にこの手の回路では抵抗は1KΩ〜1MΩ、コンデンサは100pF〜100μFを使う ▼コンデンサの充電にかかる時間 □時定数を求める Rは抵抗(単位はオーム) Cは静電容量(単位はファラド) 抵抗 R 470+470+470 = 1410Ω 静電容量 C 10 * 0.000001 = 0.00001F 時定数 CR 1410 * 0.00001 = 0.0141 14ms □一定時間後の電圧を求める εは自然対数の底 2.71828...... 電圧を4.5Vとして計算 5ms後の電圧 4.5*(1-0.699)=1.354V 10ms後の電圧 4.5*(1-0.489)=2.299V 14ms後の電圧 4.5*(1-0.367)=2.848V 17ms後の電圧 4.5*(1-0.296)=3.168V 20ms後の電圧 4.5*(1-0.239)=3.424V 22ms後の電圧 4.5*(1-0.207)=3.568V 24ms後の電圧 4.5*(1-0.180)=3.690V ▼コンデンサの放電にかかる時間 考え方としては充電の反対ですね 抵抗 R 470Ω 静電容量 C 10 * 0.000001 = 0.00001F 時定数 CR 470 * 0.00001 = 0.0047 5ms 0ms後の電圧 4.5*(1.000)=4.500V 1ms後の電圧 4.5*(0.818)=3.681V 2ms後の電圧 4.5*(0.670)=3.015V 3ms後の電圧 4.5*(0.548)=2.466V 4ms後の電圧 4.5*(0.449)=2.020V 5ms後の電圧 4.5*(0.367)=1.651V 6ms後の電圧 4.5*(0.301)=1.354V 7ms後の電圧 4.5*(0.246)=1.107V 8ms後の電圧 4.5*(0.201)=0.904V 9ms後の電圧 4.5*(0.165)=0.742V ■シュミットトリガ シュミットトリガとは入力にしきい値(スレッショルドレベル)が2つある論理回路です HD74HC14のデータシートを見ると、4.5Vの時に 3.15Vと1.9Vの二箇所にしきい値があり、 入力が 3.15Vを超えるまで H レベルにはなりませんが、一度 H レベルになると 今度は入力が 1.9V を下るまで L になりません ▼回路図にシュミットトリガを追加 シュミットトリガを追加したことにより スイッチを押した時、コンデンサの電圧が3.15Vを超えるまでの17ms スイッチを放した時、コンデンサの電圧が1.9V以下になるまでの5ms H と L レベルがバタつかない事になります 一般的にチャタリングの継続時間は、数100μs〜数msであるため問題なく動作すると思われます スイッチの ON/OFF に対してもチャタリングが発生しなくなりました。