ロータリ・エンコーダ作成
vega
2003.02.
1. ロータリ・エンコーダ自作用パターン作成ソフト
分割数は、黒縞の本数です。下は、分割数を10で作成。
紙に出して、OHPシートにコピーする。(そのまま使用(透過型)するか、感光基板のマスク(反射型)で使用)
紙に出してそのまま使用する。(反射型)
トレーシングペーパーに印刷する。(感光基板のマスク(反射型)で使用)
直接OHPシート印刷する。
など色々考えられますが、私はまだどれも試していません。
下の表示されたパターンは、画面の密度が粗いのできれいに表示されませんが実際にプリントとすると、
プリンタ密度に応じて綺麗に印刷できます。
又右側は、上の実行例で動かした場合で、非表示エリアの機能を使用しています。
図形の中心がわかりずらい場合は、この機能を使用し中心のみ残せば分かりやすいです。
![]() |
![]() |
Rencov052.lzh Ver 0.52 8Kb
パターンは、renco.bmp の名前で起動したフォルダに作成されます。
高分解能ロータリ・エンコーダの自作に成功したら、私にソフト下さい。 (バキッ)
赤外フォトインタラプタ
縞の濃淡を読み取る為の素子です。反射型と透過型があります。記事では反射型を使用し、
感光基板の銅箔の有無による光の強弱を読み取っています。
_________________________________________
参考資料
トランジスタ技術 2001年 1月号 p323〜p336
「模型モーター用位置・速度サーボシステムの製作」 美馬 一博さん
http://www.cqpub.co.jp/toragi/DLF/TR0101M.htm 公開してるソフトウエア
PIC16F873を使用した、DCモーターのサーボシステムです。PICでAD変換をし、ロータリ・エンコーダーの高分解能化をしています。縞8本、φ14mmのパターンを使用し、900rpmの回転数でありながら400パルス/1回転 の分解能を実現しています。
単純に直径を10倍し縞80本で、4000パルス/1回転になります。回転スピードは比較にならない程遅く回すので期待できます。導入の為の赤経・赤緯軸につけるものなら4000パルス/1回転で十分だと思うので、期待してます。
高分解能化の原理フォトインタラプタを2つ使用して、検出できる電流(抵抗を通して電圧)をAD変換する。
この波形がサインカーブが描くようにパターンのと距離を調整する。
2つのサインカーブの位相が90°ずれるようにフォトインタラプタの位置を調整する。
2つのデジタル値から、0<Θ<360の値を求める。
Θの求め方はatanの計算はせず、2つの値から16X16のテーブルを参照して決めるというものです。
記事では、シンクロスコープを使用して90°の位相調整をする様になってますが、2つの
値をパソコンの画面上にランダムで良いからプロットすれば、シンクロスコープはなくても調整できる
んではないかと思っています。位相が90°ずれていたら、表示結果は円になるはずですから。
AD変換などしますから、マイコン制御になってしまいますけど。
2. ロータリ・エンコーダ作成 (結果が出たら追加します)
AVRのAT90S8535か4433を使用する計画でいます。 作例では、32bitの加算で苦労していましたが、AVR+GCCでは
コンパイラがやってくれるのでここは苦労しません。
インターフェイスは、SPIのインターフェイスで他のCPUから位置の問い合わせに答える形をまず試します。
通常のA相、B相のパルス出力は第2ステップになります。