« バックアップ用バナジウム・リチウム二次電池の充電回路 | トップページ | 定期的な電池チェックを! »

2022年12月27日 (火)

クリック有りのロータリーエンコーダ

2022年8月24日:パルスジェネレータを作ってみた:箱に入れた
で使ったのはアルプス製のロータリーエンコーダ
   ・EC12E2420801(秋月)
そして、この記事では、
2020年9月12日:ロータリーエンコーダーの2相パルスをピン変化割り込みで取り込む
   ・Bourns ECW1J-B24-BC0024L

今回の工作、アルプス製の手持ちを切らしてしまったんで、
ボーンズのを使ってゴソゴソしてました。
Bs11
ところが・・・
「パルスジェネレータ」で使ったエンコーダの入力処理、
  ・2020年9月16日:ロータリーエンコーダーの2相パルスをタイマー割り込みで
だと、ボーンズのでは取りこぼしが生じるのです。

なんで? っとオシロの出番。
  ※動作実績のあるモノ(ソフトもハードも)
   がアウト!って、けっこう精神的ダメージ。

※状態
・待機状態でA、B信号ともオフで、1クリックで
 A相にLパルスが出るのはアルプスと同じ。
・アルプスのに比べてチャタリングが大きい。
   これは1000PFコンデンサをGND間に入れる
   ことで解決できる。
・しかし・・・このパルス幅が短い。
   前の記事に出した波形を見なおしたら、
   そうなっている。
・現在のチャタリング除去は、0.5ms周期の割り込み
 で4回安定。=2ms
・ところが、高速に回すと1ms近くまで
 パルス幅が短く。
・パルス抜けの原因はこれ。

2020年9月12日 の実験では、ボーンズのを
  「クリック無し状態に改造」
してあれこれしていたので、短パルスの出現に気が付か
なかったのでしょう。
1ms近くまで短くなった波形をオシロで観察していた
のに、です。

今朝、試すとこんな波形が出ました。
E11_m

チャタリング+バウンズはコンデンサで取れます。
でも、想定より短い接点オンのタイミングはソフトを
手直ししないとダメです。

タイマー割り込みでの処理、アルプス製のエンコーダ
だと、コンデンサ無しでも安定に動いてます。
どうしたものか・・・

ボーンズのカタログにある推奨回路、
  MC14490で「5ms」のディレー
と、記されてますが、そこまで遅らせると
パルスが無くなっちゃいます。
B2

メカ絡みの電子部品、「使ってみないと分からんわ」の
例でしょか。

※0.5ms=2kHzのタイマー割り込みを0.25ms=4kHzに
早くして試してみますわ。

※現状(0.5ms割り込み処理)での抜けの様子。

・正常時1
Ee002_m

・正常時2
Ee000_m

・A相パルスがちょっと短くなって、抜けが発生
Ee001_20221227103701
前半3つはOK。 右の3つがアウト。
4クロック分、安定しなかったのでチャタリングと
判断してしまった。

MC14490の内部構造
144_a
4ビット続けて同じ入力(H/L)が出現したときに安定と判断。
入力にはプルアップ抵抗が入ってます。
16ピンに6素子入っているんですが、入力と出力のピンが
イケズな配置なんです。
TTLの240や241、244に倣ったんでしょうけれど・・・

|

« バックアップ用バナジウム・リチウム二次電池の充電回路 | トップページ | 定期的な電池チェックを! »

トラブル遭遇」カテゴリの記事

Arduino」カテゴリの記事

電子部品」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« バックアップ用バナジウム・リチウム二次電池の充電回路 | トップページ | 定期的な電池チェックを! »