(57)【要約】モータ制御装置は、外部指示タイミングにおける位置検出値を、指示位置検出値として算出する指示位置検出部を有する。指示位置検出部は、内部カウンタと、検出位置算出部と、補正値生成部とを備える。内部カウンタは、モータに装着したロータリエンコーダによって検出されるモータ位置を位置検出値として読込む間隔である位置読込周期よりも短い周期の間隔でカウントしたカウント値を出力する。検出位置算出部は、位置検出値を用いてモータの回転を制御するとともに、指示パルスを含む外部検出指示信号が供給され、指示パルスのエッジによって指示された外部指示タイミングでのカウント値とを用いて、指示位置検出値を算出する。補正値生成部は、外部入力端子と、入力回路と、カウント値取込部と、補正値算出部とを含む。
2020149002.tif 000002
【特許請求の範囲】
【請求項１】
モータに装着したロータリエンコーダによって検出されるモータ位置を位置検出値として読込む間隔である位置読込周期よりも短い周期の間隔でカウントしたカウント値を出力する内部カウンタと、
前記位置読込周期の間隔で取り込んだカウント値と、前記位置検出値を用いて前記モータの回転を制御するとともに、指示パルスを含む外部検出指示信号が供給され、前記指示パルスのエッジによって指示された外部指示タイミングでのカウント値とを用いて、指示位置検出値を算出する検出位置算出部と、
前記外部検出指示信号が供給される外部入力端子と、
入力される前記外部検出指示信号に対して、パルス遅延を生じるアナログ処理を施し、遅延した前記指示パルスである取込パルスを含んだ検出指示信号として出力する入力回路と、
前記取込パルスのエッジによって指示されたデータ取込タイミングで内部カウンタ信号のカウント値を取り込み、取込カウント値として保持するカウント値取込部と、
前記パルス遅延により生じた前記外部指示タイミングでの前記カウント値と前記取込カウント値との誤差に対し、前記誤差を補正するための補正値を算出する補正値算出部と、
を含む補正値生成部と、
を有し、
前記外部指示タイミングにおける位置検出値を、指示位置検出値として算出する指示位置検出部を備え、
前記補正値生成部は、一定速度で前記モータが回転している状態にて、前記指示パルスに代えて前記内部カウンタから出力される前記カウント値を利用して生成される計測用パルスを前記入力回路に供給して前記計測用パルスのパルス遅延を計測し、前記パルス遅延に基づき前記補正値を生成し、
前記検出位置算出部は、前記補正値を用いて前記取込カウント値を補正することで、前記外部指示タイミングでの前記カウント値を生成するモータ制御装置。
【請求項２】
前記補正値生成部は、前記内部カウンタから出力される前記カウント値と、前記計測用パルスの開始タイミングを示すスタート値および終了タイミングを示すストップ値とを用いて、前記計測用パルスを生成するパルス生成部をさらに備え、
前記補正値算出部は、前記カウント値取込部が前記計測用パルスに基づき取り込んだ前記取込カウント値と、前記スタート値とを用いて、前記補正値を算出する請求項１に記載のモータ制御装置。
【請求項３】
前記補正値を保存する不揮発性のメモリをさらに備えた請求項１または２に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロータリエンコーダを利用してモータ位置を検出し、その検出結果に基づいてモータの回転を制御するモータ制御装置に関する。本発明は特に、一定速度でモータが回転している状態で、外部入力信号の入力タイミングでのモータ位置を検出する機能を有するモータ制御装置に関する。
【背景技術】
【０００２】
従来のモータ制御装置は、回転制御のため、一定のサンプリング周期にて、ロータリエンコーダからのモータ位置情報を、例えばシリアル通信を通じて取り込む。さらに、このモータ制御装置は、外部から指示したタイミングでのモータ位置を検出するため、外部から外部入力信号が供給可能なように構成されている。すなわち、このモータ制御装置は、外部入力信号がオンしたタイミングのモータ位置情報を取り込み、記憶するように構成されている。【０００３】
また、モータ位置の検出精度を高めるため、装置の内部に内部カウンタを備えたモータ駆動装置が提案されている（例えば、特許文献１を参照）。このモータ駆動装置は、サンプリング周期ごとの内部カウンタの値、および外部入力信号のタイミングでの内部カウンタの値を、それぞれ記憶する。このモータ駆動装置は、記憶したそれぞれの内部カウンタの値を利用し、隣接サンプリング間において外部入力信号がオンしたタイミングでのモータ位置を推定している。【０００４】
さらに、従来、外部入力信号の伝達遅延で生じる誤差での検出精度低下を抑制する手法も提案されている（例えば、特許文献２を参照）。例えば、外部入力信号の立上りと立下りとの伝達遅延時間差が大きく、かつモータが高速動作する場合においても、外部入力信号が入力されたタイミングでのモータ位置を精度よく推定するような提案がなされている。このモータ駆動装置は、デューティー比が明確な矩形波を外部入力信号として利用している。このモータ駆動装置は、まず、入力した矩形波の立上りと立下りとの各タイミングで内部カウンタの値を記憶する。次に、記憶した内部カウンタの各値を用いて、立上りから立下りまでのタイミングと、立下りから立上りまでのタイミングとの比率を求める。この比率と、矩形波のデューティー比との差分から、伝達遅延時間の相対遅延補正量を推定する。【０００５】
しかしながら、上記の従来の手法では、外部入力信号が入力されてから内部カウンタの値を取り込むまでのタイミングにおいて、例えば、外部入力信号に対し絶縁処理を施すため、フォトカプラのようなアナログ素子を使用したアナログ入力回路などの遅延を含んでいる。このため、上記の従来の手法では、その遅延によって、検出したモータ位置に誤差が含まれることになる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２２０１１６号公報
【特許文献２】特開２０１５−２５９５号公報
【発明の概要】
【０００７】
本発明は、上記の課題に鑑みなされたもので、アナログ入力回路などの遅延を補正することで、モータ位置を精度よく検出可能なモータ制御装置を提供することを目的とする。
【０００８】
上記目的を達成するため、本発明のモータ制御装置は、外部指示タイミングにおける位置検出値を、指示位置検出値として算出する指示位置検出部を備える。指示位置検出部は、内部カウンタと、検出位置算出部と、補正値生成部と、を有する。内部カウンタは、モータに装着したロータリエンコーダによって検出されるモータ位置を位置検出値として読込む間隔である位置読込周期よりも短い周期の間隔でカウントしたカウント値を出力する。検出位置算出部は、位置検出値を用いてモータの回転を制御するとともに、指示パルスを含む外部検出指示信号が供給され、指示パルスのエッジによって指示された外部指示タイミングでのカウント値とを用いて、指示位置検出値を算出する。補正値生成部は、外部入力端子と、入力回路と、カウント値取込部と、補正値算出部とを含む。外部入力端子は、外部検出指示信号が供給される。入力回路は、入力される外部検出指示信号に対して、パルス遅延を生じるアナログ処理を施し、遅延した指示パルスである取込パルスを含んだ検出指示信号として出力する。カウント値取込部は、取込パルスのエッジによって指示されたデータ取込タイミングで内部カウンタ信号のカウント値を取り込み、取込カウント値として保持する。補正値算出部は、パルス遅延により生じた外部指示タイミングでのカウント値と取込カウント値との誤差に対し、誤差を補正するための補正値を算出する。補正値生成部は、一定速度でモータが回転している状態にて、指示パルスに代えて、内部カウンタから出力されるカウント値を利用して生成される計測用パルスを入力回路に供給して計測用パルスのパルス遅延を計測し、パルス遅延に基づき補正値を生成する。検出位置算出部は、補正値を用いて取込カウント値を補正することで、外部指示タイミングでのカウント値を生成する。
【０００９】
このような構成によれば、補正値生成部での計測に基づき生成した補正値を用いて取込カウント値を補正する。このため、入力回路における遅延の影響を抑制できる。したがって、精度よく外部指示タイミングでの所望の指示位置検出値が得られる。
【００１０】
本発明のモータ制御装置は、補正値生成部で生成した補正値を用いて補正することで、入力回路での遅延による指示位置検出値への影響を抑制できる。このため、本発明は、モータ位置を精度よく検出可能なモータ制御装置を提供できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態におけるモータ制御装置の構成を示すブロック図
【図２】同モータ制御装置の外部検出指示信号ＰＥｘを中心としたタイミング例を示すタイミングチャート
【図３】同モータ制御装置の指示位置検出部のより詳細な構成例を示すブロック図
【図４】同モータ制御装置の補正値Ｃｒｒを算出するためのタイミング例を示すタイミングチャート
【図５】同モータ制御装置の外部指示タイミングにおいてのモータ位置を検出するためのタイミング例を示すタイミングチャート
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下に説明する実施の形態は、本開示の好ましい一具体例を示すものである。したがって、以下の実施の形態で示される、数値、形状、材料、構成要素、構成要素の配置位置および接続形態などは、一例であって、本開示を限定する主旨ではない。よって、以下の実施の形態における構成要素のうち、本開示の最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００１３】
各図は、模式図であり、必ずしも厳密に図示されたものではない。したがって、各図において縮尺等は必ずしも一致していない。各図において、実質的に同一の構成に対しては同一の符号を付しており、重複する説明は省略または簡略化する。
【００１４】
（実施の形態）
図１は、本発明の実施の形態におけるモータ制御装置１０の構成を示すブロック図である。図１は、本実施の形態のモータ制御装置１０を含むモータ制御システムの構成例を示している。このモータ制御システムは、主に産業用として利用されるシステムである。このモータ制御システムは、例えば、サーボアンプなどと呼ばれるモータ制御装置１０によって、サーボモータのようなモータ７０を制御および駆動し、モータ７０に接続された負荷を作動させるシステムである。
【００１５】
図１に示すように、本モータ制御システムにおいて、モータ制御装置１０には、上位コントローラ７５と、モータ７０と、ロータリエンコーダ７１とが接続されている。
【００１６】
この上位コントローラ７５は、モータ制御装置１０に対して、例えば指令情報を供給するなどの処理を行い、モータ制御装置１０を介してシステム全体を制御する。上位コントローラ７５は、このようなサーボ制御のためのコントローラであり、例えばマイクロコントローラ（マイコン）が好適である。モータ７０は、モータ制御装置１０によって、例えば指令情報に応じて回転するように制御されながら、通電駆動される。また、モータ位置の検出、すなわち、モータ７０のロータの回転位置を検出するために、モータ７０には、ロータリエンコーダ７１が装着されている。
【００１７】
このようなモータ制御システムの構成により、モータ制御装置１０は、この外部に配置した上位コントローラ７５から、例えば回転位置および回転速度などの指令が通知される。モータ制御装置１０は、ロータリエンコーダ７１から位置情報を受け取りながら、上位コントローラ７５からの指令に従って、ロータが所定の位置および速度となるようにモータ７０を駆動する。
【００１８】
本実施の形態では、図１に示すように、上位コントローラ７５からモータ制御装置１０に対して、位置指令を含む外部指令信号ＣＥｘが供給される。また、ロータリエンコーダ７１からモータ制御装置１０に対して、検出した位置情報を含む位置センサ信号Ｄｐｓが供給される。モータ制御装置１０からモータ７０に対して、モータ７０を駆動する駆動電圧ＤＲｖが供給される。本実施の形態では、このようなモータ制御システムの構成例を挙げて説明する。
【００１９】
モータ制御装置１０により駆動されるモータ７０としては、Ｕ相、Ｖ相、Ｗ相とする３相の巻線を有したステータと、ステータに対向して回転軸を中心に回転自在に配置されたロータとを備えたブラシレスモータが好適である。モータ７０は、ステータの巻線がモータ制御装置１０からの駆動電圧ＤＲｖによって通電駆動されることで、ロータが回転する。ロータの回転により、回転軸を介して負荷が回転するように回転駆動される。
【００２０】
モータ７０の回転を制御するため、モータ７０には、ロータの回転位置（以下、適宜、モータ位置とも呼ぶ）を検出するロータリエンコーダ（以下、適宜、単にエンコーダと呼ぶ）７１が装着されている。このような位置センサとして機能するエンコーダ７１から、検出した回転位置を示す位置センサ信号Ｄｐｓが出力され、位置センサ信号Ｄｐｓがモータ制御装置１０に供給される。
【００２１】
特に、本実施の形態では、エンコーダ７１として、インクリメンタル型のロータリエンコーダを採用している。インクリメンタル型エンコーダは、複数のスリットが周方向に一様に形成された格子円盤と、スリットの通過数を計測するための光電素子と、通過数をカウントするための位置カウンタ７３とを備えている。格子円盤が、モータ７０の回転軸に装着されている。これにより、光電素子を利用して回転に応じたスリットの通過を検出し、位置カウンタ７３により通過スリット数をカウントしている。このカウント数を示すカウント値が、回転角度に対応する。インクリメンタル型のエンコーダ７１は、このような構成に基づいて、ロータの回転角度、すなわち回転位置を測るモータ位置検出器である。このように、図１において、位置カウンタ７３から出力される位置カウンタ信号Ｐｏｓでのカウント値は、エンコーダ７１により検出されたモータ７０の回転位置に対応する位置検出値を示している。このカウント値は、位置センサ信号Ｄｐｓとしてモータ制御装置１０に供給される。
【００２２】
次に、モータ制御装置１０は、図１に示すように、制御部１１と、クロック生成部１２と、タイミング信号生成部１３と、回転制御部１４と、モータ駆動部１５と、モータ位置受信部１６とに加えて、外部から指示されたタイミングでのロータの位置を検出する指示位置検出部２０を備えている。
【００２３】
このようなモータ制御装置１０に対しての上位コントローラ７５からの外部指令信号ＣＥｘは、制御部１１に供給される。制御部１１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）またはプロセッサなどで構成されている。制御部１１は、メモリに保存されたプログラムに基づき、モータ制御装置１０内の各種の処理および制御を行う。その処理の一例として、制御部１１は、供給された外部指令信号ＣＥｘから、モータ７０を制御するための各種の指令である制御指令を抽出する。図１は、制御指令の中で、ロータの位置を指令する位置指令信号Ｐｃｍを抽出し、回転制御部１４に供給する一例を示している。
【００２４】
また、本実施の形態では、モータ制御装置１０内において、主にデジタル処理により各動作を実行する構成としている。このため、モータ制御装置１０は、デジタル処理用として、周知のとおりのクロック信号を生成するクロック生成部１２を備えている。すなわち、クロック生成部１２によって、周期的なパルス信号であるクロックＣｋが、モータ制御装置１０において生成される。クロックＣｋは、モータ制御装置１０内におけるデジタル処理の動作周期の基準として、例えばデータをラッチするなどのデジタル処理に用いている。
【００２５】
モータ制御装置１０は、クロックＣｋに基づき、各種のタイミング信号を生成するタイミング信号生成部１３をさらに備えている。タイミング信号生成部１３は、具体的には、クロックＣｋを例えば分周するなどして、各種のタイミングを示すパルス信号を生成している。図１では、タイミング信号生成部１３により、モータ制御装置１０内の制御周期を示す周期的なパルス信号の制御クロック信号（以下、適宜、制御クロックと呼ぶ）ＳＣｋと、エンコーダ７１からの位置センサ信号Ｄｐｓの位置読込周期を示す周期的なパルス信号の位置読込クロック信号（以下、適宜、読込クロックと呼ぶ）ＲＣｋとが生成される一例を示している。
【００２６】
なお、本実施の形態では、特に注釈しない限り、各デジタル処理回路は、クロックＣｋ、制御クロックＳＣｋ、読込クロックＲＣｋ等のパルス信号のレベルがＬｏｗからＨｉｇｈに変化する立上りで動作する例を挙げて説明する。すなわち、詳細については以下でさらに説明するが、本実施の形態では、データを一時的に記憶するラッチとして、Ｄ型フリップフロップを利用する構成例を挙げている。そして、周知のとおり、このＤ型フリップフロップは、クロック端子に供給されたパルス信号の立上りのエッジで、Ｄ入力の値をＱ出力として保持する。
【００２７】
次に、モータ制御装置１０によりモータ７０が制御および通電駆動される構成について説明する。本実施の形態では、基本的に、モータ制御装置１０は、エンコーダ７１からの位置センサ信号Ｄｐｓによる位置情報を利用したフィードバック制御を実行する。このフィードバック制御によって、制御部１１からの位置指令信号Ｐｃｍにモータ７０の回転位置が追従するように、モータ７０でのロータの動きが制御される。
【００２８】
モータ制御装置１０は、位置センサ信号Ｄｐｓから位置情報を取得するため、モータ位置受信部１６を有している。モータ位置受信部１６とエンコーダ７１とは、例えばシリアル通信により通信接続されている。エンコーダ７１の位置カウンタ７３による位置カウンタ信号Ｐｏｓのカウント値が、所定の伝送フォーマットでの位置センサ信号Ｄｐｓとしてモータ位置受信部１６に伝送される。また、モータ位置受信部１６には読込クロックＲＣｋが供給されている。モータ位置受信部１６は、読込クロックＲＣｋの周期で、位置センサ信号Ｄｐｓから位置情報を復元する。そして、復元した位置情報であるデータを位置検出値とし、順に位置検出値信号Ｄｐｏｓとして読込クロックＲＣｋの周期で出力する。すなわち、位置検出値信号Ｄｐｏｓは、エンコーダ７１での位置カウンタ信号Ｐｏｓの位置カウント値が、位置検出値として、読込クロックＲＣｋのサンプリング周期で時系列に配置されたデジタル信号である。このように、モータ制御装置１０は、エンコーダ７１によって検出したモータ位置を示す位置カウント値を、位置検出値信号Ｄｐｏｓでの位置検出値として、位置読込周期の間隔となる読込クロックＲＣｋごとに読込んでいる。モータ位置受信部１６からは、位置検出値信号Ｄｐｏｓが出力される。位置検出値信号Ｄｐｏｓは、回転制御部１４に供給されて、回転制御部１４が位置検出値信号Ｄｐｏｓの位置検出値を用いてモータ７０の回転を制御する。さらに、位置検出値信号Ｄｐｏｓは、外部から指示されたタイミングでの指示位置検出値を算出する指示位置検出部２０にも供給される。
【００２９】
回転制御部１４は、位置検出値信号Ｄｐｏｓ、および制御部１１から供給される位置指令信号Ｐｃｍを受け取り、それら信号に基づく演算処理により、モータ７０を駆動するための駆動信号Ｔｒｑを生成する。また、回転制御部１４には、制御クロックＳＣｋが供給されている。回転制御部１４は、制御クロックＳＣｋの周期で、この演算処理などの処理を実行する。回転制御部１４は、位置フィードバック制御を実行するため、例えば次のような演算処理を実行する。すなわち、回転制御部１４は、位置指令信号Ｐｃｍと位置検出値信号Ｄｐｏｓとの差分である位置偏差を順次に算出する。回転制御部１４は、その位置偏差に対するＰＩＤ（比例積分微分）演算処理などにより、駆動信号Ｔｒｑを生成している。なお、本実施の形態では、主にモータ制御装置１０が回転位置を制御するような例を挙げて説明する。しかし、回転制御部１４において、例えば、位置データから速度を算出し、速度フィードバック制御により駆動信号Ｔｒｑを生成するような構成であってもよい。
【００３０】
駆動信号Ｔｒｑは、モータ駆動部１５に供給される。モータ駆動部１５は、駆動信号Ｔｒｑに基づいて、モータ７０の巻線を通電駆動する駆動電圧ＤＲｖを生成して出力する。すなわち、モータ駆動部１５は、駆動波形を生成するためのＰＷＭ（Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ、パルス幅変調）回路、および、いわゆるインバータなどを備えており、これらの回路を用いて、供給された駆動信号Ｔｒｑに応じた駆動電圧ＤＲｖを生成する。駆動電圧ＤＲｖをモータ７０の巻線に印加することで、モータ７０が通電駆動される。そして、モータ７０への通電駆動により、モータ７０内のロータが、位置指令信号Ｐｃｍに従って回転する。
【００３１】
このように、本実施の形態では、エンコーダ７１からモータ位置受信部１６を介して、ロータの実回転位置を示す位置検出値信号Ｄｐｏｓが通知される。これとともに、制御部１１から、回転位置を制御するために指令された位置指令信号Ｐｃｍが通知される。そして、回転制御部１４によって、位置検出値信号Ｄｐｏｓと位置指令信号Ｐｃｍとに基づき、ロータの回転位置が指令位置に追従するようにフィードバック制御する位置制御ループが構成されている。モータ制御装置１０は、以上のような一連のループ処理を連続的に実行することにより、モータ７０を回転制御する。
【００３２】
さらに、本実施の形態では、モータ制御装置１０が指示位置検出部２０を備えており、指示位置検出部２０により、外部から指示されたタイミングでのロータの位置検出を可能としている。本実施の形態では、このようなモータ位置検出のタイミングを指示するため、外部検出指示信号ＰＥｘとするパルス信号を外部から供給するように構成している。本実施の形態では、外部検出指示信号ＰＥｘにおけるパルスを指示パルスとしており、より詳細には、この指示パルスのエッジでの立上りとなるタイミングを、外部からの指示タイミングである外部指示タイミングとした一例を挙げている。
【００３３】
このような指示に対応するロータ位置を検出するため、指示位置検出部２０は、図１に示すように、内部カウンタ２１と、入力回路２２と、切替スイッチ２２ｓと、パルス生成部２３と、カウント値記憶部２４ｍと、カウント値取込部２４ｃと、位置データ取込部２４ｐと、補正値算出部２５と、検出位置算出部２６とを備えている。また、図２は、本発明の実施の形態におけるモータ制御装置１０の外部検出指示信号ＰＥｘを中心としたタイミング例を示すタイミングチャートである。図２は、位置カウンタ７３の位置カウンタ信号Ｐｏｓおよび位置検出値信号Ｄｐｏｓとともに、以下で詳細に説明する内部カウンタ２１からの内部カウンタ信号Ｃａｐなどの様子も含めて示している。さらに、図３は、本発明の実施の形態におけるモータ制御装置１０の指示位置検出部２０のより詳細な構成例を示すブロック図である。次に、指示位置検出部２０の構成およびその動作について詳細に説明する。
【００３４】
まず、図２に示すように、この外部検出指示信号ＰＥｘでの外部指示タイミングと、ロータの位置を示す位置検出値信号Ｄｐｏｓとは非同期であり、双方の時間的な関連性はない。上述のとおり、位置検出値信号Ｄｐｏｓは、デジタル信号であり、位置カウンタ７３の位置カウンタ信号Ｐｏｓを位置読込周期（以下、適宜、読込周期と呼ぶ）Ｔｒｃでサンプリングし、サンプリングにより離散化されたデータを、時系列で順番に配置して構成されている。すなわち、図２のように、位置検出値信号Ｄｐｏｓは、読込周期Ｔｒｃ毎の時刻ｔ−１、ｔ０、ｔ１、ｔ２・・・にサンプリングされた位置検出値Ｐｏｓ−１、Ｐｏｓ０、Ｐｏｓ１、Ｐｏｓ２、・・・を時系列に配置するように構成されている。ここで、本実施の形態では、読込周期Ｔｒｃを読込クロックＲＣｋの周期としている。
【００３５】
また、ロータは一定速度の回転数で回転制御しているため、位置カウンタ信号Ｐｏｓは、読込クロックＲＣｋの周期でのロータの移動量は一定となっている。
【００３６】
このような位置検出値信号Ｄｐｏｓに対し、外部指示タイミングは、エンコーダ７１でのサンプリングタイミングとは関連のない任意のタイミングである。これより、外部指示タイミングと読込クロックＲＣｋ周期の読込タイミングとには、規則性のない時間的なずれがある。図２では、外部指示タイミングの時刻ｔｅｘにおいて、位置検出値信号Ｄｐｏｓが位置検出値Ｐｏｓ０となっているような状態を示している。このように、外部指示タイミングである時刻ｔｅｘと、位置検出値Ｐｏｓ０の読込タイミングである時刻ｔ０とには、図２の場合、時間的なずれであるずれ時間Ｔｅｒがある。そして、ずれ時間Ｔｅｒにより、外部指示タイミングでの位置を正確に示す値Ｐｐｅｘと、位置検出値信号Ｄｐｏｓでの位置検出値Ｐｏｓ０との間にも誤差が生じる。図２の場合、この誤差の値は、Ｐｐｅｘ−Ｐｏｓ０となる。
【００３７】
そこで、指示位置検出部２０では、図１に示すように、内部カウンタ２１とするカウンタを設けている。内部カウンタ２１の内部カウンタ信号Ｃａｐのカウント値を利用した補間（内挿手法）により、隣どうしのサンプリングタイミング間に発生した外部指示タイミングでの位置を示す値を、指示位置検出値Ｄｐｅｘとして算出している。
【００３８】
さらに、本実施の形態では、図１に示すように、入力回路２２を設けた構成としている。入力回路２２は、外部からの外部検出指示信号ＰＥｘに対して、アナログ信号処理を施すアナログ回路である。より具体的には、入力回路２２が、図３に示すように、アナログ素子であるフォトカプラ３１とアンプ３２とを備えた構成例を挙げている。ここで、フォトカプラ３１は、外部検出指示信号ＰＥｘのような外部からの信号に対して絶縁を施して安全性を図るために設けている。アンプ３２は、外部検出指示信号ＰＥｘのパルスレベルを一定にするために設けている。一方、外部検出指示信号ＰＥｘに対して入力回路２２を設けているため、通常の電気的につながった回路基板上の配線のナノ秒オーダーの遅延と比較し、無視ができないレベルのマイクロ秒オーダーの遅延が発生する。そのため、入力回路２２によって、図２に示すように、外部検出指示信号ＰＥｘが時間Ｔｄｌだけ遅延する。そして、入力回路２２からは、外部検出指示信号ＰＥｘよりも遅れた外部の指示タイミングとなる検出指示信号ＰＬｔが、出力されることとなる。すなわち、入力回路２２はパルス遅延を含むアナログ処理を施している。このため、言い換えると、入力回路２２からは、外部検出指示信号ＰＥｘの指示パルスが遅延したパルスを含む検出指示信号ＰＬｔが出力される。本実施の形態では、検出指示信号ＰＬｔにおけるパルスを取込パルスとして説明する。図２では、外部指示タイミングの時刻ｔｅｘから時間Ｔｄｌだけ遅延した時刻ｔｄｌにおいて、検出指示信号ＰＬｔの取込パルスが出力される例を挙げている。
【００３９】
そこで、本実施の形態では、さらに、指示位置検出部２０において、内部カウンタ２１のカウント値を利用して、入力回路２２によって生じるパルス信号の遅延量を計測し、計測した遅延量を用いてその遅延による誤差を補正する補正機能も備えた構成としている。
【００４０】
これらの対策を施すために指示位置検出部２０に設けた内部カウンタ２１は、エンコーダ７１の位置カウンタ７３と同様に、数をカウントするカウンタである。内部カウンタ２１は、読込クロックＲＣｋの周期よりも短い周期の間隔でカウントしたカウント値を出力する構成としている。本実施の形態では、図１に示すように、内部カウンタ２１にはクロックＣｋが供給されており、内部カウンタ２１は、クロックＣｋの立上りごとにアップカウントし、クロック数をカウントする。そのカウントによる内部カウンタ信号Ｃａｐが、内部カウンタ２１のＱ出力から出力される。内部カウンタ信号Ｃａｐは、クロックＣｋの周期毎に順次カウントアップするカウント値が時系列で順番に並ぶデジタル信号である。より具体的には、内部カウンタ２１は、例えば１６ビット幅のフリーランカウンタであり、内部カウンタ信号Ｃａｐは、クロックＣｋの周期で、図２に示すように、００００ｈからＦＦＦＦｈ（”・・・・ｈ”での最後の”ｈ”は、１６進数であることを示す）までカウントアップし、ＦＦＦＦｈを超えると００００ｈに戻り、再びカウントアップする。このような内部カウンタ信号Ｃａｐが、図１に示すように、カウント値記憶部２４ｍ、カウント値取込部２４ｃおよびパルス生成部２３に供給される。
【００４１】
カウント値記憶部２４ｍには、図１に示すように、内部カウンタ信号Ｃａｐに加えて、読込クロックＲＣｋが供給されている。カウント値記憶部２４ｍは、読込クロックＲＣｋの周期である位置読込周期の間隔で、内部カウンタ信号Ｃａｐのカウント値を取り込み、順次に記憶する。図３では、このように動作するカウント値記憶部２４ｍの構成として、Ｄ型フリップフロップ（以下、適宜、ＤＦＦと呼ぶ）４５と記憶部４６とを有した一例を示している。ＤＦＦ４５のＤ入力には、内部カウンタ信号Ｃａｐが供給され、クロック端子ｃｋには読込クロックＲＣｋが供給される。また、ＤＦＦ４５のＱ出力が、メモリである記憶部４６に接続されるとともに、検出位置算出部２６へと出力される。このような構成のカウント値記憶部２４ｍにより、ＤＦＦ４５が、読込クロックＲＣｋの周期で、内部カウンタ信号Ｃａｐの値を取り込み、記憶部４６が、取り込んだ値を順次に所定の数だけ記憶している。すなわち、ＤＦＦ４５は、図２のような内部カウンタ信号Ｃａｐに対し、読込周期Ｔｒｃ毎の時刻ｔ−１、ｔ０、ｔ１、ｔ２・・・に、内部カウンタ信号Ｃａｐのカウント値Ｃａｐ−１、Ｃａｐ０、Ｃａｐ１、Ｃａｐ２、・・・を取り込む。そして、取り込んだカウント値Ｃａｐ−１、Ｃａｐ０、Ｃａｐ１、Ｃａｐ２、・・・を、カウント値記憶部２４ｍに記憶させるとともに、内部カウント値信号Ｄｃａｐとするデジタル信号の形式で、順番に出力する。
【００４２】
なお、本実施の形態の場合、読込クロックＲＣｋは、タイミング信号生成部１３によりクロックＣｋを分周して生成され、内部カウンタ２１は、クロックＣｋをカウントして内部カウンタ信号Ｃａｐを生成している。このため、例えば、クロックＣｋを１０００分周して読込クロックＲＣｋを生成した場合、ＤＦＦ４５は、内部カウンタ信号Ｃａｐから、１０００ずつ変化するカウント値を取り込むことになる。以下、このように、読込クロックＲＣｋ毎にカウント値が変化する量を、図２に示すような内部カウンタの変化値Ｎｃａｐとして説明する。例えばクロックＣｋを１０００分周して読込クロックＲＣｋを生成した場合、図２でのＣａｐ０からＣａｐ１に対しては変化値Ｎｃａｐ＝１０００だけ増加する。Ｃａｐ１からＣａｐ２に対しては、まず、Ｃａｐ１からＦＦＦＦｈまで増加し、その後、００００ｈに戻り、００００ｈからＣａｐ２まで、合計の変化値Ｎｃａｐ＝１０００だけ変化する。なお、図１および図３では、カウント値記憶部２４ｍにおいて、内部カウンタ信号Ｃａｐからカウント値Ｃａｐ０が取り込まれ、このカウント値Ｃａｐ０が、検出位置算出部２６へと出力されている場合を示している。
【００４３】
カウント値取込部２４ｃには、図１に示すように、内部カウンタ信号Ｃａｐに加えて、入力回路２２から出力される検出指示信号ＰＬｔが供給されている。カウント値取込部２４ｃは、検出指示信号ＰＬｔのパルス立上りのタイミングで、内部カウンタ信号Ｃａｐの値を取り込み、一時的に保持する。図３では、このように動作するカウント値取込部２４ｃの構成として、ＤＦＦ４２を有した一例を示している。このＤＦＦ４２のＤ入力には、内部カウンタ信号Ｃａｐが供給され、クロック端子ｃｋには検出指示信号ＰＬｔが供給される。このような構成のカウント値取込部２４ｃにより、ＤＦＦ４２は、図２のように、検出指示信号ＰＬｔの取込パルスのエッジにおける立上りのタイミング、すなわち時刻ｔｄｌにおいて、内部カウンタ信号Ｃａｐの値を取込カウント値ＣａｐＸとして取り込み、一時的に保持している。
【００４４】
なお、検出指示信号ＰＬｔは、上述のように、外部検出指示信号ＰＥｘが遅延した信号である。外部検出指示信号ＰＥｘによる外部指示タイミングに対し、実際には、検出指示信号ＰＬｔによりデータを取り込む。これにより、検出指示信号ＰＬｔについては、その取込パルスの立上りのタイミング、すなわち図２での時刻ｔｄｌを、図２のようにデータ取込タイミングとして説明する。カウント値取込部２４ｃは、取込パルスのエッジによって指示されたデータ取込タイミングで、内部カウンタ信号Ｃａｐのカウント値を取り込み、取込カウント値として保持している。また、図１および図３では、カウント値取込部２４ｃにおいて、内部カウンタ信号Ｃａｐから取込カウント値ＣａｐＸが取り込まれ、その取込カウント値ＣａｐＸが、検出位置算出部２６および補正値算出部２５へと出力されている。
【００４５】
カウント値取込部２４ｃは、このように、入力回路２２により遅延したデータ取込タイミングで、内部カウンタ信号Ｃａｐの値を取り込む。このため、本実施の形態では、上述のように、指示位置検出部２０が、入力回路２２による遅延を補正する補正機能を有している。指示位置検出部２０は、この補正機能を実現するため、さらに、パルス生成部２３、切替スイッチ２２ｓ、および補正値算出部２５を備えている。図３のように、パルス生成部２３と、切替スイッチ２２ｓと、入力回路２２と、カウント値取込部２４ｃと、補正値算出部２５とで、補正値生成部３０を構成している。補正値生成部３０は、この構成により、入力回路２２でのパルス遅延によって取込カウント値ＣａｐＸに含まれた誤差に対し、その誤差を補正するための補正値Ｃｒｒを生成している。
【００４６】
図４は、本発明の実施の形態におけるモータ制御装置１０の補正値Ｃｒｒを算出するためのタイミング例を示すタイミングチャートである。図４は、図２と同様の時刻ｔ０近辺について、各部の状態を示している。次に、図１、図３および図４を参照しながら、補正値Ｃｒｒを算出するための構成および動作について説明する。
【００４７】
まず、パルス生成部２３には、図１に示すように、内部カウンタ信号Ｃａｐに加えて、所定の値であるスタート値Ｐｓｔとストップ値Ｐｅｎとが供給されている。スタート値Ｐｓｔとストップ値Ｐｅｎとは、生成するパルスのタイミングを指示するための値である。スタート値Ｐｓｔはパルスの開始タイミングに対応し、ストップ値Ｐｅｎはパルスの終了タイミングに対応している。なお、スタート値Ｐｓｔおよびストップ値Ｐｅｎは、制御部１１から供給される構成であってもよい。パルス生成部２３は、内部カウンタ信号Ｃａｐのカウント値と、スタート値Ｐｓｔおよびストップ値Ｐｅｎとに基づき、計測用パルス信号ＰＧｎでの計測用パルスを生成する。図４では、時刻ｔ０と時刻ｔ１との間において、パルスのレベルがＨｉｇｈとなる計測用パルスを有した計測用パルス信号ＰＧｎを示している。
【００４８】
図３では、計測用パルス信号ＰＧｎを生成するパルス生成部２３の構成として、比較器３５、比較器３６と論理回路３７とを有した一例を示している。比較器３５には、内部カウンタ信号Ｃａｐとともに、パルス出力の開始を指示するための値であるスタート値Ｐｓｔが供給されている。比較器３５は、内部カウンタ信号Ｃａｐのカウント値とスタート値Ｐｓｔとの大小関係を比較し、図４に示すように、内部カウンタ信号Ｃａｐのカウント値がスタート値Ｐｓｔを超えた時点で、スタートを示す信号を論理回路３７に出力する。一方、比較器３６には、内部カウンタ信号Ｃａｐとともに、パルス出力の終了を指示するための値であるストップ値Ｐｅｎが供給されている。比較器３６は、内部カウンタ信号Ｃａｐのカウント値とストップ値Ｐｅｎとの大小関係を比較し、図４に示すように、内部カウンタ信号Ｃａｐのカウント値がストップ値Ｐｅｎを超えた時点で、ストップを示す信号を論理回路３７に出力する。論理回路３７は、比較器３５および比較器３６からの信号により、図４に示すように、計測用パルス信号ＰＧｎにおいて、スタート値Ｐｓｔに基づき時刻ｔｓｔでＨｉｇｈへと立上り、ストップ値Ｐｅｎに基づき時刻ｔｅｎでＬｏｗへと立下る計測用パルスを出力する。パルス生成部２３から出力された計測用パルス信号ＰＧｎは、切替スイッチ２２ｓに供給される。なお、このようにして計測用パルスを生成するため、スタート値Ｐｓｔに比べてストップ値Ｐｅｎのほうが大きい値である。また、スタート値Ｐｓｔとストップ値Ｐｅｎとの差によって、計測用パルスのパルス幅を設定できる。
【００４９】
切替スイッチ２２ｓには、図１に示すように、パルス生成部２３からの計測用パルス信号ＰＧｎと、外部入力端子２７からの外部検出指示信号ＰＥｘと、制御部１１からの計測指示信号ＭＥｓとが供給される。切替スイッチ２２ｓは、計測指示信号ＭＥｓの指示に応じて、計測用パルス信号ＰＧｎと外部検出指示信号ＰＥｘとのいずれかを選択して出力するスイッチである。本実施の形態では、計測指示信号ＭＥｓのレベルがＬｏｗの場合に、計測用パルス信号ＰＧｎを使用する例を挙げている。すなわち、図４に示すように、計測指示信号ＭＥｓがＬｏｗの期間において、パルス生成部２３で生成された計測用パルス信号ＰＧｎは、切替スイッチ２２ｓを介して、入力回路２２に供給される。そして、入力回路２２からは、時間Ｔｄｌだけ経過した後に、計測用パルス信号ＰＧｎが遅延した信号である検出指示信号ＰＬｔが出力される。
【００５０】
計測用パルス信号ＰＧｎが遅延した検出指示信号ＰＬｔは、図１に示すように、カウント値取込部２４ｃに供給される。カウント値取込部２４ｃのＤＦＦ４２により、時刻ｔｄｌでのデータ取込タイミングにおいて、内部カウンタ信号Ｃａｐから取込カウント値ＣａｐＸが取り込まれ、ＤＦＦ４２が取込カウント値ＣａｐＸを一時的に保持する。
【００５１】
このような動作によりカウント値取込部２４ｃにおいて一時的に保持されている取込カウント値ＣａｐＸは、図１に示すように、補正値算出部２５に供給される。補正値算出部２５には、あらかじめスタート値Ｐｓｔが供給されている。補正値算出部２５は、供給されるスタート値Ｐｓｔと取込カウント値ＣａｐＸとから、入力回路２２における遅延量を算出する。
【００５２】
なお、図１において、切替スイッチ２２ｓを外部入力端子２７にスイッチを切り替えて、計測指示信号ＭＥｓのレベルがＬｏｗの場合の時に、波形信号生成用のパルスジェネレータなどを使用して外部検出指示信号ＰＥｘを入力し、図２に示すように、外部検出指示信号ＰＥｘを計測用パルス信号として使用して、入力回路２２における遅延量を算出してもよい。
【００５３】
図３では、このように動作する補正値算出部２５の構成として、減算器５１とＤＦＦ５２とを有した一例を示している。減算器５１には、スタート値Ｐｓｔと取込カウント値ＣａｐＸとが供給され、減算器５１は、スタート値Ｐｓｔと取込カウント値ＣａｐＸとの差である差分値Ｄｉｆを算出する。ここで、図４に示すように、スタート値Ｐｓｔは時刻ｔｓｔに対応し、取込カウント値ＣａｐＸは時刻ｔｄｌに対応していることより、差分値Ｄｉｆは、入力回路２２での遅延の時間Ｔｄｌに対応している。言い換えると、時間Ｔｄｌに対応する差分値Ｄｉｆを利用して、例えば図２に示す時刻ｔｄｌから時間Ｔｄｌだけ早いタイミングの外部検出指示信号ＰＥｘの外部指示タイミングを逆算することが可能である。本実施の形態では、この逆算により外部指示タイミングを推定することで、入力回路２２での遅延を補正している。図３に示すように、減算器５１でのこのような差分値Ｄｉｆは、ＤＦＦ５２のＤ入力に供給される。また、ＤＦＦ５２のクロック端子ｃｋには、計測指示信号ＭＥｓが供給されている。このような構成の補正値算出部２５により、ＤＦＦ５２は、図４のように、計測指示信号ＭＥｓのパルス立上りのタイミングにおいて、減算器５１からの差分値Ｄｉｆを補正値Ｃｒｒとして取り込み、一時的に保持している。
【００５４】
以上のように、補正値生成部３０は、内部カウンタ信号Ｃａｐを利用して計測用パルスを生成する。補正値生成部３０は、計測用パルスを入力回路２２に供給して、計測用パルスのパルス遅延を計測し、計測した計測用パルスのパルス遅延に基づき、補正値Ｃｒｒを算出している。なお、補正値Ｃｒｒは、例えば制御部１１において、不揮発性のメモリなどを用いて常時記憶し、外部からの位置検出指示ごとに利用するような構成であってもよい。
【００５５】
以上、図３に示すような補正値生成部３０の構成による計測に基づいて算出した補正値Ｃｒｒは、外部検出指示信号ＰＥｘによる外部指示タイミングでのロータの位置検出において、入力回路２２での遅延に対する補正に利用される。
【００５６】
図５は、本発明の実施の形態にかかるモータ制御装置１０の外部指示タイミングにおいてのモータ位置を検出するためのタイミング例を示すタイミングチャートである。図５は、図２と同様の時刻ｔ０近辺について、各部の状態を示している。次に、図１、図３および図５を参照しながら、外部指示タイミングにおいてモータ位置を検出する指示位置検出部２０での構成およびその動作について、説明する。指示位置検出部２０は、このような位置検出を実行するため、上述のような構成に加えて、図１に示すように、位置データ取込部２４ｐと検出位置算出部２６とをさらに備えている。また、外部指示による位置検出を行うため、制御部１１からの指示により、外部検出指示信号ＰＥｘを選択するように、切替スイッチ２２ｓは設定されている。
【００５７】
位置データ取込部２４ｐには、モータ位置受信部１６からの位置検出値信号Ｄｐｏｓと、入力回路２２からの検出指示信号ＰＬｔとが供給されている。位置データ取込部２４ｐは、検出指示信号ＰＬｔによるデータ取込タイミングにおいて、位置検出値信号Ｄｐｏｓから位置検出値を取り込み、一時的に保持する。図３は、このように動作する位置データ取込部２４ｐの構成として、ＤＦＦ４１を有する一例を示している。ＤＦＦ４１のＤ入力には、位置検出値信号Ｄｐｏｓが供給され、クロック端子ｃｋには検出指示信号ＰＬｔが供給される。このような構成の位置データ取込部２４ｐにより、ＤＦＦ４１は、図５のように、検出指示信号ＰＬｔの取込パルスの立上りのタイミング、すなわちデータ取込タイミングである時刻ｔｄｌにおいて、位置検出値信号Ｄｐｏｓの値を取り込み、一時的に保持している。図１、図３および図５では、位置データ取込部２４ｐにおいて、位置検出値信号Ｄｐｏｓから位置検出値Ｐｏｓ０が取り込まれている場合を示している。
【００５８】
また、検出位置算出部２６には、カウント値記憶部２４ｍからの内部カウント値信号Ｄｃａｐ、カウント値取込部２４ｃで取り込んだカウント値、補正値算出部２５で算出した補正値Ｃｒｒ、モータ位置受信部１６からの位置検出値信号Ｄｐｏｓ、および位置データ取込部２４ｐで取り込んだ位置検出値が供給される。すなわち、図５に示すような検出指示信号ＰＬｔでのデータ取込タイミングが発生する時刻ｔ０から時刻ｔ１までの期間においては、図１および図３に示すように、検出位置算出部２６には、カウント値記憶部２４ｍからのカウント値Ｃａｐ０、カウント値取込部２４ｃからの取込カウント値ＣａｐＸ、補正値算出部２５からの補正値Ｃｒｒ、モータ位置受信部１６からの位置検出値信号Ｄｐｏｓ、および位置データ取込部２４ｐからの位置検出値Ｐｏｓ０が供給される。
【００５９】
検出位置算出部２６は、時刻ｔ０から時刻ｔ１までの期間におけるこれらの値を用いて、時刻ｔｅｘでの外部指示タイミングにおける指示位置検出値Ｄｐｅｘを算出している。すなわち、検出位置算出部２６は、読込周期Ｔｒｃの間隔で取り込んだカウント値のうちのカウント値Ｃａｐ０と外部指示タイミングでのカウント値ＣａｐＥとを用いた補間により、指示位置検出値Ｄｐｅｘを算出している。また、このカウント値ＣａｐＥについては、上述のように、補正値Ｃｒｒを用いて取込カウント値ＣａｐＸを補正することで、この外部指示タイミングでのカウント値ＣａｐＥを生成している。
【００６０】
なお、指示位置検出値Ｄｐｅｘは、図２で説明した外部指示タイミングでの正確な位置を示す値Ｐｐｅｘについて逆算により算出した推定値である。すなわち、指示位置検出値Ｄｐｅｘは、この値Ｐｐｅｘに対応しており、誤差等がない場合は、指示位置検出値Ｄｐｅｘは値Ｐｐｅｘと等しくなる。以下、時刻ｔ０から時刻ｔ１までの期間でのこれらの値を用いて、検出位置算出部２６の構成および動作について説明する。
【００６１】
図３では、このような指示位置検出値Ｄｐｅｘを算出する検出位置算出部２６の構成として、遅延補正部６１、減算器６２、割算器６３、乗算器６４、位置変化量算出部６５および加算器６６を備えている。
【００６２】
図３に示す遅延補正部６１は、減算器６１ｓで構成されている。減算器６１ｓは、カウント値取込部２４ｃが保持している取込カウント値ＣａｐＸから、補正値算出部２５が保持している補正値Ｃｒｒを引算し、補正済カウント値ＣａｐＥとして出力する。ここで、補正値Ｃｒｒは入力回路２２での遅延の時間Ｔｄｌに対応していることより、補正済カウント値ＣａｐＥは、図５のように、時刻ｔｄｌでのデータ取込タイミングよりも時間Ｔｄｌだけ前の外部指示タイミングにおける内部カウンタ信号Ｃａｐの値に対応している。このように、本実施の形態では、補正値生成部３０での計測により算出した補正値Ｃｒｒを利用し、遅延補正部６１により、入力回路２２での遅延に対する補正を行っている。
【００６３】
補正済カウント値ＣａｐＥと、カウント値記憶部２４ｍから出力されているカウント値Ｃａｐ０とが減算器６２に供給される。減算器６２は、補正済カウント値ＣａｐＥからカウント値Ｃａｐ０を引算し、差分値ｄｔＣとして出力する。
【００６４】
ここで、内部カウンタ信号Ｃａｐがカウント値Ｃａｐ０となる時刻ｔ０から、外部指示タイミングの時刻ｔｅｘまでの時間について、図５のように時間Ｔｅｒとする。すると、差分値ｄｔＣは、図５のように、時間Ｔｅｒにおける内部カウンタ信号Ｃａｐの値の変化値である。また、読込周期Ｔｒｃおよびこの読込周期Ｔｒｃにおける内部カウンタの変化値Ｎｃａｐについては既知である。このため、例えば、読込周期Ｔｒｃと時間Ｔｄｌとの比率Ｒｔｏは、図５からも明らかなように、（ｄｔＣ／Ｎｃａｐ）となる。図３に示す検出位置算出部２６は、差分値ｄｔＣと変化値Ｎｃａｐとが、割算器６３に供給されており、比率Ｒｔｏを割算器６３により算出している。
【００６５】
さらに、検出位置算出部２６は、位置変化量算出部６５、乗算器６４および加算器６６により、外部指示タイミングにおける位置カウンタ信号Ｐｏｓのカウント値、すなわち目標とする指示位置検出値Ｄｐｅｘを算出している。
【００６６】
まず、位置変化量算出部６５は、例えば、位置検出値信号Ｄｐｏｓを微分演算するなどして、読込周期Ｔｒｃ毎の位置検出値の変化値を算出している。図３では、位置変化量算出部６５をＤＦＦ６５ｆと減算器６５ｓとで構成した一例を示している。すなわち、位置変化量算出部６５において、位置検出値信号Ｄｐｏｓが、ＤＦＦ６５ｆのＤ入力、および減算器６５ｓの一方の入力に供給される。ＤＦＦ６５ｆのＱ出力が、減算器６５ｓの他方の入力に供給される。ＤＦＦ６５ｆのクロック端子ｃｋには、読込クロックＲＣｋが供給される。この構成により、減算器６５ｓは、現在時点での位置検出値から１つ手前の位置検出値を引算し、その結果、減算器６５ｓから、読込周期Ｔｒｃ毎の位置検出値の変化値を示す位置カウント変化値信号Ｎｐｏｃが出力される。図５は、位置カウンタ信号Ｐｏｓとともに、位置カウント変化値信号Ｎｐｏｃとしての変化値Ｎｐｏｃ０、Ｎｐｏｃ１、Ｎｐｏｃ２、・・・・が、読込周期Ｔｒｃ毎に出力される様子を示している。なお、具体的には、図３での位置変化量算出部６５の構成の場合、時刻ｔ０から時刻ｔ１までの期間での変化値Ｎｐｏｃ１に対して、１つ手前の変化値Ｎｐｏｃ０を用いて代用している。
【００６７】
乗算器６４には、この変化値Ｎｐｏｃ０、および上述した比率Ｒｔｏが供給される。ここで、変化値Ｎｐｏｃ０は、読込周期Ｔｒｃにおける位置検出値の変化量を示し、比率Ｒｔｏは、読込周期Ｔｒｃに対する時間Ｔｅｒの比率である。これより、変化値Ｎｐｏｃ０に比率Ｒｔｏを乗算することにより、時間Ｔｅｒの期間における位置検出値の変化量を求めることができる。すなわち、乗算器６４からは、この変化量を示す位置補間値ｄｔＲが出力される。
【００６８】
加算器６６により、時刻ｔ０での位置検出値Ｐｏｓ０に、時間Ｔｅｒの期間の変化量である位置補間値ｄｔＲを加算する。これにより、加算器６６は、図５のように、目標とする指示位置検出値Ｄｐｅｘを算出することができる。
【００６９】
以上説明したように、本実施の形態のモータ制御装置１０は、外部指示タイミングにおける位置検出値を、指示位置検出値として算出する指示位置検出部２０を備える。指示位置検出部２０は、内部カウンタ２１と、検出位置算出部２６と、補正値生成部３０と、を有する。内部カウンタ２１は、モータ７０に装着したロータリエンコーダ７１によって検出されるモータ位置を位置検出値として読込む間隔である位置読込周期よりも短い周期の間隔でカウントしたカウント値を出力する。検出位置算出部２６は、位置検出値を用いてモータの回転を制御するとともに、指示パルスを含む外部検出指示信号ＰＥｘが供給され、指示パルスのエッジによって指示された外部指示タイミングでのカウント値とを用いて、指示位置検出値Ｄｐｅｘを算出する。補正値生成部３０は、外部入力端子２７と、入力回路２２と、カウント値取込部２４ｃと、補正値算出部２５とを含む。外部入力端子２７は、外部検出指示信号ＰＥｘが供給される。入力回路２２は、入力される外部検出指示信号ＰＥｘに対して、パルス遅延を生じるアナログ処理を施し、遅延した指示パルスである取込パルスを含んだ検出指示信号ＰＬｔとして出力する。カウント値取込部２４ｃは、取込パルスのエッジによって指示されたデータ取込タイミングで内部カウンタ信号のカウント値Ｃａｐを取り込み、取込カウント値ＣａｐＸとして保持する。補正値算出部２５は、パルス遅延により生じた外部指示タイミングでのカウント値Ｐｓｔと取込カウント値ＣａｐＸとの誤差に対し、誤差を補正するための補正値Ｃｒｒを算出する。補正値生成部３０は、一定速度でモータ７０が回転している状態にて、指示パルスに代えて、内部カウンタ２１から出力されるカウント値Ｃａｐを利用して生成される計測用パルスを入力回路２２に供給して計測用パルスのパルス遅延を計測し、パルス遅延に基づき補正値Ｃｒｒを算出する。検出位置算出部２６は、補正値Ｃｒｒを用いてカウント値ＣａｐＸを補正することで、外部指示タイミングでのカウント値ＣａｐＥを生成する。指示位置検出部２０は、位置読込周期の間隔で取り込んだカウント値Ｃａｐ０とこの補正したカウント値ＣａｐＥとを用いた補間により、指示位置検出値Ｄｐｅｘを算出している。
【００７０】
このように、モータ制御装置１０によれば、補正値生成部３０での計測に基づき生成した補正値Ｃｒｒを用いて取込カウント値ＣａｐＸを補正するため、入力回路２２における遅延の影響を抑制でき、精度よく外部指示タイミングでの所望の指示位置検出値Ｄｐｅｘが得られる。
【００７１】
また、補正値生成部３０は、内部カウンタ２１から出力されるカウント値Ｃａｐと、計測用パルスの開始タイミングを示すスタート値Ｐｓｔおよび終了タイミングを示すストップ値Ｐｅｎとを用いて、計測用パルスを生成するパルス生成部２３をさらに備えてもよい。
【００７２】
補正値算出部２５は、カウント値取込部２４ｃが計測用パルスに基づき取り込んだ取込カウント値ＣａｐＸと、スタート値Ｐｓｔとを用いて、補正値Ｃｒｒを算出してもよい。
【００７３】
モータ制御装置１０は、補正値Ｃｒｒを保存する不揮発性のメモリをさらに備えてもよい。
【００７４】
なお、以上の説明では、例えば、位置読込クロック信号ＲＣｋまたは検出指示信号ＰＬｔなど、パルスのエッジの立上りで取り込んだり動作したりする例を挙げて説明したが、適宜、パルスのエッジの立下りでもよい。さらに、信号に応じていずれかとしてもよい。また、これらパルスについて、パルス期間がＨｉｇｈとなるパルスとして説明したが、パルス期間がＬｏｗとなるパルスとし、そのパルスに合わせて構成すればよい。また、内部カウンタ２１がアップカウントする例を挙げて説明したが、ダウンカウントしてもよい。その場合、適宜、ダウンカウントに合わせて構成すればよい。
【産業上の利用可能性】
【００７５】
本発明のモータ制御装置は、精度よい位置検出が要求されるモータ制御装置、精度よい位置決めが要求される半導体製造装置または電子部品実装機などに有用である。
【符号の説明】
【００７６】
１０    モータ制御装置
１１    制御部
１２    クロック生成部
１３    タイミング信号生成部
１４    回転制御部
１５    モータ駆動部
１６    モータ位置受信部
２０    指示位置検出部
２１    内部カウンタ
２２    入力回路
２２ｓ    切替スイッチ
２３    パルス生成部
２４ｃ    カウント値取込部
２４ｍ    カウント値記憶部
２４ｐ    位置データ取込部
２５    補正値算出部
２６    検出位置算出部
２７    外部入力端子
３０    補正値生成部
３１    フォトカプラ
３２    アンプ
３５，３６    比較器
３７    論理回路
４１，４２，４５，５２，６５ｆ    Ｄ型フリップフロップ（ＤＦＦ）
４６    記憶部
５１，６１ｓ，６２，６５ｓ    減算器
６１    遅延補正部
６３    割算器
６４    乗算器
６５    位置変化量算出部
６６    加算器
７０    モータ
７１    ロータリエンコーダ（エンコーダ）
７３    位置カウンタ
７５    上位コントローラ
【図１】
2020149002.tif 000003
【図２】
2020149002.tif 000004
【図３】
2020149002.tif 000005
【図４】
2020149002.tif 000006
【図５】
2020149002.tif 000007
【手続補正書】
【提出日】令和3年5月25日(2021.5.25)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロータリエンコーダを利用してモータ位置を検出し、その検出結果に基づいてモータの回転を制御するモータ制御装置に関する。本発明は特に、一定速度でモータが回転している状態で、外部入力信号の入力タイミングでのモータ位置を検出する機能を有するモータ制御装置に関する。
【背景技術】
【０００２】
従来のモータ制御装置は、回転制御のため、一定のサンプリング周期にて、ロータリエンコーダからのモータ位置情報を、例えばシリアル通信を通じて取り込む。さらに、このモータ制御装置は、外部から指示したタイミングでのモータ位置を検出するため、外部から外部入力信号が供給可能なように構成されている。すなわち、このモータ制御装置は、外部入力信号がオンしたタイミングのモータ位置情報を取り込み、記憶するように構成されている。
【０００３】
また、モータ位置の検出精度を高めるため、装置の内部に内部カウンタを備えたモータ駆動装置が提案されている（例えば、特許文献１を参照）。このモータ駆動装置は、サンプリング周期ごとの内部カウンタの値、および外部入力信号のタイミングでの内部カウンタの値を、それぞれ記憶する。このモータ駆動装置は、記憶したそれぞれの内部カウンタの値を利用し、隣接サンプリング間において外部入力信号がオンしたタイミングでのモータ位置を推定している。
【０００４】
さらに、従来、外部入力信号の伝達遅延で生じる誤差での検出精度低下を抑制する手法も提案されている（例えば、特許文献２を参照）。例えば、外部入力信号の立上りと立下りとの伝達遅延時間差が大きく、かつモータが高速動作する場合においても、外部入力信号が入力されたタイミングでのモータ位置を精度よく推定するような提案がなされている。このモータ駆動装置は、デューティー比が明確な矩形波を外部入力信号として利用している。このモータ駆動装置は、まず、入力した矩形波の立上りと立下りとの各タイミングで内部カウンタの値を記憶する。次に、記憶した内部カウンタの各値を用いて、立上りから立下りまでのタイミングと、立下りから立上りまでのタイミングとの比率を求める。この比率と、矩形波のデューティー比との差分から、伝達遅延時間の相対遅延補正量を推定する。
【０００５】
しかしながら、上記の従来の手法では、外部入力信号が入力されてから内部カウンタの値を取り込むまでのタイミングにおいて、例えば、外部入力信号に対し絶縁処理を施すため、フォトカプラのようなアナログ素子を使用したアナログ入力回路などの遅延を含んでいる。このため、上記の従来の手法では、その遅延によって、検出したモータ位置に誤差が含まれることになる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２２０１１６号公報
【特許文献２】特開２０１５−２５９５号公報
【発明の概要】
【０００７】
本発明は、上記の課題に鑑みなされたもので、アナログ入力回路などの遅延を補正することで、モータ位置を精度よく検出可能なモータ制御装置を提供することを目的とする。
【０００８】
上記目的を達成するため、本発明のモータ制御装置は、外部指示タイミングにおける位置検出値を、指示位置検出値として算出する指示位置検出部を備える。指示位置検出部は、内部カウンタと、検出位置算出部と、補正値生成部と、を有する。内部カウンタは、モータに装着したロータリエンコーダによって検出されるモータ位置を位置検出値として読込む間隔である位置読込周期よりも短い周期の間隔でカウントしたカウント値を出力する。検出位置算出部は、位置検出値を用いてモータの回転を制御するとともに、指示パルスを含む外部検出指示信号が供給され、指示パルスのエッジによって指示された外部指示タイミングでのカウント値とを用いて、指示位置検出値を算出する。補正値生成部は、外部入力端子と、入力回路と、カウント値取込部と、補正値算出部とを含む。外部入力端子は、外部検出指示信号が供給される。入力回路は、入力される外部検出指示信号に対して、パルス遅延を生じるアナログ処理を施し、遅延した指示パルスである取込パルスを含んだ検出指示信号として出力する。カウント値取込部は、取込パルスのエッジによって指示されたデータ取込タイミングで内部カウンタ信号のカウント値を取り込み、取込カウント値として保持する。補正値算出部は、パルス遅延により生じた外部指示タイミングでのカウント値と取込カウント値との誤差に対し、誤差を補正するための補正値を算出する。補正値生成部は、一定速度でモータが回転している状態にて、指示パルスに代えて、内部カウンタから出力されるカウント値を利用して生成される計測用パルスを入力回路に供給して計測用パルスのパルス遅延を計測し、パルス遅延に基づき補正値を生成する。検出位置算出部は、補正値を用いて取込カウント値を補正することで、外部指示タイミングでのカウント値を生成する。
【０００９】
このような構成によれば、補正値生成部での計測に基づき生成した補正値を用いて取込カウント値を補正する。このため、入力回路における遅延の影響を抑制できる。したがって、精度よく外部指示タイミングでの所望の指示位置検出値が得られる。
【００１０】
本発明のモータ制御装置は、補正値生成部で生成した補正値を用いて補正することで、入力回路での遅延による指示位置検出値への影響を抑制できる。このため、本発明は、モータ位置を精度よく検出可能なモータ制御装置を提供できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態におけるモータ制御装置の構成を示すブロック図
【図２】同モータ制御装置の外部検出指示信号ＰＥｘを中心としたタイミング例を示すタイミングチャート
【図３】同モータ制御装置の指示位置検出部のより詳細な構成例を示すブロック図
【図４】同モータ制御装置の補正値Ｃｒｒを算出するためのタイミング例を示すタイミングチャート
【図５】同モータ制御装置の外部指示タイミングにおいてのモータ位置を検出するためのタイミング例を示すタイミングチャート
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下に説明する実施の形態は、本開示の好ましい一具体例を示すものである。したがって、以下の実施の形態で示される、数値、形状、材料、構成要素、構成要素の配置位置および接続形態などは、一例であって、本開示を限定する主旨ではない。よって、以下の実施の形態における構成要素のうち、本開示の最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００１３】
各図は、模式図であり、必ずしも厳密に図示されたものではない。したがって、各図において縮尺等は必ずしも一致していない。各図において、実質的に同一の構成に対しては同一の符号を付しており、重複する説明は省略または簡略化する。
【００１４】
（実施の形態）
図１は、本発明の実施の形態におけるモータ制御装置１０の構成を示すブロック図である。図１は、本実施の形態のモータ制御装置１０を含むモータ制御システムの構成例を示している。このモータ制御システムは、主に産業用として利用されるシステムである。このモータ制御システムは、例えば、サーボアンプなどと呼ばれるモータ制御装置１０によって、サーボモータのようなモータ７０を制御および駆動し、モータ７０に接続された負荷を作動させるシステムである。
【００１５】
図１に示すように、本モータ制御システムにおいて、モータ制御装置１０には、上位コントローラ７５と、モータ７０と、ロータリエンコーダ７１とが接続されている。
【００１６】
この上位コントローラ７５は、モータ制御装置１０に対して、例えば指令情報を供給するなどの処理を行い、モータ制御装置１０を介してシステム全体を制御する。上位コントローラ７５は、このようなサーボ制御のためのコントローラであり、例えばマイクロコントローラ（マイコン）が好適である。モータ７０は、モータ制御装置１０によって、例えば指令情報に応じて回転するように制御されながら、通電駆動される。また、モータ位置の検出、すなわち、モータ７０のロータの回転位置を検出するために、モータ７０には、ロータリエンコーダ７１が装着されている。
【００１７】
このようなモータ制御システムの構成により、モータ制御装置１０は、この外部に配置した上位コントローラ７５から、例えば回転位置および回転速度などの指令が通知される。モータ制御装置１０は、ロータリエンコーダ７１から位置情報を受け取りながら、上位コントローラ７５からの指令に従って、ロータが所定の位置および速度となるようにモータ７０を駆動する。
【００１８】
本実施の形態では、図１に示すように、上位コントローラ７５からモータ制御装置１０に対して、位置指令を含む外部指令信号ＣＥｘが供給される。また、ロータリエンコーダ７１からモータ制御装置１０に対して、検出した位置情報を含む位置センサ信号Ｄｐｓが供給される。モータ制御装置１０からモータ７０に対して、モータ７０を駆動する駆動電圧ＤＲｖが供給される。本実施の形態では、このようなモータ制御システムの構成例を挙げて説明する。
【００１９】
モータ制御装置１０により駆動されるモータ７０としては、Ｕ相、Ｖ相、Ｗ相とする３相の巻線を有したステータと、ステータに対向して回転軸を中心に回転自在に配置されたロータとを備えたブラシレスモータが好適である。モータ７０は、ステータの巻線がモータ制御装置１０からの駆動電圧ＤＲｖによって通電駆動されることで、ロータが回転する。ロータの回転により、回転軸を介して負荷が回転するように回転駆動される。
【００２０】
モータ７０の回転を制御するため、モータ７０には、ロータの回転位置（以下、適宜、モータ位置とも呼ぶ）を検出するロータリエンコーダ（以下、適宜、単にエンコーダと呼ぶ）７１が装着されている。このような位置センサとして機能するエンコーダ７１から、検出した回転位置を示す位置センサ信号Ｄｐｓが出力され、位置センサ信号Ｄｐｓがモータ制御装置１０に供給される。
【００２１】
特に、本実施の形態では、エンコーダ７１として、インクリメンタル型のロータリエンコーダを採用している。インクリメンタル型エンコーダは、複数のスリットが周方向に一様に形成された格子円盤と、スリットの通過数を計測するための光電素子と、通過数をカウントするための位置カウンタ７３とを備えている。格子円盤が、モータ７０の回転軸に装着されている。これにより、光電素子を利用して回転に応じたスリットの通過を検出し、位置カウンタ７３により通過スリット数をカウントしている。このカウント数を示すカウント値が、回転角度に対応する。インクリメンタル型のエンコーダ７１は、このような構成に基づいて、ロータの回転角度、すなわち回転位置を測るモータ位置検出器である。このように、図１において、位置カウンタ７３から出力される位置カウンタ信号Ｐｏｓでのカウント値は、エンコーダ７１により検出されたモータ７０の回転位置に対応する位置検出値を示している。このカウント値は、位置センサ信号Ｄｐｓとしてモータ制御装置１０に供給される。
【００２２】
次に、モータ制御装置１０は、図１に示すように、制御部１１と、クロック生成部１２と、タイミング信号生成部１３と、回転制御部１４と、モータ駆動部１５と、モータ位置受信部１６とに加えて、外部から指示されたタイミングでのロータの位置を検出する指示位置検出部２０を備えている。
【００２３】
このようなモータ制御装置１０に対しての上位コントローラ７５からの外部指令信号ＣＥｘは、制御部１１に供給される。制御部１１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）またはプロセッサなどで構成されている。制御部１１は、メモリに保存されたプログラムに基づき、モータ制御装置１０内の各種の処理および制御を行う。その処理の一例として、制御部１１は、供給された外部指令信号ＣＥｘから、モータ７０を制御するための各種の指令である制御指令を抽出する。図１は、制御指令の中で、ロータの位置を指令する位置指令信号Ｐｃｍを抽出し、回転制御部１４に供給する一例を示している。
【００２４】
また、本実施の形態では、モータ制御装置１０内において、主にデジタル処理により各動作を実行する構成としている。このため、モータ制御装置１０は、デジタル処理用として、周知のとおりのクロック信号を生成するクロック生成部１２を備えている。すなわち、クロック生成部１２によって、周期的なパルス信号であるクロックＣｋが、モータ制御装置１０において生成される。クロックＣｋは、モータ制御装置１０内におけるデジタル処理の動作周期の基準として、例えばデータをラッチするなどのデジタル処理に用いている。
【００２５】
モータ制御装置１０は、クロックＣｋに基づき、各種のタイミング信号を生成するタイミング信号生成部１３をさらに備えている。タイミング信号生成部１３は、具体的には、クロックＣｋを例えば分周するなどして、各種のタイミングを示すパルス信号を生成している。図１では、タイミング信号生成部１３により、モータ制御装置１０内の制御周期を示す周期的なパルス信号の制御クロック信号（以下、適宜、制御クロックと呼ぶ）ＳＣｋと、エンコーダ７１からの位置センサ信号Ｄｐｓの位置読込周期を示す周期的なパルス信号の位置読込クロック信号（以下、適宜、読込クロックと呼ぶ）ＲＣｋとが生成される一例を示している。
【００２６】
なお、本実施の形態では、特に注釈しない限り、各デジタル処理回路は、クロックＣｋ、制御クロックＳＣｋ、読込クロックＲＣｋ等のパルス信号のレベルがＬｏｗからＨｉｇｈに変化する立上りで動作する例を挙げて説明する。すなわち、詳細については以下でさらに説明するが、本実施の形態では、データを一時的に記憶するラッチとして、Ｄ型フリップフロップを利用する構成例を挙げている。そして、周知のとおり、このＤ型フリップフロップは、クロック端子に供給されたパルス信号の立上りのエッジで、Ｄ入力の値をＱ出力として保持する。
【００２７】
次に、モータ制御装置１０によりモータ７０が制御および通電駆動される構成について説明する。本実施の形態では、基本的に、モータ制御装置１０は、エンコーダ７１からの位置センサ信号Ｄｐｓによる位置情報を利用したフィードバック制御を実行する。このフィードバック制御によって、制御部１１からの位置指令信号Ｐｃｍにモータ７０の回転位置が追従するように、モータ７０でのロータの動きが制御される。
【００２８】
モータ制御装置１０は、位置センサ信号Ｄｐｓから位置情報を取得するため、モータ位置受信部１６を有している。モータ位置受信部１６とエンコーダ７１とは、例えばシリアル通信により通信接続されている。エンコーダ７１の位置カウンタ７３による位置カウンタ信号Ｐｏｓのカウント値が、所定の伝送フォーマットでの位置センサ信号Ｄｐｓとしてモータ位置受信部１６に伝送される。また、モータ位置受信部１６には読込クロックＲＣｋが供給されている。モータ位置受信部１６は、読込クロックＲＣｋの周期で、位置センサ信号Ｄｐｓから位置情報を復元する。そして、復元した位置情報であるデータを位置検出値とし、順に位置検出値信号Ｄｐｏｓとして読込クロックＲＣｋの周期で出力する。すなわち、位置検出値信号Ｄｐｏｓは、エンコーダ７１での位置カウンタ信号Ｐｏｓの位置カウント値が、位置検出値として、読込クロックＲＣｋのサンプリング周期で時系列に配置されたデジタル信号である。このように、モータ制御装置１０は、エンコーダ７１によって検出したモータ位置を示す位置カウント値を、位置検出値信号Ｄｐｏｓでの位置検出値として、位置読込周期の間隔となる読込クロックＲＣｋごとに読込んでいる。モータ位置受信部１６からは、位置検出値信号Ｄｐｏｓが出力される。位置検出値信号Ｄｐｏｓは、回転制御部１４に供給されて、回転制御部１４が位置検出値信号Ｄｐｏｓの位置検出値を用いてモータ７０の回転を制御する。さらに、位置検出値信号Ｄｐｏｓは、外部から指示されたタイミングでの指示位置検出値を算出する指示位置検出部２０にも供給される。
【００２９】
回転制御部１４は、位置検出値信号Ｄｐｏｓ、および制御部１１から供給される位置指令信号Ｐｃｍを受け取り、それら信号に基づく演算処理により、モータ７０を駆動するための駆動信号Ｔｒｑを生成する。また、回転制御部１４には、制御クロックＳＣｋが供給されている。回転制御部１４は、制御クロックＳＣｋの周期で、この演算処理などの処理を実行する。回転制御部１４は、位置フィードバック制御を実行するため、例えば次のような演算処理を実行する。すなわち、回転制御部１４は、位置指令信号Ｐｃｍと位置検出値信号Ｄｐｏｓとの差分である位置偏差を順次に算出する。回転制御部１４は、その位置偏差に対するＰＩＤ（比例積分微分）演算処理などにより、駆動信号Ｔｒｑを生成している。なお、本実施の形態では、主にモータ制御装置１０が回転位置を制御するような例を挙げて説明する。しかし、回転制御部１４において、例えば、位置データから速度を算出し、速度フィードバック制御により駆動信号Ｔｒｑを生成するような構成であってもよい。
【００３０】
駆動信号Ｔｒｑは、モータ駆動部１５に供給される。モータ駆動部１５は、駆動信号Ｔｒｑに基づいて、モータ７０の巻線を通電駆動する駆動電圧ＤＲｖを生成して出力する。すなわち、モータ駆動部１５は、駆動波形を生成するためのＰＷＭ（Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ、パルス幅変調）回路、および、いわゆるインバータなどを備えており、これらの回路を用いて、供給された駆動信号Ｔｒｑに応じた駆動電圧ＤＲｖを生成する。駆動電圧ＤＲｖをモータ７０の巻線に印加することで、モータ７０が通電駆動される。そして、モータ７０への通電駆動により、モータ７０内のロータが、位置指令信号Ｐｃｍに従って回転する。
【００３１】
このように、本実施の形態では、エンコーダ７１からモータ位置受信部１６を介して、ロータの実回転位置を示す位置検出値信号Ｄｐｏｓが通知される。これとともに、制御部１１から、回転位置を制御するために指令された位置指令信号Ｐｃｍが通知される。そして、回転制御部１４によって、位置検出値信号Ｄｐｏｓと位置指令信号Ｐｃｍとに基づき、ロータの回転位置が指令位置に追従するようにフィードバック制御する位置制御ループが構成されている。モータ制御装置１０は、以上のような一連のループ処理を連続的に実行することにより、モータ７０を回転制御する。
【００３２】
さらに、本実施の形態では、モータ制御装置１０が指示位置検出部２０を備えており、指示位置検出部２０により、外部から指示されたタイミングでのロータの位置検出を可能としている。本実施の形態では、このようなモータ位置検出のタイミングを指示するため、外部検出指示信号ＰＥｘとするパルス信号を外部から供給するように構成している。本実施の形態では、外部検出指示信号ＰＥｘにおけるパルスを指示パルスとしており、より詳細には、この指示パルスのエッジでの立上りとなるタイミングを、外部からの指示タイミングである外部指示タイミングとした一例を挙げている。
【００３３】
このような指示に対応するロータ位置を検出するため、指示位置検出部２０は、図１に示すように、内部カウンタ２１と、入力回路２２と、切替スイッチ２２ｓと、パルス生成部２３と、カウント値記憶部２４ｍと、カウント値取込部２４ｃと、位置データ取込部２４ｐと、補正値算出部２５と、検出位置算出部２６とを備えている。また、図２は、本発明の実施の形態におけるモータ制御装置１０の外部検出指示信号ＰＥｘを中心としたタイミング例を示すタイミングチャートである。図２は、位置カウンタ７３の位置カウンタ信号Ｐｏｓおよび位置検出値信号Ｄｐｏｓとともに、以下で詳細に説明する内部カウンタ２１からの内部カウンタ信号Ｃａｐなどの様子も含めて示している。さらに、図３は、本発明の実施の形態におけるモータ制御装置１０の指示位置検出部２０のより詳細な構成例を示すブロック図である。次に、指示位置検出部２０の構成およびその動作について詳細に説明する。
【００３４】
まず、図２に示すように、この外部検出指示信号ＰＥｘでの外部指示タイミングと、ロータの位置を示す位置検出値信号Ｄｐｏｓとは非同期であり、双方の時間的な関連性はない。上述のとおり、位置検出値信号Ｄｐｏｓは、デジタル信号であり、位置カウンタ７３の位置カウンタ信号Ｐｏｓを位置読込周期（以下、適宜、読込周期と呼ぶ）Ｔｒｃでサンプリングし、サンプリングにより離散化されたデータを、時系列で順番に配置して構成されている。すなわち、図２のように、位置検出値信号Ｄｐｏｓは、読込周期Ｔｒｃ毎の時刻ｔ−１、ｔ０、ｔ１、ｔ２・・・にサンプリングされた位置検出値Ｐｏｓ−１、Ｐｏｓ０、Ｐｏｓ１、Ｐｏｓ２、・・・を時系列に配置するように構成されている。ここで、本実施の形態では、読込周期Ｔｒｃを読込クロックＲＣｋの周期としている。
【００３５】
また、ロータは一定速度の回転数で回転制御しているため、位置カウンタ信号Ｐｏｓは、読込クロックＲＣｋの周期でのロータの移動量は一定となっている。
【００３６】
このような位置検出値信号Ｄｐｏｓに対し、外部指示タイミングは、エンコーダ７１でのサンプリングタイミングとは関連のない任意のタイミングである。これより、外部指示タイミングと読込クロックＲＣｋ周期の読込タイミングとには、規則性のない時間的なずれがある。図２では、外部指示タイミングの時刻ｔｅｘにおいて、位置検出値信号Ｄｐｏｓが位置検出値Ｐｏｓ０となっているような状態を示している。このように、外部指示タイミングである時刻ｔｅｘと、位置検出値Ｐｏｓ０の読込タイミングである時刻ｔ０とには、図２の場合、時間的なずれであるずれ時間Ｔｅｒがある。そして、ずれ時間Ｔｅｒにより、外部指示タイミングでの位置を正確に示す値Ｐｐｅｘと、位置検出値信号Ｄｐｏｓでの位置検出値Ｐｏｓ０との間にも誤差が生じる。図２の場合、この誤差の値は、Ｐｐｅｘ−Ｐｏｓ０となる。
【００３７】
そこで、指示位置検出部２０では、図１に示すように、内部カウンタ２１とするカウンタを設けている。内部カウンタ２１の内部カウンタ信号Ｃａｐのカウント値を利用した補間（内挿手法）により、隣どうしのサンプリングタイミング間に発生した外部指示タイミングでの位置を示す値を、指示位置検出値Ｄｐｅｘとして算出している。
【００３８】
さらに、本実施の形態では、図１に示すように、入力回路２２を設けた構成としている。入力回路２２は、外部からの外部検出指示信号ＰＥｘに対して、アナログ信号処理を施すアナログ回路である。より具体的には、入力回路２２が、図３に示すように、アナログ素子であるフォトカプラ３１とアンプ３２とを備えた構成例を挙げている。ここで、フォトカプラ３１は、外部検出指示信号ＰＥｘのような外部からの信号に対して絶縁を施して安全性を図るために設けている。アンプ３２は、外部検出指示信号ＰＥｘのパルスレベルを一定にするために設けている。一方、外部検出指示信号ＰＥｘに対して入力回路２２を設けているため、通常の電気的につながった回路基板上の配線のナノ秒オーダーの遅延と比較し、無視ができないレベルのマイクロ秒オーダーの遅延が発生する。そのため、入力回路２２によって、図２に示すように、外部検出指示信号ＰＥｘが時間Ｔｄｌだけ遅延する。そして、入力回路２２からは、外部検出指示信号ＰＥｘよりも遅れた外部の指示タイミングとなる検出指示信号ＰＬｔが、出力されることとなる。すなわち、入力回路２２はパルス遅延を含むアナログ処理を施している。このため、言い換えると、入力回路２２からは、外部検出指示信号ＰＥｘの指示パルスが遅延したパルスを含む検出指示信号ＰＬｔが出力される。本実施の形態では、検出指示信号ＰＬｔにおけるパルスを取込パルスとして説明する。図２では、外部指示タイミングの時刻ｔｅｘから時間Ｔｄｌだけ遅延した時刻ｔｄｌにおいて、検出指示信号ＰＬｔの取込パルスが出力される例を挙げている。
【００３９】
そこで、本実施の形態では、さらに、指示位置検出部２０において、内部カウンタ２１のカウント値を利用して、入力回路２２によって生じるパルス信号の遅延量を計測し、計測した遅延量を用いてその遅延による誤差を補正する補正機能も備えた構成としている。
【００４０】
これらの対策を施すために指示位置検出部２０に設けた内部カウンタ２１は、エンコーダ７１の位置カウンタ７３と同様に、数をカウントするカウンタである。内部カウンタ２１は、読込クロックＲＣｋの周期よりも短い周期の間隔でカウントしたカウント値を出力する構成としている。本実施の形態では、図１に示すように、内部カウンタ２１にはクロックＣｋが供給されており、内部カウンタ２１は、クロックＣｋの立上りごとにアップカウントし、クロック数をカウントする。そのカウントによる内部カウンタ信号Ｃａｐが、内部カウンタ２１のＱ出力から出力される。内部カウンタ信号Ｃａｐは、クロックＣｋの周期毎に順次カウントアップするカウント値が時系列で順番に並ぶデジタル信号である。より具体的には、内部カウンタ２１は、例えば１６ビット幅のフリーランカウンタであり、内部カウンタ信号Ｃａｐは、クロックＣｋの周期で、図２に示すように、００００ｈからＦＦＦＦｈ（”・・・・ｈ”での最後の”ｈ”は、１６進数であることを示す）までカウントアップし、ＦＦＦＦｈを超えると００００ｈに戻り、再びカウントアップする。このような内部カウンタ信号Ｃａｐが、図１に示すように、カウント値記憶部２４ｍ、カウント値取込部２４ｃおよびパルス生成部２３に供給される。
【００４１】
カウント値記憶部２４ｍには、図１に示すように、内部カウンタ信号Ｃａｐに加えて、読込クロックＲＣｋが供給されている。カウント値記憶部２４ｍは、読込クロックＲＣｋの周期である位置読込周期の間隔で、内部カウンタ信号Ｃａｐのカウント値を取り込み、順次に記憶する。図３では、このように動作するカウント値記憶部２４ｍの構成として、Ｄ型フリップフロップ（以下、適宜、ＤＦＦと呼ぶ）４５と記憶部４６とを有した一例を示している。ＤＦＦ４５のＤ入力には、内部カウンタ信号Ｃａｐが供給され、クロック端子ｃｋには読込クロックＲＣｋが供給される。また、ＤＦＦ４５のＱ出力が、メモリである記憶部４６に接続されるとともに、検出位置算出部２６へと出力される。このような構成のカウント値記憶部２４ｍにより、ＤＦＦ４５が、読込クロックＲＣｋの周期で、内部カウンタ信号Ｃａｐの値を取り込み、記憶部４６が、取り込んだ値を順次に所定の数だけ記憶している。すなわち、ＤＦＦ４５は、図２のような内部カウンタ信号Ｃａｐに対し、読込周期Ｔｒｃ毎の時刻ｔ−１、ｔ０、ｔ１、ｔ２・・・に、内部カウンタ信号Ｃａｐのカウント値Ｃａｐ−１、Ｃａｐ０、Ｃａｐ１、Ｃａｐ２、・・・を取り込む。そして、取り込んだカウント値Ｃａｐ−１、Ｃａｐ０、Ｃａｐ１、Ｃａｐ２、・・・を、カウント値記憶部２４ｍに記憶させるとともに、内部カウント値信号Ｄｃａｐとするデジタル信号の形式で、順番に出力する。
【００４２】
なお、本実施の形態の場合、読込クロックＲＣｋは、タイミング信号生成部１３によりクロックＣｋを分周して生成され、内部カウンタ２１は、クロックＣｋをカウントして内部カウンタ信号Ｃａｐを生成している。このため、例えば、クロックＣｋを１０００分周して読込クロックＲＣｋを生成した場合、ＤＦＦ４５は、内部カウンタ信号Ｃａｐから、１０００ずつ変化するカウント値を取り込むことになる。以下、このように、読込クロックＲＣｋ毎にカウント値が変化する量を、図２に示すような内部カウンタの変化値Ｎｃａｐとして説明する。例えばクロックＣｋを１０００分周して読込クロックＲＣｋを生成した場合、図２でのＣａｐ０からＣａｐ１に対しては変化値Ｎｃａｐ＝１０００だけ増加する。Ｃａｐ１からＣａｐ２に対しては、まず、Ｃａｐ１からＦＦＦＦｈまで増加し、その後、００００ｈに戻り、００００ｈからＣａｐ２まで、合計の変化値Ｎｃａｐ＝１０００だけ変化する。なお、図１および図３では、カウント値記憶部２４ｍにおいて、内部カウンタ信号Ｃａｐからカウント値Ｃａｐ０が取り込まれ、このカウント値Ｃａｐ０が、検出位置算出部２６へと出力されている場合を示している。
【００４３】
カウント値取込部２４ｃには、図１に示すように、内部カウンタ信号Ｃａｐに加えて、入力回路２２から出力される検出指示信号ＰＬｔが供給されている。カウント値取込部２４ｃは、検出指示信号ＰＬｔのパルス立上りのタイミングで、内部カウンタ信号Ｃａｐの値を取り込み、一時的に保持する。図３では、このように動作するカウント値取込部２４ｃの構成として、ＤＦＦ４２を有した一例を示している。このＤＦＦ４２のＤ入力には、内部カウンタ信号Ｃａｐが供給され、クロック端子ｃｋには検出指示信号ＰＬｔが供給される。このような構成のカウント値取込部２４ｃにより、ＤＦＦ４２は、図２のように、検出指示信号ＰＬｔの取込パルスのエッジにおける立上りのタイミング、すなわち時刻ｔｄｌにおいて、内部カウンタ信号Ｃａｐの値を取込カウント値ＣａｐＸとして取り込み、一時的に保持している。
【００４４】
なお、検出指示信号ＰＬｔは、上述のように、外部検出指示信号ＰＥｘが遅延した信号である。外部検出指示信号ＰＥｘによる外部指示タイミングに対し、実際には、検出指示信号ＰＬｔによりデータを取り込む。これにより、検出指示信号ＰＬｔについては、その取込パルスの立上りのタイミング、すなわち図２での時刻ｔｄｌを、図２のようにデータ取込タイミングとして説明する。カウント値取込部２４ｃは、取込パルスのエッジによって指示されたデータ取込タイミングで、内部カウンタ信号Ｃａｐのカウント値を取り込み、取込カウント値として保持している。また、図１および図３では、カウント値取込部２４ｃにおいて、内部カウンタ信号Ｃａｐから取込カウント値ＣａｐＸが取り込まれ、その取込カウント値ＣａｐＸが、検出位置算出部２６および補正値算出部２５へと出力されている。
【００４５】
カウント値取込部２４ｃは、このように、入力回路２２により遅延したデータ取込タイミングで、内部カウンタ信号Ｃａｐの値を取り込む。このため、本実施の形態では、上述のように、指示位置検出部２０が、入力回路２２による遅延を補正する補正機能を有している。指示位置検出部２０は、この補正機能を実現するため、さらに、パルス生成部２３、切替スイッチ２２ｓ、および補正値算出部２５を備えている。図３のように、パルス生成部２３と、切替スイッチ２２ｓと、入力回路２２と、カウント値取込部２４ｃと、補正値算出部２５とで、補正値生成部３０を構成している。補正値生成部３０は、この構成により、入力回路２２でのパルス遅延によって取込カウント値ＣａｐＸに含まれた誤差に対し、その誤差を補正するための補正値Ｃｒｒを生成している。
【００４６】
図４は、本発明の実施の形態におけるモータ制御装置１０の補正値Ｃｒｒを算出するためのタイミング例を示すタイミングチャートである。図４は、図２と同様の時刻ｔ０近辺について、各部の状態を示している。次に、図１、図３および図４を参照しながら、補正値Ｃｒｒを算出するための構成および動作について説明する。
【００４７】
まず、パルス生成部２３には、図１に示すように、内部カウンタ信号Ｃａｐに加えて、所定の値であるスタート値Ｐｓｔとストップ値Ｐｅｎとが供給されている。スタート値Ｐｓｔとストップ値Ｐｅｎとは、生成するパルスのタイミングを指示するための値である。スタート値Ｐｓｔはパルスの開始タイミングに対応し、ストップ値Ｐｅｎはパルスの終了タイミングに対応している。なお、スタート値Ｐｓｔおよびストップ値Ｐｅｎは、制御部１１から供給される構成であってもよい。パルス生成部２３は、内部カウンタ信号Ｃａｐのカウント値と、スタート値Ｐｓｔおよびストップ値Ｐｅｎとに基づき、計測用パルス信号ＰＧｎでの計測用パルスを生成する。図４では、時刻ｔ０と時刻ｔ１との間において、パルスのレベルがＨｉｇｈとなる計測用パルスを有した計測用パルス信号ＰＧｎを示している。
【００４８】
図３では、計測用パルス信号ＰＧｎを生成するパルス生成部２３の構成として、比較器３５、比較器３６と論理回路３７とを有した一例を示している。比較器３５には、内部カウンタ信号Ｃａｐとともに、パルス出力の開始を指示するための値であるスタート値Ｐｓｔが供給されている。比較器３５は、内部カウンタ信号Ｃａｐのカウント値とスタート値Ｐｓｔとの大小関係を比較し、図４に示すように、内部カウンタ信号Ｃａｐのカウント値がスタート値Ｐｓｔを超えた時点で、スタートを示す信号を論理回路３７に出力する。一方、比較器３６には、内部カウンタ信号Ｃａｐとともに、パルス出力の終了を指示するための値であるストップ値Ｐｅｎが供給されている。比較器３６は、内部カウンタ信号Ｃａｐのカウント値とストップ値Ｐｅｎとの大小関係を比較し、図４に示すように、内部カウンタ信号Ｃａｐのカウント値がストップ値Ｐｅｎを超えた時点で、ストップを示す信号を論理回路３７に出力する。論理回路３７は、比較器３５および比較器３６からの信号により、図４に示すように、計測用パルス信号ＰＧｎにおいて、スタート値Ｐｓｔに基づき時刻ｔｓｔでＨｉｇｈへと立上り、ストップ値Ｐｅｎに基づき時刻ｔｅｎでＬｏｗへと立下る計測用パルスを出力する。パルス生成部２３から出力された計測用パルス信号ＰＧｎは、切替スイッチ２２ｓに供給される。なお、このようにして計測用パルスを生成するため、スタート値Ｐｓｔに比べてストップ値Ｐｅｎのほうが大きい値である。また、スタート値Ｐｓｔとストップ値Ｐｅｎとの差によって、計測用パルスのパルス幅を設定できる。
【００４９】
切替スイッチ２２ｓには、図１に示すように、パルス生成部２３からの計測用パルス信号ＰＧｎと、外部入力端子２７からの外部検出指示信号ＰＥｘと、制御部１１からの計測指示信号ＭＥｓとが供給される。切替スイッチ２２ｓは、計測指示信号ＭＥｓの指示に応じて、計測用パルス信号ＰＧｎと外部検出指示信号ＰＥｘとのいずれかを選択して出力するスイッチである。本実施の形態では、計測指示信号ＭＥｓのレベルがＬｏｗの場合に、計測用パルス信号ＰＧｎを使用する例を挙げている。すなわち、図４に示すように、計測指示信号ＭＥｓがＬｏｗの期間において、パルス生成部２３で生成された計測用パルス信号ＰＧｎは、切替スイッチ２２ｓを介して、入力回路２２に供給される。そして、入力回路２２からは、時間Ｔｄｌだけ経過した後に、計測用パルス信号ＰＧｎが遅延した信号である検出指示信号ＰＬｔが出力される。
【００５０】
計測用パルス信号ＰＧｎが遅延した検出指示信号ＰＬｔは、図１に示すように、カウント値取込部２４ｃに供給される。カウント値取込部２４ｃのＤＦＦ４２により、時刻ｔｄｌでのデータ取込タイミングにおいて、内部カウンタ信号Ｃａｐから取込カウント値ＣａｐＸが取り込まれ、ＤＦＦ４２が取込カウント値ＣａｐＸを一時的に保持する。
【００５１】
このような動作によりカウント値取込部２４ｃにおいて一時的に保持されている取込カウント値ＣａｐＸは、図１に示すように、補正値算出部２５に供給される。補正値算出部２５には、あらかじめスタート値Ｐｓｔが供給されている。補正値算出部２５は、供給されるスタート値Ｐｓｔと取込カウント値ＣａｐＸとから、入力回路２２における遅延量を算出する。
【００５２】
なお、図１において、切替スイッチ２２ｓを外部入力端子２７にスイッチを切り替えて、計測指示信号ＭＥｓのレベルがＬｏｗの場合の時に、波形信号生成用のパルスジェネレータなどを使用して外部検出指示信号ＰＥｘを入力し、図２に示すように、外部検出指示信号ＰＥｘを計測用パルス信号として使用して、入力回路２２における遅延量を算出してもよい。
【００５３】
図３では、このように動作する補正値算出部２５の構成として、減算器５１とＤＦＦ５２とを有した一例を示している。減算器５１には、スタート値Ｐｓｔと取込カウント値ＣａｐＸとが供給され、減算器５１は、スタート値Ｐｓｔと取込カウント値ＣａｐＸとの差である差分値Ｄｉｆを算出する。ここで、図４に示すように、スタート値Ｐｓｔは時刻ｔｓｔに対応し、取込カウント値ＣａｐＸは時刻ｔｄｌに対応していることより、差分値Ｄｉｆは、入力回路２２での遅延の時間Ｔｄｌに対応している。言い換えると、時間Ｔｄｌに対応する差分値Ｄｉｆを利用して、例えば図２に示す時刻ｔｄｌから時間Ｔｄｌだけ早いタイミングの外部検出指示信号ＰＥｘの外部指示タイミングを逆算することが可能である。本実施の形態では、この逆算により外部指示タイミングを推定することで、入力回路２２での遅延を補正している。図３に示すように、減算器５１でのこのような差分値Ｄｉｆは、ＤＦＦ５２のＤ入力に供給される。また、ＤＦＦ５２のクロック端子ｃｋには、計測指示信号ＭＥｓが供給されている。このような構成の補正値算出部２５により、ＤＦＦ５２は、図４のように、計測指示信号ＭＥｓのパルス立上りのタイミングにおいて、減算器５１からの差分値Ｄｉｆを補正値Ｃｒｒとして取り込み、一時的に保持している。
【００５４】
以上のように、補正値生成部３０は、内部カウンタ信号Ｃａｐを利用して計測用パルスを生成する。補正値生成部３０は、計測用パルスを入力回路２２に供給して、計測用パルスのパルス遅延を計測し、計測した計測用パルスのパルス遅延に基づき、補正値Ｃｒｒを算出している。なお、補正値Ｃｒｒは、例えば制御部１１において、不揮発性のメモリなどを用いて常時記憶し、外部からの位置検出指示ごとに利用するような構成であってもよい。
【００５５】
以上、図３に示すような補正値生成部３０の構成による計測に基づいて算出した補正値Ｃｒｒは、外部検出指示信号ＰＥｘによる外部指示タイミングでのロータの位置検出において、入力回路２２での遅延に対する補正に利用される。
【００５６】
図５は、本発明の実施の形態にかかるモータ制御装置１０の外部指示タイミングにおいてのモータ位置を検出するためのタイミング例を示すタイミングチャートである。図５は、図２と同様の時刻ｔ０近辺について、各部の状態を示している。次に、図１、図３および図５を参照しながら、外部指示タイミングにおいてモータ位置を検出する指示位置検出部２０での構成およびその動作について、説明する。指示位置検出部２０は、このような位置検出を実行するため、上述のような構成に加えて、図１に示すように、位置データ取込部２４ｐと検出位置算出部２６とをさらに備えている。また、外部指示による位置検出を行うため、制御部１１からの指示により、外部検出指示信号ＰＥｘを選択するように、切替スイッチ２２ｓは設定されている。
【００５７】
位置データ取込部２４ｐには、モータ位置受信部１６からの位置検出値信号Ｄｐｏｓと、入力回路２２からの検出指示信号ＰＬｔとが供給されている。位置データ取込部２４ｐは、検出指示信号ＰＬｔによるデータ取込タイミングにおいて、位置検出値信号Ｄｐｏｓから位置検出値を取り込み、一時的に保持する。図３は、このように動作する位置データ取込部２４ｐの構成として、ＤＦＦ４１を有する一例を示している。ＤＦＦ４１のＤ入力には、位置検出値信号Ｄｐｏｓが供給され、クロック端子ｃｋには検出指示信号ＰＬｔが供給される。このような構成の位置データ取込部２４ｐにより、ＤＦＦ４１は、図５のように、検出指示信号ＰＬｔの取込パルスの立上りのタイミング、すなわちデータ取込タイミングである時刻ｔｄｌにおいて、位置検出値信号Ｄｐｏｓの値を取り込み、一時的に保持している。図１、図３および図５では、位置データ取込部２４ｐにおいて、位置検出値信号Ｄｐｏｓから位置検出値Ｐｏｓ０が取り込まれている場合を示している。
【００５８】
また、検出位置算出部２６には、カウント値記憶部２４ｍからの内部カウント値信号Ｄｃａｐ、カウント値取込部２４ｃで取り込んだカウント値、補正値算出部２５で算出した補正値Ｃｒｒ、モータ位置受信部１６からの位置検出値信号Ｄｐｏｓ、および位置データ取込部２４ｐで取り込んだ位置検出値が供給される。すなわち、図５に示すような検出指示信号ＰＬｔでのデータ取込タイミングが発生する時刻ｔ０から時刻ｔ１までの期間においては、図１および図３に示すように、検出位置算出部２６には、カウント値記憶部２４ｍからのカウント値Ｃａｐ０、カウント値取込部２４ｃからの取込カウント値ＣａｐＸ、補正値算出部２５からの補正値Ｃｒｒ、モータ位置受信部１６からの位置検出値信号Ｄｐｏｓ、および位置データ取込部２４ｐからの位置検出値Ｐｏｓ０が供給される。
【００５９】
検出位置算出部２６は、時刻ｔ０から時刻ｔ１までの期間におけるこれらの値を用いて、時刻ｔｅｘでの外部指示タイミングにおける指示位置検出値Ｄｐｅｘを算出している。すなわち、検出位置算出部２６は、読込周期Ｔｒｃの間隔で取り込んだカウント値のうちのカウント値Ｃａｐ０と外部指示タイミングでのカウント値ＣａｐＥとを用いた補間により、指示位置検出値Ｄｐｅｘを算出している。また、このカウント値ＣａｐＥについては、上述のように、補正値Ｃｒｒを用いて取込カウント値ＣａｐＸを補正することで、この外部指示タイミングでのカウント値ＣａｐＥを生成している。
【００６０】
なお、指示位置検出値Ｄｐｅｘは、図２で説明した外部指示タイミングでの正確な位置を示す値Ｐｐｅｘについて逆算により算出した推定値である。すなわち、指示位置検出値Ｄｐｅｘは、この値Ｐｐｅｘに対応しており、誤差等がない場合は、指示位置検出値Ｄｐｅｘは値Ｐｐｅｘと等しくなる。以下、時刻ｔ０から時刻ｔ１までの期間でのこれらの値を用いて、検出位置算出部２６の構成および動作について説明する。
【００６１】
図３では、このような指示位置検出値Ｄｐｅｘを算出する検出位置算出部２６の構成として、遅延補正部６１、減算器６２、割算器６３、乗算器６４、位置変化量算出部６５および加算器６６を備えている。
【００６２】
図３に示す遅延補正部６１は、減算器６１ｓで構成されている。減算器６１ｓは、カウント値取込部２４ｃが保持している取込カウント値ＣａｐＸから、補正値算出部２５が保持している補正値Ｃｒｒを引算し、補正済カウント値ＣａｐＥとして出力する。ここで、補正値Ｃｒｒは入力回路２２での遅延の時間Ｔｄｌに対応していることより、補正済カウント値ＣａｐＥは、図５のように、時刻ｔｄｌでのデータ取込タイミングよりも時間Ｔｄｌだけ前の外部指示タイミングにおける内部カウンタ信号Ｃａｐの値に対応している。このように、本実施の形態では、補正値生成部３０での計測により算出した補正値Ｃｒｒを利用し、遅延補正部６１により、入力回路２２での遅延に対する補正を行っている。
【００６３】
補正済カウント値ＣａｐＥと、カウント値記憶部２４ｍから出力されているカウント値Ｃａｐ０とが減算器６２に供給される。減算器６２は、補正済カウント値ＣａｐＥからカウント値Ｃａｐ０を引算し、差分値ｄｔＣとして出力する。
【００６４】
ここで、内部カウンタ信号Ｃａｐがカウント値Ｃａｐ０となる時刻ｔ０から、外部指示タイミングの時刻ｔｅｘまでの時間について、図５のように時間Ｔｅｒとする。すると、差分値ｄｔＣは、図５のように、時間Ｔｅｒにおける内部カウンタ信号Ｃａｐの値の変化値である。また、読込周期Ｔｒｃおよびこの読込周期Ｔｒｃにおける内部カウンタの変化値Ｎｃａｐについては既知である。このため、例えば、読込周期Ｔｒｃと時間Ｔｄｌとの比率Ｒｔｏは、図５からも明らかなように、（ｄｔＣ／Ｎｃａｐ）となる。図３に示す検出位置算出部２６は、差分値ｄｔＣと変化値Ｎｃａｐとが、割算器６３に供給されており、比率Ｒｔｏを割算器６３により算出している。
【００６５】
さらに、検出位置算出部２６は、位置変化量算出部６５、乗算器６４および加算器６６により、外部指示タイミングにおける位置カウンタ信号Ｐｏｓのカウント値、すなわち目標とする指示位置検出値Ｄｐｅｘを算出している。
【００６６】
まず、位置変化量算出部６５は、例えば、位置検出値信号Ｄｐｏｓを微分演算するなどして、読込周期Ｔｒｃ毎の位置検出値の変化値を算出している。図３では、位置変化量算出部６５をＤＦＦ６５ｆと減算器６５ｓとで構成した一例を示している。すなわち、位置変化量算出部６５において、位置検出値信号Ｄｐｏｓが、ＤＦＦ６５ｆのＤ入力、および減算器６５ｓの一方の入力に供給される。ＤＦＦ６５ｆのＱ出力が、減算器６５ｓの他方の入力に供給される。ＤＦＦ６５ｆのクロック端子ｃｋには、読込クロックＲＣｋが供給される。この構成により、減算器６５ｓは、現在時点での位置検出値から１つ手前の位置検出値を引算し、その結果、減算器６５ｓから、読込周期Ｔｒｃ毎の位置検出値の変化値を示す位置カウント変化値信号Ｎｐｏｃが出力される。図５は、位置カウンタ信号Ｐｏｓとともに、位置カウント変化値信号Ｎｐｏｃとしての変化値Ｎｐｏｃ０、Ｎｐｏｃ１、Ｎｐｏｃ２、・・・・が、読込周期Ｔｒｃ毎に出力される様子を示している。なお、具体的には、図３での位置変化量算出部６５の構成の場合、時刻ｔ０から時刻ｔ１までの期間での変化値Ｎｐｏｃ１に対して、１つ手前の変化値Ｎｐｏｃ０を用いて代用している。
【００６７】
乗算器６４には、この変化値Ｎｐｏｃ０、および上述した比率Ｒｔｏが供給される。ここで、変化値Ｎｐｏｃ０は、読込周期Ｔｒｃにおける位置検出値の変化量を示し、比率Ｒｔｏは、読込周期Ｔｒｃに対する時間Ｔｅｒの比率である。これより、変化値Ｎｐｏｃ０に比率Ｒｔｏを乗算することにより、時間Ｔｅｒの期間における位置検出値の変化量を求めることができる。すなわち、乗算器６４からは、この変化量を示す位置補間値ｄｔＲが出力される。
【００６８】
加算器６６により、時刻ｔ０での位置検出値Ｐｏｓ０に、時間Ｔｅｒの期間の変化量である位置補間値ｄｔＲを加算する。これにより、加算器６６は、図５のように、目標とする指示位置検出値Ｄｐｅｘを算出することができる。
【００６９】
以上説明したように、本実施の形態のモータ制御装置１０は、外部指示タイミングにおける位置検出値を、指示位置検出値として算出する指示位置検出部２０を備える。指示位置検出部２０は、内部カウンタ２１と、検出位置算出部２６と、補正値生成部３０と、を有する。内部カウンタ２１は、モータ７０に装着したロータリエンコーダ７１によって検出されるモータ位置を位置検出値として読込む間隔である位置読込周期よりも短い周期の間隔でカウントしたカウント値を出力する。検出位置算出部２６は、位置検出値を用いてモータの回転を制御するとともに、指示パルスを含む外部検出指示信号ＰＥｘが供給され、指示パルスのエッジによって指示された外部指示タイミングでのカウント値とを用いて、指示位置検出値Ｄｐｅｘを算出する。補正値生成部３０は、外部入力端子２７と、入力回路２２と、カウント値取込部２４ｃと、補正値算出部２５とを含む。外部入力端子２７は、外部検出指示信号ＰＥｘが供給される。入力回路２２は、入力される外部検出指示信号ＰＥｘに対して、パルス遅延を生じるアナログ処理を施し、遅延した指示パルスである取込パルスを含んだ検出指示信号ＰＬｔとして出力する。カウント値取込部２４ｃは、取込パルスのエッジによって指示されたデータ取込タイミングで内部カウンタ信号のカウント値Ｃａｐを取り込み、取込カウント値ＣａｐＸとして保持する。補正値算出部２５は、パルス遅延により生じた外部指示タイミングでのカウント値Ｐｓｔと取込カウント値ＣａｐＸとの誤差に対し、誤差を補正するための補正値Ｃｒｒを算出する。補正値生成部３０は、一定速度でモータ７０が回転している状態にて、指示パルスに代えて、内部カウンタ２１から出力されるカウント値Ｃａｐを利用して生成される計測用パルスを入力回路２２に供給して計測用パルスのパルス遅延を計測し、パルス遅延に基づき補正値Ｃｒｒを算出する。検出位置算出部２６は、補正値Ｃｒｒを用いてカウント値ＣａｐＸを補正することで、外部指示タイミングでのカウント値ＣａｐＥを生成する。指示位置検出部２０は、位置読込周期の間隔で取り込んだカウント値Ｃａｐ０とこの補正したカウント値ＣａｐＥとを用いた補間により、指示位置検出値Ｄｐｅｘを算出している。
【００７０】
このように、モータ制御装置１０によれば、補正値生成部３０での計測に基づき生成した補正値Ｃｒｒを用いて取込カウント値ＣａｐＸを補正するため、入力回路２２における遅延の影響を抑制でき、精度よく外部指示タイミングでの所望の指示位置検出値Ｄｐｅｘが得られる。
【００７１】
また、補正値生成部３０は、内部カウンタ２１から出力されるカウント値Ｃａｐと、計測用パルスの開始タイミングを示すスタート値Ｐｓｔおよび終了タイミングを示すストップ値Ｐｅｎとを用いて、計測用パルスを生成するパルス生成部２３をさらに備えてもよい。
【００７２】
補正値算出部２５は、カウント値取込部２４ｃが計測用パルスに基づき取り込んだ取込カウント値ＣａｐＸと、スタート値Ｐｓｔとを用いて、補正値Ｃｒｒを算出してもよい。
【００７３】
モータ制御装置１０は、補正値Ｃｒｒを保存する不揮発性のメモリをさらに備えてもよい。
【００７４】
なお、以上の説明では、例えば、位置読込クロック信号ＲＣｋまたは検出指示信号ＰＬｔなど、パルスのエッジの立上りで取り込んだり動作したりする例を挙げて説明したが、適宜、パルスのエッジの立下りでもよい。さらに、信号に応じていずれかとしてもよい。また、これらパルスについて、パルス期間がＨｉｇｈとなるパルスとして説明したが、パルス期間がＬｏｗとなるパルスとし、そのパルスに合わせて構成すればよい。また、内部カウンタ２１がアップカウントする例を挙げて説明したが、ダウンカウントしてもよい。その場合、適宜、ダウンカウントに合わせて構成すればよい。
【産業上の利用可能性】
【００７５】
本発明のモータ制御装置は、精度よい位置検出が要求されるモータ制御装置、精度よい位置決めが要求される半導体製造装置または電子部品実装機などに有用である。
【符号の説明】
【００７６】
１０    モータ制御装置
１１    制御部
１２    クロック生成部
１３    タイミング信号生成部
１４    回転制御部
１５    モータ駆動部
１６    モータ位置受信部
２０    指示位置検出部
２１    内部カウンタ
２２    入力回路
２２ｓ    切替スイッチ
２３    パルス生成部
２４ｃ    カウント値取込部
２４ｍ    カウント値記憶部
２４ｐ    位置データ取込部
２５    補正値算出部
２６    検出位置算出部
２７    外部入力端子
３０    補正値生成部
３１    フォトカプラ
３２    アンプ
３５，３６    比較器
３７    論理回路
４１，４２，４５，５２，６５ｆ    Ｄ型フリップフロップ（ＤＦＦ）
４６    記憶部
５１，６１ｓ，６２，６５ｓ    減算器
６１    遅延補正部
６３    割算器
６４    乗算器
６５    位置変化量算出部
６６    加算器
７０    モータ
７１    ロータリエンコーダ（エンコーダ）
７３    位置カウンタ
７５    上位コントローラ
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
モータに装着したロータリエンコーダによって検出されるモータ位置を位置検出値として読込む間隔である位置読込周期よりも短い周期の間隔でカウントしたカウント値を出力する内部カウンタと、
前記位置読込周期の間隔で取り込んだカウント値と、前記位置検出値を用いて前記モータの回転を制御するとともに、指示パルスを含む外部検出指示信号が供給され、前記指示パルスのエッジによって指示された外部指示タイミングでのカウント値とを用いて、指示位置検出値を算出する検出位置算出部と、
前記外部検出指示信号が供給される外部入力端子と、
入力される前記外部検出指示信号に対して、パルス遅延を生じるアナログ処理を施し、遅延した前記指示パルスである取込パルスを含んだ検出指示信号として出力する入力回路と、
前記取込パルスのエッジによって指示されたデータ取込タイミングで内部カウンタ信号のカウント値を取り込み、取込カウント値として保持するカウント値取込部と、
前記パルス遅延により生じた前記外部指示タイミングでの前記カウント値と前記取込カウント値との誤差に対し、前記誤差を補正するための補正値を算出する補正値算出部と、
を含む補正値生成部と、
を有し、
前記外部指示タイミングにおける位置検出値を、指示位置検出値として算出する指示位置検出部を備え、
前記補正値生成部は、一定速度で前記モータが回転している状態にて、前記指示パルスに代えて前記内部カウンタから出力される前記カウント値を利用して生成される計測用パルスを前記入力回路に供給して前記計測用パルスのパルス遅延を計測し、前記パルス遅延に基づき前記補正値を生成し、
前記検出位置算出部は、前記補正値を用いて前記取込カウント値を補正することで、前記外部指示タイミングでの前記カウント値を生成するモータ制御装置。
【請求項２】
前記補正値生成部は、前記内部カウンタから出力される前記カウント値と、前記計測用パルスの開始タイミングを示すスタート値および終了タイミングを示すストップ値とを用いて、前記計測用パルスを生成するパルス生成部をさらに備え、
前記補正値算出部は、前記カウント値取込部が前記計測用パルスに基づき取り込んだ前記取込カウント値と、前記スタート値とを用いて、前記補正値を算出する請求項１に記載のモータ制御装置。
【請求項３】
前記補正値を保存する不揮発性のメモリをさらに備えた請求項１または２に記載のモータ制御装置。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2020149002.tif 000008
【図２】
2020149002.tif 000009
【図３】
2020149002.tif 000010
【図４】
2020149002.tif 000011
【図５】
2020149002.tif 000012
【国際調査報告】
2020149002.tif 000013
2020149002.tif 000014
2020149002.tif 000015
2020149002.tif 000016