(57)【要約】【課題】  ある速度以上では位置検出とその位置の変化に要した時間と、により速度検出するとともに、ある速度以下ではあるサンプリング時間での位置の変化より速度検出し、速度制御全範囲において正確な速度を検出することができるモータ制御装置とその速度検出方法を提供する。【解決手段】  エンコーダ３が、サンプリング時間内における位置データの変化に要した時間を計測した時間データを出力するものであって、速度算出部１５が、前記位置データを第１位置データとし、前記第１位置データを予め決められた分間引いて第２位置データを生成し、前記第２位置データを更に予め決められた分間引いて第３位置データを生成し、前記第２および３位置データに基づいてモータ速度を算出する。【選択図】  図１
2009095154.tif 000002
【特許請求の範囲】
【請求項１】
モータに連結されたエンコーダが出力する位置データを一定のサンプリング時間で入力し、前記位置データとサンプリング時間とに基づいてモータ速度を算出する速度算出部を備え、位置または速度指令に基づいて前記モータを駆動するモータ制御装置において、
前記エンコーダが、前記サンプリング時間内における前記位置データの変化に要した時間を計測した時間データを出力するものであって、
前記速度算出部が、前記位置データを第１位置データとし、前記第１位置データを予め決められた分間引いて第２位置データを生成し、前記第２位置データを更に予め決められた分間引いて第３位置データを生成し、
前記第１および２位置データに基づいて前記モータ速度を算出することを特徴とするモータ制御装置。
【請求項２】
前記速度算出部が、あるモータ速度以上の場合、前記第２位置データの変化量と前記第２位置データの変化に要した時間データと、に基づいて前記モータ速度を算出し、
前記あるモータ速度未満の場合、前記第１位置データと前記サンプリング時間と、に基づいて前記モータ速度を算出することを特徴とする請求項１に記載のモータ制御装置。  
【請求項３】
前記時間データが、前記第２位置データの最小分解能以上の変化に要した時間であることを特徴とする請求項１に記載のモータ制御装置。
【請求項４】
前記速度算出部が、前記第１位置データの変化がない場合、前記モータ速度の方向は前回サンプリング時点での前記モータ速度の方向とし、前記モータ速度の大きさは次回サンプリング時点の先頭あるいは中間において前記第１位置データの最小分解能が変化したものとして前記モータ速度を算出することを特徴とする請求項１に記載のモータ制御装置。
【請求項５】
前記速度算出部が、前記第１位置データの変化がない場合、前記モータ速度の方向は前回サンプリング時点での前記モータ速度の方向とし、前記モータ速度の大きさは次回サンプリング時点の先頭あるいは中間において前記第１位置データの最小分解能が変化したものとして前記モータ速度を算出し、
更に、あるモータ速度未満の場合、前記モータ速度を０とすることを特徴とする請求項１に記載のモータ制御装置。
【請求項６】
モータに連結されたエンコーダが出力する位置データを一定のサンプリング時間で入力し、前記位置データとサンプリング時間とに基づいてモータ速度を算出する速度算出部を備え、位置または速度指令に基づいて前記モータを駆動するモータ制御装置の速度検出方法において、
前記エンコーダが、前記サンプリング時間内における前記位置データの変化に要した時間を計測した時間データを出力するものであって、
前記速度算出部が、前記位置データを第１位置データとし、前記第１位置データを予め決められた分間引いて第２位置データを生成し、前記第２位置データを更に予め決められた分間引いて第３位置データを生成し、
前記第１および２位置データに基づいて前記モータ速度を算出することを特徴とするモータ制御装置の速度検出方法。
【請求項７】
前記速度算出部が、あるモータ速度以上の場合、前記第２位置データの変化量と前記第２位置データの変化に要した時間データと、に基づいて前記モータ速度を算出し、
前記あるモータ速度未満の場合、前記第１位置データと前記サンプリング時間と、に基づいて前記モータ速度を算出することを特徴とする請求項６に記載のモータ制御装置の速度検出方法。  
【請求項８】
前記時間データが、前記第２位置データの最小分解能以上の変化に要した時間であることを特徴とする請求項６に記載のモータ制御装置の速度検出方法。
【請求項９】
前記速度算出部が、前記第１位置データの変化がない場合、前記モータ速度の方向は前回サンプリング時点での前記モータ速度の方向とし、前記モータ速度の大きさは次回サンプリング時点の先頭あるいは中間において前記第１位置データの最小分解能が変化したものとして前記モータ速度を算出することを特徴とする請求項６に記載のモータ制御装置の速度検出方法。
【請求項１０】
前記速度算出部が、前記第１位置データの変化がない場合、前記モータ速度の方向は前回サンプリング時点での前記モータ速度の方向とし、前記モータ速度の大きさは次回サンプリング時点の先頭あるいは中間において前記第１位置データの最小分解能が変化したものとして前記モータ速度を算出し、
更に、あるモータ速度未満の場合、前記モータ速度を０とすることを特徴とする請求項６に記載のモータ制御装置の速度検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーボモータで機械等を駆動するモータ制御装置とその速度検出方法に関する。
【背景技術】
【０００２】
第１の従来技術は、「エンコーダパルスより速度を検出するサーボドライブの速度検出方法に関する」ものであって、「モータの回転速度が低下してサンプリング中にパルス入力が無くなった場合でも、正確な速度の推定を行ってモータの回転速度をなめらかに制御できるサーボドライバの速度検出方法を提供することを目的」としており、「サンプリング中にエンコーダパルスＰＡ，ＰＢが無かった場合に、前記記憶する手段に記憶する複数回前からのサンプリング時の速度検出データを用いて、一定の演算式により今サンプリング時の速度を推定するようにしている」（例えば、特許文献１参照）。
【０００３】
また、第２の従来技術は、「デジタルサーボ制御装置などのサーボモータ制御装置に関する」ものであって、「エンコーダパルス間隔誤差があってもモータの速度を精度よく推定して低速時の速度制御を安定化できるとともに、推定速度を用いて速度制御する場合、指令速度が０でないのにモータが停止してしまうことのないサーボモータ制御装置を提供することを目的」としており、「速度算出部４によりエンコーダ２の出力パルスからサーボモータ１の検出速度を算出し、推定負荷トルク算出部６により電流検出器１１で検出したモータ電流と前記検出速度とから推定負荷トルクを前記出力パルスの発生ごとに算出し、ｎ回平均部１２により前記推定負荷トルクを前記出力パルスの発生ごとにｎ回平均して平均推定負荷トルクを算出して更新し、速度制御部９が所定制御周期で前記検出速度が速度指令になるように速度制御して、前記速度制御周期区間で前記検出速度を算出できないとき、推定速度算出部７により前記平均推定負荷トルクと前記モータ電流とから推定速度を算出し、その推定速度が前記速度指令になるように速度制御」している（例えば、特許文献２参照）。
【０００４】
また、第３の従来技術は、「全速度領域で安定度の高い速度制御を行うことを可能としたサーボにおける速度特性改善方法および速度特性を改善したサーボ系に関するものであ」って、「全速度領域において高い精度の速度検知が可能であり、全速度領域で安定度の高い速度制御を実現することができる、サーボ系における速度特性改善方法および速度特性を改善したサーボ系を提供することを目的」としており、「インクリメンタル・エンコーダにより検出されたフィードバックパルスを、フィードバックパルスとは非同期な一定のサンプリングタイム毎に計測してサンプリングタイム間のフィードバックパルス数ＮF B Pを計数するとともに、所定の時間間隔ＴC L Kで発生する基準クロックを計数して、上記フィードバックパルス数ＮF B Pを計数するに要した期間における基準クロック数ＮC L Kを求め、上記、時間間隔ＴC L K、フィードバックパルス数ＮF B P、基準クロック数ＮC L Kおよび、フィードバックパルスの分解能ΔＤから、次式により制御対象の速度Ｖを算出し、Ｖ＝ＮF B P×ΔＤ／（ＮC L K×ＴC L K）算出した速度に基づき、制御対象の速度、もしくは、速度および位置を制御」している（例えば、特許文献３参照）。
【０００５】
このように、第１、２の従来技術では、速度を推定する際に、複数回前からのサンプリング時の速度検出データを用いること、平均推定負荷トルクとモータ電流とを用いること、をしており、また第３の従来技術では、サンプリングタイム間のフィードバックパルス数ＮF B P、所定の時間間隔ＴC L Kで発生する基準クロックＮC L Kを計数して上記フィードバックパルス数ＮF B Pを計数するに要した期間における基準クロック数ＮC L K、フィードバックパルスの分解能ΔＤに基づいて（Ｖ＝ＮF B P×ΔＤ／（ＮC L K×ＴC L K））、速度Ｖを算出している。
【特許文献１】特開平１１−０８３８８４号公報（第３−４頁、図１）
【特許文献２】特開平０９−１７２７９３号公報（第６頁、図１）
【特許文献３】特開平０６−３３２５４１号公報（第４−６頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
第１の従来技術では、サンプリング中にエンコーダパルスＰＡ，ＰＢが無かった場合、すなわち極低速回転の場合、複数回前からのサンプリング時の速度検出データに重み付けをして速度を推定しているので、高精度な速度は検出できず、そのため速度応答性が悪くなるという問題があった。
また、第２の従来技術では、平均推定負荷トルクとモータ電流とに基づいて速度を推定しているので、平均化した速度しか得られずに高精度な速度は検出できず、そのため速度応答性が悪くなるという問題もあった。
また更に、第３の従来技術では、基準クロックＮC L K、フィードバックパルスの分解能ΔＤに基づいて速度を検出しているので、速度の分解能はフィードバックパルス数ＮF B P、基準クロック数ＮC L K、フィードバックパルスの分解能ΔＤで決まってしまい、フィードバックパルスの分解能以上に分解能が得られないという問題もあった。
本発明はこのような問題点に鑑みてなされたものであり、ある速度以上では位置検出とその位置の変化に要した時間と、により速度検出するとともに、ある速度以下ではあるサンプリング時間での位置の変化より速度検出し、速度制御全範囲において正確な速度を検出することができるモータ制御装置とその速度検出方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記問題を解決するため、本発明は、次のように構成したのである。
請求項１に記載の発明は、モータに連結されたエンコーダが出力する位置データを一定のサンプリング時間で入力し、前記位置データとサンプリング時間とに基づいてモータ速度を算出する速度算出部を備え、位置または速度指令に基づいて前記モータを駆動するモータ制御装置において、前記エンコーダが、前記サンプリング時間内における前記位置データの変化に要した時間を計測した時間データを出力するものであって、前記速度算出部が、前記位置データを第１位置データとし、前記第１位置データを予め決められた分間引いて第２位置データを生成し、前記第２位置データを更に予め決められた分間引いて第３位置データを生成し、前記第１および２位置データに基づいて前記モータ速度を算出するものである。
【０００８】
また、請求項２に記載の発明は、請求項１記載の発明における前記速度算出部が、あるモータ速度以上の場合、前記第２位置データの変化量と前記第２位置データの変化に要した時間データと、に基づいて前記モータ速度を算出し、前記あるモータ速度未満の場合、前記第１位置データと前記サンプリング時間と、に基づいて前記モータ速度を算出するものである。
【０００９】
また、請求項３に記載の発明は、請求項１記載の発明における前記時間データが、前記第２位置データの最小分解能以上の変化に要した時間であるものである。
【００１０】
また、請求項４に記載の発明は、請求項１記載の発明における前記速度算出部が、前記第１位置データの変化がない場合、前記モータ速度の方向は前回サンプリング時点での前記モータ速度の方向とし、前記モータ速度の大きさは次回サンプリング時点の先頭あるいは中間において前記第１位置データの最小分解能が変化したものとして前記モータ速度を算出するものである。
【００１１】
また、請求項５に記載の発明は、請求項１記載の発明における前記速度算出部が、前記第１位置データの変化がない場合、前記モータ速度の方向は前回サンプリング時点での前記モータ速度の方向とし、前記モータ速度の大きさは次回サンプリング時点の先頭あるいは中間において前記第１位置データの最小分解能が変化したものとして前記モータ速度を算出し、更に、あるモータ速度未満の場合、前記モータ速度を０とするものである。
【００１２】
請求項６に記載の発明は、モータに連結されたエンコーダが出力する位置データを一定のサンプリング時間で入力し、前記位置データとサンプリング時間とに基づいてモータ速度を算出する速度算出部を備え、位置または速度指令に基づいて前記モータを駆動するモータ制御装置の速度検出方法において、前記エンコーダが、前記サンプリング時間内における前記位置データの変化に要した時間を計測した時間データを出力するものであって、前記速度算出部が、前記位置データを第１位置データとし、前記第１位置データを予め決められた分間引いて第２位置データを生成し、前記第２位置データを更に予め決められた分間引いて第３位置データを生成し、前記第１および２位置データに基づいて前記モータ速度を算出するのである。
【００１３】
また、請求項７に記載の発明は、請求項６記載の発明における前記速度算出部が、あるモータ速度以上の場合、前記第２位置データの変化量と前記第２位置データの変化に要した時間データと、に基づいて前記モータ速度を算出し、前記あるモータ速度未満の場合、前記第１位置データと前記サンプリング時間と、に基づいて前記モータ速度を算出するのである。
【００１４】
また、請求項８に記載の発明は、請求項６記載の発明における前記時間データが、前記第１位置データの最小分解能以上の変化に要した時間である。
【００１５】
また、請求項９に記載の発明は、請求項６記載の発明における前記速度算出部が、前記第１位置データの変化がない場合、前記モータ速度の方向は前回サンプリング時点での前記モータ速度の方向とし、前記モータ速度の大きさは次回サンプリング時点の先頭あるいは中間において前記第１位置データの最小分解能が変化したものとして前記モータ速度を算出するのである。
【００１６】
また、請求項１０に記載の発明は、請求項６記載の発明における前記速度算出部が、前記第１位置データの変化がない場合、前記モータ速度の方向は前回サンプリング時点での前記モータ速度の方向とし、前記モータ速度の大きさは次回サンプリング時点の先頭あるいは中間において前記第１位置データの最小分解能が変化したものとして前記モータ速度を算出し、更に、あるモータ速度未満の場合、前記モータ速度を０とするのである。
【発明の効果】
【００１７】
請求項１乃至１０に記載の発明によると、ある速度以上では位置検出とその位置の変化に要した時間と、により速度検出するとともに、ある速度以下ではあるサンプリング時間での位置の変化より速度検出し、速度制御全範囲において正確な速度を検出することができる。また、第１位置データの最小分解能以上の変化での速度算出のため、ノイズ等の影響を少なくすることができ、安定した分解能（第２位置データ）で速度算出することができる。また、サンプリング時間内での第１位置データの変化がない場合でも正確な速度を検出することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の方法の具体的実施例について、図に基づいて説明する。
【実施例１】
【００１９】
図１は、本発明の実施例１におけるモータ制御装置の概略構成図である。図において、１はモータ制御装置、２は電動機（モータ）、３はエンコーダ等の位置検出器、１１は位置または速度制御部、１２は電流制御部、１３はインバータ部、１４は入力回路部、１５は速度信号算出部である。なお、位置指令または速度指令を入力し、その指令と位置検出信号または速度検出信号に応じて電動機２を駆動する構成（電動機２、位置検出器３、位置または速度制御部１１、電流制御部１２、インバータ部１３、入力回路部１４）は、周知技術で得られる構成であるため詳細な説明は省略する。
本発明が従来技術と異なる部分は、後述する速度検出方法を実施する速度算出部１５を備えた部分である。
速度算出部１５は、ある速度以上では位置検出値の変化量とその変化に要した時間と、により速度検出する一方、ある速度以下ではサンプリング時間での位置検出値の変化量により速度検出する。
【００２０】
図２は、エンコーダ３の概略構成ブロック図である。図において、３１は発光体、３２はスリットを有した回転ディスク、３３は受光器、３４は増幅器、３５はＡ／Ｄ変換器、３６は位置変換回路、３７はカウンタである。
エンコーダ３は、速度算出部１５における速度算出に必要な位置データおよび時間データを出力するものであり、エンコーダ３における位置データおよび時間データの出力方法について説明する。
【００２１】
先ず、受光器３３が、回転ディスク３２の９０度位相差のＡ、Ｂのスリットを介して、発光体３１からの光を受け、相当の信号を出力する。
次に、この信号を増幅器３４で増幅してＡφ、Ｂφの出力波形を得る。ここで、Ａφ、Ｂφの出力波形は、回転ディスク３２のスリットの光の通過具合で正弦波状の信号となる。
次に、Ａ／Ｄ変換器３５が、この正弦波状信号Ａφ、Ｂφを入力して細かい分解能のディジタル値にディジタル変換し、位置変換回路３６へ出力する。
【００２２】
次に、位置変換回路３６は、Ａ／Ｄ変換器３５の出力に基づいて、エンコーダ３の１パルス内の角度を求めて位置に変換し（例えば、正弦波信号Ａφ、ＢφをＡ／Ｄ変換して電圧、振幅、位相関係よりパルスの位置に変換する）、分解能が細かい位置データを出力する。
次に、カウンタ３７が、位置変換回路３６の出力（分解能が細かい位置データ）を常にカウントすると共に、その出力が変化した場合、その変化をラッチして変化に要した時間を一定周期のクロックでカウントし、サンプリング時間毎に、エンコーダ信号の入力回路部１４をへ変化に要した時間データを出力する。なお、位置変換回路３６の出力（分解能が細かい位置データ）は、ノイズ等の影響で振られやすいので、位置データの最小分解能の２〜４倍の位置が変化した時の時間を変化に要した時間データとする。
このようにしてエンコーダ３の１パルス内の分解能の位置データと、位置が変化した際に要した時間データとを出力することができるのである。
【００２３】
図３は、位置変換回路３６の出力である位置データを説明する図である。（ａ）は図２における増幅器３４が出力するＡφまたはＢφの正弦波信号である。（ｂ）および（ｂ１）〜（ｂ−３）は、（ａ）の正弦波信号の点線部分を拡大した正弦波信号と、図１における速度検出信号および位置検出信号を得るための位置データであり、（ｂ−１）は位置検出信号に用いる位置データを、（ｂ−２）はエンコーダ３の１回転全域で静止時に安定する分解能の位置データ（位置が固定されていれば振れることがない分解能）を、（ｂ−３）は速度検出信号に用いる位置データ（エンコーダ３の１回転全域において、場所により数パルス揺れる分解能）を示している。なお、図２における位置変換回路３６が出力する分解能が細かい位置データは、（ｂ−３）に相当する。
【００２４】
図において、位置データを３通りの方法で検出し、位置分解能は、（ｂ−１）≦（ｂ−２）≦（ｂ−３）の関係で（ｂ−３）が最も高い（細かい）位置分解能となる。位置検出信号に用いる位置データ（ｂ−１）の１／２〜１／４程度の分解能の位置データが、エンコーダ３の１回転全域で静止時に安定する分解能の位置データ（ｂ−２）であり、更に、エンコーダ３の１回転全域で静止時に安定する分解能の位置データ（ｂ−２）の１／２〜１／４程度の分解能の位置データが、速度検出信号に用いる位置データ（ｂ−３）である（図３においては、位置検出信号に用いる位置データ（ｂ−１）を各１／４とした位置データを示している）。なお、どの程度の位置分解能とするかは、予め測定して決めておけばよい（例えば、エンコーダ３の１回転全域で静止時に安定する分解能であればよい）。
これら３通りの位置データは、最も高い（細かい）位置分解能である（ｂ−３）を予め決められていた分間引く、あるいは数ビットマスクして（ｂ−２）とし、更に（ｂ−２）を予め決められていた分間引く、あるいは数ビットマスクして（ｂ−１）とすればよい。
【００２５】
このように３通りの位置データがあるのは、次のような理由である。
図２における位置変換回路３６が出力する（ｂ−３）は、ノイズやちょっとした振動等で振られやすいので、位置データが変化した時の時間データと位置データの変化量を得にくく、得ても振動的になりやすい。そのため、（ｂ−３）は、ある一定のサンプリング時間内に変化した位置データの差から速度検出信号算出するための位置データとする。
また、（ｂ−２）は、停止時はＡφ、Ｂφの位相関係、スリットの誤差、ディスクのぶれ、Ａ／Ｄ変換器の誤差等で不安定であるが、ある一定速度以上は安定している。そのため、（ｂ−２）は、位置データが変化した時の時間データと位置データの変化量を算出するための位置データとする。
また、（ｂ−１）は、３通りの位置データの中で分解能が低く、ノイズやちょっとした振動等の影響が低く安定しているため、位置検出信号として用いる位置データとする。
【００２６】
次に、図１における速度算出部１５での第１の速度算出方法について、速度検出信号に用いる位置データ（ｂ−３）と、エンコーダ３の１回転全域で静止時に安定する分解能の位置データ（ｂ−２）とに基づく速度算出方法を説明する。なお、本速度算出方法は、一定のサンプリング時間毎に実施するものであり、最終的に算出した速度は図１における速度検出信号に用いるものである。
【００２７】
（ステップ１）図２におけるエンコーダ３の位置変換回路３６が出力する分解能が細かい位置データ（図３における（ｂ−３））と、カウンタ３７が出力する位置データの変化に要した時間データが、図１における入力回路部１４を介して速度算出部１５に入力され、ステップ２に進む。
（ステップ２）図１における速度算出部１５は、１サンプリング時間での位置データの変化量を今回と前回の位置データの差として演算し、それをサンプリング時間で割り速度を算出（周知の速度算出方法）し、ステップ３に進む。
【００２８】
（ステップ３）ステップ２で算出した速度がある速度レベル以上かどうか判別し、ある速度レベル以上であればステップ４へ進み、ある速度レベル以下であれば速度算出は終了する。
位置検出のためのＡ／Ｄ変換器３５の分解能が細かく、ノイズやちょっとした振動等で振られやすいので、位置データが変化した時の時間データと位置データの変化量を得にくく、得ても振動的になりやすいために、位置データ（図３における（ｂ−３））の分解能の２〜４パルス程度／サンプリング時間で位置データ（図３における（ｂ−２））を検出する。すなわち、速度レベルは上記のように振動的等にならない一定速度とするのである。
（ステップ４）ステップ１で得た位置データ（図３における（ｂ−３））を数ビットマスクして求めた位置データ（図３における（ｂ−２））の変化量を今回と前回の位置データの差として演算し、それをその位置変化に要した時間データで割り速度を算出する。
【００２９】
図４は、位置データの検出のタイミングを表した図である。図において、Ｔ１は前回の位置（Ｘ２）が変化した時間からサンプリング時点での時間、Ｔ２は今回の位置（Ｘ４）が変化した時間からサンプリング時点での時間、Ｔｓはサンプリング時間、Ｔは前回位置（Ｘ２）と今回位置（Ｘ４）の変化に要した時間データとすると、ＴはＴ＝Ｔｓ＋Ｔ１−Ｔ２で算出できる。
このように、ある速度レベル以上では、前述のステップ４のように、ステップ１で得た位置データ（図３における（ｂ−３））を数ビットマスクして求めた位置データ（図３における（ｂ−２））の変化量を今回と前回の位置データの差として演算し、それをその位置変化に要した時間データにより、正確な速度を検出できるのである。
【００３０】
次に、図１における速度算出部１５での第２の速度算出方法について、速度検出信号に用いる位置データ（ｂ−３）のみに基づく速度算出方法を説明する。なお、本速度算出方法は、一定のサンプリング時間毎に実施するものであり、最終的に算出した速度は図１における速度検出信号に用いるものであって、前述の第１の速度算出方法に代わるものである。
（ステップ１１）図２におけるエンコーダ３の位置変換回路３６が出力する分解能が細かい位置データ（図３における（ｂ−３））と、カウンタ３７が出力する位置データの変化に要した時間データが、図１における入力回路部１４を介して速度算出部１５に入力され、ステップ１２に進む（前述のステップ１と同じ）。
（ステップ１２）図１における速度算出部１５は、１サンプリング時間での位置データの変化量を今回と前回の位置データの差として演算し、それをサンプリング時間で割り速度を算出（周知の速度算出方法）し、ステップ１３に進む（前述のステップ２と同じ）。
【００３１】
（ステップ１３）ステップ１２における位置データの差が０かどうか判別する。位置データの差が０のときはステップ１４へ進み、位置の差が０でないときはステップ１４での時間Ｔを０とし速度算出処理を終了する。
（ステップ１４）位置データの差の時間データにサンプリング時間Ｔｓを加算する（時間Ｔの算出）。
（ステップ１５）ステップ１２における位置データの差をステップ１４で算出した時間Ｔで割り速度を算出する。なお、速度の方向は、前サンプリング時点での速度の方向とする。
また、位置データの差の時間差にサンプリング時間Ｔｓの半分を加算すると、次のサンプリングの中間でステップ１１における位置データが変化したとして、速度を算出することもできる。
【００３２】
（ステップ１６）ステップ１５における算出した速度が、ある速度レベル以下か判断する。ある速度レベル以下ではステップ１７に進む。一方、ある速度レベル以上ではステップ１２で算出した速度を速度算出値とする。
速度レベルは、前述のように振動的等にならない一定速度とするのである。この速度レベルは、例えば、求める速度の分解能より少し大きい程度にする。すなわち、速度レベルは無限に小さくしすぎると０がなくなり、正でも負でもない安定する領域がないことになる。そこで、速度の分解能自体は数値計算の余裕を持たせるので、ある程度高くする必要があり、位置決めの分解能との関係により、求める速度の分解能より少し大きい程度にするのである。
（ステップ１７）速度を０とし速度算出処理を終了する。
このように、位置データの差が０となるような速度算出が０になるようなときでも、サンプリング時間を加算して位置の差の時間を計測することにより、速度を検出することができる。
【図面の簡単な説明】
【００３３】
【図１】本発明の実施例１におけるモータ制御装置の概略構成図
【図２】エンコーダ３の概略構成ブロック図
【図３】位置変換回路３６の出力である位置データを説明する図
【図４】位置データの検出のタイミングを表した図
【符号の説明】
【００３４】
１  モータ制御装置
２  モータ
３  エンコーダ
１１  位置または速度制御部
１２  電流制御部
１３  インバータ部
１４  入力回路部
１５  速度算出部部
３１  発光体
３２  回転ディスク
３３  受光器
３４  増幅器
３５  Ａ／Ｄ変換器
３６  位置変換回路
３７  カウンタ
【図１】
2009095154.tif 000003
【図２】
2009095154.tif 000004
【図３】
2009095154.tif 000005
【図４】
2009095154.tif 000006