(57)【要約】【課題】  反応遅れの少ない駆動波形生成を可能とし、位相差指令変更時にも滑らかな波形を保持することが可能なモータ駆動装置を提供すること。【解決手段】  本発明にかかるモータ駆動装置は、ロータの回転位置を検出する回転位置検出手段１０４と、検出した回転位置に基づいてモータへの駆動波形を生成する駆動波形生成手段１１０と、を備える。駆動波形生成手段は、記回転位置と駆動波形との間の位相差を設定する位相差設定手段３０６と、位相差設定手段に設定されている位相差が変更された場合の、位相差を変更前の位相差から変更後の位相差へ変化させるまでの時間である変化時間を設定する変化時間設定手段３０７と、変更前の位相差と変更後の位相差と変化時間とに基づいて駆動波形の位相を決定する位相決定手段３０３と、を有する。【選択図】  図１
2019080441.tif 000002
【特許請求の範囲】
【請求項１】
ロータの回転位置を検出する回転位置検出手段と、
検出した前記回転位置に基づいてモータへの駆動波形を生成する駆動波形生成手段と、
を備え、
前記駆動波形生成手段は、
前記回転位置と前記駆動波形との間の位相差を設定する位相差設定手段と、
前記位相差設定手段に設定されている位相差が変更された場合の、前記位相差を変更前の位相差から変更後の位相差へ変化させるまでの時間である変化時間を設定する変化時間設定手段と、
前記変更前の位相差と前記変更後の位相差と前記変化時間とに基づいて前記駆動波形の位相を決定する位相決定手段と、を有することを特徴とするモータ駆動装置。
【請求項２】
前記位相決定手段は、
前記回転位置検出手段による回転位置の検出のタイミングに合わせて、
前記駆動波形の位相を決定することを特徴とする請求項１に記載のモータ駆動装置。
【請求項３】
前記位相決定手段は、前記設定されている位相差が変更されてから前記変化時間が経過するまで、前記回転位置と前記駆動波形との位相差が関数状に変化するように前記駆動波形の位相を決定することを特徴とする請求項１または２記載のモータ駆動装置。
【請求項４】
前記関数は線形の関数であることを特徴とする請求項３記載のモータ駆動装置。
【請求項５】
前記関数は正弦波状の関数であることを特徴とする請求項３記載のモータ駆動装置。
【請求項６】
前記回転位置検出手段は、
前記ロータの回転量に比例する第１のカウント値を算出する第１の算出手段と、
前記回転量に対して周期的に変化する第２のカウント値を算出する第２の算出手段と、を有することを特徴とする請求項１乃至５のいずれか１項に記載のモータ駆動装置。
【請求項７】
前記回転位置検出手段は、位相差を有する複数の正弦波状信号から前記ロータの回転位置を検出することを特徴とする請求項１乃至６のいずれか１項に記載のモータ駆動装置。
【請求項８】
前記回転位置検出手段は、前記複数の正弦波状信号から正接値を算出し、当該正接値に逆正接演算を行って前記ロータの回転角度を算出し、前記回転角度を積分することによって前記ロータの回転位置情報を算出することを特徴とする請求項７に記載のモータ駆動装置。
【請求項９】
前記モータの回転数と発生するトルクとの少なくともいずれか、と、前記位相差設定手段による位相差との関係を示す情報を記憶する記憶手段を備え、
前記位相差設定手段は、記憶された前記情報に基づいて、前記位相差を設定することを特徴とする、請求項１乃至８のいずれか１項に記載のモータ駆動装置。
【請求項１０】
前記モータの回転数を算出する回転数取得手段と、
目標回転数を設定する目標回転数設定手段と、を備え、
前記位相差設定手段は、前記回転数取得手段により取得された前記回転数と前記目標回転数との偏差に基づいて、前記位相差を設定することを特徴とする、請求項１乃至９のいずれか１項に記載のモータ駆動装置。
【請求項１１】
モータと、前記請求項１乃至１０のいずれか１項に記載のモータ駆動装置とを備えるモータシステム。
【請求項１２】
請求項１１に記載のモータシステムと、光学素子とを備え、
前記モータは前記光学素子を駆動することを特徴とする撮像装置。
【請求項１３】
ロータの回転位置を検出する回転位置検出工程と、
検出した前記回転位置に基づいてモータへの駆動波形を生成する駆動波形生成工程と、
を備え、
前記駆動波形生成工程は、
前記回転位置と前記駆動波形との間の位相差と、
前記位相差が変更された場合の、前記位相差を変更前の位相差から変更後の位相差へ変化させるまでの時間である変化時間と、を設定し、
前記変更前の位相差と前記変更後の位相差と前記変化時間とに基づいて前記駆動波形の位相を決定することを特徴とするモータ駆動装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロータに対して駆動波形を与えるモータ技術に関するものである。
【背景技術】
【０００２】
モータの回転軸に設けられた回転位置検出機構によって回転位置を検出し、モータに対して駆動波形を印加することで効率的な回転駆動を実現する技術がある。特許文献１に開示の装置は、磁石をロータ（回転子）側に配置し、コイル巻線をステータ（固定子）側に配置したモータ構成において、低分解能の矩形波位置検出センサから効率的な位相の正弦波駆動信号を生成する。また特許文献２には、位置検出器の矩形波変化分解能を向上させる技術が開示されている。これは、ロータ検出位相と駆動波形位相との関係が目標の位相関係からずれていた場合、ずれ量を補償することで回転駆動を効率化する技術である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−４５６４６号公報
【特許文献２】特開２０１６−１５４４２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の技術は、構成として理想とするロータ回転位相と駆動波形位相との位相関係に基づいて、位置関係が理想値から差分を持っていることを検出した後に補償処理を行う技術である。そのため、差分の検出時点から補償処理が完了する時点までの反応に遅延が生じる。遅延時間が長いと、加減速時や外乱発生時に機構部が持っている反応のポテンシャルを出し切ることができない可能性がある。
【０００５】
位置検出機構部を高精度化する方法として、矩形波信号の分解能を高める方法がある。この方法では信号の周波数特性により、高速回転時に十分な矩形信号変化の検出結果が得られないと、位置検出ができなくなる可能性がある。またロータ回転位相と駆動波形位相との位相関係の指令値が変更されたときに、駆動波形の連続性が損なわれて不連続な波形となり、モータの振動や騒音が発生する可能性がある。
【０００６】
本発明の目的の１つは、検出した回転位置に基づいて効率的な駆動波形を生成するモータ駆動装置において、反応遅れの少ない駆動波形生成を可能とし、位相差指令変更時にも滑らかな波形を保持することが可能なモータ駆動装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明の一実施形態に係るモータ駆動装置は、ロータの回転位置を検出する回転位置検出手段と、検出した前記回転位置に基づいてモータへの駆動波形を生成する駆動波形生成手段と、を備え、前記駆動波形生成手段は、前記回転位置と前記駆動波形との間の位相差を設定する位相差設定手段と、前記位相差設定手段に設定されている位相差が変更された場合の、前記位相差を変更前の位相差から変更後の位相差へ変化させるまでの時間である変化時間を設定する変化時間設定手段と、前記変更前の位相差と前記変更後の位相差と前記変化時間とに基づいて前記駆動波形の位相を決定する位相決定手段と、を有することを特徴とする。本発明のその他の側面については発明を実施するための形態で説明をする。
【発明の効果】
【０００８】
本発明の一側面によれば、検出した回転位置に基づいて効率的な駆動波形を生成するモータ駆動装置において、反応遅れの少ない駆動波形生成を可能とし、位相差指令変更時にも滑らかな波形を保持することが可能なモータ駆動装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態のシステム概要を示すブロック図。
【図２】本発明の実施形態のモータにおける位置検出構造を示す模式図。
【図３】位置ＥＮＣ回路と駆動波形生成回路による処理を説明する図。
【図４】位置検出信号と検出位置カウントとの関係を示す図。
【図５】モータの駆動波形と位相カウントとの関係を示す図。
【図６】本発明の実施形態１の処理を説明するフローチャート。
【図７】ロータ磁石位相と駆動波形位相とが安定停止関係にある状態を示す図。
【図８】ロータ磁石位相と駆動波形位相とが正転トルクを発生する関係にある状態を示す図。
【図９】モータの加速時の挙動を示す図。
【図１０】モータの定速駆動時、減速停止時の挙動を示す図。
【図１１】ロータ磁石位相と駆動波形位相とが逆転トルクを発生する関係にある状態を示す図。
【図１２】ロータ磁石位相と駆動波形の位相差と定常速回転数の関係を示す図。
【図１３】本発明の実施形態２の処理を説明するフローチャート。
【発明を実施するための形態】
【００１０】
以下に、本発明の好ましい実施の形態を、添付図面に基づいて詳細に説明する。以下で説明をする実施形態１、２のモータ駆動装置は、撮像装置や光学ディスク装置、プリンタやプロジェクタ等の各種機器に適用可能である。例えば撮像装置に適用する場合、ズームレンズ、フォーカスレンズ、光学絞り、シャッタ、などの各種光学素子の駆動に用いることができる。
【００１１】
［実施形態１］
図１は本実施形態のモータシステムの概要を説明するブロック図であり、駆動用の電気回路を含めたモータ駆動装置とステッピングモータ１０１との構成例を示す。
【００１２】
ステッピングモータ１０１は、ロータ軸１０２にＥＮＣ（エンコード用）磁石１０３を備える。ＥＮＣ磁石１０３は、回転軸を中心とする円周上に発生する磁場が回転位置に応じて正弦波状の磁場を発生するように着磁されている。またステッピングモータ１０１はリセット機構１２１を備える。リセット機構１２１は、ロータ軸１０２の回転に応じて、特定の１箇所において変化する信号を出力する構成となっている。この信号は、モータの回転位置に係る絶対位置の基準を与えるための信号である。リセット機構１２１としては、具体的には、ロータ軸１０２がスクリュー軸となっており、スクリュー軸の回転に応じて並進移動する移動体にスリットが形成されている。スリットがフォトインタラプタを遮光することで、その出力信号が変化する。
【００１３】
Ｈａｌｌ素子パッケージ１０４は、ＥＮＣ磁石１０３の磁気検出部であり、複数のホール素子を備える。例えば、Ｈａｌｌ素子１０５および１０６はそれぞれの位置にて、ＥＮＣ磁石１０３の回転による磁場の変化を検出し、検出信号をアンプ１０７へ出力する。図２を参照して具体例を説明する。
【００１４】
図２（ａ）はステッピングモータ１０１の外観例を示す斜視図である。ステッピングモータ１０１のロータ軸１０２には、短い円筒状のＥＮＣ磁石１０３が設置されている。ＥＮＣ磁石１０３の発生する磁場を検知可能な位置に、Ｈａｌｌ素子パッケージ１０４が配置されている。ステッピングモータ１０１から配線部材２０１が外部に引き出されており、配線部材２０１は後述のモータドライバ１１３に接続される。
【００１５】
図２（ｂ）はＥＮＣ磁石１０３とＨａｌｌ素子１０５，１０６との位置関係を示す模式図である。ＥＮＣ磁石１０３は対極数５（１０極）の磁石であり、３６度ごとの領域が着磁されている。Ｈａｌｌ素子１０５，１０６はＥＮＣ磁石１０３の中心位置から見た場合、中心位置から等距離に配置されている。中心位置に対するＨａｌｌ素子１０５，１０６の角度、つまり、２つのＨａｌｌ素子が中心位置に対して成す物理的な角度（物理角）が１８度となる配置である。２つのＨａｌｌ素子で検出される信号位相としては、９０度の位相差となる。
【００１６】
図１のアンプ１０７は、Ｈａｌｌ素子１０５、１０６からそれぞれ入力される微弱な信号を増幅し、後段のＡＤ変換回路１０８へ出力する。ＡＤ変換回路１０８はアンプ１０７から入力されたアナログ電圧信号をデジタル変換して数値化し、変換結果をデジタル数値信号として位置ＥＮＣ回路１０９に出力する。
【００１７】
位置ＥＮＣ回路１０９はＡＤ変換回路１０８から入力される信号のエンコード処理を行う。位置ＥＮＣ回路１０９は、入力された２つの信号のオフセット調整およびゲイン調整を行う処理部を備える。位置ＥＮＣ回路１０９は、調整後に２つの信号からＴＡＮ値（正接値）を算出した後でＡｒｃＴＡＮ演算（逆正接演算）を行い、回転角度情報を生成する。この回転角度情報を積分することで回転位置情報が生成される。生成された回転位置情報は駆動波形生成回路１１０に送られる。
【００１８】
駆動波形生成回路１１０はモータに対する駆動用波形を生成する。駆動波形生成回路１１０は、ＯＰＥＮ駆動とＣＬＯＳＥ駆動の切り替えを行う。ＯＰＥＮ駆動は予め設定された周波数で駆動用の位相の異なる正弦波信号を出力する駆動である。ＣＬＯＳＥ駆動は位置ＥＮＣ回路１０９と連動させた駆動波形を出力する駆動である。ＯＰＥＮ駆動とＣＬＯＳＥ駆動の切り替えはＣＰＵ（中央演算処理装置）１１１の指令にしたがって行われる。ＣＰＵ１１１は駆動波形生成回路１１０に対して、ＯＰＥＮ駆動とＣＬＯＳＥ駆動の切り替えの指令を行い、ＯＰＥＮ駆動時の出力正弦波信号の周波数と振幅ゲイン値を設定する。またＣＰＵ１１１は、位置ＥＮＣ回路１０９に対して位置カウント値の初期化設定等を行う。位置ＥＮＣ回路１０９および駆動波形生成回路１１０による処理については、図３から図５を用いて後述する。
【００１９】
ＰＷＭ（パルス幅変調）発生器１１２は駆動波形生成回路１１０から出力されるＰＷＭ指令値に応じて、モータドライバ１１３に対してＰＷＭ信号を出力する。ＰＷＭ信号については図５を参照して後述する。
【００２０】
次に、位置ＥＮＣ回路１０９、駆動波形生成回路１１０の処理を、図３、図４を用いて詳細に説明する。図３（ａ）は位置ＥＮＣ回路１０９、駆動波形生成回路１１０の処理を詳細に示すブロック図である。Ａｐｏｓ生成手段３０１〜Ｂｐｏｓ生成手段３０２が位置ＥＮＣ回路１０９に相当する。駆動波形位相決定手段３０３〜駆動用位相差変化時間設定手段３０７が駆動波形生成回路１１０に相当する。
【００２１】
図１のＨａｌｌ素子１０５の出力信号を検出信号１と表記し、Ｈａｌｌ素子１０６の出力信号を検出信号２と表記する。検出信号１および２はアンプ１０７を介してＡＤ変換回路１０８へ入力され、ＡＤ変換された信号はＡｐｏｓ生成手段３０１が取得する。Ａｐｏｓ生成手段３０１は、ＡＤ変換された検出信号１、２に基づき、ＡｒｃＴａｎ（逆正接）演算を用いて回転位置を算出する。前処理として、入力された２つの信号のオフセット調整およびゲイン調整が行われる。つまり、２つの信号のオフセットおよびゲインを同一にする調整が行われる。この調整はＯＰＥＮ駆動でモータを回転させることによって２つの信号のピーク値とボトム値を検出し、その検出結果を用いて行われる。調整後に、９０度の位相差を持った２つの正弦波状信号で正接値を算出し、逆正接演算を行うと回転角度情報（Ａｐｏｓと記す）が生成される。この回転角度の値を積分した値を算出することで回転位置情報を生成することができる。検出信号１および２と回転位置情報との関係について、図４の例で説明する。
【００２２】
図４（ａ）、（ｂ）は、それぞれ検出された回転位置信号を調整した後の信号を例示する。図４（ａ）に示す信号は正弦波状信号であり、図４（ｂ）に示す信号は余弦波状信号である。図４（ｃ）は検出位置のカウント値の変化を示す。横軸はロータの回転量を表す。本実施形態では、２つのＨａｌｌ素子の信号が正弦波の１波長分出力されたときに１０２４カウント分の位置分解能で位置検出を行えるものとする。検出位置のカウント値は図３（ａ）のＡｐｏｓ生成手段３０１の記憶領域に格納される。
【００２３】
図３（ｂ）はＡｐｏｓを示し、グラフの横軸はロータの回転量を表す。Ａｐｏｓの値はロータの回転量に比例したカウント値である。Ａｐｏｓ生成手段３０１の次にＢｐｏｓ生成手段３０２が処理を引き継ぐ。
【００２４】
Ｂｐｏｓ生成手段３０２は、Ａｐｏｓに対して任意のオフセット値を持った情報（Ｂｐｏｓと記す）を生成する。ＣＰＵ１１１は任意のタイミングでＢｐｏｓを任意の値に書き換え可能であり、当該タイミングで書き換えた値、およびＢｐｏｓとＡｐｏｓとの差分量をオフセット値として記録する。図３（Ｃ）はＢｐｏｓを示す。横軸はロータの回転量を表す。Ｂｐｏｓ生成手段３０２は、図３（Ｂ）に示すＡｐｏｓ値に対し、記録されたオフセット値が常に付与されたＢｐｏｓ値を生成する。Ｂｐｏｓ値は、ゼロと上限値との間で回転量に対して周期的に変化する鋸歯状波の信号値である。
【００２５】
Ｂｐｏｓ生成手段３０２により生成されたＢｐｏｓの情報は、駆動波形位相決定手段３０３に入力される。駆動波形位相決定手段３０３は、最終的にＡ相用コイル１１４、Ｂ相用コイル１１５に印加する駆動波形の位相カウント情報を決定する。駆動波形位相決定手段３０３は、図１のＰＷＭ発生器１１２に対し、位相カウントに相当するＰＷＭ値を出力する。駆動波形位相決定手段３０３は、ＯＰＥＮ駆動用カウント手段３０４の指令により、位相カウント情報を出力するＯＰＥＮ駆動と、Ｂｐｏｓ値に基づいて位相カウント情報を出力する位置連動駆動（ＣＬＯＳＥ駆動）とを切り替えることができる。位置連動運動では、位置ＥＮＣ回路１０９から出力されるＢｐｏｓの情報に基づいて、駆動波形生成回路１１０の駆動波形位相決定手段３０３が位相カウント情報を決定する。よって、位置ＥＮＣ回路１０９により検出される回転位置の位相と、駆動波形生成回路１１０により生成される駆動波形の位相とが同期することになる。この同期処理は、位置ＥＮＣ回路１０９と駆動波形生成回路１１０とにより行われることになる。また、ＯＰＥＮ駆動と位置連動駆動は、ＣＰＵ１１１が駆動波形位相決定手段３０３に対して設定を行うことで切り替えられる。
【００２６】
ＯＰＥＮ駆動を行う場合、ＣＰＵ１１１はＯＰＥＮ駆動用カウント手段３０４に駆動波形の周波数を指令し、駆動波形位相決定手段３０３に駆動波形の振幅ゲインを設定する。これにより、駆動波形位相決定手段３０３は所望周波数、所望振幅の駆動波形を出力する。一方、位置連動駆動を行う場合、Ｂｐｏｓの下位１０ビット値に対して駆動波形位相決定手段３０３は所定のオフセット値を付与した値を算出する。所定のオフセット値は以下の通りである。
・ＣＰＵ１１１が定常位相差設定手段３０５を通じて設定した第１のオフセット値（ＳＴＣ＿ＯＦＳ値）
・ＣＰＵ１１１が駆動用位相差設定手段３０６を通じて設定した第２のオフセット値（ＰＨＳ＿ＯＦＳ値）
【００２７】
これらのオフセットを付与した値が算出されて駆動波形位相のカウント値が取得される。このカウント値に相当する位相の出力値が駆動波形の出力値として選択される。この関係を図３（ｄ）、（ｅ）のグラフによって示す。図３（ｄ）はＢｐｏｓの下位１０ビット値と回転量との関係を示す。図３（ｅ）はオフセットを付与した後の駆動波形を示す。横軸はロータの回転量を表す。Ｂｐｏｓに対してＳＴＣ＿ＯＦＳ、ＰＨＳ＿ＯＦＳの両方が加算されてオフセット値が付与される。後述するように、ＳＴＣ＿ＯＦＳはロータの検出位置カウントと駆動波形カウントの安定位置を管理する役割をもつ。ＰＨＳ＿ＯＦＳはトルク発生のための位相差を管理する役割が割り当てられている。
【００２８】
また、駆動波形位相決定手段３０３は、駆動用位相差設定手段３０６への設定値が変更された場合、変更前の位相差（つまり現在の位相差）から変化後の位相差へと瞬時に切り替えるのでなく、設定された時間かけて変化させる。本明細書では、この機能のことを、位相差漸増減変化機能と呼ぶ。この機能により、設定された位相差が変更された場合であっても、実際にモータドライバに与える駆動波形の変化は緩やかになるため、駆動波形が滑らかな波形を保持することが可能となり、振動や騒音を軽減することができる。この機能のＯｎ／ＯｆｆはＣＰＵ１１１から設定することができる。また、変更前の位相差から変更後の位相差へと位相差が変化するまでにかける時間、言い換えると、変更後の位相差に到達するまでの所要時間のことを、位相差の変化時間と呼ぶ。駆動波形位相決定手段３０３は、変更前の位相差と変更後の位相差と変化時間とに応じて駆動波形の位相を決定することで、位相差漸増減変化機能を実現する。
【００２９】
位相差漸増減変化機能における位相差の変化時間は、図３（ａ）の駆動用位相差変化時間設定手段３０７によって設定される。位相差の変化時間に対応する、駆動用位相差変化時間設定手段３０７に対してＣＰＵが設定する値をＰＳ＿ＴＩＭＥとし、この値には変化時間をｍｓオーダーで設定できるものとする。
【００３０】
ＰＷＭ発生器１１２は駆動波形生成回路１１０から出力されるＰＷＭ指令値に応じて、モータドライバ１１３にＰＷＭ信号を出力する。図５を参照して、正弦波位置カウント値と、出力されるＰＷＭ値（Ｄｕｔｙ％値）との関係を説明する。図５（ａ）、（ｂ）ともに横軸はテーブル番号を表し、図３（ｅ）に示す出力値と同様に１０２４の分解能である。縦軸はＰＷＭ信号のＤｕｔｙ％値を表わす。
【００３１】
図５（ａ）では、横軸がプラスカウントされていてＡ相駆動電圧波形に対してＢ相駆動電圧波形が９０度先行している。これはモータがＣＷ方向に回転する場合を示している。逆に図５（ｂ）では、横軸がマイナスカウントされていてＢ相駆動電圧波形に対してＡ相駆動電圧波形が９０度先行している。これはモータがＣＣＷ方向に回転する場合を示している。縦軸のＤｕｔｙ％値はＣＰＵ１１１によるゲイン設定値に応じて増減する。本実施形態ではモータの回転運動に支障を来すことのない適切なゲイン値が設定されているものとする。
【００３２】
図６は、本実施形態における処理の流れを示すフローチャートである。ＣＰＵ１１１は所定のプログラムにしたがって以下で説明する図６に示した制御を行う。
【００３３】
駆動シーケンスが開始するとＳ６０１の処理に進む。ステップＳ６０１では、まず位置連動駆動をオフする設定にし、ＯＰＥＮ駆動が働く設定とする。続くＳ６０２でＣＰＵ１１１はリセット機構１２１が出力しているリセット信号の検出状態を判定する。リセット信号は、ロータ軸１０２のスクリュー機構に取り付けられた被検知部材の移動に伴い、被検知部材が予め設定された位置を通過するときにＨｉｇｈまたはＬｏｗに変化する２値信号である。モータ駆動装置がステッピングモータ１０１にＢ相先行の駆動波形を印加してＣＷ回転をするときに被検知部材が進行する側が、リセット信号としてＨｉｇｈレベルを出力する側である。モータ駆動装置がステッピングモータ１０１にＡ相先行の駆動波形を印加してＣＣＷ回転をするときに被検知部材が進行する側が、リセット信号としてＬｏｗレベルを出力する側である。リセット信号が変化する位置を検出して絶対位置を確定するために、Ｓ６０２の判定処理が行われる。
【００３４】
Ｓ６０２にてリセット信号がＬｏｗレベルであればＳ６０３に進み、またＳ６０２にてリセット信号がＨｉｇｈレベルであればＳ６０４に進む。Ｓ６０３でＣＰＵ１１１はＢ相先行波形の駆動波発生をＯＰＥＮ駆動用カウント手段３０４（図３）に指令し、モータを回転させる制御を行う。Ｓ６０４でＣＰＵ１１１はＡ相先行波形の駆動波発生をＯＰＥＮ駆動用カウント手段３０４に指令し、モータを回転させる制御を行う。Ｓ６０３またはＳ６０４の処理後、Ｓ６０５の処理に進む。
【００３５】
Ｓ６０５でＣＰＵ１１１はリセット信号の状態が変化したかどうかを判定する。ＣＰＵ１１１はリセット信号を監視し、リセット信号に変化が起きた場合、Ｓ６０６の処理に進み、リセット信号に変化がない場合には監視を継続してＳ６０５の判定処理を繰り返す。Ｓ６０６でＣＰＵ１１１は、駆動波形の進行を停止させる指令をＯＰＥＮ駆動用カウント手段３０４に出力する。このときの停止位置は位置カウントの基準位置となる。次のＳ６０７では、検出位置の最終的な位置管理を行うＢｐｏｓ値が初期化され、Ｂｐｏｓにゼロを書き込む処理が行われる。
【００３６】
続くＳ６０８では、ロータの停止状態で駆動波形位相決定手段３０３に保持されている駆動波形の位相カウント値から、Ｂｐｏｓの下位１０ビット値を引いた値をＳＴＣ＿ＯＦＳとして書き込む処理が実行される。ＳＴＣ＿ＯＦＳの値は、位置連動駆動をＯＮにした瞬間に、駆動波形の出力位相がずれないようにするための値である。Ｓ６０８の時点では、ＯＰＥＮ駆動波形の結果、ある駆動波形位相を出力している状態にてロータ磁石１２０が安定に停止している。位置連動駆動がＯＮに設定された後の駆動波形位相は、Ｂｐｏｓの下１０ビットの値に基づいて生成される。位置連動駆動がＯＮに設定された直後に、Ｂｐｏｓの下位１０ビットの値にＳＴＣ＿ＯＦＳの値が加算される。加算後の値が駆動波形の位相カウント値として出力されるので、駆動波形の位相カウント値は位置連動駆動のＯＮとＯＦＦの前後で値が変わらないことが保証される。次にＳ６０９の処理に進む。
【００３７】
ステップＳ６０９ではＣＰＵ１１１は位置連動駆動をＯＮに設定する。このとき、オフセットＰＨＳ＿ＯＦＳにはゼロが設定されているものとする。位置連動駆動のＯＮ設定の直後には前述の通り、駆動波形の出力位相は変化しない。
【００３８】
ステップＳ６１０においてはＣＰＵ１１１が位相差漸増減変化機能をＯＮに設定する。
【００３９】
ステップＳ６１１においてＰＳ＿ＴＩＭＥに３ｍｓを設定する。この３ｍｓという数値は、後述するモータの動き出しの挙動においてモータの振動挙動、騒音発生挙動が許容範囲に収まるような数値であり、駆動するモータの構成や、振動・騒音の許容範囲に応じて適宜決めることができる。尚、この数値は、実験確認を行った上で決定したり、シミュレーションにより決定したりすることができる。
【００４０】
ステップＳ６１２において連動機能を利用したＣＷ方向への回転トルク（正転トルク）発生動作を行う。具体的にはＰＨＳ＿ＯＦＳに駆動波形位相で９０度に相当する値である２５６が設定される。この時にモータに発生する現象を図７〜図１０を用いて後述する。
【００４１】
ステップＳ６１３では、ＣＰＵ１１１はモータの減速開始位置の判定処理を行う。ロータの検出位置が減速開始位置以上であると判定された場合、ステップＳ６１４に進む。またロータの検出位置が減速開始位置未満であると判定された場合にはＳ６１３の判定処理が繰り返される。減速開始位置は、事前にモータおよび機構部の駆動特性を調べておき、所望の減速トルクをかけた時に十分な減速効果が得るように、必要な回転量分だけ目標停止位置から手前の位置に設定されるものとする。
【００４２】
続くステップＳ６１４においてＰＳ＿ＴＩＭＥに２ｍｓを設定する。この２ｍｓという数値は、前述のモータの動き出しの挙動の場合と同様に、減速開始時において振動挙動、騒音発生挙動が許容範囲に収まるように設定した数値とする。
【００４３】
ステップＳ６１５では、モータにＣＣＷ方向の回転トルク（逆転トルク）、すなわちＣＷ回転時にはブレーキとなるトルクがかかるよう、−２５６の値をＰＨＳ＿ＯＦＳに設定する。検出位置と駆動波形の位相差は、このタイミングから、ステップＳ６１４でＰＳ＿ＴＩＭＥとして設定した２ｍｓの時間をかけて−２５６へと変更され、ブレーキトルクのかかる検出位置と駆動波形の位相関係へと移行する。
【００４４】
ステップＳ６１６でＣＰＵ１１１は、ロータの検出位置が減速終了位置以上であるか否かを判定する。ロータの検出位置が減速終了位置以上である場合、Ｓ６１９に進み、またロータの検出位置が減速終了位置未満である場合にはＳ６１８の判定処理が繰り返される。減速終了位置は、事前にモータおよび機構部の駆動特性を調べておき、十分に減速が可能であって、かつ減速終了後に慣性で目標停止位置まで到達できるように、目標停止位置より手前の位置を設定しているものとする。
【００４５】
続くステップＳ６１７においてＰＳ＿ＴＩＭＥに２ｍｓを設定する。この２ｍｓという数値は、前述のモータの動き出し、減速開始時の挙動の場合と同様に、減速終了時において振動挙動、騒音発生挙動が許容範囲に収まるような数値とする。ステップＳ６１８では、ＰＨＳ＿ＯＦＳの値として０を設定する。ＰＨＳ＿ＯＦＳが０に設定されると、設定されたタイミングから２ｍｓかけてＰＨＳ＿ＯＦＳが−２５６から０に変化、すなわち検出位置と駆動波形の位相関係が、ブレーキトルクがかかる位相関係から回転トルクが発生しない位相関係へと移行する。
【００４６】
続くステップＳ６１９でＣＰＵ１１１はロータの検出位置が予め設定された目標停止位置以上であるか否かを判定する。ロータの検出位置が目標停止位置以上である場合、Ｓ６２０に進み、またロータの検出位置が目標停止位置未満である場合にはＳ６１９の判定処理が繰り返される。ステップＳ６２０でＣＰＵ１１１は位置連動駆動をオフにし、駆動波形の位相を固定する。これによりモータは回転を停止する。最後にステップＳ６２１において位相差漸増減変化機能をＯｆｆに設定し、一連の処理を終了する。
【００４７】
図７から図１０を参照して、図６のＳ６１２の処理について具体的に説明する。図７（ａ）は図２（ｃ）で示されているステータ群の配置に関し、ステータを横一列に並べた模式図である。図７（ｂ）はステータ群に対してモータの周方向にどのような電圧印加を行っているかを模式的に示したものである。図７（ｃ）はその電圧印加によってステータ群が発生させている周方向位置に対応した磁場の強さを示す図である。図７（ｄ）は図２（ｃ）で示されるロータ磁石１２０の着磁位相を示す図である。図７は、図６のステップＳ６１１の状態を示しており、ステータ群が発生させている磁場のＮＳ磁極位相と、ロータ磁石１２０のＮＳ磁極位相との関係は、ロータが安定に停止する関係にある（ＰＨＳ＿ＯＦＳが０に設定された状態）。これに対して、ステップＳ６１２においてＰＨＳ＿ＯＦＳに２５６が設定されたのちは、図７（ｃ）（ｄ）の関係が、ＰＳ＿ＴＩＭＥに設定された時間（３ｍｓ）をかけて、図８（ｃ）（ｄ）の関係に変化していく。
【００４８】
図８は、図６のＳ６１１にてＰＨＳ＿ＯＦＳの値に２５６が設定された後の状態を示す説明図である。図８（ａ）から（ｄ）はそれぞれ、図７（ａ）から（ｄ）に対応している。図８の状態はステータ群が発生させている磁場が図７に比べて９０度進んだ位置にある。このことにより図８（ｄ）で示されるように、ロータ磁石１２０は右側に引っ張られる引力、すなわちＣＷ方向の回転トルク（正転トルク）が発生する。
【００４９】
図９は、モータの挙動を説明するグラフである。図９（ａ）はＢｐｏｓの時間変化を示し、横軸は時間軸であり、縦軸はロータの位置を表す。図９（ｂ）は駆動用位相差設定手段３０６にＰＨＳ＿ＯＦＳとして設定されている値の時間変化を示すグラフである。図９（ｃ）は検出された回転位置（以下、検出回転位置）と実際にシステムに反映される駆動波形の位相差（つまり、検出位置と駆動波形生成回路から出力されるＰＷＭ指令値に基づく駆動波形との位相差）の時間変化を示すグラフである。また図９（ｄ）はＢｐｏｓの下位１０ビット値の時間変化を示すグラフ、図９（ｅ）は駆動波形位相カウント値の時間変化を示すグラフであり、図９（ｄ）の値に図９（ｃ）の値を加算して０〜１０２３の値に正規化したものである。図９（ｆ）、（ｇ）はそれぞれ、駆動波形位相カウント値に基づいて、ステータＡ＋１１６に発生する駆動波形磁場の時間変化と、ステータＢ＋１１８に発生する駆動波形磁場の時間変化を表している。また、時刻ｔ１は、図６のステップＳ６１１においてＰＨＳ＿ＯＦＳの値として２５６が設定されるタイミングを、時刻ｔ２は時刻ｔ１から３ｍｓ経過したタイミングを示す。
【００５０】
図７、図８で説明した通り、図９の時刻ｔ１にてＰＨＳ＿ＯＦＳに２５６が設定されると、図９（ｃ）で示すように実際にシステムに反映される検出位置と駆動波形の位相差が３ｍｓかけて０から２５６に変化している。これにより、駆動波形の位相カウント値が図ｔ１からｔ２にかけて駆動波形のカウント値が徐々に上がっていくため、急なトルク変動による振動や騒音発生を抑制していることになる。
【００５１】
もしＰＨＳ＿ＯＦＳの設定変更による検出位置と駆動波形の位相差変化が即時に反映される場合、図９（ｄ）の値に図９（ｂ）の値を足しこんで０〜１０２３の値に正規化したものが図９（ｅ）という状態になる。その場合、時刻ｔ１において駆動波形のカウント値が瞬時に飛び、駆動波形の連続性が損なわれて振動、騒音の原因となる。
【００５２】
時刻ｔ１からｔ２にかけて徐々に回転トルクが増え、時刻ｔ２以降は設定された位相差でのトルクにより回転する。モータが回転することで、検出位置に対応するＢｐｏｓが進み、そのことにより駆動波形の位相カウント値も進む。このループ処理によって、図８（ｃ）と図８（ｄ）で示す２つの波形の位相差が常に維持され、回転トルクがかかり続けることになる。その結果、図９（ａ）に示すように、モータに加速がかかりモータの回転速度が上昇していく。
【００５３】
図１０は図９に示したモータの加速後の挙動を示す図である。図１０は、モータが加速後に一定速度での定速状態に移行し、さらに減速して空走し、目標停止位置（図中、ＴＰ）にて停止する様子を示す。図１０（ａ）はＢｐｏｓの時間変化を示し、横軸は時間軸であり、縦軸は位置を表す。図１０（ｂ）はモータの回転数（速度）の時間変化を示し、横軸は時間軸であり、縦軸は回転速度を表す。図１０（ｃ）は駆動用位相差設定手段３０６にＰＨＳ＿ＯＦＳとして設定されている値の時間変化を示すグラフである。図１０（ｄ）は検出回転位置と実際にシステムに反映される駆動波形の位相差（検出位置と駆動波形生成回路から出力されるＰＷＭ指令値に基づく駆動波形との位相差）の時間変化を示すグラフである。図１０（ｅ）はＢｐｏｓの下位１０ビット値の時間変化を示すグラフ、図１０（ｆ）は駆動波形位相カウント値の時間変化を示すグラフである。駆動波形位相カウント値は、図１０（ｅ）に示す値に指令位相差を加算して、０〜１０２３の値に正規化した値に相当する。
【００５４】
図１０（ｇ）、（ｈ）はそれぞれ、駆動波形位相カウント値に基づいて、ステータＡ＋１１６に発生する駆動波形磁場の時間変化と、ステータＢ＋１１８に発生する駆動波形磁場の時間変化を示す。図１０では、時刻ｔ３に至るまで加速を続け、時刻ｔ３からｔ４までの期間ではモータが定速状態にある。これは、発生トルクが回転数上がるにつれて電圧から電流に変換されるときのコイルの周波数特性遅れによって減衰したり、逆起電力の影響が大きくなったりすることにより、発生トルクと逆起電力とメカ負荷とが、ある回転数でつり合い状態になるためである。
【００５５】
図６のＳ６１３において、検出位置が減速開始位置以上であると判定された場合には、ステップＳ６１４の処理を経て、ステップＳ６１７の処理へ進み、減速制御が行われる。図１０の時刻ｔ４は、ステップＳ６１５のタイミングに相当する。ステップＳ６１５においてＰＨＳ＿ＯＦＳに−２５６が設定されたのちは、図８（ｃ）（ｄ）の関係が、ＰＳ＿ＴＩＭＥに設定された２ｍｓの時間をかけて、図１１（ｃ）（ｄ）の関係に変化する。図１１は、Ｓ６１５での状態を説明する図であり、図１１（ａ）〜（ｄ）のそれぞれは、図８の（ａ）〜（ｄ）のそれぞれに対応するが、ステータ群が発生させている磁場が図７に比べて９０度遅れた位置にある。よって、図１１（ｄ）で示されるロータ磁石１２０は左側に引っ張られる引力、すなわちＣＣＷ方向の回転トルク（減速トルク）が発生する。このトルクはステップＳ６１５の段階ではＣＷ方向の回転トルクに対してブレーキトルクとして働くので、これを利用して速やかな減速動作が行われる。
【００５６】
図１０（ｄ）に示すように、時刻ｔ４においてＰＨＳ＿ＯＦＳに−２５６が設定されると、実際にシステムに反映される検出位置と駆動波形の位相差が、時刻ｔ４〜ｔ５までの２ｍｓかけて２５６から−２５６に変化する。図１０（ｆ）（ｅ）から、時刻ｔ４からｔ５にかけて駆動波形のカウント値が、検出回転位置の変化に比べて緩やかに変化し、時刻ｔ５から検出回転位置に対して−２５６カウント低い値を維持した位相関係に収束していることが分かる。このように、駆動波形のカウント値が緩やかに変化するため、急なトルク変動による振動や騒音発生を軽減することができる。
【００５７】
図１０の時刻ｔ６は、ステップＳ６１８の処理タイミングに相当する。図１０の時刻ｔ６においてＰＨＳ＿ＯＦＳに０が設定されると、図１０（ｄ）に示すように、実際にシステムに反映される検出位置と駆動波形の位相差が時刻ｔ６からｔ７までの２ｍｓかけて−２５６から０に変化する。図１０（ｅ）、（ｆ）から、時刻ｔ６からｔ７にかけて駆動波形のカウント値が、Ｂｐｏｓの下位１０ビット値に対して差分を持たない状態に収束していくことがわかる。こうすることで急なトルク変動による振動や騒音発生を抑制している。図１０の時刻ｔ８は、ステップＳ６２０の処理タイミングに相当する。時刻ｔ８では、ステップＳ６２０に示すように連動機能がＯＦＦに設定され、モータが回転を停止する。
【００５８】
［実施形態２］
本実施形態では、駆動用位相差設定手段３０６にＰＨＳ＿ＯＦＳとして設定する値によって、目標速度への追従制御を行う構成、処理を説明する。
【００５９】
図１２はＰＨＳ＿ＯＦＳとして設定する、検出位置カウントと駆動波形との位相差と、モータの定常回転速度との関係を示す図である。横軸に示す、位相差の設定値を大きくしていくと、右肩上がりで回転数が上がるが、あるところで頭打ちになりその後回転数が下がっていく特性を持つ。点線で示す線形関係範囲１２のように、位相差と回転数とが線形関係と見なせる範囲内においては、位相差の設定値を制御量として一般的な速度制御が可能である。具体的な本実施形態の構成及び処理について説明をする。
【００６０】
本実施形態のモータ駆動装置は、モータの回転数を取得する回転数取得手段と、目標速度に対応する目標回転数を設定する目標回転数設定手段を更に備える点で、実施形態１のモータ駆動装置と異なる。回転数取得手段は、モータの回転数を取得することができれば具体的な構成は特に問わない。例えば、位置ＥＮＣ回路から出力された回転位置を示す信号に基づいて、回転位置を微分する、又はフィルタ演算を行うことで回転数を算出すると、別途センサ等を設けることなく回転数を取得できる。
【００６１】
本実施形態で行う処理について図１３のフローチャートを用いて説明する。
【００６２】
ステップＳ１３０１〜ステップＳ１３１２までは、実施形態１で説明した、図６のステップＳ６０１〜ステップＳ６１２と同様であるので説明は割愛する。ステップＳ１３１２で位相差を２５６に設定することで加速トルクがかかり、回転運動を始めた後、ステップＳ１３１３に移る。
【００６３】
ステップＳ１３１３では、実際の速度値（検出速度値とも呼ぶ）を取得し、あらかじめ設定された目標速度との速度差分を算出する。検出速度値の取得方法は特に問わないが、検出位置カウント値を微分処理する等の方法を用いることができる。この速度差分を偏差量として目標速度への追従を目的とした制御器をあらかじめ設計し、この制御器によって偏差量から位相差制御量を算出して速度追従処理を行う。この制御器は一般的なＰＩＤ制御器や位相補償フィルタなどによる制御器などでよい。またその他、古典制御理論外の先進的な制御器を使用してもよい。
【００６４】
続くステップＳ１３１４では、モータの減速開始位置の判定処理を行う。ロータの検出位置が減速開始位置以上であると判定された場合、ステップＳ１３１５に進む。またロータの検出位置が減速開始位置未満であると判定された場合にはステップＳ１３１３に戻り速度制御処理を継続する。
【００６５】
続くステップＳ１３１５〜ステップＳ１３２２の処理は、実施形態１で説明した、図６のフローチャート、ステップＳ６１４〜ステップＳ６２１の処理と同様であるので説明は割愛する。
【００６６】
以上の実施形態の構成、処理を実施することにより、駆動波形が連続性を有し、回転位置検出機構からの検出回転位置を元にモータに対して効率的な駆動波形を生成する処理上で反応遅れの少ない駆動波形生成が可能なモータ駆動装置を実現することができる。
【００６７】
（変形例）
上述の実施形態の位置検出器は、複数のホールセンサと回転磁石を用いた構成であるが、回転位置の検出が高精度に行える構成であれば他のセンサ機構を用いても実施可能である。
【００６８】
また、上述の実施形態では１０極の一般的なクローポール型ステッピングモータの構成を前提に説明をしたが、これに限らず、ロータ側が永久磁石であって、ステータ側がコイル・ステータであれば、他の構成のモータにも実施可能である。
【００６９】
また、上述の実施形態では検出回転位置の位相と駆動波形の位相差の設定値が変更された場合、検出回転位置の位相と駆動波形との位相差（図９（ｃ）、図１０（ｄ））が、変更前の値から変更後の値まで線形の関数状に変化するものとした。しかしながら、検出回転位置の位相と駆動波形との位相差の変化はこれに限らず、たとえば正弦波状の関数のように、ほかの関数状に変化させてもよい。
【００７０】
また、上述の実施形態では検出回転位置の位相と駆動波形の位相関係の指令値の変化時間を直接設定しているが、駆動波形の出力値更新時間が一定周期で決定されていて変化時間をこの更新周期の回数によって指定する構成であってもよい。また、検出回転位置の検出更新周期ごとに駆動波形出力値が更新される、または検出回転位置の検出更新周期の分周タイミングで駆動波形出力値が更新される構成であってもよい。
【００７１】
また、本実施形態では、位相差の変化時間（ＰＳ＿ＴＩＭＥ）を設定してから駆動用位相差設定手段３０６に設定する位相差（ＰＨＳ＿ＯＦＳ）を変更したが、設定する位相差を変更してから位相差の変更時間を設定してもよい。但し、この場合、駆動波形位相決定手段３０３は、位相差の変更時間を設定してから出力する位相差を変化させる。また、本実施形態では、位相差（ＰＨＳ＿ＯＦＳ）が設定されるとすぐに実際の位相差の変更を開始したが、タイミングがずれる場合、位相差の変更を開始してから変更後の位相差に達するまでの時間が、変更時間と一致するように実際の位相差を制御する。
【００７２】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【符号の説明】
【００７３】
１０１  ステッピングモータ
１０２  ロータ軸
１０３  ＥＮＣ磁石
１０４  Ｈａｌｌ素子パッケージ
１０５  Ｈａｌｌ素子１
１０６  Ｈａｌｌ素子２
１０７  アンプ
１０８  ＡＤ変換回路
１０９  位置ＥＮＣ回路
１１０  駆動波形生成回路
１１１  ＣＰＵ
１１２  ＰＷＭ発生器
１１３  モータドライバ
１１４  Ａ相用コイル
１１５  Ｂ相用コイル
１１６  ステータＡ＋
１１７  ステータＡ−
１１８  ステータＢ＋
１１９  ステータＢ−
１２０  ロータ磁石
１２１  リセット機構
【図１】
2019080441.tif 000003
【図２】
2019080441.tif 000004
【図３】
2019080441.tif 000005
【図４】
2019080441.tif 000006
【図５】
2019080441.tif 000007
【図６】
2019080441.tif 000008
【図７】
2019080441.tif 000009
【図８】
2019080441.tif 000010
【図９】
2019080441.tif 000011
【図１０】
2019080441.tif 000012
【図１１】
2019080441.tif 000013
【図１２】
2019080441.tif 000014
【図１３】
2019080441.tif 000015