(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-06
(45)【発行日】2023-06-14
(54)【発明の名称】ステッピングモータの制御装置
(51)【国際特許分類】
H02P 8/12 20060101AFI20230607BHJP
【FI】
H02P8/12
(21)【出願番号】P 2020060887
(22)【出願日】2020-03-30
【審査請求日】2022-04-20
(73)【特許権者】
【識別番号】000103792
【氏名又は名称】オリエンタルモーター株式会社
(74)【代理人】
【識別番号】110002310
【氏名又は名称】弁理士法人あい特許事務所
(72)【発明者】
【氏名】染谷 雅行
(72)【発明者】
【氏名】寳田 明彦
【審査官】柏崎 翔
(56)【参考文献】
【文献】特開2005-117762(JP,A)
【文献】特開平11-113289(JP,A)
【文献】特開2007-318947(JP,A)
【文献】特開平7-59395(JP,A)
【文献】特開2015-2609(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 8/12
(57)【特許請求の範囲】
【請求項1】
ロータ位置検出器を備えたステッピングモータをマイクロステップ駆動で制御するステッピングモータの制御装置であって、
前記制御装置は、メモリを備え、調整モードおよび使用モードを含む複数の動作モードを有しており、
前記調整モードにおいて、
指令と前記ロータ位置検出器の検出値
とに基づいて
制御周期毎に演算を行って制御データを生成し、前記制御データにより前記ステッピングモータの巻線電流を制御するクローズドループ制御
によって、前記ステッピングモータを加速運転および減速運転し、
前記指令を調整することにより前記ステッピングモータの適切な応答が得られたときの時系列に従う前記制御周期毎の前記制御データが前記メモリに保存され、
前記使用モードにおいて、前記調整モードにおいて生成され
て前記メモリに保存された前記制御データ
を時系列に従って制御周期毎に適用して前記ステッピングモータの巻線電流を制御するオープンループ制御により、前記調整モードにおける巻線電流を再現するようにして、前記ステッピングモータを加速運転および減速運転する、ステッピングモータの制御装置。
【請求項2】
前記調整モードにおける前記クローズドループ制御において、前記ステッピングモータの巻線電流の位相θiが、前記ロータ位置検出器の検出値θfbに所定値±K(ただし、Kは定数であり、前記加速運転および前記減速運転の一方において正符号を付し、前記加速運転および前記減速運転の他方において負符号を付す。)とロータ速度ωfbの関数F(ωfb)とを加えた位相θi=θfb±K+F(ωfb)となるように前記制御データが生成される、請求項1に記載のステッピングモータの制御装置。
【請求項3】
前記調整モードにおける前記クローズドループ制御において、前記ステッピングモータの巻線電流の位相θiが、前記ロータ位置検出器の検出値θfbに所定値±K(ただし、Kは定数であり、前記加速運転および前記減速運転の一方において正符号を付し、前記加速運転および前記減速運転の他方において負符号を付す。)を加えた位相θi=θfb±Kとなるように前記制御データが生成される、請求項1に記載のステッピングモータの制御装置。
【請求項4】
前記所定値±Kの絶対値が、電気角で90度未満に相当する値である、請求項2
または3に記載のステッピングモータの制御装置。
【請求項5】
前記所定値±Kの絶対値が、電気角で60度以上に相当する値である、請求項
4に記載のステッピングモータの制御装置。
【請求項6】
前記調整モードにおいて、前記加速運転および前記減速運転によって目標位置に向けてロータを移動させ、前記目標位置でのロータ速度が零になるように、前記加速運転を行う加速期間および前記減速運転を行う減速期間の時間幅を調整し、この調整済みの状態での前記制御データ
が前記メモリに保存され、前記メモリに保存された前記制御データに基づいて、前記使用モードにおける前記加速運転および前記減速運転が実行される、請求項1~
5のいずれか一項に記載のステッピングモータの制御装置。
【請求項7】
前記調整モードにおいて、前記加速運転および前記減速運転によって目標位置に向けてロータを移動させ、前記目標位置でのロータ速度が零になるように、前記加速運転を行う加速期間および前記減速運転を行う減速期間の時間幅を自動調整する自動調整手段をさらに含む、請求項
6に記載のステッピングモータの制御装置。
【請求項8】
前記調整モードにおいて生成され
て前記メモリに保存される制御データは、前記減速運転の後に前記目標位置が励磁安定点となるように前記ステッピングモータの巻線電流を制御する位置保持制御のための制御データを含み、前記調整モードにおいて、前記制御データに従って前記ロータを前記目標位置に位置保持する位置保持運転を行い、
前記使用モードにおいて、前記減速運転の後に、前記調整モードにおける前記位置保持制御のための制御データに基づいて前記ステッピングモータの巻線電流を再現することにより、前記ロータを前記目標位置に位置保持する位置保持運転を行う、請求項
6または
7に記載のステッピングモータの制御装置。
【請求項9】
前記制御データが、ロータ位置、位置指令、電流指令および電圧指令のうちの少なくとも一つを表す、請求項1~
8のいずれか一項に記載のステッピングモータの制御装置。
【請求項10】
前記使用モードにおける前記オープンループ制御が、前記ロータ位置検出器の検出値を用いずに行う前記ステッピングモータの巻線電流制御を含む、請求項1~
9のいずれか一項に記載のステッピングモータの制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ステッピングモータを制御するための装置に関する。
【背景技術】
【0002】
ステッピングモータは、励磁相が切り替わるたびに一定角度ずつ回転するように構成されている。ステッピングモータは、回転角度および回転速度を正確に制御できるモータであり、とりわけ、正確な移動および位置決めが必要な装置の駆動源として用いられる。ステッピングモータの駆動方法として、フルステップ駆動およびマイクロステップ駆動が知られている。フルステップ駆動は、入力パルスに応答して励磁相を切り替え、ステッピングモータの内部構造によって規定される基本ステップ角ずつロータを回転させる駆動方法である。マイクロステップ駆動は、励磁相を完全に切り替えるのではなく、巻線電流の配分を細かく分割することによって、基本ステップ角よりも小さい微小角度(マイクロステップ)ずつのロータ回転を実現する駆動方法である。
【0003】
ステッピングモータの一つの用途例は、チップ部品の検査装置やテーピング装置である。これらの装置では、複数のチップ部品を一定間隔で保持したキャリアテープを送るための駆動源として、ステッピングモータが用いられる。たとえば、0.4mm×0.2mm程度の大きさのチップ部品が、数mm程度のピッチでキャリアテープ上に担持される。このような用途では、ステッピングモータは、数度単位の微少角度を数ミリ秒単位の非常に短い時間で、繰り返し運転される。この場合に、微小なチップ部品を、いかに高速かつ正確に移動して位置決めできるかが、装置の能力に直結する。そこで、ステッピングモータのトルクを最大限に利用した加速および減速によって最短時間で目標位置に到達し、かつ目標位置到達後の振動を最小化できる位置決めが要求される。
【0004】
下記特許文献1は、ステッピングモータをマイクロステップ駆動するための制御装置を開示している。この制御装置は、指令に追従できないときにも脱調せずに最大トルクでステッピングモータを回転させることができる制御方式を採用している。この制御方式は、速度偏差の拡大を抑制し、振動の少ない安定した位置決め運転をも実現できる。ただし、特許文献1の制御方式は、数度単位の微少角度を数ミリ秒単位の短時間で移動して位置決めする動作を繰り返すことや、目標位置到達後の振動抑制を目的としたものではない。
【0005】
下記特許文献2は、フルステップ駆動によって、4パルスで電気角1周期分(4ステップ分)の移動および位置決めを行うステッピングモータ駆動装置を開示している。具体的には、ステッピングモータの数理モデルに基づいて各相の励磁切替のタイミング、すなわち時間間隔を求めることにより、短時間で目標位置に到達し、かつ振動が発生しない駆動を行おうとしている。
【0006】
下記特許文献3は、フルステップ駆動の移動量を電気角周期の半周期分、すなわち、2パルス分(2ステップ分)に限定する駆動方式を開示している。さらに、運転時の電流を大きくし、停止時の電流を下げており、いわゆるカレントアップおよびカレントダウンの機能が組み合わされている。それにより、移動時間の短縮が図られている。
下記特許文献4は、マイクロステップ駆動のクローズドループ制御により、加速・減速時にモータの最大トルクを使って、最短の移動および位置決めを実現しようとしている。具体的には、ロータ位置を検出するロータセンサの検出値をフィードバックするクローズドループ制御によって、最大トルクでの加速および減速を行う。加速時間および減速時間を調整することによって、目標停止位置での速度が零となるように調整する。そして、減速期間が終わって速度が零となったタイミングで、目標位置の位置指令を与えてロータ位置を保持する。
【先行技術文献】
【特許文献】
【0007】
【文献】特許第4195897号公報
【文献】特開2012-175730号公報
【文献】特開2018-196206号公報
【文献】特許第4250051号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
特許文献2の手法においては、同文献の
図4に示されているように、測定を行いながら、複数のパラメータを段階的に同定する必要がある。複数のパラメータを同時に同定するには、数値シミュレーションと実応答との比較を行いながら、実応答に整合するパラメータを探索的に求める必要がある。そして、複数のパラメータを同定する工程を経て、数値計算によってモータの応答をシミュレートしている。しかし、物理現象を完全にモデル化できているわけではない。そのため、シミュレーションモデルと実際の応答とが完全には一致せず、最適な励磁切替タイミングをシミュレーションモデルから求めるには至っていない。
【0009】
したがって、結局、複数の励磁切り替えタイミング、すなわち、複数の時間間隔を繰り返し調整しながら、振動が小さくなる時間間隔の組合せを探索する必要がある。しかも、得られる結果が最良となる保証はないので、様々な初期値を試す必要がある。これに要する作業量は、シミュレーションモデルを用いず、モータの応答を測定しながら、時間間隔を調整する場合の作業量とほぼ同程度である。
【0010】
さらに、特許文献2において採用されているフルステップ駆動は、モータトルクの利用効率が悪く、最短時間の移動および位置決めを要する用途に適さない。最短時間の移動のためには、モータが発生し得る最大トルクでの加速および減速を行う必要がある。ところが、フルステップ駆動時の回転中の発生トルクには、ロータ回転角度の正弦関数(sine function)で表される変動が生じるから、最大トルクでの運転を維持できない。しかも、フルステップ駆動は、運動モデルが複雑になり、調整が難しくなる問題もある。
【0011】
このように、特許文献2の手法には、最速の移動および位置決めを実現できないうえに、調整が難しく、かつ手間が掛かるという課題がある。
特許文献3においても、同文献の
図9に表れているように、加速期間および減速期間中にトルクが変動しており、利用可能なトルクの半分強が利用されているに過ぎない(同図の横軸のスケールは誤りであり、トルクFの波形に対応する変位幅は、基本ステップ角1.8度のモータの2ステップ分に相当するので、1.8度ではなく3.6度である)。また、特許文献2の場合と同じく、基本的にはフルステップ駆動であるため、最短時間での移動および位置決めを実現できない。また、フルステップ駆動であるため、移動量の自由度が少ないという問題もある。さらにまた、特許文献3の手法では、加速トルクおよび減速トルクの発生が、電流の切り替えを伴わない一定電流状態で行われ、モータの変位角の変化に応じて発生トルクの大きさおよび方向が変化している。しかし、この方法では、加速および減速の個別調整は行えず、加速および減速の傾きが等しい2等辺の三角駆動を前提としている。しかも、摩擦負荷などがある場合には減速が早まるから、目標位置に到達せずに調整不能となるおそれもある。
【0012】
特許文献3には、当該文献で言及されている先行技術について、パルス入力タイミングの調整が難しい、と記載されている。しかし、特許文献3の手法でも、タイミング調整が必要なことに変わりはない。特許文献3の手法の移動量は、基本ステップ角の2パルス分であるので、特許文献2の4パルス分よりも少ないから、タイミング調整は簡略化されると考えられる。しかし、特許文献3には、目標位置での振動を抑制するための具体的な手法についての記載はなく、振動抑制のためには、少なくとも2パルス目の電流切り替えタイミングの調整が必要になる。
【0013】
パルス間隔を調整する特許文献2,3の手法は、フルステップ駆動で用いられる数パルス分の調整には適用可能かもしれないが、無数のパルスでステッピングモータを駆動するマイクロステップ駆動に適用することは非常に困難であり、適切な電流波形を生成することは難しい。
特許文献4の手法は、非常に簡単な調整で最速の移動および位置決めを実現できるが、次に説明する2つの主要な課題がある。
【0014】
第1に、ロータ位置検出のために非常に高精度な検出器を必要とする。たとえば、チップサイズ1mm以下のチップ部品の検査装置などの用途においては、ステッピングモータに対して非常に高い位置決め精度が要求される。高精度に組み立てられた市販のハイブリッド型ステッピングモータの停止精度は、±1分(=1/21600回転)以下である。チップ部品の検査装置に要求されるモータ位置決め精度も同程度である。それに応じて、ステッピングモータの制御に使用するロータ位置検出器にも同等以上の分解能および精度が要求される。ロータ位置検出器の精度が悪いと、クローズドループ運転時のトルクに変動が生じ、応答にばらつきが出て、停止位置での振動発生の原因となる。しかし、分解能や精度の高いロータ位置検出器は高価であり、かつ大型になりやすい。しかも、高精度の検出を維持するには、ロータ位置検出器の組み付けにも特別な配慮を要するから、それがシステムコストの上昇を招く。また、サイズの大きな位置検出器は大きなスペースを占有する。そのうえ、負荷慣性の増大を招くので位置決め時間の増加の原因ともなる。
【0015】
第2に、外乱に対する安定性に課題がある。最大トルクでの加速時間および減速時間を精密に調整し、目標位置での速度をピンポイントで零に合わせる方法は、外乱による変動を抑制する手段を持っていない。つまり、外乱要因によって回転中のロータ位置に遅れや進みが生じてもトルクは一定である。たとえば、機構の摩擦や粘性負荷も装置の使用中に変動を生じる。また、モータトルクは、厳密には、周囲温度によりわずかに変化する。わずかな負荷変動やトルクの変動は、調整の狂いの要因となり、停止時の振動の要因となる。
【0016】
このように、特許文献4の手法は、最速の移動および位置決めを実現できるけれども、高精度のロータ位置検出器が必要であり、かつ外乱に対して脆弱なシステムであるという課題を有している。
この発明の一実施形態は、高精度なロータ位置検出器を要することなく、調整が簡単であり、発生トルクを有効に利用してロータを移動させることができるステッピングモータの制御装置を提供する。
【0017】
また、この発明の一実施形態は、外乱に対するロバスト性が良好であり、かつ調整が簡単であり、発生トルクを有効に利用してロータを移動させることができるステッピングモータの制御装置を提供する。
【課題を解決するための手段】
【0018】
この発明の一実施形態は、ロータ位置検出器を備えたステッピングモータをマイクロステップ駆動で制御するステッピングモータの制御装置を提供する。この制御装置は、調整モードおよび使用モードを含む複数の動作モードを有している。前記制御装置は、前記調整モードにおいて、前記ロータ位置検出器の検出値に基づいて前記ステッピングモータの巻線電流を制御するクローズドループ制御のための制御データを生成し、前記制御データに従って前記ステッピングモータを加速運転および減速運転する。前記制御装置は、前記使用モードにおいて、前記調整モードにおいて生成された前記制御データに基づいて前記ステッピングモータの巻線電流を制御するオープンループ制御により、前記調整モードにおける巻線電流を再現するようにして、前記ステッピングモータを加速運転および減速運転する。
【0019】
この構成によれば、制御装置は、マイクロステップ駆動でステッピングモータを制御するので、実質的に最大トルク(最大トルクまたはそれに近いトルク)を終始用いる加速運転および減速運転を行うことができる。それにより、トルク利用効率のよい制御装置を実現できる。
制御装置は、調整モードおよび使用モードにおいて、ステッピングモータをマイクロステップ駆動によって運転できる。調整モードでは、ロータ位置検出器の検出値を用いるクローズドループ制御によって、ステッピングモータの巻線電流が制御される。このとき、マイクロステップ駆動による加速運転および減速運転のための制御データが生成され、その制御データに従って加速運転および減速運転が行われる。使用モードにおいては、調整モードにおいて生成された制御データに基づくオープンループ制御のマイクロステップ駆動によって、加速運転および減速運転が行われる。それにより、調整モードのときの巻線電流を再現でき、調整モードのときと実質的に同じ加速運転および減速運転を実現できる。
【0020】
調整モードにおいて、運転時のパラメータを調整することにより、適切な加速運転および減速運転を実現できる。この適切な加速運転および減速運転を実現できたときに生成された制御データを保存し、使用モードにおいてその制御データを用いれば、適切な加速運転および減速運転を達成できる。
使用モードでは、オープンループ制御であるので、ロータ位置検出器の検出値を用いる必要がなく、したがって、ロータ位置検出器の検出精度に影響を受けずに、ステッピングモータを制御できる。調整モードにおいて実行されるクローズドループ制御では、ロータ位置検出器の検出値を用いるので、その検出精度に起因して、トルク変動が生じ、ステッピングモータの応答にばらつきが生じるかもしれない。それにより、たとえば、停止位置での振動が生じるかもしれない。しかし、このような挙動となった場合に生成される制御データは、破棄することとして、使用モードでは使わなければよい。すなわち、調整モードにおいて、適切なステッピングモータの応答が得られたときの制御データを保存して、その制御データを使用モードにおいて用いれば、その適切な応答を使用モードにおいて再現できる。したがって、ロータ位置検出器は、調整モードでの複数回の試行運転において適切な応答を少なくとも一度実現できるだけの検出精度および安定性(検出再現性)を有していれば足りる。
【0021】
特許文献4では、実際の使用時の運転においてクローズドループ領域が用いられるため、ロータ位置検出のために非常に高精度な検出器を要する。そのため、前述のような第1の課題がある。この実施形態は、特許文献4における第1の課題に対する解決手段を提供できる。
この発明の一実施形態では、前記制御装置は、メモリを備え、調整モードおよび使用モードを含む複数の動作モードを有している。前記制御装置は、前記調整モードにおいて、指令と前記ロータ位置検出器の検出値とに基づいて制御周期毎に演算を行って制御データを生成し、前記制御データにより前記ステッピングモータの巻線電流を制御するクローズドループ制御によって、前記ステッピングモータを加速運転および減速運転する。そして、前記指令を調整することにより前記ステッピングモータの適切な応答が得られたときの時系列に従う前記制御周期毎の前記制御データが前記メモリに保存される。前記使用モードにおいて、前記制御装置は、前記調整モードにおいて生成されて前記メモリに保存された前記制御データを時系列に従って制御周期毎に適用して前記ステッピングモータの巻線電流を制御するオープンループ制御により、前記調整モードにおける巻線電流を再現するようにして、前記ステッピングモータを加速運転および減速運転する。
この発明の一実施形態では、前記調整モードにおける前記クローズドループ制御において、前記ステッピングモータの巻線電流の位相θiが、前記ロータ位置検出器の検出値θfbに所定値±K(ただし、Kは定数であり、前記加速運転および前記減速運転の一方において正符号を付し、前記加速運転および前記減速運転の他方において負符号を付す。)とロータ速度ωfbの関数F(ωfb)とを加えた位相θi=θfb±K+F(ωfb)となるように前記制御データが生成される。
【0022】
ロータ位置の検出値θfbに所定値±Kを加算した巻線電流位相とすることによって、ロータに対して所定値Kだけ位相のずれた巻線電流位相となるので、その位相ずれに応じたトルクを発生させることができる。さらに、ロータ速度ωfbの関数F(ωfb)が加算された巻線電流位相を用いることにより、速度補償を行った制御データを生成させることができる。これにより、所定値±Kに応じたトルクを発生させ、かつ速度補償がされた制御データが生成されるので、調整モードにおいて適切な応答を得やすく、使用モードにおいてもその適切な応答を再現できる。
【0023】
モータ巻線電流の位相θiを表す式(θi=θfb±K+F(ωfb))において、ロータに一方向(たとえば正転方向)のトルクを与えるときには第2項の符号は正とされ、ロータに他方向(たとえば逆転方向)のトルクを与えるときには第2項の符号は負とされる。具体的には、正転方向へロータを回転させる場合に、加速運転では、巻線電流位相θi=θfb+K+F(ωfb)となるように制御データが生成され、減速運転では、巻線電流位相θi=θfb-K+F(ωfb)となるように制御データが生成される。反対に、逆転方向にロータを回転させる場合には、加速運転では、巻線電流位相θi=θfb-K+F(ωfb)となるように制御データが生成され、減速運転では、巻線電流位相θi=θfb+K+F(ωfb)となるように制御データが生成される。このように、所定値±Kの符号を反転させることによって、発生トルクの方向が反転させられる。
【0024】
なお、ロータ速度が低速であれば、速度補償のための関数F(ωfb)を省いて、θi=θfb±Kとしてもよい。
この発明の一実施形態では、前記所定値±Kの絶対値が、電気角で90度未満に相当する値である。
所定値±Kの絶対値を電気角で90度に相当する値とすることにより、最大トルクでの加速および減速が可能である。しかし、調整モードにおいて、所定値±Kの絶対値を電気角で90度に相当する値とすると、使用モードにおいて、外乱要因によって、回転中のロータ位置に遅れや進みが生じても、そのような変動を抑制することができない。そのため、ロータ位置の遅れや進みが拡大し、脱調するおそれがある。外乱要因の一例は、機構の摩擦や粘性負荷の変動であり、これらは装置の使用中に変動することがある。加えて、ステッピングモータのトルクは、周囲温度により僅かに変化するから、これも外乱要因となり得る。
【0025】
所定値±Kは、いわゆるモータ負荷角に対応する。所定値±Kの絶対値を電気角で90度未満に相当する値とすると、厳密には最大トルクを発生することができないが、回転中のロータ位置に遅れや進みが生じると、それに応じてモータ負荷角が変化して、トルクが変動する。このトルク変動は、ロータ位置の遅れや進みを抑制するように作用する。したがって、外乱による変動を抑制する手段を提供できるので、外乱に対するロバスト性を向上できる。こうして、特許文献4における前述の第2の課題に対する解決手段を提供できる。
【0026】
この発明の一実施形態では、前記所定値±Kの絶対値が、電気角で60度以上(より好ましくは70度以上、さらに好ましくは80度以上)に相当する値である。
この構成により、最大トルクに近いトルクで加速運転および減速運転を行うことができ、かつ外乱に対してロバストな制御系を実現できる。
この発明の一実施形態では、前記調整モードにおいて、前記加速運転および前記減速運転によって目標位置に向けてロータを移動させ、前記目標位置でのロータ速度が零になるように、前記加速運転を行う加速期間および前記減速運転を行う減速期間の時間幅を調整する。そして、調整済みの状態での前記制御データに基づいて、前記使用モードにおける前記加速運転および前記減速運転が実行される。
【0027】
この構成によれば、加速期間および減速期間の時間幅を調整することによって、ロータを目標位置まで移動させる動作を最適化することができる。加速期間および減速期間の時間幅の調整は、調整対象のパラメータが少ないので、比較的容易に行うことができる。
減速運転において一定の減速トルクが発生し、それに応じて一定の減速度でロータ速度が減少するならば、加速期間の時間幅が定まれば、減速期間の時間幅はそれに応じて一意に定まる。したがって、調整対象のパラメータは、実質的には加速期間の時間幅のみであるので、調整は一層容易になる。むろん、加速期間の時間幅および減速期間の時間幅を個別に調整してもよい。
【0028】
この発明の一実施形態では、前記制御装置は、前記調整モードにおいて、前記加速運転および前記減速運転によって目標位置に向けてロータを移動させ、前記目標位置でのロータ速度が零になるように、前記加速運転を行う加速期間および前記減速運転を行う減速期間の時間幅を自動調整する自動調整手段をさらに含む。
この構成によれば、加速期間および減速期間の時間幅を最適化するための調整を自動で行える。前述のとおり、調整対象のパラメータが少ないので、自動調整のためのアルゴリズムは複雑でなく、したがって、調整の自動化が容易である。
【0029】
この発明の一実施形態では、前記調整モードにおいて生成される制御データは、前記減速運転の後に前記目標位置が励磁安定点となるように前記ステッピングモータの巻線電流を制御する位置保持制御のための制御データを含む。前記制御装置は、前記調整モードにおいて、前記制御データに従って前記ロータを前記目標位置に位置保持する位置保持運転を行う。また、前記使用モードにおいて、前記制御装置は、前記減速運転の後に、前記調整モードにおける前記位置保持制御のための制御データに基づいて前記ステッピングモータの巻線電流を再現することにより、前記ロータを前記目標位置に位置保持する位置保持運転を行う。
【0030】
この構成によれば、目標位置において、位置保持運転が行われる。加速期間および減速期間の時間幅が適切に調整されると、減速期間の終了時において、ロータは目標位置に到達し、かつ速度が零である。そのタイミングで位置保持運転に切り替わることにより、振動を生じることなく、目標位置でロータを位置保持することができる。したがって、最速での位置決めを達成できる。
【0031】
この発明の一実施形態では、前記制御データが、ロータ位置、位置指令、電流指令および電圧指令のうちの少なくとも一つを表す。
ロータ位置を表す制御データとは、具体的には、調整モードで得られるロータ位置検出器の検出値を表すデータ(ロータ位置データ)であってもよい。位置指令を表す制御データとは、具体的には、励磁位置を指令するデータ(位置指令データ)であってもよい。電流指令を表す制御データとは、具体的には、ステッピングモータの巻線電流の指令値を表すデータであってもよい。電圧指令を表す制御データとは、具体的には、ステッピングモータの巻線に印加される電圧の指令値を表すデータであってもよい。これらのデータの一つ以上を用いることにより、使用モードにおいて、調整モードでの巻線電流を再現できる。
【0032】
この発明の一実施形態では、前記使用モードにおける前記オープンループ制御が、前記ロータ位置検出器の検出値を用いずに行う前記ステッピングモータの巻線電流制御を含む。
この構成によれば、使用モードで実行されるオープンループ制御において、ロータ位置検出器の検出値は用いられないので、使用モードにおける加速運転および減速運転は、ロータ位置検出器の検出精度の影響を受けない。したがって、高精度のロータ位置検出器を必要とすることなく、安定した運転が可能である。
【発明の効果】
【0033】
この発明によれば、高精度なロータ位置検出器を要することなく、調整が簡単であり、発生トルクを有効に利用してロータを移動させることができるステッピングモータの制御装置を提供できる。
【図面の簡単な説明】
【0034】
【
図1A-1B】
図1Aおよび
図1Bは、目標位置まで最短時間で移動して位置決めするための理想的な動作を示す。
【
図2】
図2は、フルステップ駆動におけるトルク変動を説明するための図である。
【
図3A】
図3Aは、フルステップ駆動による最速移動および位置決めの動作例を説明するための図である。
【
図3B】
図3Bは、調整が不良である場合の動作例を示す図である。
【
図4A-4C】
図4A、
図4Bおよび
図4Cは、最大トルクを用いた加速および減速による最速移動および位置決め動作のための運転パターンを示す。
【
図5】
図5は、この発明の一実施形態に係るステッピングモータの制御装置の構成例を説明するためのブロック図である。
【
図6】
図6は、前記制御装置が備える演算部による処理内容の一例を説明するための制御ブロック図である。
【
図7】
図7は、前記演算部の制御領域を説明するための図である。
【
図8】
図8は、オープンループ制御およびクローズドループ制御での角度-トルク特性を示す。
【
図12】
図12は、自動調整の処理例を説明するための図である。
【
図13】前記制御装置の自動調整モードによる自動調整動作の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【0035】
以下では、この発明の実施の形態を、添付図面を参照して詳細に説明する。
図1Aおよび
図1Bは、目標位置まで最短時間で移動して位置決めするための理想的な動作を示す。
図1Aは、モータ速度(ロータの回転速度)の理想的な時間変化を表す。
図1Bは、モータトルクの理想的な時間変化を表す。目標位置までの移動指令が入力されると、移動方向への最大トルク(最大加速トルク)を発生することによって、最大加速度で加速する。その後、トルクの方向を反転し、移動方向と反対方向への最大トルク(最大減速トルク)を発生することによって、最大減速度で減速する。加速期間および減速期間は、減速期間の終了時にモータ位置(ロータ位置)が目標位置に達して速度が零となるように調整される。減速期間が終了すると、目標位置を励磁して、ロータを目標位置に保持する。
【0036】
加速期間中に最大加速トルクを終始発生でき、減速期間中に最大減速トルクを終始発生することができるならば、加速期間および減速期間を適切に定めることによって、最速の移動および位置決めを実現できる。トルクが一定であれば等加速度運動となるから、ロータ速度の時間変化は
図1Aに表されているような三角形状となる。そのため、加速期間の時間幅を決めれば、減速期間の時間幅はそれに応じて自動的に定まる。したがって、加速期間の時間幅、すなわち、最大加速トルクから最大減速トルクへの切り替えタイミングの適値を見出すことが実際的な調整の目的となる。摩擦負荷の影響により、加速期間における加速度は減速期間における減速度よりも小さいので、通常は、加速期間の方が減速期間よりも長くなり、ロータ速度の時間変化は二等辺三角形状にはならない。しかし、摩擦負荷の影響下でも、加速期間および減速期間において一定の加速度および一定の減速度でそれぞれロータ速度が変化する。したがって、実質的な調整の目的が加速期間の時間幅、すなわち最大加速トルクから最大減速トルクへの切り替えタイミングの適値を見出すことであることに変わりはない。
【0037】
次に説明するように、フルステップ駆動では、加速期間および減速期間においてトルクが変動するので、加速期間において最大加速トルクを維持することができず、減速期間において最大減速トルクを維持することができない。
たとえば、ハイブリッド型のステッピングモータは、複数の小歯(ロータ小歯)を周上に一定の小歯ピッチで等間隔配置したロータと、これに対向配置されたステータとを備えている。より具体的には、ロータは、回転軸まわりに小歯ピッチの半分だけずらした2つのロータセグメントを備え、この2つのロータセグメントが回転軸に固定されている。一方のロータセグメントはS極に磁化され、他方のロータセグメントはN極に磁化されている。各ロータセグメントの周上に、一定の小歯ピッチで、複数(たとえば100個)の小歯が等間隔に配置されている。ステータは、ロータと同じ小歯ピッチで配置された複数の小歯(ステータ小歯)を有する複数の主極を備えている。
【0038】
2相のステッピングモータは、A相と、A相に対して90度位相のずれたB相と、A相に対して180度位相のずれた/A相と、B相に対して180度位相のずれた/B相とを有する。ステータは、A相、B相、/A相および/B相の電流が印加される巻線をそれぞれ施した複数の主極を有し、各主極上にロータに対向するステータ小歯が配置されている。A相の主極上のステータ小歯とロータ小歯とが正対しているとき、B相の主極上のステータ小歯はロータ小歯に対して4分の1ピッチ(電気角90度)だけずれており、/A相の主極上のステータ小歯はロータ小歯に対して4分の2ピッチ(電気角180度)だけずれており、/B相の主極上のステータ小歯はロータ小歯に対して4分の3ピッチ(電気角270度)だけずれている。
【0039】
2相励磁方式によるフルステップ駆動は、次の4つの状態を切り換える駆動方式である。第1状態は、A相をN極に励磁、B相をN極に励磁、/A相をS極に励磁、/B相をS極に励磁する状態(AB相励磁)である。第2状態は、A相をS極に励磁、B相をN極に励磁、/A相をN極に励磁、/B相をS極に励磁する状態(B/A相励磁)である。第3状態は、A相をS極に励磁、B相をS極に励磁、/A相をN極に励磁、/B相をN極に励磁する状態(/A/B相励磁)である。第4状態は、A相をN極に励磁、B相をS極に励磁、/A相をS極に励磁、/B相をN極に励磁する状態(/BA相励磁)である。
【0040】
AB相励磁の第1状態では、A相およびB相の主極がN極となり、/A相および/B相の主極がS極となる。したがって、A相およびB相のステータ小歯の中間位置(電気角での中間位置)にS極のロータセグメントのロータ小歯が位置し、/A相および/B相のステータ小歯の中間位置(電気角での中間位置)にN極のロータセグメントのロータ小歯が位置する状態が励磁安定点である。この状態から、B/A相励磁の第2状態に切り換えると、B相および/A相の主極がN極となり、/B相およびA相の主極がS極となる。それにより、B相および/A相のステータ小歯とS極のロータセグメントのロータ小歯とが引き合い、/B相およびA相のステータ小歯とN極のロータセグメントのロータ小歯とが引き合うので、それに応じて、トルクが発生する。このトルクは、B相および/A相のステータ小歯の中間位置(電気角での中間位置)である励磁安定点に対してロータ小歯と4分の1ピッチ(電気角90度)ずれている状態で最大であり、このときに最大トルクが発生する。ロータの回転に伴って、ロータ小歯が励磁安定点に近づくに従い、すなわち電気角のずれが小さくなるに従い、トルクが減少していく。ロータが4分の1ピッチ(電気角90度)回転して、B相および/A相のステータ小歯の中間位置(電気角での中間位置)にS極ロータセグメントの小歯が達すると、1ステップの移動(回転)が完了する。同様にして、励磁する相をAB相、B/A相、/A/B相、/BA相の順に切り換えることにより、ロータを1ステップずつ移動させ、かつ位置保持することができる。
【0041】
4分の1ピッチ(小歯ピッチの4分の1)が、ステッピングモータの基本ステップ角に相当する。フルステップ駆動では、基本ステップ角の間隔で、ロータを回転させることができ、かつロータ位置を保持することができる。フルステップ駆動のためのステッピングモータ駆動装置は、パルスが入力されるたびに、励磁する相をAB相、B/A相、/A/B相、/BA相の順に切り換え、それにより、ステッピングモータのロータを正転方向(CW:時計回り方向)に回転させる。励磁する相順を逆転することにより、ロータを逆転方向(CCW:反時計回り方向)に回転させることができる。
【0042】
換言すれば、正転相順(AB相、B/A相、/A/B相、/BA相の順)に従ってロータ位置に応じた励磁相を選択することで、ロータを正転方向に加速する加速トルクを発生できる。また、逆転相順(/BA相、/A/B相、B/A相、AB相の順)に従ってロータ位置に応じた励磁相を選択することで、ロータを逆転方向に加速する加速トルクを発生できる。
【0043】
図2は、フルステップ駆動におけるトルク変動を説明するための図である。各励磁状態におけるロータ位置(電気角)と発生トルクとの関係であるθ-T特性が
図2に示されている。電気角0度は、A相およびB相のステータ小歯の中間位置(電気角での中間位置)にS極ロータ小歯が位置している状態に相当する。AB相励磁ではトルクが発生せず、B/A相励磁では最大加速トルク(正転方向への最大トルク)が発生し、/A/B相励磁ではトルクが発生せず、/BA相励磁では最大減速トルク(逆転方向への最大トルク)が発生することが分かる。B/A相励磁のθ-T特性に着目すると、ロータ位置が電気角0度のときに最大加速トルクが発生するものの、ロータ位置が変動して電気角0度から増加するに従ってトルクが減少し、電気角90度を境にトルク方向が反転することが分かる。
【0044】
図3Aは、フルステップ駆動による最速移動および位置決めの動作例を説明するための図である。また、
図3Bは、調整が不良である場合の動作例を示す図である。
図3Aおよび
図3Bにおいて、曲線L1はモータ位置の指令値(指令位置)の時間変化を示し、曲線L2はモータ位置(実位置)の時間変化を示し、曲線L3は指令位置と実位置との偏差の時間変化を示し、曲線L4はモータ速度の時間変化を示す。ただし、
図3Bでは位置偏差(曲線L3)の図示は省略した。
【0045】
特許文献2は、フルステップ駆動によって4ステップ分(すなわち、小歯ピッチ分)の移動および位置決めを行う技術を開示している。指令位置を入力として行う位置制御によって特許文献2のような4ステップ移動および位置決めを行う例が
図3Aおよび
図3Bに示されている。
移動前の初期状態において、AB相励磁によってロータ位置が保持されており、この状態を電気角0度と定義する。第1ステップの指令位置は電気角90度であり、第2ステップの指令位置は電気角180度であり、第3ステップの指令位置は電気角270度であり、第4ステップの指令位置は電気角360度(=0度)である。したがって、2相励磁方式の場合には、第1ステップではB/A相励磁、第2ステップでは/A/B相励磁、第3ステップでは/BA相励磁、第4ステップではAB相励磁がそれぞれ実行される。
【0046】
そして、第1ステップ、第2ステップおよび第3ステップのそれぞれの時間幅T1,T2,T3を適切に調整することにより、
図3Aに示すように、第3ステップ(/BA相励磁)の終了時に目標位置(電気角360度)に到達して速度零となり、第4ステップ(AB相励磁)によって目標位置に位置保持できる。
調整が不良であると、
図3Bに示すように、第3ステップ終了時にロータが目標位置に到達しておらず、第4ステップ(AB相励磁)で目標位置が励磁されることによって、ロータが加速され、ロータ位置の振動が生じる。したがって、位置決め不良となる。
【0047】
第1~第4ステップの期間中はそれぞれの指令位置(曲線L1)が変化しないので、ロータ位置(曲線L2)の変化に伴って位置偏差(曲線L3)が変動する。位置偏差と発生トルクとの間には相関がある。
第1~第4ステップにおける位置偏差に基づいてロータ位置に対応する発生トルクを調べた結果を、
図2の曲線L5に示す。ただし、曲線L5は、第3ステップの終了時に目標位置に到達して速度零となる理想的なシナリオ(
図3A参照)に対応している。
【0048】
第1ステップ(B/A相励磁)の初期(電気角0度付近)に大きな位置偏差pe0が生じて最大加速トルクが発生する。その後、ロータの回転に伴って位置偏差が減少するのに従ってトルクが減少し、第1ステップの終期(電気角90度付近)には加速トルクがほぼ零となっている。第2ステップ(/A/B相励磁)の初期(電気角90度付近)には再び大きな位置偏差pe1が生じて大きな加速トルクが発生する。その後、ロータの回転に伴ってトルクが減少し、電気角180度を超えると減速トルクに転じている。そして、位置偏差の絶対値が大きくなることにより、減速トルクが増大していく。第2ステップの終期(電気角225度付近)では、絶対値の大きな負の位置偏差pe1′が生じて、比較的大きな減速トルクが発生している。第3ステップ(/BA相励磁)の初期(電気角225度付近)では、正の位置偏差pe2が生じて、再び加速トルクに転じ、ロータの回転に伴ってそのトルクが減少し、電気角270度付近で減速トルクに転じている。第3ステップの終期(電気角360度付近)に向かうに従って減速トルクが増加していき、絶対値の大きな負の位置偏差pe2′が生じて、ロータの回転が減速(制動)されていることが分かる。そして、第4ステップ(AB相励磁)では、発生トルクが零となり、位置保持される。
【0049】
このように、フルステップ駆動による1ピッチの移動においては、ロータの回転に伴って発生トルクが大きく変動する。そのため、最大トルクまたはそれに近いトルクを常時用いることができないので、ステッピングモータの発生トルクを効率的に利用することができない。しかも、
図2の曲線L5に表れているように、加速トルクと減速トルクとの切り替わり、すなわち、トルク方向の反転が、複数回(
図2の曲線L5の例では3回)生じている。このように、
図1に示すような理想的な位置決め動作にはほど遠く、トルクを効率的に利用できない。
【0050】
1相励磁によるフルステップ駆動でも同様である。1-2相励磁方式を採用すれば、ステップ角が基本ステップ角の2分の1となり、いわゆるハーフステップ駆動になるが、ロータ位置の変動によってトルクが変動する事情はフルステップ駆動の場合と同様である。
図4A、
図4Bおよび
図4Cは、最大トルクを用いた加速および減速による最速移動および位置決め動作のための運転パターンを示す。
図4Aは、指令位置に対するロータの実位置の偏差(位置偏差)の時間変化を示す。
図4Bは、ロータの実位置の時間変化(曲線L11)と、指令位置の時間変化(曲線L12)とを示す。
図4Cは、ロータ速度の時間変化を示す。
【0051】
1ピッチの移動の間を加速期間および減速期間に分けて、加速期間において最大加速トルクを発生し続け、減速期間において最大減速トルクを発生し続けることにより、最速で目標位置までロータを移動させることができる。そのためには、
図4Aに示すように、加速期間において位置偏差を電気角+90度に保持し、かつ減速期間において位置偏差を電気角-90度に保持する制御を行えばよい。このような制御は、フルステップ駆動では不可能だが、マイクロステップ駆動を用いることによって実現できる。特許文献3には、2相励磁を行う際に、マイクロステップでは最大トルクを出すことができない(同文献の段落0004)と記載されているが、誤りである。
【0052】
フルステップ駆動では、一定の巻線電流を用いるのに対して、マイクロステップ駆動では、電流の切り替わり点で中間レベルの電流値が適用される。多数の中間レベルを設けて電流値を変えて励磁相を切り換えることにより、ステッピングモータの機械的構造を変えることなく、ステップ角度を細分化することができる。中間段階数を大きくすることによって、ステップ角度が小さくなり、実質上、連続的に変化する駆動電流を適用することができる。このことは、実質上、連続的に変化する指令位置を与えて位置制御できることを意味する。
【0053】
最大トルクを終始発生することで実現できる三角形状の速度変化(
図4C参照。加速期間および減速期間のそれぞれにおける等加速度運動)に対応したロータ位置の変化は、
図4Bの曲線L11のとおりである。そこで、曲線L12に示すように、加速期間には電気角+90度の位置偏差となるように連続的に変化する指令位置を与え、減速期間には電気角-90度の位置偏差となるように連続的に変化する指令位置を与えて、マイクロステップ駆動を行う。それにより、加速期間の全範囲において最大トルクで加速でき、減速期間の全範囲において最大トルクで減速できる。
【0054】
そして、減速期間の終了時に目標位置に到達して速度が零になるように、加速期間(最大加速トルク期間)と減速期間(最大減速トルク期間)との切り替わりタイミングを適切に調整する。それにより、最速で目標位置に移動でき、かつ目標位置において振動を生じない最速位置決めを実現できる。
移動期間の全部において最大トルクを利用できるので、理想的に調整されたフルステップ駆動による位置決めよりも短時間での位置決めが可能である。しかも、フルステップ駆動では、第1ステップ、第2ステップおよび第3ステップの時間幅T1,T2,T3を調整する必要があるのに対して、マイクロステップ駆動による上記の位置決めは、加速期間と減速期間との切り替えタイミング、換言すれば加速期間の時間幅を調整すればよいので、調整が格段に容易である。
【0055】
図4A~
図4Cには、加速期間および減速期間の時間幅がほぼ等しく描かれているが、実際には、摩擦負荷の影響のために、加速期間の時間幅の方が減速期間の時間幅よりも長くなる。
図5は、この発明の一実施形態に係るステッピングモータの制御装置の構成例を説明するためのブロック図である。ステッピングモータの制御装置1は、マイクロステップ駆動によってステッピングモータ2を制御する。ステッピングモータ2は、たとえば、2相ハイブリッド型ステッピングモータであってもよい。基本ステップ角は、たとえば0.9度であってもよい。基本ステップ角は、前述のとおり、ロータ小歯ピッチの4分の1に相当する。すなわち、ロータ小歯ピッチが3.6度のときに、基本ステップ角が0.9度となる。ステッピングモータ2には、ロータ位置検出器3(位置センサ)が付属している。ロータ位置検出器3は、ステッピングモータ2のロータシャフトに固定されており、ロータ位置θfbを検出する。
【0056】
制御装置1は、演算部11と、メモリ12と、電流制御部13とを含む。演算部11は、典型的にはマイクロプロセッサである。演算部11にメモリ12が接続されている。メモリ12は、一つまたは複数の記憶メディアで構成することができる。メモリ12は、書込み可能で、かつ電源遮断時にもデータ保持が可能な記憶メディアを含むことが好ましい。演算部11は、メモリ12との間でデータのやり取りを行いながら、演算を行い、かつ電流制御部13を制御することができる。
【0057】
メモリ12には、所定の制御周期(たとえば62.5μ秒。16KHzに相当)の間隔の複数のロータ位置指令θcom(ロータ位置を指令する位置指令データ)を保存することができる。制御周期の間隔の複数のロータ位置指令θcomは、時系列に従って変化するロータ位置指令のプロファイル(位置指令プロファイル)を形成している。メモリ12は、複数の位置指令プロファイルを保存できる容量を有していてもよい。時系列に従う制御周期毎のロータ位置指令を表す配列変数θcom(n)がメモリ12に保存されてもよく、この配列変数θcom(n)によって位置指令プロファイルが定義されていてもよい。
【0058】
後述するように、制御装置1は、調整モードおよび使用モードを含む複数の動作モードで動作可能である。メモリ12には、調整モードにおいて適用される位置指令プロファイル(以下「調整モードプロファイル」という。)と、使用モードにおいて適用される位置指令プロファイル(以下「使用モードプロファイル」という。)とを格納することができる。
【0059】
メモリ12には、さらに、演算部11が実行する制御プログラムが格納されている。演算部11は、その制御プログラムを実行することにより、ステッピングモータ2を制御する。具体的には、演算部11は、前記所定の制御周期でメモリ12からロータ位置指令θcomを読み出し、これをロータ位置θfbと比較し、その比較結果に応じて、モータ巻線電流指令Iacom,Ibcomを生成して、電流制御部13に供給する。電流制御部13は、モータ巻線電流指令Iacom,Ibcomに基づいて、ステッピングモータ2の各相の巻線に電流を供給する。電流制御部13は、たとえば、2相インバータ回路を含み、A相モータ巻線電流指令IacomおよびB相モータ巻線電流指令Ibcomを増幅して、ステッピングモータ2のA相およびB相の巻線に電流を印加する。
【0060】
制御装置1は、外部機器接続のためのインタフェース14を有している。このインタフェース14には、設定器4を接続することができる。制御装置1だけでなく、設定器4を含めて、ステッピングモータ2の制御装置を構成しているとみなしてもよい。
設定器4は、パーソナルコンピュータであってもよい。設定器4は、たとえば、入力装置5、処理装置6および表示装置7を含む。処理装置6は、プロセッサ8および記憶装置9を含む。記憶装置9は、メモリ素子を含んでいてもよく、SDD(ソリッドステートドライブ)やHDD(ハードディスクドライブ)などの補助記憶装置を含んでいてもよい。プロセッサ8は、記憶装置9に格納されたプログラムを実行し、それによって、各種の機能を実現する。とくに、この実施形態では、プロセッサ8は、制御装置1の動作モードを切り替える指令を発生する機能、制御装置1に対してステッピングモータ2の駆動を指令する機能、制御装置1からステッピングモータ2の動作に関するデータを取得する機能、制御装置1のメモリ12に位置指令プロファイルを書き込む機能、制御装置1のメモリ12内の位置指令プロファイルを変更する機能などを実現する。
【0061】
設定器4は、ステッピングモータ2の制御動作を設定または調整するときに、必要に応じて接続されてもよい。設定器4は、メモリ12内のデータ(とくに位置指令プロファイル)を設定または変更したり、ステッピングモータ2を運転させるための運転指令を演算部11に与えたりすることができる。設定器4は、また、演算部11からデータを取得して、ステッピングモータ2の運転状態を表示装置7に表示することができる。具体的には、設定器4は、ロータ位置検出器3によって検出されるロータ位置信号や、ロータ位置信号を微分して得られるロータ速度信号を、インタフェース14を介して取得するように構成されていてもよい。
【0062】
図6は、演算部11による処理内容の一例を説明するための制御ブロック図である。演算部11は、メモリ12に格納された制御プログラムを実行することにより、
図6に示す複数の機能ブロックの機能を実現する。複数の機能ブロックは、第1の微分器21、第2の微分器22、速度補償器23、固定値発生器24、第1の速度差補償器25、第2の速度差補償器26、第1の判定器27、第2の判定器28、座標変換器29、第1の減算器30、第2の減算器31、第1の加算器32、第2の加算器33、第3の加算器34、第1のスイッチ素子35、第2のスイッチ素子36などを含む。ただし、これらの全てが備えられることは必須ではない。
【0063】
第1の減算器30は、ロータ位置指令θcomとロータ位置θfb(実位置)との位置偏差δθを演算する。第1の微分器21は、ロータ位置指令θcomを微分して速度指令ωcomを生成する。この第1の微分器21は省かれる場合がある。第2の微分器22は、ロータ位置θfb(実位置)を微分してロータ速度ωfb(ロータの回転速度)を生成する。速度補償器23は、ロータ速度ωfbに速度補償のための比例定数Kvを乗じる。固定値発生器24は、位置偏差δθが正の時に固定値+K(K>0)を発生し、位置偏差δθが負の時に固定値-Kを発生する。
【0064】
固定値Kは、調整モードと使用モードとで異なる値が用いられてもよい。たとえば、調整モードで用いられる固定値Kとしては、電気角で90度未満に相当する値が好ましい。また、調整モードで用いられる固定値Kは、電気角で60度以上(より好ましくは70度以上、さらに好ましくは80度以上)に相当する値であることが好ましい。使用モードでは、固定値Kを電気角90度に相当する値としてもよい。
【0065】
第2の減算器31は、速度指令ωcomからロータ速度ωfb(実速度)を減算して、速度偏差δωを出力する。この第2の減算器31は省かれる場合がある。第1の加算器32は、固定値発生器24が発生する固定値+Kまたは-Kと速度補償器23の出力Kv・ωfbとを加算する。
第1の速度差補償器25および第2の速度差補償器26は、減算器31から出力される速度偏差δωに速度差補償のための比例定数KdiおよびKdoをそれぞれ乗じる。これらの第1の速度差補償器25および第2の速度差補償器26は省かれる場合がある。
【0066】
第1の判定器27は、位置偏差δθと第1の加算器32の出力K+Kv・ωfbまたは-K+Kv・ωfbとの比較判定を行う。第1の判定器27は、-K+Kv・ωfb<δθ<K+Kv・ωfbの場合には、第1のスイッチ素子35を端子aに接続して第2の加算器33の出力を選択し、この条件を満たさないときには、第1のスイッチ素子35を端子bに接続して第3の加算器34の出力を選択する。第2の判定器28は、位置偏差δθおよび速度偏差δωの符号(正負)が不一致であれば第2のスイッチ素子36をオンさせて第2の速度差補償器26の機能を有効にし、それらが一致しているときは第2のスイッチ素子36をオフさせて第2の速度差補償器26の機能を無効にする。
【0067】
第2の加算器33は、ロータ位置指令θcomと第1の速度差補償器25の出力Kdi・δωとを加算し、その加算結果を第1のスイッチ素子35の端子aに与える。この第2の加算器33は省かれる場合がある。第3の加算器34は、第2のスイッチ素子36を介して加えられる第2の速度差補償器26の出力Kdo・δωと、第1の加算器32の出力K+Kv・ωfbまたは-K+Kv・ωfbと、ロータ位置θfbとを加算し、その加算結果を第1のスイッチ素子35の端子bに与える。第2のスイッチ素子36は省かれる場合がある。
【0068】
座標変換器29は、第1のスイッチ素子35を介して与えられる後述の電流指令位相θiに基づいて、電流指令Iacom=Ki・sinθiおよびIbcom=Ki・cosθiを出力する。ただし、Kiは定数である。
このような構成により、演算部11は、ロータ位置指令θcomとロータ位置θfb(実位置)とのいずれかに基づいて電流指令位相θiを計算し、この電流指令位相θiに基づいてA相電流指令IacomおよびB相電流指令Ibcomを生成する。ロータ位置指令θcomに基づいて計算される電流指令位相θiを用いるときには、ロータ位置θfbが用いられないので、通常のオープンループステッピングモータ制御系と同様の制御系となる。
【0069】
図7は、演算部11の制御領域を説明するための図である。演算部11は、位置偏差δθおよび速度偏差δωに応じて区分される複数の制御領域A~Eを有している。具体的には、位置偏差δθに関して、2つの閾値-K+Kv・ωfbおよび+K+Kv・ωf
bが定められ、それにより、3つの制御領域D,C;E;A,Bに区分されている。さらに、速度偏差δωの符号が位置偏差δθと一致するか否かにより、制御領域C,Dのいずれか、または制御領域A,Bのいずれかが選択される。
【0070】
制御領域Eは、電流指令位相θiをロータ位置指令θcomに基づいて求めるオープンループ領域である。制御領域A~Dは、電流指令位相θiをロータ位置θfbに基づいて求めるクローズドループ領域である。電流指令位相θiをロータ位置指令θcomとロータ位置θfbとのいずれに基づいて計算するか、すなわち、オープンループ制御およびクローズドループ制御のいずれを適用すべきかは、位置偏差δθに基づいて判定される。
【0071】
具体的には、第1の判定器27は、位置偏差δθが下式(1)の関係を満たすときに、スイッチ素子35を端子a側に接続する。これにより、下式(2)に示すように、加算器33の加算結果が電流指令位相θiとしてスイッチ素子35から出力される。
-K+Kv・ωfb<δθ<+K+Kv・ωfb ・・・(1)
θi=θcom+Kdi・δω ・・・(2)
このように、位置偏差δθが式(1)に示す範囲にある場合には、電流指令位相θiがロータ位置指令θcomに基づいて計算され、オープンループ制御が行われる(
図7における領域E参照)。
【0072】
電流指令位相θiをθi=θcomとしてもよい。式(2)のように
速度偏差δωに基づく項Kdi・δωを付加すれば、回転時の振動を抑制する上で有効である。このような振動抑制が必要でないときには、Kdi=0として、振動抑制項Kdi・δωを無効にすればよい。このときには、第1の速度差補償器25および第2の加算器33が省かれてもよい。
第1の判定器27は、位置偏差δθの範囲が式(1)の範囲を超えたとき、すなわち、δθ>+K+Kv・ωfbもしくはδθ<-K+Kv・ωfbのときにスイッチ素子35を端子b側に接続する。この場合、第2の判定器28は、位置偏差δθと速度偏差δωの符号(正負)が一致した時のみスイッチ素子36をオフするので、結局、以下の条件a~dに応じた4つの電流指令位相θiが計算され(
図7における領域A~D参照)、これらが該条件a~
dに応じてスイッチ素子35から出力される。
【0073】
条件a(領域A):δθ>+K+Kv・ωfb,δθ>0,δω>0
θi=θfb+K+Kv・ωfb ・・・(3)
条件b(領域B):δθ>+K+Kv・ωfb,δθ>0,δω<0
θi=θfb+K+Kv・ωfb+Kdo・δω ・・・(4)
条件c(領域C):δθ<-K+Kv・ωfb,δθ<0,δω<0
θi=θfb-K+Kv・ωfb ・・・(5)
条件d(領域D):δθ<-K+Kv・ωfb,δθ<0,δω>0
θi=θfb-K+Kv・ωfb+Kdo・δω ・・・(6)
式(2)および式(3)~(6)によって演算される電流指令位相θiは、座標変換器29に入力されて、各相についての電流指令Iacom,Ibcomに変換される。
【0074】
なお、ステッピングモータ2は2相構造のものに限定されず、たとえば3相、5相構造のものでもよい。この場合、座標変換器29は、電流指令位相θiをステッピングモータ2の相数に対応した数の電流指令に変換する。
式(2)に従う電流指令位相θiによれば、固定値Kが電気角90度に相当する値であるときに、ステッピングモータ2が最大トルクで指令速度に追従するように加速されることになる。固定値Kが電気角90度に近い値であれば、最大トルクに近いトルクを発生できる。このとき、判別式(1)中に速度補償の項Kv・ωfbを含ませてあるので、巻線インダクタンスによる電流の遅れや演算の遅れを補償した最大トルク発生ポイントでの切り替えが可能になる。
【0075】
一方、ロータ位置θfb(実位置)に基づいて決定される電流指令位相θi、つまり、式(3)~(6)によって演算される電流指令位相θiによれば、クローズドループ制御を実現でき、次のような効果が得られる。すなわち、たとえば、ステッピングモータ2が正転方向に過剰回転する場合には、速度偏差δωが負になるとともに、位置偏差δθが正となるので、式(4)に基づいて電流指令位相θiが決定される。この場合、式(4)の第3項Kdo・δωが負の値となるので、ロータ位置θfbに対する進み角が小さくなり、その結果、トルクが減少する。
【0076】
このように、発生トルクを減少して速度偏差を抑制するように励磁位相が設定されるので、速度偏差の拡大によるロータの過剰回転やハンチング動作(オーバーシュートおよびアンダーシュート)を防止して、ロータを安定かつ速やかに位置決めすることができる。式(6)によって決定される電流指令位相θiによっても、ロータの安定かつ速やかな位置決めが可能になる。
【0077】
式(4)におけるKdo・δωの項が固定値Kより大きくなると、逆方向のトルクが発生することになる。そこで、係数Kdoの値は、適宜な速度偏差の抑制効果が得られるように調整される。
速度偏差抑制項Kdo・δωが必要でないときには、係数Kdo=0とすればよい。この場合には、第2の速度差補償器26および第2のスイッチ素子36は必要ではない。前述の振動抑制項Kdi・δωも不要であれば、さらに、第1の微分器21および減算器31も省かれてもよい。
【0078】
なお、式(3)、(5)によって決定される電流指令位相θiによれば、固定値Kが電気角90度に相当する値であるときにモータが最大トルクを発生するような進角値が設定されることになる。固定値Kが電気角90度に近い値であれば、最大トルクに近いトルクを発生するような進角値が設定される。
上記の構成は、ロータ速度ωfbが速度指令ωcomに達していない場合の位置偏差δθ、速度偏差δωの極性判別結果に基づいて、固定値Kに応じた大きなトルクを発生する進角値を使用し、ロータ速度ωfbが速度指令ωcomを超える場合の同極性判別結果に基づいて、上記大きなトルクを発生する進角値に対して、速度偏差δωに係数を乗じた値を加算する(速度偏差δωの極性はδθの極性と逆なので、この加算によって進角値は減少する)。
【0079】
進角補正値(上記の例では、Kv・ωfb)としては、ロータ速度ωfbの比例関数(一次関数)だけでなく、2次関数や3次関数等を使用してもよい。そこで、これらを関数F(ωfb)と表すことにすると、前述の式(2)~(6)は、次の式(7)~(11)のように書き直すことができる。
領域E:-K+F(ωfb)<δθ<+K+F(ωfb)
θi=θcom+Kdi・δω ・・・(7)
領域A:δθ>+K+F(ωfb),δθ>0,δω>0
θi=θfb+K+F(ωfb) ・・・(8)
領域B:δθ>+K+F(ωfb),δθ>0,δω<0
θi=θfb+K+F(ωfb)+K
do・δω ・・・(9)
領域C:δθ<-K+F(ωfb),δθ<0,δω<0
θi=θfb-K+F(ωfb) ・・・(10)
領域D:δθ<-K+F(ωfb),δθ<0,δω>0
θi=θfb-K+F(ωfb)+K
do・δω ・・・(11)
図8は、通常のオープンループ制御を行っているときと、前記式(1)~(6)に従ってステッピングモータ2を制御するときとのステッピングモータ2の角度-トルク特性(θ-T特性)を示す。ここでは、K=90度とし、速度補償のための比例定数Kvを零として速度補償を行わない場合を例にとって説明する。
【0080】
通常のオープンループ制御の場合には、ステッピングモータ2は、励磁安定点から電気角で90度ずれた位置で最大トルクを発生し、電気角180度の不安定点を超えると発生トルクの方向が変わって脱調してしまう。
前記式(1)~(6)を適用する場合にも、-90度~+90度の電気角範囲(-0.9度~+0.9度)は、領域E(-K≦δθ≦K)に相当するので、オープンループ制御が行われて、ロータの電気角に応じてトルクが変動する。その一方で、電気角が-90度未満の範囲および電気角が+90度を超える範囲、すなわち、δθ<-Kの範囲および+K<δθの範囲では、電流指令位相θiをロータ位置θfbに基づいて定めるクローズドループ制御(フィードバック制御)となる。そのため、ロータの電気角によらずに、すなわち位置偏差δθによらずに、最大トルクが発生する。
【0081】
そこで、ロータ位置によらずに位置偏差δθの絶対値がKを超えるように指令位置を設定すれば、クローズドループ領域での制御が行われる。つまり、ロータ位置に対して電気角で+Kまたは-Kだけ位相をずらした位置を励磁して最大トルクを発生するクローズドループ制御を実現できる。これにより、ロータ位置によらずに最大トルクを発生させるように、ステッピングモータ2の励磁位置を実質上連続的に変動させることができる。このことは、比例定数Kvを零以外の値として速度補償を行う場合も同様である。
【0082】
固定値Kを電気角90度未満とすると、クローズドループ制御によって最大トルクを発生させることはできないが、電気角90度に近い値とすることにより、ロータ位置によらずに最大トルクに近いトルクを発生させることができる。
この実施形態において、制御装置1は、複数の運転モードを含み、その複数の運転モードは、調整モードと使用モードとを含む。調整モードは、最速移動および位置決めのための位置指令プロファイルを見出して設定するために用いられる。使用モードは、調整モードで設定されてメモリ12に格納された位置指令プロファイル(使用モードプロファイル)に基づいてステッピングモータ2を運転するために用いられる。
【0083】
調整モードにおいては、前記式(7)~(11)に従って、ステッピングモータ2を制御する。より具体的には、クローズドループ制御が行われる領域A~Dを用いて、ほぼ最大トルクによる加速およびほぼ最大トルクによる減速によって目標位置までほぼ最速で移動し、目標位置で領域Eを用いるオープンループ制御によって位置保持するようにして、最速位置決めを達成できる位置指令プロファイルが見出される。
【0084】
ただし、式(7)の振動抑制項Kdi・δωは、この実施形態では、不要なので、Kdi=0とする。したがって、領域Eでは、θi=θcomとなる。
また、式(9)(11)において、速度偏差抑制項Kdo・δωは、トルク偏差を抑制して、速度偏差δωの拡大を抑制する制御を行っている。しかし、加速中および減速中のトルクを常にほぼ最大としたい本実施形態では、速度偏差抑制項は必要ないので、Kdo=0として使用しない。
【0085】
よって、前記式(7)~(11)は、次の式(7a)~(11a)のように変形して適用される。式(8)および(9)は同形の式(8a)(9a)となり、式(10)および(11)は同形の式(10a)(11a)となる。そして、速度偏差δωによらない制御となる。
領域E:-K+F(ωfb)<δθ<+K+F(ωfb)
θi=θcom ・・・(7a)
領域A,B:δθ>+K+F(ωfb)
θi=θfb+K+F(ωfb) ・・・(8a)(9a)
領域C,D:δθ<-K+F(ωfb)
θi=θfb-K+F(ωfb) ・・・(10a)(11a)
調整モードでは、固定値Kが、電気角90度未満の値に定められる。調整モードで適用される固定値Kは電気角60度以上であることが好ましく、電気角70度以上であることがより好ましく、たとえば電気角80度程度またはそれ以上の値であってもよい。
【0086】
クローズドループ領域A~Dにおいて、固定値Kはモータ負荷角に相当し、ステッピングモータ2の発生トルクは、次式(12)で表される。ただし、Ktはトルク定数、Iは巻線電流である。K=80度の場合には、K=90度の場合の98.5%のトルクを発生するので、ほぼ最大トルクを発生することができる。K=70度では94.0%のトルクを発生し、K=60度でも86.6%のトルクを発生するので、ほぼ最大トルクの発生が可能である。そこで、便宜上では、以下では、式(12)のトルクTを最大トルクという場合がある。
【0087】
T=Kt・I・sin(K) ・・・(12)
図9A~
図9Dは調整モードによる動作例を説明するための図であり、理想的な動作を実現する位置指令プロファイル(調整モードプロファイル)が設定されている例を示す。同じく、
図10A~
図10Dは調整モードによる動作例を説明するための図であり、減速期間の終了より前にロータ位置が目標位置を超えてしまう場合の動作に対応している。さらに同じく、
図11A~
図11Dは調整モードによる動作例を説明するための図であり、ロータ位置が目標位置に届く前に減速期間が終了してしまう場合の動作に対応している。
図9A,10A,11Aは位置指令プロファイル(調整モードプロファイル)を示し、
図9B,10B,11Bは発生トルクの時間変化を示し、
図9C,10C,11Cはロータ速度の時間変化を示し、
図9D,10D,11Dはロータ位置の時間変化を示す。
【0088】
調整モードのための位置指令プロファイル(調整モードプロファイル)は、設定器4からメモリ12に予め書き込まれる。調整モードにおいて、演算部11は、メモリ12から調整モードプロファイルに含まれるロータ位置指令を読み出し、そのロータ位置指令に従って、モータ巻線電流指令Iacom,Ibcomを生成する。
調整モードプロファイルを構成するロータ位置指令は、次に説明する第1ステップ、第2ステップおよび第3ステップを実行する指令を構成している。
【0089】
第1ステップは加速動作(加速運転)であり、第1ステップの指令は加速指令である。加速指令は、たとえば、ロータの初期位置(移動前の位置)に対して+3.6度(電気角360度に対応)の位置を指令するロータ位置指令θcomであってもよい。この場合、位置偏差δθは固定値+Kと速度補正項F(ωfb)(たとえば、F(ωfb)=Kv・ωfb)との和よりも大きくなるので、クローズドループ領域A,Bに入る。それにより、電流指令位相θiは、式(8a)(9a)に従い、θi=θfb+K+F(ωfb)となるので、ステッピングモータ2は正転方向(CW)にトルクを発生し、ロータが加速される。
【0090】
加速指令は、第1ステップの期間中、すなわち加速期間中に、終始、式(12)の最大トルクを発生できるように定められる。より具体的には、加速指令は、ロータの初期位置に対して、目標位置までの移動量の3/4以上(電気角で270度以上)に相当する位置を指令するロータ位置指令であることが好ましい。たとえば、運転開始後1ミリ秒で目標位置の半分程度、すなわちロータ位置が+1.8度(電気角180度に相当)の付近に達するとすれば、1ミリ秒/62.5μ秒=16なので、0~15番目のロータ位置指令θcom(0)~θcom(15)=+3.6度(電気角360度相当)を加速指令とすればよい。
【0091】
第2ステップは減速動作(減速運転)であり、第2ステップの指令は減速指令である。第2ステップは、第1ステップの終了、すなわち、加速期間の終了によって開始される。具体的には、第2ステップは、目標位置の半分程度、すなわちロータ位置が+1.8度(電気角180度相当)の付近に達した時点で開始される。具体的には、減速指令は、たとえば、0度の位置を指令するロータ位置指令θcomであってもよい。たとえば、運転開始後1ミリ秒で減速指令を発生するとすれば、16番目のロータ位置指令θcom(16)=0度(電気角0度相当)とする。位置偏差δθは固定値-Kと速度補正項F(ωfb)(たとえば、F(ωfb)=Kv・ωfb)との和よりも小さくなるので、クローズドループ領域C,Dに入る。それにより、電流指令位相θiは、式(10a)(11a)に従い、θi=θfb-K+F(ωfb)となるので、ステッピングモータ2は逆転方向(CCW)にトルクを発生し、ロータが減速される。
【0092】
減速指令は、第2ステップの期間中、すなわち減速期間中に、終始、式(12)の最大トルクを発生できるように定められる。より具体的には、減速指令は、目標位置までの半分まで移動した時点のロータ位置に対して、目標位置までの移動量の1/4以上(電気角で90度以上)の遅れに相当する位置(電気角90度以下に相当)を指令する位置指令であることが好ましい。たとえば、減速指令の開始後、1ミリ秒で目標位置に到達するとすれば、1ミリ秒/62.5μ秒=16なので、16~31番目のロータ位置指令θcom(16)~θcom(31)=0度(電気角0度相当)を減速指令とすればよい。
【0093】
最大トルクで加速する加速期間(第1ステップの期間)に連続して最大トルクで減速することにより、加速期間の時間幅T11とほぼ等しい時間幅T12の減速期間(第2ステップの期間)の終了時に、ロータ速度は、零となる。厳密には、摩擦負荷の影響のために、加速期間の時間幅T11の方が減速期間の時間幅T12よりも長くなる。
第3ステップは目標位置でロータを保持する位置保持動作(位置保持運転)であり、第3ステップの指令は位置保持指令である。第3ステップは、第2ステップの終了、すなわち減速期間の終了によって開始される。減速期間の終了時には、ロータ速度は零となり、その状態で第3ステップが開始される。より具体的には、位置保持指令(停止指令)は、目標位置である+3.6度(電気角360度相当)の位置を指令するロータ位置指令θcomであってもよい。このとき、-K+F(ωfb)<δθ<+K+F(ωfb)であるので、オープンループ領域(領域E)となり、電流指令位相θi=θcomとなる。
【0094】
加速期間の時間幅T11および減速期間の時間幅T12が適切であれば、すなわち、実際的には、加速期間の時間幅T11が適切で、加速指令から減速指令に切り替わるタイミングが適切であれば、ステッピングモータ2の応答は、
図9Cおよび
図9Dに示す状態となる。このとき、目標位置である+3.6度にロータが到達したときにロータ速度が零となり、そのまま+3.6度の位置に励磁される。したがって、ロータは、目標位置において、実質的な振動を生じることなく停止する。
【0095】
加速期間の時間幅T11が長すぎ、加速指令から減速指令に切り替わるタイミングが遅いときは、ステッピングモータ2の応答は、
図10Cおよび
図10Dに示す状態となる。すなわち、目標位置である+3.6度を過ぎてもロータ速度が正であり、目標位置を行き過ぎてからロータ速度が零となる。この時点で、+3.6度の位置に位置保持する位置保持指令(停止指令)が入力されると、ロータは、行き過ぎた位置から目標位置に戻される。その後は、目標位置を中心とした振動が生じ、その収斂を待って、位置決めが完了する。
【0096】
加速期間の時間幅T11が短すぎ、加速指令から減速指令に切り替わるタイミングが早いときは、ステッピングモータ2の応答は、
図11Cおよび
図11Dに示す状態となる。すなわち、目標位置である+3.6度の手前でロータ速度が零となってしまう。この時点で、+3.6度の位置に位置保持する位置保持指令(停止指令)が入力されると、ロータは、手前の位置から目標位置に向かって再加速する。その後は、目標位置を中心とした振動が生じ、その収斂を待って、位置決めが完了する。
【0097】
調整モードは、設定器4をインタフェース14に接続し、設定器4からモード指令を制御装置1に入力することによって開始できる。調整モードでの調整は、手動または自動で行うことができる。
手動による調整は、次のとおりである。
作業者は、設定器4の入力装置5を操作し、調整モードプロファイル(
図9A,10A,11A参照)をメモリ12に書き込んだうえで、制御装置1に対して、調整モードによる位置決め試行運転を指令する。調整モードプロファイルは、具体的には、時系列に従うロータ位置指令を表現した配列変数θcom(n)である。
【0098】
制御装置1は、メモリ12に書き込まれた調整モードプロファイルに従って、前述のような第1ステップ、第2ステップおよび第3ステップを含む位置決め試行運転を実行する。
この位置決め試行運転の際に、ロータ位置検出器3が検出するロータ位置θfbは、インタフェース14を介して、設定器4に入力される。さらに、演算部11でロータ位置θfbを微分して得られるロータ速度ωfbも、インタフェース14を介して、設定器4に入力される。設定器4は、入力されるロータ位置θfbおよびロータ速度ωfbを表示装置7の画面上に表示(たとえばグラフ形式で表示)する(
図9C,10C,11C;9D,10D,11D参照)。
【0099】
位置決め試行運転の実行に際して、演算部11は、制御周期毎に、電流指令位相θiを演算し、この電流指令位相θiを座標変換してモータ巻線電流指令Iacom,Ibcomを生成する(
図6参照)。時系列に従って演算周期毎に生成される複数の電流指令位相θiは、時系列に従う配列変数θi(n)として、メモリ12に保存される。電流指令位相θiの配列変数θi(n)は、メモリ12に保存されるとともに、またはメモリ12に保存する代わりに、インタフェース14を介して、設定器4に入力され、設定器4内の記憶装置9に保存されてもよい。
【0100】
作業者は、設定器4の表示装置7に表示されたロータ位置θfbおよびロータ速度ωfbの時間変化(すなわちステッピングモータ2の応答)を確認して、加速期間の時間幅T11および減速期間の時間幅T12が適正かどうかを判断する。より具体的には、加速期間の時間幅T11が長すぎれば、すなわち、加速から減速に切り換えるタイミングが遅ければ(
図10A~10D参照)、加速期間の時間幅T11を短くし、加速から減速への切り替えタイミングを早めるように、メモリ12内の調整モードプロファイルを変更する。反対に、加速期間の時間幅T11が短すぎれば、すなわち、加速から減速に切り換えるタイミングが早ければ(
図11A~11D参照)、加速期間の時間幅T11を長くし、加速から減速への切り替えタイミングを遅らせるようにメモリ12内の調整モードプロファイルを変更する。むろん、加速期間の時間幅T11の変更に応じて、減速期間の時間幅T12も変更される。
【0101】
メモリ12内の調整モードプロファイルの変更に際しては、インタフェース14を介してメモリ12内のデータを直接編集してもよい。また、設定器4の記憶装置9内に保存されている調整モードプロファイルを編集し、その編集後の調整モードプロファイルを、インタフェース14を介して、メモリ12に書き込むようにしてもよい。むろん、複数の異なる調整モードプロファイルを準備しておき、調整モードにおいて用いる調整モードプロファイルを切り替えてもよい。この場合に、複数の調整モードプロファイルは、メモリ12に予め格納されていてもよいし、設定器4の記憶装置9に格納されていてもよい。
【0102】
このようにして、加速期間および減速期間の時間幅T11,T12(より具体的には、加速から減速に切り換えるタイミング)が適切に調整され、速度零で目標位置に到達する状態(
図9A~9D参照)になれば、調整を終了する。このように適切に調整された状態で取得される電流指令位相θiを、以下では「電流指令位相θi
*」と記して区別する。適切に調整された状態で取得された電流指令位相θi
*の配列変数θi
*(n)は、使用モードのための位置指令プロファイル(使用モードプロファイル)を表すロータ位置指令の配列変数θcom(n)=θi
*(n)として用いられる。
【0103】
調整モードにおいて生成される電流指令位相θiの配列変数θi(n)がメモリ12に格納される場合には、調整モードを終了するときの配列変数θi*(n)が、ロータ位置指令の配列変数θcom(n)(使用モードプロファイル)として扱われる。調整モードにおいて生成される電流指令位相θiの配列変数θi(n)がメモリ12に格納されず、設定器4の記憶装置9に保存されるときには、作業者は、適切に調整された状態で取得された電流指令位相θi*の配列変数θi*(n)を、使用モードプロファイル(使用モードのためのロータ位置指令の配列変数θcom(n))として、インタフェース14を介して、メモリ12に書き込む。
【0104】
その後、作業者は、入力装置5を操作して、制御装置1の動作モードを使用モードに設定して、調整を終える。設定器4は、その後、インタフェース14から取り外されてもよい。
適切に調整された電流指令位相θi
*の配列変数θi
*(n)で表される使用モードプロファイルは、
図4Bの曲線L12で表されるようなプロファイルとなる。
【0105】
前述のような調整を自動で実行するためのプログラムを設定器4に組み込むことも可能である。このような自動調整プログラムの動作の一例を
図12に示す。
作業者が入力装置5を操作して自動調整を指令すると、プロセッサ8は、制御装置1の動作モードを調整モードに設定する(ステップS1)。プロセッサ8は、さらに、記憶装置9から調整モードプロファイルを読み出し、インタフェース14を介して制御装置1のメモリ12に書き込む(ステップS2)。制御装置1のメモリ12に予め調整モードプロファイルが格納されていれば、この処理は省かれてもよい。
【0106】
次いで、プロセッサ8は、制御装置1に対して、位置決め試行運転を指令する(ステップS3)。これに応答して、演算部11は、メモリ12から調整モードプロファイルを読み出して、位置決め試行運転を実行する。演算部11は、位置決め試行運転中に制御周期毎に生成されるロータ位置θfb、ロータ速度ωfbおよび電流指令位相θiのデータを、インタフェース14を介して、設定器4に送信する。プロセッサ8は、これらを受信して時系列に従って記憶装置9に格納する(ステップS4)。ただし、前述のとおり、電流指令位相θiの時系列データは、制御装置1内のメモリ12に格納されてもよく、その場合には、電流指令位相θiのデータを設定器4に取り込む必要はない。
【0107】
プロセッサ8は、適正な位置決め運転が行われたかどうかを判定する(ステップS5)。たとえば、プロセッサ8は、ロータ位置θfbが目標位置に到達したときのロータ速度ωfbの絶対値が基準値以下かどうかを判定してもよい。また、プロセッサ8は、ロータ速度ωfbが零になったときのロータ位置θfbが基準範囲内かどうかを判定してもよい。より具体的には、ロータ速度ωfbが零になったときのロータ位置θfbが、目標位置(たとえば、3.6度)を中心とした±0.05度の基準範囲内(3.55度≦θfb≦3.65度)かどうかを判定してもよい。
【0108】
プロセッサ8は、適正な位置決め運転が行われなかったと判定すると(ステップS5:NO)、調整モードプロファイルを変更する(ステップS6)。調整モードプロファイルの変更については、前述の手動調整の場合と同様である。すなわち、加速運転の時間幅T11および減速運転の時間幅T12を増減するように、調整モードプロファイルが変更される。その後、プロセッサ8は、変更後の調整モードプロファイルを用いて、ステップS3からの動作を実行する。このような処理が、適正な位置決め運転を行えるまで繰り返される。
【0109】
プロセッサ8は、位置決め試行運転において適正な位置決め運転が行われたと判定すると(ステップS5:YES)、その位置決め試行運転において生成された電流指令位相θi*の配列変数θi*(n)を、使用モードプロファイル(使用モードのためのロータ位置指令の配列変数θcom(n))として、インタフェース14を介して、メモリ12に書き込む(ステップS7)。調整モードにおいて電流指令位相θiの配列変数θi(n)が制御装置1のメモリ12に保存される場合には、この処理は省かれてもよい。
【0110】
このようにして、設定器4を自動調整手段として機能させ、適切に調整された使用モードプロファイルを自動的に生成し、メモリ12に格納された状態とすることができる。その後は、制御装置1を使用モードに設定することにより、使用モードプロファイルを用いた通常の運転を行うことができる。
このような自動調整を行う機能、すなわち自動調整手段を制御装置1に備えてもよい。すなわち、制御装置1の調整モードは、自動調整を実行する自動調整モードを備えていてもよい。換言すれば、制御装置1が実行するプログラムは、自動調整モードによる調整を実行するように設計されていてもよい。自動調整モードによる調整の実行は、設定器4から指令してもよい。また、自動調整モードによる自動調整を指令するための指令入力装置を制御装置1に備えてもよい。
【0111】
図13は、制御装置1の自動調整モードによる自動調整動作の一例を説明するためのフローチャートである。メモリ12には、予め調整モードプロファイルが格納されている。自動調整モードによる自動調整が指令されると(ステップS11:YES)、演算部11は、メモリ12から調整モードプロファイルを読み出して、その調整モードプロファイルに従う位置決め試行運転を実行する(ステップS12)。その位置決め試行運転の際に、演算部11は、ロータ位置θfbをロータ位置検出器3から取得し、ロータ速度ωfbを演算し、さらに電流指令位相θiを演算し、これらに基づいて、ステッピングモータ2を制御する。
【0112】
演算部11は、制御周期毎のロータ位置θfb、ロータ速度ωfbおよび電流指令位相θiのデータを、時系列に従って、メモリ12に格納する(ステップS13)。この動作と並行して、演算部11は、制御周期毎のロータ位置θfb、ロータ速度ωfbおよび電流指令位相θiのデータを、インタフェース14を介して、設定器4に送信してもよい。
位置決め試行運転を終えると、演算部11は、適正な位置決め運転が行われたかどうかを判定する(ステップS14)。この判定は、
図12のステップS5における判定と同様であってもよい。
【0113】
演算部11は、適正な位置決め運転が行われなかったと判定すると(ステップS14:NO)、メモリ12内の調整モードプロファイルを変更する(ステップS15)。調整モードプロファイルの変更については、前述の手動調整の場合、および
図12のステップS6の場合と同様である。その後、演算部11は、変更後の調整モードプロファイルを用いて、ステップS12からの動作を実行する。このような処理が、適正な位置決め運転を行えるまで繰り返される。
【0114】
演算部11は、位置決め試行運転において適正な位置決め運転が行われたと判定すると(ステップS14:YES)、その位置決め試行運転において生成され、ステップS13においてメモリ12に書き込まれたた電流指令位相θi*の配列変数θi*(n)を、使用モードプロファイル(使用モードのためのロータ位置指令の配列変数θcom(n))として設定する(ステップS16)。
【0115】
このようにして、演算部11を自動調整手段として機能させ、適切に調整された使用モードプロファイルを自動的に生成し、メモリ12に格納された状態とすることができる。使用モードにおいては、演算部11は、メモリ12に格納されたその使用モードプロファイルを用いてステッピングモータ2を適切に運転することができる。
図14A、
図14Bおよび
図14Cは、使用モードでの位置決め動作の一例を示す。
図14Aの曲線L21はロータ位置指令θcomの時間変化(すなわち使用モードプロファイル)を表し、曲線L22はロータ位置(実位置)の時間変化を表す。
図14Bの曲線L23は位置偏差δθの時間変化を表す。
図14Cの曲線L24は、ロータ速度ωfbの時間変化を表す。
【0116】
加速期間において、ロータ位置指令θcom(曲線L21)はロータ位置θfb(曲線L22)に対して固定値K(たとえば80度)に対応する分だけ進んだ位置を指令するので、それに応じた位置偏差δθ(曲線L23)が生じ、それにより、ほぼ最大の加速トルクが発生している。加速期間に続いて行われる減速期間では、ロータ位置指令θcom(曲線L21)はロータ位置θfb(曲線L22)に対して固定値K(たとえば80度)に対応する分だけ遅れた位置を指令するので、それに応じた負の位置偏差δθ(曲線L23)が生じ、それにより、ほぼ最大の減速トルクが発生している。それにより、ロータ速度ωfb(曲線L24)は、三角形状に変化し、減速期間の終了時に零になる。このときロータ位置θfbは目標位置(電気角360度)である。前述のとおり、摩擦負荷の影響により、加速期間の時間幅の方が減速期間の時間幅よりも長い。
【0117】
減速期間の終了に続いて、位置指令θcomが目標位置(電気角360度)となり、目標位置が励磁されることにより、ロータが目標位置で位置保持される。目標位置において速度零となったタイミングで目標位置が励磁されるので、ロータは、実質的な振動を生じることなく目標位置で停止して位置決めされる。
使用モードでは、演算部11は、メモリ12に格納されたロータ位置指令θcomの配列変数θcom(n)(使用モードプロファイル)を読み出し、その配列変数θcom(n)に従って、前記式(7a)~(11a)に基づく制御を実行する。ただし、使用モードにおいては、領域A~Eの判別のために用いる固定値Kは、電気角90度とすることが好ましい。
【0118】
使用モードプロファイル、すなわちロータ位置指令θcomは、前述のとおり、調整モードにおいて適切に調整された状態での電流指令位相θi*であるので、位置偏差δθの絶対値は調整モードのときの固定値K(たとえば電気角80度)となる。そのため、全期間に亘って、オープンループ領域Eでの制御となり、実質的には、式(7a)のみを用いた制御が行われる。このとき、θi=θcom=θi*となり、調整モードでの電流位相θi*と使用モードでの電流位相θiとが一致し、調整段階での電流が再現される。
【0119】
調整モードにおいて固定値Kを電気角90度よりも小さい値(たとえば電気角80度)にしておくことにより、位置偏差δθが電気角90度(使用モードにおける領域判定のための固定値K)を超えない状態を確保できる。それにより、確実に、オープンループ領域Eでの運転が可能になる。
もしも、調整モードにおいて固定値Kを電気角90度とした場合には、使用段階において、ロータの応答が少しでも遅れると、位置偏差δθが電気角90度を超えて、クローズドループ領域に入るおそれがある。クローズドループ領域では、電流指令位相θiは、ロータ位置検出器3で検出されるロータ位置θfbを用いて決定されるから、ロータ位置検出器3の検出精度の影響を受ける。このようなクローズドループ領域での制御を回避し、領域A~Dでもオープンループ制御を行うこととすると、K=90度の場合には、モータ負荷角90度でオープンループ制御を行うことになる。そのため、ロータにわずかでも遅れが生じるとトルクが減少する。それによって、さらに遅れが増大し、脱調してしまうおそれがある。
【0120】
調整モードにおける固定値Kを電気角90度よりも小さくしておくことで、使用モードでは、負荷角が電気角90度よりも小さい状態でのオープンループ制御が行える。すなわち、オープンループ領域Eでの制御を維持できる。このようなオープンループ制御では、ロータの遅れおよび進みに応じてトルクが変化する。たとえば、固定値Kの絶対値が電気角80度(すなわち負荷角80度)の場合、ロータが電気角で10度遅れれば負荷角90度となってトルクが1.5%増加する。また、ロータが電気角で10度進めば負荷角70度となってトルクは4.6%減少する。したがって、トルクの増減が、ロータの遅れおよび進みを小さくする方向に働く。それにより、外乱に対するロバスト性を向上することができる。
【0121】
以上のように、この実施形態によれば、制御装置1は、マイクロステップ駆動でステッピングモータ2を制御するので、実質的に最大トルク(最大トルクまたはそれに近いトルク)を終始用いる加速運転および減速運転を行うことができる。それにより、トルク利用効率の良い制御装置1を実現できる。制御装置1は、調整モードおよび使用モードにおいて、ステッピングモータ2をマイクロステップ駆動によって運転できる。
【0122】
調整モードでは、ロータ位置検出器3の検出値を用いるクローズドループ制御によって、ステッピングモータ2の巻線電流制御が実行される。このとき、マイクロステップ駆動による加速運転および減速運転のための制御データとして、電流指令位相θiが生成され、その電流指令位相θiに従って加速運転および減速運転が行われる。さらに、その電流指令位相θiが、メモリ12および/または設定器4の記憶装置9に格納される。
【0123】
調整モードにおいては、加速運転および減速運転によって目標位置に向けてロータを移動させ、目標位置でのロータ速度が零になるように、加速運転を行う加速期間および減速運転を行う減速期間の時間幅T11,T12が調整される。これにより、ロータを目標位置まで移動させる動作を最適化することができる。調整対象のパラメータは、加速期間および減速期間の時間幅T11,T12だけであるので、比較的容易に調整を行うことができる。この調整は、前述のとおり、手動または自動で行うことができる。その調整済みの状態での電流指令位相θi*のデータ(配列変数θi*(n))が、使用モードにおいて適用される制御データであるロータ位置指令θcomのデータ(配列変数θcom(n):使用モードプロファイル)として用いられる。
【0124】
また、調整モードにおいて生成される電流指令位相θiは、減速運転の後に目標位置が励磁安定点となるようにステッピングモータ2の巻線電流を制御する位置保持制御のための指令を含む。したがって、調整済みの状態で得られる電流指令位相θi*のデータ(配列変数θi*(n))を用いて使用モードプロファイルを形成することにより、使用モードプロファイルは、位置保持制御のためのロータ位置指令θcom(配列変数θcom(n))をも含む。
【0125】
使用モードでは、使用モードプロファイルのロータ位置指令θcomに従うオープンループ制御によって、調整モードにおけるステッピングモータ2の巻線電流を再現する巻線電流制御が実行され、それにより、最適な加速運転、減速運転および位置保持運転を達成できる。したがって、ほぼ最大のトルクで加速運転および減速運転を行ってロータを目標位置まで移動させ、目標位置において実質的な振動を生じることなくロータを位置決めできる。それにより、最速の移動および位置決め動作を実現できる。また、オープンループ制御では、ロータ位置検出値を用いないので、ロータ位置検出器3の検出精度の影響を受けない。したがって、前述のとおり、高精度なロータ位置検出器3を備える必要がない。
【0126】
また、この実施形態では、前述のとおり、調整モードにおけるクローズドループ制御において、ステッピングモータ2の巻線電流の位相θiが、ロータ位置検出器3の検出値θfbに所定値±Kとロータ速度ωfbの関数F(ωfb)とを加えた位相θi=θfb±K+F(ωfb)となるように制御される。このとき、所定値±Kの絶対値は、電気角で60度以上(より好ましくは70度以上、さらに好ましくは80度以上)に相当する値とされる。それにより、前述のとおり、ほぼ最大トルクによる加速運転および減速運転を行うことができ、調整も容易であり、かつ外乱に対してロバストな制御系を実現できる。
【0127】
以上、この発明の一実施形態について説明してきたが、この発明は、さらに他の形態で実施することもできる。
たとえば、前述の実施形態では、位置指令を入力としてロータ位置を制御する位置制御が行われているが、速度指令を入力としてロータ速度を制御する速度制御、加速度指令を入力としてロータ加速度を制御する加速度制御、トルク指令(電流指令)を入力として発生トルク(巻線電流)を制御するトルク制御、電圧指令を入力として巻線に印加する電圧を制御する電圧制御などの他の制御方式が用いられてもよい。また、これらの制御方式の任意の2つ以上を組み合わせてもよい。
【0128】
制御方式に応じて、調整モードにおいて、位置指令を表すデータ(前述の実施形態の指令位相θi)、速度指令を表すデータ(指令位相θiの微分値に相当)、加速度指令を表すデータ(指令位相θiの2階微分値に相当)、トルク指令を表すデータ(モータ巻線電流指令Iacom,Ibcomに相当)、電圧指令(巻線に印加する電圧の指令)を表すデータなどが保存される。そして、その保存されたデータを用いて、使用モードプロファイルが形成される。
【0129】
また、前述の実施形態では、調整モードにおいて適切に調整された状態で収集された電流指令位相θi*をそのまま用いて使用モードプロファイルが形成されているが、必要に応じて、電流指令位相θi*に対して適切な補正を施して使用モードプロファイルを形成してもよい。
また、調整モードにおいて、ロータ位置θfbのデータを収集し、適切に調整された状態で収集されたロータ位置θfbのデータを、使用モードプロファイルを形成する制御データとして用いてもよい。この場合、使用モードにおいては、加速期間では、制御データに対して固定値+Kを加算してロータ位置指令θcomを求める。また、減速期間では、制御データに対して固定値-Kを加算してロータ位置指令θcomを求める。そして、そのロータ位置指令θcomを用いて、オープンループ制御によるマイクロステップ駆動を実行すればよい。
【0130】
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【符号の説明】
【0131】
1 制御装置
2 ステッピングモータ
3 ロータ位置検出器
4 設定器
11 演算部
12 メモリ
13 電流制御部
14 インタフェース