以下、本発明に係る速度検出回路を例えばDCブラシレスモータに適用した実施の形態例を図1〜図12Bを参照しながら説明する。
先ず、本実施の形態に係る速度検出回路が適用されるDCブラシレスサーボモータ(以下、モータ10と記す)は、図1に示すように、ロータ12と、ステータ14とを有するインナーロータ型のモータ10である。
ロータ12は、円筒状の筐体16と、該筐体16の中心に軸方向に延びるロータ軸18とを有する。図2に示すように、筐体16の内部には、該筐体16の内壁に沿って永久磁石20が配置され、例えば8極のモータ10として構成されている。ロータ12のうち、ステータ14に対向する部分に検出磁石22が設置されている。永久磁石20はロータ12を回転させるために設置され、検出磁石22はロータ12の速度検出のために設置されている。
また、検出磁石22は、モータ10の磁極位置に対応するようにN極及びS極を交互に配列して着磁されている。従って、検出磁石22は、N極とS極との境界について、8つの境界(第1境界24a〜第8境界24h)を有する。
一方、ステータ14は、図3に示すように、12個のスロット(第1スロット26a〜第12スロット26l)が円周に沿って等間隔に、且つ、例えば時計回りに第1スロット26a、第2スロット26b、第3スロット26c・・・という順番で配列されている。このうち、第1スロット26a、第4スロット26d、第7スロット26g及び第10スロット26jには第1相巻線が巻回され、第2スロット26b、第5スロット26e、第8スロット26h及び第11スロット26kには第2相巻線が巻回され、第3スロット26c、第6スロット26f、第9スロット26i及び第12スロット26lには第3相巻線が巻回されている。
また、ステータ14は、その中央に、ロータ軸18の端部が挿入される穴部28が設けられ、該穴部28の周囲に該穴部28を囲むように例えば平面コ字状の取付板30が設置されている。また、穴部28の周囲には、第1相巻線のための第1結線端子部32a、第2相巻線のための第2結線端子部32b及び第3相巻線のための第3結線端子部32cが設けられている。
取付板30のうち、ロータ12の検出磁石22に対向する面(例えば上面)には、6つの磁気センサ(第1磁気センサ34a〜第6磁気センサ34f)が配置されている。
具体的には、穴部28の中心位置を通り、且つ、第5スロット26eと第11スロット26kの各中心を通る基準線mを考えたとき、取付板30の上面のうち、基準線m上であって、且つ、第5スロット26e側の位置に第1磁気センサ34aが設置され、この第1磁気センサ34aから穴部28の円周に沿って例えば時計方向に30°離間した位置に第2磁気センサ34bが設置され、この第2磁気センサ34bから穴部28の円周に沿って30°離間した位置に第3磁気センサ34cが設置されている。
同様に、取付板30の上面のうち、基準線m上であって、且つ、第11スロット26k側の位置に第4磁気センサ34dが設置され、この第4磁気センサ34dから穴部28の円周に沿って例えば反時計方向に30°離間した位置に第5磁気センサ34eが設置され、この第5磁気センサ34eから穴部28の円周に沿って30°離間した位置に第6磁気センサ34fが設置されている。
第1磁気センサ34a〜第6磁気センサ34fのうち、第1磁気センサ34a〜第3磁気センサ34cは、ロータ12の正転速度を検出するためのものであり、第1磁気センサ34aが第1相に対応し、第2磁気センサ34bが第2相に対応し、第3磁気センサ34cが第3相に対応する。従って、上述の配列を言い換えれば、第1磁気センサ34a〜第3磁気センサ34cは、ロータ12の正転方向に沿って第1磁気センサ34a、第2磁気センサ34b、第3磁気センサ34cの順番で配列され、且つ、ロータ12の正転方向に沿ってそれぞれ30°離間して配置された形となっている。
同様に、第4磁気センサ34d〜第6磁気センサ34fは、ロータ12の逆転速度を検出するためのものであり、第4磁気センサ34dが第1相に対応し、第5磁気センサ34eが第3相に対応し、第6磁気センサ34fが第2相に対応する。従って、上述の配列を言い換えれば、第4磁気センサ34d〜第6磁気センサ34fは、ロータ12の逆転方向に沿って第4磁気センサ34d、第5磁気センサ34e、第6磁気センサ34fの順番で配列され、且つ、ロータ12の逆転方向に沿ってそれぞれ30°離間して配置された形となっている。
また、第1磁気センサ34a〜第6磁気センサ34fは、それぞれホールICにて構成されている。ホールICは、ホール素子と論理回路とをIC化した磁気センサで、ロータ12の検出磁石22の磁極(N極又はS極)と、その磁極の強さを、ホール素子の電磁現象により検出する。従って、ロータ12が回転すると、ホール素子から磁束密度に比例したアナログ電圧信号が出力される。論理回路は、ホール素子からのアナログ電圧信号を整形して磁界の極性に対応したデジタル波形、例えばN極のとき高レベル、S極のとき低レベルのデジタル波形として出力する。本実施の形態では、例えば出力トランジスタを有するオープンコレクタ出力方式のホールICを使用している。
そして、本実施の形態に係る速度検出回路50は、図4に示すように、磁気検出回路52と、ロータ位置検出回路54と、パルス生成回路56と、CPU58とを有する。CPU58は、少なくともソフトウェアとしてのロータ位置検出手段60と、ロータ速度検出手段62が動作するようになっている。
磁気検出回路52は、第1磁気センサ34a〜第3磁気センサ34cを含む第1磁気センサ部64aと、第4磁気センサ34d〜第6磁気センサ34fを含む第2磁気センサ部64bとを有する。
ロータ位置検出回路54は、磁気検出回路52からのデジタル波形、すなわち、第1磁気センサ部64aからの3相の第1デジタル波形及び第2磁気センサ部64bからの3相の第2デジタル波形を安定化させるプルアップ抵抗66と、高周波成分(ノイズ)を抑圧するノイズフィルタ68(ローパスフィルタ)と、シュミットトリガ機能を有し、且つ、ノイズフィルタ68でなまった波形をパルス波形に整形する波形整形回路70と、CPU58からのロータ12の正転又は逆転を示す制御信号Scに基づいて、3相の第1デジタル波形又は3相の第2デジタル波形を切り替え選択し、3相のロータ位置検出パルスSa(第1相のロータ位置検出パルスSa1〜第3相のロータ位置検出パルスSa3)として出力する選択回路72とを有する。
パルス生成回路56は、選択回路72からの3相のロータ位置検出パルスSaの各立ち上がり及び各立ち下がりがそれぞれ反映された一連のパルス信号を生成する回路である。すなわち、パルス生成回路56は、選択回路72からの3相のロータ位置検出パルスSaのうち、第1相のロータ位置検出パルスSa1と第2相のロータ位置検出パルスSa2との排他的論理和を出力する第1論理回路74と、第3相のロータ位置検出パルスSa3と第1論理回路74の出力との排他的論理和をロータ速度検出パルスSbとして出力する第2論理回路76とを有する。
CPU58で動作するロータ位置検出手段60は、選択回路72からの3相のロータ位置検出パルスSaに基づいてロータ12の位置を検出し、CPU58で動作するロータ速度検出手段62は、パルス生成回路56からのロータ速度検出パルスSbに基づいてロータ12の回転速度(正転速度又は逆転速度)を検出する。また、CPU58は、生成された速度指令値あるいは外部からの速度指令値が示す回転速度となるように、検出した回転速度に基づいてモータ10の回転駆動を制御する。なお、図4において、モータ10の制御系統の図示を省略する。
なお、例えばロータ12の正転時のロータ位置及び正転速度のみを検出する場合は、図5に示す変形例に係る速度検出回路50aを用いることができる。
この変形例に係る速度検出回路50aは、ロータ12の逆転に関する第2磁気センサ部64b(第4磁気センサ34d〜第6磁気センサ34f)が省略されることから、それに応じて、プルアップ抵抗66の構成要素、ノイズフィルタ68の構成要素、波形整形回路70の構成要素をそれぞれ一部省略し、さらに、選択回路72を省略すればよい。
ここで、本実施の形態に係る速度検出回路50において、1つの磁気センサ、例えば第1磁気センサ34aから出力されるデジタル波形の信号処理について図6A〜図6Cを参照しながら説明する。
ロータ12の例えば正転に伴って第1磁気センサ34aと対向する磁極が例えばN極→S極→N極→S極というように順番に変わっていくことから、第1磁気センサ34aの出力トランジスタは、例えばN極と対向する期間においてOFF、S極と対向する期間においてONとされる。
第1磁気センサ34aの出力にはプルアップ抵抗66が接続されているため、出力トランジスタがOFFのときには、出力電圧が電源電圧Vcc近くまで引き上げられることになる。従って、第1磁気センサ34aの出力は、図6Aに示すように、第1磁気センサ34aと例えばN極とが対向する期間において確実に高レベルとなり、S極と対向する期間において確実に低レベルとなる。
第1磁気センサ34aの出力は、後段のノイズフィルタ68によって高周波成分(ノイズ)が抑圧される。しかし、第1磁気センサ34aの出力波形は、図6Bに示すように、立ち上がり及び立ち下がりがノイズフィルタ68の時定数に対応してなまった一次遅れ波形となる。
ノイズフィルタ68によって立ち上がりと立ち下がりがなまった第1磁気センサ34aの出力は、後段の波形整形回路70のシュミットトリガ機能によって、パルス波形に整形される。具体的には、波形整形回路70は、ノイズフィルタ68の出力(出力電圧)が第1閾値電圧Vtp以上となった時点で低レベルとし、第2閾値電圧Vtn(<Vtp)以下となった時点で高レベルにする。なお、この波形整形回路70では、チャタリング防止も行っている。
一方、選択回路72は、波形整形回路70から出力される第1磁気センサ部64aに対応した3相の第1デジタル波形と第2磁気センサ部64bに対応する3相の第2デジタル波形を、CPU58で動作するロータ位置検出手段60からのロータ12の正転又は逆転を示す制御信号Scに基づいて、切り替え選択して、3相のロータ位置検出パルスSaとして出力する。ロータ12が正転しているときの3相のロータ位置検出パルスSaの例を図7Aに示す。
3相のロータ位置検出パルスSaは、ロータ12の正転又は逆転を検出し、さらに、ロータ12の磁極の位置を検出するために用いられる。もちろん、ロータ1回転につき、4周期のタイミング(パルス周期Ta)でロータ12の速度を検出することができるが、検出精度は低い。
また、パルス生成回路56では、第1論理回路74から第1相のロータ位置検出パルスSa1と第2相のロータ位置検出パルスSa2との排他的論理和が出力され、第2論理回路76から第3相のロータ位置検出パルスSa3と第1論理回路74の出力との排他的論理和が出力される。すなわち、3入力の排他的論理和機能によってロータ速度検出パルスSbを生成している。
パルス生成回路56の真理値表を図8に示す。この真理値表の中で、第1相のロータ位置検出パルスSa1〜第3相のロータ位置検出パルスSa3全てが「0」又は「1」の場合は、ハーネスの断線やショートによる異常出力であり、CPU58によって、モータ停止等のエラー処理が行われる。
そして、本実施の形態に係る速度検出回路50では、パルス生成回路56からの出力に基づいてロータ12の回転速度(正転速度及び逆転速度)を検出する。パルス生成回路56から出力されるロータ速度検出パルスSbのパルス周期は、ロータ位置検出パルスSaのパルス周期Taの1/3であるため、パルス生成回路56から出力されるロータ速度検出パルスSbに基づいてロータ12の速度を検出することによって、3相のロータ位置検出パルスSaを用いた場合よりも、検出精度を高めることができる。
検出タイミングとしては、第1の手法として、パルス波形が変化するタイミング、すなわち、立ち下がりから次の立ち上がりまでの期間、立ち上がりから次の立ち下がりまでの期間をそれぞれ速度検出周期とすることが考えられる。この場合、ロータ12が1回転する間に、24個の速度検出周期が到来するため、高精度にロータ12の速度を検出することができる。
ただ、各速度検出期間の開始時点は、様々な誤差成分によって影響を受けている場合が多い。誤差成分としては、検出磁石誤差、磁気センサ誤差、ノイズフィルタ誤差、CPU誤差等がある。
検出磁石誤差は、検出磁石22の着磁範囲の誤差やロータ12に対する取付誤差を含み、理想的な第1境界24a〜第8境界24hに対する実際の第1境界24a〜第8境界24hの配置誤差成分を指す。磁気センサ誤差は、ロータ12の正転速度を検出する場合は、第1磁気センサ34a〜第3磁気センサ34cの読取誤差やステータ14に対する取付誤差を含み、ロータ12の逆転速度を検出する場合は、第4磁気センサ34d〜第6磁気センサ34fの読取誤差やステータ14に対する取付誤差を含む。ノイズフィルタ誤差は、回路素子の回路定数のばらつき等に起因する時定数誤差を含む。CPU誤差は、アナログ信号をデジタル信号に変換する際の量子化誤差等を含む。この中で、CPU誤差は、CPU58自体の性能に依存するため、上述した誤差成分から除外する。
時定数誤差は、図6Bに示すように、ノイズフィルタ68の出力波形がCR時定数による一次遅れ波形となることによって生じる。
すなわち、後段の波形整形回路70から出力されるパルス波形(図6C参照)は、理想的には、その立ち下がり時点が、ノイズフィルタ68の出力波形(図6B参照)の立ち上がり時点とほぼ同時となり、立ち上がり時点が、ノイズフィルタ68の出力波形の立ち下がり時点とほぼ同時になることである。
しかし、ノイズフィルタ68の出力波形が一次遅れ波形であることから、波形整形回路70の出力波形の立ち下がり時点は、ノイズフィルタ68の出力波形の立ち上がり時点からノイズフィルタ68の出力(出力電圧)が第1閾値電圧Vtp以上となった時点までの時間だけ遅れ、この遅れ時間Δt1が時定数誤差となる。
なお、波形整形回路70の出力波形の立ち上がり時点は、ノイズフィルタ68の出力波形の立ち下がり時点からノイズフィルタ68の出力(出力電圧)が第2閾値電圧Vtn以下となった時点までの時間だけ遅れることになるが、この遅れ時間Δt2は無視できる程度に短い。そのため、波形整形回路70の出力波形のうち、立ち上がり時点に時定数誤差は存在しないものとして扱うことができる。
このことから、図9Aに示すように、3相のロータ位置検出パルスSaのうち、各立ち下がりは、ノイズフィルタ誤差による影響を受けていることになる。
検出磁石誤差は、上述したように、検出磁石22の着磁範囲の誤差や取付誤差を含むため、各磁気センサが磁極の変化を検出した時点で検出磁石誤差の影響を受けることになる。すなわち、3相のロータ位置検出パルスSaのうち、各立ち下がり及び各立ち上がりは、検出磁石誤差による影響を受けていることになる。
具体的には、第1磁気センサ34aを基準位置としたとき、例えば第1相のロータ位置検出パルスSa1のうち、基準位置から最初の立ち下がりは、検出磁石22における第1境界24aの位置誤差(第1検出磁石誤差)による影響を受け、次の最初の立ち上がりは、検出磁石22における第2境界24bの位置誤差(第2検出磁石誤差)による影響を受け、次の2回目の立ち下がりは、検出磁石22における第3境界24cの位置誤差(第3検出磁石誤差)による影響を受け、次の第2回目の立ち上がりは、検出磁石22における第4境界24dの位置誤差(第4検出磁石誤差)による影響を受け、次の第3回目の立ち下がりは、検出磁石22における第5境界24eの位置誤差(第5検出磁石誤差)による影響を受け、次の第3回目の立ち上がりは、検出磁石22における第6境界24fの位置誤差(第6検出磁石誤差)による影響を受け、次の第4回目の立ち下がりは、検出磁石における第7境界24gの位置誤差(第7検出磁石誤差)による影響を受けていることになる。これは、第2相のロータ位置検出パルスSa2及び第3相のロータ位置検出パルスSa3においても同様である。
磁気センサ誤差は、上述したように、ロータ12の正転速度を検出する場合は、第1磁気センサ34a〜第3磁気センサ34cの読取誤差やステータ14に対する取付誤差を含むことから、第1磁気センサ34aを基準としたとき、第2磁気センサ34bに対応する第2相のロータ位置検出パルスSa2の各立ち上がり及び各立ち下がりが第2磁気センサ34bに起因する磁気センサ誤差(第2磁気センサ誤差と記す)による影響を受け、第3磁気センサ34cに対応する第3相のロータ位置検出パルスSa3の各立ち上がり及び各立ち下がりが第3磁気センサ34cに起因する磁気センサ誤差(第3磁気センサ誤差と記す)による影響を受けていることになる。
従って、パルス生成回路56から出力されるロータ速度検出パルスSbは、上述した様々な誤差成分による影響を受けることになる。
例えば図9Bに示すように、時点t1ではノイズフィルタ誤差、第3磁気センサ誤差及び第7検出磁石誤差による影響を受け、時点t2では第2磁気センサ誤差による影響を受け、時点t3ではノイズフィルタ誤差と第1検出磁石誤差による影響を受け、以下同様である。
そのため、上述した第1の手法、すなわち、ロータ速度検出パルスSbの立ち下がりから次の立ち上がりまでの期間及び立ち上がりから次の立ち下がりまでの期間をそれぞれ速度検出周期としてロータ12の速度を検出すると、図9Bに示すように、時点t1〜時点t23に含まれる3相のロータ位置検出パルスSa全ての誤差成分による影響を受けることになる。
そこで、第2の手法として、ロータ速度検出パルスSbの立ち下がりから次の任意の立ち下がりまでの期間、立ち上がりから次の任意の立ち下がりまでの期間を速度検出周期としてロータ12の速度を検出することが好ましい。この場合、検出精度を上げるために、速度検出期間<ロータ位置検出パルスSaのパルス周期Taを満足することが好ましい。
例えばロータ速度検出パルスSbの立ち下がりから次の立ち下がりまでの期間(t0→t2、t2→t4、t4→t6、・・・)を速度検出周期としてロータ12の速度を検出すると、図9Cに示すように、時点t2での第2磁気センサ誤差、時点t4での第3磁気センサ誤差、時点t6での第2検出磁石誤差、時点t8での第2検出磁石誤差と第2磁気センサ誤差、時点t10での第2検出磁石誤差と第3磁気センサ誤差、時点t12での第4検出磁石誤差、時点t14での第4検出磁石誤差と第2磁気センサ誤差、時点t16での第4検出磁石誤差と第3磁気センサ誤差、時点t18での第6検出磁石誤差、時点t20での第6検出磁石誤差と第2磁気センサ誤差、時点t22での第6検出磁石誤差と第3磁気センサ誤差の影響を受けるのみであり、誤差成分による影響を最小限に抑えることができる。これは、ロータ12の速度の検出精度のさらなる向上につながる。
なお、速度検出期間として用いられるロータ速度検出パルスSbの立ち下がりから次の任意の立ち下がりまでの期間としては、上述した立ち下がりから次の立ち下がりまでの期間のほかに、立ち下がりから1つ置きの立ち下がりまでの期間(t0→t4、t4→t8、t8→t12、・・・)を採用するようにしてもよい。
また、速度検出期間として用いられるロータ速度検出パルスSbの立ち上がりから次の任意の立ち上がりまでの期間としては、立ち上がりから次の立ち上がりまでの期間(t1→t3、t3→t5、t5→t7、・・・)でもよいし、立ち上がりから1つ置きの立ち上がりまでの期間(t1→t5、t5→t9、t9→t13、・・・)を採用するようにしてもよい。
いずれにしても、誤差成分による影響が最小限になる期間を速度検出期間として採用することが好ましい。
このように、本実施の形態に係る速度検出回路50は、誤差成分による影響を最小限に抑えることができ、高精度にロータ12の速度を検出することができる。
速度制御を行うモータシステムにおいて、モータ10(ロータ12)の回転数の検出精度は極めて重要である。従って、速度制御を行うモータシステムにおけるモータ10の回転数の検出には高精度ではあるが、高価なエンコーダやレゾルバを使用することが考えられる。これに対して、本実施の形態で使用されるホールICは、安価ではあるが、分解能が低く、一般に、モータ10の回転数の検出誤差が大きいという問題がある。
しかし、本実施の形態のように、3相のロータ位置検出パルスSaに基づいてロータ速度検出パルスSbを生成するパルス生成回路56を設けることによって、高精度にロータ12の速度を検出できる。さらに、速度検出期間として、ロータ速度検出パルスSbの立ち下がりから次の任意の立ち下がりまでの期間あるいは立ち上がりから次の任意の立ち上がりまでの期間を選ぶことで、検出精度をより向上させることができる。特に、ロータ速度検出パルスSbの立ち下がりから次の立ち下がりまでの期間を速度検出期間として選ぶことで、誤差成分の影響を最小限に抑えることができ、その結果、ロータ12の速度検出精度を、ロータ位置検出パルスSaのパルス周期Taを速度検出期間とした場合の3倍向上させることができ、誤差成分を約1/10にすることができる。
これにより、磁気センサとしてホールICを用いたとしても、モータ10の速度制御を高精度に行うことができ、CPU58からの速度指令値に対してほとんど誤差なく高精度に追従させることができる。
次に、本実施の形態に係る速度検出回路50の1つの使用形態について図10〜図12Bを参照しながら説明する。
この使用形態は、図10に示すように、速度検出回路50を用いて検出磁石誤差、第2磁気センサ誤差及び第3磁気センサ誤差を検出することである。この処理は、CPU58で動作する誤差検出手段96によって行われる。
検出した検出磁石誤差は、誤差検出手段96によってメモリ98に記憶された例えば第1補正テーブル100に格納され、検出した第2磁気センサ誤差及び第3磁気センサ誤差は、メモリ98に記憶された例えば第2補正テーブル102に格納される。これら第1補正テーブル100及び第2補正テーブル102に格納された情報は、実際のモータ10の使用時において、3相のロータ位置検出パルスSaとロータ速度検出パルスSbを補正する際に利用される。
最初に、モータ10を予め設定された回転数で一定回転させた場合を想定して理想的な時間を求めておく。最適な回転数は、モータ10の完成検査後の駆動時に必ず一定速度でモータ10を回転駆動する場合があるが、その回転駆動時の回転数でモータ10を駆動する。
先ず、モータ10を予め設定された回転数で一定回転させた場合、図11Aに示すように、ロータ12が1回転する時間(1回転時間Td)が決定される。
1回転時間Tdを4等分することによって、例えば第1相のロータ位置検出パルスSa1の理想的な4つのパルス周期(1セット〜4セット)が求められ、1つのパルス周期Ta(例えば1セット)を3等分することによって、1セットにおけるロータ速度検出パルスSbの理想的な3つのパルス周期(第1時間d1〜第3時間d3)が求められる。
従って、予め設定されたロータ12の回転数をM(rpm)としたとき、
M(rpm)=M/60(r/sec)
であるから、ロータ12の1回転時間Tdは、60/M(sec/r)となり、1セット〜4セットの理想の時間(1つのパルス周期)Taは、60/(4M)(sec)となる。これが基準値となる。
そして、実際に、ロータ12を予め設定された回転数で一定回転させて、3相のロータ位置検出パルスSa及びロータ速度検出パルスSbの波形を測定する。
速度検出期間として、ロータ速度検出パルスSbの立ち下がりから次の立ち下がりまでの期間(t0→t2、t2→t4、t4→t6、・・・)を採用した場合を前提としたとき、図11Bに示すように、第2検出磁石誤差、第4検出磁石誤差、第6検出磁石誤差、第2磁気センサ誤差及び第3磁気センサ誤差の影響を受けることがわかる。
そこで、図11Aに示すように、例えば第1相のロータ位置検出パルスSa1において、第2検出磁石誤差が存在しないとした理想の場合、測定時の1セットの時間=60/(4M)となる。この場合、例えば図12Aに示すように、第1補正テーブル100のうち、第2検出磁石誤差に対応するレコード、例えば1レコード目に差分データ「0」と測定時の1セットの時間が格納される。
しかし、測定時の1セットの時間<60/(4M)である場合、第2検出磁石誤差が存在し、実際の立ち上がりタイミングが、第2検出磁石誤差によって、理想の立ち上がりタイミングよりも早くなる。従って、測定時の1セットの時間と60/(4M)との差分Δtaを、測定時の1セットの時間に加えることで、1セットの時間の補正が可能となる。この加算を示す差分データ「+Δta」と測定時の1セットの時間は、例えば第1補正テーブル100の1レコード目に格納される。
反対に、測定時の1セットの時間>60/(4M)である場合、第2検出磁石誤差が存在し、実際の立ち上がりタイミング(1セット終了時点の立ち上がりタイミング)が、第2検出磁石誤差によって、理想の立ち上がりタイミングよりも遅くなる。従って、測定時の1セットの時間と60/(4M)との差分Δtbを、測定時の1セットの時間から差し引くことで、1セットの時間の補正が可能となる。この減算を示す差分データ「−Δb」と測定時の1セットの時間は、例えば第1補正テーブル100の1レコード目に格納される。
すなわち、測定時の1セットの時間と60/(4M)との差分の取得は、第2検出磁石誤差の検出にほかならない。
同様にして、測定時の2セットの時間から第4検出磁石誤差による影響を検出することができる。
具体的には、第2検出磁石誤差が存在しない理想の場合を想定したとき、測定時の2セットの時間=測定時の1セットの時間であれば、第4検出磁石誤差は存在しないこととなる。この場合、第1補正テーブル100のうち、第4検出磁石誤差に対応するレコード、例えば2レコード目に差分データ「0」と測定時の2セットの時間が格納される。
しかし、測定時の2セットの時間<測定時の1セットの時間である場合、第4検出磁石誤差が存在し、実際の立ち上がりタイミング(2セット終了時点の立ち上がりタイミング)が、第4検出磁石誤差によって、理想の立ち上がりタイミングよりも早くなる。従って、測定時の2セットの時間と測定時の1セットの時間との差分Δtcを、測定時の2セットの時間に加えることで、2セットの時間の補正が可能となる。この加算を示す差分データ「+Δtc」と測定時の2セットの時間は、例えば第1補正テーブルの2レコード目に格納される。
反対に、測定時の2セットの時間>測定時の1セットの時間である場合、第4検出磁石誤差が存在し、実際の立ち上がりタイミングが、第4検出磁石誤差によって、理想の立ち上がりタイミングよりも遅くなる。従って、測定時の2セットの時間と測定時の1セットの時間との差分Δtdを、測定時の2セットの時間から差し引くことで、2セットの時間の補正が可能となる。この減算を示す差分データ「−Δtd」と測定時の2セットの時間は、例えば第1補正テーブル100の2レコード目に格納される。
次に、第2検出磁石誤差が存在し、測定時の1セットの時間<60/(4M)である場合は、測定時の1セットの時間と60/(4M)との差分Δtaを、測定時の1セットの時間に加えた補正後の1セットの時間との比較になる。
一方、第2検出磁石誤差が存在し、測定時の1セットの時間>60/(4M)である場合は、測定時の1セットの時間と60/(4M)との差分Δtbを、測定時の1セットの時間から差し引いた補正後の1セットの時間との比較になる。
そして、測定時の2セットの時間=補正後の1セットの時間であれば、第4検出磁石誤差は存在しないこととなる。この場合、第1補正テーブル100のうち、第4検出磁石誤差に対応するレコード、例えば2レコード目に差分データ「0」と測定時の2セットの時間が格納される。
しかし、測定時の2セットの時間<補正後の1セットの時間である場合、第4検出磁石誤差が存在し、実際の立ち上がりタイミング(2セット終了時点の立ち上がりタイミング)が、第4検出磁石誤差によって、理想の立ち上がりタイミングよりも早くなる。従って、測定時の2セットの時間と補正後の1セットの時間との差分Δtcを、測定時の2セットの時間に加えることで、2セットの時間の補正が可能となる。この加算を示す差分データ「+Δtc」と測定時の2セットの時間は、例えば第1補正テーブル100の2レコード目に格納される。
反対に、測定時の2セットの時間>補正後の1セットの時間である場合、第4検出磁石誤差が存在し、実際の立ち上がりタイミングが、第4検出磁石誤差によって、理想の立ち上がりタイミングよりも遅くなる。従って、測定時の2セットの時間と補正後の1セットの時間との差分Δtdを、測定時の2セットの時間から差し引くことで、2セットの時間の補正が可能となる。この減算を示す差分データ「+Δtd」と測定時の2セットの時間は、例えば第1補正テーブル100の2レコード目に格納される。
このように、第2検出磁石誤差がない場合における測定時の1セットの時間と測定時の2セットの時間との差分の取得、あるいは、第2検出磁石誤差が存在する場合における測定時の2セットの時間と補正後の1セットの時間との差分の取得は、第4検出磁石誤差の検出にほかならない。
同様にして、測定時の3セットの時間から第6検出磁石誤差による影響を検出することができる。
具体的には、第4検出磁石誤差が存在しない理想の場合を想定したとき、測定時の3セットの時間=測定時の2セットの時間であれば、第6検出磁石誤差は存在しないこととなる。この場合、第1補正テーブル100のうち、第6検出磁石誤差に対応するレコード、例えば3レコード目に差分データ「0」と測定時の3セットの時間が格納される。
しかし、測定時の3セットの時間<測定時の2セットの時間である場合、第6検出磁石誤差が存在し、実際の立ち上がりタイミング(3セット終了時点の立ち上がりタイミング)が、第6検出磁石誤差によって、理想の立ち上がりタイミングよりも早くなる。従って、測定時の3セットの時間と測定時の2セットの時間との差分Δteを、測定時の3セットの時間に加えることで、3セットの時間の補正が可能となる。この加算を示す差分データ「+Δte」と測定時の3セットの時間は、例えば第1補正テーブル100の3レコード目に格納される。
反対に、測定時の3セットの時間>測定時の2セットの時間である場合、第6検出磁石誤差が存在し、実際の立ち上がりタイミングが、第6検出磁石誤差によって、理想の立ち上がりタイミングよりも遅くなる。従って、測定時の3セットの時間と測定時の2セットの時間との差分Δtfを、測定時の3セットの時間から差し引くことで、3セットの時間の補正が可能となる。この減算を示す差分データ「−Δtf」と測定時の3セットの時間は、例えば第1補正テーブル100の3レコード目に格納される。
次に、第4検出磁石誤差が存在し、測定時の2セットの時間<60/(4M)である場合は、測定時の2セットの時間と60/(4M)との差分Δtcを、測定時の2セットの時間に加えた補正後の2セットの時間との比較になる。
一方、第4検出磁石誤差が存在し、測定時の2セットの時間>60/(4M)である場合は、測定時の2セットの時間と60/(4M)との差分Δtdを、測定時の2セットの時間から差し引いた補正後の2セットの時間との比較になる。
そして、測定時の3セットの時間=補正後の2セットの時間であれば、第6検出磁石誤差は存在しないこととなる。この場合、第1補正テーブル100のうち、第6検出磁石誤差に対応するレコード、例えば3レコード目に差分データ「0」と測定時の3セットの時間が格納される。
しかし、測定時の3セットの時間<補正後の2セットの時間である場合、第6検出磁石誤差が存在し、実際の立ち上がりタイミング(3セット終了時点の立ち上がりタイミング)が、第6検出磁石誤差によって、理想の立ち上がりタイミングよりも早くなる。従って、測定時の3セットの時間と補正後の2セットの時間との差分Δteを、測定時の3セットの時間に加えることで、3セットの時間の補正が可能となる。この加算を示す差分データ「+Δte」と測定時の3セットの時間は、例えば第1補正テーブル100の3レコード目に格納される。
反対に、測定時の3セットの時間>補正後の2セットの時間である場合、第6検出磁石誤差が存在し、実際の立ち上がりタイミングが、第6検出磁石誤差によって、理想の立ち上がりタイミングよりも遅くなる。従って、測定時の3セットの時間と補正後の2セットの時間との差分Δtfを、測定時の3セットの時間から差し引くことで、3セットの時間の補正が可能となる。この減算を示す差分データ「−Δtf」と測定時の3セットの時間は、例えば第1補正テーブル100の3レコード目に格納される。
このように、第4検出磁石誤差がない場合における測定時の3セットの時間と測定時の2セットの時間との差分の取得、あるいは、第4検出磁石誤差が存在する場合における測定時の3セットの時間と補正後の2セットの時間との差分の取得は、第6検出磁石誤差の検出にほかならない。
次に、第2磁気センサ誤差と第3磁気センサ誤差の検出について図11Bを参照しながら説明する。
第2磁気センサ誤差及び第3磁気センサ誤差は、1セット、2セット及び3セットのいずれにも現れているため、1セット、2セット、3セットのいずれか1つで検出することが可能である。ここでは、1セットで検出する場合を示す。
先ず、1セットに関連する検出磁石誤差、すなわち、第2検出磁石誤差が存在しない場合は、測定時の1セットの時間を3等分することで、ロータ速度検出パルスSbの1セットにおける理想的な3つのパルス周期(第1時間d1〜第3時間d3)が求められる。
そして、(測定時の1セットの時間)/3=測定時の第1時間であれば、第2磁気センサ誤差は存在しないこととなる。この場合、図12Bに示すように、第2補正テーブル102のうち、第2磁気センサ誤差に対応するレコード、例えば1レコード目に差分データ「0」と測定時の第1時間が格納される。
同様に、(測定時の1セットの時間)/3=測定時の第2時間であれば、第3磁気センサ誤差は存在しないこととなる。この場合、第2補正テーブル102のうち、第3磁気センサ誤差に対応するレコード、例えば2レコード目に差分データ「0」と測定時の第2時間が格納される。
しかし、(測定時の1セットの時間)/3>測定時の第1時間である場合、第2磁気センサ誤差が存在し、実際の立ち上がりタイミング(時点t2の立ち下がりタイミング)が、第2磁気センサ誤差によって、理想の立ち下がりタイミングよりも早くなる。従って、(測定時の1セットの時間)/3と測定時の第1時間との差分Δtmを、測定時の第1時間に加えることで、第1時間の補正が可能となる。この加算を示す差分データ「+Δtm」と測定時の第1時間は、例えば第2補正テーブル102の1レコード目に格納される。
反対に、(測定時の1セットの時間)/3<測定時の第1時間である場合、第2磁気センサ誤差が存在し、実際の立ち下がりタイミングが、第2磁気センサ誤差によって、理想の立ち下がりタイミングよりも遅くなる。従って、(測定時の1セットの時間)/3と測定時の第1時間との差分Δtmを、測定時の第1時間から差し引くことで、第1時間の補正が可能となる。この減算を示す差分データ「−Δtn」と測定時の第1時間は、例えば第2補正テーブル102の1レコード目に格納される。
今度は、(測定時の1セットの時間)/3>測定時の第2時間である場合、第3磁気センサ誤差が存在し、実際の立ち下がりタイミング(時点t4の立ち下がりタイミング)が、第3磁気センサ誤差によって、理想の立ち下がりタイミングよりも早くなる。従って、(測定時の1セットの時間)/3と測定時の第2時間との差分Δtoを、測定時の第2時間に加算することで、第2時間の補正が可能となる。この加算を示す差分データ「+Δto」と測定時の第2時間は、例えば第2補正テーブル102の2レコード目に格納される。
反対に、(測定時の1セットの時間)/3<測定時の第2時間である場合、第3磁気センサ誤差が存在し、実際の立ち上がりタイミングが、第3磁気センサ誤差によって、理想の立ち下がりタイミングよりも遅くなる。従って、(測定時の1セットの時間)/3と測定時の第2時間との差分Δtpを、測定時の第2時間から差し引くことで、第2時間の補正が可能となる。この減算を示す差分データ「−Δtp」と測定時の第2時間は、例えば第2補正テーブル102の2レコード目に格納される。
次に、測定時の1セットの時間<60/(4M)であって、第2検出磁石誤差が存在する場合は、測定時の1セットの時間と60/(4M)との差分Δtaを、測定時の1セットの時間に加えた補正後の1セットの時間との比較になる。
また、測定時の1セットの時間>60/(4M)であって、第2検出磁石誤差が存在する場合は、測定時の1セットの時間と60/(4M)との差分Δtbを、測定時の1セットの時間から減算した補正後の1セットの時間との比較になる。
すなわち、(補正後の1セットの時間)/3=測定時の第1時間であれば、第2磁気センサ誤差は存在しないこととなる。この場合、第2補正テーブル102のうち、第2磁気センサ誤差に対応するレコード、例えば1レコード目に差分データ「0」と測定時の第1時間が格納される。
同様に、(測定時の1セットの時間)/3=測定時の第2時間であれば、第3磁気センサ誤差は存在しないこととなる。この場合、第2補正テーブル102のうち、第3磁気センサ誤差に対応するレコード、例えば2レコード目に差分データ「0」と測定時の第2時間が格納される。
しかし、(補正後の1セットの時間)/3>測定時の第1時間である場合、第2磁気センサ誤差が存在し、実際の立ち上がりタイミング(時点t2の立ち下がりタイミング)が、第2磁気センサ誤差によって、理想の立ち下がりタイミングよりも早くなる。従って、(補正後の1セットの時間)/3と測定時の第1時間との差分Δtmを、測定時の第1時間に加えることで、第1時間の補正が可能となる。この加算を示す差分データ「+Δtm」と測定時の第1時間は、例えば第2補正テーブル102の1レコード目に格納される。
反対に、(補正後の1セットの時間)/3<測定時の第1時間である場合、第2磁気センサ誤差が存在し、実際の立ち下がりタイミングが、第2磁気センサ誤差によって、理想の立ち下がりタイミングよりも遅くなる。従って、(補正後の1セットの時間)/3と測定時の第1時間との差分Δtnを、測定時の第1時間から差し引くことで、第1時間の補正が可能となる。この減算を示す差分データ「−Δtn」と測定時の第1時間は、例えば第2補正テーブル102の1レコード目に格納される。
今度は、(補正後の1セットの時間)/3>測定時の第2時間である場合、第3磁気センサ誤差が存在し、実際の立ち上がりタイミング(時点t4の立ち下がりタイミング)が、第3磁気センサ誤差によって、理想の立ち下がりタイミングよりも早くなる。従って、(補正後の1セットの時間)/3と測定時の第2時間との差分Δtoを、測定時の第2時間に加えることで、第2時間の補正が可能となる。この加算を示す差分データ「+Δto」と測定時の第2時間は、例えば第2補正テーブル102の2レコード目に格納される。
反対に、(補正後の1セットの時間)/3<測定時の第2時間である場合、第3磁気センサ誤差が存在し、実際の立ち下がりタイミングが、第3磁気センサ誤差によって、理想の立ち下がりタイミングよりも遅くなる。従って、(補正後の1セットの時間)/3と測定時の第2時間との差分Δtpを、測定時の第2時間から差し引くことで、第2時間の補正が可能となる。この減算を示す差分データ「−Δtp」と測定時の第2時間は、例えば第2補正テーブル102の2レコード目に格納される。
次に、実際のモータ10の使用時において、1セットの時間、2セットの時間、3セットの時間、第1時間、第2時間を補正する処理について説明する。この補正処理は、図10に示すように、CPU58で動作する補正処理手段104によって行われる。この補正処理手段104は、メモリ98に記憶されている第1補正テーブル100、第2補正テーブル102のほか、データバッファ106も使用する。
前提として、モータ10の完成検査後の駆動時においては、必ず一定速度で駆動する時がある。このときのモータ10の回転数は、誤差を検出する際の回転数と同じである。換言すれば、誤差を検出する際のモータ10の回転数を、モータ10の完成検査後に一定速度で駆動される際のモータ10の回転数と同じにしている。そのため、その後の補正処理が簡単になる。
先ず、実際のモータ10の使用時においては、電源OFFしてからモータ10を起動することから、検出磁石22の第1境界24a〜第8境界24hがどの位置にあるかは分からない状態にある。
しかし、例えば第1相のロータ位置検出パルスSa1の立ち上がりのみを考慮したとき、基準位置、第2境界24b、第4境界24d、第6境界24fが相当する。そして、モータ10を駆動させて、誤差成分の補正を行う場合、補正処理が開始されてから最初の立ち下がりは、基準位置、第2境界、第4境界又は第6境界のいずれかであり、結果的に4つの組み合わせが考えられる。
そこで、以下に示す照合処理を行う。この照合処理は、補正処理を開始してから、例えば第1相のロータ位置検出パルスSa1の最初の立ち下がりを基準とした4つのパルス周期を計数する。
そして、各パルス周期と誤差検出で用いた基準値(=60/(4M))との差分を計算し、第1補正テーブル100に格納されている内容と照合する。このとき、最初のパルス周期の差分が例えば2レコードの内容とほぼ同じであり、次のパルス周期の差分が3レコードの内容とほぼ同じであれば、最初のパルス周期は、図11Aの2セット、つまり、第1磁気センサ34aが検出磁石22の第2境界24bに対向した位置から第4境界24dに対向した位置に相対的に移動していることを示している。
同様に、上述の照合処理において、最初のパルス周期の差分が例えば1レコードの内容とほぼ同じであり、次のパルス周期の差分が2レコードの内容とほぼ同じであれば、最初のパルス周期は、図11Aの1セット、つまり、第1磁気センサ34aが検出磁石22の基準位置(第8境界24h)に対向した位置から第2境界24bに対向した位置に相対的に移動していることを示している。
上述した照合処理によって、補正処理を開始してから最初のパルス周期が、図11Aの1セット〜4セットのうち、いずれであるかが判明することになる。
説明を簡単にするために、最初のパルス周期が、図11Aの1セットである場合を想定して説明を行う。
補正処理は逐次行われ、先ず、1サイクルで、例えば第1相のロータ位置検出パルスSa1の1セットの1パルスとロータ速度検出パルスSbの1セットの3パルスを読み込んでデータバッファ106の1セット用のアドレスに格納し、併せて今回の1セットの時間、今回の第1時間及び今回の第2時間を計数する。
次の2サイクルで、1セットの補正処理を行うと共に、第1相のロータ位置検出パルスSa1の2セットの1パルスとロータ速度検出パルスSbの2セットの3パルスを読み、併せて今回の2セットの時間を計数する。
この2サイクルでの補正処理は、今回の1セットの時間と、第1補正テーブル100の1レコードから読み出した測定時の1セットの時間及び差分データに基づいて以下の関係式から今回の1セットの補正データを求める。
今回の1セットの補正データ
=今回の1セットの時間×差分データ(符号を含む)/測定時の1セットの時間
また、今回の第1時間と、第2補正テーブル102の1レコードから読み出した測定時の第1時間及び差分データに基づいて以下の関係式から第1時間の補正データを求める。
今回の第1時間の補正データ
=今回の第1時間×差分データ(符号を含む)/測定時の第1時間
さらに、今回の第2時間と、第2補正テーブル102の2レコードから読み出した測定時の第2時間及び差分データに基づいて以下の関係式から今回の第2時間の補正データを求める。
今回の第2時間の補正データ
=今回の第2時間×差分データ(符号を含む)/測定時の第2時間
そして、データバッファ106に格納されている第1相のロータ位置検出パルスSa1の1セットの1パルスとロータ速度検出パルスSbの1セットの3パルスを、得られた今回の1セットの補正データ、今回の第1時間及び今回の第2時間に基づいて補正する。
次に、3サイクルで、補正後の1セットのロータ速度検出パルスSbを出力し、2セットの補正処理を行うと共に、第1相のロータ位置検出パルスSa1の3セットの1パルスとロータ速度検出パルスSbの3セットの3パルスを読み込んでデータバッファ106の2セット用のアドレスに格納し、併せて今回の3セットの時間を計数する。
この3サイクルでの補正処理は、今回の2セットの時間と、第1補正テーブル100の2レコードから読み出した測定時の2セットの時間及び差分データに基づいて以下の関係式から今回の2セットの補正データを求める。
今回の2セットの補正データ
=今回の2セットの時間×差分データ(符号を含む)/測定時の2セットの時間
そして、データバッファ106に格納されている第1相のロータ位置検出パルスSa1の2セットの1パルスとロータ速度検出パルスSbの2セットの3パルスを、得られた今回の2セットの補正データ、今回の第1時間及び今回の第2時間に基づいて補正する。
次に、4サイクルで、補正後の2セットのロータ速度検出パルスSbを出力し、3セットの補正処理を行うと共に、第1相のロータ位置検出パルスSa1の4セットの1パルスとロータ速度検出パルスSbの4セットの3パルスを読み込んでデータバッファ106の3セット用のアドレスに格納する。
この4サイクルでの補正処理は、今回の3セットの時間と、第1補正テーブル100の3レコードから読み出した測定時の3セットの時間及び差分データに基づいて以下の関係式から今回の3セットの補正データを求める。
今回の3セットの補正データ
=今回の3セットの時間×差分データ(符号を含む)/測定時の3セットの時間
そして、データバッファ106に格納されている第1相のロータ位置検出パルスSa1の3セットの1パルスとロータ速度検出パルスSbの3セットの3パルスを、得られた今回の3セットの補正データ、今回の第1時間及び今回の第2時間に基づいて補正する。
次に、5サイクルで、補正後の3セットのロータ速度検出パルスSbを出力し、4セットの補正処理を行うと共に、第1相のロータ位置検出パルスSa1の1セットの1パルスとロータ速度検出パルスSbの1セットの3パルスを読み込んでデータバッファ106に格納し、併せて今回の1セットの時間を計数する。
この5サイクルでの補正処理は、4セットに関するため、ロータ速度検出パルスSbにおける第1時間と第2時間の補正だけが行われる。すなわち、データバッファ106に格納されているロータ速度検出パルスSbの4セットの3パルスを、今回の第1時間及び今回の第2時間に基づいて補正する。
次に、6サイクルで、補正後の4セットのロータ速度検出パルスSbを出力し、1セットの補正処理を行うと共に、第1相のロータ位置検出パルスSa1の2セットの1パルスとロータ速度検出パルスSbの2セットの3パルスを読み込んでデータバッファ106に格納し、併せて今回の2セットの時間を計数する。以下同様に行って、補正されたロータ速度検出パルスSbがデータバッファ106から出力されることになる。
上述のように、補正されたロータ速度検出パルスSbには、図9Cや図11Bに示すような第2検出磁石誤差、第4検出磁石誤差、第6検出磁石誤差、第2磁気センサ誤差及び第3磁気センサ誤差がないため、さらにロータ12の速度を高精度に検出することができる。
なお、本発明に係る速度検出回路は、上述の実施の形態に限らず、本発明の要旨を逸脱することなく、種々の構成を採り得ることはもちろんである。