« 2010年5月 | トップページ | 2010年7月 »

2010年6月

エンコーダーについて

後輩のブログでエンコーダーについて書かれていたので私も別の情報を蔵出しします。

エンコーダーのカウント機能を追加できるICについて紹介します。
たとえば、マイコンにエンコーダーのカウントを読む位相計数モードが搭載されていない場合、もしくは軸数が不足する場合に役立つと思います。

型番はHCTL-2032-SCというICです。
このIC1個当たり2軸のエンコーダーのパルスをカウントできて、1軸あたり32bit長のカウンタを内蔵しています。したがって普通の使い方をすればオーバーフローとは無縁となります。
マイコンとの接続は、普通に使う場合(ただ単に2軸×32bit長カウンタとして用いる場合)アドレス3bit、データー8bit、!OE信号の12本の信号線で接続可能です。

私はルネサスエレクトロニクスのマイコンであるSH7144と接続してみました。
電圧の変換などいろいろ面倒なのですが、とりあえずSH7144のバスステートコントローラー経由でデータを読み出すことができました。

ちなみに高速でカウント値を読み出すと、たまにデータが化けることがありました。
なんとか正確に読み出そうと試行錯誤し結局、GNDラインをジャンパ線で強化してあげることでだいぶ症状を緩和できました。つまりこれは私のバスの設計がしょぼかったということの証拠で…、GNDのパターンの設計の大切さを思い知りましたorz

とりあえずGNDをつなげておけばよい…というのは低速なラインだけにしか通じないことを痛感しましたorz

とにもかくにも、このICはマイコン1つで多軸の制御を行ってみたい人にお勧めです。
2軸追加するのに12bitの信号線を消費しますが、たとえば8軸読み込みを行う場合は、(接続に工夫が必要ですが)あとアドレスを2bit増やすだけでよいので、14bitのバス幅で8軸のコントロールが出来ます。

このHCTL-2032-SCには外部クロックを供給する必要があるのですが、ICの規定されている最高の周波数(33MHz)を入力してあげることでそのクロックの1/7の最高4.7MHzのエンコーダーパルスを読み取ることが出来ます。普通のエンコーダーの上限が100kHzとかですから、エンコーダー側に比べてずいぶんと高速な信号まで読み取れることがわかります。
高分解能のエンコーダーもらくらく使用できますねhappy02good

| | コメント (2) | トラックバック (0)

« 2010年5月 | トップページ | 2010年7月 »