(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-06
(45)【発行日】2024-02-15
(54)【発明の名称】制御装置およびその制御方法
(51)【国際特許分類】
H02P 8/06 20060101AFI20240207BHJP
【FI】
H02P8/06
(21)【出願番号】P 2020077592
(22)【出願日】2020-04-24
【審査請求日】2023-04-04
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】藤永 隆史
【審査官】池田 貴俊
(56)【参考文献】
【文献】特開2002-044995(JP,A)
【文献】特開昭61-185095(JP,A)
【文献】特開平01-218393(JP,A)
【文献】特開2019-009861(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02P 8/06
(57)【特許請求の範囲】
【請求項1】
ステッピングモータを制御する制御装置であって、
第1の駆動方向へ駆動する際に参照する第1の駆動テーブルと、前記第1の駆動方向とは逆の第2の駆動方向へ駆動する際に参照する第2の駆動テーブルと、を参照して前記ステッピングモータに印加する電流値を決定する決定手段を有し、
前記決定手段は、先行して行われた駆動の駆動方向と異なる駆動方向に駆動を行う場合、前記第1の駆動テーブルと前記第2の駆動テーブルの両方を参照する補間演算により電流値を算出する補間演算手段を有する
ことを特徴とする制御装置。
【請求項2】
駆動する範囲のうち補間演算を行う補間区間を決定する区間決定手段をさらに有し、
前記補間演算手段は、前記補間区間内の駆動の電流値は前記補間演算により決定し、前記補間区間外の駆動の電流値は前記第1の駆動テーブルと前記第2の駆動テーブルの何れか一方を参照して決定する
ことを特徴とする請求項1に記載の制御装置。
【請求項3】
前記ステッピングモータはA相およびB相による二相ステッピングモータであり、
前記第1の駆動テーブルおよび前記第2の駆動テーブルは、それぞれ、A相およびB相それぞれ1周期分の複数の電流値を保持したテーブルとして構成され、
前記複数の電流値は、コギングトルクによる影響が補償された電流値である
ことを特徴とする請求項1または2に記載の制御装置。
【請求項4】
前記ステッピングモータはA相およびB相による二相ステッピングモータであり、
前記第1の駆動テーブルおよび前記第2の駆動テーブルは、それぞれ、A相およびB相共通の1周期分の複数の位相値を保持したテーブルとして構成され、
前記決定手段は、A相およびB相それぞれのコギングトルクによる影響が補償された電流値を前記複数の位相値に基づいて算出する
ことを特徴とする請求項1または2に記載の制御装置。
【請求項5】
前記補間演算手段は、前記第1の駆動テーブルおよび前記第2の駆動テーブルそれぞれに保持された2つの電流値の線形結合によって電流値を算出する
ことを特徴とする請求項1乃至4の何れか1項に記載の制御装置。
【請求項6】
前記第1の駆動テーブルおよび前記第2の駆動テーブルを記憶する記憶手段をさらに有する
ことを特徴とする請求項1乃至5の何れか1項に記載の制御装置。
【請求項7】
前記区間決定手段は、前記第1の駆動テーブルおよび前記第2の駆動テーブルにそれぞれに保持された2つの電流値の差分に基づいて前記補間区間を動的に決定する
ことを特徴とする請求項2に記載の制御装置。
【請求項8】
前記区間決定手段は、前記差分が所定量より大きい場合により長い補間区間を決定し、前記差分が所定量より小さい場合により短い補間区間を決定する
ことを特徴とする請求項7に記載の制御装置。
【請求項9】
ステッピングモータの制御方法であって、
第1の駆動方向へ駆動する際に参照する第1の駆動テーブルと、前記第1の駆動方向とは逆の第2の駆動方向へ駆動する際に参照する第2の駆動テーブルと、を参照して前記ステッピングモータに印加する電流値を決定する決定工程を含み、
前記決定工程では、先行して行われた駆動の駆動方向と異なる駆動方向に駆動を行う場合、前記第1の駆動テーブルと前記第2の駆動テーブルの両方を参照する補間演算により電流値を算出する
ことを特徴とする制御方法。
【請求項10】
請求項9に記載の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ステッピングモータの制御に関するものである。
【背景技術】
【0002】
ステッピングモータは、OA機器、医療機器、パン・チルト・ズーム(PTZ)機能を持つネットワークカメラなど、多くの組み込み製品に用いられている。ステッピングモータの制御においては、励磁電流を正弦波状にすることで精密な駆動を行う技術(マイクロステップ駆動)が存在する。
【0003】
ところで、ステッピングモータにおいては、回転子と固定子の磁気的吸引力によりコギングトルクが発生する。その結果、低速駆動条件下においては、正弦波励磁電流を用いた場合でも精密な等速駆動が行えない場合がある。例えば、カメラ雲台のパン制御でこの現象が起こるとパン方向の移動速度にムラが発生し、撮影された動画を観察するユーザーに不快感を与えてしまう。特許文献1には、コギング成分を補償するため励磁電流波形に特定の周波数成分を重畳させることで、等速駆動を実現する手法が提案されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特定の励磁電流でモータ駆動を行う際には、電気角一周期分の電流値を算出する情報を保持し、逐次参照することで駆動を実現する手法が一般的である。ただし、コギングを補償するためには駆動波形が時間方向に対して同一波形である必要がある。そのため、特許文献1に開示された技術のようにコギングを補償しながら反対の順序で参照するためには、別のテーブルを用意する必要がある。
【0006】
しかしながら、モータをある方向(CW)に駆動したあとパン方向を反対方向(CCW)に切り換えて駆動させる場合、参照するテーブルを切り換えることになる。その結果、電流の参照値が大きく変わり駆動対象が揺れを起こす可能性がある。例えば、カメラ雲台のパン制御でこの現象が起こるとパン方向に揺れが発生し、ユーザーの利便性を損ねてしまうことになる。
【0007】
本発明は、このような問題に鑑みてなされたものであり、ステッピングモータの駆動をより好適に制御可能とする技術を提供することを目的としている。
【課題を解決するための手段】
【0008】
上述の問題点を解決するため、本発明に係る制御装置は以下の構成を備える。すなわち、ステッピングモータを制御する制御装置は、
第1の駆動方向へ駆動する際に参照する第1の駆動テーブルと、前記第1の駆動方向とは逆の第2の駆動方向へ駆動する際に参照する第2の駆動テーブルと、を参照して前記ステッピングモータに印加する電流値を決定する決定手段を有し、
前記決定手段は、先行して行われた駆動の駆動方向と異なる駆動方向に駆動を行う場合、前記第1の駆動テーブルと前記第2の駆動テーブルの両方を参照する補間演算により電流値を算出する補間演算手段を有する。
【発明の効果】
【0009】
本発明によれば、ステッピングモータの駆動をより好適に制御可能とする技術を提供することができる。
【図面の簡単な説明】
【0010】
【
図2A】第1実施形態における監視システムの構成を示す図である。
【
図2B】リモートカメラおよびコントローラ装置の内部構成を示すブロック図である。
【
図3A】第1実施形態における駆動テーブルの例を示す図である。
【
図3B】テーブル番号と電流情報の対応を示す図である。
【
図4】第1実施形態におけるモータ駆動制御のフローチャートである。
【
図5A】補間計算処理(S408)の詳細フローチャートである。
【
図5B】補間計算処理を例示的に説明する図である。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0012】
(第1実施形態)
本発明に係るモータ制御装置の第1実施形態として、二相ステッピングモータを使用してパン・チルト駆動を行うリモートカメラを例に挙げて以下に説明する。
【0013】
<概要>
背景技術に記載の特許文献1のように高調波成分を電流波形に重畳させて駆動を行う場合、励磁電流波形の電気角と実際のモータの機械角との微妙なズレが生じ得る。そのため、時間方向に非対称となる成分を含む電流波形となることがある。一方、コギングの影響はモータの回転方向(CW、CCW)によらず同一であるため、いずれの方向に駆動させた場合でも時間方向に対して同一波形である必要がある。
【0014】
また、特定の励磁電流でモータ駆動を行う際には、電気角1周期分の電流値を算出する情報(以下、駆動テーブルと呼ぶ)を保持し、逐次参照することで駆動を実現する手法が一般的である。
【0015】
図1は、駆動テーブルの例を示す図である。
図1(a)はCWにおける駆動テーブル11およびそのグラフ12を示している。目標位置指定に対して、テーブルのある番号まである一定の周期で逐次的に更新することで、駆動量と駆動速度をコントロールすることができる。一般には駆動テーブルを反対の順序で参照し逐次更新を行うとパンまたはチルトの駆動方向を反転させることができる。
【0016】
しかしながら、前述の通りコギングを補償するためには駆動波形が時間方向に対して同一波形である必要がある。そのため、コギングを補償しながら反対の順序で参照するためには、別のテーブルを用意する必要がある。
図1(b)はCCWにおける駆動テーブル13およびそのグラフ14を示している。
図1(b)は、
図1(a)に示す駆動テーブルを横軸方向に反転させたものである。
【0017】
このようにモータの回転方向(CW、CCW)に応じて2つのテーブルを切り換えて参照する場合、回転方向の反転制御を行う場合、その反転のタイミングによっては、電流の参照値が大きく変わり駆動対象が揺れを起こす可能性がある。そこで、第1実施形態では、補間計算を行うことにより、参照するテーブルを切り換える際の電流の参照値の変動を抑制する手法について説明する。
【0018】
<装置構成>
図2Aは、第1実施形態における監視システムの構成を示す図である。監視システムは主にパン・チルト機構を持つリモートカメラ101、雲台を制御するコントローラ装置102によって構成されている。
図2Bは、リモートカメラ101およびコントローラ装置102の内部構成を示すブロック図である。
【0019】
リモートカメラ101は、撮像部201、画像処理部202、システム制御部203、パン駆動部204、チルト駆動部205、記憶部206、電流テーブル記憶領域207、電流値算出部208、電流値補間演算部209、通信部210を備えている。通信部210は、LAN等を介してコントローラ装置102とネットワーク通信を行う。
【0020】
撮像部201は、レンズおよび撮像素子から構成され、被写体の撮像および電気信号への変換を行う。画像処理部202は、撮像部201によって変換された電気信号に画像処理、圧縮符号化処理を行い、画像データを生成し、システム制御部203へ伝達する。
【0021】
パン駆動部204は、パン動作を行うメカ駆動系とその駆動源のモータにより構成され、モータが駆動されることによりパン駆動機構がパン方向に駆動する。チルト駆動部205は、チルト動作を行うメカ駆動系とその駆動源のモータにより構成され、モータが駆動されることによりチルト駆動機構がチルト方向に駆動する。パン駆動部・チルト駆動部の電流値は後述の電流値算出部208によって計算される
システム制御部203は、通信部210を介して伝達された制御コマンドを解析し、コマンドに応じた処理を行う。例えば、通信部からパン・チルトの駆動指示が来た場合、記憶部206内の電流テーブルの情報を元に電流値算出部208に駆動電流を計算させ、計算された電流値をパン駆動部204、チルト駆動部205に印加し、パン・チルト動作を行うといった処理を行う。
【0022】
記憶部206は、画質調整のパラメータやネットワークの設定値を記憶し、再起動した場合でもシステム制御部203は以前設定した値を参照することが可能である。電流テーブル記憶領域207は、記憶部206の中に存在し、電流波形を生成するための1周期分の複数の電流テーブル情報(後述する駆動テーブル)を保持している。
【0023】
電流値算出部208は、電流テーブル記憶領域207の電流テーブルからモータを駆動するための電流値を算出する。また、電流値算出部208は、反転動作のような特定の条件下においては電流値補間演算部209によって補間演算された電流値を用いる。
【0024】
電流値補間演算部209は、複数の電流テーブルの値を元に補間計算を行う。例えば、二種の電流テーブルの値の線形結合(凸結合)によって補間後の電流値を算出する。
【0025】
コントローラ装置102は、入力部211、システム制御部212、通信部213を備えている。通信部213は、LAN等を介してリモートカメラ101とネットワーク通信を行う。
【0026】
入力部211は、ユーザーからの各種操作を受け付ける機能部である。例えば、ボタン、ジョイスティックなどにより実現される。システム制御部212は、ユーザーからの操作に応じて、通信部213を介しリモートカメラに制御コマンドを送信する。
【0027】
<駆動テーブル>
図3Aは、第1実施形態における駆動テーブルの例を示す図である。
図3Aを参照して、ユーザーの指示に基づいて、駆動テーブルを用いて電流を算出し、モータを指定位置まで駆動する手法を説明する。
【0028】
CW駆動テーブル301とCCW駆動テーブル302は、記憶部206に保持されている。CW駆動テーブル301とCCW駆動テーブル302は、それぞれ、テーブル番号303と電流情報304を含んでいる。ここで、電流情報304は、A相およびB相の電流値である。
【0029】
CW駆動テーブル301は、規定の軸から見た時の時計回り(CW)の方向にモータが駆動する際に参照するテーブルであり、駆動時には昇順で値を参照する。CCW駆動テーブル302は規定の軸から見た時の反時計周り(CCW)の方向にモータが駆動する際に参照するテーブルであって、駆動時には降順で値を参照する。
【0030】
テーブル番号303は、ユーザーが指定した目標位置に対応する識別番号である。例えば、テーブル一周分でモータが5度回転駆動する場合において、「CW方向に7.5度だけ駆動」というユーザー指示は、「CW駆動テーブルに基づいてテーブル番号で一周半の区間分昇順で参照する」といった駆動処理として解釈される。
【0031】
このとき、CW駆動テーブル301はCW方向への駆動を行う際にコギングトルクの脈動を補償するために最適化されている。また、CCW駆動テーブル302はCCW方向への駆動を行う際にコギングトルクの脈動を補償するために最適化されている。そのため、同一のテーブル番号において、CW駆動テーブル301の電流情報(電流値)とCCW駆動テーブル302の電流情報(電流値)は一致しないことがある。この影響により、駆動反転時(参照するテーブルの切り換え時)に電流値の急峻な推移が起こりうる。
【0032】
例えば、CW方向への駆動によりCW駆動テーブル301のテーブル番号「300」まで到達し、その後CCW方向へ反転して駆動する場合を考える。その場合、CW方向への駆動の終了時点でCW駆動テーブル301に従ってA相、B相にそれぞれ970mA、-239mAが印加される。その後CCW方向への駆動の開始時点ではCCW駆動テーブル302に従ってA相、B相にそれぞれ979mA、-200mAに移ってしまう。すなわち、電流値がA相で9mA、B相で39mAの差分の推移が生じる。すなわち、テーブルの切り換えにより急峻に電流が変わり、リモートカメラ101の映像にゆれが生じることがある。
【0033】
図3Bは、第1実施形態における駆動テーブルの他の例を示す図である。CW駆動テーブル305、CCW駆動テーブル306に含まれる電流情報307は、モータに印加する「電流値」または「電流値を算出するための情報」である。モータを駆動させる際には、「電流値」を直接テーブルから参照するか、「電流値を算出するための情報」を元に電流値を算出する手法をとる。以下では、電流値を算出する手法の一例を示す。数式(1)、数式(2)は、二相ステッピングモータにおける電流波形を変数θ(位相値)から導出する計算式の一例である。
I
A=I
msinθ ・・・(1)
I
B=I
mcosθ ・・・(2)
【0034】
CW駆動テーブル305およびCCW駆動テーブル306では、電流情報307が数式(1)および数式(2)のθの値と対応している。電流値算出部208は、計算処理を行うことでθから電流値を算出する。このとき、変数θを表す電流情報307がテーブル番号に対して比例の値を取れば、生成される電流値は正弦波に近づく。このように、「電流値を算出するための情報」として位相値を用いることで、A相およびB相共通の情報とすることが出来る。
【0035】
グラフ308は、CW駆動テーブル305におけるテーブル番号と電流情報の対応をグラフ化したものである。ここでは、コギング補償を前提としているので、意図的に歪ませた電流波形を生成するためにグラフ308のような非線形な形状をとる。また、駆動方向によって参照する電流値を変える必要があるため、駆動方向ごとにCW駆動テーブル305、CCW駆動テーブル306を定義する必要がある。
【0036】
<装置の動作>
図4は、第1実施形態におけるモータ駆動制御のフローチャートである。
図4を参照して、駆動方向を変更した際の電流の非連続な推移を抑制する処理について説明する。なお、以下の動作は、パン駆動部204およびチルト駆動部205のそれぞれに対して行われる。
【0037】
S401では、システム制御部203は、コントローラ装置102を介してユーザーからの駆動指示を受け付ける。駆動指示とは、リモートカメラ101に対して、ある目標位置に雲台を駆動させるための指示である。具体的な駆動指示は、操作バーやGUIから駆動量を指定する手法を用いてもよいし、予め記憶部206に保持された特定のプリセット位置に駆動を行う手法を用いてもよい。
【0038】
S402では、システム制御部203は、ユーザーが指定した目標位置が駆動テーブルの何周目の何番目に対応しているかを計算する。例えば、目標位置が32.5度であり、テーブル一周で5度駆動する場合は、「テーブルを6回周回させ、7周目の512番目のテーブル番号」として算出する。上述のように、ユーザーが指定した目標位置や現在の位置は、「周回数とテーブル番号」に対応する。
【0039】
S403では、システム制御部203は、記憶部206に保持されている雲台の現在位置と、S401でユーザーから指定された目標位置を比較することで、駆動方向を決定する。例えば、現在位置を指す数値が目標位置を指す数値より小さければCW方向を駆動方向とし、現在位置を指す数値が目標位置を指す数値より大きければCCW方向を駆動方向とする。このとき、「現在位置を表すテーブルの周回数とテーブル番号」と、「目標位置を表すテーブルの周回数とテーブル番号」とを比較することによって駆動方向を決定しても良い。
【0040】
S404では、システム制御部203は、S403で判定した駆動方向が前回(先行してなされた駆動)の駆動方向と同一であるか否かを判定する。例えば、CW方向への駆動が終了し停止した状態において、CCW方向に駆動するような駆動指示が来た場合、駆動方向が同一でないと判定される。同一でないと判定された場合、つまり駆動方向が逆転した場合はS405に進み、駆動方向が同一である場合はS406へと進む。
【0041】
S405では、システム制御部203は、電流補間モードを有効化する。電流補間モードは、電流補間演算部209によって算出された電流値によって駆動することを示している。電流補間の詳細については
図5Aを参照して後述する。
【0042】
S406では、システム制御部203は、電流補間モードが有効であるか否かを判定する。有効でない場合はS407に推移し、有効である場合はS408の補間計算処理に推移する。なお、補間計算処理は所定の補間区間が定められており、駆動開始時からの駆動量が補間区間を超えるまでは補間計算が行われる。
【0043】
S407では、システム制御部203は、電流値算出部208において、S403で判定した駆動方向に基づいて参照するテーブルを決定する。すなわち、駆動方向がCW方向であるならばCW駆動テーブル301を用い、CCW方向であるならばCCW駆動テーブル302を用いると決定する。
【0044】
また、現在位置(現在のテーブル番号)と駆動方向に基づいて、電流テーブル記憶領域207から、次に参照すべきテーブル番号および電流値を取得する。例えばCW駆動テーブルが選択されている場合、「現在のテーブル番号+1」のテーブル番号と対応する電流値を取得し、CCW駆動テーブルが選択されている場合、「現在のテーブル番号-1」のテーブル番号と対応する電流値を取得する。仮にテーブル番号の終端・開始点に到達している場合は、逆側のテーブル番号の終端・開始点に推移する。
【0045】
S408では、システム制御部203は、補間演算による電流値の導出を行うよう電流値補間演算部209および電流値算出部208を制御する。電流値補間演算部209および電流値算出部208は、2つの駆動テーブル301、302の電流値から補間計算を行い、中間的な電流値を算出する。特に、補間区間と駆動量に応じて、補間の際に用いる重みを変更することで、滑らかに電流値が推移するように計算を行う。補間計算処理の詳細は
図5Aを用いて後述する。
【0046】
S409では、システム制御部203は、駆動開始時からのテーブル番号の変化量を取得し、補間区間の終端に到達したかを判定する。例えば補間区間を10とし、駆動開始時のテーブル番号と現在のテーブル番号の差分が10となる場合、補間区間の終端と判定され、次の駆動では補間処理を行わないようにする必要がある。補間区間の終端に到達していた場合はS410で電流補間モードを無効化しS411に推移する。到達していない場合は直接S411に推移する。
【0047】
S411では、システム制御部203は、各相(A相およびB相)のモータへの励磁電流の更新を行う。すなわち、S407またはS408において取得した電流値をパン駆動部204またはチルト駆動部205の各相に印加する。
【0048】
S412では、システム制御部203は、テーブルの参照位置が目標位置まで到達したかを判定する。なお、到達したか否かの判定手法はS402で計算した「目標位置を表すテーブルの周回数とテーブル番号」に到達したかで決定する。到達していないと判定した場合はS406へと戻り、到達したと判定した場合は記憶部206に現在位置と駆動方向を保存し終了する。
【0049】
図5Aは、補間計算処理(S408)の詳細フローチャートである。また、
図5Bは、補間計算処理を説明する模式図である。具体的には、補間によって滑らかな電流の推移が実現されることを示す模式図である。
【0050】
S501では、電流値補間演算部209は、電流テーブル記憶領域207から2つの駆動テーブル301、302を取得する。
【0051】
S502では、電流値補間演算部209は、次に参照すべきテーブル番号を取得する。これはS407と同様に、駆動方向がCW方向であれば「現在のテーブル番号+1」のテーブル番号、駆動方向がCCW方向であれば「現在のテーブル番号-1」のテーブル番号を取得する。なお、テーブル番号の終端・開始点に到達している場合は、逆側のテーブル番号の終端・開始点に推移する。
【0052】
S503では、電流値補間演算部209は、S501で取得した2つの駆動テーブル301、302の両方と、S502で得られた次に参照すべきテーブル番号tと、に基づいて電流値Imidを計算する。より具体的には、駆動開始時からのテーブル番号の変化量d、補間区間Nを元に、数式(3)により電流値Imidを計算する。
Imid=dIaft(t)+(N-d)Ibef(t) ・・・(3)
【0053】
ここで、テーブル番号tに対応する電流値をIbef(t)、Iaft(t)と表記している。Ibef(t)、Iaft(t)はそれぞれ前回の駆動方向の駆動テーブルの電流値、今回の駆動方向の駆動テーブルの電流値を示している。補間によって得られた電流値をImidとする。
【0054】
例えば、直前にCW方向に駆動し停止した後にCCW方向に反転駆動した場合の例を説明する。反転駆動を開始した直後ではdの値がN-dの値より小さくなるため、補間後の電流値ImidはCW駆動方向の駆動テーブルの電流値Ibef(t)に近しい値が得られる。駆動が引き続き行われるとdの値が大きくなり、dの値がN-dの値より大きくなる。そのため、補間後の電流値ImidはCCW駆動方向の駆動テーブルの電流値Iaft(t)に近しい値が得られる。このように補間区間内では、補間演算により電流値が算出される。dの値が大きくなり、d=Nとなると、S409で補間区間を抜け(すなわち補間区間外となり)、以後はCCW駆動テーブル302を参照した駆動が行われる。
【0055】
上述のようにI
bef(t)とI
aft(t)の係数を段階的に変えていくことで、
図5Bに示すように、滑らかに電流値を推移させながら駆動を行うことができる。グラフ510とグラフ520は、それぞれ、A相およびB相における電流値の変化を例示的に示している。CW方向からCCW方向へ変化する部分の拡大図を併せて示している。グラフ530は補間演算により導出される電流値の概念図である。
【0056】
上述の説明では補間を行う区間Nの区間決定手法について言及していないが、2つの駆動テーブルの差異によって動的に区間Nの値を定めてもよい。例えば、駆動反転時のIbef(t)とIaft(t)の乖離が大きい場合は補間区間Nを長く設定してもよい。また、駆動反転時のIbef(t)とIaft(t)の乖離が小さい場合は補間区間Nを短く設定してもよい。このように補間区間を設定することにより、2つの電流値の差分が所定量より大きく反転時の揺れが起こりやすい場合においては、より長い補間区間を用いることでより電流変化を滑らかにすることが出来、より揺れを軽減させることが可能となる。一方、2つの電流値の差分が所定量より小さく反転時の揺れが起こりにくい場合は補間区間を早めに抜け、最適化された駆動テーブルによる駆動に素早く移行することができる。
【0057】
以上説明したとおり第1実施形態によれば、ステッピングモータの駆動を行う際に、コギングトルクの脈動を補償するために最適化された2つの駆動テーブルを用いる。特に、反転駆動を行う際には、2つの駆動テーブルを参照する補間演算を用いて駆動電流値を算出する。これにより、駆動時の速度脈動を抑えることが可能となると同時に、駆動方向を変更した際の電流の非連続な推移による揺れを抑制することが可能となる。
【0058】
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0059】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0060】
101 リモートカメラ; 102 コントローラ装置; 203 システム制御部; 206 記憶部; 208 電流値算出部; 209 電流値補間演算部