JP2010124583A - 演算処理方法 - Google Patents
演算処理方法 Download PDFInfo
- Publication number
- JP2010124583A JP2010124583A JP2008295225A JP2008295225A JP2010124583A JP 2010124583 A JP2010124583 A JP 2010124583A JP 2008295225 A JP2008295225 A JP 2008295225A JP 2008295225 A JP2008295225 A JP 2008295225A JP 2010124583 A JP2010124583 A JP 2010124583A
- Authority
- JP
- Japan
- Prior art keywords
- magnetic pole
- pitch
- motor
- pulses
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Control Of Motors That Do Not Use Commutators (AREA)
Abstract
【課題】可動部の現在位置情報から電流指令ポイントを求める際に、高分解能および低分解能の位置検出器に対応でき、オーバーフローを回避し、制御性能の低下を抑制できる演算処理方法を提供する。
【解決手段】固定子4の磁極中心間ピッチを基準とし、磁極中心間ピッチで発生する位置検出器のパルス数をP1、電流指令ポイントの基準となる磁極位置から可動子2の現在位置までの位置検出器のパルス数をP2、磁極中心間ピッチを一定間隔で分割する分割数をD1、電流指令ポイントの基準となる可動子2の現在位置をD2とすると、内分演算によって求まり、D2=D1×P2/P1となる。この演算処理は、サーボアンプのマイコンによって実行される。
【選択図】図2
【解決手段】固定子4の磁極中心間ピッチを基準とし、磁極中心間ピッチで発生する位置検出器のパルス数をP1、電流指令ポイントの基準となる磁極位置から可動子2の現在位置までの位置検出器のパルス数をP2、磁極中心間ピッチを一定間隔で分割する分割数をD1、電流指令ポイントの基準となる可動子2の現在位置をD2とすると、内分演算によって求まり、D2=D1×P2/P1となる。この演算処理は、サーボアンプのマイコンによって実行される。
【選択図】図2
Description
本発明は、電流指令によってモータを位置制御するサーボアンプ、特に電流指令ポイントを求めるための演算処理に関する。
半導体製造装置をはじめとするFA分野の装置において、部品サイズの小型化、実装面積の省スペース化、タクトタイムの短縮などの要望が強まり、サーボシステムには位置決め精度と応答性の向上が求められている。
この要望に対応するため、位置検出器に高分解能なエンコーダやリニアスケールを用いたサーボシステムが各種提案されている。
マグネットとモータ巻線で構成したモータは、一方を固定することで相対移動する。モータの出力であるトルクまたは推力を効率よく得るには、相対移動によって生じる磁束変化に対して電気角で60度ずれた電流をモータ巻線に供給する必要がある。
そして、磁束変化の基準となる磁極中心は、CSセンサによって求めるのが一般的である。また、CSセンサを用いず磁極位置を求める方法が提案されている。CSセンサの有無に係わらず、基準となる磁極中心に対するモータ可動部(可動子または回転子)の現在位置を電流指令ポイントの基準とすれば、常に電気角で60度ずらして通電する必要がある。
一方、基準の磁極中心に対するモータ可動部の現在位置を求めるには、磁極中心間ピッチに加えて、位置検出器を利用して、モータ可動部の現在位置情報を得る必要がある。
そして、位置検出器から得られるモータ可動部の現在位置情報と、磁極中心からモータ可動部までの位置情報を関連付ける必要がある。そこで、同極の磁極中心間ピッチを一定間隔で分割して、モータ可動部の現在位置が分割したどの分割ポイントの近くにいるかを求める。
モータと位置検出器の仕様が決まれば、同極性の磁極中心間ピッチと位置検出器の分解能は一意に決定される。磁極中心間ピッチを分割する分割数もメーカサイドで予め決定できるため、同極の磁極中心間ピッチを一定間隔で分割した1つの分割ポイントを可動部の現在位置とすれば、モータ可動部の現在位置を内分演算処理によって求めることができる。
一方、分母および分子の周波数パルス信号をカウントするカウンタ装置と、カウンタ装置の動作時間を可変的に設定する設定手段を備え、CPUは予め設定されたカウンタ値になった時に除算演算をすることで、分解能をあげて演算誤差を少なくした除算演算装置が提案されている(例えば、特許文献1参照)。
特公平5−17573号公報
解決しようとする問題点は、位置検出器が高分解能になると、電流指令ポイントの基準となる可動部の現在位置を求める際の内分演算の数値が大きくなり、安価なCPUを用いるとオーバーフローが発生する点である。
また、位置検出器(分解能)とモータ(磁極中心間ピッチ)の組合せは様々であり、高分解能な位置検出器を基準に設計すれば、低分解能の位置検出器を使用した際に制御性能が低下する点である。
特許文献1の除算演算装置は、CPUの演算処理能力のフルスケールに対して入力値のレベルが低い場合でも正確に除算処理を行うことができるため、対象が静止物で多少時間が掛かっても正確な結果が求められる計測器などには有用である。しかしながら、モータ可動部の現在位置は刻々と変化するため、特許文献1の技術を適用して電流指令ポイントを求めることはできない。
本発明は上記従来の課題を解決するものであり、可動部の現在位置情報から電流指令ポイントを求める際に、高分解能および低分解能の位置検出器に対応でき、オーバーフローを回避し、制御性能の低下を抑制できる演算処理方法を提供することを目的とする。
上記課題を解決するために請求項1に記載の演算処理方法は、異極性のマグネットを交互に配置したモータにおける同極の磁極中心間ピッチを一定間隔で分割し、その分割ポイントの1つをモータ可動部の現在位置としてモータ巻線に指令電流を印加するサーボアンプにおいて、前記磁極中心間ピッチに対する分割数と位置検出器のパルス数を予めセットするステップ1と、電流指令ポイントの基準となるモータ可動部の現在位置を、基準となる磁極中心から位置検出器の出力パルス数によって得るステップ2と、ステップ2で得られたモータ可動部の現在位置と前記磁極中心間ピッチの分割数から、前記モータ可動部の現在位置が磁極中心間のどの分割ポイントにあるかを求めるステップ3を備え、ステップ3の演算処理は、前記磁極中心間ピッチで発生する位置検出器のパルス数をP1、電流指令ポイントの基準となる磁極位置からモータ可動部の現在位置までの位置検出器のパルス数をP2、前記磁極中心間ピッチを一定間隔で分割する分割数をD1、電流指令ポイントの基準となる可動子の現在位置をD2とすると、D2=D1×P2/P1となり、ステップ1において、前記P1とD1を予め同じ値で除算した整数値を設定する。
また、請求項2に記載の演算処理方法は、除算する値(1以上の整数)を、前記磁極中心間ピッチで発生する位置検出器のパルス数に応じて変更する。
また、請求項3に記載の演算処理方法は、除算する値を、2の指数乗とする。
さらに、請求項4に記載の演算処理方法は、除算する整数値を、P1とD1の最大公約数とする。
請求項1に記載の演算処理方法によれば、電流指令ポイントの基準となる可動子の現在位置(D2)を求める演算処理(D1×P2/P1)にいて、分母と分子の固定要素(P1とD1)を予め同じ値で除算した整数値を設定することで、高分解能の位置検出器に対応することができる。
また、請求項2に記載の演算処理方法によれば、位置検出器の分解能に応じて1以上の整数で除算するため、高分解能および低分解能の位置検出器に対応でき、制御性能の低下を抑制することができる。
また、請求項3記載の演算処理方法によれば、制御に用いるCPU内でシフト処理を利用することができ、CPUの演算処理時間を短縮することができる。
さらに、請求項4記載の演算処理方法によれば、演算精度を損なうことなく、オーバーフローを回避することができる。
本発明の演算処理装置によれば、オーバーフローの発生を回避して、制御性能の低下を抑制することができる。
異極性のマグネットを交互に配置したモータにおける同極の磁極中心間ピッチを一定間隔で分割し、その分割ポイントの1つをモータ可動部の現在位置としてモータ巻線に指令電流を印加するサーボアンプにおいて、前記磁極中心間ピッチに対する分割数と位置検出器のパルス数を予めセットするステップ1と、電流指令ポイントの基準となるモータ可動部の現在位置を、基準となる磁極中心から位置検出器の出力パルス数によって得るステップ2と、ステップ2で得られたモータ可動部の現在位置と前記磁極中心間ピッチの分割数から、前記モータ可動部の現在位置が磁極中心間のどの分割ポイントにあるかを求めるステップ3を備え、ステップ3の演算処理は、前記磁極中心間ピッチで発生する位置検出器のパルス数をP1、電流指令ポイントの基準となる磁極位置からモータ可動部の現在位置までの位置検出器のパルス数をP2、前記磁極中心間ピッチを一定間隔で分割する分割数をD1、電流指令ポイントの基準となる可動子の現在位置をD2とすると、D2=D1×P2/P1となり、ステップ1において、前記P1とD1を予め同じ値で除算した整数値を設定する。以下、具体的な実施の形態について説明する。
(実施の形態1)
本発明の実施の形態1について、図面を参照して説明する。図1は、本発明の演算処理方法を説明するリニアサーボシステムの説明図である。
本発明の実施の形態1について、図面を参照して説明する。図1は、本発明の演算処理方法を説明するリニアサーボシステムの説明図である。
図1において、リニアモータは、三相巻線(図示せず)で構成された可動子2と、異極マグネットを交互に配置した固定子3とで構成され、固定子3には位置検出器としてのスケール4が取付けられ、エンコーダ線6を介して可動子2の位置情報をサーボアンプ1に送る。
サーボアンプ1のCPU(マイコン)1aは、可動子2の移動にともないスケール4から可動子2の現在位置情報を得る。マイコン1aは、この現在位置情報に基づいて電流指令を生成し、インバータ部1bからリニアモータの可動子2の三相巻線に120度位相のずれた電流を供給する。
図2は、スケール4から可動子2の現在位置を基準磁極中心から求める電流指令の説明図であり、図1を併用して説明する。
一対の磁束変化は略正弦波状であり、効率よく推力(回転モータの場合はトルク)を得るには、磁束変化に対して常に60度位相をずらした電流をモータ巻線に供給する必要がある。このため、基準となるN磁極中心からの可動子2の現在位置に60度位相をずらしたポイントが電流指令ポイントとなり、可動子2の現在位置が刻々と変化しても、常に磁束変化に同期した電流指令を生成することができる。
図2において、固定子4の磁極中心間ピッチを基準とし、磁極中心間ピッチで発生する位置検出器のパルス数をP1、基準となる磁極中心から可動子2の現在位置までの位置検出器のパルス数をP2、磁極中心間ピッチを一定間隔で分割する分割数をD1、電流指令ポイントの基準となる可動子2の現在位置をD2とすると、内分演算によって求まる。すなわち、D2=D1×P2/P1となる。この演算処理は、サーボアンプ1のマイコン1
aによって実行される。
aによって実行される。
まず、リニアモータの仕様が決まれば磁極中心間ピッチが求まる。また、スケール5の分解能が決まれば、磁極中心間ピッチで発生するパルス数P1が求まる。そして、磁極中心間ピッチを一定間隔で分割する分割数のD1もメーカ側で予め決めることができる。
上述した演算処理から可動子2の現在位置D2を求める際に、モータと位置検出器の仕様が決まれば、P1とD1は固定値となる。一方、可動子2の現在位置P2は、時々刻々と変化する未知数であるが、スケール5から可動子2の現在位置情報として逐次取得することができる。
したがって、可動子2の現在位置P2が分かれば、基準となる左側のN磁極中心からどの分割ポイントの近くにいるかが分かる。上述したようにモータ巻線に印加すべき電流指令ポイントは、可動子2の現在位置D2より常に60度ずれており、必要な推力が得られるように電流増幅し、サーボアンプ1のインバータ部1bから可動子2のモータ巻線に電流を供給すればよい。
本発明の特徴は、演算処理の分母と分子に、それぞれ固定因子が含まれている点に着目し、固定因子のD1とP1を共通の整数で予め除算し、除算した結果を整数値で予め設定する点である。これにより、演算処理時間を短縮でき、分子の乗算演算でのオーバーフローを回避することができ、除算演算において誤差精度の低下を防止することができる。
また、分母分子を除算する共通の数値は、位置検出器の分解能が低く、磁極間パルス数が小さい場合には演算精度低下につながるため、不要である。したがって、磁極間パルス数の値に応じて、共通の数値は1以上の整数で設定する。これにより、オーバーフローを発生させず、演算精度を維持することができる。
ここで、CPUに32ビットマイコンを用いた演算処理の一例について説明する。例えば、スケール5の分解能を10nm、磁極中心間ピッチを48mm、分割数を512とした場合、P1は480万パルス(2の22乗と23乗の間)、D1は512(2の9乗)となる。スケール5に対する可動子2の現在位置のP2は、0(MIN)から480万(MAX)まで刻々と変化するので、分子の乗算処理においてオーバーフローが発生する。
このように、高分解能のスケールを用いるとP1が大きくなり、分子の演算過程でオーバーフローが発生する。一方、D1/P1の除算処理を先にすると、D1(512)に比べてP1(480万)の値が大きいため演算誤差が大きくなり、精度が低下する。
このため、実施の形態1(32ビットマイコンとD1が512)のような組み合わせの場合、P1の磁極間パルス数が2の22乗より小さいときには、1で除算し、磁極間パルス数が2の22乗より大きいときには、2の22乗より小さい値になるように分母分子を共通の数値(2以上の整数)で除算する。つまり、分子の乗算処理結果において、使用するマイコンの処理能力を超えないようにすればよい。
一方、磁極中心間ピッチの分割数D1を2の指数乗(例えば2の9乗)に設定しておき、除算する数値を2の指数乗とすれば、CPU内部の処理において、シフト処理を用いることができ、2の指数乗以外の除算処理に比べ、CPU処理時間を短縮することができる。
また、除算する共通の数値を分母分子の最大公約数にすれば、オーバーフローを回避し、演算精度を維持することができる。
なお、実施の形態1ではリニアモータとスケールで説明したが、回転型のモータとエンコーダを組み合わせた場合も同様に実施することができる。また、分割数に2の9乗(512)を用いたが、これに限定するものではない。
このように、本発明によれば、オーバーフローを回避し、制御性能を維持することができる。
本発明の演算処理方法は、安価なCPUで高分解能な位置情報を処理するサーボアンプなどに有用である。
1 サーボアンプ
1a マイコン(CPU)
1b インバータ部
2 可動子
3 固定子
4 スケール
5 モータ線
6 エンコーダ線
1a マイコン(CPU)
1b インバータ部
2 可動子
3 固定子
4 スケール
5 モータ線
6 エンコーダ線
Claims (4)
- 異極性のマグネットを交互に配置したモータにおける同極の磁極中心間ピッチを一定間隔で分割し、その分割ポイントの1つをモータ可動部の現在位置としてモータ巻線に指令電流を印加するサーボアンプにおいて、
前記磁極中心間ピッチに対する分割数と位置検出器のパルス数を予めセットするステップ1と、
電流指令ポイントの基準となるモータ可動部の現在位置を、基準となる磁極中心から位置検出器の出力パルス数によって得るステップ2と、
ステップ2で得られたモータ可動部の現在位置と前記磁極中心間ピッチの分割数から、前記モータ可動部の現在位置が磁極中心間のどの分割ポイントにあるかを求めるステップ3を備え、
ステップ3の演算処理は、
前記磁極中心間ピッチで発生する位置検出器のパルス数をP1、
電流指令ポイントの基準となる磁極位置からモータ可動部の現在位置までの位置検出器のパルス数をP2、
前記磁極中心間ピッチを一定間隔で分割する分割数をD1、
電流指令ポイントの基準となる可動子の現在位置をD2とすると、
D2=D1×P2/P1となり、
ステップ1において、前記P1とD1を予め同じ値で除算した整数値を設定することを特徴とした演算処理方法。 - 除算する値(1以上の整数)を、前記磁極中心間ピッチで発生する位置検出器のパルス数に応じて変更する請求項1に記載の演算処理方法。
- 除算する値を、2の指数乗とする請求項1に記載の演算処理方法。
- 除算する値を、前記P1とD1の最大公約数とする請求項1に記載の演算処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008295225A JP2010124583A (ja) | 2008-11-19 | 2008-11-19 | 演算処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008295225A JP2010124583A (ja) | 2008-11-19 | 2008-11-19 | 演算処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010124583A true JP2010124583A (ja) | 2010-06-03 |
Family
ID=42325419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008295225A Pending JP2010124583A (ja) | 2008-11-19 | 2008-11-19 | 演算処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010124583A (ja) |
-
2008
- 2008-11-19 JP JP2008295225A patent/JP2010124583A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101301385B1 (ko) | 스위치드 릴럭턴스 모터의 속도 제어 장치 | |
CN110462990B (zh) | 用于控制电驱动器的控制设备和方法 | |
KR102588927B1 (ko) | 모터 제어방법 | |
US20140210388A1 (en) | Motor control device | |
WO2013084933A1 (ja) | リニアモータ装置、リニアモータ装置の制御方法 | |
EP2998708A1 (en) | Rotation angle detection system, rotation angle detection method, rotation angle detection unit, and synchronous motor control system | |
JP2002034278A (ja) | 電動機の磁極位置検出装置 | |
JP2015023695A (ja) | モータ制御装置、レンズ装置、カメラシステム、モータ制御方法、プログラム、および、記憶媒体 | |
US10389283B2 (en) | Motor drive apparatus for driving stepping motor and control method therefor | |
JP2001218497A (ja) | リニアモータにおける推力リップル測定方法 | |
KR101655297B1 (ko) | 리니어 홀 센서 위치보정장치 및 그 위치보정방법 | |
KR20190053101A (ko) | 반도체 장치, 각도값 보정 회로 및 방법 | |
JP6844617B2 (ja) | モータモジュール、モータステップ動作制御システム、およびモータ制御装置 | |
US20130207588A1 (en) | Initial driving apparatus and method of two-phase srm | |
JP4683369B2 (ja) | リニアモータの制御装置 | |
JP4645171B2 (ja) | Dcブラシレスモータ装置およびターボ分子ポンプ | |
JP5464793B2 (ja) | モータ駆動装置 | |
JP2008148484A (ja) | シャフト型リニアモータの位置決め装置 | |
JP2010124583A (ja) | 演算処理方法 | |
JP2012002578A (ja) | リニアモータの位置検出システム | |
JP2011027628A (ja) | ステッピングモータの回転角検出装置 | |
JP2004023936A (ja) | リニアモータの位置決め装置 | |
WO2017199371A1 (ja) | 電動機の制御システム | |
JP5511445B2 (ja) | モータ及びモータの駆動制御方法 | |
JP2011061995A (ja) | リニアモータ及びリニアモータの位置検出方法 |