• ベストアンサー

ロータリーエンコーダ 信号(A,B,Z相)処理

こんにちは。 ロータリーエンコーダを用いて回転速度・距離の測定を試みています。出力信号(A,B,Z相)の計測・記録まではできたのですが、それらの信号が何を意味するものなのか理解ができていません。その信号から回転速度・距離をどのように算出すればよろしいのでしょうか?教えてください。なお、使用しているロータリーエンコーダは http://www.mutoheng.com/~deji/rotaryencoder/index.html#UN です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

A相、B相を見てればほぼ事足ります。 Z相は一回転に一度だけ出る信号です。 まず、一回転で何パルス来るエンコーダなのかを調べます。 50、100、125、360、1000、2000といろいろ種類があるようですが、買ったエンコーダのパルス数がどこかに書いてると思います。 何パルス来たのか分かれば回転数と、初期位置から何パルス分の角度なのかが分かります。 例えば、1000パルスのエンコーダで200パルス目は360/1000×200=72度回転したと言う事がわかります。 ココでZ相を利用すると、電源投入時などに一回転させればz相を基準として、起動時の初期位置の角度を関係なく角度の検出も出来ます。 A相、B相の波形を良く見ると A相0110011001 B相0011001100 の様になっています。 A相が0の時にB相が立ち上がれば正転、A相が1の時にB相が立ち上がれば逆転などと言う事も分かります。 回転速度の求め方は、一回転で1000パルスのエンコーダなら、例えば0.5秒間に20000パルス来たとします。 すると20000/1000*0.5=20回転/秒と言う事がわかります。 距離は回転数と角度が分かり、タイヤ?の円周が分かれば簡単に求められますよね?

その他の回答 (1)

  • nrb
  • ベストアンサー率31% (2227/7020)
回答No.1

角度用には60進法で30秒/1分/5分の高分解能ですね 仮に60進法で1分タイプのであれば1パルスが1分の角度になりますね NSであれば180 200 360 400 500 600 1000 1800 2000 4000 5000 5400 9000 の分解のありますので仮に NS-360とすると 1回転で360個の信号が出ますね 1パスル 1度です 仮にAの波形で見るとパスルが360個計測すれば、1回転したことになります 仮に1秒で3600パスルだと 10回転/S となり回転速度が出ます 次に距離借りに1回転で360cm進む円に中心に置いて計測すると 1パスルは1cmとなりますね 距離はパスル数×1cmとなります まあとは、お使いのセンサーのパスル数などを勘定して計算して下さい

関連するQ&A