JP2014045646A - モータ制御装置およびモータ制御方法 - Google Patents

モータ制御装置およびモータ制御方法 Download PDF

Info

Publication number
JP2014045646A
JP2014045646A JP2013135249A JP2013135249A JP2014045646A JP 2014045646 A JP2014045646 A JP 2014045646A JP 2013135249 A JP2013135249 A JP 2013135249A JP 2013135249 A JP2013135249 A JP 2013135249A JP 2014045646 A JP2014045646 A JP 2014045646A
Authority
JP
Japan
Prior art keywords
motor
signal
phase
value
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013135249A
Other languages
English (en)
Other versions
JP6278622B2 (ja
Inventor
Yoshihiro Mizuo
佳弘 水尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2013135249A priority Critical patent/JP6278622B2/ja
Publication of JP2014045646A publication Critical patent/JP2014045646A/ja
Application granted granted Critical
Publication of JP6278622B2 publication Critical patent/JP6278622B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/14Electronic commutators
    • H02P6/15Controlling commutation time
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P8/00Arrangements for controlling dynamo-electric motors rotating step by step
    • H02P8/14Arrangements for controlling speed or speed and torque
    • H02P8/18Shaping of pulses, e.g. to reduce torque ripple

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Control Of Stepping Motors (AREA)
  • Control Of Motors That Do Not Use Commutators (AREA)
  • Lens Barrels (AREA)

Abstract

【課題】正弦波状の駆動波形を用いるモータ制御装置にて、モータ軸の位置を検出しつつ駆動波形の位相を制御すること。
【解決手段】本発明に係るモータ制御装置は、コイルの励磁によってロータ軸102を回転させる構造のモータ101を駆動する。スリット回転板105はロータ軸102に伴って回転し、フォトインタラプタ103、104により明暗領域が検出される。検出信号はコンパレータ106で2値化され、エンコーダ回路107が計測する。CPU108はエンコード信号により割り込みがかかり、正弦波発生器109は駆動波形をPWM発生器111に送り、モータドライバ112を介してモータ101を制御する。CPU8は駆動波形とロータ軸102との位相関係を比較して駆動波形の周期を変更することにより、現時点から調整用の位相値に相当する移行時間が経過した時刻において駆動波形およびロータ軸102が目標とする位相関係となるように制御する。
【選択図】 図2

Description

本発明は、位置検出手段を備えたモータの制御装置および制御方法に関し、モータの駆動効率を向上させる技術に関するものである。
ステッピングモータは小型、高トルク、高寿命等の特徴をもち、開ループ制御により容易にデジタル的な位置決め動作を実現できる。このため、撮像装置や光学ディスク装置、プリンタやプロジェクタ等の機器に広く用いられている。しかし、ステッピングモータへの負荷が大きい場合や高速回転時に脱調してしまうという問題がある。これを解決するためにステッピングモータにエンコーダを取り付け、ロータの検出位置に併せて通電を切り替え、いわゆるブラシレスDCモータの動作を行わせる脱調防止方法が従来から行われている。
特許文献1では、ステッピングモータにおいてロータの回転に応じて出力信号を出すエンコーダ信号を用い、ロータの磁力位相に対して効率的に矩形波状の駆動波形をかけて脱調を防ぎながら、高速かつ高トルクを実現する方法が開示されている。
一方、従来のブラシレスモータに関しては、組立完了後にモータを実際に正転方向と逆転方向に回転させて各方向でのモータ特性を測定し、モータ特性の測定結果を比較して回転位置センサの物理的位置を調整する技術が知られている。また、特許文献2ではブラシレスモータのロータを外部から別の動力源で回転させ、モータコイルに発生する起電力信号とエンコーダ出力信号との位相差を比較して、エンコーダの物理的な位置ずれ量を検出する方法が開示されている。
また、特許文献3では、ステッピングモータにおいて目標位置まで移動する駆動信号を入力した後に、モータ位置が目標位置まで到達していなかった場合に再び目標位置まで駆動するように移動位置を補正する方法が開示されている。
特開2002−119089号公報 特開2005−12955号公報 特開2004−348227号公報
しかしながら、従来技術では矩形波状の駆動波形を使用し、該駆動波形に高調波成分が含まれるので、騒音が大きいという問題がある。また矩形波状の駆動波形では、ステッピングモータの停止位置の精度が粗くなってしまうという問題もある。
また、従来のブラシレスモータでは、ブラシレス駆動を行いながら速度を測定して、測定結果から位置ずれを調整する必要があるため、時間がかかる。また、特許文献2に開示された従来技術では、ブラシレスモータを駆動目的の機器に組み込んだ後では調整が不可能になる。ロータを外部の動力源に接続するためには、ロータ部を外部に露出させる必要があるので調整のための設定作業が難しい。
また、従来の移動位置の補正方法では、モータが一旦停止した後で位置判定が行われ、その後に補正動作が行われる。よって、静定時間等も含めて最終的に目標位置まで移動する時間が長い。
本発明の目的は、正弦波状の駆動波形を用いるモータ制御装置にて、モータ軸の位置を検出しつつ駆動波形の位相を制御することである。また、モータに設けた位置検出手段が出力する信号を短時間で簡便に調整することである。さらに、目標位置までの移動中に脱調の有無を検知し、常に脱調による位置ずれを補正することで、モータが脱調した場合でも速やかにモータを目標位置に到達できるようにすることである。
上記課題を解決するために、本発明に係る装置は、正弦波状の駆動波形をモータに印加して駆動するモータ制御装置であって、モータ軸の位置に対応した信号を出力する位置検出手段と、前記位置検出手段により出力された信号のタイミングで前記モータの駆動波形の位相値を取得し、前回に前記位置検出手段により出力された信号のタイミングから現時点で前記位置検出手段により出力された信号のタイミングまでの時間を測定して前記駆動波形の周期を変更する制御手段を備える。前記制御手段は、前記駆動波形と前記モータ軸との位相を比較し、現時点にて前記信号のタイミングで取得した前記駆動波形の位相値が、前記モータの駆動電圧と駆動電流が指定された位相関係である場合に取得される前記駆動波形の目標位相値と異なる場合、現時点から調整用の位相値に相当する移行時間が経過した時刻において前記駆動波形の位相値が目標位相値と一致する周期に変更する制御を行う。
本発明によれば、正弦波状の駆動波形を用いるモータ制御装置にて、モータ軸の位置を検出しつつ駆動波形の位相を制御することができる。また、本発明によれば、位置検出手段が出力する信号を短時間で簡便に調整することができる。さらに、本発明によれば、目標位置までの移動中に脱調の有無を検知し、常に脱調による位置ずれを補正することで、モータが脱調した場合でも速やかにモータを目標位置に到達させるモータ制御を実現可能である。
本発明の実施形態を説明するために、位置検出センサを含むモータユニットを例示する図である。 システム構成の概要を例示する図である。 モータ、ステータ、スリット回転板の位置関係を示す図である。 モータドライバの動作説明図である。 正弦波発生器の出力を説明する図である。 正弦波状駆動波形を説明する図である。 ロータ磁石とスリット回転板との関係を示す模式図である。 駆動波形とセンサ出力波形との位相関係を説明する図である。 駆動波形とセンサ出力波形との位相差を説明する図である。 図11ないし図23と併せて本発明の1/4周期での制御を説明するために、進角0°の状態を説明する図である。 進角「−90°」の状態を説明する図である。 正転時での進角0°の状態を例示する図である。 正転時での進角0°の状態の別例を示す図である。 正転時にて進角0°の状態での位相ずれを説明する図である。 図14(A)ないし(E)の配置を変更した図である。 逆転時での進角0°の状態を説明する図である。 逆転時での進角0°の状態の別例を示す図である。 逆転時にて進角0°の状態での位相ずれを説明する図である。 図18(A)ないし(E)の配置を変更した図である。 進角制御の概要を示す説明図である。 は、図22とともに処理例を説明するフローチャートである。 図21に続く処理例を説明するフローチャートである。 不安定回転状態を説明する図である 図25ないし図28と併せて本発明の1/2周期での制御を説明するために、電流遅れについて説明する図である。 トルク、スピード、進角の関係を説明する図である。 図27とともに処理例を説明するフローチャートである。 図26に続く処理例を説明するフローチャートである。 位置検出の出力調整が適切に行われていない場合の説明図である。 図30ないし図34と併せて位相ずれ調整工程時の処理例を示すフローチャートである。 図29に関連する処理例を示すフローチャートである。 図29に続く処理例を示すフローチャートである。 図31に関連する処理例を示すフローチャートである。 図31に続く処理例を示すフローチャートである。 図33に続く処理例を示すフローチャートである。 センサとロータの基準位置関係を示す図である。 センサとロータの基準位置関係からの位相ずれを説明する図である。 位相平均値の計算処理を説明する模式図である。 センサの出力調整が十分でない状態を説明する図である。 2逓倍出力センサを用いる場合の説明図である。 CPUによる処理例を説明するフローチャートである。 図42とともに正弦波発生器に係る処理例を説明するフローチャートである。 図41に続く処理例を説明するフローチャートである。 補正処理の一例を示す説明図である。 駆動停止後に慣性でロータ軸が回転し続けた場合の処理例を示す説明図である。 駆動波形信号の印加を続行してもロータが回転しない場合の処理例を示す説明図である。 レンズユニットへの適用例を説明する斜視図である。
以下に、本発明の実施形態を、添付図面に基づいて詳細に説明する。なお、回転駆動型モータを例示してモータ制御装置およびモータ制御方法を説明するが、本発明は、モータ軸が直線移動するリニア駆動型モータにも適用可能である。
図1は、本発明の実施形態に係るモータユニット100の外観図である。モータユニット100はステッピングモータ101を備え、ロータ軸102はスリット回転板105を有する。スリット回転板105は明領域と暗領域の比率が50:50で設計されている。被検出部であるスリット回転板105に対して明領域と暗領域を光学的に検出する一対の光学検出手段として、ch0フォトインタラプタ103およびch1フォトインタラプタ104が取り付けられている。ロータ軸102の回転に伴ってスリット回転板105が回転し、各フォトインタラプタの出力信号が変化する。以下では、モータ軸の回転位置検出に用いるch0フォトインタラプタをch0−PIと記し、ch1フォトインタラプタをch1−PIと記す。
図2は駆動用の電気回路を含めたシステムの構成例を示す。符号101〜105に示す各部は既述の通りである。コンパレータ106はch0−PI103とch1−PI104からの各アナログ入力信号を、設定された閾値電圧と比較することで、2値化された信号を後段に出力する。本実施形態では、モータが回転ムラなく一定速度で回転している状態において、コンパレータ106の出力のH(HIGH)レベルとL(LOW)レベルとの比率が50:50となるように閾値が予め調整されているものとする。以後、ch0−PI103の信号を2値化した第1検出信号をENC0信号とし、ch1−PI104の信号を2値化した第2検出信号をENC1信号とする。エンコーダ回路107はENC0信号とENC1信号の各信号の変化時点でタイミング情報を取得し、これらの信号による位置カウントおよび信号周期カウントを行う。エンコード処理ではENC0信号の立上りと立下り、ENC1信号の立上りと立下りの4種の信号種別が区別され、それぞれの信号入力タイミングにてCPU(中央演算処理装置)108に割り込み処理がかかる。この時、CPU108は割り込み要因に係る4つの信号種別を判別する。CPU108はメモリからプログラムを読み出して実行する機能をもち、またバス110を介してエンコーダ回路107、正弦波発生器109、PWM(パルス幅変調)発生器111にアクセスする。正弦波発生器109は正弦波の1周期に対して512の分解能をもつ多値波形データの参照テーブルを有する。多値波形のテーブル値に対応するPWM値の信号を正弦波発生器109がPWM発生器111に送ると、PWM発生器111が出力するPWM信号がモータドライバ112で増幅されてステッピングモータ101に供給される。正弦波発生器109からステッピングモータ101への信号伝達の詳細については、図4および図5を参照して後述する。
次に、図4の模式図を参照して、モータドライバ112の構造を説明する。図4(A)は、スイッチ素子401〜404を介してA相用コイル113が接続されている様子を表わしている。図4(B)に示すように、PWM発生器111からのA相用のPWM信号がHIGH信号(以下、H信号と記す)のとき、スイッチ素子401および404のみが閉じた状態となる。この時、A相用コイル113の両端には、A側を高電位としてモータドライバ112に供給されている電圧Vcc分の電位差が生じる。この時にコイル113のB側に対するA側の電位を図4(F)に示し、流れる電流を図4(I)に示す。このときA相用コイル113に流れる駆動電流を便宜的に「I」と記す。
逆に、PWM発生器111からのA相用のPWM信号がLOW信号(以下、L信号と記す)のときには、スイッチ素子402および403のみが閉じ、図4(C)の状態となる。この時、A相用コイル113の両端には、B側を高電位としてモータドライバ112に供給されている電圧Vcc分の電位差が生じる。この時にA相用コイル113のB側に対するA側の電位を図4(G)に示し、駆動電流を図4(J)に示す。
以上の2つの状態を短時間で繰り返した場合の例を、図4(D)、(E)、(H)、(K)に示す。図4(D)と図4(E)の状態が等時間ずつ繰り返されると、図4(H)で示すように、−Vccと+Vccの2値の矩形波電圧信号が発生することになる。この電圧信号がA相コイル113に印加されると、コイルの電流遅れ成分により電圧信号が平滑化された形で電流波形が現れる。−Vccと+VccとでHL信号比率が50%の場合、実効電流値が0となる。PWM信号のHL信号比率が50%のときに出力が0Vの定常電圧、100%のときに+Vccの定常電圧、75%のときに+Vcc/2の定常電圧がかかっているのと実効的に同じとして扱うことができる。
正弦波発生器109では、512個のテーブル番号のそれぞれに対して、PWM制御のDUTY(デューティー)比(%)の値が参照テーブルに格納されている。0から511までのテーブル番号は正弦波形の位相値に対応する。図5は、正弦波の参照テーブル例の詳細を示す。正弦波の0度位相にテーブル番号0が相当し、正弦波の180度位相にテーブル番号256が相当する。テーブル番号0にはDUTY比50%の値が格納され、それ以降のテーブル番号には、位相に応じてPWM出力のDUTY比の値が格納されている。図5の例では、DUTY比の値が100%になると+Vccの値が出力されるので、随時正弦波のゲインを変更できるように、テーブル値のピークを100%未満の値に設定している。以上の方法により、デジタル2値出力信号でモータコイルに対して実効的に正弦波状の電圧信号を印加することができる。
図2に戻って説明を続けると、A相用コイル113、B相用コイル114には、モータドライバ112が出力する正弦波信号が印加される。後段のステータA+115、ステータA-116、ステータB+117、ステータB-118に対して4種類の位相の異なる正弦波電圧が発生する。A相およびB相の電圧波形と、ステータ印加電圧、ロータの停止位置、およびその時のスリット回転板105の位置について、図3、図5、図6を参照して詳細に説明する。
図3(A)は、本実施形態に係るステッピングモータ101の内部構造を例示した模式図である。ロータマグネット119は極対数が5(10極)であり、その周囲に物理角18度毎にステータが設置されている。時計回り方向を正転方向(第1方向)とする。
ステータA+115、ステータA-116、ステータB+117、ステータB-118がモータ軸を中心として周期的に配置されている。ステータA+115、ステータB+117は、コイルに印加された電圧が正弦波形の正領域にあるときにN極の磁力を発生する。またステータA-116、ステータB-118はコイルに印加された電圧が正弦波形の正領域にあるときにS極の磁力を発生する。図5の正弦波形の正領域にN極、負領域にS極と記しており、これらはステータA+115、ステータB+117に対する発生磁力を示している。ステータA-116、ステータB-118に関しては逆の関係になる。
図6は、各相の駆動電圧波形を例示する。図6(A)に示す信号をA相用コイル、B相用コイルにそれぞれかけた場合、図1、図3に示す正転方向にロータ軸102が回転する。また、図6(B)に示す信号をA相用コイル、B相用コイルにそれぞれかけると、図1、図3に示す正転方向とは反対の第2方向にロータ軸102が回転する。正転時はテーブル番号を正方向に進めて駆動波形信号が生成され、逆転時はテーブル番号を逆方向に進めて駆動波形信号が生成される。また、A相とB相の出力は正転時にA相がSin(正弦)波となり、B相がCos(余弦)波となるように、B相がA相に対して90度先行した波形が出力される。よって、逆転時はB相がA相に対して90度遅れる波形が出力される。
図3(B)は、各ステータとフォトインタラプタとの位置関係、およびロータマグネット119の着磁位相とスリット回転板105の基準位置との位相関係を示す。ロータマグネット119のN極領域と、スリット回転板105の明領域とが丁度重なっている位置関係を基準位置関係と定める。図3(C)では、基準位置関係から、スリット回転板105が逆転方向に電気角でα度(図では180度)ずれた位置に固定された場合を示す。電気角とはロータにかける正弦波形の位相角度、およびその時にロータマグネット119が進む角度を360度と定義し直したものである。よって本実施形態の場合、スリット回転板105、ロータマグネット119の物理的角度72度が電気角360度に相当する。
図3(B)にはステータA+115、ステータB+117、ch0−PI103、ch1−PI104の物理的位置を示す。実際には、図3(A)のように20個のステータがあるが、ステータA+115、ステータB+117の位置を代表して示す。ステータA+115から逆転方向に物理角18度離れた位置にステータB+117が位置する。角度的にはch0−PI103がステータB+117に対応する位置となり、ch1−PI104がステータA+115に対応する位置となるように設置されているものとする。
図7は、極対数5のモータを、理解し易いように極対数1の構成にモデル化した図である。これにより電気角と物理角が一致するため、以後の説明はこのモデルを使って行う。図7(A)は、ロータマグネット119の着磁位相と、スリット回転板105の明暗位相とが基準位置関係にある場合を示す。図7(A)の右側のグラフは、回転位置を図の状態からθ度回転させた場合のENC0信号およびENC1信号の出力変化を表している。図7(A)に対して、スリット回転板105の位置が電気角α度だけ逆転方向にずれて取り付けられた場合を表わしたものが図7(B)である。この時、ENC0信号とENC1信号の各出力は、図7(A)の場合に比べて、電気角α度分、遅れて出力される。
<取り付けずれ量αを特定する原理>
図8は、モータに駆動波形をかけてロータを正転方向に回転させていく様子を表わす図である。図8の上方には電気角90°ごとの回転状態を0°から270°に亘って示している。図8(A)、図8(B)は、それぞれステータA+115、ステータB+117に対する励磁波形を示す。図8(C)は、励磁している信号(マイクロステップ波形)のテーブル番号を示す。図8(A)、図8(B)では、+側の値がステータに対してN極の励磁を与えるものとする。
図8(D)は、ステータB+117直下のロータマグネット119について、駆動波形をあるテーブル位相に固定した時に対応する停止着磁位相を示す。図8(E)は、ステータB+117直下のロータマグネット119について、駆動波形をかけて回転状態にある場合に対応する着磁位相を示す。図8(E)の場合、図8(D)に対してロータの追従遅れ802がある。図8(F)は、ステータB+117と同じ角度位置に対応するスリット回転板105の明暗位相と、その対応位置にあるch0−PI103が出力して2値化されたENC0信号を示す。スリット回転板105の明領域から暗領域への立上り位相は、ロータマグネットのN極からS極への変化位相よりも、取り付け位置ずれ量803だけ遅れた位相位置にある。この取り付け位置ずれ量803は、図7に示す角度αに相当する。図8(F)に示すENC0信号出力とスリット回転板105の位相との間には、微小ではあるが電気的遅れ804がある。
ENC0信号の立下りタイミングでCPU108に割り込み処理を発生させ、そのタイミングでのマイクロステップ波形のテーブル番号を正弦波発生器109から取得する処理が実行される。このとき、追従遅れ802、取り付け位相ずれ量803、電気的遅れ804の和がゼロである場合、取得される値は384となる(図8(C)の位置807参照)。しかし、実際には3つの遅れ成分の和がゼロでないため、図8(C)に位置808で示すように、59という値が取得される。取り付け位相ずれ量803のみが遅れ成分であれば、位置807でのテーブル番号と位置808でのテーブル番号との差分から、位相ずれ量を算出できるが、実際には追従遅れ802、電気的遅れ804が含まれている。以下では、これを解決する手段について図9を参照して説明する。
図9(A)〜(F)は、正転方向へのモータ駆動時の波形例を示す。図9(A)から図9(C)は、図8(A)から図8(C)に相当し、図9(D)から図9(F)は、ENC0信号(第1検出信号に相当する)の出力波形を示す。図8の追従遅れ802と電気的遅れ804を遅れ成分β901としてまとめて示し、取り付け位相ずれ量803をα902としている。図9(G)〜(L)は、逆転方向へのモータ駆動時の波形例を示す。図9(G)から図9(I)は、図8(A)から(C)に相当し、図9(J)から(L)は、ENC0信号(第2検出信号に相当する)の出力波形を示す。なお、図9における回転数については、ステッピングモータが回転ムラや共振動作等のない安定した回転数であって、正転時と逆転時とで同じ回転数でモータが回転する状態を想定する。正転方向へのモータ駆動時には、図9(C)に示すように、ENC0信号の立下りのタイミングで得られるマイクロステップ波形のテーブル番号は、遅れや位置ずれがなければ384(点900参照)である。実際には遅れ分とずれ量があるため、例えば、テーブル番号59が得られる。この2つの値から差分を計算すると、(512−384)+59=187が得られる。この値は、ずれ量α902と、遅れ成分β901とを足し合わせた、第1位相差(α+β)に相当する。
一方、逆転方向へのモータ駆動時には、正転時にスリット回転板105が明領域から暗領域に変化するタイミングは、逆転時では暗領域から明領域に変わるタイミングに相当する。よって、図9(L)にて暗領域から明領域に変化するタイミングでのマイクロステップ波形のテーブル番号が取得されることになる。このタイミングで遅れと位置ずれがともにない場合、正転時と同じく384のテーブル番号が取得できるはずである。しかし、実際には位相ずれ量α904と、遅れ成分β903があるため、例えば、図9(I)に示す448の値が取得される。この場合、テーブル番号の差分を計算すると、448−384=64となる。この値は位相ずれ量α904から遅れ成分β903を引いた、第2位相差(α−β)に相当する。
以上から分かるように、正転時のテーブル番号の差分と、逆転時のテーブル番号の差分を足したものは187+64=251となる。この値は(α+β)+(α−β)=2αに相当し、251を2で除算した値からα、すなわち取り付け位相ずれ量が求まる。よって、正転時と逆転時でモータをオープン制御で等速回転させた状態で、ENC0信号の変化タイミングにてマイクロステップ波形のテーブル番号をそれぞれ取得し、両者の和を算出して2で割れば、取り付け位相ずれ量を特定できる。オープン制御では閉ループでのフィードバック制御とは異なり、位置検出信号によらずにモータの駆動制御が行われる。以上がロータマグネット119の着磁位相と、スリット回転板105の明暗位相との間のずれに相当する、取り付け位相ずれ量の特定方法の原理である。
<1/4周期での制御>
図10、図11は、ロータマグネット119のどの回転位置の時に、どの位相の正弦波駆動波形をA相用コイル113、B相用コイル114に入力すれば効率的な回転駆動を行えるかを説明するための図である。図10、図11ともにステータA+115、ステータB+117とロータマグネット119を模式化した図を上部に示す。時計回り方向を正転方向と定義し、図の左上のロータマグネット119の位置を基準とする。即ち、ステータB+117の直下での磁極位置が、N極からS極に変化する境目に位置する状態を0度として、この状態からロータマグネットを90度ずつ回転させた4状態を図示している。各状態を、便宜的にロータ電気角0°、90°、180°、270°とする。
図10(A)、図11(A)は、ステータA+115がN極に励磁されていた場合、ロータマグネット119に対して正転方向のトルクを与える値を正の値とした、ステータA+115位置でのロータマグネット磁界強度を表わしている。図示のように、ロータ電気角が0°の場合、ステータA+115がどのように励磁されていようが、ロータマグネット119の回転トルクは発生しない。このことは、図10(A)、図11(A)のロータ電気角0°位置でのトルク値が0であることから分かる。また、ロータ電気角が90°の場合、ステータA+115がN極に励磁されているとき、ロータマグネット119のN極に対して斥力が発生し、ロータマグネット119のS極に対して引力が発生し、最高値の正転方向トルクが発生する。つまり、図10(A)、図11(A)のロータ電気角90°位置でのトルク値は最大値となっている。図10(B)、図11(B)は、ステータB+117位置でのロータマグネット磁界強度を表わしており、位相の相違を除いて図10(A)、図11(A)と同様であるので詳細な説明を省略する。
図10(C)、図11(C)は、ch0−PI103の位置でのスリット回転板105の明暗状態、およびENC0信号を表わす。ch0−PI103の信号を2値化した信号がENC0信号であり、厳密にはスリット回転板105の明暗状態の切り替わり時点から、電気的な遅れが僅かにあった後にENC0信号が切り替わるが、本処理ではこれを無視する。ENC0信号は明状態の時にHighレベルであり、暗状態の時にLowレベルである。図10(C)、図11(C)の出力について、図7(A)に示す状態でスリット回転板105、ch0−PI103、ch1−PI104が設置されているものとする。図10(D)、図11(D)は、ch1−PI104、およびENC1信号に関する図であり、図10(C)、図11(C)と同様であるため、詳細な説明を省略する。
以下、図10を参照して、ロータマグネット119に対して回転トルクを効率的に発生させる駆動波形のかけ方について説明する。図10(A)、(B)に例示した磁界曲線に対して、A相用コイル113、B相用コイル114にそれぞれ流れる電流(コイル電流)を掛けたものがトルクである。図10(A)、(B)に示す波形がいずれも正弦波状であることから、A相用コイル113、B相用コイル114に流れる電流位相はそれぞれ、図10(A)、(B)の磁界曲線の位相と一致している時にトルクが最大となる。コイル電流波形については、コイル電圧波形からの遅れが発生するが、この遅れはコイル特性やコイルに生ずる逆起電圧によって変化する。このため、電圧と電流の位相が一致する場合を基準とし、A相用コイル113、B相用コイル114に通電した際に最大効率の正弦波電圧波形を、図10(E)、(F)に示す。図10(A)と図10(E)とが同相関係にあり、図10(B)と図10(F)とが同相関係にあることが分かる。ロータマグネット119の回転位置に対して、図10(E)、(F)に示す位相関係で電圧波形をかける駆動状態を、進角「0°」の状態と定義する。10(G)、(H)はそれぞれ、A相コイル113に起因するトルク曲線、およびB相コイル114に起因するトルク曲線を示す。図10(G)は、図10(A)の波形と図10(E)の波形を掛け合わせた結果を示す曲線であり、図10(H)は、図10(B)の波形と図10(F)の波形を掛け合わせた結果を示す曲線である。これら2つのトルク曲線を足し合わしたものが、モータ全体に発生するトルク曲線であり、これを図10(I)に示す。図10(I)にて、常に回転を引き起こす一定のトルクが発生していることが見て取れる。
図11は、駆動波形を任意の位相に固定した場合の、駆動波形位相とロータマグネット119の回転位置を示す。例えば、図11(E)でのロータ電気角0°において、A相コイル113にかけている電圧波形は負の最大値であり、即ちステータA+に最大のS極磁界が発生している。図11(F)に示すB相コイル114の電圧値は0であり、即ちステータB+は無励磁状態である。この時ロータ電気角0°の図に表わされる位置にロータマグネット119が固定され、一切回転トルクは発生しない。このように図11(E)、(F)に示す位相関係で駆動電圧をモータにかけた時、正転方向のトルクは発生しない。極く低速でモータをオープン駆動させた場合には、ロータマグネット119の着磁位相と、駆動波形の位相は図11に極めて近い位相関係で回転する。図11(G)は、A相コイル113に起因するトルク曲線を示し、図11(H)は、B相コイル114に起因するトルク曲線を示す。これらのトルク曲線は互いに逆相であり、符号の異なる同一面積のトルク積分値を持つ。両者の和を図11(I)の曲線に示す。モータ全体のトルクは常に0となっている。この時、図10の場合と比較して駆動波形の位相が90°遅れた関係になっている。よって、図11に示すロータマグネット119と駆動波形との位相関係を進角「−90°」と定義する。本処理では、図10に示す進角「0°」の位相関係で常にモータの回転駆動を行うことを目的とする。以下、図12〜図15を参照し、モータ駆動中にてENC0信号の立上りと立下り、ENC1信号の立上りと立下りの各タイミングで、駆動波形のどの位相値を取得していれば、進角0°の状態になるかについて順を追って説明する。
図12は、進角「−90°」の時の、駆動波形とENC0信号、ENC1信号との関係を示す。図12(A)、(B)は、それぞれA相コイル113、B相コイル114への印加電圧波形を示す。図12(C)には、図12(A)、(B)の各波形に対応するテーブル番号値を直線状のグラフで視覚化して示す。図12(D)、(E)は、それぞれENC0信号、ENC1信号の状態を示す。図12から分かるように、モータの駆動中に進角「−90°」の状態を保ちたい場合、ENC0信号の立上り時点で駆動波形のテーブル番号128が取得できていればよい。また、ENC0信号の立下り時点ではテーブル番号384が取得できていればよい。ENC1信号の立上り時点では256、ENC1信号の立下り時点では0の各テーブル番号が取得できていればよいことになる。
図13は、進角0°の状態を示す図である。図12の場合よりも、駆動波形が90°進んでいることが見て取れる。進角0°での駆動状態を保つには、ENC0信号の立上り時点で256、ENC0信号の立下り時点で0の各テーブル番号が取得できればよい。ENC1信号の立上り時点では384、ENC1信号の立下り時点では128の各テーブル番号が取得できていればよいことになる。
以上、特定の進角状態を保つ場合の駆動波形とENC0、ENC1との位相関係について述べてきた。ここまでの説明では、図7(A)の状態、即ちロータマグネット119のN極位相とスリット回転板105の明状態の位相とが丁度一致していることを前提とした。図14は、図7(A)の基準位置関係から、図7(B)に示すスリット回転板105の位相がαだけずれた位置に取り付けられている一般の場合について位相関係を示している。
図14に示すように、スリット回転板105が取り付け位置ずれ量αを持つ場合、ロータマグネット119の回転に対して、ENC0信号、ENC1信号は図7(B)の場合と同様、αの位相遅れが発生する。この時、モータ駆動中に進角0°の状態を保つためには、ENC0信号の立上り時点においてテーブル番号256+α(図14(C)の1202参照)を取得できる関係になくてはならない。また、ENC0信号の立下り時点にて0+α、ENC1信号の立上り時点にて384+α、ENC1信号の立下り時点にて128+αの各テーブル番号を取得できる関係になくてはならない。これらは、図14(C)に示す白点1204、1203、1201の位置にそれぞれ対応する。
図15は、図14に示したENC0信号、ENC1信号を上部に移して書き換えた図である。以下に説明する、進角を一定に保つ制御ではセンサ信号を主導に駆動波形に操作を加えていくので、分かり易さのために図15を用いる。図15(A)、(B)は、ENC0信号、ENC1信号をそれぞれ示す。図15(C)は、駆動波形のテーブル番号を示し、図15(D)は、A相コイル113への駆動電圧波形を示し、図15(E)は、B相コイル114への駆動電圧波形を示す。
以上、正転方向のモータ回転を行う場合について述べてきた。図16〜図19は、逆方向回転の場合において図12〜図15にそれぞれ対応する図である。図16、図17、図18は逆回転時に、基準位置関係からのスリット回転板105の取り付け位置ずれ量がαである場合の進角0°状態を示している。図12〜図15について行った説明と重複する部分については詳細な説明を省略する。主な相違点は、図18、19に示すように、逆方向の回転の場合、ENC0信号、ENC1信号の位相がα分進むことが特徴である(これに対して、正転時には、α分位相が遅れる)。
次に図20を参照して、モータの駆動中にどのように所望の進角状態を保つ制御を行うかについて概要を説明する。なお、処理の詳細は図21を用いて後述する。図20は、スリット回転板105に係る位相ずれ量αが190(正弦波1周期を512分割した場合)で正転時の場合に、ENC0信号とA相用コイル113への通電波形例を示す。上部にスリット回転板105の明暗状態を示し、図20(A)は、ENC0信号を示す。図20(B)は、α=190の時に進角0°状態であるとした場合の、ENC0信号位相に対するA相用コイル113への通電波形例を示す。図15では、ENC0信号の立下り時点で得られる進角0°の状態での駆動波形テーブル番号は0+αである。図20(B)では、それが0+190=190となり、これはENC0信号の立下り時点で得られるべき駆動波形のテーブル番号である。しかし実際には、例えば図20(C)に示すような状態となる。図20(C)は、ある特定の周波数の駆動波形をコイルにかけて回転させた場合の位相関係を例示し、ENC0信号の立下り時点でのテーブル番号を120とする。この時、進角0°の状態に対して、190−120=70のテーブル番号分の駆動波形がロータに対して遅れている。これは進角値に換算すると、70×360/512=49.2°の遅れであり、進角「−49.2°」の状態でモータが回転していることになる。モータの負荷と回転数という、2要因により進角状態が決定される。本処理では、モータに対する特定の負荷の下で、目標とする進角状態になるように最適な回転数を算出し、エンコーダ信号のレベル変化を検出する度にその時点での回転数に応じた駆動周波数を設定する制御が行われる。以下、進角状態を指令された一定の状態に保つ制御のことを「進角制御」と称する。
図20(C)に示す例では、本来ならENC0信号の立下り時点でテーブル番号190が取得される位相関係でありたいところが、実際には120が得られている。ここで、正弦波発生器109においてテーブル番号を120から190へと一気に変更した場合、駆動電圧波形に高調波が含まれ、騒音や回転ムラの原因になる。またモータの負荷および回転数によって進角状態が決定されるので、テーブル番号を飛ばして急変させたとしても、駆動電圧波形の周波数自体は変わらない。よって、安定してモータを進角0°状態を保つことはできない。本処理では、滑らかな通電波形を保ちながら進角制御を実現するために、以下の処理を行う。
まず、前回のENC0信号の立下り時点から、今回のENC0信号の立下り時点までの時間(周期T1)が算出される。定常スピード状態であれば、周期T1と通電波形の周期とは一致する。図20(B)の進角0°状態において、ENC0信号の立下り時点から4分の1周期(T1/4)が経過した時点で得られるテーブル番号は、190+128=318となる。この時点は、ENC0信号の立下り時点からT1/4の時間が経過した時刻である。そこで、318−120=198に相当するテーブル番号分をT1/4の時間で進む周波数として設定するために、駆動波形の周期をENC0信号の立下り時点において変更する処理が行われる。この変更処理により、図20(D)に示す通電波形が得られる。図20(D)では、ENC0信号の立下り時点において、進角0°状態で得られるべき値とはかけ離れたテーブル番号120が得られている。しかし、T1/4の経過後にはロータマグネット119の回転位相と、通電波形の位相を表わすテーブル番号が一致している。実際の処理では、ENC0信号の立下り時点からT1/4の時間が経過する時点付近で、ENC1信号の立上り信号が発生し、同様の進角制御が行われる。これ以降、通電波形1周期につき4回の進角制御が行われて、回転駆動が続行することになる。なお、通電波形の周期と、現在の回転数に相当する周期T1とが一致するものとして説明したが、加速時や減速時、回転ムラがある場合には、必ずしもそうならない。しかし、その場合でも進角制御処理を行い続けることで、次第に進角0°の状態へと安定収束し、通電波形の周期と周期T1とが一致する状態へと漸近していく。
以上の処理を行うことで、ステッピングモータに対して正弦波形の駆動波形信号をかけながら、設定された進角値の条件下で、モータの負荷に応じたスピードが最適化されるので、DCモータと同様の回転駆動が実現される。図21および図22は、以上に説明した処理を実際に適用した場合の処理例を示すフローチャートである。本処理はCPU108がメモリからプログラムを読み出して実行することにより実現される。
S1901で処理が開始し、続くS1902では、事前に然るべき方法で得られている位相ずれ量αに基づいて、ENC0信号、ENC1信号の要因タイミング毎に目標位相値に相当するテーブル番号値が算出される。この処理では図15、図19で説明したように、α=0の場合の、ENC0信号およびENC1信号という要因毎のデフォルトテーブル値にαを加算した値が4変数にそれぞれ代入される。各変数は以下の通りである。
・ENC0信号の立上り時に取得すべき目標テーブル番号値を格納する変数
TrgtSameTimeTableNumForEnc0Up=256+α
・ENC0信号の立下り時に取得すべき目標テーブル番号値を格納する変数
TrgtSameTimeTableNumForEnc0Down=0+α
・ENC1信号の立上り時に取得すべき目標テーブル番号値を格納する変数
TrgtSameTimeTableNumForEnc1Up=384+α
・ENC1信号の立下り時に取得すべき目標テーブル番号値を格納する変数
TrgtSameTimeTableNumForEnc1Down=128+α
続くS1903では、S1902で設定した4つの変数値が、0〜511の範囲内に入っているか否かについてチェックされる。511を超えている値については512を減算して設定し直し、0〜511内の値に正規化する処理が実行される。S1904で正弦波発生器109の駆動が開始し、PWM発生器111、モータドライバ112を通じて、ステッピングモータ101の駆動が開始する。回転方向は問わず、通電波形の周波数は自起動周波数以下であるとする。図22のS1905は、PI信号による割り込みがあるか否かの判定処理である。PI信号とは、ENC0信号の立上りと立下り、ENC1信号の立上りと立下りでの、4つの信号の総称である。この4つの信号変化要因により、エンコーダ回路107を通じてCPU108に割り込みがかかる。PI割り込みがない場合、PI割り込みがあるまで待ち処理となる。またPI割り込みがあった場合、S1906へ移り、駆動波形の現在位相値を示すテーブル番号を取得する処理が行われる。現在のテーブル値(以下、現在値という)は変数CurTblNumに保持される。
S1907では、現在の割り込み要因と同じ前回の割り込み要因発生時刻からの時間、即ちENC0信号、ENC1信号の最新の周期カウント値がエンコーダ回路107から取得され、その1/4の値が算出される。この値は変数CurEncQurtPrdCntに保持される。この処理は、図20に示すT1を測定して、T1/4の値をメモリに保存することに相当する。S1908では割り込み要因がENC0信号によるものか、またはENC1信号によるものかが判定される。ENC0要因の場合、S1909へ進み、ENC1要因の場合、S1912へ進む。S1909、S1912では、それぞれ割り込み要因信号が立上り信号であるか、または立下り信号であるのかの判定処理である。S1909でENC0立上り信号と判定された場合、S1910に進み、ENC0立下り信号と判定された場合、S1911に進む。またS1912でENC1立上り信号と判定された場合、S1913に進み、ENC1立下り信号と判定された場合、S1914へ進む。
S1910、S1911、S1913、S1914ではそれぞれ、進角0°の状態であれば現在のタイミングで取得されるべき最適なテーブル番号(目標テーブル番号)が選択される。具体的には、S1910では、変数TrgtSameTimeTableNumForEnc0Upの値が変数TrgtSameTimeTableNumに代入される。同様に、S1911では、変数TrgtSameTimeTableNumForEnc0Downの値が変数TrgtSameTimeTableNumに代入される。S1913では、変数TrgtSameTimeTableNumForEnc1Upの値が変数TrgtSameTimeTableNumに代入される。S1914では、変数TrgtSameTimeTableNumForEnc1Downの値が変数TrgtSameTimeTableNumに代入される。そして、図21のS1915へ処理を進める。
S1915は、現在の回転方向が正転方向(CW)か逆転方向(CCW)かの判定処理である。正転方向の場合、S1916へ進み、逆転方向の場合、S1917へ進む。S1916、S1917は、現時点からT1/4時間経過後の時点までに進むべきテーブル番号の変化量を算出する処理である。これは、1/4周期に対応するテーブル番号分128に、現時点で取得すべきであったテーブル番号値と実際に取得したテーブル番号値との差分値を足したものとなる。S1916では(TrgtSameTimeTableNum−CurTblNum)+128が算出され、結果値は変数TblCntForNextQtrPhsに代入される。またS1917では(CurTblNum−TrgtSameTimeTableNum)+128が算出され、結果値は変数TblCntForNextQtrPhsに代入される。正転方向と逆転方向とでは、テーブル番号の進む向きが逆であるため、括弧内での減算の順序が逆になる。続くS1918は、現時点からT1/4時間経過後の時点までに進むべきテーブル番号の変化量が負値になっていないかをチェックする判定処理である。変数TblCntForNextQtrPhsの値が負の場合、S1919に進み、ゼロ以上の場合、S1920に進む。変数TblCntForNextQtrPhsの値が負になっている場合について図23を参照して説明する。図23(A)は、スリット回転板105の明暗位相とENC0信号の出力波形を示す。図23(B)は、進角0°の状態での駆動波形を示し、図23(C)は、進角制御を行わない場合の駆動波形を示す。
図23(C)では、現時点からT1/4時間後の時点までに進むべきテーブル番号の変化量が負値になっている。この場合、ENC0信号の立下り時点で340の値が取得される。よって、T1/4の時間経過後の時点で取得すべきテーブル番号318と比較して、変化量は、318−340=−22(負値)になってしまう。これを回避するため、S1919では、予め決められた最低位相進み量が、次のT1/4の移行時間内に進むべきテーブル番号の変化量として変数TblCntForNextQtrPhsに設定される。このような事態は、進角が−90°以下の状態にならないと起らず、正常な回転動作では起こり難いが、モータに異常な負荷がかかった場合や、負荷ムラ、回転ムラが大きい場合に起こり得る。
続くS1920にて、次のT1/4の時間内に進むべきテーブル番号の変化量と、S1907で算出したT1/4相当のカウント値と、実際の回転速度に変換するための変換係数から、次に設定すべき駆動電圧波形に関する速度NxtPPS_Valが算出される。回転速度への変換係数Conversion_Rateの値は既知であり、下式から変更後の速度NxtPPS_Valが算出される。
[数式1]
NxtPPS_Val=(TblCntForNextQtrPhs/CurEncQurtPrdCnt)×Conversion_Rate
S1921では、S1920で算出した速度値が正弦波発生器109に設定された後、S1905へ処理を進める。以上から、ロータマグネット119の着磁位相と駆動電圧波形とが指定された位相関係を保ちながら、ステッピングモータの回転制御を行うことが可能になる。なお、図21のS1919では、現時点からT1/4の時間内に進むべきテーブル番号の変化量が負値になった場合、予め決められた変化量を設定し直したが、S1921にて予め決められた一定の速度を設定してもよい。以上の処理により、正弦波状の駆動電圧波形を用いて、ロータの回転位置に応じて駆動波形の位相を最適化する制御が実現される。
<1/2周期での制御>
図24、図25は、進角操作に関する説明図である。図24は、低速回転時の印加電圧波形を(A)に示し、その時のコイル電流波形を(B)に示す。また、高速回転時の印加電圧波形を(C)に示し、その時のコイル電流波形を(D)に示す。図24(A)、(C)にて、与えている電圧波形のゲインはともにVaである。これに対して、図24(B)、(D)における電流波形のゲインはそれぞれIa、Ibであり、Ia>Ibの関係である。
モータ構造においては、コイル電流の遅れ成分、モータの逆起電力による影響を受けて、実際に与えている電圧波形に対してコイルに流れる電流は、電圧波形を抵抗値で割った値にはならない。速度に応じて位相遅れが生じ、また電流波形の振幅ゲインは速度が大きくなるに従って小さくなる。図24に示すように、測定された周期がT1である電圧波形の場合、電流波形の位相遅れがPaであり、測定された周期がT2である電圧波形の場合、電流波形の位相遅れはPbである。周期がT1からT2と短くなっていることから、Pbの方が周期T2に対する比率が大きくなる。このように、低速時にはあまり考慮しなくてもよい電流遅れ成分は、高速駆動時には無視できない要素になる。
上述の処理では、ロータマグネット119とスリット回転板105との位相ずれ量αが予め判っていることを前提として、ロータマグネット119に対して効率の良い電圧位相でモータを回転させる制御を説明した。しかし、モータ速度が高速域に入ると、実際にトルクを発生させる要因は電流の位相であることから、電圧波形に対する電流の遅れを補償することが必要となる。図25は、モータにおける、トルクT、スピードN、進角の関係を例示した図である。図25(A)は、トルク、進角、スピードという3者の関係を3次元グラフ化したものである。図25(B)は、図25(A)をトルク−スピード平面で見たグラフである。進角を等間隔で大きくするに従って、図25(B)内に破線の矢印で示す方向に実線のグラフが移っていく。図25(B)では、進角の値を大きくするに従ってトルクおよびスピードともに上昇していくが、ある飽和点からはトルクとスピードがトレードオフの関係で変化していくようになる。高進角領域では、低トルク下にて高速を保てるが、高トルクになると極端にスピードが低下するということが発生する。図25(C)は、図25(A)を進角−スピード平面で見たグラフである。トルクを等間隔で大きくするに従って、図25(C)内に破線の矢印で示す方向に実線のグラフが移っていく。図25(C)では、進角を上昇させるに従ってスピードは上がるが、ある頂点を境に進角を大きくするとスピードが下がるという特性となる。このスピードの頂点は、トルクが大きくなるに従って低進角領域に移動してくるという性質がある。
以上、図24、図25の説明から理解されるように、目標とする回転数と、与えられたトルク負荷に応じて、ロータマグネット119と駆動波形に関して適切な位相関係に保つための進角制御を行う必要がある。これらに鑑みて、進角0°の状態から任意に進角状態を変化させたロータマグネット119の着磁位相と駆動電圧波形の位相との状態を保つための制御について、図26および図27のフローチャートを参照して説明する。なお、図26のS2301からS2303までの処理は、上述の処理における図21のS1901からS1903までの処理と同様であるので、それらの詳細な説明は割愛して相違点を説明する。
S2304では、進角0°の状態からどれだけ進角を変化させた状態にするかを示す要求値が設定される。駆動電圧波形の位相をロータマグネット119の着磁位相に対して進める場合、目標進角は正の値をとり、その値の512カウント換算値が変数PrgDegCntに設定される。一方、駆動電圧波形の位相をロータマグネット119の着磁位相に対して遅らせる場合、目標進角は負の値をとり、その値の512カウント換算値が変数PrgDegCntに設定される。次のS2305で正弦波発生器109の動作が開始し、PWM発生器111、モータドライバ112を通じて、ステッピングモータ101の駆動が開始する。回転方向は問わず、通電波形の周波数は自起動周波数以下であるとする。続く図27のS2306は目標進角値の変更指令が外部装置(制御装置やホスト機器など)から来ているか否かについての判定処理である。変更指令が来ている場合、S2307に進み、新たな目標進角値の512カウント換算値が変数PrgDegCntに設定される。また、変更指令が来ていない場合はS2308へそのまま進む。S2308、S2309の処理については、図22のS1905、S1906の処理と同様であるので、詳細な説明は割愛する。
S2310では、現在の割り込み要因と同じ前回の割り込み要因の発生時刻からの経過時間、即ちENC0信号、ENC1信号の最新の周期カウント値をエンコーダ回路107より取得する処理が行われる。この周期カウント値(計測値)の2分の1の値を算出して変数CurEncHlfPrdCntに保持する処理が実行される。これは、T1/2の値をメモリに保存することに相当する。S2311からS2317までの処理については、図22のS1908からS1914までの処理と同様であるので、詳細な説明は割愛する。
図26のS2318は、現在の駆動方向が正転方向か逆転方向かの判定処理である。正転方向の場合、S2319へ進み、逆転方向の場合、S2320へ進む。S2319、S2320では、現時点からT1/2の時間経過後の時点までに進むべきテーブル番号の変化量が算出される。1/2周期に対応するテーブル番号分256に、現時点で取得すべきであったテーブル番号値と、実際に取得したテーブル番号値との差分値を足し、さらには進角変化の要求値が減算される。具体的には、S2319にて(TrgtSameTimeTableNum−CurTblNum)+256−PrgDegCntが算出され、結果値は変数TblCntForNextHlfPhsに代入される。また、S2320にて(CurTblNum−TrgtSameTimeTableNum)+256−PrgDegCntが算出され、結果値は変数TblCntForNextHlfPhsに代入される。正転方向と逆転方向ではテーブル番号の進む向きが逆であるため、括弧内での減算の順序が逆になる。上述の処理の場合と異なり、T1/2の時間経過後に目標位相値に相当するテーブル番号値となるように設定している理由は、図27のS2307によって目標進角値が変更される場合があることによる。その場合、現在の進角状態から1度の処理でも大きく進角状態が変わることがあり、余裕を持たせるために移行時間を長くする処理を行っている。続くS2321からS2324までの処理については、図21のS1918から1921の処理と同様であるので、詳細な説明を割愛する。なお、S2323で使用する速度の算出式は以下の通りである。
[数式2]
NxtPPS_Val=(TblCntForNextHlfPhs/CurEncHlfPrdCnt)×Conversion_Rate
以上に説明した処理を行うことにより、任意の進角状態でステッピングモータを効率的に回転させることができる。なお、上述の処理では1/4周期に設定していた移行時間を、この処理では1/2周期に設定し、この時間経過後に目標とする進角状態となるように速度を変更する処理が行われる。これに限らず、現時点から目標とする進角状態になるまでの移行時間、つまり調整用の位相値に相当する時間については任意に設定可能である。駆動波形の周期の測定および算出までにかかる時間を考慮し、算出に要する遅れ時間を含めた移行時間が算出される。また、上述の処理ではステッピングモータを駆動対象として例示したが、本発明はブラシレスDCモータ等の各種モータに適用可能である。
またPIによるセンサ出力が、定常回転で50%のDUTY比となることを前提として説明したが、DUTY値が50%からずれた値でも実施可能である。例えば、図28はPIの出力を2値化するための閾値2401、2402に関して、DUTY比が50%になる位置に調整されていない場合を示す。ENC0信号のHIGHレベル幅はスリット回転板105の明期間よりも狭く、ENC1信号のHIGHレベル幅はスリット回転板105の明期間よりも広い場合である。図28(A)、(B)に示す2値出力の場合、事前にENC0信号の立上りと立下り、ENC1信号の立上りと立下りの各時点にて取得すべき駆動波形のテーブル番号を個別に設定する調整処理が行われる。これによりPIの閾値に係るアナログ調整工程を省くことができる。
また、上述の処理ではモータ軸に、被検出部であるスリット回転板を取り付け、位置検出を光学的に行う構成例を説明した。これに限らず、モータ軸にマグネットを取り付けて磁力センサを用いて位置検出を行ってもよい。また、ロータマグネットの着磁位相を直接検知する位置に磁気センサを設置して位置検出を行う実施形態でもよい。
<位相ずれを調整する処理>
図8および図9を用いて説明した取り付けずれ量αを特定する原理を使って、実際のモータに対してずれ量を特定して位相ずれを調整する場合の処理について、図29〜図34のフローチャートを参照しつつ詳細に説明する。なお、位相以下の処理はCPU108がメモリからプログラムを読み出して実行することで実現される。
図29のS1001で処理が開始し、S1002で処理に使用する変数の確保と初期化処理が行われる。ENC0信号、ENC1信号の立上りと立下りの各タイミングは、モータ1回転で5回ずつ発生し、かつ正転時と逆転時の2パターンがある。これらの信号変化のタイミングでマイクロステップ波形のテーブル番号値を保持する必要があるため、合計40個分のテーブル番号の確保用変数が用意される。また、ENC0信号、ENC1信号の立上りと立下りの各タイミングはそれぞれ1回転当たり5回発生するので、データ取得時にどの回転位置でのデータであるかを記録するためのインデックス番号が4つ用意される。初期化により、それらの値がゼロにクリアされる。以下では、説明の便宜上、各変数を以下のように定義する。
・データ取得番号用のインデックス変数(4個)
ENC{X}信号の立上り時点でのデータ取得番号を示す変数:ENC{X}_Nu
ENC{X}信号の立下り時点でのデータ取得番号を示す変数:ENC{X}_Nd
ここで、X=0,1であり、ENC0がENC0信号、ENC1がENC1信号にそれぞれ相当する。
・正転時に使用するデータ変数(20個)
ENC{X}信号の立上り時点でのデータ変数:F_D{X}U[4]
ENC{X}信号の立下り時点でのデータ変数:F_D{X}D[4]
これらはいずれも配列変数とし、インデックス番号は0から4のいずれかをとる。X=0,1の2通りと、立上りと立下りの2通りのそれぞれに5個分の変数、つまり計20個の変数が確保される。逆転時は下記に示す通りである。
・逆転時に使用するデータ変数(20個)
ENC{X}信号の立上り時点でのデータ変数:R_D{X}U[4]
ENC{X}信号の立下り時点でのデータ変数:R_D{X}D[4]
変数の接頭部をR_に置き換えただけであり、前記と同様に20個の変数が確保される。
これらのデータ変数はS1002での初期化によって初期値が設定され、ENC0_Nu,ENC0_Nd,ENC1_Nu,ENC1_Ndはいずれも0に初期化される。
続くS1003では、予め決められた回転速度での正転方向の駆動信号がモータに出力されて、モータの回転が開始する。続くS1004は、位置特定用の位相データを取得する前に、予め決められた距離以上の移動が行われたか否かについての判定処理である。モータの始動直後には、ロータの回転が安定せず不安定な場合があるため、S1004の判定処理が設けられる。S1004でモータの回転により一定距離以上の移動処理が行われたことが位置検出によって判定された場合、S1005に移るが、移動距離が一定距離に満たない場合にはS1004の判定処理が繰り返される。
S1005でCPU108は、ENC0信号、ENC1信号にレベル変化があったかどうかを判定し、割り込みがかかったか否かを判定する。これらの信号にレベル変化があった場合、S1006に移り、信号のレベル変化がない場合、S1005での待ち処理となる。S1006では、出力している駆動用正弦波形(多値波形)における、現在のテーブル番号値(以下、現在値という)が取得され、変数へ一時的に保持される。S1007では、CPU108に対して割り込みを発生させた要因信号がENC0信号によるものか、またはENC1信号によるものかについて判定される。ENC0信号による割り込みと判定された場合、S1008に進み、ENC1信号による割り込みの場合、図30のS1021に進む。S1008ではENC0信号の変化が立上りであったか否かが判定され、また図30のS1021では、ENC1信号の変化が立上りであったか否かが判定される。
まず、S1008でENC0信号の立上りが検出された場合について説明する。続くS1009では、ENC0信号の立上りでのデータ取得番号、つまりENC0_Nuの値が5以上であるかについて判定処理が行われる。ENC0_Nuの値が5以上の場合、S1034に移る。一方、ENC0_Nuの値が5未満であれば、S1010に移る。
S1010では、S1006で保持している現在値から128を減算する処理が行われる。128という値は、基準位置にスリット回転板105が取り付けられていて、かつロータの追従遅れや信号の電気的遅れがない場合に取得されるテーブル番号である。つまり、テーブル番号128を基準として、実際に取得された現在値との差分が算出される。この処理について、図35、図36を参照して説明する。
図35、図36では、上方に電気角90°ごとの回転状態を0°から270°に亘って例示している。(A)図、(B)図は、それぞれステータA+、ステータB+に対する励磁波形例を示す。(C)図は、マイクロステップ波形のテーブル番号を示す。(D)は、ch0−PI103の検出位置とENC0信号の出力波形例を示し、(E)図は、ch1−PI104の検出位置とENC1信号の出力波形例を示す。
図35は、基準位置にスリット回転板105が取り付けられていて、かつロータの追従遅れや、信号の電気的遅れがない場合のロータと出力信号の関係を示す。このときENC0信号の立上りタイミングで取得されるテーブル番号は128である。これに対して、実際には図36のように、基準位置にスリット回転板105が取り付けられておらず、かつロータの追従遅れや、信号の電気的遅れがある。このため、ENC0信号の立上りタイミングは、1202の時点での位置(テーブル番号128と256との間)に現れる。この位置でのテーブル番号から128を引くことで、図9で説明した遅れ成分β901と、ずれ量α902との合成値が取得できることになる。
図29のS1010では減算の結果値が一時変数(Tmp_valと記す)に代入され、S1011では、Tmp_valが0未満であるか否かが判定される。Tmp_val≧0の場合、S1013に移り、Tmp_val<0の場合、S1012に移る。S1013では、Tmp_valの値がデータ変数F_D0U[ENC0_Nu]に保持される。また、S1012ではTmp_valの値に512を加えた値が、データ変数F_D0U[ENC0_Nu]に保持される。これは、テーブル番号を0〜511の値に正規化するためである。なお、Tmp_valの値をデータ変数F_D0U[ENC0_Nu]に代入する際、現在のデータ取得番号を示すENC0_Nuと関連付けて変数領域に格納される。本明細書では説明の便宜上、ENC0_Nuを配列のインデックス番号として表記している。
続くS1014ではENC0_Nuの値に1が加算されてインクリメント処理が行われ、S1034に移る。S1034では、予め決められたデータ取得用の移動距離以上に亘ってモータが回転したかどうかについて判定される。所定の移動距離に対応する回転角度量に亘ってモータが回転していない場合、S1005に戻って処理を続行する。また、所定の移動距離に相当する回転角度量に亘ってモータが回転した場合、S1035に移り、CPU108はモータの回転を停止させる。
S1015〜S1020の処理は、ENC0信号の立下りタイミングにおいて行われる処理であり、S1009〜S1014と同様の処理であるので、その詳細な説明は割愛し、相違点だけを説明する。S1015、S1020での対象はENC0_Ndの値であり、S1016で現在値から減算する値は384である。S1018、S1019で使用するデータ変数は、F_D0D[ENC0_Nd]である。
S1007でENC1信号による割り込みがかかった場合、S1021〜S1033(図30参照)の処理が実行される。S1021から分岐するS1022〜S1027の処理は、ENC1信号の立上りタイミングにおいて行われる処理であり、S1009〜S1014と同様の処理であるので、その詳細な説明は割愛し、相違点だけを説明する。S1022、S1027での対象はENC1_Nuの値であり、S1023で現在値から減算する値は256である。S1025、S1026で使用するデータ変数は、F_D1U[ENC1_Nu]である。S1027から図29のS1034に進む。また、S1028〜S1033の処理は、ENC1信号の立下りタイミングにおいて行われる処理であり、S1009〜S1014と同様の処理であるので、その詳細な説明は割愛し、相違点だけを説明する。S1028、S1033での対象はENC1_Ndの値であり、S1029で現在値がTmp_valに代入される。S1031、S1032で使用するデータ変数は、F_D1D[ENC1_Nd]である。S1033から図29のS1034に進む。
図31のS1036は、正転時にモータが停止した時点から、予め決められた静定時間が経過したか否かの判定処理である。静定時間が経過していない場合、当該時間が経過するまでの間待機し、静定時間が経過した場合にはS1037へ移る。
S1037では既に確保している、ENC0_Nu,ENC0_Nd,ENC1_Nu,ENC1_Ndの値が全て4に初期化され、以後の処理ではデクリメント(S1049,S1055,S1062,S1068参照)される。こうすることで正転時と逆転時での同じインデックス番号のデータが、モータの1回転で5回発生する内の、どの物理的な位置で起こったかを把握できる。続くS1038ではモータが逆回転を開始する。この時の回転数は正転時と同じ回転数である。以後、S1039〜S1070の処理は、S1004〜S1035の処理とほぼ同様の処理であるので、それらの詳細な説明は割愛する。主な相違点はENC0信号、ENC1信号の同一回転位相で発生する信号変化において、正転時と逆転時とでは立上りと立下りの関係が反対になることである。このため、ENC0信号の立上り時に基準位置からのテーブル番号を処理する場合、正転時には現在値から128が減算されるが、逆転時には現在値から384が減算される(S1045参照)。同様にS1051では現在値から128が減算される。ENC1信号の場合(図32のS1056〜S1068参照)も、テーブル番号値として正弦波で180度ずれた値を基準値として使用するため、同様に正転時と逆転時で反対の値を使用して処理を行う。つまり、S1058での減算値はゼロであり、S1064での減算値は256である。
次に、図33のS1071以降の処理を説明する。S1071では、正転時に使用するデータ変数F_D0U[ENC0_Nu]およびF_D0D[ENC0_Nd]、つまり、それぞれ5個の変数に保持した全ての値の中で、最大値と最小値が算出される。最大値は変数MaxValに代入され、最小値は変数MinValに代入される。続くS1072は、差分MaxVal−MinValの値を256と比較し、差分値が256より大きいか否かを判定する処理である。差分値が256よりも大きい場合、S1074へ移り、差分値が256以下である場合にはS1073へ移る。図33のS1073〜S1077を説明する前に、これらの一連の処理を行う必要性について図37を参照して説明する。図37は、データ変数F_D0U[ENC0_Nu]およびF_D0D[ENC0_Nd]の値について分布例を点群で示している。
図37(A)において、サンプルデータ群1101および1102は、F_D0U[ENC0_Nu]、F_D0D[ENC0_Nd]に係る10個のデータ群をそれぞれ表わしている。サンプルデータ群1101に示す分布の場合、全ての平均値をとることで位相値の平均値(1103参照)が得られる。しかし、サンプルデータ群1102に示す分布の場合、テーブル番号511と0のギャップのある場所を跨いでデータ群が分布している。そのため、サンプルデータ群1102は、図37(B)に示すサンプルデータ群1105と、サンプルデータ群1106の2つに分断された形で平均値計算が行われる。その結果、本来0の近辺にあるべき平均値(図37(A)の1104参照)ではなく、128と256との間にある平均値(図37(B)の1107参照)が算出されてしまう。
このように、サンプルデータ群が511と0の付近に値を持って分布する場合を適切に処理する必要がある。このため、サンプルデータ群1102の最小値(図37(C)の1109参照)と、最大値(図37(C)の1108参照)を求め、その差分値を判定することで処理の場合分けを行っている。この差分値が256を超える場合、すなわちサンプルデータ値に対して位相で180以上の差があった場合、サンプルデータ群が511、0の境を跨いでいると判定される。この場合、以下のS1074〜S1077の処理によって所望の値が得られる。サンプルデータ群が511と0の境を跨がずに最大値と最小値との差が256以上の値になることは、モータの機械的な構成や調整に使用する速度からあり得ない。仮に、そのようなことがあり得るとすると、モータ回転が安定していない状態や、または電気回路に問題があるものと考えられる。よって、この場合には調整エラーとして処理される。以上の説明を踏まえた上で、図33のS1073以降の処理を説明する。
S1073では、F_D0U[ENC0_Nu]、R_D0D[ENC0_Nd]に係る計10個のデータの平均値が算出され、その結果が変数ENC0R_AdjRsltValに代入される。また。S1074では、F_D0U[ENC0_Nu]、R_D0D[ENC0_Nd]に係る計10個のデータの内、256以上の値については512を減算した値として扱って平均値が算出され、その結果が一時変数Tmp_Valに代入される。続くS1075にて、Tmp_Valの値が0未満か否かが判定される。Tmp_Valの値が0以上である場合、S1076に移り、Tmp_Valの値が0未満の場合S1077へ移る。S1076ではTmp_Valの値が変数ENC0R_AdjRsltValに代入される。またS1077では、Tmp_Valの値に512を加えた値がENC0R_AdjRsltValに代入される。S1076、S1077の後、図34のS1078に進む。
S1078では、F_D0D[ENC0_Nd]、R_D0U[ENC0_Nu]に係る計10個のデータを用いて、S1071〜S1077と同様の処理が実行される。結果(平均値)はENC0F_AdjRsltValへ代入される。続くS1079では、F_D1U[ENC1_Nu]、R_D1D[ENC1_Nd]に係る計10個のデータを用いて、S1071〜S1077と同様の処理が実行される。結果値(平均値)はENC1R_AdjRsltValへ代入される。続くS1080では、F_D1D[ENC1_Nd]、R_D1U[ENC1_Nu]に係る計10個のデータを用いて、S1071〜S1077と同様の処理が実行される。結果(平均値)はENC1F_AdjRsltValへ代入される。
S1081〜S1087の処理ではENC0R_AdjRsltVal、ENC0F_AdjRsltVal、ENC1R_AdjRsltVal、ENC1F_AdjRsltValの4つの値を使用する。S1071〜S1077と同様の処理が実行される。結果値(符号なしの平均値)が変数AdjRsltValへ代入される。続くS1088では、算出されたAdjRsltValの値が調整位置の結果値としてメモリに保存される。AdjRsltValの値に基づいて位相ずれの調整値を設定する工程が実行される。この工程の後、モータ駆動時には、保存された位相ずれ量に基づく補正に従って適正な駆動制御が行われる。AdjRsltValの値は、スリット回転板105の位相ずれ量αに対応する値であるが、S1083の段階では、電気角360度分を512分割した値となっているので、必要に応じて度(degree)単位に変換してメモリに保存してもよい。S1089にて全処理の終了となる。
この処理では、モータをオープン制御で第1方向とその逆の第2方向に所定量だけ駆動して検出処理を行うだけで、モータに設けられたエンコーダセンサの出力の位相ずれ量を短時間で、簡便に検出できる。位相ずれ量αに基づくモータ調整工程については、モータを調整冶具等に接続する必要がないため、モータユニット単体で行ってもよいし、モータを装置に組み込んだ後でも実施することができる。また装置に組み込んだ状態で、装置を定常使用している時に、他の処理と並行してこの処理を行うことで、経時変化によるエンコーダセンサの出力の位相ずれ量を検出して調整できる。
また、図38で示すように、ENC0信号の2値化閾値1401や、ENC1信号の2値化閾値1402が適切に調整されていない場合でも、立上りと立下りの各タイミングでの平均値を算出することで、位相ずれ量αを正確に算出できる。図38に例示するENC0信号のHIGHレベル幅はスリット回転板105の明期間よりも狭く、ENC1信号のHIGHレベル幅はスリット回転板105の明期間よりも広い場合である。
なお、この処理ではフォトインタラプタとスリット回転板を用いた位置検出手段を採用しているが、被検出部としてロータ軸にエンコーダ用マグネットを取り付け、ホールセンサ等の磁力センサを用いて磁気的に検出手段で実施してもよい。あるいは被検出部がなく、ロータ磁石の磁力を直接に磁気センサで検出する構成でもよい。
また、この処理ではセンサ出力変化のタイミングで、励磁コイルの駆動波形の位相データを取得する方式を実施している。これに限らず、例えば、詳細に時間計測ができるハードウェアタイマを用いて、時間計測を行って実施してもよい。その場合、駆動波形出力の特定タイミングで正弦波発生装置からの割り込み信号が出力され、該タイミングとセンサ出力変化の割り込みタイミングとの時間計測が行われ、その時の駆動波形周期を用いて詳細に位相値が計算される。
さらに、この処理ではフォトインタラプタを2個としたが、もちろんセンサが1つの場合でも実施可能である。また、ステータとフォトインタラプタとの位置関係が機械的に決まっているものとしたが、両者の位置関係が決まっていない構成であっても実施可能である。その場合、図3(A)の位置関係にあるものと仮定して処理の調整を行えばよい。本質的に検出すべきことは、ロータマグネット119がステータに対してどのような位置関係にあるときに、センサ出力波形が変化するかに関する情報である。よって、ステータとフォトインタラプタとの位置関係が図3(A)に示す通りであると仮想的に扱って、検出したα値だけロータマグネット119とスリット回転板105との位相がずれていると認識できれば辻褄が合う。この場合、物理的にロータマグネット119とスリット回転板105の位相ずれ量はαではない。しかし、フォトインタラプタの位置を図3(A)の位置にあるとして扱う前提で使用すれば、ロータマグネット119とスリット回転板105の位相ずれ量はαであるとしても問題ない。
ロータマグネット119がステータに対してどのような位置関係にあるときに、センサ出力波形が変化するかを検出できれば、センサ出力位置を調整できることが本質的事項である。また、前記の原理により、ステータとフォトインタラプタとの位置関係が機械的に決まっているという前提で測定が実施された場合、フォトインタラプタに機械的な位置ずれがあった場合でも、位相ずれ量はαに吸収される。よって、機械的位置ずれを無視できるという利点がある。
この処理では、駆動波形の周期とセンサ出力の周期が同一であるとして説明したが、センサ出力の周期が駆動波形の2逓倍、3逓倍、・・・等のように、逓倍関係にあっても実施可能である。図39に2逓倍出力センサの場合を示す。この場合、新たな課題があり、その解決方法を以下に説明する。
図39の上方には電気角90°ごとの回転状態を0°から270°に亘って例示している。図39(A)、図39(B)は、それぞれステータA+115、ステータB+117に対する励磁波形を示す。図39(C)は、励磁しているコイルの駆動波形信号(マイクロステップ波形)に係るテーブル番号を示す。図39(D)、図39(E)は、各センサ出力のタイミングを示す。ENC0信号とENC1信号がエンコーダ回路によりカウントされるものとする。エンコーダカウント値を図39(D)、図39(E)の下部にそれぞれ示す。
逓倍出力を利用する処理では、例えばエンコーダカウント値が1の場合と、エンコーダカウント値が5の場合とで、ENC0信号の立上り時点の出力の区別が出来ない。そのため、信号出力をエンコーダカウント値と結び付けて処理をする必要がある。図39に示す例の場合、電気角で360度進む期間内に、エンコーダ出力が8回あることになる。よってエンコーダカウント値の8による剰余演算結果を使用する。例えば、2回のENC0信号の立上り時点での割り込み時に、その時点でのエンコーダカウントの剰余演算を行うと、テーブル番号値(図39(C)の1502参照)を取得する場合、ENC0信号の立上り割り込みの剰余演算結果は1となる。テーブル番号値(図39(C)の1506参照)を取得する場合、ENC0信号の立上り割り込みの剰余演算結果は5となる。この結果は次の電気角360度分の移動を行う場合も同じ結果となる。このように出力元と、立上り、立下りの情報だけでは区別できないテーブル番号値の取得結果については、エンコーダカウント値を、電気角360度の移動時に出力されるセンサタイミング回数で除算した剰余演算結果と関連付けることで解決できる。
また、この処理では説明を分かり易くするために便宜上、スリット回転板105の、ロータマグネット119に対する取り付け位置ずれ量を検出することを主眼に説明した。これに限らず、図38で例示したセンサ出力状態で、センサの要因種別毎に調整値を算出して利用してもよい。この場合、図34に示したENC0R_AdjRsltVal、ENC0F_AdjRsltVal、ENC1R_AdjRsltVal、ENC1F_AdjRsltValの4つの値が最終結果となる。この結果を用いての調整処理を行う際には平均値ではなく、検出されたセンサの要因毎に4つの調整結果値を使い分けるようにする。これにより、図38に示した2値化閾値1401と1402の調整工程を省略できるという利点が得られる。
また、この処理ではモータ1回転中のセンサ出力信号に応じたデータ総数が20であり、それらの平均値を使って調整結果としている。これに限らず、センサ信号が変化した時のエンコーダカウント値を20で除算した剰余演算結果と、そのタイミングでの取得した調整結果とを結び付けて管理してもよい。図29では、ENC0_Nu,ENC0_Nd,ENC1_Nu, ENC1_Ndがそれぞれ示すインデックス番号を用意し、データ取得時にどの回転位置でのデータかを各データ変数に代入して記録する方法について説明した。インデックス番号が同じ正転時のデータと逆転時のデータを対にした調整結果を得ることにより、ロータマグネット119とスリット回転板105との間の細かな位相バラツキを全て検出して吸収する調整処理を実現できる。
<カウント値の補正処理>
次に、図40ないし図42に示すフローチャートを参照して、カウント値の補正処理を説明する。図40は、CPU108による正弦波発生器109に対する指令発行処理について説明するフローチャートである。S701で処理が開始し、S702では正弦波2−2相カウント値と、ENCカウント値を同じ値で初期化する処理が行われる。
ENCカウント値とは、ENC0信号、ENC1信号の変化に応じて加減算される値(第1カウント値)である。ENC0信号がENC1信号よりも先行している状態、すなわち正転方向の駆動時にENC0信号、ENC1信号にレベル変化があった場合、カウント値に1が加算される。逆転時にENC1信号がENC0信号よりも先行している場合には、カウント値から1が減算される。
また、正弦波2−2相カウント値とは、正弦波発生器109において正弦波の位相が90度進むたびにカウントされる値(第2カウント値)である。つまり、正弦波信号がゼロクロス点を通過する位相ごとに計数動作が行われる。正転時にて現在のテーブル番号が0度、90度、180度、270度のいずれかに対応する正弦波テーブル番号値を超えた時に、カウント値に1が加算される。逆転時に現在のテーブル番号が0度、90度、180度、270度のいずれかに対応する正弦波テーブル番号値を超えた時には、カウント値から1が減算される。本処理では図43に示すように、正弦波2−2相カウント値とENCカウント値が100で初期化されるものとする。図43は補正処理例を示し、正弦波2−2相カウント値、ENCカウント値、および両者のカウント差を例示する。A+信号、B+信号はそれぞれステータA+,B+に係る駆動波形信号を示す。
続くS703でCPU108は、回転運動の停止位置を設定し、S704で駆動速度を設定する。この駆動速度に応じた周波数の正弦波信号が正弦波発生器109からPWM発生器111に出力される。S703で設定された停止位置と現在位置との比較結果から、ステッピングモータ101が正転方向および逆転方向のうちのどちらに回転するかが決定される。S705にてCPU108により駆動開始要求の指令が発行され、S706で処理を終える。
図41および図42は、CPU108からの指令を受けて動作する正弦波発生器109の処理例を示すフローチャートである。S707で処理が開始し、S708では、正弦波発生器109の定周期処理を前回行った時点から、所定時間が経過したか否かについて判定される。所定時間が経過していればS709へ移り、所定時間が経過していない場合、S708の判定処理が繰り返されて待ち処理となる。S709は、CPU108から速度変更要求を受け付けたか否かの判定処理である。CPU108から速度変更要求があった場合、S710に処理を進め、要求された速度を示すデータが正弦波発生器109内の対応する変数に格納されて速度設定値が変更される。一方、速度変更要求がない場合、S711へ移る。
S711で正弦波発生器109は、CPU108から駆動開始要求が来ているか否かを判定する。駆動開始要求が来ている場合、S712に進み、正弦波発生器109は内部状態を駆動状態へと変更する。例えば、内部状態を示す変数やフラグ等の値が変更される。CPU108から駆動開始要求がない場合、S713へ移る。S713で正弦波発生器109は、停止位置の変更要求がCPU108から来ていないかどうかを判定する。正弦波発生器109が停止位置の変更要求をCPU108から受け取った場合、S714に処理を進め、要求された停止位置のデータが正弦波発生器109内の対応する変数へ格納されて、停止位置の設定値が変更され、図42のS715に進む。また、停止位置の変更要求がない場合には図42のS715へ移る。
S715にて正弦波発生器109は、現在の内部状態が駆動状態であるか否かを判定する。現在の状態が駆動状態である場合、S716に移り、駆動状態でない場合、図41のS724へ移る。S716では現在設定されている速度、および正弦波発生器109の起動周期に応じて進むべき正弦波位相量を算出する処理が実行され、PWM発生器111に対して出力する正弦波のテーブル値が変更される。この時、正転時にはテーブル値を出力に加算し、逆転時には減算する処理が行われる。この処理で例示するテーブル番号の範囲は0〜511であるので、正転時の加算結果が512以上の値になる場合、0に戻って連続的な正弦波が出力されるように正規化処理が行われてテーブル番号値が設定される。逆転時の場合も同様に、連続的な正弦波が出力されるように設定される。
続くS717において、絶対位置の更新処理が行われる。図43に例示する絶対値は、駆動前の開始位置での値88であり、駆動開始後、テーブル番号値の進み分である位相変化量に比例した加算処理が行われてゆく。よって、正弦波が正転方向に1周期分進めば絶対位置に512が加算されることになる。一方、正弦波が逆転方向に1周期分進めば絶対位置から512が減算されることになる。この絶対位置はモータの駆動波形信号をどれだけ出力したかの積算値になり、現時点でロータがどれだけ回転したかを表している。
S718においては、S716で現在のテーブル番号を変更した時に、出力正弦波の0度、90度、180度、270度にそれぞれ相当する値、即ちテーブル番号では0、128、256、384の値を跨いだかどうかについて判定される。これらの値を跨いでテーブル番号が変更された場合、S719へ進み、そうでない場合にはS722へ進む。S719では現在の回転方向が正転方向であるか、または逆転方向であるかについて判定される。正転方向の場合、S720へ進み、正弦波2−2相カウントの値に1を加算する処理が行われる。また、逆転方向の場合、S721へ進み、正弦波2−2相カウント値から1を減算する処理が行われる。続くS722ではモータ駆動に係る現在の絶対位置が、設定されている停止位置を越えたかどうかについて判定され、停止位置を越えた場合、S723へ進み、正弦波発生器109は内部状態を停止状態に移行させる。また、S722で停止位置を越えていない場合には、図41のS724へ移る。
S724にて、ENCカウント値から正弦波2−2相カウント値を減算し、この値が閾値以上であるか否かについて判定される。本例にて閾値は4であり、駆動波形の1周期に対応する値である。減算結果が4以上であった場合、S725へ移り、減算結果が4未満であった場合、S727へ移る。S725では、正弦波2−2相カウント値に4が加算される。続くS726では現在位置を示す絶対値に対して、正弦波テーブル番号の1周期分に対応する位相量、すなわち512が加算され、S708の処理へ戻る。図44は、S724〜S726に示す一連の処理を行う場合を例示する。この例では、駆動停止後、慣性によりロータ軸102が回転し続けて、行き過ぎてしまった場合等を表わしている。
この場合、絶対位置960の位置で駆動波形信号の印加を停止しているため、正弦波2−2相カウント値は107で停止してしまう。しかし、ロータが慣性で回転を続けるため、ENC0信号、ENC1信号の各出力は継続し、ENCカウント値は111まで増加する。モータが脱調した場合、ENCカウント値が4増加する毎にロータと印加電圧との安定した対応点が現れる。図44の例では、ロータはロータマグネット119の着磁位相で1周期分ずれた所でステータからの印加電圧と釣り合いのとれた状態に落ち着いたことになる。その際、ENCカウント値が111になった時点で絶対位置960に対して512を加算して1472に補正する処理がCPU108により実行され、正弦波2−2相カウント値は4が加算されて111となる。
再び、図41のフローチャートの説明に戻る。S727にてENCカウント値から正弦波2−2相カウント値を減算した値が、−4以下であるか否かについて判定される。減算結果値が−4以下であった場合、S728へ移り、また減算結果値が−4より大きい場合、S708へ処理を戻す。S728では、正弦波2−2相カウント値から4が減算される。続くS729では現在位置を示す絶対値から、正弦波テーブル番号の1周期分に対応する位相量、すなわち512が減算された後、S708の処理へ戻る。
図45は、S727〜S729に示す一連の処理を行う場合を例示する。この例は、駆動波形信号の印加を続行しても、ロータに過剰な負荷がかかる等の原因により、ロータが回転しない場合を表わしている。この場合、ENCカウント値が106の位置で停止している。しかし、駆動波形信号の印加が続行するため、正弦波2−2相カウント値は増加し続ける。増加後に、正弦波2−2相カウント値が110となった時点で、ENCカウント値から正弦波2−2相カウント値を引いた値が−4となる。このタイミングで正弦波2−2相カウント値から4が減算されて106となり、絶対位置から512が減算される(1280−512=768)。その後もENCカウント値は変化しないため、再び正弦波2−2相カウント値が110となった時点で同様の補正処理が実行される。
以上に説明したカウント値の補正処理を行うことで、ステッピングモータの駆動中において一時的に過剰な負荷が発生してモータを駆動できなくなった場合でも、印加した駆動波形の位相量の積算値に対して位置ずれの補正が行われる。その際、間違った停止位置に一旦停止してから位置ずれの補正のためにモータを駆動させる処理等は不要となる。
なお、図45に示す過剰負荷の下でのカウント値の補正処理において、継続的に駆動波形信号をモータに印加し続けることで正常動作への復帰を促す例を説明した。これに限らず、一定時間の経過後に駆動波形信号を停止させるタイムアウト処理を追加して実施してもよい。つまり、位置検出信号の変化が検出された後、一定時間以上に亘って該信号の変化が検出されなかった場合、第2カウント値の補正処理が停止される。あるいは、一定数の駆動波形の信号出力を行っても正常動作へ復帰しないと判断された場合、駆動波形の印加を停止させる処理を追加して実施してもよい。つまり、位置検出信号の変化が検出された後、一定時間以上に亘って該信号の変化が検出されない期間中に、一定数以上の駆動波形信号が前記モータに印加された場合、第2カウント値の補正処理が停止される。
また、図46に示すように、実際の機構部へ前記モータユニットを適用する場合、実施する意味をもたないか、または実施すると何らかの支障を来たす状況ではこの処理を停止すればよい。図46(A)、(B)は、本処理のモータユニット100をレンズユニットに適用した例を示す。図中にステッピングモータ101、ロータ軸102、スリット回転板105を示す。レンズホルダ1101はモータ駆動による制御対象となる部材である。ステッピングモータ101が回転すると、レンズホルダ1101がロータ軸102の方向に移動する。レンズホルダ1101には、リセット用PI1102に対する遮光板1101aが設けられており、レンズホルダ1101の基準位置は、リセット用PI1102を用いて決定される。レンズホルダ1101の基準位置の決定処理では、現在のリセット用PI1102での明暗状態に応じて、適した方向にレンズホルダ1101を移動させ、リセット用PI1102での明暗状態が変化した位置を、基準位置として決定する処理が実行される。基準位置の決定処理中には、レンズホルダ1101のレンズユニットに対する絶対位置が決定されていないので、前述した位置ずれの補正処理は適用されない。よって、処理負荷が削減される。
また、レンズホルダ1101に一時的な阻害状態(機械的な食いつき等)が起きた場合、レンズホルダ1101に対して短距離での往復動作を短時間内に行う動作等の、脱出処理実行される。この時に前記の位置ずれの補正処理を行ったのでは、期待通りの脱出効果が得られない場合がある。食いつき状態からの脱出動作では、第1方向へモータを駆動するための駆動波形を短時間に出力し、続いて反対の第2方向へ駆動するための駆動波形を短時間に出力するという制御が繰り返し実行される。この場合に前記補正処理を行うと、レンズが移動しないために、駆動波形信号が短時間内ではなく、タイムアウトが発生するまでの間、継続して出力されてしまい、期待した脱出動作にはならない。よって、一時的な阻害状態からの脱出処理を行う場合には、前記補正処理が停止される。
上述の処理によれば、モータの停止後に、ロータが予定位置を越えて行き過ぎた場合でも、行き過ぎ量を常に監視して補正することにより、補正した結果を実際の位置決め制御に反映させることができる。
以上、ステッピングモータを例示して処理を説明したが、本発明はこれに限らず、エンコーダが付加され、かつ印加する駆動波形信号の波数に応じて回転量や駆動量が決まるモータであれば、他のタイプのモータにも適用できる。
100 モータ駆動ユニット
101 ステッピングモータ
102 ロータ軸
103 ch0−PI
104 ch1−PI
105 スリット回転板
106 コンパレータ
107 エンコーダ回路
108 CPU

Claims (10)

  1. 正弦波状の駆動波形をモータに印加して駆動するモータ制御装置であって、
    モータ軸の位置に対応した信号を出力する位置検出手段と、
    前記位置検出手段により出力された信号のタイミングで前記モータの駆動波形の位相値を取得し、前回に前記位置検出手段により出力された信号のタイミングから現時点で前記位置検出手段により出力された信号のタイミングまでの時間を測定して前記駆動波形の周期を変更する制御手段を備え、
    前記制御手段は、前記駆動波形と前記モータ軸との位相を比較し、現時点にて前記信号のタイミングで取得した前記駆動波形の位相値が、前記モータの駆動電圧と駆動電流が指定された位相関係である場合に取得される前記駆動波形の目標位相値と異なる場合、現時点から調整用の位相値に相当する移行時間が経過した時刻において前記駆動波形の位相値が目標位相値と一致する周期に変更する制御を行うことを特徴とするモータ制御装置。
  2. 前記制御手段は、前記駆動波形と前記モータ軸との位相関係を、前記モータの駆動中に変更する制御を行うことを特徴とする請求項1に記載のモータ制御装置。
  3. 前記制御手段は、測定した前記駆動波形の周期から前記移行時間を算出して設定することで、該移行時間を前記モータの駆動中に変更する制御を行うことを特徴とする請求項1または2に記載のモータ制御装置。
  4. 前記制御手段は、前記駆動波形と前記モータ軸が目標とする位相関係となる前記周期を算出するまでに要する遅れ時間を含めて前記駆動波形の周期を変更する制御を行うことを特徴とする請求項1から3のいずれか1項に記載のモータ制御装置。
  5. 前記位置検出手段は、前記モータ軸または前記モータ軸に取り付けた被検出部の位置を検出する検出部を有することを特徴とする請求項1から4のいずれか1項に記載のモータ制御装置。
  6. 前記位置検出手段は、
    前記検出部の出力を閾値と比較する比較手段と、
    前記比較手段により2値化された信号の変化を測定して前記制御手段に出力するエンコード手段を備えることを特徴とする請求項5に記載のモータ制御装置。
  7. 正弦波状の駆動波形をモータに印加して駆動するモータ制御装置にて実行されるモータ制御方法であって、
    モータ軸の位置に対応した信号を位置検出手段により検出する位置検出ステップと、
    前記位置検出手段により出力された信号のタイミングで前記モータの駆動波形の位相値を取得する取得ステップと、
    前回に前記位置検出手段により出力された信号のタイミングから現時点で前記位置検出手段により出力された信号のタイミングまでの時間を測定して前記駆動波形の周期を変更する制御ステップを有し、
    前記制御ステップは、前記駆動波形と前記モータ軸との位相を比較するステップと、現時点にて前記信号のタイミングで取得した前記駆動波形の位相値が、前記モータの駆動電圧と駆動電流が指定された位相関係である場合に取得される前記駆動波形の目標位相値と異なる場合、現時点から調整用の位相値に相当する移行時間が経過した時刻において前記駆動波形の位相値が目標位相値と一致する周期に変更するステップを有することを特徴とするモータ制御方法。
  8. 前記制御ステップでは、前記駆動波形と前記モータ軸との位相関係を、前記モータの駆動中に変更することを特徴とする請求項7に記載のモータ制御方法。
  9. 前記制御ステップでは、測定した前記駆動波形の周期から前記移行時間を算出して設定することで、該移行時間を前記モータの駆動中に変更することを特徴とする請求項7または8に記載のモータ制御方法。
  10. 前記制御ステップは、前記駆動波形と前記モータ軸が目標とする位相関係となる前記周期を算出するまでに要する遅れ時間を含めて前記駆動波形の周期を変更することを特徴とする請求項7から9のいずれか1項に記載のモータ制御方法。
JP2013135249A 2012-07-31 2013-06-27 モータ制御装置およびモータ制御方法 Active JP6278622B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013135249A JP6278622B2 (ja) 2012-07-31 2013-06-27 モータ制御装置およびモータ制御方法

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP2012170253 2012-07-31
JP2012170254 2012-07-31
JP2012170254 2012-07-31
JP2012170253 2012-07-31
JP2012172375 2012-08-02
JP2012172375 2012-08-02
JP2013135249A JP6278622B2 (ja) 2012-07-31 2013-06-27 モータ制御装置およびモータ制御方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2018005427A Division JP6486511B2 (ja) 2012-07-31 2018-01-17 モータ制御装置、該モータ制御装置を備えるシステム並びに光学機器、およびモータ制御方法

Publications (2)

Publication Number Publication Date
JP2014045646A true JP2014045646A (ja) 2014-03-13
JP6278622B2 JP6278622B2 (ja) 2018-02-14

Family

ID=50024824

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2013135249A Active JP6278622B2 (ja) 2012-07-31 2013-06-27 モータ制御装置およびモータ制御方法
JP2018005427A Active JP6486511B2 (ja) 2012-07-31 2018-01-17 モータ制御装置、該モータ制御装置を備えるシステム並びに光学機器、およびモータ制御方法
JP2019028374A Active JP6790147B2 (ja) 2012-07-31 2019-02-20 モータ制御装置、該モータ制御装置を備えるシステム並びに光学機器、およびモータ制御方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2018005427A Active JP6486511B2 (ja) 2012-07-31 2018-01-17 モータ制御装置、該モータ制御装置を備えるシステム並びに光学機器、およびモータ制御方法
JP2019028374A Active JP6790147B2 (ja) 2012-07-31 2019-02-20 モータ制御装置、該モータ制御装置を備えるシステム並びに光学機器、およびモータ制御方法

Country Status (2)

Country Link
US (1) US10199964B2 (ja)
JP (3) JP6278622B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016184993A (ja) * 2015-03-25 2016-10-20 キヤノン株式会社 モータ制御装置およびモータ制御方法
JP2018042346A (ja) * 2016-09-06 2018-03-15 キヤノン株式会社 電動機制御装置および電動機制御方法
JP2019129590A (ja) * 2018-01-24 2019-08-01 マブチモーター株式会社 モータ制御装置、モータ装置、及びプログラム
US10439525B2 (en) 2017-06-05 2019-10-08 Canon Kabushiki Kaisha Motor drive device and method for driving motor
JP2020096506A (ja) * 2018-08-09 2020-06-18 キヤノン株式会社 モータ駆動装置およびその制御方法
US10868480B2 (en) 2017-10-25 2020-12-15 Canon Kabushiki Kaisha Motor driving apparatus, motor system including the same, imaging apparatus, and motor driving method

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101987169B1 (ko) * 2012-12-17 2019-06-10 엘지이노텍 주식회사 모터
US9479090B2 (en) * 2013-12-20 2016-10-25 Semiconductor Components Industries, Llc Motor control circuit and method
US10287046B2 (en) * 2014-10-28 2019-05-14 Omron Corporation Control apparatus, system, and program library
WO2017017557A1 (en) * 2015-07-24 2017-02-02 Societe Industrielle De Sonceboz Sa Actuator with integrated position sensor and play compensation
JP6743444B2 (ja) * 2016-03-24 2020-08-19 富士ゼロックス株式会社 回転情報検出装置及びこれを用いた回転制御装置、画像形成装置
KR102570803B1 (ko) * 2018-07-20 2023-08-25 엘지이노텍 주식회사 모터
US11183954B2 (en) * 2018-08-09 2021-11-23 Canon Kabushiki Kaisha Motor driving device and control method thereof
JP7271318B2 (ja) 2019-06-04 2023-05-11 キヤノン株式会社 モータ制御装置およびモータ制御方法、光学機器
JP7301622B2 (ja) 2019-06-20 2023-07-03 キヤノン株式会社 モータ制御装置およびモータ制御方法、光学機器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09312989A (ja) * 1996-05-23 1997-12-02 Fujitsu General Ltd ブラシレスモータの制御方法およびその装置
JP2002018178A (ja) * 2000-07-06 2002-01-22 Sharp Corp 洗濯機の制御装置
JP2009106009A (ja) * 2007-10-19 2009-05-14 Sanyo Electric Co Ltd モータ駆動回路

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3699441A (en) * 1971-01-04 1972-10-17 John R Linders Polyphase signal monitoring system
JP2002119089A (ja) 2000-10-05 2002-04-19 Matsushita Electric Ind Co Ltd ステップモータの制御装置
JP2002325480A (ja) * 2001-04-23 2002-11-08 Sharp Corp 洗濯機
JP4311981B2 (ja) 2003-05-20 2009-08-12 東京計装株式会社 バルブ制御装置およびその原点検索方法
JP2005012955A (ja) 2003-06-20 2005-01-13 Mitsuba Corp ブラシレスモータおよびその製造方法
EP1494413A1 (en) * 2003-07-02 2005-01-05 CoreOptics, Inc., c/o The Corporation Trust Center Channel estimation and sequence estimation for the reception of optical signal
CN100578378C (zh) * 2006-01-25 2010-01-06 株式会社理光 图像形成装置
US7816881B2 (en) * 2006-06-29 2010-10-19 Exlar Corporation Method and apparatus for utilizing commutation sensors for speed and position control
JP2008008739A (ja) * 2006-06-29 2008-01-17 Toshiba Mach Co Ltd 信号処理装置、速度検出装置、サーボ機構
US7589483B2 (en) * 2007-06-07 2009-09-15 Fisher & Paykel Applicances Limited Motor control
US7649332B2 (en) * 2007-09-20 2010-01-19 Rockwell Automation Technologies, Inc. Motor controller having counter to count position error events and method of motor control using same
JP5233239B2 (ja) * 2007-10-19 2013-07-10 国産電機株式会社 発電装置
JP2009303298A (ja) * 2008-06-10 2009-12-24 Denso Corp 交流モータ装置
US8031446B2 (en) * 2008-08-28 2011-10-04 Delta Electronics, Inc. Method of detecting output phase loss for motor driver
JP4821902B2 (ja) * 2009-09-30 2011-11-24 ダイキン工業株式会社 モータ及びそれを備えたモータ駆動システム
JP5464490B2 (ja) * 2010-05-12 2014-04-09 株式会社リコー 画像形成装置の製造方法及び画像形成装置
JP5333422B2 (ja) * 2010-12-07 2013-11-06 株式会社デンソー 電力変換装置
CN103858333B (zh) * 2011-09-30 2016-06-15 大金工业株式会社 电力转换装置
US9036382B2 (en) * 2013-03-06 2015-05-19 Rockwell Automation Technologies, Inc. Method and apparatus for ripple and phase loss detection

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09312989A (ja) * 1996-05-23 1997-12-02 Fujitsu General Ltd ブラシレスモータの制御方法およびその装置
JP2002018178A (ja) * 2000-07-06 2002-01-22 Sharp Corp 洗濯機の制御装置
JP2009106009A (ja) * 2007-10-19 2009-05-14 Sanyo Electric Co Ltd モータ駆動回路

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016184993A (ja) * 2015-03-25 2016-10-20 キヤノン株式会社 モータ制御装置およびモータ制御方法
US9748880B2 (en) 2015-03-25 2017-08-29 Canon Kabushiki Kaisha Motor control device and motor control method
JP2018042346A (ja) * 2016-09-06 2018-03-15 キヤノン株式会社 電動機制御装置および電動機制御方法
US10447189B2 (en) 2016-09-06 2019-10-15 Canon Kabushiki Kaisha Electric motor control device, electric motor system and electric motor control method
US10439525B2 (en) 2017-06-05 2019-10-08 Canon Kabushiki Kaisha Motor drive device and method for driving motor
US10868480B2 (en) 2017-10-25 2020-12-15 Canon Kabushiki Kaisha Motor driving apparatus, motor system including the same, imaging apparatus, and motor driving method
JP2019129590A (ja) * 2018-01-24 2019-08-01 マブチモーター株式会社 モータ制御装置、モータ装置、及びプログラム
JP2020096506A (ja) * 2018-08-09 2020-06-18 キヤノン株式会社 モータ駆動装置およびその制御方法
JP7467036B2 (ja) 2018-08-09 2024-04-15 キヤノン株式会社 モータ駆動装置およびその制御方法

Also Published As

Publication number Publication date
JP6486511B2 (ja) 2019-03-20
US20140035496A1 (en) 2014-02-06
JP6278622B2 (ja) 2018-02-14
US10199964B2 (en) 2019-02-05
JP2018061434A (ja) 2018-04-12
JP6790147B2 (ja) 2020-11-25
JP2019083688A (ja) 2019-05-30

Similar Documents

Publication Publication Date Title
JP6486511B2 (ja) モータ制御装置、該モータ制御装置を備えるシステム並びに光学機器、およびモータ制御方法
JP6196532B2 (ja) エンコーダ
CN103401502A (zh) 永磁同步电机初始角度辨识系统及方法
WO2017115721A1 (ja) モータ制御装置及びモータ制御装置の制御方法
WO2012090423A1 (en) Single-phase brushless motor
US9762159B2 (en) Motor drive apparatus for driving stepping motor and control method therefor
US10389283B2 (en) Motor drive apparatus for driving stepping motor and control method therefor
Vidlak et al. Comparison between model based and non-model based sensorless methods of brushed DC motor
JP6186824B2 (ja) ブラシレスモータの制御装置、ブラシレスモータの電気角推定方法、および記憶媒体
US20150102758A1 (en) Motor drive controller, motor drive control method and motor system using the same
JP6525659B2 (ja) モータ制御装置およびモータ制御方法
JP5025395B2 (ja) 位置検出器の初期位置調整方法及びこの方法を用いた電動機駆動装置
JP6723881B2 (ja) 電動機制御装置および電動機制御方法
JP5464793B2 (ja) モータ駆動装置
JP2008029115A (ja) 単相位置センサレス永久磁石モータ制御装置
CN112398373B (zh) 一种无刷直流电机的控制方法、装置及存储介质
JP5511445B2 (ja) モータ及びモータの駆動制御方法
US10686392B2 (en) Driving permanent magnet motor based on neutral point voltage
JP6666326B2 (ja) モータ制御装置およびモータ制御方法
JP2013099165A (ja) 検出装置、駆動装置
JP2014110753A (ja) モータ駆動制御装置、モータ駆動制御方法及びそれを用いたモータ
Leppälä Evaluation of a small brushless direct current motor in an opto-mechanical positioning application
JP2012223065A (ja) モータの位置検出装置及びそれを用いたモータ
JP2012075230A (ja) ブラシレスモータの駆動制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160603

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171003

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171201

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180116

R151 Written notification of patent or utility model registration

Ref document number: 6278622

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151