(57)【要約】【課題】可動部の現在位置情報から電流指令ポイントを求める際に、高分解能および低分解能の位置検出器に対応でき、オーバーフローを回避し、制御性能の低下を抑制できる演算処理方法を提供する。【解決手段】固定子４の磁極中心間ピッチを基準とし、磁極中心間ピッチで発生する位置検出器のパルス数をＰ１、電流指令ポイントの基準となる磁極位置から可動子２の現在位置までの位置検出器のパルス数をＰ２、磁極中心間ピッチを一定間隔で分割する分割数をＤ１、電流指令ポイントの基準となる可動子２の現在位置をＤ２とすると、内分演算によって求まり、Ｄ２＝Ｄ１×Ｐ２／Ｐ１となる。この演算処理は、サーボアンプのマイコンによって実行される。【選択図】図２
2010124583.tif 000002
【特許請求の範囲】
【請求項１】
異極性のマグネットを交互に配置したモータにおける同極の磁極中心間ピッチを一定間隔で分割し、その分割ポイントの１つをモータ可動部の現在位置としてモータ巻線に指令電流を印加するサーボアンプにおいて、
前記磁極中心間ピッチに対する分割数と位置検出器のパルス数を予めセットするステップ１と、
電流指令ポイントの基準となるモータ可動部の現在位置を、基準となる磁極中心から位置検出器の出力パルス数によって得るステップ２と、
ステップ２で得られたモータ可動部の現在位置と前記磁極中心間ピッチの分割数から、前記モータ可動部の現在位置が磁極中心間のどの分割ポイントにあるかを求めるステップ３を備え、
ステップ３の演算処理は、
前記磁極中心間ピッチで発生する位置検出器のパルス数をＰ１、
電流指令ポイントの基準となる磁極位置からモータ可動部の現在位置までの位置検出器のパルス数をＰ２、
前記磁極中心間ピッチを一定間隔で分割する分割数をＤ１、
電流指令ポイントの基準となる可動子の現在位置をＤ２とすると、
Ｄ２＝Ｄ１×Ｐ２／Ｐ１となり、
ステップ１において、前記Ｐ１とＤ１を予め同じ値で除算した整数値を設定することを特徴とした演算処理方法。
【請求項２】
除算する値（１以上の整数）を、前記磁極中心間ピッチで発生する位置検出器のパルス数に応じて変更する請求項１に記載の演算処理方法。
【請求項３】
除算する値を、２の指数乗とする請求項１に記載の演算処理方法。
【請求項４】
除算する値を、前記Ｐ１とＤ１の最大公約数とする請求項１に記載の演算処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電流指令によってモータを位置制御するサーボアンプ、特に電流指令ポイントを求めるための演算処理に関する。
【背景技術】
【０００２】
半導体製造装置をはじめとするＦＡ分野の装置において、部品サイズの小型化、実装面積の省スペース化、タクトタイムの短縮などの要望が強まり、サーボシステムには位置決め精度と応答性の向上が求められている。
【０００３】
この要望に対応するため、位置検出器に高分解能なエンコーダやリニアスケールを用いたサーボシステムが各種提案されている。
【０００４】
マグネットとモータ巻線で構成したモータは、一方を固定することで相対移動する。モータの出力であるトルクまたは推力を効率よく得るには、相対移動によって生じる磁束変化に対して電気角で６０度ずれた電流をモータ巻線に供給する必要がある。
【０００５】
そして、磁束変化の基準となる磁極中心は、ＣＳセンサによって求めるのが一般的である。また、ＣＳセンサを用いず磁極位置を求める方法が提案されている。ＣＳセンサの有無に係わらず、基準となる磁極中心に対するモータ可動部（可動子または回転子）の現在位置を電流指令ポイントの基準とすれば、常に電気角で６０度ずらして通電する必要がある。
【０００６】
一方、基準の磁極中心に対するモータ可動部の現在位置を求めるには、磁極中心間ピッチに加えて、位置検出器を利用して、モータ可動部の現在位置情報を得る必要がある。
【０００７】
そして、位置検出器から得られるモータ可動部の現在位置情報と、磁極中心からモータ可動部までの位置情報を関連付ける必要がある。そこで、同極の磁極中心間ピッチを一定間隔で分割して、モータ可動部の現在位置が分割したどの分割ポイントの近くにいるかを求める。
【０００８】
モータと位置検出器の仕様が決まれば、同極性の磁極中心間ピッチと位置検出器の分解能は一意に決定される。磁極中心間ピッチを分割する分割数もメーカサイドで予め決定できるため、同極の磁極中心間ピッチを一定間隔で分割した１つの分割ポイントを可動部の現在位置とすれば、モータ可動部の現在位置を内分演算処理によって求めることができる。
【０００９】
一方、分母および分子の周波数パルス信号をカウントするカウンタ装置と、カウンタ装置の動作時間を可変的に設定する設定手段を備え、ＣＰＵは予め設定されたカウンタ値になった時に除算演算をすることで、分解能をあげて演算誤差を少なくした除算演算装置が提案されている（例えば、特許文献１参照）。
【特許文献１】特公平５−１７５７３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
解決しようとする問題点は、位置検出器が高分解能になると、電流指令ポイントの基準となる可動部の現在位置を求める際の内分演算の数値が大きくなり、安価なＣＰＵを用いるとオーバーフローが発生する点である。
【００１１】
また、位置検出器（分解能）とモータ（磁極中心間ピッチ）の組合せは様々であり、高分解能な位置検出器を基準に設計すれば、低分解能の位置検出器を使用した際に制御性能が低下する点である。
【００１２】
特許文献１の除算演算装置は、ＣＰＵの演算処理能力のフルスケールに対して入力値のレベルが低い場合でも正確に除算処理を行うことができるため、対象が静止物で多少時間が掛かっても正確な結果が求められる計測器などには有用である。しかしながら、モータ可動部の現在位置は刻々と変化するため、特許文献１の技術を適用して電流指令ポイントを求めることはできない。
【００１３】
本発明は上記従来の課題を解決するものであり、可動部の現在位置情報から電流指令ポイントを求める際に、高分解能および低分解能の位置検出器に対応でき、オーバーフローを回避し、制御性能の低下を抑制できる演算処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記課題を解決するために請求項１に記載の演算処理方法は、異極性のマグネットを交互に配置したモータにおける同極の磁極中心間ピッチを一定間隔で分割し、その分割ポイントの１つをモータ可動部の現在位置としてモータ巻線に指令電流を印加するサーボアンプにおいて、前記磁極中心間ピッチに対する分割数と位置検出器のパルス数を予めセットするステップ１と、電流指令ポイントの基準となるモータ可動部の現在位置を、基準となる磁極中心から位置検出器の出力パルス数によって得るステップ２と、ステップ２で得られたモータ可動部の現在位置と前記磁極中心間ピッチの分割数から、前記モータ可動部の現在位置が磁極中心間のどの分割ポイントにあるかを求めるステップ３を備え、ステップ３の演算処理は、前記磁極中心間ピッチで発生する位置検出器のパルス数をＰ１、電流指令ポイントの基準となる磁極位置からモータ可動部の現在位置までの位置検出器のパルス数をＰ２、前記磁極中心間ピッチを一定間隔で分割する分割数をＤ１、電流指令ポイントの基準となる可動子の現在位置をＤ２とすると、Ｄ２＝Ｄ１×Ｐ２／Ｐ１となり、ステップ１において、前記Ｐ１とＤ１を予め同じ値で除算した整数値を設定する。
【００１５】
また、請求項２に記載の演算処理方法は、除算する値（１以上の整数）を、前記磁極中心間ピッチで発生する位置検出器のパルス数に応じて変更する。
【００１６】
また、請求項３に記載の演算処理方法は、除算する値を、２の指数乗とする。
【００１７】
さらに、請求項４に記載の演算処理方法は、除算する整数値を、Ｐ１とＤ１の最大公約数とする。
【発明の効果】
【００１８】
請求項１に記載の演算処理方法によれば、電流指令ポイントの基準となる可動子の現在位置（Ｄ２）を求める演算処理（Ｄ１×Ｐ２／Ｐ１）にいて、分母と分子の固定要素（Ｐ１とＤ１）を予め同じ値で除算した整数値を設定することで、高分解能の位置検出器に対応することができる。
【００１９】
また、請求項２に記載の演算処理方法によれば、位置検出器の分解能に応じて１以上の整数で除算するため、高分解能および低分解能の位置検出器に対応でき、制御性能の低下を抑制することができる。
【００２０】
また、請求項３記載の演算処理方法によれば、制御に用いるＣＰＵ内でシフト処理を利用することができ、ＣＰＵの演算処理時間を短縮することができる。
【００２１】
さらに、請求項４記載の演算処理方法によれば、演算精度を損なうことなく、オーバーフローを回避することができる。
【００２２】
本発明の演算処理装置によれば、オーバーフローの発生を回避して、制御性能の低下を抑制することができる。
【発明を実施するための最良の形態】
【００２３】
異極性のマグネットを交互に配置したモータにおける同極の磁極中心間ピッチを一定間隔で分割し、その分割ポイントの１つをモータ可動部の現在位置としてモータ巻線に指令電流を印加するサーボアンプにおいて、前記磁極中心間ピッチに対する分割数と位置検出器のパルス数を予めセットするステップ１と、電流指令ポイントの基準となるモータ可動部の現在位置を、基準となる磁極中心から位置検出器の出力パルス数によって得るステップ２と、ステップ２で得られたモータ可動部の現在位置と前記磁極中心間ピッチの分割数から、前記モータ可動部の現在位置が磁極中心間のどの分割ポイントにあるかを求めるステップ３を備え、ステップ３の演算処理は、前記磁極中心間ピッチで発生する位置検出器のパルス数をＰ１、電流指令ポイントの基準となる磁極位置からモータ可動部の現在位置までの位置検出器のパルス数をＰ２、前記磁極中心間ピッチを一定間隔で分割する分割数をＤ１、電流指令ポイントの基準となる可動子の現在位置をＤ２とすると、Ｄ２＝Ｄ１×Ｐ２／Ｐ１となり、ステップ１において、前記Ｐ１とＤ１を予め同じ値で除算した整数値を設定する。以下、具体的な実施の形態について説明する。
【００２４】
（実施の形態１）
本発明の実施の形態１について、図面を参照して説明する。図１は、本発明の演算処理方法を説明するリニアサーボシステムの説明図である。
【００２５】
図１において、リニアモータは、三相巻線（図示せず）で構成された可動子２と、異極マグネットを交互に配置した固定子３とで構成され、固定子３には位置検出器としてのスケール４が取付けられ、エンコーダ線６を介して可動子２の位置情報をサーボアンプ１に送る。
【００２６】
サーボアンプ１のＣＰＵ（マイコン）１ａは、可動子２の移動にともないスケール４から可動子２の現在位置情報を得る。マイコン１ａは、この現在位置情報に基づいて電流指令を生成し、インバータ部１ｂからリニアモータの可動子２の三相巻線に１２０度位相のずれた電流を供給する。
【００２７】
図２は、スケール４から可動子２の現在位置を基準磁極中心から求める電流指令の説明図であり、図１を併用して説明する。
【００２８】
一対の磁束変化は略正弦波状であり、効率よく推力（回転モータの場合はトルク）を得るには、磁束変化に対して常に６０度位相をずらした電流をモータ巻線に供給する必要がある。このため、基準となるＮ磁極中心からの可動子２の現在位置に６０度位相をずらしたポイントが電流指令ポイントとなり、可動子２の現在位置が刻々と変化しても、常に磁束変化に同期した電流指令を生成することができる。
【００２９】
図２において、固定子４の磁極中心間ピッチを基準とし、磁極中心間ピッチで発生する位置検出器のパルス数をＰ１、基準となる磁極中心から可動子２の現在位置までの位置検出器のパルス数をＰ２、磁極中心間ピッチを一定間隔で分割する分割数をＤ１、電流指令ポイントの基準となる可動子２の現在位置をＤ２とすると、内分演算によって求まる。すなわち、Ｄ２＝Ｄ１×Ｐ２／Ｐ１となる。この演算処理は、サーボアンプ１のマイコン１
ａによって実行される。
【００３０】
まず、リニアモータの仕様が決まれば磁極中心間ピッチが求まる。また、スケール５の分解能が決まれば、磁極中心間ピッチで発生するパルス数Ｐ１が求まる。そして、磁極中心間ピッチを一定間隔で分割する分割数のＤ１もメーカ側で予め決めることができる。
【００３１】
上述した演算処理から可動子２の現在位置Ｄ２を求める際に、モータと位置検出器の仕様が決まれば、Ｐ１とＤ１は固定値となる。一方、可動子２の現在位置Ｐ２は、時々刻々と変化する未知数であるが、スケール５から可動子２の現在位置情報として逐次取得することができる。
【００３２】
したがって、可動子２の現在位置Ｐ２が分かれば、基準となる左側のＮ磁極中心からどの分割ポイントの近くにいるかが分かる。上述したようにモータ巻線に印加すべき電流指令ポイントは、可動子２の現在位置Ｄ２より常に６０度ずれており、必要な推力が得られるように電流増幅し、サーボアンプ１のインバータ部１ｂから可動子２のモータ巻線に電流を供給すればよい。
【００３３】
本発明の特徴は、演算処理の分母と分子に、それぞれ固定因子が含まれている点に着目し、固定因子のＤ１とＰ１を共通の整数で予め除算し、除算した結果を整数値で予め設定する点である。これにより、演算処理時間を短縮でき、分子の乗算演算でのオーバーフローを回避することができ、除算演算において誤差精度の低下を防止することができる。
【００３４】
また、分母分子を除算する共通の数値は、位置検出器の分解能が低く、磁極間パルス数が小さい場合には演算精度低下につながるため、不要である。したがって、磁極間パルス数の値に応じて、共通の数値は１以上の整数で設定する。これにより、オーバーフローを発生させず、演算精度を維持することができる。
【００３５】
ここで、ＣＰＵに３２ビットマイコンを用いた演算処理の一例について説明する。例えば、スケール５の分解能を１０ｎｍ、磁極中心間ピッチを４８ｍｍ、分割数を５１２とした場合、Ｐ１は４８０万パルス（２の２２乗と２３乗の間）、Ｄ１は５１２（２の９乗）となる。スケール５に対する可動子２の現在位置のＰ２は、０（ＭＩＮ）から４８０万（ＭＡＸ）まで刻々と変化するので、分子の乗算処理においてオーバーフローが発生する。
【００３６】
このように、高分解能のスケールを用いるとＰ１が大きくなり、分子の演算過程でオーバーフローが発生する。一方、Ｄ１／Ｐ１の除算処理を先にすると、Ｄ１（５１２）に比べてＰ１（４８０万）の値が大きいため演算誤差が大きくなり、精度が低下する。
【００３７】
このため、実施の形態１（３２ビットマイコンとＤ１が５１２）のような組み合わせの場合、Ｐ１の磁極間パルス数が２の２２乗より小さいときには、１で除算し、磁極間パルス数が２の２２乗より大きいときには、２の２２乗より小さい値になるように分母分子を共通の数値（２以上の整数）で除算する。つまり、分子の乗算処理結果において、使用するマイコンの処理能力を超えないようにすればよい。
【００３８】
一方、磁極中心間ピッチの分割数Ｄ１を２の指数乗（例えば２の９乗）に設定しておき、除算する数値を２の指数乗とすれば、ＣＰＵ内部の処理において、シフト処理を用いることができ、２の指数乗以外の除算処理に比べ、ＣＰＵ処理時間を短縮することができる。
【００３９】
また、除算する共通の数値を分母分子の最大公約数にすれば、オーバーフローを回避し、演算精度を維持することができる。
【００４０】
なお、実施の形態１ではリニアモータとスケールで説明したが、回転型のモータとエンコーダを組み合わせた場合も同様に実施することができる。また、分割数に２の９乗（５１２）を用いたが、これに限定するものではない。
【００４１】
このように、本発明によれば、オーバーフローを回避し、制御性能を維持することができる。
【産業上の利用可能性】
【００４２】
本発明の演算処理方法は、安価なＣＰＵで高分解能な位置情報を処理するサーボアンプなどに有用である。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施の形態１におけるリニアサーボシステムの説明図
【図２】本発明の実施の形態１における可動子の現在位置に対する電流指令の説明図
【符号の説明】
【００４４】
１  サーボアンプ
１ａ  マイコン（ＣＰＵ）
１ｂ  インバータ部
２  可動子
３  固定子
４  スケール
５  モータ線
６  エンコーダ線
【図１】
2010124583.tif 000003
【図２】
2010124583.tif 000004