(57)【要約】  簡素な構成で脱調を防止することができるステップモータ制御装置を得る。角度指令に基づいてステップモータの角度制御を行うステップモータ制御装置であって、ステップモータに対する角度指令を出力する角度指令演算部と、角度指令演算部の出力である角度指令および温度検出部で検出された周囲温度に基づいて、本角速度指令を演算する速度指令演算部と、速度指令演算部の出力である本角速度指令に基づいて、ステップモータに対する速度指令パルスを生成するとともに、速度指令パルスを加算して推定角度を演算して推定角度を速度指令演算部にフィードバックする駆動演算部と、を備え、速度指令演算部は、推定角度に基づいて本角速度指令を演算して本角速度指令を出力する。
2016170712.tif 000002
【特許請求の範囲】
【請求項１】
角度指令に基づいてステップモータの角度制御を行うステップモータ制御装置であって、
前記ステップモータに対する前記角度指令を出力する角度指令演算部と、
前記角度指令演算部の出力である前記角度指令および温度検出部で検出された周囲温度に基づいて、本角速度指令を演算する速度指令演算部と、
前記速度指令演算部の出力である前記本角速度指令に基づいて、前記ステップモータに対する速度指令パルスを生成するとともに、前記速度指令パルスを加算して推定角度を演算して前記推定角度を前記速度指令演算部にフィードバックする駆動演算部と、を備え、
前記速度指令演算部は、前記推定角度に基づいて前記本角速度指令を演算して前記本角速度指令を出力する
ステップモータ制御装置。
【請求項２】
前記駆動演算部は、演算した前記推定角度および前記本角速度指令に基づいて、前記速度指令パルスを生成する
請求項１に記載のステップモータ制御装置。
【請求項３】
前記速度指令演算部は、前記角度指令演算部の出力である前記角度指令から、前記駆動演算部の出力である前記推定角度を減算することで得られる角度偏差と、前記周囲温度とに基づいて、中間角速度指令を出力する第１制御器と、
前記中間角速度指令から前記本角速度指令を減算した速度偏差に基づいて、角加速度の上下限制限値を演算する飽和器と、
前記角加速度の上下限制限値に基づいて、前記本角速度指令を演算する第２制御器と、
を有する請求項１または請求項２に記載のステップモータ制御装置。
【請求項４】
前記第１制御器を構成するパラメータおよび前記飽和器のパラメータを、前記周囲温度に基づいて可変とする
請求項３に記載のステップモータ制御装置。
【請求項５】
前記駆動演算部は、前記本角速度指令および前記推定角度に基づいて、前記ステップモータのフルステップ駆動とマイクロステップ駆動との励磁を切り換える
請求項１から請求項４までの何れか１項に記載のステップモータ制御装置。
【請求項６】
前記角度指令演算部は、外部インターフェースからの操作指令を前記角度指令に変換する
請求項１から請求項５までの何れか１項に記載のステップモータ制御装置。
【請求項７】
角度指令に基づいてステップモータの角度制御を行うステップモータ制御装置で実現されるステップモータ制御方法であって、
前記ステップモータに対する前記角度指令を出力するステップと、
前記角度指令および周囲温度に基づいて、本角速度指令を演算するステップと、
前記本角速度指令に基づいて、前記ステップモータに対する速度指令パルスを生成するステップと、
前記速度指令パルスを加算して推定角度を演算するステップと、
前記推定角度を、前記本角速度指令を演算するステップにフィードバックさせるステップと、を有する
ステップモータ制御方法。
【請求項８】
前記速度指令パルスを生成するステップにおいて、演算した前記推定角度および前記本角速度指令に基づいて、前記速度指令パルスを生成する
請求項７に記載のステップモータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ステップモータにより駆動される駆動機構に対して適用されるステップモータ制御装置およびステップモータ制御方法に関するものである。
【背景技術】
【０００２】
従来から、加速駆動時に様々な要因により負荷が増大した場合であっても、ステップモータを脱調させることなく、正しく目標位置に到達させることができるステップモータの駆動制御方法が知られている（例えば、特許文献１参照）。【０００３】
具体的には、ステップモータを、制御回路と駆動回路とで加速テーブルに従って加速駆動する工程において、加速テーブルによる指令回転位置に対するステップモータの回転位置の遅れ量を、回転角センサと遅れ量検出回路とで検出する。【０００４】
続いて、検出した遅れ量を、比較回路であらかじめ設定した値と比較し、遅れ量が設定値に達した場合には、ステップモータを等速駆動に切り換え、等速駆動によって加速テーブルで定められたステップ量を完了させている。【０００５】
特許文献１によれば、回転角センサと遅れ量検出回路とで検出されたステップモータの回転位置の遅れ量が設定値に達した場合に、等速駆動に切り換えることにより、ステップモータに与える１つ１つの駆動パルスの時間を長く保って、ステップモータの出力トルクを保持し、負荷増大による脱調を防止することができるとされている。【０００６】
また、負荷の環境温度を検出するための温度センサを利用して、ステップモータの駆動停止時に検出した温度センサの出力が所定温度に達した場合に、ステップモータの駆動電流を所定電流となるように制御するステップモータの駆動制御方法が知られている（例えば、特許文献２参照）。【０００７】
特許文献２によれば、環境温度の変化に応じてステップモータの駆動電流を可変することにより、ステップモータの出力トルクが適正となるので、駆動効率が高くなるとともに、放熱板や冷却ファン等のハードウェア的な温度対策を不要にすることができるとされている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平５−１５１９７号公報
【特許文献２】特開平２−４６１９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、従来技術には、以下のような課題がある。
すなわち、特許文献１のステップモータの駆動制御方法では、ステップモータの回転位置を検出するための付加的なセンサを要するとともに、当該センサの検出値をもとに速度テーブルを読み出す必要があるので、ハードウェアおよびソフトウェアの構成が複雑になるという問題がある。【００１０】
また、特に速度指令は、検出値の閾値に基づいて、加減速区間と等速区間とがあらかじめ設定されたテーブルで一意に固定されているので、駆動途中に負荷が変動した場合に、ステップモータのトルクマージンを許容する範囲で速度指令を任意に変更することができず、脱調するという問題がある。【００１１】
また、特許文献２のステップモータの駆動制御方法では、負荷検出のための温度センサが駆動停止時のみ利用されるので、特許文献１と同様に、駆動途中に負荷が変動した場合に、ステップモータのトルクマージンを許容する範囲で速度指令を任意に変更することができず、脱調するという問題がある。【００１２】
この発明は、上記のような課題を解決するためになされたものであり、簡素な構成で脱調を防止することができるステップモータ制御装置およびステップモータ制御方法を得ることを目的とする。
【課題を解決するための手段】
【００１３】
この発明に係るステップモータ制御装置は、角度指令に基づいてステップモータの角度制御を行うステップモータ制御装置であって、ステップモータに対する角度指令を出力する角度指令演算部と、角度指令演算部の出力である角度指令および温度検出部で検出された周囲温度に基づいて、本角速度指令を演算する速度指令演算部と、速度指令演算部の出力である本角速度指令に基づいて、ステップモータに対する速度指令パルスを生成するとともに、速度指令パルスを加算して推定角度を演算して推定角度を速度指令演算部にフィードバックする駆動演算部と、を備え、速度指令演算部は、推定角度に基づいて本角速度指令を演算して本角速度指令を出力するものである。【００１４】
また、この発明に係るステップモータ制御方法は、角度指令に基づいてステップモータの角度制御を行うステップモータ制御装置で実現されるステップモータ制御方法であって、ステップモータに対する角度指令を出力するステップと、角度指令および周囲温度に基づいて、本角速度指令を演算するステップと、本角速度指令に基づいて、ステップモータに対する速度指令パルスを生成するステップと、速度指令パルスを加算して推定角度を演算するステップと、推定角度を、本角速度指令を演算するステップにフィードバックさせるステップと、を有するものである。
【発明の効果】
【００１５】
この発明に係るステップモータ制御装置およびステップモータ制御方法によれば、速度指令演算部は、角度指令演算部の出力である角度指令および温度検出部で検出された周囲温度に基づいて、本角速度指令を演算し、駆動演算部は、速度指令演算部の出力である本角速度指令に基づいて、ステップモータに対する速度指令パルスを生成するとともに、速度指令パルスを加算して演算された推定角度を速度指令演算部にフィードバックさせる。
そのため、簡素な構成で脱調を防止することができるステップモータ制御装置およびステップモータ制御方法を得ることができる。
【図面の簡単な説明】
【００１６】
【図１】（ａ）〜（ｄ）は、この発明の実施の形態１に係るステップモータの角速度とトルク特性との関係を示す説明図である。
【図２】この発明の実施の形態１に係るステップモータ制御装置を、モータ駆動回路、ステップモータ、駆動機構および温度検出部とともに示すブロック構成図である。
【図３】この発明の実施の形態１に係る速度指令演算部を詳細に示すブロック構成図である。
【図４】この発明の実施の形態１に係る駆動演算部の処理を示すフローチャートである。
【図５】この発明の実施の形態２に係るステップモータ制御装置を、モータ駆動回路、ステップモータ、駆動機構および温度検出部とともに示すブロック構成図である。
【図６】この発明の実施の形態２に係る駆動演算部の全体処理を示すフローチャートである。
【図７】この発明の実施の形態２に係る駆動演算部の励磁切換・電流振幅指令演算処理およびパルス周期演算処理を示すフローチャートである。
【図８】この発明の実施の形態２に係るステップモータのフルステップ駆動時およびマイクロステップ駆動時の電流ベクトルを示す説明図である。
【図９】この発明の実施の形態３に係るステップモータ制御装置を、モータ駆動回路、ステップモータ、駆動機構、温度検出部および外部インターフェースとともに示すブロック構成図である。
【図１０】この発明の実施の形態４に係るステップモータ制御装置を、モータ駆動回路、ステップモータ、駆動機構、温度検出部および外部インターフェースとともに示すブロック構成図である。
【発明を実施するための形態】
【００１７】
以下、この発明に係るステップモータ制御装置およびステップモータ制御方法の好適な実施の形態につき図面を用いて説明するが、各図において同一、または相当する部分については、同一符号を付して説明する。
【００１８】
なお、この発明に係るステップモータ制御装置およびステップモータ制御方法によれば、負荷検出目的に負荷の周囲温度を検出する温度検出部を利用して、回転負荷の変動に対するステップモータの脱調をなくす本角速度指令を生成し、さらに本角速度指令には、フルステップ駆動とステップモータ特有のマイクロステップ駆動とを併用することで、振動の小さい滑らかな始動および停止、並びに駆動機構の所定角度への高精度な位置決めを実現することができる。
【００１９】
実施の形態１．
まず、図１を参照しながら、この発明の実施の形態１に係るステップモータの角速度とトルク特性との関係について説明する。図１（ａ）は設計時の状態を示し、図１（ｂ）は温度低下時の状態を示し、図１（ｃ）は加速トルク低減時の状態を示し、図１（ｄ）は最大角速度低減時の状態を示している。
【００２０】
駆動機構をステップモータで駆動する際には、加速トルクと負荷トルクとの和がモータ固有のトルク特性以下となるように設計される。具体的には、図１（ａ）に示すように、モータ固有のトルク特性に対して所定のトルクマージン（＝モータ固有のトルク特性／設計トルク）を設けた設計トルクに対して、加速トルクと負荷トルクとの和が設計トルク以下となるように設計する。
【００２１】
ところが、駆動機構の摩擦に代表される負荷トルクは、温度変化に対してばらつきが大きい上に、特に低温では、駆動機構に具備された、例えば軸受のグリスの粘性が高くなる。そのため、図１（ｂ）に示すように、負荷トルクが増大した結果、加速トルクと負荷トルクとの和が設計トルクを上回り、トルクマージンが低下する。
【００２２】
一方、主にモータメーカーより提供されるモータ固有のトルク特性は、常温で計測されたものが一般的であることから、温度変化に応じてモータ固有のトルク特性も当然のことながら変化する。また、モータ毎の個体ばらつきもある。
【００２３】
したがって、このようなモータ固有のトルク特性のばらつきを吸収できることも踏まえた設計指針で設定された設計トルクに対して、加速トルクと負荷トルクとの和がこれを上回ると、ステップモータは脱調する。
【００２４】
そこで、この発明の実施の形態１では、加速トルクと負荷トルクとの和を、設計トルク以下に収めることができるステップモータ制御装置を提供する。
【００２５】
このステップモータ制御装置は、図１（ｃ）に示すように、最大角速度を図１（ｂ）と同一にしたまま、温度低下時に増大する負荷トルクを、加速トルクの低減で吸収する機能を有している。また、このステップモータ制御装置は、図１（ｄ）に示すように、加速トルクと負荷トルクとの和を図１（ｂ）と同一にしたまま、温度低下時に増大する負荷トルクを考慮して、最大角速度を低減する機能を有している。
【００２６】
図２は、この発明の実施の形態１に係るステップモータ制御装置を、モータ駆動回路、ステップモータ、駆動機構および温度検出部とともに示すブロック構成図である。図２において、ステップモータ制御装置１Ａは、角度指令演算部１０、速度指令演算部２０および駆動演算部３０Ａを備えている。
【００２７】
また、角度指令演算部１０、速度指令演算部２０および駆動演算部３０Ａは、例えばそれぞれ図示しないＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）とプログラムを格納した記憶部とを有するマイクロプロセッサで構成されている。
【００２８】
また、ステップモータ制御装置１Ａは、モータ駆動回路２００に接続され、モータ駆動回路２００は、ステップモータ３００に接続され、ステップモータ３００は、駆動機構４００に接続されている。また、ステップモータ制御装置１Ａは、温度検出部５００にも接続されている。
【００２９】
角度指令演算部１０は、駆動機構４００を任意の所定の角度に位置決めするために駆動するステップモータ３００の角度指令を出力する。
【００３０】
速度指令演算部２０は、角度指令演算部１０の出力である角度指令、駆動演算部３０Ａの出力である推定角度、および温度検出部５００の出力である負荷の周囲温度に基づいて、本角速度指令を演算する。
【００３１】
駆動演算部３０Ａは、速度指令演算部２０の出力である本角速度指令に基づいて、ステップモータ３００の速度指令パルス、回転方向指令、励磁切換指令および電流振幅指令をモータ駆動回路２００に出力する。さらに、駆動演算部３０Ａは、推定角度を速度指令演算部２０に出力する。
【００３２】
モータ駆動回路２００は、ステップモータ３００に電力供給して駆動するための汎用のドライバＩＣが実装された電気回路であって、モータ駆動回路２００の出力であるモータ電流をステップモータ３００の各相の巻線に流すことでステップモータ３００を駆動し、ステップモータ３００の回転軸に取り付けられた駆動機構４００を、所定角度に位置決め制御する。
【００３３】
ここで、駆動機構４００は、図示しないが、ステップモータ３００のトルクを伝達する歯車やベルト等の減速機を含むものである。また、温度検出部５００は、サーミスタ等の素子であって、負荷の周囲温度を検出してステップモータ制御装置１Ａに出力する。
【００３４】
続いて、ステップモータ制御装置１Ａの動作について説明する。まず、図３を参照しながら、速度指令演算部２０の構成および機能について説明する。図３は、この発明の実施の形態１に係る速度指令演算部を詳細に示すブロック構成図である。
【００３５】
図３において、速度指令演算部２０は、第１制御器２１、飽和器２２および第２制御器２３を有し、角度指令演算部１０の出力である角度指令θｃｏｍ、駆動演算部３０Ａの出力である推定角度θｅｓｔ、および温度検出部５００の出力である負荷の周囲温度Ｔに基づいて、ステップモータ３００の本角速度指令ωｃｏｍを出力する。角度指令θｃｏｍは、例えばあらかじめ時間の関数として与えられる任意の指令であってもよいし、時間と角度とのテーブルとして与えられる任意の指令であってもよい。
【００３６】
第１制御器２１は、角度指令θｃｏｍと推定角度θｅｓｔとの角度偏差θｃｏｍ−θｅｓｔと、負荷の周囲温度Ｔとに基づいて、次式（１）により、中間角速度指令ωｃｏｍ＿ｐｒｅを演算する。式（１）において、比例ゲインＫｐ（Ｔ）は、Ｋｐが温度Ｔの関数であることを意味している。
【００３７】
【数１】
2016170712.tif 000003
【００３８】
このようにすることで、角度指令演算部１０から出力された角度指令θｃｏｍがステップ状、ランプ状等のいかなる角度指令に対しても、角度指令θｃｏｍに対する推定角度θｅｓｔの角度フィードバックおよび第１制御器２１の作用により、中間角速度指令ωｃｏｍ＿ｐｒｅの傾き、すなわち角速度の変化率を調整することができる。
【００３９】
このとき、比例ゲインＫｐ（Ｔ）は、負荷の周囲温度Ｔに応じて自動的に調整されるが、例えば、比例ゲインＫｐ（Ｔ）を、負荷の周囲温度Ｔの単調増加関数とする。一般に、低温で増加する駆動機構４００の負荷トルクに対しては、加速トルクを小さくするように比例ゲインＫｐ（Ｔ）を小さく設定し、中間角速度指令ωｃｏｍ＿ｐｒｅの変化率を小さくする。このようにすることで、加速時間が長くなり、加速トルクを小さくすることができる。
【００４０】
飽和器２２は、第１制御器２１の出力である中間角速度指令ωｃｏｍ＿ｐｒｅと第２制御器２３の出力である本角速度指令ωｃｏｍとの角速度偏差と、負荷の周囲温度Ｔとに基づいて、次式（２）により、角加速度の上下限制限値ωｄｏｔ＿ｓａｔを演算する。
【００４１】
【数２】
2016170712.tif 000004
【００４２】
式（２）において、ωｄｏｔ＿ｍａｘおよびωｄｏｔ＿ｍｉｎは、温度Ｔの関数として設定される。また、式（２）の出力は、角速度の差分なので、角加速度指令と等価であることに留意する。
【００４３】
第２制御器２３は、飽和器２２の出力である角加速度の上下限制限値ωｄｏｔ＿ｓａｔに基づいて、次式（３）により、本角速度指令ωｃｏｍを演算する。式（３）において、Ｋｉは積分ゲインを表し、ｓはラプラス演算子を表している。
【００４４】
【数３】
2016170712.tif 000005
【００４５】
このようにすることで、飽和器２２による角加速度指令の制限を、負荷の周囲温度Ｔに応じて可変とし、低温においては、最大角速度の設定をモータ固有のトルク特性が大きい範囲内での駆動に制限することができる。
【００４６】
次に、図４を参照しながら、駆動演算部３０Ａの処理について説明する。図４は、この発明の実施の形態１に係る駆動演算部の処理を示すフローチャートである。駆動演算部３０Ａは、本角速度指令ωｃｏｍに基づいて、速度指令パルス、回転方向指令、励磁切換指令、電流振幅指令および速度指令パルスをカウントすることで得られる速度指令パルスカウント値、すなわち推定角度を出力する。
【００４７】
まず、本角速度指令ωｃｏｍの正負を判定する（ステップＳ１）。
ステップＳ１において、本角速度指令ωｃｏｍが０であると判定された場合には、速度指令パルスを停止して（ステップＳ２）、後述するステップＳ６に移行する。
【００４８】
一方、ステップＳ１において、本角速度指令ωｃｏｍが正であると判定された場合には、回転方向指令を正転（Ｄｉｒ＝１）に設定する（ステップＳ３）。
また、ステップＳ１において、本角速度指令ωｃｏｍが負であると判定された場合には、回転方向指令を反転（Ｄｉｒ＝０）に設定する（ステップＳ４）。
【００４９】
続いて、次式（４）により、速度指令パルスのパルス周期ｔｐを演算する（ステップＳ５）。
【００５０】
【数４】
2016170712.tif 000006
【００５１】
次に、ステップＳ５で演算されたパルス周期ｔｐに基づいて、速度指令パルスを生成する（ステップＳ６）。
続いて、ステップＳ６で生成された速度指令パルスを、パルスのアップエッジまたはダウンエッジの何れかでカウントする（ステップＳ７）。
【００５２】
このとき、角度指令の最終値までカウントした時点で、カウント値を０にリセットする。なお、この速度指令パルスの１パルス分は、ステップモータ３００のステップ角θｓに相当することから、速度指令パルスカウント値は、ステップモータ３００の推定角度θｅｓｔである。また、推定角度としているのは、ステップＳ７で演算されるカウント値は、ステップモータ３００の回転角度を直接検知した値ではないことによる。
【００５３】
一方、電流振幅指令生成処理では、本角速度指令ωｃｏｍによらず一定の電流振幅を与える電流振幅指令を生成する（ステップＳ８）。
また、励磁切換指令生成処理では、本角速度指令ωｃｏｍによらずフルステップ駆動の励磁切換指令を生成する（ステップＳ９）。
【００５４】
ここで、ステップＳ７で得られた推定角度θｅｓｔを速度指令演算部２０にフィードバックすることにより、ステップモータ３００を角度指令ベースで制御することができる。
【００５５】
以上のように、実施の形態１によれば、駆動演算部３０Ａで生成された速度指令パルスを、パルスのアップエッジまたはダウンエッジの何れかでカウントしたステップモータ３００の推定角度θｅｓｔを速度指令演算部２０への角度フィードバックへ利用し、速度指令演算部２０では、温度検出部５００にて得られた負荷の周囲温度Ｔに基づいて、ステップモータ３００の設計トルク以下となるように角速度変化率および角加速度の制限を自動調整した本角速度指令を生成できるので、トルクマージンを低下させることなく、ステップモータを脱調させない駆動を実現することができる。
【００５６】
すなわち、実施の形態１によれば、速度指令演算部は、角度指令演算部の出力である角度指令、フィードバックされた推定角度、および温度検出部で検出された周囲温度に基づいて、本角速度指令を演算し、駆動演算部は、速度指令演算部の出力である本角速度指令に基づいて、ステップモータに対する速度指令パルスを生成するとともに、速度指令パルスを加算して演算された推定角度を速度指令演算部および駆動演算部のうち、少なくとも速度指令演算部にフィードバックさせる。
そのため、簡素な構成で脱調を防止することができるステップモータ制御装置およびステップモータ制御方法を得ることができる。
【００５７】
また、ステップモータの推定角度をフィードバック制御に利用し、任意の角度指令に対して生成される本角速度指令の角速度変化率および角加速度の制限を、別途検出した駆動時の負荷の周囲温度に応じて自動調整する。そのため、駆動機構のモータ軸換算イナーシャ、モータ軸角速度および加速時間で算出される加速トルクと、駆動機構特有の摩擦に代表される負荷トルクとの和が、モータ固有のトルク特性に一定のマージンを持たせた設計トルクの範囲内になるように本角速度指令を生成するため、脱調しない駆動を実現することができる。
【００５８】
さらに、ステップモータの推定角度をフィードバック制御に利用することで、モータ軸回転角や駆動機構の出力軸回転角を検出するための回転角センサ等、付加的なセンサを不要とすることができ、あらかじめ速度テーブルを用意する必要もないので、ハードウェアおよびソフトウェア構成ともに簡素化することができる。
【００５９】
また、第１制御器におけるパラメータおよび飽和器におけるパラメータを、周囲温度に基づいて可変とすることにより、負荷の周囲温度を利用して、中間角速度指令の角速度変化率および角加速度指令の制限を自動調整することができる。そのため、特に低温で増大する負荷トルクに対して、加速時間を延ばすことによる加速トルク低減、または最大角速度の制限によるトルク範囲の拡大を図ることができ、脱調しない駆動を実現することができる。
【００６０】
実施の形態２．
図５は、この発明の実施の形態２に係るステップモータ制御装置を、モータ駆動回路、ステップモータ、駆動機構および温度検出部とともに示すブロック構成図である。図５において、上述した実施の形態１との違いは、ステップモータ制御装置１Ｂ内の駆動演算部３０Ｂの演算内容が異なることである。
【００６１】
また、上記実施の形態１では、ステップモータ３００を角度指令の全区間でフルステップ駆動させることを前提としていたが、この実施の形態２では、推定角度の閾値に応じてフルステップ駆動とマイクロステップ駆動とを切り換えることを特徴とする。
【００６２】
続いて、図６、７を参照しながら、駆動演算部３０Ｂの処理について説明する。図６は、この発明の実施の形態２に係る駆動演算部の全体処理を示すフローチャートであり、図７は、この発明の実施の形態２に係る駆動演算部の励磁切換・電流振幅指令演算処理およびパルス周期演算処理を示すフローチャートである。
【００６３】
駆動演算部３０Ｂは、本角速度指令ωｃｏｍに基づいて、速度指令パルス、回転方向指令、励磁切換指令、電流振幅指令および速度指令パルスをカウントすることで得られる速度指令パルスカウント値、すなわち推定角度を出力する。なお、図６において、角速度正負判定、速度パルス停止、正転指令生成、反転指令生成、速度パルス生成および速度パルスカウント処理は、上述した実施の形態１と同一なので説明を省略する。
【００６４】
図６のステップＳ１００において、速度指令パルスのカウント値である推定角度θｅｓｔに基づいて、ステップモータ３００の励磁切換指令および電流振幅指令を生成する。以下、その生成方法について説明する。
【００６５】
まず、ステップモータ３００では、ステップモータ３００の各相の巻線へ流す電流を正弦波に近づけていくことで、ステップモータ固有のステップ角を電気的に高分解能化するマイクロステップ駆動と呼ばれる制御方式が知られている。
【００６６】
一方、例えば駆動機構４００にカメラが搭載された機器においては、あらかじめ指定された撮影ポイントに向けてカメラを旋回させるプリセット動作と呼ばれる動作モードが設けられており、撮影ポイントへ高精度に位置決めすることが求められる。
【００６７】
しかしながら、マイクロステップ駆動では、矩形波電流を流して駆動するフルステップ駆動と比較して、トルクが１／√２倍に低下する。そのため、位置決め用途として停止位置の近傍でマイクロステップ駆動を適用する際には、フルステップ駆動相当の電流を流し、フルステップ駆動とマイクロステップ駆動とを切り換えて駆動する場合のトルク変動を抑制する必要がある。
【００６８】
そこで、図７に示した励磁切換・電流振幅指令演算処理およびパルス周期演算処理により、フルステップ駆動とマイクロステップ駆動との励磁切換指令および電流振幅指令を生成する。すなわち、推定角度による閾値判定を行い、フルステップ駆動とマイクロステップ駆動とを分岐させる（ステップＳ１０５）。
【００６９】
このとき、ステップＳ１０５におけるフルステップ駆動とマイクロステップ駆動との分岐条件には、速度指令パルスのカウント値である推定角度θｅｓｔ、角度指令の最終値θｅｎｄ、あらかじめ設定された角度閾値θｔｈ１および角度閾値θｔｈ２を用いる。なお、始動側のマイクロステップ駆動区間をθｔｈ１の絶対値｜θｔｈ１｜で区別し、停止側のマイクロステップ駆動区間を角度指令の最終値θｅｎｄとθｔｈ２との差分の絶対値｜θｅｎｄ−θｔｈ２｜で区別する。
【００７０】
ここで、図８を参照しながら、角度閾値の設定について説明する。図８は、この発明の実施の形態２に係るステップモータのフルステップ駆動時およびマイクロステップ駆動時の電流ベクトルを示す説明図であり、２相のステップモータを使用する場合について示している。図８において、横軸および縦軸は、それぞれＡ相およびＢ相の定格電流に対する実電流の比として無次元化した電流比を示している。
【００７１】
フルステップ駆動の場合、図８の実線矢印で示すように、Ａ相およびＢ相には、それぞれ電流位相が９０°ずれた矩形波電流を流すため、Ａ相電流ベクトルとＢ相電流ベクトルとで合成された電流ベクトルは、Ｄ１、Ｄ２、Ｄ３、Ｄ４の４ポイントを取り、このときの各ポイント間の位相差がステップモータ３００のステップ角に相当する。
【００７２】
一方、マイクロステップの一例であるハーフステップ駆動の場合、図８の破線矢印で示すように、電流ベクトルは、フルステップ駆動の電流ベクトルの位相を２分割したＭ１、Ｍ２、Ｍ３、Ｍ４、Ｍ５、Ｍ６、Ｍ７、Ｍ８の８ポイントを取る。
【００７３】
このように、ステップモータをフルステップ駆動とマイクロステップ駆動とで切り換える場合、双方の電流ベクトルが一致する方向で励磁切換を行う必要があることが分かる。つまり、上述したフルステップ駆動時とマイクロステップ駆動時との電流ベクトルがともに一致した方向、すなわち図８内のＭ２、Ｍ４、Ｍ６、Ｍ８で切り換えを行えば、フルステップ駆動とマイクロステップ駆動とを途中で切り換えても、ステップモータ回転軸の正確な歩進動作を実現することができる。
【００７４】
なお、図８では、フルステップ駆動の電流ベクトルの位相を２分割するハーフステップ駆動の電流ベクトルを一例として示したが、これに限定されず、ｎ（ｎは２以上の偶数）分割以上のマイクロステップ駆動をフルステップ駆動と切り換えて駆動する場合であっても、同様にフルステップ駆動時の電流ベクトルＤ１、Ｄ２、Ｄ３、Ｄ４と一致する方向で励磁切換を実施することにより、ステップモータ回転軸の正確な歩進動作を実現することができる。
【００７５】
すなわち、角度閾値θｔｈは、フルステップ駆動とマイクロステップ駆動との電流ベクトルが一致する角度を設定すればよい。さらに、フルステップ駆動を用いることなく、マイクロステップ駆動で、分割数のみを切り換えて駆動する場合には、切換前のマイクロステップ駆動の電流ベクトルが、切換後のマイクロステップ駆動の電流ベクトルと一致する方向で励磁切換を実施すればよい。
【００７６】
図７に戻って、ステップＳ１０５において、推定角度の絶対値｜θｅｓｔ｜が始動側の角度閾値の絶対値｜θｔｈ１｜よりも大きく、停止側の角度閾値の絶対値｜θｅｎｄ−θｔｈ２｜未満の場合、フルステップ励磁切換を行い、フルステップ励磁切換指令を生成して出力する（ステップＳ１１０）。
【００７７】
また、Ａ相およびＢ相の電流振幅を、後述するＳＴ１３０における設定値Ａｍｐ＿ｍｉｃｒｏに対して１／√２倍に縮小した電流振幅指令Ａｍｐ＿ｆｕｌｌを生成して出力する（ステップＳ１１５）。すなわち、Ａｍｐ＿ｆｕｌｌ＝Ａｍｐ＿ｍｉｃｒｏ／√２である。
【００７８】
続いて、速度指令パルスのパルス周期ｔｐを演算する（ステップＳ１２０）。このとき、演算方法は、上記実施の形態１で示した式（４）と同一の式を用いて演算する。
【００７９】
次に、ステップＳ１２０で演算されたパルス周期ｔｐに基づいて、速度指令パルスを生成し、生成された速度指令パルスを、パルスのアップエッジまたはダウンエッジの何れかでカウントする（図６参照）。
【００８０】
このとき、角度指令の最終値までカウントした時点で、カウント値を０にリセットする。なお、この速度指令パルスの１パルス分は、ステップモータ３００のステップ角θｓに相当する。
【００８１】
一方、ＳＴ１０５において、推定角度の絶対値｜θｅｓｔ｜が始動側の角度閾値の絶対値｜θｔｈ１｜以下であるか、または停止側の角度閾値の絶対値｜θｅｎｄ−θｔｈ２｜以上の場合、マイクロステップ励磁切換を行い、マイクロステップ励磁切換指令を生成して出力する（ステップＳ１２５）。
【００８２】
また、Ａ相およびＢ相の電流振幅を、Ａｍｐ＿ｆｕｌｌに対して√２倍に拡大した電流振幅指令Ａｍｐ＿ｍｉｃｒｏを生成して出力する（ステップＳ１３０）。
【００８３】
続いて、速度指令パルスのパルス周期ｔｐｍを演算するが、フルステップ駆動時と等価な速度を実現するために、次式（５）によりパルス周期ｔｐｍを演算する（ステップＳ１３５）。式（５）において、ｎ（ｎは２以上の偶数）は、マイクロステップ駆動の分割数であって、例えばｎ＝２の場合は、ハーフステップ駆動に相当する。
【００８４】
【数５】
2016170712.tif 000007
【００８５】
次に、ステップＳ１３５で演算されたパルス周期ｔｐｍに基づいて、速度指令パルスを生成し、生成された速度指令パルスを、パルスのアップエッジまたはダウンエッジの何れかでカウントする（図６参照）。
【００８６】
このとき、角度指令の最終値までカウントした時点で、カウント値を０にリセットする。なお、この速度指令パルスの１パルス分は、ステップモータ３００のステップ角θｓの１／ｎ倍に相当する。
【００８７】
以上のように、実施の形態２によれば、推定角度の閾値に応じてステップモータをフルステップ駆動とステップモータ特有のマイクロステップ駆動とで切り換えて駆動するとともに、マイクロステップ駆動に切り換えた場合のモータトルクの低下を抑制することで、振動の小さい滑らかな始動および停止、並びに駆動機構の所定角度への高精度な位置決めを実現することができる。
【００８８】
さらに、駆動演算部３０Ｂで生成された速度指令パルスを、パルスのアップエッジまたはダウンエッジの何れかでカウントしたステップモータ３００の推定角度θｅｓｔを速度指令演算部２０への角度フィードバックへ利用し、速度指令演算部２０では、温度検出部５００にて得られた負荷の周囲温度Ｔに基づいて、ステップモータ３００の設計トルク以下となるように角速度変化率および角加速度の制限を自動調整した本角速度指令を生成できるので、トルクマージンを低下させることなく、ステップモータを脱調させない駆動を実現することができる。
【００８９】
実施の形態３．
図９は、この発明の実施の形態３に係るステップモータ制御装置を、モータ駆動回路、ステップモータ、駆動機構、温度検出部および外部インターフェースとともに示すブロック構成図である。図９において、上述した実施の形態１との違いは、外部インターフェース６００が追加された点である。
【００９０】
外部インターフェース６００は、角度指令演算部１０Ａへ操作指令を出力し、角度指令演算部１０Ａで操作指令が角度指令θｃｏｍに変換される。外部インターフェース６００は、例えばジョイスティック等であってもよい。このようにすることで、実施の形態１の効果に加えて、ステップモータ制御装置を、マンマシンインターフェース、すなわちユーザーが思いのままに操作できる装置としても活用することができる。
【００９１】
実施の形態４．
図１０は、この発明の実施の形態４に係るステップモータ制御装置を、モータ駆動回路、ステップモータ、駆動機構、温度検出部および外部インターフェースとともに示すブロック構成図である。図１０において、上述した実施の形態２との違いは、外部インターフェース６００が追加された点である。
【００９２】
外部インターフェース６００は、角度指令演算部１０Ａへ操作指令を出力し、角度指令演算部１０Ａで操作指令が角度指令θｃｏｍに変換される。外部インターフェース６００は、例えばジョイスティック等であってもよい。このようにすることで、実施の形態２の効果に加えて、ステップモータ制御装置を、マンマシンインターフェース、すなわちユーザーが思いのままに操作できる装置としても活用することができる。
【符号の説明】
【００９３】
１Ａ、１Ｂ  ステップモータ制御装置、１０、１０Ａ  角度指令演算部、２０  速度指令演算部、２１  第１制御器、２２  飽和器、２３  第２制御器、３０Ａ、３０Ｂ  駆動演算部、２００  モータ駆動回路、３００  ステップモータ、４００  駆動機構、５００  温度検出部、６００  外部インターフェース（マンマシンインターフェース）。
【図１】
2016170712.tif 000008
【図２】
2016170712.tif 000009
【図３】
2016170712.tif 000010
【図４】
2016170712.tif 000011
【図５】
2016170712.tif 000012
【図６】
2016170712.tif 000013
【図７】
2016170712.tif 000014
【図８】
2016170712.tif 000015
【図９】
2016170712.tif 000016
【図１０】
2016170712.tif 000017
【国際調査報告】
2016170712.tif 000018
2016170712.tif 000019