(57)【要約】【課題】ステッピングモータの駆動制御において、より低い消費電力で振動や騒音を軽減させる。【解決手段】ステッピングモータ１０１は、ロータとともに回転するスリット回転板１０６と、２つのフォトインタラプタ１０４，１０５を備える。モータ制御装置は、フォトインタラプタ１０４，１０５の出力を取得してロータの回転位相を検出する回転位相検出部２０２と、ステッピングモータ１０１の駆動波形を生成する駆動波形生成部２０５を備える。進角制御部２０４は、ロータの回転位相と駆動波形との位相差に対応する進角を検出し、駆動波形の振幅と進角との関係が急激に変化する進角を目標進角に設定して駆動波形の振幅を制御することでステッピングモータ１０１の速度制御を行う。【選択図】図２
2020198727.tif 000002
【特許請求の範囲】
【請求項１】
ステッピングモータの駆動制御を行うモータ制御装置であって、
前記ステッピングモータのロータの回転位相を検出する検出手段と、
前記ステッピングモータを駆動させる駆動波形を生成する生成手段と、
前記駆動波形と前記回転位相との位相差を算出して前記駆動波形の振幅を変更することで前記ステッピングモータの回転速度を制御する制御手段と、を備え、
前記制御手段は、前記駆動波形の振幅を変化させたときの、当該振幅の変化量に対する前記位相差の変化量から決定した前記駆動波形の目標振幅および目標位相差にしたがって前記ロータの回転位相に対する前記駆動波形の位相を制御する
ことを特徴とするモータ制御装置。
【請求項２】
前記制御手段は、前記ロータの回転速度と前記位相差との関係式を用いて前記ロータの回転位相に対する前記駆動波形の位相を変更する
ことを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記制御手段は、前記駆動波形の振幅を下げながら前記位相差の変化量を算出し、前記振幅の変化量に対する前記位相差の変化量が予め定められた条件を満たすときの前記振幅および前記位相差を、前記目標振幅および目標位相差に決定する
ことを特徴とする請求項１に記載のモータ制御装置。
【請求項４】
前記制御手段は、前記条件として、前記振幅の変化量に対する前記位相差の変化量の比率が閾値以上であるときの前記位相差を前記目標位相差に決定する
ことを特徴とする請求項３に記載のモータ制御装置。
【請求項５】
前記制御手段は、前記ステッピングモータのコギングによる回転の変動、または前記ステッピングモータに加わる負荷の変動もしくは前記駆動波形のノイズによる回転の変動によって発生する前記位相差の変化量に基づく前記閾値を設定する
ことを特徴とする請求項４に記載のモータ制御装置。
【請求項６】
前記制御手段は、前記ステッピングモータに係る第１の回転速度において前記駆動波形の振幅を変化させたときの前記位相差の変化量が、設定された条件を満たす前記振幅および前記位相差を、前記目標振幅および第１の目標位相差に設定し、前記目標振幅にて第２の回転速度で前記ステッピングモータを駆動させたときの前記位相差を第２の目標位相差に設定し、前記第１の回転速度と前記第１の目標位相差との関係と、前記第２の回転速度と前記第２の目標位相差との関係から前記関係式を生成し、前記関係式を用いて前記ステッピングモータの回転速度を制御する
ことを特徴とする請求項２に記載のモータ制御装置。
【請求項７】
前記制御手段は、前記目標振幅を設定し、前記駆動波形の周期を変更する周期制御方式で前記ステッピングモータの駆動した際の検出周期を前記ロータの回転位相から取得し、前記検出周期から前記第２の回転速度を算出する
ことを特徴とする請求項６に記載のモータ制御装置。
【請求項８】
前記制御手段は、前記ステッピングモータの目標回転速度に対応する前記目標位相差を算出する
ことを特徴とする請求項７に記載のモータ制御装置。
【請求項９】
請求項１から８のいずれか１項に記載のモータ制御装置と、
光学部材と、
前記ステッピングモータと、を備え、
前記モータ制御装置により制御される前記ステッピングモータが前記光学部材を移動させる
ことを特徴とする光学機器。
【請求項１０】
ステッピングモータの駆動制御を行うモータ制御装置にて実行されるモータ制御方法であって、
前記モータ制御装置は、
前記ステッピングモータのロータの回転位相を検出する検出手段と、
前記ステッピングモータを駆動させる駆動波形を生成する生成手段と、
前記駆動波形と前記回転位相との位相差を算出して前記駆動波形の振幅を変更することで前記ステッピングモータの回転速度を制御する制御手段と、を備え、
前記モータ制御方法は、
前記制御手段が前記生成手段による駆動波形の振幅を変化させる工程と、当該振幅の変化量に対する前記位相差の変化量から決定した前記駆動波形の目標振幅および目標位相差にしたがって前記ロータの回転位相に対する前記駆動波形の位相を制御する工程と、を有する
ことを特徴とするモータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステッピングモータの進角制御技術に関するものである。
【背景技術】
【０００２】
さまざまな分野で用いられるステッピングモータは、オープンループ制御で高精度な位置決め動作を容易に行えるが、オープンループ制御時の高負荷や高速回転により脱調する可能性がある。そこで、ステッピングモータに設けた位置センサから得られるモータの回転位相信号を用いて、回転位相に対する駆動波形の進角を制御する方法がある。この方法によれば、最適な進角制御によって回転効率を最大限に引き出すことが可能となり、高速化や省電力化を実現できる。
【０００３】
特許文献１では、ステッピングモータのマイクロステップ駆動において、駆動波形の周期を変更して進角値を目標値に一致させる方法が開示されている。特許文献２では、ステッピングモータのマイクロステップ駆動において、駆動波形の振幅を変更して進角値を目標値に一致させる方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第６２７８６２２号公報
【特許文献２】特許第６２０７２２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ステッピングモータの制御では、以下の事項への対処が必要である。
・制御対象の負荷のばらつき（重い／軽い）が大きい場合に、最適な駆動電圧がそれぞれに異なること。
・制御対象の負荷の経時変化（摺動摩耗による劣化、駆動部のグリス抜け等）や環境温度変化により電圧と進角と速度の関係にずれが発生すること。
従来技術では、モータの個体差（ばらつき）、経時変化、温度変化等を考慮に入れて駆動電圧のマージンを決定し、駆動電圧を必要以上に大きくすることで脱調を回避する必要があった。そのため、消費電力が増加し、振動や騒音が大きくなる可能性があった。
本発明は、ステッピングモータの駆動制御において、より低い消費電力で振動や騒音を軽減させることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の実施形態の装置は、ステッピングモータの駆動制御を行うモータ制御装置であって、前記ステッピングモータのロータの回転位相を検出する検出手段と、前記ステッピングモータを駆動させる駆動波形を生成する生成手段と、前記駆動波形と前記回転位相との位相差を算出して前記駆動波形の振幅を変更することで前記ステッピングモータの回転速度を制御する制御手段と、を備える。前記制御手段は、前記駆動波形の振幅を変化させたときの、当該振幅の変化量に対する前記位相差の変化量から決定した前記駆動波形の目標振幅および目標位相差にしたがって前記ロータの回転位相に対する前記駆動波形の位相を制御する。
【発明の効果】
【０００７】
本発明によれば、ステッピングモータの駆動制御において、より低い消費電力で振動や騒音を軽減させることができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態のステッピングモータユニットの構成図である。
【図２】実施形態のモータ制御システムの構成例を示すブロック図である。
【図３】ロータマグネット、コイル、スリット回転板、検出部の位置関係を表す図である。
【図４】ロータの追従遅れがない場合のロータ回転位相と駆動波形との関係を表す図である。
【図５】ロータの追従遅れが発生している状態でのロータ回転位相と駆動波形との関係を表す図である。
【図６】位相ずれによるトルク効率の低下に対して進角制御で補正する処理の説明図である。
【図７】駆動波形の周期制御方式の動作を説明する図である。
【図８】駆動波形の振幅制御方式の動作を説明する図である。
【図９】進角と速度、振幅と進角、振幅と進角変化率の各関係を説明する図である。
【図１０】目標振幅と目標進角の探索処理を説明するフローチャートである。
【図１１】進角とロータの回転速度との関係を表す図である。
【図１２】駆動電圧ごとの進角と速度との関係を説明する図である。
【図１３】目標進角の算出処理を説明するフローチャートである。
【発明を実施するための形態】
【０００９】
以下に本発明の実施形態に係るモータ制御装置について、添付図面を参照して詳細に説明する。モータ制御装置は、光学機器や撮像装置において、レンズ等の光学部材とその駆動機構を有する場合に光学部材をモータで駆動するシステムに適用可能である。
【００１０】
図１を参照して、本実施形態に係るステッピングモータユニットの概略構成を説明する。ステッピングモータ（以下、単にモータともいう）１０１は回転軸１０２を備える。モータの回転軸１０２はリードスクリューとなっており、ラック１０３と噛み合う。回転軸１０２の回転に応じて、ラック１０３に接続された図示しない移動部材が軸方向に移動する。２つのフォトインタラプタ１０４，１０５はスリット回転板１０６の回転を検出する。以下では第１のフォトインタラプタ１０４をｃｈ０−ＰＩと表記し、第２のフォトインタラプタ１０５をｃｈ１−ＰＩと表記する。
【００１１】
回転軸１０２とともに回転するスリット回転板１０６は、同じ幅を持つ複数の反射部と透過部を備える。反射部と透過部の数はモータの極数に応じて設定され、例えばモータの極数が１０極であれば、遮光部と透過部の数が合計で１０に設定される。本実施形態では、ｃｈ０−ＰＩおよびｃｈ１−ＰＩ、スリット回転板１０６を用いて、ステッピングモータ１０１の回転位相が検出される。
【００１２】
図２は、駆動用の電気回路を含めたモータ制御システムの構成例を示すブロック図である。ｃｈ０−ＰＩ（１０４）およびｃｈ１−ＰＩ（１０５）、スリット回転板１０６を用いて検出される信号はコンパレータ２０１に入力される。コンパレータ２０１は、ｃｈ０−ＰＩで検出されたアナログ入力信号と、ｃｈ１−ＰＩで検出されたアナログ入力信号を取得して２値化処理を行う。
【００１３】
回転位相検出部２０２は、コンパレータ２０１によって２値化された信号の立ち上がりエッジと立ち下りエッジを検出し、ステッピングモータ１０１の回転位相を出力するとともに、フォトインタラプタの出力に係るエッジ検出信号を出力する。この検出信号をＰＩエッジ検出信号という。ＰＩはフォトインタラプタの略記号である。
【００１４】
駆動波形周期生成部２０３は、モータ駆動によって移動する移動部材の目標移動速度に応じて、駆動波形の周期情報を生成する。移動部材は、例えば撮像装置への適用において撮像光学系を構成する可動レンズや絞り等の光学部材またはその保持部材である。駆動波形周期生成部２０３は生成した駆動波形の周期情報を進角制御部２０４に出力する。
【００１５】
進角制御部２０４は、回転位相検出部２０２より出力されるＰＩエッジ検出信号を取得し、駆動波形周期生成部２０３により生成された駆動波形の周期情報に基づいてモータの進角制御を行う。進角制御部２０４は、回転位相検出部２０２より出力されるステッピングモータ１０１の回転位相と、駆動波形生成部２０５で生成される駆動波形との位相差（すなわち駆動波形の進角）を検出する。更に進角制御部２０４は、検出された進角および駆動波形周期生成部２０３からの周期情報に基づき、駆動波形生成部２０５で生成される駆動波形の振幅、周期および進角を制御する。進角制御部２０４の処理の詳細に関しては後述する。
【００１６】
駆動波形生成部２０５は、進角制御部２０４より出力される情報に基づく正弦波信号を生成してモータドライバ部２０６に出力する。モータドライバ部２０６は、駆動波形生成部２０５からの正弦波信号にしたがってモータ駆動信号を生成し、ステッピングモータ１０１を駆動する。
【００１７】
図３を参照して、ステッピングモータ１０１の回転位相と、フォトインタラプタ１０４および１０５と、スリット回転板１０６との位置関係について説明する。図３では、説明を分かり易くするために、モータ極数を２に簡略化した例を示す。
【００１８】
図３（Ａ）にて、ステッピングモータ１０１のロータマグネット３０１と、Ａ＋相の励磁コイル３０２およびＢ＋相の励磁コイル３０３を示す。励磁コイル３０２，３０３は、電気角で９０度（degree）ずらした位置に配置される。尚、Ａ−相とＢ−相の各励磁コイルについては図示および説明を省略する。
【００１９】
図３（Ａ）のスリット回転板１０６には、その遮光部（暗部）と透過部（明部）を表現している。スリット回転板１０６に対してｃｈ０−ＰＩ（１０４）とｃｈ１−ＰＩ（１０５）をそれぞれ示す。ロータマグネット３０１のＮ極とスリット回転板１０６の明部との位相が一致し、ロータマグネット３０１のＳ極とスリット回転板１０６の暗部との位相が一致する配置である。またｃｈ０−ＰＩ（１０４）はＡ＋相の励磁コイルに対して９０度ずらした位相に対応する位置に配置され、ｃｈ１−ＰＩ（１０５）はＢ＋相の励磁コイルに対して９０度ずらした位相に対応する位置に配置されている。
【００２０】
図３（Ｂ）は、ロータマグネット３０１の回転角に対応する状態を示す模式図である。回転角として０，９０，１８０，２７０度にそれぞれ対応する４状態を示す。図３（Ｃ）は、ｃｈ０−ＰＩ（１０４）の位置に対するロータマグネット３０１の回転位相をＳ極／Ｎ極で表し、ｃｈ０−ＰＩの検出信号の変化を示す。図３（Ｄ）は、ｃｈ１−ＰＩ（１０５）の位置に対するロータマグネット３０１の回転位相をＳ極／Ｎ極で表し、ｃｈ１−ＰＩの検出信号の変化を示す。
【００２１】
図４から図６を参照して、本実施形態における進角制御について説明する。図４はロータマグネット３０１の追従遅れがない場合のロータ回転位相と駆動波形との関係を示す図である。以下では、モータの回転方向として、各図に示すロータマグネット３０１が時計回りに回転する方向を正転方向とし、反時計回り方向を逆転方向と定義する。
【００２２】
図４（Ａ）は、ロータマグネット３０１の正転時においてロータと励磁コイルとの位置関係を示し、図３（Ｂ）に対応する図である。ロータマグネット３０１の回転角として０，９０，１８０，２７０度にそれぞれ対応する４状態を示す。図４（Ｂ）は、各回転角におけるｃｈ０−ＰＩ（１０４）の位置からみた場合の、ロータマグネット３０１のＳ極／Ｎ極の回転位相を示す。図４（Ｃ）はｃｈ０−ＰＩ（１０４）の検出信号の変化を示す。
【００２３】
図４（Ｄ）は、Ａ＋相励磁コイル３０２の位置での回転方向へのトルクの大きさを示す。Ａ＋相励磁コイル３０２がＮ極に励磁されている場合に、ロータマグネット３０１に対して正方向のトルクを与える場合のトルク値を正の値とする。回転角が９０度の時に正方向への最大トルクが発生し、回転角が２７０度の時に負方向への最大トルクが発生する状態となる。尚、回転角が０度および１８０度の場合には、ロータマグネット３０１とＡ＋相励磁コイル３０２とが反発し、または引き合う関係となり、回転方向へのトルクは発生しない。
【００２４】
図４（Ｅ）は、ロータマグネット３０１の回転角に対してＡ＋相励磁コイル３０２の駆動波形を示しており、＋側がＮ極の励磁状態を示す。横軸の設定は図４（Ｄ）と同じである。ロータマグネット３０１の回転角が９０度の時に＋側の最大励磁（Ｎ極）の状態であり、回転角が２７０度の時に−側の最大励磁（Ｓ極）の状態である。回転角が０度と１８０度の時に励磁なしの状態となるように、励磁波形の位相が決定される。図４（Ｆ）は、図４（Ｅ）の駆動波形での励磁によって得られる回転方向へのトルクの変化を示す。横軸の設定は図４（Ｄ）と同じである。
【００２５】
図４（Ｇ）は、ロータマグネット３０１の各回転角におけるｃｈ１−ＰＩ（１０５）の位置からみた場合の、ロータマグネット３０１のＳ極／Ｎ極の回転位相を示す。図４（Ｈ）はｃｈ１−ＰＩ（１０５）の検出信号を示す。図４（Ｉ）は、Ｂ＋相励磁コイル３０３の位置での回転方向へのトルクの大きさを示す。横軸の設定は図４（Ｄ）と同じである。Ｂ＋相励磁コイル３０３がＮ極に励磁されている場合に、ロータマグネット３０１に対して正方向のトルクを与える場合のトルク値を正の値とする。回転角が０度の時に正方向への最大トルクが発生し、回転角が１８０度の時に負方向への最大トルクが発生する状態となる。尚、回転角が９０度および２７０度の場合にはロータマグネット３０１とＢ＋相励磁コイル３０３とが反発し、または引き合う関係となり、回転方向へのトルクは発生しない。
【００２６】
図４（Ｊ）は、ロータマグネット３０１の回転角に対してＢ＋相励磁コイル３０３の駆動波形を示しており、＋側がＮ極の励磁状態を示す。横軸の設定は図４（Ｄ）と同じである。ロータマグネット３０１の回転角が０度の時に＋側の最大励磁（Ｎ極）の状態となり、回転角が１８０度の時に−側の最大励磁（Ｓ極）の状態となる。回転角が９０度と２７０度の時に励磁なしの状態となるように、励磁波形の位相が決定される。図４（Ｋ）は、図４（Ｊ）の駆動波形での励磁によって得られる回転方向へのトルクの変化を示す。横軸の設定は図４（Ｄ）と同じである。
【００２７】
図４（Ｌ）は合成トルクを示す。Ａ相で発生するトルク（図４（Ｆ）参照）と、Ｂ相で発生するトルク（図４（Ｋ）参照）とを合成した合成トルクがステッピングモータ１０１のトルクとなる。ロータマグネット３０１の回転角に対して、駆動波形の位相を合わせることで、最大効率のトルクが得られる。
【００２８】
以上では、Ａ＋励磁コイル３０２およびＢ＋相励磁コイル３０３の駆動波形に対してロータマグネット３０１の追従遅れがないか、または遅れが無視できることを前提として説明を行った。しかしながら回転状態にあるモータには逆起電力が発生するので、実際に励磁コイルに供給される駆動波形には位相遅れが発生する。位相ずれによりロータマグネット３０１の追従遅れが発生している状態でのロータ回転位相と駆動波形との関係を図５に示す。図５（Ａ）から（Ｌ）はそれぞれ、図４（Ａ）から（Ｌ）に対応しているので、図４との相違点を説明し、図５（Ｂ）、（Ｃ）、（Ｄ）、（Ｇ）、（Ｈ）、（Ｉ）の説明を割愛する。
【００２９】
図５（Ｅ）において波形（ａ）はモータドライバ部２０６のＡ＋相励磁コイル３０２に対する出力波形を示し、波形（ｂ）は実際にＡ＋相励磁コイルに供給される駆動波形を示している。波形（ａ）に対して波形（ｂ）には位相αの遅れが発生している。図５（Ｆ）において波形（ａ）は図５（Ｅ）の波形（ａ）に対応するトルクの変化を表し、波形（ｂ）は図５（Ｅ）の波形（ｂ）に対応するトルクの変化を表す。
【００３０】
また図５（Ｊ）において波形（ａ）はモータドライバ部２０６のＢ＋相励磁コイル３０３に対する出力波形を示し、波形（ｂ）は実際にＢ＋相励磁コイルに供給される駆動波形を示している。波形（ａ）に対して波形（ｂ）には位相αの遅れが発生している。図５（Ｋ）において波形（ａ）は図５（Ｊ）の波形（ａ）に対応するトルクの変化を表し、波形（ｂ）は図５（Ｊ）の波形（ｂ）に対応するトルクの変化を表す。
【００３１】
図５（Ｆ）および（Ｋ）に示す通り、Ａ＋相励磁コイル３０２およびＢ＋相励磁コイル３０３による回転方向のトルクは波形（ｂ）の状態となる。Ａ相とＢ相とで合成したトルクは図５（Ｌ）に示す通り、最大効率である（ａ）の状態ではなく、（ｂ）の状態となる。つまり（ａ）の状態に対して効率が低下したトルク状態となる。
【００３２】
以上のように、駆動波形の位相ずれによってトルクの効率の低下が発生するが、本実施形態では、この位相ずれ分だけ駆動波形の位相を進めることでトルクの制御を行う。以下、進角制御の処理を説明する。
【００３３】
図６は、図５で説明した位相ずれによるトルク効率の低下に対して、進角制御によって補正を行う処理の説明図である。図４および図５との相違点のみ説明し、図６（Ｂ）から（Ｄ）、および（Ｇ）から（Ｉ）の説明を割愛する。
【００３４】
図６（Ｅ）において波形（ａ）はモータドライバ部２０６のＡ＋相励磁コイル３０２に対する出力波形を示し、波形（ｂ）は実際にＡ＋相励磁コイル３０２に供給される駆動波形を示している。モータドライバ部２０６のＡ＋相励磁コイル３０２に対する出力波形を位相αだけ進める制御が行われる。実際にＡ＋相励磁コイル３０２に供給される駆動波形は波形（ｂ）となり、ロータ磁力の位相を一致させることができる。つまり、図６（Ｄ）に示す波形に対して、図６（Ｅ）の波形（ｂ）の位相が一致することになる。
【００３５】
また図６（Ｊ）において波形（ａ）はモータドライバ部２０６のＢ＋相励磁コイル３０３に対する出力波形を示し、波形（ｂ）は実際にＢ＋相励磁コイル３０３に供給される駆動波形を示している。モータドライバ部２０６のＢ＋相励磁コイル３０３に対する出力波形を位相αだけ進める制御が行われる。実際にＢ＋相励磁コイル３０３に供給される駆動波形は波形（ｂ）となり、ロータ磁力の位相を一致させることができる。つまり、図６（Ｉ）に示す波形に対して図６（Ｊ）の波形（ｂ）の位相が一致することになる。
【００３６】
図６（Ｆ）はＡ＋相励磁コイルによる回転方向のトルクの変化を示し、図６（Ｋ）はＢ＋相励磁コイルによる回転方向のトルクの変化を示す。Ａ相とＢ相とで合成したトルクとしては図６（Ｌ）に示す通り、最大効率でのトルクが得られる。つまりモータドライバ部２０６から出力する駆動波形の位相（進角）を制御することにより、トルク制御が可能となる。
【００３７】
駆動波形の周期（Ｔと記す）は、下記（式１）により、ロータの回転速度（Ｓと記す）へ変換することができる。
（式１）  Ｓ  ＝  Ｍ  ／  Ｔ  
（式１）中の係数Ｍは、ステッピングモータの極数により異なる定数である。
【００３８】
次に図７および図８を参照して進角制御方法を説明する。進角制御方法には、駆動波形の周期を変更することで進角を制御する周期制御方式と、駆動波形の振幅を変更することで進角を制御する振幅制御方式がある。
【００３９】
図７は駆動波形の周期制御方式の動作を説明する図である。図７（Ａ）はｃｈ０−ＰＩ（１０４）の位置から見た場合の、ロータマグネット３０１の回転位相を示す。図７（Ｂ）はこのときのｃｈ０−ＰＩの出力波形を示し、図７（Ｃ）はＡ相のモータ駆動信号を示す。尚、ここではｃｈ０−ＰＩを基準にして説明を行うが、ｃｈ１−ＰＩ（１０５）に対しても同様の関係である。この場合、図７（Ａ）はｃｈ１−ＰＩ（１０５）の位置から見た場合の、ロータマグネット３０１の回転位相を示す。図７（Ｂ）はこのときのｃｈ１−ＰＩの出力波形を示し、図７（Ｃ）はＢ相のモータ駆動信号を示すことになる。また、図７（Ｃ）において、破線の波形は進角の引き込みを行わない場合の波形であり、実線の波形は進角の引き込みを行っている時の波形である。
【００４０】
図７中に示すタイミング（ａ）はロータマグネット３０１のＮ極とＳ極との境界に対応するタイミングであり、その次のタイミングを（ｂ）に示す。タイミング（ａ）で進角制御部２０４は進角としてα（degree）を検出したとする。現在の駆動波形の周期をＴと表記する。目標位相差に相当する目標進角−α＊（degree）が設定されている場合、進角制御部２０４は現在の駆動波形の周期Ｔから、「α−α＊」だけ補正した周期（Ｔ＊と記す）を算出する。つまり、「Ｔ＊＝Ｔ−（α−α＊）」の関係である。補正前の駆動波形（破線）の周期はＴであり、補正後の駆動波形（実線）の周期はＴ＊である。進角制御部２０４は補正した周期Ｔ＊を周期情報として駆動波形生成部２０５に出力する。駆動波形の周期をＴからＴ＊に変更することによって、駆動波形の進角はタイミング（ｂ）で目標進角α＊に制御される。
【００４１】
図８は駆動波形の振幅制御方式の動作を説明する図である。図８（Ａ）から（Ｃ）は図７と同様、ロータマグネット３０１の回転位相、ｃｈ０−ＰＩの出力波形、モータ駆動制御信号をそれぞれ示している。図８のタイミング（ａ）で進角制御部２０４が進角としてα（degree）を検出したとする。目標位相差に相当する目標進角にα＊（degree）が設定されている場合、進角制御部２０４は現在の駆動波形の振幅を変更する。つまり、現在の振幅ｍはｍ＊に変更される。例えば、現在の進角αよりも目標進角α＊を大きくする場合、振幅ｍ＊は振幅ｍよりも小さい値に変更される。変更前の駆動波形（破線）の振幅はｍであり、変更後の駆動波形（実線）の振幅はｍ＊である。振幅を小さくすることによってロータの追従に遅れが生じ、回転周期がＴからＴ＊に変化する（Ｔ＜Ｔ＊）。この結果、進角は目標進角α＊に到達する。尚、目標進角α＊を現在の進角αよりも小さくする場合には振幅ｍ＊が振幅ｍよりも大きい値に変更され、ロータの追従の遅れを小さくする方向に制御が行われる。
【００４２】
進角制御部２０４における進角の引き込み方法を踏まえて、駆動波形の目標振幅の探索動作に関して振幅制御方式で説明する。図９は進角と速度、振幅と進角、振幅と進角変化率の各関係を説明する図である。
【００４３】
図９（Ａ）は、ロータマグネット３０１の回転位相に対する駆動波形の進角（単位：degree）を横軸にとり、駆動可能な回転速度（単位：pulses per second）を縦軸にとって両者の関係を示す図である。各グラフには、モータドライバ部２０６より出力される駆動波形の振幅（単位：ボルト）を１．０〜５．０Ｖの範囲で０．５Ｖ刻みで示している。
【００４４】
図９（Ａ）に示す領域Ｔ１は、進角を０度から大きくしていった場合、進角と速度との関係が一定となるリニア領域である。領域Ｔ２は、領域Ｔ１から更に進角を大きくした場合に速度の上昇量が飽和する領域である。領域Ｔ３は、領域Ｔ２から更に進角を大きくした場合に速度が急激に低下していく領域である。
【００４５】
ここで、目標回転速度を４００ｐｐｓに設定し、駆動波形の振幅（駆動振幅ともいう）をその最大値５．０Ｖから徐々に下げていく場合を想定する。図９（Ａ）に示すＰ線は４００ｐｐｓに相当し、横軸に平行な直線である。５．０Ｖから駆動振幅を下げていくと、進角と速度とが線形関係となるリニア領域Ｔ１では、振幅の変化に伴って進角が徐々に変化する。これを図９（Ａ）のＰ線上の矢印（１）で示す。この状態は２．５Ｖ付近まで続く。さらに駆動振幅を下げていくと、進角と速度との関係が飽和する領域Ｔ２に達する。領域Ｔ２では図９（Ａ）のＰ線上の矢印（２）に示すように、駆動振幅の変化に対する進角の変化が急激に大きくなり、やがて速度が飽和するポイント（Ｍと記す）に到達する。速度が飽和するポイントＭでは、最大効率が得られる進角となる。
【００４６】
図９（Ｂ）は振幅（単位：ボルト）を横軸にとり、進角（単位：degree）を縦軸にとって両者の関係を示す図である。図９（Ｂ）は目標回転速度（４００ｐｐｓ）を示すＰ線をたどって駆動波形の振幅に対する進角を示している。図９（Ｃ）は振幅（単位：ボルト）を横軸にとり、進角変化率（単位：degree/Ｖ）を縦軸にとって両者の関係を示す図である。進角変化率は、振幅の変化量に対する進角の変化量の比率を表す。
【００４７】
図９（Ｂ）および（Ｃ）にて振幅を５．０Ｖから下げていくと、２．５Ｖ程度まで（領域Ｔ１参照）は進角の変化率はわずかである。２．５Ｖから２．０Ｖ（領域Ｔ２参照）では、進角の変化率が急激に大きくなる。つまり領域Ｔ２では、わずかな駆動振幅の変化で進角は大きく変化していることが分かる。図９（Ｂ）に示すポイントＮは進角の変化量が急変する位置に相当する。進角の変化量を検出して変化量が急激に大きくなるポイントＮに対応する進角（αｐと記す）を目標進角（目標位相差）に設定すれば、０．５Ｖ以下の誤差の範囲内で最大効率が得られることになる。尚、説明の便宜上、駆動波形の振幅を０．５Ｖ刻みで説明するが、実際の制御では更に細かい刻みでの制御が実施される。
【００４８】
次に図１０を参照して、進角制御部２０４が行う処理について説明する。図１０は、目標振幅（Ｖｔと記す）と目標進角αｐの探索処理を説明するフローチャートである。進角制御部２０４は回転位相検出部２０２より出力されるＰＩエッジ検出信号に基づいて以下の処理を実行する。Ｓ１２０１にて進角制御部２０４は、振幅を「振幅（ｎ）」とし、回転速度Ｓｔでステッピングモータ１０１の回転を開始させる。振幅（ｎ）は、引数ｎに対応するｎ回目の処理における振幅値を表し、その初期値は予め設定されている。回転速度Ｓｔはステッピングモータの駆動で使用する最高駆動速度である。
【００４９】
Ｓ１２０２では割り込み要因の判定処理が実行される。ＰＩエッジ検出信号のエッジ検出要因に応じてＳ１２０３〜Ｓ１２０６に分岐する。ｃｈ０−ＰＩ（１０４）の立ち上がりエッジの検出でＳ１２０３へ移行し、ｃｈ１−ＰＩ（１０５）の立ち上がりエッジの検出でＳ１２０４へ移行する。ｃｈ０−ＰＩ（１０４）の立ち下がりエッジの検出でＳ１２０５へ移行し、ｃｈ１−ＰＩ（１０５）の立ち下がりエッジの検出でＳ１２０６へ移行する。Ｓ１２０３〜Ｓ１２０６の処理で「進角（ｎ）」が検出される。「進角（ｎ）」はｎ回目の処理における進角値を表す。
【００５０】
図４で説明したようにロータの追従遅れがない場合のロータ回転位相と駆動波形との関係は、以下のとおりである。
・ｃｈ０−ＰＩ（１０４）の立ち上がりエッジでは位相角０度
・ｃｈ１−ＰＩ（１０５）の立ち上がりエッジでは位相角９０度
・ｃｈ０−ＰＩ（１０４）の立ち下がりエッジでは位相角１８０度
・ｃｈ１−ＰＩ（１０５）の立ち下がりエッジでは位相角２７０度。
進角はこの位相角からのずれであるので、エッジ検出要因に応じて各々Ｓ１２０３〜Ｓ１２０６の処理によって現在の進角を取得できる。例えば、Ｓ１２０４ではＡ相駆動波形の位相から位相角９０度を減算した値が「進角（ｎ）」として検出される。Ｓ１２０３〜Ｓ１２０６の処理後、Ｓ１２０７の処理に進む。
【００５１】
Ｓ１２０７からＳ１２１１の処理は本実施形態における目標振幅Ｖｔおよび目標進角αｐの探索処理である。Ｓ１２０７では、今回検出された「進角（ｎ）」と、前回検出された「進角（ｎ−１）」との差分から、ＰＩエッジ検出期間で発生した進角の「進角変化量（ｎ）」が算出される。更に、今回設定された駆動波形の「振幅（ｎ）」と、前回設定された駆動波形の「振幅（ｎ−１）」との差分から、ＰＩエッジ検出期間で発生した駆動振幅の「振幅変化量（ｎ）」が算出される。次のＳ１２０８では、算出された進角変化量（ｎ）と振幅変化量（ｎ）との比率から、下記（式２）により「進角変化率（ｎ）」が算出される。
（式２）  進角変化率（ｎ）  ＝  進角変化量（ｎ）／振幅変化量（ｎ）
【００５２】
次いでＳ１２０９に進み、ここで目標進角が未設定（３６０度）であって、且つ進角変化率が閾値（Ｔｈと記す）以上であるかどうかが判定される。目標進角が未設定であって、且つ進角変化率が閾値以上である場合、Ｓ１２１０に進み、判定条件を満たさない場合、Ｓ１２１１に進む。
【００５３】
Ｓ１２１０では、その時の「振幅（ｎ）」を目標振幅Ｖｔとし、「進角（ｎ）」を目標進角αｐとして設定する処理が行われる。一方、Ｓ１２１１では、次回の処理の時点で次の「振幅（ｎ）」に変更して駆動するために、引数ｎのインクリメント処理が実行される。Ｓ１２１０、Ｓ１２１１の処理後、リターン処理に移行する。
【００５４】
以上の処理を繰り返すことで最終的に目標振幅Ｖｔと目標進角αｐを探索することができる。ここで、Ｓ１２０９の閾値Ｔｈの設定に関して図９を使って補足説明をする。目標進角については速度が飽和するポイントＭ（図９（Ａ）参照）での進角値に設定することが理想的である。しかしながら進角変化率は図９（Ｃ）に示すように、ステッピングモータ１０１のコギングや、ステッピングモータ１０１に加わる負荷変動や駆動波形のノイズ等による影響を受けて変動する。この変動に基づくマージンを設ける必要がある。つまり、（式１）における進角変化量（ｎ）としては、上記要因に基づく進角変動成分を設定した場合に算出される進角変化率（ｎ）が、上記要因により発生する進角変化率となる。そこで、領域Ｔ１における進角変化率（ｎ）に対し、上記要因により発生する進角変化率を加えた進角変化率が前記閾値Ｔｈとして設定される。
【００５５】
図１１（Ａ）および（Ｂ）は、進角（横軸）とロータの回転速度（縦軸）との関係を表す図であり、所定の駆動電圧Ｖ０における進角θと回転速度Ｓとの関係をグラフで示している。グラフ線上の進角と速度との関係を示す軌跡を、以下では「進角−速度特性曲線」と呼ぶ。グラフ横軸を図１１の左方向に進み、進角θを小さくしていくと、回転速度Ｓが遅くなる。また、グラフ横軸を図１１の右方向に進み、進角θを大きくしていくと回転速度Ｓが速くなる。しかし、進角θが所定値よりも大きくなると、回転速度Ｓは低下してしまうという特徴がある。
【００５６】
進角−速度特性曲線を示す情報（進角−速度データ）を実測してテーブル化し、参照テーブルデータとして制御装置内の記憶手段に予め記憶しておけば、任意の速度を指定してモータを駆動する場合に目標進角値を算出できる。ただし、進角−速度データをテーブル化して記憶する場合、データ量が多くなる可能性がある。そこで、本実施形態のモータ制御装置は、限られた速度範囲内における進角−速度データを予め記憶手段に記憶させておき、この進角−速度データを用いて目標進角を算出する。よって、目標進角の算出に用いるデータの量を削減できる。
【００５７】
本実施形態では、所定駆動電圧Ｖにおける進角−速度データの直線近似を行う。図１１（Ｂ）は進角−速度特性曲線に対する近似処理を説明する図であり、横軸および縦軸の設定は図１１（Ａ）と同じである。回転速度Ｓと進角θとの関係についてはａとｂを定数として下記（式３）で数式化が行われる。
（式３）  Ｓ  ＝  ａ×θ  ＋  ｂ
【００５８】
具体的には、制御可能な駆動速度の範囲内で、進角−速度特性曲線における平均変化率が高く、比較的リニアリティが高い領域での進角−速度データについては直線近似が行われ、算出されたデータは駆動電圧ごとにメモリに記憶される。これによりメモリに予め記憶された、ロータの回転速度の所定範囲での、進角と回転速度との対応情報に基づいて、指定の回転速度Ｓに応じた駆動波形の進角値を目標進角として算出することができる。
【００５９】
図１２は、駆動電圧ごとの進角と速度との関係を説明する図であり、駆動電圧ＶαとＶβとで実測した場合の進角−速度データを示す。この場合、「Ｖα＜Ｖβ」の関係である。図１２の横軸に示す進角がγであるとき、駆動電圧Ｖαでは回転速度がＳ１であり、駆動電圧Ｖβでは回転速度Ｓ２である。つまり、より高い駆動電圧Ｖβを印加したときの回転速度Ｓ２の方が、駆動電圧Ｖαを印加したときの回転速度Ｓ１に比べて大きくなる（Ｓ１＜Ｓ２）。
【００６０】
最大効率が得られる進角αｐと目標回転速度Ｓｔ（最高回転速度）との間には、（式３）から以下に示す関係（式４）が成り立つ。
（式４）Ｓｔ  ＝  ａ×αｐ  ＋  ｂ
【００６１】
上記の目標振幅Ｖｔの探索動作は、電源ＯＮ時のステッピングモータ１０１の位置座標を確定するための初期化駆動処理（基準位置検出処理）中などに行われる。また、前回の目標振幅の探索動作が実行された時から所定時間の経過後に探索動作を行っても構わない。
【００６２】
決定された目標振幅Ｖｔにより、（式３）で示す関係式の係数であるａ，ｂの値が設定される。以下、その方法について説明する。ステッピングモータ１０１の駆動振幅の探索動作で決定された目標振幅Ｖｔが設定される。その後、所定の進角（βと記す）を目標進角として周期制御方式でステッピングモータの駆動した際の検出周期（Ｔｓと記す）が検出される。検出周期Ｔｓはロータの回転位相から検出することができる。この検出周期Ｔｓは上記（式１）により、モータ回転速度Ｓｓに変換される（Ｓｓ＝Ｍ／Ｔｓ）。これにより下記の関係式が得られる。
（式５）Ｓｓ  ＝  ａ×β  ＋  ｂ
【００６３】
（式４）および（式５）から、下記（式６）を導出することで定数ａとｂを求めることができる。
（式６）
ａ  ＝  （  Ｓｔ  −  Ｓｓ  ）／（  αｐ  −  β  ）
ｂ  ＝  （  Ｓｓ×αｐ  −  Ｓｔ×β  ）  ／（  αｐ  −  β  ）
上記の定数ａおよびｂと（式３）に基づき、目標回転速度Ｓから目標進角θを求め、位相制御方式でステッピングモータ１０１を効率よく制御することができる。
【００６４】
次に図１３のフローチャートを参照して、進角制御部２０４が行う目標進角の算出処理を説明する。まずＳ１３０１では前述した（式３）の係数ａ，ｂおよび駆動振幅Ｖｔの更新タイミングであるか否かの判定処理が実行される。現時点が更新タイミングであると判定された場合、Ｓ１３０２の処理に進み、更新タイミングでないと判定された場合にはＳ１３０７へ進む。更新タイミングかどうかの判定は、電源ＯＮ時のステッピングモータ１０１の位置座標を確定するための初期化駆動処理（基準位置検出処理）中などに行われる。また、前回の目標振幅の探索動作を実行した時から所定時間の経過後に判定処理を行っても構わない。また、制御対象の電源オフ時に実行される所定の終了動作中で判定処理を行ってもよい。
【００６５】
Ｓ１３０２で進角制御部２０４は、モータが回転速度Ｓｔで回転されたときの駆動振幅Ｖｔの探索動作を実行し、最大効率が得られる駆動振幅Ｖｔと進角αｐを算出する。Ｓ１３０３で進角制御部２０４は駆動振幅Ｖｔ、所定進角βを駆動パラメータとして設定し、続くＳ１３０４では周期制御方式でステッピングモータ１０１を駆動させる。その後、Ｓ１３０５で進角制御部２０４は、検出されるロータの回転位相からモータの回転速度Ｓｓを算出する。
【００６６】
続いてＳ１３０６に進み、進角制御部２０４は駆動振幅Ｖｔ，回転速度Ｓｔ，進角αｐ、および回転速度Ｓｓ，所定進角βを用いて（式６）より係数ａおよびｂを算出する。そしてＳ１３０７へ処理を進め、進角制御部２０４は駆動振幅Ｖｔを設定し、Ｓ１３０８にて目標回転速度Ｒを取得する。Ｓ１３０９で進角制御部２０４は、Ｓ１３０８で取得した目標回転速度Ｒに対し、（式３）を用いて目標進角θｔに変換することでθｔを算出する。Ｓ１３１０で進角制御部２０４は、エンコーダの割り込み信号に同期して目標進角θｔになるように周期制御方式でモータを駆動する。その後、再びＳ１３０１へ戻り、処理を繰り返す。
【００６７】
本実施形態によれば、モータ、移動部材の個体差（ばらつき）や、経時変化、温度変化等による負荷のばらつきがあっても最適な進角を探索し、目標進角（目標位相差）を決定して制御が行われるので、常に効率的な駆動トルクを得ることができる。駆動電圧を必要以上に大きくすることなく、より低い消費電力でモータの振動や騒音を軽減させることができる。
【符号の説明】
【００６８】
１０１‥‥ステッピングモータ
１０４，１０５‥‥フォトインタラプタ
１０６‥‥スリット回転板
２０１‥‥コンパレータ
２０２‥‥回転位相検出部
２０３‥‥駆動波形周期生成部
２０４‥‥進角制御部
２０５‥‥駆動波形生成部
２０６‥‥モータドライバ部
【図１】
2020198727.tif 000003
【図２】
2020198727.tif 000004
【図３】
2020198727.tif 000005
【図４】
2020198727.tif 000006
【図５】
2020198727.tif 000007
【図６】
2020198727.tif 000008
【図７】
2020198727.tif 000009
【図８】
2020198727.tif 000010
【図９】
2020198727.tif 000011
【図１０】
2020198727.tif 000012
【図１１】
2020198727.tif 000013
【図１２】
2020198727.tif 000014
【図１３】
2020198727.tif 000015