ロータリーエンコーダとカウンタ

  弊社製品のカウンタ基板(ユニット)には、通常のアップダウンカウントモードと、ロータリーエンコーダのA相/B相信号をカウントする2種類のモードがあります。

  このページは、通常のアブダウンカウンタとエンコーダ信号カウント機能の使用上の注意点を記述した初級講座となっています。お寄せいただいたご質問のお応えを要約したものですので、「カウンタが全く動作しない」「カウント入力がないのにカウンタがかってに進む」「エンコーダ信号をカウントしてみたが、うまく動作しない」という場合に、本ページがお役に立ちます。

  以下に記載する内容は、弊社製品をご使用いただいた場合を前提としています。 一般的なカウンタの動作に適合するものではありません。各信号の Low/High,コネクタ接続ピン番号などの記述は、弊社製品を対象としています。

まずは、普通のアップ/ダウンカウント動作を考えてみます。

  カウンタを動作させる信号は、単純にカウント入力だけと誤解していませんか。
  弊社のカウンタ基板(ユニット)の動作には、次の4種類の信号が必要です。

  (1) カウント入力 ----------- この信号の ON/OFF で計数します。
  (2) カウント方向 ----------- UpカウントかDownカウントかを決める信号です。
  (3) リセット信号 ----------- カウンタをリセットします。
  (4) ゲート信号 ------------ カウントの実行/一時停止を制御します。

  よくあるご質問 UPカウントのみを実行する場合は、(2) (3) (4) の信号を必ず0V(コモン)に接続して、Low側としてください。 特に(3)リセット信号を無接続にて解放としているときは、常にリセットがかかった状態になってしまいます。ご購入直後に「動作しない」という多くのご質問がこの問題により生じています。

  上記 (2) (3) (4) の信号すべてを0Vに接続して Low側とし、カウント信号を入力します。カウンタ基板にパソコンからカウント開始コマンド (M008) を送信すると、下図のような動作となります。横軸は時間軸です。カウント信号が変化する都度、カウント数(赤色文字)が +1 となります。

  次に (2) カウント方向信号をDown方向 (High側) とし、カウント信号を入力します。カウンタ基板にパソコンからカウント開始コマンド (M008) を送信すると、下図のような動作となります。カウント入力が変化する都度、カウント数(赤色文字)が -1 となります。

普通のアップ/ダウンカウントでカウントミスが発生する原因 その1

  カウント入力のLowからHighへの変化速度が遅い場合には、下図のような問題が発生します。特にロータリーエンコーダでは、エンコーダがゆっくりと回転するときは、この問題を回避することができません。さらにエンコーダが停止しているときはどうなるでしょうか。信号がちょうど変化する付近で停止していると、機械系のほんのわずかな振動をひろって、カウンタ入力には、Low/Highを、激しく繰り返す信号が入力されます。このため、エンコーダの回転が止まっているのにカウンタが進むという問題が生じます。通常のアップ/ダウンカウントモードでは、この問題を避けることはできません。従って、たとえアップカウントのみの動作をさせる場合でも、後述のエンコーダA相/B相カウントモードを使用することを強くお勧めします。

普通のアップ/ダウンカウントでカウントミスが発生する原因 その2

  カウント入力にノイズか混入している場合、当然ながらカウンタは誤動作をします。

  よくあるご質問 弊社カウンタ基板は1MHz(程度)までのクロック入力に応答しますので、オシロスコープで観測しても短くて確認ができないようなノイズにも反応します。「オシロスコープでみても何も入力がないのにカウンタが勝手に進む」というトラブルのご質問の多くは、この問題から生じています。

  カウント入力に1000PF程度のコンデンサを0V間に接続して、誤動作がなくなるか、または少なくなるようであれば、配線長を短くするなどの対策が必要となります。弊社製品にはフィルタ機能を内蔵したカウンタもあります。この機能を内蔵したカウンタは、スパイク状のノイズをキャンセルすることができます。また、ロータリーエンコーダを信号源とする場合は、後述のエンコーダA相/B相カウントモードを使用すると、ノイズによる影響を大幅に軽減することができます。

ロータリーエンコーダのA相/B相信号カウント動作

  ロータリーエンコーダのA相/B相信号は下図のように変化します。横軸は時間軸ではなく、エンコーダの回転角(位置)であることに注目してください。図ではエンコーダが右回転するとカウントアップ(図の右方向に移動)となり、左回転するとカウントダウン(図の左方向に移動)となります。

  ロータリーエンコーダの信号をカウントするには、A相とB相の両信号が必要です。

  よくあるご質問 「カウンタが0と1を往復するのみで正常にカウントしない」というトラブルのご質問は、片側だけの信号を接続をされていることが原因となっています。

  次の通り正しく接続してください。A相とB相の接続が逆になったとしても、カウント方向が反対になるだけです。

  (1) A相信号 -------- 第1チャンネルカウンタでは 1番ピン
  (2) B相信号 -------- 第1チャンネルカウンタでは 2番ピン
  (3) リセット信号 ------ カウンタをリセット。使用しない場合は必ず0Vに接続
  (4) ゲート信号 ------- カウントの実行/一時停止。使用しない場合は必ず0Vに接続

  カウンタ基板にパソコンから、エンコーダA相/B相カウントモード (M018) を送信した後に、カウント開始コマンド (M008) を送信すると、たとえばエンコーダが右回転するとカウントアップ、左回転するとカウントダウンと動作します。カウンタ基板の電源投入時は、通常のアップダウンカウントモードになっていますので、エンコーダA相/B相カウントモード (M018) を送信して、モードを切換えることを忘れないでください。

  よくあるご質問 「アップカウントのみでダウンカウントしない」あるいは「カウント値がエンコーダ分解能の4倍にならない」というトラブルのご質問は、モードを切換えていない場合に生じています。

エンコーダA相/B相カウントモードはノイズに強い

  ロータリーエンコーダのA相/B相信号の変化図をみてください。緑色の0から3の数字は、エンコーダ信号の位相位置を番号で示しています。この0から3の間は、カウンタはカウントアップおよびカウントダウンを実行するのではなくて、位相番号のみを判定してカウント値を決めます。例えば、0の位置にあった場合に、A相がノイズでHigh側になったとします。通常のアップダウンカウンタでは、カウント値が+1になって、A相信号がもとのLow側に戻っても、カウント値が0に戻ることはありません。すなわちミスカウントをしてしまいます。しかしながら、A相/B相カウントモードでは一時的に1の状態に遷移はしますが、信号が元に戻れば、カウント値はもとの0の状態に戻ります。カウントミスをすることがありません。エンコーダの回転がゆっくりでも、信号変化位置にて、先の図のような複数のカウントをしてしまうことがありません。信号が変化する通過位置で、0と1を繰返す時間がありますが、通過してしまえば、正確に+1となります。エンコーダが止まっているのに、わずかな機械振動でカウンタが勝手に進んでしまうというトラブルもありません。電気的にも、A相とB相の片側のみに一時的に混入するノイズである限り、誤動作することがないこともわかります。
  ダックス技研が製作する DACS-2500K-CNT, DACS-1700, RM5500x-CNT, DACS-9000-CNT, DACS-E350-STD など、カウンタのエンコーダA相/B相カウントモードは、以上のような論理で動作しています。

  このページに直接こられた方は、こちらをクリックして、
  ダックス技研株式会社 計測制御用電子機器のHOMEに移動してください。
  USB接続のDIO、計測ユニットなどDACS製品を掲載しています。

  その他の接続に関する一般的なご注意

 絶縁入出力    TTLレベル入出力信号    フォトMOSリレー 出力    オープンコレクタ出力
 USBケーブル接続

    ダックス技研株式会社     〒709-0721 岡山県赤磐市桜が丘東5-5-380

Copyright(C) DACS electronics