(57)【要約】【課題】ベクトル制御によりモータの駆動制御を行うモータ制御装置において、モータの各相の巻線の誘起電圧の歪みによって生じる、モータの回転位置の推定誤差を低減するための技術を提供する。【解決手段】画像形成装置のモータ制御部は、ＣＰＵからの位置指令値に基づいて、ステッピングモータへ供給する駆動電流を、当該モータの回転位置θを基準とした回転座標系における電流値によって制御するベクトル制御を実行することで、当該モータに駆動電流を供給する（Ｓ１０１）。モータ制御部は、ステッピングモータの各相の巻線に流れる駆動電流を検出して得た電流検出値を正弦波関数に近似させることによって、当該電流検出値を補正する（Ｓ１０２，Ｓ１０３）。更に、モータ制御部は、補正された電流検出値に基づく推定演算により、ベクトル制御に用いられる回転位置θを推定する（Ｓ１０４，Ｓ１０５）。【選択図】図１１
2017073877.tif 000002
【特許請求の範囲】
【請求項１】
モータの駆動制御を行うモータ制御装置であって、
前記モータへ供給する駆動電流を、前記モータの回転位置を基準とした回転座標系の電流値によって制御するベクトル制御を行うベクトル制御手段であって、前記駆動電流に対応する駆動電圧を出力する、前記ベクトル制御手段と、
前記ベクトル制御手段によって出力された駆動電圧に応じて駆動電流を前記モータへ供給することによって、前記モータを駆動する駆動手段と、
前記モータの各相の巻線に流れる駆動電流を検出して電流検出値を出力する電流検出手段と、
前記電流検出手段から出力される電流検出値を正弦波関数に近似させることによって、当該電流検出値を補正する補正手段と、
前記補正手段によって補正された電流検出値に基づく演算によって、前記ベクトル制御に用いられる前記回転位置を決定する決定手段と、
を備えることを特徴とするモータ制御装置。
【請求項２】
前記補正手段は、前記電流検出手段から出力される、前記モータの少なくとも１回転周期分の電流検出値を、前記モータの回転周期に対応した正弦波関数に近似させる、
ことを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記補正手段は、前記電流検出手段から出力される、前記モータの少なくとも１回転周期分の電流検出値を用いた近似演算によって、当該電流検出値を近似させた正弦波関数を求める、
ことを特徴とする請求項１または２に記載のモータ制御装置。
【請求項４】
前記近似演算は、前記電流検出手段から出力される前記少なくとも１回転周期分の電流検出値と、前記モータの回転周期に対応した正弦波関数の値との差分の二乗値の総和を最小化する振幅を有する正弦波関数を求めるための、最小二乗法による近似演算である、
ことを特徴とする請求項３に記載のモータ制御装置。
【請求項５】
前記補正手段は、
前記電流検出手段から出力される電流検出値が負から正に変化するタイミングと、前記電流検出値が次に負から正に変化するタイミングとの間の１回転周期ごとに、前記電流検出値の複数のサンプル値が格納される記憶手段と、
前記記憶手段に格納された１回転周期分の複数のサンプル値を用いて前記近似演算を行う演算手段と、
前記近似演算によって正弦波関数が得られると、当該正弦波関数の値を、前記電流検出値が次に負から正に変化するタイミング以降の前記電流検出値の補正値として出力する出力手段と、
を備えることを特徴とする請求項３または４に記載のモータ制御装置。
【請求項６】
前記補正手段は、
前記電流検出手段から出力される電流検出値が正から負に変化するタイミングと、前記電流検出値が次に正から負に変化するタイミングとの間の１回転周期ごとに、前記電流検出値の複数のサンプル値が格納される記憶手段と、
前記記憶手段に格納された１回転周期分の複数のサンプル値を用いて前記近似演算を行う演算手段と、
前記近似演算によって正弦波関数が得られると、当該正弦波関数の値を、前記電流検出値が次に正から負に変化するタイミング以降の前記電流検出値の補正値として出力する出力手段と、
を備えることを特徴とする請求項３または４に記載のモータ制御装置。
【請求項７】
前記補正手段は、前記電流検出手段から出力される、前記モータの第１相及び第２相のそれぞれの電流検出値を正弦波関数に近似させることで、前記第１相及び前記第２相のそれぞれの電流検出値を補正する、
ことを特徴とする請求項１から６のいずれか１項に記載のモータ制御装置。
【請求項８】
前記決定手段は、
前記モータの第１相及び第２相のそれぞれについて、前記ベクトル制御手段によって出力された駆動電圧と、前記補正手段によって補正された電流検出値とから、前記モータの回転に従って巻線に誘起される誘起電圧を演算する電圧演算手段と、
前記電圧演算手段によって演算された前記第１相の誘起電圧と前記第２相の誘起電圧との比から、前記回転位置の推定値を演算する位置演算手段と、
を備えることを特徴とする請求項１から７のいずれか１項に記載のモータ制御装置。
【請求項９】
前記駆動電流は、前記回転位置を基準とした回転座標系において、前記モータにトルクを発生させる第１の電流成分と、前記モータの回転子の磁束強度に影響する第２の電流成分とによって表され、
前記ベクトル制御手段は、電流値が０になるように前記第２の電流成分を制御しながら、前記第１の電流成分を制御することによって、前記駆動電流を制御する、
ことを特徴とする請求項１から８のいずれか１項に記載のモータ制御装置。
【請求項１０】
前記ベクトル制御手段は、前記決定手段における演算によって得られる前記回転位置の推定値のフィードバックに基づいて、当該推定値の、外部のコントローラから与えられる前記回転位置の指令値に対する偏差が０に近づくように、前記ベクトル制御を行う、
ことを特徴とする請求項１から９のいずれか１項に記載のモータ制御装置。
【請求項１１】
記録材に画像を形成する画像形成手段と、
前記画像形成手段によって画像が形成される記録材の搬送用のローラを駆動するモータと、
前記モータの駆動制御を行う、請求項１から１０のいずれか１項に記載のモータ制御装置と、
を備えることを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータの駆動制御に関するものであり、特に、複写機、プリンタ等の画像形成装置において記録材の搬送制御用の駆動源として使用可能なステッピングモータ等のモータの駆動制御に関するものである。
【背景技術】
【０００２】
複写機、プリンタ等の電子写真方式の画像形成装置において、画像が形成される用紙等の記録材を搬送する搬送系の駆動源として、ステッピングモータが広く用いられている。ステッピングモータは、モータの回転速度及び位置を検出する機構を備えていなくとも、モータに与えるパルス周期を制御することによって容易に速度制御を行えるとともに、モータに与えるパルス数を制御することによって容易に位置制御を行える利点を有する。（この制御方式を、一般に同期制御という。）ところが、ステッピングモータを同期制御する際、装置で必要となる負荷トルクが、出力可能なトルク範囲を超えた場合、入力パルスに同期せずに制御不能の状態である脱調状態となる。モータが脱調状態となると、紙詰まりが発生し、画像形成装置内に詰まった紙をユーザに取り除いてもらう必要が生じる。これを避けるためには、装置で必要となる負荷トルクの変化に対応可能なモータ出力トルクが必要となる。そのためには、装置で必要となる負荷トルクに対して所定のマージンを有するモータ出力トルクが得られるように、駆動電流をモータへ供給する必要がある。その結果、必要以上に電力を消費するとともに、余剰トルクに起因して装置に振動及び騒音が生じる問題があった。
【０００３】
このような問題に対処するための技術として、特許文献１乃至３に記載のように、ベクトル制御（またはＦＯＣ：Field Oriented Control）と称される方式が提案されている。ベクトル制御は、回転子の磁束方向をｄ軸、これに直交する方向をｑ軸と定義した回転座標系を用いて、モータに適切なトルクが発生するように駆動電流の振幅及び位相を制御する方式である。回転座標系では、駆動電流のｑ軸成分（ｑ軸電流）は、トルクを発生させるトルク電流成分であり、駆動電流のｄ軸成分（ｄ軸電流）は、回転子の磁束強度に影響する励磁電流成分である。特に、ステッピングモータのように回転子に永久磁石を用いるモータでは、ｄ軸電流を必要とせずに、ｑ軸電流のみを用いてトルク制御が可能である。その結果として、静止座標系におけるモータの駆動電流が理想的な正弦波となるため、電力効率が良い駆動制御を実現できるのみならず、上述のような余剰トルクに起因した装置の振動及び騒音を抑えられる。
【０００４】
上述のようなベクトル制御では、ロータの回転速度及び位置を検出する必要があり、ロータリエンコーダを用いて検出を行うのが一般的である。しかし、従来のステッピングモータ制御では不要であるロータリエンコーダを用いてベクトル制御を実現する場合、コストアップ及び配置スペースの確保が問題となる。このため、ロータリエンコーダを用いずにベクトル制御が実現できることが望ましい。特許文献３には、ロータリエンコーダを用いることなくロータの回転速度及び位置を推定する方法が提案されている。具体的には、モータの駆動電流を検出し、電圧方程式に基づいて推定されたＡ相及びＢ相における誘起電圧比の逆正接を演算することで、ロータの位置を推定（決定）している。ロータの回転速度は、ロータの位置の推定結果の時間微分によって推定される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３６６１８６４号公報
【特許文献２】特開平６−２２５５９５号公報
【特許文献３】特許第５５３７５６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献３のように、モータの各相の巻線に流れる駆動電流の検出結果に基づいて各相の誘起電圧を求め、誘起電圧の比から回転子（ロータ）の回転位置を推定する場合、誘起電圧に生じる歪みに起因して、回転位置の推定結果に誤差が生じる。このような歪みは、ロータの着磁むら、歯の形状、電機子の歯との距離（ギャップ長）のむら等により、ロータに用いられる永久磁石から各相の電機子へ入る磁束成分（鎖交磁束）が、ロータの回転角度に対して正弦波形状で変化しなくなることに起因する。ロータの回転位置の推定結果にこのような誤差が生じると、ベクトル制御におけるモータの制御効率が悪化してしまう。これにより、例えば、モータの消費電力の効率の低下、モータの振動の増加等を招く。
【０００７】
本発明は、上述の課題に鑑みてなされたものである。本発明は、ベクトル制御によりモータの駆動制御を行うモータ制御装置において、モータの各相の巻線の誘起電圧の歪みによって生じる、モータの回転位置の推定誤差を低減するための技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、例えば、モータ制御装置として実現できる。本発明の一態様に係るモータ制御装置は、モータの駆動制御を行うモータ制御装置であって、前記モータへ供給する駆動電流を、前記モータの回転位置を基準とした回転座標系の電流値によって制御するベクトル制御を行うベクトル制御手段であって、前記駆動電流に対応する駆動電圧を出力する、前記ベクトル制御手段と、前記ベクトル制御手段によって出力された駆動電圧に応じて駆動電流を前記モータへ供給することによって、前記モータを駆動する駆動手段と、前記モータの各相の巻線に流れる駆動電流を検出して電流検出値を出力する電流検出手段と、前記電流検出手段から出力される電流検出値を正弦波関数に近似させることによって、当該電流検出値を補正する補正手段と、前記補正手段によって補正された電流検出値に基づく演算によって、前記ベクトル制御に用いられる前記回転位置を決定する決定手段と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ベクトル制御によりモータの駆動制御を行うモータ制御装置において、モータの各相の巻線の誘起電圧の歪みによって生じる、モータの回転位置の推定誤差を低減することができる。それにより、モータの制御効率を悪化させずにモータのベクトル制御を行うことが可能となる。
【図面の簡単な説明】
【００１０】
【図１】画像形成装置の全体の構成例を示す図。
【図２】画像形成装置の制御構成例を示すブロック図。
【図３】モータ制御部の構成例を示すブロック図。
【図４】モータと回転座標系のｄｑ軸との関係を示す図。
【図５】誘起電圧とステッピングモータの電気角との関係の例を示す図。
【図６】ステッピングモータのＡ相及びＢ相の誘起電圧の波形の例を示す図。
【図７】ステッピングモータの回転位置の推定結果の例を示す図。
【図８】相電流補正部の構成例を示すブロック図。
【図９】相電流補正部における制御のタイミングを示すタイミングチャート。
【図１０】相電流値（サンプル値）と相電流値を近似させた正弦波関数の例を示す図。
【図１１】モータ制御部による制御フローを示すフローチャート。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１２】
＜画像形成装置＞
まず、図１を参照して、本発明の実施形態に係るモータ制御装置が実装される画像形成装置の構成例について説明する。図１に示す画像形成装置１００は、原稿自動送り装置２０１、読取装置２０２、及び画像形成装置本体３０１を備えている。
【００１３】
原稿自動送り装置２０１の原稿載置部２０３に置かれた原稿は、給紙ローラ２０４によって１枚ずつ給紙され、搬送ガイド２０６を経由して読取装置２０２の原稿ガラス台２１４に搬送される。更に、原稿は、搬送ベルト２０８によって一定速度で搬送された後、排紙ローラ２０５によって装置外部へ排紙される。この間、読取装置２０２の読取位置において照明系２０９によって照明された原稿画像からの反射光は、反射ミラー２１０，２１１，２１２から成る光学系によって画像読取部１０１に導かれ、画像読取部１０１によって画像信号に変換される。画像読取部１０１は、レンズ、光電変換素子であるＣＣＤ、ＣＣＤの駆動回路等で構成される。画像読取部１０１から出力された画像信号は、ＡＳＩＣ等のハードウェアデバイスで構成される画像処理部１１２によって、各種補正処理が行われた後、画像形成装置本体３０１へ出力される。
【００１４】
読取装置２０２における原稿の読取モードとして、流し読みモード及び固定モードがある。流し読みモードは、照明系２０９及び光学系を停止した状態で、原稿を一定速度で搬送しながら当該原稿の画像を読み取るモードである。固定モードは、読取装置２０２の原稿ガラス台２１４上に原稿を載置し、照明系２０９及び光学系を一定速度で移動させながら、原稿ガラス台２１４上に載置された原稿の画像を読み取るモードである。通常、シート状の原稿は流し読みモードにより読み取られ、綴じられた原稿は固定モードで読み取られる。
【００１５】
画像形成装置１００は、読取装置２０２から出力される画像信号に基づいて、画像形成装置本体３０１においてページ単位で記録紙（記録材）に画像を形成するコピー機能を有する。なお、画像形成装置１００は、ネットワークを介して外部装置から受信したデータに基づいて記録紙に画像を形成する印刷機能も有している。
【００１６】
読取装置２０２から出力された画像信号は、光走査装置３１１に入力される。光走査装置３１１は、半導体レーザ及びポリゴンミラーを含み、入力された画像信号で変調されたレーザ光（光信号）を、半導体レーザから出力する。半導体レーザから出力されたレーザ光が、ポリゴンミラー、及びミラー３１２，３１３を経由して感光ドラム３０９の表面に照射されることで、感光ドラム３０９が露光される。帯電器３１０によって表面が一様に帯電した感光ドラム３０９がレーザ光によって露光されることで、感光ドラム３０９上に静電潜像が形成される。感光ドラム３０９上に形成された静電潜像が、現像器３１４から供給されるトナーによって現像されることで、感光ドラム３０９上にトナー像が形成される。感光ドラム３０９上のトナー像は、感光ドラム３０９の回転に伴って転写分離器３１５と対向する位置（転写位置）まで移動すると、転写分離器３１５によって記録紙に転写される。
【００１７】
記録紙は、紙カセット３０２及び３０４に収納されており、それぞれ異なる種類の記録紙を収納可能である。例えば、紙カセット３０２には標準の記録紙が収納され、紙カセット３０４にはタブ紙が収納される。紙カセット３０２に収納された記録紙は、給紙ローラ３０３によって搬送路上に給紙され、搬送ローラ３０６によってレジストローラ３０８の位置まで搬送され、そこで一時的に停止する。一方、紙カセット３０４に収納された記録紙は、給紙ローラ３０５によって搬送路上に給紙され、搬送ローラ３０７，３０６によってレジストローラ３０８の位置まで搬送され、そこで一時的に停止する。
【００１８】
レジストローラ３０８の位置まで搬送された記録紙は、感光ドラム３０９上のトナー像が転写位置に到達するタイミングに合わせて、レジストローラ３０８によって転写位置へ搬送される。転写位置において感光ドラム３０９からトナー像が転写された記録紙は、搬送ベルト３１７によって定着器３１８へ搬送される。定着器３１８は、熱及び圧力により、記録紙上のトナー像を当該記録紙に定着させる。
【００１９】
片面印刷モードで画像形成が行われる場合には、定着器３１８を通過した記録紙は、排紙ローラ３１９，３２４によって装置外部へ排紙される。両面印刷モードで画像形成が行われる場合には、定着器３１８を通過後、表面（第１面）に画像が形成された記録紙は、排紙ローラ３１９、搬送ローラ３２０及び反転ローラ３２１によって、反転パス３２５へ搬送される。更に、記録紙の後端が、反転パス３２５と両面パス３２６との合流ポイントを通過した直後に、反転ローラ３２１の回転を反転させることで、記録紙が逆方向に搬送され始め、両面パス３２６へ搬送される。その後、記録紙は、搬送ローラ３２２，３２３によって両面パス３２６を搬送され、再び搬送ローラ３０６によってレジストローラ３０８の位置まで搬送され、そこで一時的に停止する。更に、記録紙の表面（第１面）への画像形成と同様に、転写位置において記録紙の裏面（第２面）へのトナー像の転写処理が行われ、更に定着器３１８によって定着処理が行われた後、記録紙は、装置外部へ排紙される。
【００２０】
また、表面へ画像形成された記録紙の表裏を反転させて（第１面が下向きになるように反転させて）記録紙を装置外部へ排紙する場合には、定着器３１８を通過した記録紙を、排紙ローラ３２４へ向かう方向でははく、搬送ローラ３２０へ向かう方向へ一時的に搬送する。その後、記録紙の後端が搬送ローラ３２０の位置を通過する直前に、搬送ローラ３２０の回転を反転させることで、記録紙が逆方向に搬送され始め、排紙ローラ３２４へ向かう方向へ搬送される。その結果、記録紙は、表裏が反転した状態で排紙ローラ３２４によって装置外部へ排紙される。
【００２１】
このように、画像形成装置本体３０１は、画像が形成される記録紙の搬送用のローラとして、搬送ローラ３０６，３０７、排紙ローラ３１９、反転ローラ３２１、搬送ローラ３２２，３２３、及び排紙ローラ３２４を備えている。更に、給紙ローラ３０３、レジストローラ３０８等のローラも、記録紙の搬送用のローラである。これらのローラを駆動するモータの駆動制御は、後述するように、システムコントローラ１５１（図２）からの指示により、モータ制御部１５７（図２）によって行われる。
【００２２】
（画像形成装置の制御構成）
図２は、画像形成装置１００の制御構成例を示すブロック図である。図２に示すシステムコントローラ１５１は、ＣＰＵ１５１ａ、ＲＯＭ１５１ｂ、及びＲＡＭ１５１ｃを備え、画像形成装置１００全体を制御する。システムコントローラ１５１は、画像処理部１１２、操作部１５２、アナログ・デジタル（Ａ／Ｄ）変換器１５３、高圧制御部１５５、モータ制御部１５７、センサ類１５９、及びＡＣドライバ１６０と接続されている。システムコントローラ１５１は、接続された各ユニットとの間でデータの交換が可能である。
【００２３】
ＣＰＵ１５１ａは、ＲＯＭ１５１ｂに格納された各種プログラムを読み出して実行することによって、予め定められた画像形成シーケンスに関連する各種シーケンスを実行する。ＲＡＭ１５１ｃは、揮発性の記憶デバイスであり、ＣＰＵ１５１ａは、各種プログラムを実行するためのワークエリアとして、または各種データが一時的に格納される一時記憶領域として使用される。ＲＡＭ１５１ｃには、例えば、高圧制御部１５５に対する設定値、モータ制御部１５７に対する指令値、操作部１５２から受信される情報等のデータが格納される。
【００２４】
システムコントローラ１５１は、ユーザが各種の設定を行うための操作画面を、操作部１５２に設けられた表示部に表示するよう、操作部１５２を制御することで、操作部１５２を介してユーザによる設定を受け付ける。システムコントローラ１５１は、操作部１５２を介したユーザによる設定の内容（複写倍率の設定値、濃度設定値等）を示す情報を、操作部１５２から受信する。また、システムコントローラ１５１は、画像形成装置の状態をユーザに知らせるためのデータを操作部１５２に送信する。操作部１５２は、システムコントローラ１５１から受信したデータに基づいて、画像形成装置の状態を示す情報（例えば、画像形成枚数、画像形成中か否かを示す情報、ジャムの発生及び発生個所を示す情報）を表示部に表示する。
【００２５】
システムコントローラ１５１（ＣＰＵ１５１ａ）は、画像処理部１１２に対して、画像処理部１１２における画像処理に必要となる、画像形成装置１００内の各デバイスの設定値データを送信する。また、システムコントローラ１５１は、各デバイスからの信号（センサ類１５９からの信号）を受信して、受信した信号に基づいて高圧制御部１５５を制御する。高圧制御部１５５は、システムコントローラ１５１から出力される設定値に基づいて、高圧ユニット１５６を構成する帯電器３１０、現像器３１４、及び転写分離器３１５に対して、それぞれの動作に必要となる電圧を供給する。
【００２６】
Ａ／Ｄ変換器１５３は、定着ヒータ１６１の温度を検出するためのサーミスタ１５４から検出信号を受信し、当該検出信号をデジタル信号に変換してシステムコントローラ１５１に送信する。システムコントローラ１５１は、Ａ／Ｄ変換器１５３から受信したデジタル信号に基づいてＡＣドライバ１６０を制御することで、定着ヒータ１６１の温度を、定着処理のための所望の温度に制御する。なお、定着ヒータ１６１は、定着器３１８に含まれる、定着処理に用いられるヒータである。
【００２７】
このように、システムコントローラ１５１は、画像形成装置１００の動作シーケンスを制御する。また、システムコントローラ１５１は、モータ制御部１５７を介して、各モータの駆動シーケンスを制御する。モータ制御部１５７は、システムコントローラ１５１からの指示に従って、記録紙の搬送用のローラを駆動する駆動源に相当するモータ（図３に示すステッピングモータ５０９）を制御する。なお、画像形成装置１００は、記録紙の搬送用の各ローラに対応するモータごとに、当該モータを制御するモータ制御部１５７を備えている。本実施形態では、モータ制御部１５７は、モータの駆動制御を行うモータ制御装置の一例である。
【００２８】
モータ制御部１５７の外部のコントローラに相当するシステムコントローラ１５１（ＣＰＵ１５１ａ）は、制御対象のモータ（ステッピングモータ５０９）の位置（回転位置）の指令値（θ＿ｒｅｆ）を生成し、モータ制御部１５７へ出力する。例えば、位置指令値θ＿ｒｅｆは、パルス状の矩形波信号であり、１パルスがステッピングモータの回転角度の最小変化量を規定する。なお、モータの回転速度の指令値（速度指令値ω＿ｒｅｆ）は、θ＿ｒｅｆに対応する周波数として求められる。ＣＰＵ１５１ａは、モータの駆動シーケンスを開始すると、生成した位置指令値θ＿ｒｅｆを、所定の時間周期（制御周期）でモータ制御部１５７へ出力する。モータ制御部１５７は、ＣＰＵ１５１ａから与えられる位置指令値に従って、モータ（ステッピングモータ５０９）の位置制御及び速度制御を実行する。
【００２９】
＜ベクトル制御＞
次に、図３及び図４を参照して、モータ制御部１５７によって実行される、ステッピングモータ５０９のベクトル制御の概要について説明する。図３は、本実施形態に係るモータ制御部１５７の構成例を示すブロック図である。図３に示すモータ制御部１５７の基本的な構成は、ブラシレスＤＣモータ、ＡＣサーボモータ等のモータで利用されている、静止座標系から回転座標系への座標変換を用いたインバータ制御に対応した構成である。なお、ステッピングモータ５０９は、少なくとも２相から成るモータであり、本実施形態では、Ａ相及びＢ相から成る２相のモータである。
【００３０】
モータ制御部１５７では、ベクトル制御部５１５から出力される、ステッピングモータ５０９の駆動電圧Ｖα，Ｖβに応じて、ＰＷＭインバータ５０６がステッピングモータ５０９へ駆動電流を供給することによって、ステッピングモータ５０９を駆動する。なお、図３に示すように、ベクトル制御部５１５は、速度制御器５０２、電流制御器５０３，５０４、及び座標変換器５０５，５１１によって構成されている。
【００３１】
ここで、図４は、Ａ相及びＢ相から成る２相のモータと回転座標系のｄ軸及びｑ軸との関係を示す図である。同図では、静止座標系における、Ａ相及びＢ相の巻線に対応した軸をそれぞれα軸及びβ軸と定義している。また、静止座標系におけるα軸と、回転子（ロータ）として用いられる永久磁石の磁極によって作られる磁束の方向（ｄ軸）との成す角度をθと定義している。この場合、ステッピングモータ５０９の出力軸の位置（回転位置）は、角度θによって表される。ベクトル制御では、図４に示すように、回転子の磁束方向に沿ったｄ軸と、ｄ軸から９０度進んだ方向に沿った（ｄ軸と直交する）ｑ軸とで表される、ステッピングモータ５０９の位置θを基準とした回転座標系が用いられる。
【００３２】
モータ制御部１５７は、ステッピングモータ５０９へ供給する駆動電流を、ステッピングモータ５０９の位置θを基準とした回転座標系の電流値によって制御するベクトル制御を行う。ベクトル制御では、ステッピングモータ５０９のＡ相及びＢ相の巻線に流れる駆動電流に対応する電流ベクトルが、α軸及びβ軸で表される静止座標系から、ｄ軸及びｑ軸で表される回転座標系に変換される。このような座標変換の結果、ステッピングモータ５０９に供給される駆動電流は、回転座標系において、直流のｄ軸成分（ｄ軸電流）及びｑ軸成分（ｑ軸電流）によって表される。この場合、ｑ軸電流は、ステッピングモータ５０９にトルクを発生させるトルク電流成分に相当し、回転子の回転に寄与する電流である。ｄ軸電流は、ステッピングモータ５０９の回転子の磁束強度に影響する励磁電流成分に相当する。モータ制御部１５７は、回転座標系におけるｑ軸電流及びｄ軸電流を独立して制御することで、ステッピングモータ５０９のベクトル制御を実現する。
【００３３】
具体的には、モータ制御部１５７は、ステッピングモータ５０９の回転子の位置（ロータ位置）及び回転速度を推定（決定）し、その推定結果に基づいてベクトル制御を行う。モータ制御部１５７は、図３に示すように、位置制御器５０１、速度制御器５０２、及び電流制御器５０３，５０４へのそれぞれのフィードバックに基づく３つの制御ループを含み、これらの制御ループによってベクトル制御を実現する。なお、図３に示すモータ制御部１５７において、ステッピングモータ５０９の位置θの推定は、誘起電圧演算部５１２及び位置演算部５１３によって行われる。また、ステッピングモータ５０９の回転速度ωの推定は、位置θの推定値に基づいて、速度演算部５１４によって行われる。
【００３４】
位置制御器５０１を含む、最も外側の制御ループでは、ステッピングモータ５０９の位置θの推定値のフィードバックに基づいて、ステッピングモータ５０９の位置制御を行う。モータ制御部１５７には、システムコントローラ１５１のＣＰＵ１５１ａから、ステッピングモータ５０９の位置指令値θ＿ｒｅｆが与えられる。位置制御器５０１は、位置演算部５１３からフィードバックされる、ステッピングモータ５０９の位置θの推定値の、位置指令値θ＿ｒｅｆ（目標値）に対する偏差が０に近づくように、速度指令値ω＿ｒｅｆを生成して出力する。このようにして、位置制御器５０１によるステッピングモータ５０９の位置制御が行われる。
【００３５】
速度制御器５０２を含む制御ループでは、ステッピングモータ５０９の回転速度ωの推定値のフィードバックに基づいて、ステッピングモータ５０９の速度制御を行う。速度制御器５０２は、速度演算部５１４からフィードバックされる、ステッピングモータ５０９の回転速度ωの推定値の、速度指令値ω＿ｒｅｆ（目標値）に対する偏差が０に近づくように、電流指令値ｉｑ＿ｒｅｆ，ｉｄ＿ｒｅｆを生成して出力する。なお、電流指令値ｉｑ＿ｒｅｆ，ｉｄ＿ｒｅｆは、静止座標系（αβ軸）から回転座標系（ｄｑ軸）への座標変換後の、回転座標系における電流指令値である。
【００３６】
電流制御器５０３，５０４を含む制御ループでは、ステッピングモータ５０９の各相の巻線に流れる駆動電流の検出値のフィードバックに基づいて、ステッピングモータ５０９の各相の巻線に供給する駆動電流を制御する。ここで、ステッピングモータ５０９のＡ相及びＢ相の巻線にそれぞれ流れる電流（交流電流）の電流値ｉα，ｉβは、静止座標系において、ステッピングモータ５０９の位置θを用いて次式によって表すことができる。
ｉα＝Ｉ＊ｃｏｓθ
ｉβ＝Ｉ＊ｓｉｎθ      （１）
この場合、回転座標系におけるｄ軸電流及びｑ軸電流（直流電流）の電流値ｉｄ，ｉｑは、次式に示す座標変換（クラーク変換）によって表される。
ｉｄ＝  ｃｏｓθ＊ｉα＋ｓｉｎθ＊ｉβ
ｉｑ＝−ｓｉｎθ＊ｉα＋ｃｏｓθ＊ｉβ      （２）
【００３７】
このような座標変換によって、静止座標系における、Ａ相及びＢ相の巻線にそれぞれ流れる交流電流値ｉα，ｉβは、回転座標系における直流電流値ｉｑ，ｉｄに変換される。なお、ｑ軸電流は、ステッピングモータ５０９にトルクを発生させるトルク電流成分（第１の電流成分）である。ｄ軸電流は、ステッピングモータ５０９の回転子の磁束強度に影響する励磁電流成分（第２の電流成分）であり、ステッピングモータ５０９のトルクの発生には寄与しない。
【００３８】
ステッピングモータ５０９のＡ相及びＢ相の巻線に流れる駆動電流は、ＰＷＭインバータ５０６とステッピングモータ５０９との間に設けられた電流検出部５０７，５０８によってそれぞれ検出される。電流検出部５０７，５０８は、ステッピングモータ５０９の各相の巻線に流れる駆動電流を検出して電流検出値を出力する。電流検出部５０７，５０８から出力された電流検出値は、Ａ／Ｄ変換器５１０によってアナログ値からデジタル値へ変換されることで、ＣＰＵ、またはＦＰＧＡ等のプログラミングデバイスによる取り込みが可能になる。Ａ／Ｄ変換器５１０から出力される、静止座標系における電流値（電流検出値）ｉα，ｉβは、座標変換器５１１及び相電流補正部５２０へ入力される。
【００３９】
座標変換器５１１は、式（２）によって、静止座標系（αβ軸）における電流値ｉα，ｉβを回転座標系（ｄｑ軸）における電流値ｉｑ，ｉｄへ変換して出力する。電流制御器５０３，５０４には、座標変換器５１１から出力される、回転座標系における検出された電流値ｉｑ，ｉｄと、速度制御器５０２から出力される、回転座標系における電流指令値ｉｑ＿ｒｅｆ，ｉｄ＿ｒｅｆとの差分値が入力される。電流制御器５０３，５０４は、入力された差分値（即ち、検出された電流値ｉｑ，ｉｄの、目標値である電流指令値ｉｑ＿ｒｅｆ，ｉｄ＿ｒｅｆに対する偏差）が０に近づくように、回転座標系における電流値ｉｑ'，ｉｄ'を生成及び出力する。なお、位置制御器５０１、速度制御器５０２、及び電流制御器５０３，５０４はそれぞれ、例えば、比例補償器及び積分補償器で構成され、ＰＩ制御によりフィードバック制御を実現する。
【００４０】
座標変換器５０５は、電流制御器５０３，５０４から出力される、回転座標系における電流値ｉｑ'，ｉｄ'を、次式によって、静止座標系における電流値ｉα'，ｉβ'へ逆変換する。
ｉα'＝ｃｏｓθ＊ｉｄ'−ｓｉｎθ＊ｉｑ'
ｉβ'＝ｓｉｎθ＊ｉｄ'＋ｃｏｓθ＊ｉｑ'      （３）
座標変換器５０５は、静止座標系への座標変換後の電流値ｉα'，ｉβ'に応じた駆動電圧Ｖα，Ｖβを、フルブリッジ回路で構成されたＰＷＭインバータ５０６、及び誘起電圧演算部５１２へ出力する。
【００４１】
このようにして、ベクトル制御部５１５は、ステッピングモータ５０９の位置θを基準とした回転座標系（ｄｑ軸）の電流値によって、ステッピングモータ５０９の各相の巻線に供給する駆動電流を制御するベクトル制御を行う。本実施形態では、ステッピングモータ５０９の位置θは、後述するように、当該モータの各相の巻線に流れる駆動電流の検出結果に基づく推定演算によって決定される。ベクトル制御部５１５は、ステッピングモータ５０９の位置θの推定値のフィードバックに基づくベクトル制御の結果として、ステッピングモータ５０９へ供給する駆動電流に対応する駆動電圧Ｖα，Ｖβを出力する。なお、ベクトル制御では、通常、ステッピングモータ５０９のトルクの発生には寄与しない電流成分であるｄ軸電流は、値が０となるように制御される。即ち、ベクトル制御部５１５では、電流指令値ｉｄ＿ｒｅｆが０に設定される。
【００４２】
ＰＷＭインバータ５０６では、座標変換器５０５から入力された駆動電圧Ｖα，Ｖβによってフルブリッジ回路が駆動される。その結果、ＰＷＭインバータ５０６は、駆動電圧Ｖα，Ｖβに応じてステッピングモータ５０９の各相の巻線に駆動電流を供給することによって、ステッピングモータ５０９を駆動する。
【００４３】
＜センサレス制御＞
上述のように、ベクトル制御では、モータの位置制御及び速度制御を行うために、モータの位置及び回転速度を示す情報のフィードバックが必要である。具体的には、図３に示す構成では、ステッピングモータ５０９の回転子の位置θを示す位置情報、及びステッピングモータ５０９の回転速度ωを示す速度情報を、位置制御器５０１及び速度制御器５０２にそれぞれフィードバックする必要がある。
【００４４】
通常、モータの位置及び回転速度を検出（推定）するためには、モータの回転軸にロータリエンコーダを取り付け、エンコーダの出力パルス数に基づいて位置を検出し、エンコーダの出力パルス周期に基づいて回転速度を検出する。しかし、本来ステッピングモータの駆動に不要であるエンコーダを追加することによって、上述のように、コストアップ及び配置スペースの確保が問題となる。そこで、エンコーダ等の位置検知のためのセンサを用いることなくモータの位置及び回転速度を推定し、その推定結果に基づいてベクトル制御を行うセンサレス制御が提案されている。以下では、再び図３を参照して、ステッピングモータ５０９のセンサレス制御について説明する。
【００４５】
まず、誘起電圧演算部５１２は、ステッピングモータ５０９（の回転子）の回転に従って、Ａ相（第１相）及びＢ相（第２相）の巻線にそれぞれ誘起される誘起電圧（Ａ相及びＢ相の逆起電圧）を演算する。具体的には、相電流補正部５２０から出力される電流値ｉα，ｉβ'と、ベクトル制御部５１５から出力された、ステッピングモータ５０９の駆動電圧Ｖα，Ｖβとが、誘起電圧演算部５１２に入力される。なお、相電流補正部５２０は、Ａ／Ｄ変換器５１０によるデジタル値への変換後の電流値ｉα，ｉβに対して後述する補正を行い、得られた電流値ｉα'，ｉβ'を誘起電圧演算部５１２へ出力する。誘起電圧演算部５１２は、Ａ相及びＢ相のそれぞれについて、駆動電圧Ｖα，Ｖβと電流値ｉα'，ｉβ'とから、以下の電圧方程式によって、ステッピングモータ５０９の誘起電圧Ｅα，Ｅβを演算する。
Ｅα＝Ｖα−Ｒ＊ｉα'−Ｌ＊ｄｉα'／ｄｔ
Ｅβ＝Ｖβ−Ｒ＊ｉβ'−Ｌ＊ｄｉβ'／ｄｔ      （４）
ここで、Ｒは巻線レジスタンス、Ｌは巻線インダクタンスである。Ｒ及びＬの値は、使用されているステッピングモータ５０９に固有の値であり、ＲＯＭ１５１ｂ、またはモータ制御部１５７内に設けられた不図示のメモリに予め格納されている。
【００４６】
誘起電圧演算部５１２によって演算された、Ａ相及びＢ相の誘起電圧Ｅα，Ｅβは、位置演算部５１３へ入力される。位置演算部５１３は、Ａ相の誘起電圧ＥαとＢ相の誘起電圧Ｅβとの比から、次式によってステッピングモータ５０９の位置θの推定値を演算する。
θ＝ｔａｎ-1(−Ｅβ／Ｅα)      （５）
位置演算部５１３は、このような推定演算により得られた位置θの推定値を、位置制御器５０１及び速度演算部５１４に出力（フィードバック）する。なお、位置θの推定値は、位置演算部５１３から速度制御器５０２、座標変換器５０５，５１１にもフィードバックされることで、座標変換等に利用される。
【００４７】
なお、ステッピングモータ５０９の実際の回転位置（機械角）と、推定された回転位置（電気角）とが１対１に対応しない場合には、電気角から機械角への変換を行う変換器を、位置演算部５１３と位置制御器５０１との間に設けてもよい。この場合、ステッピングモータ５０９の位置θの推定値は、このような変換器によって実際の回転位置（機械角）に変換された後に、位置制御器５０１へフィードバックされる。
【００４８】
速度演算部５１４は、入力された位置θから、次式によってステッピングモータ５０９の回転速度ωの推定値を演算する。
ω＝ｄθ／ｄｔ      （６）
式（６）のように、回転速度ωは、位置θの推定値の時間変化に基づいて演算される。速度演算部５１４は、得られた回転速度ωを速度制御器５０２に出力（フィードバック）する。
【００４９】
図５は、式（４）により算出される誘起電圧Ｅα，Ｅβと、式（５）により算出されるステッピングモータ５０９の電気角（位置θ）との関係の例を示す図である。なお、図５は、巻線レジスタンスＲ＝３．４１［Ω］、巻線インダクタンスＬ＝４．３［ｍＨ］、ステッピングモータ５０９の回転速度ω＝１３．５［ｒｐｓ］とした場合の、シミュレーション結果を一例として示している。図５に示すシミュレーション結果によれば、誘起電圧Ｅα，Ｅβは、９０度の位相差を有しており、それらの振幅の比に応じた電気角が、ステッピングモータ５０９の位置θとして算出されていることが確認できる。なお、電気角は、一周ごとにリセットされている。
【００５０】
＜ステッピングモータの回転位置の推定誤差＞
本実施形態のモータ制御部１５７は、ステッピングモータ５０９のトルクの発生には寄与しない電流成分であるｄ軸電流の値を０に制御（電流指令値ｉｄ＿ｒｅｆを０に設定）する。この場合、ステッピングモータ５０９の各相の巻線に流れる駆動電流（相電流）は、正弦波となる。具体的には、モータ制御部１５７における、ｄ軸電流の電流値ｉｄを０とした場合、Ａ相及びＢ相についての電流値ｉα，ｉβは、式（２）により、次式の関係を満たすことになる。
ｓｉｎθ＊ｉα＝ｃｏｓθ＊ｉβ      （７）
このため、式（７）を満たす電流値ｉα，ｉβは、ｉα＝Ｉ＊ｃｏｓθ、ｉβ＝Ｉ＊ｓｉｎθであることがわかる。これらの式は、結果的に、式（１）の電流値と同一となっている。即ち、ｄ軸電流の値を０に制御した場合、電流値ｉα，ｉβは、必然的に正弦波となる。
【００５１】
一方で、ステッピングモータ５０９の各相の誘起電圧は、上述のように、ロータの着磁むら、歯の形状、電機子の歯との距離（ギャップ長）のむら等に起因して、ロータの回転角度に対して正弦波形状で変化しないことが知られている。即ち、各相の誘起電圧は、理想的な正弦波に対して歪みが生じた波形となる。
【００５２】
ここで、図６は、ステッピングモータ５０９のＡ相及びＢ相の誘起電圧の波形の例を示しており、ステッピングモータ５０９の電気角（位置θ）に対する誘起電圧の変化を示している。また、図６（Ａ）は、歪みが生じていないＡ相及びＢ相の理想的な誘起電圧の波形、及び高調波成分として表される歪み成分（誤差成分）の例を示しており、図６（Ｂ）は、歪みが生じたＡ相及びＢ相の誘起電圧の波形の例を示している。
【００５３】
ステッピングモータ５０９のＡ相及びＢ相の誘起電圧は、図６（Ａ）に示すように、ステッピングモータ５０９の電気角に対して、理想的には正弦波形状で変化する。この場合、式（５）によってステッピングモータ５０９の電気角（位置θ）を計算すると、図７（Ａ）に示すように、ステッピングモータ５０９の位置θを正確に求めることが可能である。しかし、ステッピングモータ５０９のＡ相及びＢ相の誘起電圧は、実際には、図６（Ａ）に示すような歪み成分が加わることで、図６（Ｂ）に示すような波形となる。この場合、式（５）によってステッピングモータ５０９の電気角（位置θ）を計算すると、図７（Ｂ）に示すように、ステッピングモータ５０９の位置θを正確に求めることができず、ステッピングモータ５０９の実際の位置（回転位置）から誤差が生じてしまう。即ち、位置演算部５１３によってステッピングモータ５０９の位置θの推定が行われる場合、推定結果に歪み（誤差）が生じることになる。
【００５４】
また、位置演算部５１３によって推定された位置θに歪みが生じた場合、位置θは線形に変化しなくなり、座標変換器５０５，５１１による座標変換（クラーク変換）で用いられるｓｉｎθ及びｃｏｓθも正弦波形状ではなくなる。即ち、ステッピングモータ５０９の各相の巻線に供給する駆動電流（相電流）も正弦波形状ではなくなり、図６（Ｂ）と相似な波形となる。これにより、ベクトル制御におけるモータの制御効率が悪化することになる。
【００５５】
したがって、センサレス制御によるモータのベクトル制御における制御効率を改善するためには、モータの各相の巻線の誘起電圧の歪みによって生じる、モータの回転位置の推定誤差を低減する必要がある。そこで、本実施形態では、ステッピングモータ５０９の回転位置（位置θ）の推定精度を改善させるために、モータの各相の巻線に流れる駆動電流（相電流）を検出して得られる電流検出値を正弦波関数に近似させることによって、当該電流検出値を補正する。更に、補正された電流検出値に基づく推定演算によって、ベクトル制御に用いられる回転位置（位置θ）を演算する。このように、相電流の検出値を正弦波形状に近似させることで、推定演算によって得られる位置θに生じる歪みを抑えることが可能になり、位置θの推定精度を改善することが可能になる。
【００５６】
具体的には、モータ制御部１５７において、相電流補正部５２０が、Ａ／Ｄ変換器５１０によるデジタル値への変換後の各相の電流値（相電流値）ｉα，ｉβに対して、正弦波関数に近似させるための補正処理を行う。相電流補正部５２０は、補正後の相電流値ｉα'，ｉβ'を誘起電圧演算部５１２へ出力することで、誘起電圧演算部５１２及び位置演算部５１３による、正弦波形状で変化する相電流値ｉα'，ｉβ'に基づく位置θの推定演算を可能にする。
【００５７】
＜相電流補正部の構成及び動作＞
図８は、相電流補正部５２０の構成例を示すブロック図である。また、図９は、相電流補正部５２０における制御のタイミングを示すタイミングチャートである。相電流補正部５２０は、サンプリング処理部５２０ａ、補正制御部５２０ｂ、メモリ部５２０ｃ、補正処理部５２０ｄ、及び出力選択部５２０ｅを備えている。相電流補正部５２０へ入力されたＡ相及びＢ相の相電流値ｉα，ｉβの系列は、まず、サンプリング処理部５２０ａへ入力される。
【００５８】
サンプリング処理部５２０ａは、入力された相電流値ｉα，ｉβの系列を、所定のサンプリング周期ΔＴｓでサンプリングし、得られたＡ相及びＢ相のサンプル値ｉα＿ｓ，ｉβ＿ｓを、補正制御部５２０ｂへ出力する。補正制御部５２０ｂには、サンプリング処理部５２０ａからの、サンプリングされた相電流値ｉα＿ｓ，ｉβ＿ｓと、ＣＰＵ１５１ａからの補正指令信号が入力される。ＣＰＵ１５１ａは、補正指令信号により、相電流補正部５２０（補正制御部５２０ｂ）に対して補正処理の開始を指示することが可能である。
【００５９】
なお、ＣＰＵ１５１ａは、ステッピングモータ５０９の駆動を開始して、その回転速度が一定の速度に達した後に（即ち、相電流値を近似させる正弦波関数の周波数（周期）が一定となった後に）、補正指令信号を相電流補正部５２０へ出力してもよい。ただし、補正処理は、ステッピングモータ５０９の回転速度の加速中または減速中にも実行可能である。即ち、ＣＰＵ１５１ａは、ステッピングモータ５０９のベクトル制御（センサレス制御）の実行時の任意のタイミングに、補正指令信号を相電流補正部５２０へ出力しうる。
【００６０】
補正制御部５２０ｂは、補正指令信号が入力されると、Ａ相及びＢ相のそれぞれについて、相電流値ｉα＿ｓ，ｉβ＿ｓが負から正に変化するタイミングを開始エッジとして検出する処理を開始する。補正制御部５２０ｂは、開始エッジを検出した時点から、図９に示すように、相電流値ｉα＿ｓ，ｉβ＿ｓを順次、メモリ部５２０ｃに出力する。即ち、補正制御部５２０ｂは、相電流値ｉα＿ｓ，ｉβ＿ｓの開始エッジと次の開始エッジとの間の１回転周期ごとに、相電流値の複数のサンプル値をメモリ部５２０ｃの所定のアドレス領域に格納する。なお、補正制御部５２０は、相電流値ｉα＿ｓ，ｉβ＿ｓが正から負に変化するタイミングを開始エッジとして検出してもよい。
【００６１】
その後、補正制御部５２０ｂは、図９に示すように、開始エッジの２回目の検出に応じて、補正処理の開始トリガ信号（ｓｉｇ２α，ｓｉｇ２β）を補正処理部５２０ｄへ出力する。なお、ｓｉｇ２α及びｓｉｇ２βはそれぞれ、Ａ相及びＢ相に対応している。補正制御部５２０ｂは、それ以降、開始エッジを検出するごとに、開始トリガ信号（ｓｉｇ２α，ｓｉｇ２β）を補正処理部５２０ｄへ出力する。
【００６２】
ここで、１回目の開始エッジの検出タイミングは、補正処理を行うための相電流値（電流検出値）ｉα＿ｓ、ｉβ＿ｓの、メモリ部５２０ｃへの取り込みを開始するタイミングに相当する。また、２番目の開始エッジの検出タイミングは、ステッピングモータ５０９の１回転周期分の相電流値（電流検出値）をメモリ部５２０ｃへ取り込めたことを示すタイミングに相当する。補正処理部５２０ｄによる補正処理は、このようにして、ステッピングモータ５０９の１回転周期単位で、少なくとも１回転周期分の相電流値を用いて行われることになる。
【００６３】
補正処理部５２０ｄは、補正制御部５２０ｂから開始トリガ信号（ｓｉｇ２α，ｓｉｇ２β）が入力されると、メモリ部５２０ｃ内のアドレスを指定したアクセス信号ｓｉｇ３α［ｎ］，ｓｉｇ３β［ｎ］を用いて、メモリ部５２０ｃから相電流値ｉα＿ｓ［ｎ］，ｉβ＿ｓ［ｎ］を読み出す。なお、アクセス信号ｓｉｇ３α［ｎ］，ｓｉｇ３β［ｎ］は、相電流値ｉα＿ｓ［ｎ］，ｉβ＿ｓ［ｎ］が格納されたアドレスに対応する。
【００６４】
補正処理部５２０ｄは、ステッピングモータ５０９の少なくとも１回転周期分の相電流値（電流検出値）をメモリ部５２０ｃから読み出して、それらの相電流値を正弦波関数に近似させるための補正処理を実行する。この補正処理は、この補正処理は、ステッピングモータ５０９の少なくとも１回転周期分の相電流値（電流検出値）を、当該モータの回転周期に対応した正弦波関数に近似させる処理に相当する。具体的には、補正処理部５２０ｄは、ステッピングモータ５０９の少なくとも１回転周期分の相電流値（複数のサンプル値）を用いた後述する近似演算によって、当該相電流値を近似させた正弦波関数を求める。更に、補正処理部５２０は、求めた正弦波関数によって得られる値を順に、補正後の相電流値（電流検出値）ｉα＿ｓ'，ｉβ＿ｓ'として出力選択部５２０ｅへ出力する。
【００６５】
その後、補正制御部５２０ｂは、図９に示すように、Ａ相またはＢ相に対応する開始エッジの３回目の検出に応じて、補正された相電流値の出力を指示するための出力指令信号（ｓｉｇ１）を出力選択部５２０ｅへ出力する。出力選択部５２０ｅは、出力指令信号（ｓｉｇ１）の入力前には、図９に示すように、サンプリング処理部５２０ｂからの補正前の相電流値ｉα＿ｓ，ｉβ＿ｓを、相電流値ｉα'，ｉβ'として誘起電圧演算部５１２へ出力している。一方、出力選択部５２０ｅは、出力指令信号（ｓｉｇ１）の入力後には、補正処理部５２０ｄからの補正後の相電流値ｉα＿ｓ'，ｉβ＿ｓ'を、相電流値ｉα'，ｉβ'として誘起電圧演算部５１２へ出力する。これは、補正処理部５２０ｄによる補正処理は、開始エッジの２回目の検出タイミング以降に開始され、かつ、補正処理部５２０ｄにおける演算遅延により、開始エッジの２回目の検出タイミングの直後から、補正後の相電流値を出力することは難しいためである。
【００６６】
これにより、出力選択部５２０ｅは、補正処理部５２０ｄで近似演算によって正弦波関数が得られると、当該正弦波関数の値を、相電流値ｉα＿ｓ，ｉβ＿ｓが次に負から正に変化するタイミング（開始エッジ）以降の相電流値の補正値として出力する。なお、出力選択部５２０ｅは、サンプリングされた状態にある相電流値ｉα＿ｓ'，ｉβ＿ｓ'（または相電流値ｉα＿ｓ，ｉβ＿ｓ）に、必要に応じて補間処理を施すことで、相電流値ｉα'，ｉβ'を生成してもよい。
【００６７】
＜相電流値の補正処理＞
次に、補正処理部５２０ｄによって行われる補正処理（近似演算）の具体例について説明する。なお、ここではＡ相の相電流値の補正処理について説明するが、Ｂ相についても同様である。即ち、補正処理部５２０ｄは、以下のような補正処理により、ステッピングモータ５０９のＡ相（第１相）及びＢ相（第２相）のそれぞれの相電流値（電流検出値）を正弦波関数に近似させることで、Ａ相及びＢ相のそれぞれの電流検出値を補正する。
【００６８】
補正処理部５２０ｄは、上述のようにして、メモリ部５２０ｃに格納された、ステッピングモータ５０９の１回転周期分のＮ個の相電流値ｉα＿ｄ［ｎ］，ｉβ＿ｄ［ｎ］（ｎ＝１，２，...，Ｎ）を順に読み出して、それらを用いた補正処理を行う。具体的には、補正処理部５２０ｄは、次式に基づく最小二乗法による近似演算によって、相電流値ｉα＿ｄ［ｎ］を近似させた正弦波関数Ａ＊ｓｉｎωｔnを求める。
ここで、Ａは、正弦波関数の振幅、ωは、ステッピングモータ５０９の回転周波数（角周波数）、及びｔnは、ｎ番目のサンプルに対応する時間である。このように、正弦波関数Ａ＊ｓｉｎωｔnは、ステッピングモータ５０９の回転周期に対応している。
【００６９】
式（８）は、Ａを変数とした下に凸の二次関数として表されれている。式（８）の関数Ｙが最小値となるのは、関数Ｙを微分して０になるＡの値を、式（８）に代入した場合である。変数Ａは、次式によって求められる。
ｄＹ／ｄＡ＝２ｐ＊Ａ＋ｑ＝０
Ａ＝ｑ／（２ｐ）                  （９）
ここで、ｐは、関数Ｙの二次の係数、ｑは、関数Ｙの一次の係数である。
【００７０】
補正処理部５２０ｄは、式（９）によって、正弦波関数の振幅Ａを求めることによって、相電流値ｉα＿ｄ［ｎ］を近似させた正弦波関数Ａ＊ｓｉｎωｔnを求めることができる。図１０は、相電流値（サンプル値）ｉα＿ｄ［ｎ］と、相電流値ｉα＿ｄ［ｎ］を近似させた正弦波関数の例を示す図である。なお、ΔＴｓは、サンプリング周期であり、サンプリング周波数は、ステッピングモータ５０９の回転周波数に対して十分に大きいものとする。図１０に示すように、補正処理部５２０ｄは、開始トリガ信号の入力タイミングから、次の開始トリガ信号の入力タイミングまでの、Ｎ個の相電流値（サンプル値）ｉα＿ｄ［ｎ］を用いて近似演算を行うことで、正弦波関数１００１を求める。
【００７１】
なお、図１０では、ステッピングモータ５０９の１回転周期分の相電流値を用いて近似演算を行う例を示しているが、補正処理部５２０ｄは、ステッピングモータ５０９の複数回転周期分の相電流値を用いて近似演算を行ってもよい。このように、式（８）に基づく近似演算では、少なくとも１回転周期分の相電流値と、ステッピングモータ５０９の回転周期に対応した正弦波関数の値との差分の二乗値の総和を最小化する振幅Ａを有する正弦波関数Ａ＊ｓｉｎωｔnを求めている。
【００７２】
補正処理部５２０ｄは、式（９）によって得られる振幅Ａを代入した正弦波関数Ａ＊ｓｉｎωｔnの値を、Ａ相の駆動電流値の補正値として出力選択部５２０ｅへ出力する。なお、Ｂ相の駆動電流値の補正値についても、上述の処理と同様の処理によって得ることができる。相電流補正部５２０は、このような補正処理によって得られた、正弦波形状で変化する相電流値ｉα'，ｉβ'を誘起電圧演算部５１２に出力する。その結果、誘起電圧演算部５１２及び位置演算部５１３では、正弦波形状で変化する相電流値ｉα'，ｉβ'に基づく位置θの推定演算が可能になり、位置θの推定精度を改善することが可能になる。
【００７３】
＜モータ制御部による制御フロー＞
図１１は、図３に示すモータ制御部１５７によって実行される制御フローを示すフローチャートである。なお、モータ制御部１５７は、ＦＰＧＡやＡＳＩＣ等のデバイスによって構成されてもよく、その場合、図１１に示す制御フローは、そのような回路が有する機能に従った処理の手順を示す。
【００７４】
モータ制御部１５７は、ＣＰＵ１５１ａからの指示によりセンサレス制御を開始すると、Ｓ１０１で、ＣＰＵ１５１ａからの指令値（θ＿ｒｅｆ）に基づいて、上述のようにベクトル制御を実行する。即ち、モータ制御部１５７では、位置制御器５０１、速度制御器５０２及び電流制御器５０３，５０４によって、位置制御、速度制御及び電流制御が実行されることで、ベクトル制御部５１５から駆動電圧Ｖα，ＶβがＰＷＭインバータ５０６へ出力される。更に、ＰＷＭインバータ５０６からステッピングモータ５０９の各相の巻線に駆動電流が供給される。
【００７５】
その際、Ｓ１０２で、モータ制御部１５７は、ベクトル制御部５１５によって出力されるステッピングモータ５０９の駆動電圧Ｖα，Ｖβと、電流検出部５０７によって検出された駆動電流の、ＡＤ変換後の値ｉα，ｉβとを検出する。その検出結果に基づいて、Ｓ１０３で、モータ制御部１５７（相電流補正部５２０）は、Ａ相及びＢ相の駆動電流の検出値に対して、上述のように、正弦波関数に近似させるための補正処理を行うことで、補正された電流検出値ｉα'，ｉβ'を生成する。
【００７６】
次に、Ｓ１０４で、モータ制御部１５７（誘起電圧演算部５１２）は、補正された電流検出値ｉα'，ｉβ'を式（４）に適用することで、誘起電圧Ｅα，Ｅβを演算する。更に、Ｓ１０５で、モータ制御部１５７（位置演算部５１３）は、式（５）を用いて、ステッピングモータ５０９の位置θの推定値を演算する。更に、Ｓ１０６で、モータ制御部１５７（速度演算部５１４）は、式（６）を利用してステッピングモータ５０９の回転速度ωの推定値を演算する。
【００７７】
その後、Ｓ１０７で、モータ制御部１５７は、ＣＰＵ１５１ａからの指示に基づいて、センサレス制御を終了するか否か判定する。モータ制御部１５７は、その判定の結果、センサレス制御を継続する場合には、Ｓ１０５で得られた推定値θ、及びＳ１０６で得られた回転速度ωの推定値に基づいて、Ｓ１０１で、ベクトル制御を実行する。更に、モータ制御部１５７は、Ｓ１０２〜Ｓ１０７の処理を実行する。このようにして、モータ制御部１５７は、Ｓ１０７においてセンサレス制御を終了するまでの間、Ｓ１０１〜Ｓ１０７の処理を繰り返す。
【００７８】
以上説明したように、本実施形態では、モータ制御部１５７は、位置指令値θ＿ｒｅｆに基づいて、ステッピングモータ５０９へ供給する駆動電流を、当該モータの位置θを基準とした回転座標系における電流値によって制御するベクトル制御を実行する。これにより、ステッピングモータ５０９の各相の巻線に駆動電流が供給される。モータ制御部１５７は、ステッピングモータ５０９の各相の巻線に流れる駆動電流を検出して得た電流検出値を正弦波関数に近似させることによって、当該電流検出値を補正する。更に、モータ制御部１５７は、補正された電流検出値に基づく推定演算により、ベクトル制御に用いられる位置θを推定する。本実施形態によれば、このように電流検出値を正弦波形状に近似させることで、推定演算によって得られる位置θに生じる歪みを抑えることが可能になり、位置θの推定精度を改善することが可能になる。
【００７９】
なお、上述の実施形態では、ステッピングモータがモータ制御部１５７の制御対象である例について説明している。しかし、上述の実施形態は、ステッピングモータ以外のタイプのモータ（例えば、感光ドラム３０９を駆動するブラシレスＤＣモータ）の駆動制御にベクトル制御を用いる場合にも適用可能であり、その場合、上述の効果と同様の効果を期待できる。
【符号の説明】
【００８０】
１００：画像形成装置、１５１ａ：ＣＰＵ、１５７：モータ制御部、５０１：位置制御器、５０６：ＰＷＭインバータ、５０７，５０８：電流検出部、５０９：ステッピングモータ、５１０：Ａ／Ｄ変換器、５１２：誘起電圧演算部、５１３：位置演算部、５１４：速度演算部、５１５：ベクトル制御部、５２０：オープンループ制御部
【図１】
2017073877.tif 000003
【図２】
2017073877.tif 000004
【図３】
2017073877.tif 000005
【図４】
2017073877.tif 000006
【図５】
2017073877.tif 000007
【図６】
2017073877.tif 000008
【図７】
2017073877.tif 000009
【図８】
2017073877.tif 000010
【図９】
2017073877.tif 000011
【図１０】
2017073877.tif 000012
【図１１】
2017073877.tif 000013