Closed7
光学式の無接点プッシュスイッチとチャタリング
この件で、チャタリング対策してる??って大先輩からツッコミをいただいたので、ちゃんと調べる。
そういうツッコミしてくださる先輩に感謝。
まず今回使ったのは光学式の無接点プッシュスイッチだったので、その影響でチャタリング発生の可能性が下がってた。
物理的な接点の跳ね返りがないのと、摩耗などによる接触不良も少ないためチャタリングの発生確率が下がる。
ChatGPT 4oに聞いてみた。
総合的な対策
- デバウンス回路:
- ハードウェアデバウンスやソフトウェアデバウンスを用いて、ノイズや瞬間的な信号変動を平滑化し、チャタリングを防ぐことができます。- ノイズフィルタ:
- 電源ラインにフィルタを追加したり、シールドを使用して外部からの干渉を防ぐことが効果的です。
結論
光学式の無接点プッシュスイッチでは、機械的なスイッチに比べてチャタリングの発生が大幅に減少します。しかし、完全に排除されるわけではないため、適切なデバウンス処理やノイズ対策を行うことが重要です。
ソフトウェアデバウンスは実装済みだった。
def debounce(pin, debounce_time=0.02):
start = time.time()
while time.time() - start < debounce_time:
if GPIO.input(pin) != GPIO.LOW:
return False
return True
ハードウェアデバウンスとノイズフィルタは完全に知識不足なので別の機会に体系的に学習する。
あとコンデンサ今持ってない。
結論:
ある程度は対策できてた。勉強になった。
このスクラップは5ヶ月前にクローズされました