クリック有りのロータリーエンコーダ
2022年8月24日:パルスジェネレータを作ってみた:箱に入れた
で使ったのはアルプス製のロータリーエンコーダ
・EC12E2420801(秋月)
そして、この記事では、
2020年9月12日:ロータリーエンコーダーの2相パルスをピン変化割り込みで取り込む
・Bourns ECW1J-B24-BC0024L
今回の工作、アルプス製の手持ちを切らしてしまったんで、
ボーンズのを使ってゴソゴソしてました。
ところが・・・
「パルスジェネレータ」で使ったエンコーダの入力処理、
・2020年9月16日:ロータリーエンコーダーの2相パルスをタイマー割り込みで
だと、ボーンズのでは取りこぼしが生じるのです。
なんで? っとオシロの出番。
※動作実績のあるモノ(ソフトもハードも)
がアウト!って、けっこう精神的ダメージ。
※状態
・待機状態でA、B信号ともオフで、1クリックで
A相にLパルスが出るのはアルプスと同じ。
・アルプスのに比べてチャタリングが大きい。
これは1000PFコンデンサをGND間に入れる
ことで解決できる。
・しかし・・・このパルス幅が短い。
前の記事に出した波形を見なおしたら、
そうなっている。
・現在のチャタリング除去は、0.5ms周期の割り込み
で4回安定。=2ms
・ところが、高速に回すと1ms近くまで
パルス幅が短く。
・パルス抜けの原因はこれ。
2020年9月12日 の実験では、ボーンズのを
「クリック無し状態に改造」
してあれこれしていたので、短パルスの出現に気が付か
なかったのでしょう。
1ms近くまで短くなった波形をオシロで観察していた
のに、です。
チャタリング+バウンズはコンデンサで取れます。
でも、想定より短い接点オンのタイミングはソフトを
手直ししないとダメです。
タイマー割り込みでの処理、アルプス製のエンコーダ
だと、コンデンサ無しでも安定に動いてます。
どうしたものか・・・
ボーンズのカタログにある推奨回路、
MC14490で「5ms」のディレー
と、記されてますが、そこまで遅らせると
パルスが無くなっちゃいます。
メカ絡みの電子部品、「使ってみないと分からんわ」の
例でしょか。
※0.5ms=2kHzのタイマー割り込みを0.25ms=4kHzに
早くして試してみますわ。
※現状(0.5ms割り込み処理)での抜けの様子。
・正常時1
・正常時2
・A相パルスがちょっと短くなって、抜けが発生
前半3つはOK。 右の3つがアウト。
4クロック分、安定しなかったのでチャタリングと
判断してしまった。
※MC14490の内部構造
4ビット続けて同じ入力(H/L)が出現したときに安定と判断。
入力にはプルアップ抵抗が入ってます。
16ピンに6素子入っているんですが、入力と出力のピンが
イケズな配置なんです。
TTLの240や241、244に倣ったんでしょうけれど・・・
| 固定リンク
「トラブル遭遇」カテゴリの記事
- ヤマハ製モニタースピーカー SMS60 不調(2023.02.27)
- ナットがぁ!? 9年前の残党を発見(2023.01.08)
- PWMでD/A変換:アナログマルチプレクサの応用で(2023.01.02)
- 定期的な電池チェックを!(2022.12.27)
- クリック有りのロータリーエンコーダ(2022.12.27)
「Arduino」カテゴリの記事
- Arduino サーミスタを使った温度測定で 【ゼロ除算問題】(2023.03.23)
- A/Dコンバータでサーミスタの抵抗値を読む サーミスタをつなぐ場所は?(2023.03.21)
- トラ技の目次で「Arduino」を検索すると(2023.03.09)
- 8ビットマイコンの割り込み処理・・・1バイトに収まるなら1バイトに(2023.03.01)
- Arduino UNOで0.00~40.00mA定電流負荷回路(2023.01.13)
「電子部品」カテゴリの記事
- 基板ショート・チェッカ、役に立つ(2023.02.14)
- LEDの絶対最大定格:逆電圧(Vr)への反論(2023.01.31)
- 4-20mA電流ループといえば「アイソレーション・アンプ」(2023.01.15)
- 「A-Dコンバータ活用 成功のかぎ」(2023.01.12)
- ナットがぁ!? 9年前の残党を発見(2023.01.08)
コメント