クリック有りのロータリーエンコーダ
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に倣ったんでしょうけれど・・・
| 固定リンク
「トラブル遭遇」カテゴリの記事
- 電池液漏れの季節(2025.06.23)
- Arduino UNO R4、GPTのレジスタ定義にミス発見(2025.05.06)
- 失敗は成功の母<第3回>: 同じ型名なのに内部回路が違う!?(2025.04.16)
- 中華製ボール盤 2018年に交換したベルトが再びアウトに(2025.02.19)
- イヤホンのケーブルが・・・(2025.01.24)
「Arduino」カテゴリの記事
- DDS IC「AD9833」をArduino UNO R3で制御:箱入れ #2(2025.07.03)
- DDS IC「AD9833」をArduino UNO R3で制御:箱に入れる(2025.06.30)
- UNO R4はanalogWrite(n,128)でデュティー50%の方形波が出るぞ(2025.06.03)
- DDS IC「AD9833」の出力にバッファアンプを(2025.05.27)
- DDS IC「AD9833」をArduino UNO R3で制御(2025.05.25)
「電子部品」カテゴリの記事
- シングルゲート・マルチプレクサIC「74LVC2G53」(2025.07.17)
- 「タカチ」の「ゴム足」にもの申す!(2025.06.24)
- オムロンのタイマー「H7ET-FBV」のGATE入力回路はどうなっているの?(2025.04.24)
- 「LM386N-8」って・・・(2025.04.07)
- 4000シリーズCMOSの先頭、4000Bと4000UB(2025.03.10)
コメント