説明

モータ制御回路

【課題】簡素なデジタル回路を用いて構成され、広範な制御レンジでゲインを調整可能なモータ制御回路を提供する。
【解決手段】モータ駆動制御部90は、トルク指令データと第3の基準クロックとに応じて、モータ100を駆動する。トルク指令データは、第1の基準クロックとFG信号とに応じて速度誤差検出部40が出力する速度誤差データと第2の基準クロックとFG信号とに応じて位相誤差検出部60が出力する位相誤差データとが加算回路80で加算されて生成される。速度誤差データ及び位相誤差データは、それぞれ、速度検出用値設定部51及びカウント値設定部53、又は位相検出用値設定部71及びカウント値設定部73により設定される所定の範囲で出力される。第3の基準クロックの周波数を固定したままの広範な制御レンジで、第1及び第2の基準クロックの周波数を調整することによって、制御ゲイン及び制御範囲を設定できる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、モータ制御回路に関し、特に、モータの回転駆動制御において速度制御ゲインと位相制御ゲインとの設定を行うモータ制御回路に関する。
【背景技術】
【0002】
モータの回転速度を一定とするように制御するモータ制御回路としては、例えば、パルスの偏差を検出し、それに基づいてモータの駆動電力を制御するものがある。このようなモータ制御回路は、基準パルス発生回路と、偏差検出回路と、パルス幅変調回路とを有する。
【0003】
モータ制御回路には、例えば、モータに設けられたパルスエンコーダが発生する、モータの回転速度に対応した周波数の速度パルスが入力される。基準パルス発生回路は、モータの基準回転速度に対応した周波数の基準パルスを発生する。偏差検出パルスは、速度パルスと基準パルスとの偏差を検出する。パルス幅変調回路(PWM回路)は、各パルスの偏差に対応するパルス幅の駆動パルスを発生する。モータへの駆動電力は、パルス幅変調回路の出力に応じて出力されたり停止されたりする。
【0004】
下記特許文献1には、速度偏差PWM駆動信号の基準クロックと位相偏差PWM駆動信号の基準クロックの周波数をそれぞれ変更して、速度偏差PWM駆動信号又は位相偏差PWM駆動信号のデューティを変更することにより、モータのPWM駆動ゲインの調整を行うモータ制御回路が開示されている。
【0005】
下記特許文献2には、パルス幅変調回路を含むモータの制御回路において、速度パルスと基準パルスとの偏差に対応するパルス幅の、パルス幅変調された駆動信号を発生し、モータの回転速度を制御することが開示されている。このモータの制御回路は、デジタル回路で構成できるものである。
【0006】
下記特許文献3には、モータの速度制御装置において、水晶発振器の出力のように安定な周波数を速度基準として用いることで回転数安定度を高めること、及び速度制御ループの中に低域補償回路を挿入して負荷安定度を高めることなどが開示されている。
【0007】
下記特許文献4には、モータ制御回路に関して、ソフトウェア処理による乗除算処理の課題と、乗除算処理をハードウェアで行う方法とが開示されている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2008−259321号公報
【特許文献2】特開平5−236780号公報
【特許文献3】特公昭63−10668号公報
【特許文献4】特開平7−67375号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
ところで、上記特許文献2又は特許文献3に示すようなモータ制御回路においては、モータの回転数Nは次式により表される。ここで、Gはゲインであり、モータが1回転する毎にB個の速度パルスが出力されるとする。次式からわかるように、モータの回転制御を行うためにゲインGを調整すると、モータの回転数Nも変化してしまう。
【0010】
回転数N=60*f/(G*B)
【0011】
モータの速度を制御するため、特許文献1に示すモータ制御回路では、ゲイン調整と同時に基準クロックが変更(調整)される。特許文献1に示すモータ制御回路では、速度偏差PWM信号の基準クロックと位相偏差PWM信号の基準クロックとを変化させて、PWMデューティを変更してPWM駆動ゲインを調整できる。このようなモータ制御回路の動作について、以下に図9を参照して説明する。
【0012】
図9は、従来のモータ制御回路における速度偏差とPWM駆動信号のデューティとの関係を示すグラフである。
【0013】
図9において、横軸は速度偏差を示し、縦軸はPWM駆動信号(速度偏差PWM駆動信号)のデューティを示す。横軸について、図9において右方向に速度偏差が増加する方向は、モータの回転速度が遅くなる方向に対応している。横軸と縦軸との交点は、速度偏差がゼロである状態、すなわち回転速度が設定回転数に一致している状態を示す。また、横軸と縦軸との交点において、デューティは50%である。X−Y座標上に描かれた直線の傾斜は、PWM駆動のゲインを表している。直線の傾斜が大きいほど、速度偏差の変化に対してPWM駆動信号のデューティの変化が大きくなる。すなわち、直線の傾斜が大きいほど、ゲインが大きくなる。
【0014】
パルス幅変調回路は、速度偏差について、カウンタで基準クロックをカウントする。そして、速度判別信号に応じて、カウント中の期間について、PWM基準信号の付加又は減算を行う。これにより、デューティが変化する速度偏差PWM駆動信号が生成される。ここで、基準クロックの周波数を下げると、PWM基準信号に付加されるカウント中の時間が長くなるので、速度偏差PWM駆動信号のデューティが増大する。すなわち、基準クロックの周波数が下がると、速度偏差とPWM駆動信号のデューティとの関係が、図9においてA5で示される関係から、A6で示される関係に近くなる。基準クロックの周波数が下がると、周波数が下がる前後で同じ速度偏差である場合、速度偏差PWM駆動信号のデューティがアップする。逆に、基準クロックの周波数を上げると、カウント中の時間が短くなるので、デューティが減少する。すなわち、基準クロックの周波数が上がると、速度偏差とPWM駆動信号のデューティとの関係が、図9においてA5で示される関係から、A7で示される関係に近くなる。基準クロックの周波数が上がると、周波数が上がる前後で同じ速度偏差である場合、速度偏差PWM駆動信号のデューティが減少する。すなわち、基準クロックが調整されることで、PWM駆動信号が調整される。なお、位相偏差によるPWMデューティのゲインを個別に設定することが同様に可能である。
【0015】
このように、従来のモータ制御回路としては、速度偏差によるPWMデューティのゲインと位相偏差によるPWMデューティのゲインを個別に設定することが可能であり、ゲイン設定を基準クロックの周波数により設定することができるものがある。
【0016】
しかしながら、上記のような特許文献1に開示されている方式には、パルス幅変調回路は、速度偏差について、固定のカウント数のカウンタで基準クロックをカウントするため、PWMデューティによるモータの制御レンジが狭くなるという問題がある。すなわち、基準クロックの周波数を高くすると、PWM駆動信号の上限が低くなり、PWMデューティが100%までの幅広い制御レンジを得ることができなくなる。例えば、速度偏差と速度偏差PWM駆動信号のデューティとの関係について、図9にA5で示される状態と、それより基準クロック周波数が高められたA7で示される状態とを比較する。このとき、A5で示される関係においては、デューティの上限はおよそ100%である。しかしながら、これと比較して、A7で示される関係においては、デューティの上限は、100%よりは小さいYa(%)になる。このように、基準クロックの周波数が高くなると、デューティ比のレンジが狭くなり、モータの制御レンジが狭くなる。
【0017】
ここで、デジタル乗算器を用いて、誤差データと制御ゲイン乗数とに応じてゲインを制御する方法がある。すなわち、デジタル乗算器を用いて、PWMデューティ比に影響を与えないようにゲイン調整を行う方法もある。例えば、特許文献4には、ソフトウェア処理による乗除算処理の課題と、乗除算をハードウェアで行う方法が記載されている。
【0018】
図10は、従来のデジタル乗算器を用いたゲイン制御を説明する図である。
【0019】
図10において、乗算器815には、速度誤差データ(偏差データ)810及び制御ゲイン定数820が入力される。乗算器815は、入力されたデータに基づいて処理を行い、ゲインを制御するための制御指令データ817を出力する。また、位相についてもこれと同様に、乗算器825は、入力された位相誤差データ(偏差データ)830及び制御ゲイン定数840に基づいて、制御指令データ827を出力する。出力された制御指令データ817,827に基づいて、PWMデューティカウント用の基準クロックに影響を与えずに駆動ゲインの調整が行われる。
【0020】
しかしながら、デジタル乗算器は、回路が複雑であって、ゲート数が多いものである。デジタル乗算器には、演算処理スピードが比較的遅いというデメリットがある。すなわち、デジタル乗算器を用いる場合、モータ制御回路を用いる装置の小型化や、回転駆動制御の精度の面で、課題が残る。特許文献4には、乗除算にかかるハードウェアの構成や規模の課題に関しては、何ら記載されていない。
【0021】
この発明はそのような問題点を解決するためになされたものであり、簡素なデジタル回路を用いて構成され、広範な制御レンジでゲインを調整可能なモータ制御回路を提供することを目的としている。
【課題を解決するための手段】
【0022】
上記目的を達成するためこの発明のある局面に従うと、モータ制御回路は、モータの回転速度に対応した周波数の速度パルスを検出する速度検出手段と、速度検出手段により検出された速度パルスに基づいて、トルク指令データを生成する生成手段と、生成手段により生成されたトルク指令データに応じてPWM指令信号を生成し、モータの駆動を制御するモータ駆動制御手段と、第1の基準クロックを出力する第1の出力手段と、第2の基準クロックを出力する第2の出力手段とを備え、生成手段は、速度誤差データを検出する速度誤差検出手段と、位相誤差データを検出する位相誤差検出手段と、速度誤差検出手段で検出された速度誤差データと位相誤差検出手段で検出された位相誤差データとを加算してトルク指令データを出力する加算手段とを有し、速度誤差検出手段は、第1の出力手段から出力された第1の基準クロックをカウントする第1のカウンタと、第1のカウンタのカウント値を速度パルスでラッチする第1のラッチ回路と、速度誤差検出範囲に関する設定を行う第1の設定部とを有し、第1のラッチ回路でラッチされたカウント値と第1の設定部の設定内容とに基づいて速度誤差データを検出し、位相誤差検出手段は、第2の出力手段から出力された第2の基準クロックをカウントする第2のカウンタと、第2のカウンタのカウント値を速度パルスでラッチする第2のラッチ回路と、位相誤差検出範囲に関する設定を行う第2の設定部とを有し、第2のラッチ回路でラッチされたカウント値と第2の設定部の設定内容とに基づいて位相誤差データを検出する。
【0023】
好ましくは速度誤差検出手段は、第1の基準クロックを第1の所定の範囲でカウントし、速度パルスの立ち上がり又は立ち下がりのタイミングでラッチしたカウント値と、予め設定された速度検出用カウント値から所定の第1の値を減じた第1の基準カウント値と、を比較して速度誤差データを検出するとともに、速度検出用カウント値から第1の値を減じた値を基準とする第1の設定部により設定された範囲で速度誤差データを出力し、速度パルスの立ち上がり又は立ち下がりのタイミングで、第1の基準クロックのカウントのリセット及び再カウントの開始を行う。
【0024】
好ましくは速度誤差検出手段は、第1の基準クロックのカウントが第1の基準カウント値に達するまでの期間に速度パルスが入力されない場合に、第1の基準クロックのカウントを停止する。
【0025】
好ましくは第1のカウンタのカウント数は、第1の値の2倍より大きい。
【0026】
好ましくは位相誤差検出手段は、第2の基準クロックを第2の所定の範囲でカウントし、速度パルスの立ち上がり又は立ち下がりのタイミングでラッチしたカウント値と、予め設定された位相検出用カウント値と、を比較して位相誤差データを検出するとともに、位相検出用カウント値から所定の第2の値を減じた値を基準とする第2の設定部により設定された範囲で符号付きの位相誤差データを出力し、第2の基準クロックのカウント値が位相検出用の第2の基準カウント値に達すると、第2の基準クロックのカウントのリセット及び再カウントの開始を行う。
【0027】
好ましくは位相誤差検出手段は、位相検出用カウント値に相当する周期よりも速度パルスの周期が長い場合又は短い場合に、第2の基準クロックのカウントを停止する。
【0028】
好ましくは第2のカウンタのカウント数は、第2の値の2倍よりも大きい。
【0029】
好ましくは位相誤差検出手段は、第1の期間内に速度パルスが入力されない第1の場合には、第2の基準クロックのカウントを停止し、第1の期間は、第2の基準クロックのカウントが開始されてから第2の基準クロックのカウント値が第2の基準カウント値に達することで第2の基準クロックのカウントがリセットされることが2回発生する期間である。
【0030】
好ましくは位相誤差検出手段は、第1の場合には、第2の基準クロックのカウントを停止するとともに、加算手段が出力するトルク指令データを最大値とする。
【0031】
好ましくは位相誤差検出手段は、速度パルスが2回入力されない期間に、第2の基準クロックのカウントが開始されてから第2の基準クロックのカウント値が第2の基準カウント値に達することで第2の基準クロックのカウントがリセットされることが1回も発生しない第2の場合には、第2の基準クロックのカウントを停止する。
【0032】
好ましくは位相誤差検出手段は、第2の場合には、第2の基準クロックのカウントを停止するとともに、加算手段が出力するトルク指令データを最小値とする。
【0033】
好ましくは第1の出力手段は、第1の基準クロックの周波数を調整可能に構成されており、第1の基準クロックの周波数が調整されることで、速度誤差検出手段を用いた速度系制御のゲインと範囲とが設定される。
【0034】
好ましくは第2の出力手段は、第2の基準クロックの周波数を調整可能に構成されており、第2の基準クロックの周波数が調整されることで、位相誤差検出手段を用いた位相系制御のゲインと範囲とが設定される。
【0035】
好ましくはモータ駆動制御手段は、第1の基準クロック及び第2の基準クロックとは独立した、PWM制御用の第3の基準クロックに基づいて、モータの駆動制御を行う。
【0036】
好ましくはモータ駆動制御手段は、加算手段から出力されたトルク指令データに応じてPWM指令信号を生成するPWM信号生成回路と、PWM信号生成回路で生成されたPWM指令信号に応じて、モータを駆動するモータ駆動回路とを有する。
【発明の効果】
【0037】
これらの発明に従うと、速度誤差検出手段及び位相誤差検出手段が、それぞれ、ラッチ回路と設定部の設定内容とに基づいて、速度誤差データ及び位相誤差データを検出し、それらを加算して出力されたトルク指令データに応じて、モータ駆動制御部の制御が行われる。したがって、簡素なデジタル回路を用いて構成され、広範な制御レンジでゲインを調整可能なモータ制御回路を提供することができる。
【図面の簡単な説明】
【0038】
【図1】本発明の第1の実施の形態におけるモータ制御回路の構成を示す図である。
【図2】速度誤差検出部の動作を示すタイムチャートである。
【図3】位相誤差検出部の動作を示すタイムチャートである。
【図4】基準クロックの周波数と制御ゲイン及び制御範囲との関係を説明する図である。
【図5】第1の実施の形態における効果を説明する図である。
【図6】第2の実施の形態におけるモータ制御回路の位相誤差検出部の一部の構成を示す図である。
【図7】FG周期がカウンタ周期より長い第1の場合における位相誤差検出部の動作を示すタイムチャートである。
【図8】FG周期がカウンタ周期より短い第2の場合における位相誤差検出部の動作を示すタイムチャートである。
【図9】従来のモータ制御回路における速度偏差とPWM駆動信号のデューティとの関係を示すグラフである。
【図10】従来のデジタル乗算器を用いたゲイン制御を説明する図である。
【発明を実施するための形態】
【0039】
以下、本発明の実施の形態におけるモータ制御回路について説明する。
【0040】
[第1の実施の形態]
【0041】
図1は、本発明の第1の実施の形態におけるモータ制御回路の構成を示す図である。
【0042】
[モータ制御回路1の構成]
【0043】
図1を参照して、モータ制御回路1は、モータ100を回転させる制御を行う。モータ制御回路1は、速度検出部(速度検出手段の一例;図1においてPEと示している。)20と、トルク指令データ生成部(生成手段の一例;以下、単に生成部と呼ぶことがある。)30と、モータ駆動制御部(モータ駆動制御手段の一例)90とを備えている。
【0044】
速度検出部20は、モータ100の回転速度に対応した周波数の、FG信号(速度パルスの一例)を検出する。FG信号は、生成部30に送られる。
【0045】
生成部30は、速度検出部20により検出されたFG信号に基づいて、トルク指令データを生成する。生成されたトルク指令データは、モータ駆動制御部90に入力される。
【0046】
モータ駆動制御部90は、生成部30により生成されたトルク指令データに応じて、PWM指令信号を生成し、モータ100を駆動させるとともに、モータ100の駆動制御を行う。
【0047】
また、モータ制御回路1は、第1の基準クロックCLK1を出力する第1の出力部(第1の出力手段の一例;図1において第1の基準クロックと示している。)11と、第2の基準クロックCLK2を出力する第2の出力部(第2の出力手段の一例;図1において第2の基準クロックと示している。)12と、第3の基準クロックCLK3を出力する第3の出力部(第3の出力手段の一例;図1において第3の基準クロックと示している。)13とを備えている。第1の基準クロックCLK1及び第2の基準クロックCLK2は、生成部30に入力される。他方、第3の基準クロックCLK3は、モータ駆動制御部90に入力される。第3の基準クロックCLK3は、PWM制御用の基準クロックである。
【0048】
生成部30は、速度誤差検出部(速度誤差検出手段の一例)40と、位相誤差検出部(位相誤差検出手段の一例)60と、加算回路(加算手段の一例)80とを有している。速度誤差検出部40は、FG信号及び第1の基準クロックCLK1に基づいて、速度誤差データを検出する。位相誤差検出部60は、FG信号及び第2の基準クロックCLK2に基づいて、位相誤差データを検出する。速度誤差データは、速度誤差検出部40から加算回路80に送られる。位相誤差データは、位相誤差検出部60から加算回路80に送られる。加算回路80は、入力された速度誤差データと位相誤差データとを加算し、トルク指令データを生成して出力する。すなわち、生成部30は、トルク指令データを出力する。トルク指令データは、モータ駆動制御部90に送られる。
【0049】
モータ駆動制御部90は、PWM信号生成回路91と、モータ駆動回路92とを有している。加算回路80から出力されたトルク指令データは、PWM信号生成回路91に入力される。また、第3の基準クロックCLK3は、PWM信号生成回路91に入力される。PWM信号生成回路91は、トルク指令データと第3の基準クロックCLK3とに応じて、PWM指令信号を生成する。PWM指令信号は、モータ駆動回路92に送られる。モータ駆動回路92は、入力されたPWM指令信号に応じて、モータ100に駆動電力を与え、モータ100を駆動する。すなわち、モータ100は、モータ駆動制御部90より、第3の基準クロックCLK3の周波数で、トルク指令データに基づくデューティ比の駆動電力が与えられて駆動される。
【0050】
速度誤差検出部40は、速度検出用カウンタ(速度検出用NSbitカウンタ;第1のカウンタの一例)41と、第1のレジスタ43とを有している。第1のレジスタ43には、速度検出ラッチ回路(第1のラッチ回路の一例)45、減算部47,49、速度検出用値設定部(図1において速度検出用SDbit値と示している。)51、速度検出用の回転数カウント値設定部(図1において速度検出用設定回転数カウント値と示している。)53(以下、単にカウント値設定部53と呼ぶことがある。)、加算部55、及び比較部57が設けられている。
【0051】
速度検出用カウンタ41には、第1の出力部11から出力された第1の基準クロックCLK1が入力される。速度検出用カウンタ41は、第1の基準クロックCLK1をカウントする。カウント出力は、速度検出ラッチ回路45と比較部57とに送られる。
【0052】
速度検出ラッチ回路45には、カウント出力と、FG信号とが送られる。速度検出ラッチ回路45は、速度検出用カウンタ41から入力されたカウント値をFG信号でラッチする。速度検出ラッチ回路45は、ラッチしたカウント値を減算部47に送る。
【0053】
速度検出用値設定部51と、カウント値設定部53とは、速度誤差検出部40における速度誤差検出範囲を設定する第1の設定部を構成する。速度検出用値設定部51は、速度検出用の設定値(第1の値の一例;以下、SDbitと称する。)を、減算部49及び加算部55のそれぞれに出力する。カウント値設定部53は、速度検出用カウント値(速度検出用設定回転数カウント値)を、減算部49及び加算部55のそれぞれに出力する。SDbit及び速度検出用カウント値は、それぞれ、予め設定された値である。
【0054】
減算部49では、入力されたSDbitと速度検出用カウント値とで減算処理を行い、減算部47に出力する。減算部47では、速度検出ラッチ回路45でラッチされたカウント値と減算部49から送られた値とで減算処理を行い、速度誤差データを出力する。すなわち、速度誤差データは、第1の設定部の設定内容と、速度検出ラッチ回路45でラッチされた値とに基づいて検出される。なお、このとき、速度誤差データは、符号がない値として出力される。
【0055】
加算部55では、入力されたSDbitと速度検出用カウント値とが加算され、比較部57に出力される。比較部57は、加算部55から出力された値とカウント出力とが等しければ、速度検出用カウンタ41にカウント停止信号を出力するように構成されている。
【0056】
速度検出用カウンタ41には、第1の基準クロックCLK1の他に、FG信号と、比較部57からのカウント停止信号とが入力される。速度検出用カウンタ41は、カウント停止信号が入力されると、それに応じてカウントを停止する。速度検出用カウンタ41は、FG信号が入力されると、カウントをリセットし、再カウントを開始する。
【0057】
位相誤差検出部60は、位相検出用カウンタ(位相検出用NPbitカウンタ;第2のカウンタの一例)61と、第2のレジスタ63とを有している。第2のレジスタ63には、位相検出ラッチ回路(第2のラッチ回路の一例)65、減算部67,69、位相検出用値設定部(図1において位相検出用PDbit値と示している。)71、位相検出用の回転数カウント値設定部(図1において位相検出用設定回転数カウント値と示している。)73(以下、単にカウント値設定部73と呼ぶことがある。)、及び比較部77が設けられている。
【0058】
位相検出用カウンタ61は、例えば、自走カウンタ(フリーランカウンタ)である。位相検出用カウンタ61には、第2の出力部12から出力された第2の基準クロックCLK2が入力される。位相検出用カウンタ61は、第2の基準クロックCLK2をカウントする。カウント出力は、位相検出ラッチ回路65と比較部77とに送られる。
【0059】
位相検出ラッチ回路65には、カウント出力と、FG信号とが送られる。位相検出ラッチ回路65は、位相検出用カウンタ61から入力されたカウント値をFG信号でラッチする。位相検出ラッチ回路65は、ラッチしたカウント値を減算部67に送る。
【0060】
位相検出用値設定部71と、カウント値設定部73とは、位相誤差検出部60における位相誤差検出範囲を設定する第2の設定部を構成する。位相検出用値設定部71は、位相検出用の設定値(第2の値の一例;以下、PDbitと称する。)を、減算部69に出力する。カウント値設定部73は、位相検出用カウント値(位相検出用設定回転数カウント値)を、減算部69及び比較部77のそれぞれに出力する。PDbit及び位相検出用カウント値は、それぞれ、予め設定された値である。なお、本実施の形態では、位相検出用カウント値である位相検出用設定回転数カウント値は、第2の基準カウント値と同一の値となる。
【0061】
減算部69では、入力されたPDbitと位相検出用カウント値とで減算処理を行い、減算部67に出力する。減算部67では位相検出ラッチ回路65でラッチされたカウント値と減算部69から送られた値とで減算処理を行い、位相誤差データを出力する。すなわち、位相誤差データは、第2の設定部の設定内容と、位相検出ラッチ回路65でラッチされた値とに基づいて検出される。なお、このとき、位相誤差データは、符号がある値として出力される。
【0062】
比較部77は、カウント値設定部73から出力された位相検出用カウント値とカウント出力とが等しければ、位相検出用カウンタ61をリセットさせる信号を出力するように構成されている。位相検出用カウンタ61は、比較部77からの信号が入力されると、カウントをリセットし、再カウントを開始する。
【0063】
ここで、第1の出力部11は、第1の基準クロックCLK1の周波数を調整可能に構成されている。第2の出力部12は、第2の基準クロックCLK2の周波数を調整可能に構成されている。第3の出力部13は、第3の基準クロックCLK3を、第1の基準クロックCLK1及び第2の基準クロックCLK2とは独立して出力させる。
【0064】
第1の出力部11、第2の出力部12、及び第3の出力部13は、例えば以下のように構成されていることで、それぞれ基準クロックを出力可能である。すなわち、第1の出力部11及び第2の出力部12のそれぞれは、分周器(図示せず)と、その分周器の設定を行う分周設定部(図示せず)とを備えている。第1の出力部11の分周器及び第2の出力部12の分周器には、それぞれ、図示しない発振器から出力された所定の基準クロックが入力される。ここで、所定の基準クロックは、第1の基準クロックCLK1及び第2の基準クロックCLK2よりも高い周波数のものである。第1の出力部11及び第2の出力部12は、分周設定部による設定に基づいて分周器が所定の基準クロックを分周して出力することで、それぞれ周波数が調整された第1の基準クロックCLK1及び第2の基準クロックCLK2を出力する。すなわち、1つの発振器で2つの基準クロックCLK1,CLK2を出力できる。
【0065】
第3の出力部13は、例えば、第1の出力部11及び第2の出力部12の発振器とは異なる発振器を用いて、第3の基準クロックCLK3を出力する。そのため、第1の基準クロックCLK1の周波数又は第2の基準クロックCLK2の周波数が調整されたとしても、第3の基準クロックCLK3の周波数には影響がない。第1の基準クロックCLK1又は第2の基準クロックCLK2について周波数の調整が行われても、PWM指令信号の周波数にはその影響は及ばない。換言すると、モータ駆動制御部90は、第1の基準クロックCLK1及び第2の基準クロックCLK2とは独立した、PWM制御用の第3の基準クロックCLK3に基づいて、モータ100の駆動制御を行う。
【0066】
本実施の形態において、速度誤差検出部40について、モータ100の設定回転数に応じて、速度検出用カウント値と第1の基準クロックCLK1の周波数とが設定されている。速度誤差検出部40は、モータ100の速度に応じて出力されるFG信号の周期を、速度誤差データとして出力する。
【0067】
[速度誤差検出部40の動作]
【0068】
本実施の形態において、速度誤差検出部40は、以下のようにして動作する。
【0069】
まず、速度検出用カウンタ41で第1の基準クロックCLK1がカウントされる。速度検出ラッチ回路45において、カウント出力は、FG信号の立ち上がり又は立ち下がりのタイミングでラッチされる。ここで、速度検出用カウンタ41のカウント数としては、設定回転数のカウント値にSDbitを加えたカウント数が設定されている。すなわち、第1の基準クロックCLK1は、予め設定された速度検出用カウント値にSDbitを加算した所定の範囲(第1の所定の範囲の一例)でカウントされる。
【0070】
第1のレジスタ43において、速度検出ラッチ回路45から出力されたカウント値と、予め設定された速度検出用カウント値からSDbitを減算した第1の基準カウント値とが比較され、速度誤差データが検出される。速度誤差データは、後述するように、速度検出用カウント値からSDbitを減じた値を基準とする所定の範囲で出力される。速度誤差データは、符号無しのデータとして得られる。
【0071】
速度検出用カウンタ41では、FG信号の立ち上がり又は立ち下がりのタイミングで、第1の基準クロックCLK1のカウントのリセット及び再カウントの開始が行われる。これにより、FG信号のタイミングに応じて、速度誤差データが出力される。
【0072】
速度誤差検出部40は、第1の基準クロックCLK1のカウントが第1の基準カウント値に達するまでの期間にFG信号が入力されない場合に、第1の基準クロックCLK1のカウントを停止する。
【0073】
図2は、速度誤差検出部40の動作を示すタイムチャートである。
【0074】
図2において、タイムチャートには、上段から順に、モータの回転数(Nspeed)が設定回転数よりも大きい場合のFG信号の推移、モータの回転数が設定回転数と等しいときのFG信号の推移、モータの回転数が設定回転数よりも小さい場合のFG信号の推移、及びFG信号の立ち上がりがあったときの速度誤差データの推移が示されている。
【0075】
図2の左端の時刻t0においてFG信号が立ち上がり、このとき第1の基準クロックCLK1のカウントがリセットされる。モータの回転数が設定回転数と等しい(Nspeed=設定回転数)とき、次のFG信号は、時刻t0から速度検出用カウント値だけカウントした後の時刻t2に立ち上がる。他方、モータの回転数が設定回転数よりも大きい(Nspeed>設定回転数)ときには、次のFG信号は、時刻t2よりも早い時刻t2aに立ち上がる。また、モータの回転数が設定回転数よりも小さい(Nspeed<設定回転数)ときには、次のFG信号は、時刻t2よりも遅い時刻t2bに立ち上がる。
【0076】
本実施の形態において、速度誤差データは、設定回転数カウント値からSDbitだけ減算した値をゼロとし、2SDbitまでの値を有する。ここで、SDbitは、速度検出用カウンタ41のカウント数NSbitがSDbitの2倍よりも多くなる関係(NSbit>2*SDbit)を満たすように設定されている。すなわち、SDbitは、速度検出用カウンタ41のカウント数NSbitの半分よりも小さい値に設定されている。
【0077】
図2に示すように、速度誤差データは、設定回転数カウント値に対応する時刻t2よりSDbit分だけ早い時刻t1から、時刻t2よりSDbit分だけ遅い時刻t3まで(この期間をDレンジ(区間)と呼ぶことがあり、その時間は、設定回転数カウント値に対応する時刻を中心とした2SDbit分の時間である。)に、FG信号の立ち上がりがあった場合には、そのタイミングに応じて出力される。時刻t1より早いタイミングすなわちDレンジの到来よりも早いタイミングでFG信号の立ち上がりが発生したとき、速度誤差データは、ゼロに固定される。他方、時刻t2より遅いタイミングすなわちDレンジが終了した後にFG信号の立ち上がりが発生したとき、速度誤差データは、最大値である2SDbitに固定される。すなわち、第1の基準クロックCLK1のカウントが第1の基準カウント値に達する時刻t2までの期間にFG信号が入力されない場合には、第1の基準クロックCLK1のカウントを停止されることにより、速度誤差データは、最大値である2SDbitに固定される。これにより、モータ100の回転数にかかわらず、速度誤差データの値は、FG信号がDレンジにおいて立ち上がった場合の速度誤差データの値と同範囲に収まることが保証されている。
【0078】
[位相誤差検出部60の動作]
【0079】
本実施の形態において、位相誤差検出部60は、以下のようにして動作する。
【0080】
まず、位相検出用カウンタ61で第2の基準クロックCLK2がカウントされる。位相検出ラッチ回路65において、カウント出力は、FG信号の立ち上がり又は立ち下がりのタイミングでラッチされる。ここで、位相検出用カウンタ61のカウント数としては、設定回転数のカウント値(位相検出用カウント値)と同じ値が設定されている。すなわち、第2の基準クロックCLK2は、予め設定された速度検出用カウント値に基づく所定の範囲(第2の所定の範囲の一例)でカウントされる。
【0081】
第2のレジスタ63において、位相検出ラッチ回路65から出力されたカウント値と、予め設定された位相検出用カウント値とが比較され、位相誤差データが検出される。位相検出データは、後述するように、位相検出用カウント値からPDbitを減じた値を基準とする所定の範囲で、符号付きのデータとして出力される。
【0082】
第2の基準クロックCLK2のカウント値が位相検出用カウント値に達すると、比較部77から位相検出用カウンタ61に信号が送られる。位相検出用カウンタ61は、その信号に基づいて、第2の基準クロックCLK2のカウントのリセットを行い、再カウントを開始する。
【0083】
図3は、位相誤差検出部60の動作を示すタイムチャートである。
【0084】
図3において、タイムチャートには、上段から順に、モータの位相が進んでいる場合のFG信号の推移、モータの位相が位相中心値であるときのFG信号の推移、モータの位相が遅れている場合のFG信号の推移、及びFG信号の立ち上がりがあったときの位相誤差データの推移が示されている。
【0085】
図3の左端の時刻t10において、後述するDレンジが終了するとき、すなわち位相検出用カウンタ61のカウント出力が位相検出用カウント値と等しくなったとき、第2の基準クロックCLK2のカウントがリセットされる。カウントがリセットされると、位相検出用カウンタ61は、カウントを再度開始する。
【0086】
ここで、本実施の形態において、位相検出用カウント値は、モータ100の設定回転数に対応するように設定されており、かつ、位相検出用カウント値とPDbitとは、モータの位相が位相中心値であるときに位相誤差データがゼロになるように設定されている。位相誤差データは、設定回転数に対応する位相検出用カウント値からPDbit減算した値をゼロとして、そこからプラスマイナスPDbitの区間で符号付きデータとして出力される。すなわち、位相検出用カウント値から2PDbit減算した値が−PDbitとなり、位相検出用カウント値が+PDbitとなる。ここで、PDbitは、位相検出用カウンタ61のカウント数NPbitがPDbitの2倍よりも多くなる関係(NPbit>2*PDbit)を満たすように設定されている。すなわち、PDbitは、位相検出用カウンタ6のカウント数NPbitの半分よりも小さい値に設定されている。
【0087】
モータの位相が位相中心値と等しいとき、次のFG信号は、時刻t10から、位相検出用カウント値からPDbitを減じた値だけカウントした後の時刻t12に立ち上がる。他方、モータの位相が進んでいる(AD)ときには、次のFG信号は、時刻t12よりも早い時刻t12aに立ち上がる。また、モータの位相が遅れている(DE)ときには、次のFG信号は、時刻t12よりも遅い時刻t12bに立ち上がる。
【0088】
図3に示すように、位相誤差データは、設定回転数カウント値からPDbitを減じた値に対応する時刻t12を中心(0)として、そこからプラスマイナスPDbitのレンジ(Dレンジと呼ぶことがある。)で検出される。すなわち、Dレンジは、時刻t12よりPDbitだけ早い時刻t11(−PDbit)から、時刻t12よりPDbitだけ遅い時刻t13(+PDbit)までの区間である。
【0089】
時刻t11より早いタイミングすなわちDレンジの到来よりも早いタイミングでFG信号の立ち上がりが発生したとき、位相誤差データは、ゼロに固定される。換言すると、時刻t12より遅いタイミングすなわちDレンジが終了した後にFG信号の立ち上がりが発生したとき、位相誤差データは、ゼロに固定される。これにより、モータ100の位相にかかわらず、位相誤差データの値は、FG信号がDレンジにおいて立ち上がった場合の位相誤差データの値と同範囲に収まることが保証されている。
【0090】
[基準クロック周波数による制御ゲイン及び制御範囲の設定]
【0091】
モータ制御回路1が上記のように構成されているので、本実施の形態では、速度検出用の基準クロックの周波数と位相検出用の基準クロックの周波数とを調整することによって、モータ100の制御ゲインの設定と制御範囲の設定とを行うことができる。
【0092】
図4は、基準クロックの周波数と制御ゲイン及び制御範囲との関係を説明する図である。
【0093】
図4では、基準クロックの周波数が高い場合(上方)の基準クロックのパルス波形(A1)及びそのカウントの推移(A2)と、基準クロックの周波数が低い場合(下方)の基準クロックのパルス波形(B1)及びそのカウントの推移(B2)とが比較されている。図4において、時刻t0を基準タイミングとして、その基準タイミングよりもカウント数がプラスマイナス4となる範囲について、周波数が高い場合の範囲W1と低い場合の範囲W2とを示している。
【0094】
図4を参照して、基準クロックの周波数が高い場合、基準クロックの周波数が低い場合と比較して、基準クロックの所定時間内におけるパルス数は比較的多く、カウント数が短時間で増加する。すなわち、周波数が高い場合の範囲W1と周波数が低い場合の範囲W2とを比較すると、周波数が高い場合の範囲W1は、周波数が低い場合の範囲W2よりも狭い。したがって、基準クロックの周波数が高い場合と低い場合とを比較すると、基準クロックの周波数が高い場合には、制御ゲインが高く、また、制御範囲W1が狭いといえる。他方、基準クロックの周波数が低い場合には、制御ゲインが低くなり、また、制御範囲W2が広いといえる。
【0095】
本実施の形態においては、第1の基準クロックCLK1の周波数が調整されることで、速度誤差検出部40を用いた速度系制御のゲインと範囲とが設定される。また、第2の基準クロックCLK2の周波数が調整されることで、位相誤差検出部60を用いた位相系制御のゲインと範囲とが設定される。
【0096】
なお、周波数の調整は、出力部11,12の分周設定部による分周設定を調整して行うことができ、所定の周波数の基準クロックが任意に分周されることで、周波数が調整された基準クロックが作成される。すなわち、第1の出力部11において、分周設定(速度ゲイン設定)を調整することで、第1の基準クロックCLK1の周波数を調整できる。これにより第1の基準クロックCLK1が調整されると、速度誤差検出部40から出力される速度誤差が変化し、速度系制御のゲインと範囲とが設定される。また、第2の出力部12において、分周設定(位相ゲイン設定)を調整することで、第2の基準クロックCLK2の周波数を調整できる。これにより第2の基準クロックCLK2が調整されると、位相誤差検出部60から出力される位相誤差が変化し、位相系制御のゲインと範囲とが設定される。
【0097】
[第1の実施の形態における効果]
【0098】
第1の実施の形態では、第1の基準クロックCLK1の周波数及び第2の基準クロックCLK2の周波数が調整されて、モータ100の駆動ゲインの調整が可能である。すなわち、PWMデューティカウント用にPWM信号生成回路91に入力される第3の基準クロックCLK3の周波数が維持された状態(固定された状態)で、駆動ゲインの調整が可能である。
【0099】
図5は、第1の実施の形態における効果を説明する図である。
【0100】
図5において、横軸は速度偏差を示し、縦軸は速度検出用カウンタ41のカウント数を示す。横軸について、図5において右方向に速度偏差が増加する方向は、モータの回転速度が遅くなる方向に対応している。横軸と縦軸との交点は、速度偏差がゼロである状態、すなわち回転速度が設定回転数に一致している状態を示す。X−Y座標上に描かれた直線の傾斜は、PWM駆動の制御ゲインを表している。直線の傾斜が大きいほど、速度偏差の変化に対して速度検出用カウンタ41のカウント数の変化が大きくなる。すなわち、直線の傾斜が大きいほど、制御ゲインが大きくなる。
【0101】
上記のように、速度系の制御ゲインは、第1の基準クロックCLK1の周波数の調整により設定できる。速度誤差とデューティ比との関係が図5に直線A0で示す関係であるときを基準として、PWM1の基準クロックCLK1の周波数がアップすると、速度誤差とデューティ比との関係が図5に直線A1で示す関係に変化する。このとき、あるデューティ比Yに対応する速度誤差は、第1の基準クロックCLK1の周波数のアップ前後で、S0からS0より小さいS1へと変化する。他方、第1の基準クロックCLK1の周波数がダウンすると、速度誤差とデューティ比との関係が図5に直線A2で示す関係に変化する。このとき、あるデューティ比Yに対応する速度誤差は、第1の基準クロックCLK1の周波数のダウン前後で、S0からS0より大きいS2へと変化する。すなわち、第1の基準クロックCLK1の周波数がアップすると、駆動制御ゲイン(速度ゲイン)がアップし、第1の基準クロックCLK1の周波数がダウンすると、駆動制御ゲインがダウンする。
【0102】
このように、第1の実施の形態では、第3の基準クロックCLK3の周波数を固定することにより、PWMデューティ100%までの制御レンジを確保したままで、速度系の制御ゲインを調整可能である。また、位相系の制御ゲインに関しても、速度系の制御ゲインと同様の効果を得られる。すなわち、位相系の制御ゲインも、第2の基準クロックCLK2の周波数を第3の基準クロックCLK3の周波数とは独立して、第3の基準クロックCLK3の周波数を固定したままで調整することにより、調整可能である。したがって、PWMデューティ100%までの制御レンジを確保したままで、位相系の制御ゲインを調整可能である。
【0103】
したがって、速度検出用カウンタ21の第1の基準クロックCLK1の周波数と位相検出用カウンタ61の第2の基準クロックCLK2の周波数とを、PWMデューティカウント用の第3の基準クロックCLK3には影響を与えずに変化させることができるので、モータ制御回路1は、広範な制御レンジを確保した状態で、モータ100の全体の制御ゲインを調整可能である。
【0104】
また、モータ制御回路1は、デジタル乗算器などのデジタルゲート数が大きくなる回路を用いることなく、簡素なデジタル回路で構成されている。したがって、モータ制御回路1の製造コストを低く抑えることができる。モータ制御回路1は、外付けのアナログ部品も用いず、IC化できる回路である。
【0105】
[第2の実施の形態]
【0106】
第2の実施の形態におけるモータ制御回路の基本的な構成は、第1の実施の形態におけるそれと同じであるためここでの説明を繰り返さない。第2の実施の形態においては、位相誤差検出部の構成が第1の実施の形態のそれとは異なる。第2の実施の形態にかかるモータ制御回路は、第1のモータ制御回路にかかるモータ制御回路において、その位相誤差検出部を以下に説明する位相誤差検出部と入れ替えたものである。
【0107】
図6は、第2の実施の形態におけるモータ制御回路1の位相誤差検出部260の一部の構成を示す図である。
【0108】
図6を参照して、位相誤差検出部(位相誤差検出手段の一例)260は、位相検出用カウンタ(位相検出用Nbitカウンタ)61、カウント値設定部(位相検出用設定回転数カウント値)73、比較部77を有している。また、位相誤差検出部260は、比較部263,269,271,273と、第1のFG周期検出用カウンタ265と、第2のFG周期検出用カウンタ267と、OR部275とを有している。なお、図6に示さないが、位相誤差検出部260は、さらに、図1に示される第1の実施の形態の位相誤差検出部60と同様に、位相検出ラッチ回路65、減算部67,69、及び位相検出用値設定部(位相検出用PDbit値)71を有している。すなわち、図6には、位相誤差検出部260の一部の構成が示されている。
【0109】
第2の出力部(図6において第2の基準クロックと示している。)からの第2の基準クロックCLK2は、位相検出用カウンタ61に入力される。速度検出部(図2においてFG信号と示している。)20からのFG信号は、第1のFG周期検出用カウンタ265と、第2のFG周期検出用カウンタ267とに入力される。また、FG信号は、第1の実施の形態と同様に、位相検出ラッチ回路65に入力され、位相検出ラッチ回路65ではFG信号に応じてカウント出力をラッチする。
【0110】
第1のFG周期検出用カウンタ265は、FG信号をカウントし、比較部269に出力する。第1のFG周期検出用カウンタ265には、比較部77からの信号が入力される。第1のFG周期検出用カウンタ265は、比較部77からの信号が入力されたとき、カウント値をリセットし、再度カウントを開始する。第1のFG周期検出用カウンタ265は、「短いFG周期」について、下記のように検出するために設けられている。
【0111】
第2のFG周期検出用カウンタ267には、比較部77からの信号が入力される。第2のFG周期検出用カウンタ267は、比較部77からの信号をカウントし、比較部271に出力する。第2のFG周期検出用カウンタ267は、FG信号が入力されたとき、カウント値をリセットし、再度カウントを開始する。第2のFG周期検出用カウンタ267は、「長いFG周期」について、下記のように検出するために設けられている。
【0112】
比較部273は、比較部269,271に、値を出力する。第2の実施の形態では、比較部273は、「2」を出力する。比較部269,271は、それぞれ、第1のFG周期検出用カウンタ265又は第2のFG周期検出用カウンタ267から入力されたカウント値と、比較部273から入力された値とを比較して、両者が一致するとき、信号を出力する。
【0113】
OR部275には、比較部269,271のそれぞれからの信号が入力される。OR部275は、比較部269,271のいずれかから信号が入力されたとき、位相検出用カウンタ61にカウント停止信号を出力する。
【0114】
位相検出用カウンタ61には、比較部77からの信号の他に、OR部275からのカウント停止信号が入力される。位相検出用カウンタ61は、比較部77からの信号が入力されると、第2の基準クロックCLK2のカウントをリセットする。位相検出用カウンタ61は、OR部275からカウント停止信号が入力されると、第2の基準クロックCLK2のカウントを停止する。
【0115】
位相検出用カウンタ61は、このように位相誤差検出部260が構成されていることにより、設定回転数のカウント値である位相検出用カウント値に相当する周期(以下、カウンタ周期と称することがある)とFG信号の周期(以下、FG周期と称することがある)とが異なるときは、カウントを停止する。すなわち、FG周期がカウンタ周期より長い第1の場合、又はFG周期がカウンタ周期よりも短い第2の場合において、位相検出用カウンタ61のカウントは停止される。
【0116】
FG周期がカウンタ周期よりも長い第1の場合においては、位相検出用カウンタ61のリセットが2回発生するまでの期間(第1の期間の一例)にFG信号がこないとき、そのままカウントを継続すれば、それ以降の位相誤差データが最大値から最小値に反転してしまう。第2の実施の形態において、第1の場合において、位相検出用カウンタ61のリセットが2回発生するまでにFG信号がこないとき、すなわち第2のFG周期検出用カウンタ267で位相検出用カウンタ61がリセットされたことが2回カウントされるとき、位相検出用カウンタ61が停止される。換言すると、第1の場合には、位相検出用カウンタ61による第2の基準クロックCLK2のカウントが開始されてから、そのカウント値が位相検出用カウント値に達して第2の基準クロックCLK2のカウントがリセットされるまでの手順が2回実施される期間にFG信号が到来しないとき、位相検出用カウンタ61のカウントが停止される。また、このとき、カウント値が維持されることにより、位相誤差データが最大値に保持される。これにより、加算回路80が出力するトルク指令データが最大値になり、モータ100を加速させる制御が行われ、モータ100の回転数を確実に設定回転数に近づけることができる。
【0117】
図7は、FG周期がカウンタ周期より長い第1の場合における位相誤差検出部260の動作を示すタイムチャートである。
【0118】
上記動作の一例について、図7を参照して説明する。すなわち、第1の場合には、FG周期(例えば、時刻t26から時刻t27まで)がカウンタ周期(例えば、時刻t26aから時刻t27aまで)よりも長いので、時刻t21から時刻t27まで継続して、FG信号が到来するたびに、位相誤差が順次大きくなっていく。しかしながら、時刻t26後の時刻t26aにおいてカウンタ値がリセットされてから、時刻t27以前の時刻t27aにおいて再度カウンタ値がリセットされるため(2回目のリセットが発生するため)、カウントが継続される場合、時刻t27以降は、それ以前よりも位相誤差が小さくなってしまう。第2の実施の形態においては、時刻t26にFG信号が到来してから、時刻t27aにおいて位相検出用カウンタ61のカウントが再度位相検出用カウント値に達したとき、カウント停止信号がOR部275から位相検出用カウンタ61に送られ、カウントが停止される。このとき、カウント値は、位相誤差データが最大値に保持されるように維持される。したがって、この場合、時刻t27以降の時刻t28,t29,…に出力される位相誤差データは、図7において太い破線で示されるように、最大値に保持される。
【0119】
FG周期がカウンタ周期よりも短い第2の場合においては、FG信号が2回発生するまでの期間(第2の期間の一例)に位相検出用カウンタ61のリセットが発生しないとき、そのままカウントを継続すれば、それ以降の位相誤差データが最小値から最大値に反転してしまう。第2の実施の形態において、第2の場合において、FG信号が2回発生するまでに位相検出用カウンタ61のリセットが発生しないとき、すなわち第1のFG周期検出用カウンタ265においてFG信号が2回カウントされるとき、位相検出用カウンタ61が停止される。換言すると、第2の場合には、FG信号が2回連続して入力されるまでの期間に、位相検出用カウンタ61による第2の基準クロックCLK2のカウントが開始されてから、そのカウント値が位相検出用カウント値に達して第2の基準クロックCLK2のカウントがリセットされるまでの手順が1回も実施されていないとき、位相検出用カウンタ61のカウントが停止される。また、このとき、カウント値が維持されることにより、位相誤差データが最小値に保持される。これにより、加算回路80が出力するトルク指令データが最小値になり、モータ100を減速させる制御が行われ、モータ100の回転数を確実に設定回転数に近づけることができる。
【0120】
図8は、FG周期がカウンタ周期より短い第2の場合における位相誤差検出部260の動作を示すタイムチャートである。
【0121】
上記動作の一例について、図8を参照して説明する。すなわち、第2の場合には、FG周期(例えば、時刻t24から時刻t25まで)がカウンタ周期(例えば、時刻t24aから時刻t25aまで)よりも短いので、時刻t21から時刻t25まで継続して、FG信号が到来するたびに、位相誤差が順次小さくなっていく。しかしながら、FG信号が到来する時刻t24より前の時刻t24aにおいてカウンタ値がリセットされてから、再度カウンタ値がリセットされるのは、次にFG信号が到来する時刻t25より後の時刻t25aになるため、その間に2回のFG信号が到来することになる。このとき、カウントが継続される場合、時刻t25以降は、それ以前よりも位相誤差が大きくなってしまう。第2の実施の形態においては、時刻t24aに位相検出用カウンタ61のカウントが位相検出用カウント値に達してカウンタ値がリセットされてから、時刻t25において2回目のFG信号が到来したとき、カウント停止信号がOR部275から位相検出用カウンタ61に送られ、カウントが停止される。このとき、カウント値は、位相誤差データが最小値に保持されるように維持される。したがって、この場合、時刻t25以降の時刻t26,t27,…に出力される位相誤差データは、図8において太い破線で示されるように、最小値に保持される。
【0122】
[第2の実施の形態における効果]
【0123】
第2の実施の形態では、モータ制御回路1は、第1の基準クロックCLK1の周波数及び第2の基準クロックCLK2の周波数に関し、上述の第1の実施の形態と略同様に動作するので、第1の実施の形態と同様の効果を得ることができる。
【0124】
ここで、位相検出用カウンタ61は、自走式のカウンタであるため製造コストが比較的低いものであるが、リセットされなければカウントを続行する場合があるなどのデメリットを有している。しかしながら、第2の実施の形態では、所定の場合に位相検出用カウンタ61のカウントが停止されるので、このようなデメリットを解消できる。例えば、FG周期が短いことを検出するために速度誤差データがSDbitより小さく、位相誤差データがPDbit/2以上のデータ変化を起こすような、位相ロックから外れる状態が発生したときなどに、位相検出用カウンタ61を停止させることができる。
【0125】
[その他]
【0126】
比較部や加算部などの配置は上記に限られるものではなく、モータ制御回路としては、上記実施の形態におけるモータ制御回路と同様に動作可能なデジタル回路を有するものであればよい。
【0127】
第1の出力部、第2の出力部、及び第3の出力部のそれぞれが、1つの発振器から出力される所定の基準クロックに基づいて、第1〜3の基準クロックを出力可能に構成されていてもよい。この場合、発振器の数をより減らすことができる。第1の出力部と第3の出力部と、又は第2の出力部と第3の出力部とが、発振器を他方の出力部と共用して、基準クロックを出力可能に構成されていてもよい。また、第1の出力部、第2の出力部、及び第3の出力部は、それぞれ、互いに異なる発振器から出力される基準クロックに基づいて、第1〜3の基準クロックを出力可能に構成されていてもよい。第3の基準クロックが第1の基準クロック又は第2の基準クロック或いは第1の基準クロックと第2の基準クロックの両者の影響を受けないように構成されていればよい。
【0128】
上記の実施の形態では、位相検出用カウント値と第2の基準カウント値とは同一の値であるが、これらは互いに異なってもよい。すなわち、位相誤差検出部において位相検出用カウンタに信号を出力する比較部には、位相検出用カウント値とは別の第2の基準カウント値が入力されてもよい。例えば、位相誤差検出部にカウント値設定部とは異なるカウント値出力部を設け、カウント値設定部が減算部に位相検出用カウント値を出力し、カウント値出力部が第2の基準カウント値を比較部に出力するようにしてもよい。
【0129】
第2の実施の形態において、位相検出用カウンタのカウントが停止されるとき、位相誤差データとしては、所定値が出力されるようにしてもよい。例えば、所定値として、ゼロを出力するようにしてもよい。また、位相検出用カウンタのカウントが停止されるとき、位相誤差データとしては、直前に出力されているデータが継続して出力されるようにしてもよい。
【0130】
第2の実施の形態において、上記第1の場合及び第2の場合には、位相検出用カウンタのカウントの停止が行われるだけで、位相誤差データを最大値又は最小値にさせる制御が行われなくてもよい。また、第1のFG周期検出用カウンタ及びそのカウント値が入力される比較部と、第2のFG周期検出用カウンタ及びそのカウント値が入力される比較部とのいずれかが設けられていなくてもよい。このようにモータ制御回路が構成されていても、上記第1の場合及び第2の場合のいずれか一方の場合において、位相検出用カウンタを停止させることができる。
【0131】
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0132】
1 モータ制御回路
11 第1の出力部(第1の出力手段の一例)
12 第2の出力部(第2の出力手段の一例)
13 第3の出力部(第3の出力手段の一例)
20 速度検出部(速度検出手段の一例)
30 トルク指令データ生成部(生成手段の一例)
40 速度誤差検出部(速度誤差検出手段の一例)
41 速度検出用カウンタ(第1のカウンタの一例)
45 速度検出ラッチ回路(第1のラッチ回路の一例)
51 速度検出用値設定部(第1の設定部の一例)
53 カウント値設定部(第1の設定部の一例)
60,260 位相誤差検出部(位相誤差検出手段の一例)
61 位相検出用カウンタ(第2のカウンタの一例)
65 位相検出ラッチ回路(第2のラッチ回路の一例)
71 位相検出用値設定部(第2の設定部の一例)
73 カウント値設定部(第2の設定部の一例)
80 加算回路(加算手段の一例)
90 モータ駆動制御部(モータ駆動制御手段の一例)
91 PWM信号生成回路
92 モータ駆動回路
100 モータ
CLK1 第1の基準クロック
CLK2 第2の基準クロック
CLK3 第3の基準クロック
PDbit 第2の値の一例
SDbit 第1の値の一例

【特許請求の範囲】
【請求項1】
モータの回転速度に対応した周波数の速度パルスを検出する速度検出手段と、
前記速度検出手段により検出された速度パルスに基づいて、トルク指令データを生成する生成手段と、
前記生成手段により生成されたトルク指令データに応じてPWM指令信号を生成し、前記モータの駆動を制御するモータ駆動制御手段と、
第1の基準クロックを出力する第1の出力手段と、
第2の基準クロックを出力する第2の出力手段とを備え、
前記生成手段は、
速度誤差データを検出する速度誤差検出手段と、
位相誤差データを検出する位相誤差検出手段と、
前記速度誤差検出手段で検出された速度誤差データと前記位相誤差検出手段で検出された位相誤差データとを加算してトルク指令データを出力する加算手段とを有し、
前記速度誤差検出手段は、
前記第1の出力手段から出力された第1の基準クロックをカウントする第1のカウンタと、
前記第1のカウンタのカウント値を前記速度パルスでラッチする第1のラッチ回路と、
速度誤差検出範囲に関する設定を行う第1の設定部とを有し、
前記第1のラッチ回路でラッチされたカウント値と前記第1の設定部の設定内容とに基づいて前記速度誤差データを検出し、
前記位相誤差検出手段は、
前記第2の出力手段から出力された第2の基準クロックをカウントする第2のカウンタと、
前記第2のカウンタのカウント値を前記速度パルスでラッチする第2のラッチ回路と、
位相誤差検出範囲に関する設定を行う第2の設定部とを有し、
前記第2のラッチ回路でラッチされたカウント値と前記第2の設定部の設定内容とに基づいて前記位相誤差データを検出する、モータ制御回路。
【請求項2】
前記速度誤差検出手段は、
前記第1の基準クロックを第1の所定の範囲でカウントし、前記速度パルスの立ち上がり又は立ち下がりのタイミングでラッチしたカウント値と、予め設定された速度検出用カウント値から所定の第1の値を減じた第1の基準カウント値と、を比較して前記速度誤差データを検出するとともに、前記速度検出用カウント値から前記第1の値を減じた値を基準とする前記第1の設定部により設定された範囲で前記速度誤差データを出力し、
前記速度パルスの立ち上がり又は立ち下がりのタイミングで、前記第1の基準クロックのカウントのリセット及び再カウントの開始を行う、請求項1に記載のモータ制御回路。
【請求項3】
前記速度誤差検出手段は、前記第1の基準クロックのカウントが前記第1の基準カウント値に達するまでの期間に前記速度パルスが入力されない場合に、前記第1の基準クロックのカウントを停止する、請求項2に記載のモータ制御回路。
【請求項4】
前記第1のカウンタのカウント数は、前記第1の値の2倍より大きい、請求項2又は3に記載のモータ制御回路。
【請求項5】
前記位相誤差検出手段は、
前記第2の基準クロックを第2の所定の範囲でカウントし、前記速度パルスの立ち上がり又は立ち下がりのタイミングでラッチしたカウント値と、予め設定された位相検出用カウント値と、を比較して前記位相誤差データを検出するとともに、前記位相検出用カウント値から所定の第2の値を減じた値を基準とする前記第2の設定部により設定された範囲で符号付きの前記位相誤差データを出力し、
前記第2の基準クロックのカウント値が位相検出用の第2の基準カウント値に達すると、前記第2の基準クロックのカウントのリセット及び再カウントの開始を行う、請求項1から4のいずれかに記載のモータ制御回路。
【請求項6】
前記位相誤差検出手段は、前記位相検出用カウント値に相当する周期よりも前記速度パルスの周期が長い場合又は短い場合に、前記第2の基準クロックのカウントを停止する、請求項5に記載のモータ制御回路。
【請求項7】
前記第2のカウンタのカウント数は、前記第2の値の2倍よりも大きい、請求項5又は6に記載のモータ制御回路。
【請求項8】
前記位相誤差検出手段は、第1の期間内に前記速度パルスが入力されない第1の場合には、前記第2の基準クロックのカウントを停止し、
前記第1の期間は、前記第2の基準クロックのカウントが開始されてから前記第2の基準クロックのカウント値が前記第2の基準カウント値に達することで前記第2の基準クロックのカウントがリセットされることが2回発生する期間である、請求項5から7のいずれかに記載のモータ制御回路。
【請求項9】
前記位相誤差検出手段は、前記第1の場合には、第2の基準クロックのカウントを停止するとともに、前記加算手段が出力するトルク指令データを最大値とする、請求項8に記載のモータ制御回路。
【請求項10】
前記位相誤差検出手段は、前記速度パルスが2回入力されない期間に、前記第2の基準クロックのカウントが開始されてから前記第2の基準クロックのカウント値が前記第2の基準カウント値に達することで前記第2の基準クロックのカウントがリセットされることが1回も発生しない第2の場合には、前記第2の基準クロックのカウントを停止する、請求項5から9のいずれかに記載のモータ制御回路。
【請求項11】
前記位相誤差検出手段は、前記第2の場合には、第2の基準クロックのカウントを停止するとともに、前記加算手段が出力するトルク指令データを最小値とする、請求項10に記載のモータ制御回路。
【請求項12】
前記第1の出力手段は、前記第1の基準クロックの周波数を調整可能に構成されており、
前記第1の基準クロックの周波数が調整されることで、前記速度誤差検出手段を用いた速度系制御のゲインと範囲とが設定される、請求項1から11のいずれかに記載のモータ制御回路。
【請求項13】
前記第2の出力手段は、前記第2の基準クロックの周波数を調整可能に構成されており、
前記第2の基準クロックの周波数が調整されることで、前記位相誤差検出手段を用いた位相系制御のゲインと範囲とが設定される、請求項1から12のいずれかに記載のモータ制御回路。
【請求項14】
前記モータ駆動制御手段は、前記第1の基準クロック及び前記第2の基準クロックとは独立した、PWM制御用の第3の基準クロックに基づいて、前記モータの駆動制御を行う、請求項1から13のいずれかに記載のモータ制御回路。
【請求項15】
前記モータ駆動制御手段は、
前記加算手段から出力されたトルク指令データに応じて前記PWM指令信号を生成するPWM信号生成回路と、
前記PWM信号生成回路で生成されたPWM指令信号に応じて、モータを駆動するモータ駆動回路とを有する、請求項1から14のいずれかに記載のモータ制御回路。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate