1.概要
エンコーダ―でモーターの回転速度検出を行う制御で、かつ
エンコーダーが30スリット/回転の 比較的 スリット数が少ない場合の制御について説明します。
なお、回転速度はエンコーダ信号の周期をタイマーで計測して速度算出するものとします。
2.エンコーダー信号のばらつき
CPUに入力するエンコーダー信号は、以下の2つの要因でのばらつきが考えられます。
⑴エンコーダスロットのメカ的なばらつき
エンコーダのスリットの遮蔽部分と開口部分の寸法にばらつきがあります。
(2) 電気信号による誤差
エンコーダーの信号は立上り/立下りで遅れが生じます。
特にノイズ除去のために信号ラインにコンデンサを挿入している場合は、立上り/立下りは大きく遅れます。
上記 (1) の遮光部分と開口部分の寸法がまったく同じでばらつきが無かったと仮定しても
信号の遅れに対して、CPUポートの閾値が関係し、ソフトウェアで検知したON時間とOFF時間は同一にはなりません。
3. エンコーダー信号のばらつきの抑制
基本的に上記 (2) のようなエンコーダー信号のばらつきを抑制するには、立上り信号または、立下り信号の
どちらか片方のみを使用することで、ばらつきを抑制できます。
ただ、回転速度がゆっくりになると、速度検出のタイミングが遅くなってしまうデメリットがあるので
両エッジで時間計測してON時間とOFF時間をそれぞれメモリしておいて、1つ前の時間と平均を取ることで
上記ばらつきを抑制することもあります。
制御対象の仕様に合わせて、選択していく必要があります。