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