以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
<画像形成装置>
まず、図1を参照して、本発明の実施形態に係るモータ制御装置が実装される画像形成装置の構成例について説明する。図1に示す画像形成装置100は、原稿自動送り装置201、読取装置202、及び画像形成装置本体301を備えている。
原稿自動送り装置201の原稿載置部203に置かれた原稿は、給紙ローラ204によって1枚ずつ給紙され、搬送ガイド206を経由して読取装置202の原稿ガラス台214に搬送される。更に、原稿は、搬送ベルト208によって一定速度で搬送された後、排紙ローラ205によって装置外部へ排紙される。この間、読取装置202の読取位置において照明系209によって照明された原稿画像からの反射光は、反射ミラー210,211,212から成る光学系によって画像読取部101に導かれ、画像読取部101によって画像信号に変換される。画像読取部101は、レンズ、光電変換素子であるCCD、CCDの駆動回路等で構成される。画像読取部101から出力された画像信号は、ASIC等のハードウェアデバイスで構成される画像処理部112によって、各種補正処理が行われた後、画像形成装置本体301へ出力される。
読取装置202における原稿の読取モードとして、流し読みモード及び固定モードがある。流し読みモードは、照明系209及び光学系を停止した状態で、原稿を一定速度で搬送しながら当該原稿の画像を読み取るモードである。固定モードは、読取装置202の原稿ガラス台214上に原稿を載置し、照明系209及び光学系を一定速度で移動させながら、原稿ガラス台214上に載置された原稿の画像を読み取るモードである。通常、シート状の原稿は流し読みモードにより読み取られ、綴じられた原稿は固定モードで読み取られる。
画像形成装置100は、読取装置202から出力される画像信号に基づいて、画像形成装置本体301においてページ単位で記録紙(記録材)に画像を形成するコピー機能を有する。なお、画像形成装置100は、ネットワークを介して外部装置から受信したデータに基づいて記録紙に画像を形成する印刷機能も有している。
読取装置202から出力された画像信号は、光走査装置311に入力される。光走査装置311は、半導体レーザ及びポリゴンミラーを含み、入力された画像信号で変調されたレーザ光(光信号)を、半導体レーザから出力する。半導体レーザから出力されたレーザ光が、ポリゴンミラー、及びミラー312,313を経由して感光ドラム309の表面に照射されることで、感光ドラム309が露光される。帯電器310によって表面が一様に帯電した感光ドラム309がレーザ光によって露光されることで、感光ドラム309上に静電潜像が形成される。感光ドラム309上に形成された静電潜像が、現像器314から供給されるトナーによって現像されることで、感光ドラム309上にトナー像が形成される。感光ドラム309上のトナー像は、感光ドラム309の回転に伴って転写分離器315と対向する位置(転写位置)まで移動すると、転写分離器315によって記録紙に転写される。
記録紙は、紙カセット302及び304に収納されており、それぞれ異なる種類の記録紙を収納可能である。例えば、紙カセット302には標準の記録紙が収納され、紙カセット304にはタブ紙が収納される。紙カセット302に収納された記録紙は、給紙ローラ303によって搬送路上に給紙され、搬送ローラ306によってレジストローラ308の位置まで搬送され、そこで一時的に停止する。一方、紙カセット304に収納された記録紙は、給紙ローラ305によって搬送路上に給紙され、搬送ローラ307,306によってレジストローラ308の位置まで搬送され、そこで一時的に停止する。
レジストローラ308の位置まで搬送された記録紙は、感光ドラム309上のトナー像が転写位置に到達するタイミングに合わせて、レジストローラ308によって転写位置へ搬送される。転写位置において感光ドラム309からトナー像が転写された記録紙は、搬送ベルト317によって定着器318へ搬送される。定着器318は、熱及び圧力により、記録紙上のトナー像を当該記録紙に定着させる。
片面印刷モードで画像形成が行われる場合には、定着器318を通過した記録紙は、排紙ローラ319,324によって装置外部へ排紙される。両面印刷モードで画像形成が行われる場合には、定着器318を通過後、表面(第1面)に画像が形成された記録紙は、排紙ローラ319、搬送ローラ320及び反転ローラ321によって、反転パス325へ搬送される。更に、記録紙の後端が、反転パス325と両面パス326との合流ポイントを通過した直後に、反転ローラ321の回転を反転させることで、記録紙が逆方向に搬送され始め、両面パス326へ搬送される。その後、記録紙は、搬送ローラ322,323によって両面パス326を搬送され、再び搬送ローラ306によってレジストローラ308の位置まで搬送され、そこで一時的に停止する。更に、記録紙の表面(第1面)への画像形成と同様に、転写位置において記録紙の裏面(第2面)へのトナー像の転写処理が行われ、更に定着器318によって定着処理が行われた後、記録紙は、装置外部へ排紙される。このように、反転ローラ321は、記録紙の両面に画像を形成する際に、搬送路上で記録紙の搬送方向を反転させるための反転ローラとして機能する。
また、表面へ画像形成された記録紙の表裏を反転させて(第1面が下向きになるように反転させて)記録紙を装置外部へ排紙する場合には、定着器318を通過した記録紙を、排紙ローラ324へ向かう方向でははく、搬送ローラ320へ向かう方向へ一時的に搬送する。その後、記録紙の後端が搬送ローラ320の位置を通過する直前に、搬送ローラ320の回転を反転させることで、記録紙が逆方向に搬送され始め、排紙ローラ324へ向かう方向へ搬送される。その結果、記録紙は、表裏が反転した状態で排紙ローラ324によって装置外部へ排紙される。このように、搬送ローラ320は、画像形成が行われた記録紙を、表裏を反転させて排紙する際に、搬送路上で記録紙の搬送方向を反転させるための反転ローラとして機能する。
このように、画像形成装置本体301は、画像が形成される記録紙の搬送用のローラとして、搬送ローラ306,307、排紙ローラ319、反転ローラ321、搬送ローラ322,323、及び排紙ローラ324を備えている。これらのローラを駆動するモータの駆動制御は、後述するように、システムコントローラ151(図2)からの指示により、モータ制御部157(図2)によって行われる。
(画像形成装置の制御構成)
図2は、画像形成装置100の制御構成例を示すブロック図である。図2に示すシステムコントローラ151は、CPU151a、ROM151b、及びRAM151cを備え、画像形成装置100全体を制御する。システムコントローラ151は、画像処理部112、操作部152、アナログ・デジタル(A/D)変換器153、高圧制御部155、モータ制御部157、センサ類159、及びACドライバ160と接続されている。システムコントローラ151は、接続された各ユニットとの間でデータの交換が可能である。
CPU151aは、ROM151bに格納された各種プログラムを読み出して実行することによって、予め定められた画像形成シーケンスに関連する各種シーケンスを実行する。RAM151cは、揮発性の記憶デバイスであり、CPU151aは、各種プログラムを実行するためのワークエリアとして、または各種データが一時的に格納される一時記憶領域として使用される。RAM151cには、例えば、高圧制御部155に対する設定値、モータ制御部157に対する指令値、操作部152から受信される情報等のデータが格納される。
システムコントローラ151は、ユーザが各種の設定を行うための操作画面を、操作部152に設けられた表示部に表示するよう、操作部152を制御することで、操作部152を介してユーザによる設定を受け付ける。システムコントローラ151は、操作部152を介したユーザによる設定の内容(複写倍率の設定値、濃度設定値等)を示す情報を、操作部152から受信する。また、システムコントローラ151は、画像形成装置の状態をユーザに知らせるためのデータを操作部152に送信する。操作部152は、システムコントローラ151から受信したデータに基づいて、画像形成装置の状態を示す情報(例えば、画像形成枚数、画像形成中か否かを示す情報、ジャムの発生及び発生個所を示す情報)を表示部に表示する。
システムコントローラ151(CPU151a)は、画像処理部112に対して、画像処理部112における画像処理に必要となる、画像形成装置100内の各デバイスの設定値データを送信する。また、システムコントローラ151は、各デバイスからの信号(センサ類159からの信号)を受信して、受信した信号に基づいて高圧制御部155を制御する。高圧制御部155は、システムコントローラ151から出力される設定値に基づいて、高圧ユニット156を構成する帯電器310、現像器314、及び転写分離器315に対して、それぞれの動作に必要となる電圧を供給する。
A/D変換器153は、定着ヒータ161の温度を検出するためのサーミスタ154から検出信号を受信し、当該検出信号をデジタル信号に変換してシステムコントローラ151に送信する。システムコントローラ151は、A/D変換器153から受信したデジタル信号に基づいてACドライバ160を制御することで、定着ヒータ161の温度を、定着処理のための所望の温度に制御する。なお、定着ヒータ161は、定着器318に含まれる、定着処理に用いられるヒータである。
このように、システムコントローラ151は、画像形成装置100の動作シーケンスを制御する。また、システムコントローラ151は、モータ制御部157を介して、各モータの駆動シーケンスを制御する。モータ制御部157は、システムコントローラ151からの指示に従って、記録紙の搬送用のローラを駆動する駆動源に相当するモータ(図3及び図8に示すステッピングモータ509)を制御する。なお、画像形成装置100は、記録紙の搬送用の各ローラに対応するモータごとに、当該モータを制御するモータ制御部157を備えている。本実施形態では、モータ制御部157は、モータの駆動制御を行うモータ制御装置の一例である。
モータ制御部157の外部のコントローラに相当するシステムコントローラ151(CPU151a)は、制御対象のモータ(ステッピングモータ509)の位置(回転位置)の指令値(θ_ref)を生成し、モータ制御部157へ出力する。例えば、位置指令値θ_refは、パルス状の矩形波信号であり、1パルスがステッピングモータの回転角度の最小変化量を規定する。なお、モータの回転速度の指令値(速度指令値ω_ref)は、θ_refに対応する周波数として求められる。CPU151aは、モータの駆動シーケンスを開始すると、生成した位置指令値θ_refを、所定の時間周期(制御周期)でモータ制御部157へ出力する。モータ制御部157は、CPU151aから与えられる位置指令値に従って、モータ(ステッピングモータ509)の位置制御及び速度制御を実行する。
<ベクトル制御>
次に、図3及び図4を参照して、モータ制御部157によって実行される、ステッピングモータ509のベクトル制御の概要について説明する。図3は、本実施形態に対する比較例に相当する、モータ制御部157の構成例を示すブロック図である。図3に示すモータ制御部157の基本的な構成は、ブラシレスDCモータ、ACサーボモータ等のモータで利用されている、静止座標系から回転座標系への座標変換を用いたインバータ制御に対応した構成である。
モータ制御部157では、ベクトル制御部515から出力される、ステッピングモータ509の駆動電圧Vα,Vβに応じて、PWMインバータ506がステッピングモータ509へ駆動電流を供給することによって、ステッピングモータ509を駆動する。なお、図3に示すように、ベクトル制御部515は、速度制御器502、電流制御器503,504、及び座標変換器505,511によって構成されている。
ここで、図4は、A相及びB相から成る2相のモータと回転座標系のd軸及びq軸との関係を示す図である。同図では、静止座標系における、A相及びB相の巻線に対応した軸をそれぞれα軸及びβ軸と定義している。また、静止座標系におけるα軸と、回転子(ロータ)として用いられる永久磁石の磁極によって作られる磁束の方向(d軸)との成す角度をθと定義している。この場合、ステッピングモータ509の出力軸の位置(回転位置)は、角度θによって表される。ベクトル制御では、図4に示すように、回転子の磁束方向に沿ったd軸と、d軸から90度進んだ方向に沿った(d軸と直交する)q軸とで表される、ステッピングモータ509の位置θを基準とした回転座標系が用いられる。
モータ制御部157は、ステッピングモータ509へ供給する駆動電流を、ステッピングモータ509の位置θを基準とした回転座標系の電流値によって制御するベクトル制御を行う。ベクトル制御では、ステッピングモータ509のA相及びB相の巻線に流れる駆動電流に対応する電流ベクトルが、α軸及びβ軸で表される静止座標系から、d軸及びq軸で表される回転座標系に変換される。このような座標変換の結果、ステッピングモータ509に供給される駆動電流は、回転座標系において、直流のd軸成分(d軸電流)及びq軸成分(q軸電流)によって表される。この場合、q軸電流は、ステッピングモータ509にトルクを発生させるトルク電流成分に相当し、d軸電流は、ステッピングモータ509の回転子の磁束強度に影響する励磁電流成分に相当する。モータ制御部157は、回転座標系におけるq軸電流及びd軸電流を独立して制御することで、ステッピングモータ509のベクトル制御を実現する。
具体的には、モータ制御部157は、ステッピングモータ509の回転子の位置及び回転速度を推定し、その推定結果に基づいてベクトル制御を行う。モータ制御部157は、図3に示すように、位置制御器501、速度制御器502、及び電流制御器503,504へのそれぞれのフィードバックに基づく3つの制御ループを含み、これらの制御ループによってベクトル制御を実現する。なお、図3に示すモータ制御部157において、ステッピングモータ509の位置θの推定は、誘起電圧演算部512及び位置演算部513によって行われる。また、ステッピングモータ509の回転速度ωの推定は、位置θの推定値に基づいて、速度演算部514によって行われる。
位置制御器501を含む、最も外側の制御ループでは、ステッピングモータ509の位置θの推定値のフィードバックに基づいて、ステッピングモータ509の位置制御を行う。モータ制御部157には、システムコントローラ151のCPU151aから、ステッピングモータ509の位置指令値θ_refが与えられる。位置制御器501は、位置演算部513からフィードバックされる、ステッピングモータ509の位置θの推定値の、位置指令値θ_ref(目標値)に対する偏差が0に近づくように、速度指令値ω_refを生成して出力する。このようにして、位置制御器501によるステッピングモータ509の位置制御が行われる。
速度制御器502を含む制御ループでは、ステッピングモータ509の回転速度ωの推定値のフィードバックに基づいて、ステッピングモータ509の速度制御を行う。速度制御器502は、速度演算部514からフィードバックされる、ステッピングモータ509の回転速度ωの推定値の、速度指令値ω_ref(目標値)に対する偏差が0に近づくように、電流指令値iq_ref,id_refを生成して出力する。なお、電流指令値iq_ref,id_refは、静止座標系(αβ軸)から回転座標系(dq軸)への座標変換後の、回転座標系における電流指令値である。
電流制御器503,504を含む制御ループでは、ステッピングモータ509の各相の巻線に流れる駆動電流の検出値のフィードバックに基づいて、ステッピングモータ509の各相の巻線に供給する駆動電流を制御する。ここで、ステッピングモータ509のA相及びB相の巻線にそれぞれ流れる電流(交流電流)の電流値iα,iβは、静止座標系において、ステッピングモータ509の位置θを用いて次式によって表すことができる。
iα=I*cosθ
iβ=I*sinθ (1)
この場合、回転座標系におけるd軸電流及びq軸電流(直流電流)の電流値id,iqは、次式に示す座標変換によって表される。
id= cosθ*iα+sinθ*iβ
iq=−sinθ*iα+cosθ*iβ (2)
このような座標変換によって、静止座標系における、A相及びB相の巻線にそれぞれ流れる交流電流値iα,iβは、回転座標系における直流電流値iq,idに変換される。なお、q軸電流は、ステッピングモータ509にトルクを発生させるトルク電流成分(第1の電流成分)である。d軸電流は、ステッピングモータ509の回転子の磁束強度に影響する励磁電流成分(第2の電流成分)であり、ステッピングモータ509のトルクの発生には寄与しない。
ステッピングモータ509のA相及びB相の巻線に流れる駆動電流は、PWMインバータ506とステッピングモータ509との間に設けられた電流検出部507,508によってそれぞれ検出される。電流検出部507,508によって検出された駆動電流の値は、A/D変換器510によってアナログ値からデジタル値へ変換されることで、CPU、またはFPGA等のプログラミングデバイスによる取り込みが可能になる。A/D変換器510から出力される、静止座標系における電流値iα,iβは、座標変換器511及び誘起電圧演算部512へ入力される。
座標変換器511は、式(2)によって、静止座標系(αβ軸)における電流値iα,iβを回転座標系(dq軸)における電流値iq,idへ変換して出力する。電流制御器503,504には、座標変換器511から出力される、回転座標系における検出された電流値iq,idと、速度制御器502から出力される、回転座標系における電流指令値iq_ref,id_refとの差分値が入力される。電流制御器503,504は、入力された差分値(即ち、検出された電流値iq,idの、目標値である電流指令値iq_ref,id_refに対する偏差)が0に近づくように、回転座標系における電流値iq',id'を生成及び出力する。なお、位置制御器501、速度制御器502、及び電流制御器503,504はそれぞれ、例えば、比例補償器及び積分補償器で構成され、PI制御によりフィードバック制御を実現する。
座標変換器505は、電流制御器503,504から出力される、回転座標系における電流値iq',id'を、次式によって、静止座標系における電流値iα',iβ'へ逆変換する。
iα'=cosθ*id'−sinθ*iq'
iβ'=sinθ*id'+cosθ*iq' (3)
座標変換器505は、静止座標系への座標変換後の電流値iα',iβ'に応じた駆動電圧Vα,Vβを、フルブリッジ回路で構成されたPWMインバータ506、及び誘起電圧演算部512へ出力する。
このようにして、ベクトル制御部515は、ステッピングモータ509の位置θを基準とした回転座標系(dq軸)の電流値によって、ステッピングモータ509の各相の巻線に供給する駆動電流を制御するベクトル制御を行う。ベクトル制御部515は、ステッピングモータ509の位置θの推定値のフィードバックに基づくベクトル制御の結果として、ステッピングモータ509へ供給する駆動電流に対応する駆動電圧Vα,Vβを出力する。なお、ベクトル制御では、通常、ステッピングモータ509のトルクの発生には寄与しない電流成分であるd軸電流は、値が0となるように制御される。即ち、ベクトル制御部515では、電流指令値id_refが0に設定される。
PWMインバータ506では、座標変換器505から入力された駆動電圧Vα,Vβによってフルブリッジ回路が駆動される。その結果、PWMインバータ506は、駆動電圧Vα,Vβに応じてステッピングモータ509の各相の巻線に駆動電流を供給することによって、ステッピングモータ509を駆動する。
<センサレス制御>
上述のように、ベクトル制御では、モータの位置制御及び速度制御を行うために、モータの位置及び回転速度を示す情報のフィードバックが必要である。具体的には、図3に示す構成では、ステッピングモータ509の位置θを示す位置情報、及びステッピングモータ509の回転速度ωを示す速度情報を、位置制御器501及び速度制御器502にそれぞれフィードバックする必要がある。
通常、モータの位置及び回転速度を検出(推定)するためには、モータにロータリエンコーダを取り付け、エンコーダの出力パルス数に基づいて位置を検出し、エンコーダの出力パルス周期に基づいて回転速度を検出する。しかし、本来ステッピングモータの駆動に不要であるエンコーダを追加することによって、上述のように、コストアップ及び配置スペースの確保が問題となる。そこで、エンコーダ等の位置検知のためのセンサを用いることなくモータの位置及び回転速度を推定し、その推定結果に基づいてベクトル制御を行うセンサレス制御が提案されている。以下では、再び図3を参照して、ステッピングモータ509のセンサレス制御について説明する。
まず、誘起電圧演算部512は、ステッピングモータ509(の回転子)の回転に従って、A相(第1相)及びB相(第2相)の巻線にそれぞれ誘起される誘起電圧(A相及びB相の逆起電圧)を演算する。具体的には、A/D変換器510によるデジタル値への変換後の電流値iα,iβと、ベクトル制御部515から出力された、ステッピングモータ509の駆動電圧Vα,Vβとが、誘起電圧演算部512に入力される。誘起電圧演算部512は、A相及びB相のそれぞれについて、駆動電圧Vα,Vβと電流値iα,iβとから、以下の電圧方程式によって、ステッピングモータ509の誘起電圧Eα,Eβを演算する。
Eα=Vα−R*iα−L*diα/dt
Eβ=Vβ−R*iβ−L*diβ/dt (4)
ここで、Rは巻線レジスタンス、Lは巻線インダクタンスである。R及びLの値は、使用されているステッピングモータ509に固有の値であり、ROM151b、またはモータ制御部157内に設けられた不図示のメモリに予め格納されている。
誘起電圧演算部512によって演算された、A相及びB相の誘起電圧Eα,Eβは、位置演算部513へ入力される。位置演算部513は、A相の誘起電圧EαとB相の誘起電圧Eβとの比から、次式によってステッピングモータ509の位置θの推定値を演算する。
θ=tan-1(−Eβ/Eα) (5)
位置演算部513は、このような推定演算により得られた位置θの推定値を、位置制御器501及び速度演算部514に出力(フィードバック)する。なお、位置θの推定値は、位置演算部513から速度制御器502、座標変換器505,511にもフィードバックされることで、座標変換等に利用される。
速度演算部514は、入力された位置θから、次式によってステッピングモータ509の回転速度ωの推定値を演算する。
ω=dθ/dt (6)
式(6)のように、回転速度ωは、位置θの推定値の時間変化に基づいて演算される。速度演算部514は、得られた回転速度ωを速度制御器502に出力(フィードバック)する。
図5は、式(4)により算出される誘起電圧Eα,Eβと、式(5)により算出されるステッピングモータ509の電気角(位置θ)との関係の例を示す図である。なお、図5は、巻線レジスタンスR=3.41[Ω]、巻線インダクタンスL=4.3[mH]、ステッピングモータ509の回転速度ω=13.5[rps]とした場合の、シミュレーション結果を一例として示している。図5に示すシミュレーション結果によれば、誘起電圧Eα,Eβは、90度の位相差を有しており、それらの振幅の比に応じた電気角が、ステッピングモータ509の位置θとして算出されていることが確認できる。
<位置θの推定値の補正>
モータ制御部157では、誘起電圧演算部512及び位置演算部513における上述の推定演算によって、図5に示すようにステッピングモータ509の電気角(位置θ)を推定することで、ステッピングモータ509のセンサレス制御が実現される。しかし、実際には、ステッピングモータ509の電気角を推定するための推定演算は、ある程度の時間を要する(即ち、推定演算に伴って遅延が発生する)。その結果、ステッピングモータ509の電気角(位置θ)の推定値には、推定演算に伴う遅延に起因して、実際の値から誤差が生じる。
図6は、ステッピングモータ509の推定電気角と実際の電気角との関係の例を示す図である。図6(A)は、ステッピングモータ509がCW方向に回転している場合、図6(B)は、ステッピングモータ509がCCW方向に回転している場合を示している。ステッピングモータ509には、検出された駆動電流の値に基づく電気角の推定演算を開始してから推定演算が完了する(推定値が得られる)までの間に、所定量の回転が生じる。このため、図6のように、推定演算により得られる推定電気角には、ステッピングモータ509の実際の電気角に対して、所定量の位相オフセットが誤差として生じる結果となる。
また、図6(A)のように、ステッピングモータ509がCW方向に回転している場合には、「推定電気角<実際の電気角」となり、即ち、推定電気角には、実際の電気角よりも所定量だけ位相遅れが生じる。一方、図6(B)のように、ステッピングモータ509がCCW方向に回転している場合には、「推定電気角>実際の電気角」となり、即ち、推定電気角には、実際の電気角よりも所定量だけ位相進みが生じる。
加えて、モータ制御部157によるステッピングモータ509の制御周期が一定である場合、ステッピングモータ509の回転速度が速いほど、位相オフセット量が大きくなる。ここで、図7は、ステッピングモータの回転速度(回転数)と推定電気角の遅延量との関係の例を示す図である。図7によれば、ステッピングモータ509の回転速度(回転数)に比例して、実際の電気角に対する推定電気角の遅延量(位相遅れ)が大きくなることがわかる。このように、ステッピングモータ509の回転速度が大きくなるほど、実際の電気角に対する推定電気角の誤差が大きくなり、その結果として、ベクトル制御におけるモータの制御効率を悪化させるだけでなく、モータが制御不能の状態に至る可能性がある。
したがって、センサレス制御によるモータのベクトル制御では、モータの位置の推定演算に伴う遅延によって生じる推定誤差を低減することで、ベクトル制御における制御効率を改善しながら、モータが制御不能の状態に至ることを防止することが必要である。本実施形態では、ベクトル制御における制御効率を最大限に維持しながら、ステッピングモータ509を制御不能の状態に至らせることを防止するために、ステッピングモータ509の位置θの推定値を補正し、補正後の推定値を用いてベクトル制御を行う。具体的には、モータ制御部157は、ステッピングモータ509の位置θを推定するための推定演算に伴う遅延によって、位置θの推定値に生じる誤差が低減されるように、ステッピングモータ509の回転速度に応じて当該推定値を補正する。
図8は、本実施形態に係るモータ制御部157の構成例を示すブロック図である。図8に示すように、モータ制御部157は、図3に示す構成における位置演算部513の出力側に遅延補正部701を追加した構成を有する。遅延補正部701は、ステッピングモータ509の位置θの推定演算に伴う遅延によって、位置θの推定値に生じる上述の誤差が低減されるように、ステッピングモータ509の回転速度に応じて当該推定値を補正し、補正後の推定値θ'を出力する。本実施形態では、位置演算部513から出力される、位置θの推定値そのものではなく、遅延補正部701から出力される、位置θの補正後の推定値θ'を、ステッピングモータ509のベクトル制御のためにフィードバックする。即ち、ベクトル制御部515は、ステッピングモータ509の位置θの補正後の推定値θ'に基づいて、ステッピングモータ509のベクトル制御を行う。
より具体的には、遅延補正部701は、ステッピングモータ509(の回転子)の回転速度に応じて、位置θの推定演算に伴う遅延を補正するための補正量αを決定し、決定した補正量αで、位置θの推定値を補正する。図7を参照して説明したように、誘起電圧演算部512及び位置演算部513の推定演算によって得られる位置θの推定値には、ステッピングモータ509の回転速度が速くなるほど、大きな誤差が生じる。したがって、遅延補正部701は、そのような回転速度に応じて変化する誤差が低減されるよう、ステッピングモータ509の回転速度が速いほど補正量αを大きな値に決定し、決定した補正量αで位置θの推定値を補正する。
遅延補正部701は、決定した補正量αを、位置演算部513から出力された位置θの推定値に対して加算することで、補正後の推定値θ'を求める。遅延補正部701は、補正後の推定値θ'を、位置制御器501及び速度演算部514に出力(フィードバック)する。なお、補正後の推定値θ'は、遅延補正部701から速度制御器502、座標変換器505,511にもフィードバックされることで、座標変換等に利用される。
本実施形態では、遅延補正部701は、図8に示すように、位置制御器501から出力される(即ち、CPU151aから与えられる位置指令値θ_refから得られる)速度指令値ω_refに応じて、補正量αを決定している。ただし、遅延補正部701は、速度演算部514によって演算される回転速度ωに応じて、補正量αを決定してもよい。ただし、ステッピングモータ509の回転を加速または減速する際、速度演算部514によって演算される回転速度ωに、位置θ及び回転速度ωの推定演算に伴う遅延に起因した誤差が生じうる。このため、そのような場合には、遅延補正部701は、速度演算部514によって演算される回転速度ωではなく、速度指令値ω_refに応じて補正量αを決定するとよい。
また、ステッピングモータ509が、搬送ローラ320及び反転ローラ321のような反転ローラの駆動源として用いられている場合、当該モータの駆動制御中に、当該モータの回転方向が変化することがある。例えば、画像形成装置100において記録紙の両面に画像を形成する際、または画像形成が記録材の表裏を反転させて排紙する際に、反転ローラによる記録紙の搬送方向に応じて、ステッピングモータ509の回転方向が変化する。このような場合、図6及び図7を参照して説明したように、位相θの推定値には、ステッピングモータ509の回転方向(CW方向またはCCW方向)に依存して、位相遅れまたは位相進みが生じうる。したがって、駆動制御中にステッピングモータ509の回転方向が変化する場合には、遅延補正部701は、ステッピングモータ509の回転方向に応じて、位相θの推定値の補正を行う必要がある。
本実施形態では、遅延補正部701は、ステッピングモータ509の回転方向がCW(第1の回転方向)である場合には、位相遅れが低減されるよう、ステッピングモータ509の回転速度に応じた補正量αを位相θの推定値に加算する。一方、遅延補正部701は、ステッピングモータ509の回転方向がCCW(第1の回転方向とは逆の第2の回転方向)である場合には、位相進みが低減されるよう、位相θの推定値から、ステッピングモータ509の回転速度に応じた補正量αを減算する。なお、遅延補正部701は、CPU151aから与えられる、ステッピングモータ509の回転方向を示す情報に基づいて、位相θの推定値を補正する。このような処理によって、ステッピングモータ509の回転方向の変化に対応した、位相θの推定値の補正が可能になる。
遅延補正部701は、以下の式(7)によって、ステッピングモータ509の回転速度に応じた補正量αを決定することができる。
α=S*td[sec]*ω_ref[rps]*2π*N+θf[rad] (7)
ここで、Sは、回転方向の極性(CWの場合にはS=1、CCWの場合にはS=−1)、tdは、位相θの推定演算に伴う遅延時間(演算遅延時間)、(2π*N)は、機械角1周あたりの電気角、及びθfは、フィルタ702による位相遅れを表す。CPU151aから与えられる指示信号CW/CCWが、CWを指示する論理(例えば'H')であれば、S=1、CCWを指示する論理(例えば'L')であれば、S=−1となる。td、(2π*N)及びθfの値は、ROM151bまたはモータ制御部157内に設けられた不図示のメモリに予め格納される。なお、モータ制御部157にフィルタ702が存在しない場合には、式(7)においてθfは不要である。
あるいは、ステッピングモータ509の回転速度(速度指令値ω_ref)に対応する補正量αを式(7)によって予め求めてもよい。その場合、ステッピングモータ509の回転速度(速度指令値ω_ref)と、回転速度に対応する補正量αとの関係を示すデータを、ROM151bまたはモータ制御部157内に設けられた不図示のメモリに予め格納してもよい。この場合には、遅延補正部701は、補正量αを決定するための演算を行うことなく、速度指令値ω_refに対応する、ROM151bまたはメモリに格納されたデータが示す補正量αで、位相θの推定値を補正しうる。
モータ制御部157には、図8に示すように、A/D変換器510と誘起電圧演算部512との間にフィルタ702を設けてもよい。本実施形態では、フィルタ702は、A/D変換器510と誘起電圧演算部512との間に設けられ、A/D変換器510によるA/D変換後のデジタル値に対して高周波成分を除去するフィルタリングを行うデジタルフィルタである。フィルタ702は、電流検出部507,508によって検出された駆動電流の値を示すデジタル信号に対してフィルタリングを行うことで、当該信号からノイズを除去(少なくとも低減)する。この場合、フィルタ702によるフィルタリングに伴って、フィルタ702を通過する信号に遅延が生じる。このため、フィルタ702を通過した信号と、対応する駆動電圧Vα,Vβとの、誘起電圧演算部512への入力タイミングを合わせるように、駆動電圧Vα,Vβに対してもフィルタ703が設けられる。図8に示すように、フィルタ703は、誘起電圧演算部512へ入力される駆動電圧Vα,Vβに対して、高周波成分を除去するフィルタリングを行うよう、座標変換器505と誘起電圧演算部512との間に設けられる。フィルタ703によって、フィルタ702と同様の遅延が駆動電圧Vα,Vβへ与えられる。なお、フィルタ702に代えて、A/D変換器510の前段に、ノイズを除去するためのアナログフィルタを設けてもよい。
図8に示すように、モータ制御部157にフィルタ702を設けた場合、位相θの推定演算に伴う遅延だけでなく、フィルタ702によるフィルタリングに伴う遅延も生じる。したがって、このようなフィルタリングに伴う遅延によって生じる位置θの推定誤差も補正する必要がありうる。この場合、遅延補正部701は、推定演算に伴う遅延とフィルタリングに伴う遅延とによって位置θの推定値に生じる誤差が低減されるように、例えば式(7)のように、補正量αを決定し、位置θの推定値を補正してもよい。これにより、フィルタ702によるフィルタリングに伴う遅延に起因して生じる位置θの推定誤差を低減することが可能である。
なお、本実施形態では、図8に示すように、速度演算部514の入力として、遅延補正部701から出力される補正後の推定値θ'を用いているが、位置演算部513から出力される、位相θの推定値を用いてもよい。ステッピングモータ509が一定速度で回転している場合には、位相θの推定値に誤差が生じたとしても、図5からも明らかなように、単位時間当たりの位相θの変化量にはその影響がないためである。
<モータ制御部による制御フロー>
図9は、図8に示すモータ制御部157によって実行される制御フローを示すフローチャートである。なお、モータ制御部157は、FPGAやASIC等のデバイスによって構成されてもよく、その場合、図9に示す制御フローは、そのような回路が有する機能に従った処理の手順を示す。
モータ制御部157は、CPU151aからの指示によりセンサレス制御を開始すると、S101で、CPU151aからの指令値(θ_ref)に基づいて、上述のようにベクトル制御を実行する。即ち、モータ制御部157では、位置制御器501、速度制御器502及び電流制御器503,504によって、位置制御、速度制御及び電流制御が実行されることで、ベクトル制御部515から駆動電圧Vα,VβがPWMインバータ506へ出力される。更に、PWMインバータ506からステッピングモータ509の各相の巻線に駆動電流が供給される。
その際、S102で、モータ制御部157は、ベクトル制御部515によって出力されるステッピングモータ509の駆動電圧Vα,Vβと、電流検出部507によって検出された駆動電流の、AD変換後の値iα,iβとを検出する。その検出結果に基づいて、モータ制御部157(誘起電圧演算部512)は、S103で、式(4)を用いて誘起電圧Eα,Eβを演算する。更に、S104で、モータ制御部157(位置演算部513)は、式(5)を用いて、ステッピングモータ509の位置θの推定値を演算する。
次に、S105で、モータ制御部157(遅延補正部701)は、位置制御器501から出力される速度指令値ω_refに基づいて、位置θの推定演算に伴う遅延、及びフィルタ702によるフィルタリングに伴う遅延に関する遅延補正を行う。即ち、遅延補正部701は、ステッピングモータ509の位置θの推定値に対して、上述の補正量αを加えることで遅延補正を実行し、補正後の推定値θ'を求める。なお、補正量αは、式(7)に基づいて決定されてもよいし、ROM151b等の記憶デバイスに予め格納されているデータに基づいて決定されてもよい。
更に、S106で、モータ制御部157(速度演算部514)は、式(6)を利用してステッピングモータ509の回転速度ωの推定値を演算する。その後、S107で、モータ制御部157は、CPU151aからの指示に基づいて、センサレス制御を終了するか否か判定する。モータ制御部157は、その判定の結果、センサレス制御を継続する場合には、S105で得られた補正後の推定値θ'、及びS106で得られた回転速度ωの推定値に基づいて、S101で、ベクトル制御を実行する。更に、モータ制御部157は、S102〜S107の処理を実行する。このようにして、モータ制御部157は、S107においてセンサレス制御を終了するまでの間、S101〜S107の処理を繰り返す。
以上説明したように、本実施形態では、モータ制御部157は、位置指令値θ_refに基づいて、ステッピングモータ509へ供給する駆動電流を、当該モータの位置θを基準とした回転座標系における電流値によって制御するベクトル制御を実行する。これにより、ステッピングモータ509の各相の巻線に駆動電流が供給される。モータ制御部157は、ステッピングモータ509の各相の巻線に流れる駆動電流を検出し、その検出結果に基づく推定演算により、ベクトル制御に用いられる位置θを推定する。モータ制御部157は、推定演算に伴う遅延によって位置θの推定値に生じる誤差が低減されるように、ステッピングモータの回転速度に応じて当該推定値を補正する。これにより、ステッピングモータ509の位置θの推定演算に伴う遅延によって生じる推定誤差を低減することができる。その結果、ベクトル制御によるモータの消費電力の効率を改善しながら、モータが制御不能の状態に至ることを防止できる。
なお、上述の実施形態では、ステッピングモータがモータ制御部157の制御対象である例について説明している。しかし、上述の実施形態は、ステッピングモータ以外のタイプのモータの駆動制御にベクトル制御を用いる場合にも適用可能であり、その場合、上述の効果と同様の効果を期待できる。
例えば、上述の実施形態は、感光ドラム309を駆動するブラシレスDCモータ(図示せず)の駆動制御をベクトル制御により実現する場合にも適用することも可能である。一般に、記録紙が厚紙の場合、定着器318による定着性を維持するために、記録紙の搬送速度を遅くする必要があり、それに合わせて、感光ドラム309を駆動するブラシレスDCモータの回転速度も遅くする必要がある。即ち、感光ドラム309を駆動するブラシレスDCモータは、画像形成に使用する記録紙の種類に応じて回転速度が変更される場合がある。このような場合、ブラシレスDCモータの駆動制御に上述のベクトル制御を適用すると、モータの回転速度が速くなるほど、モータの回転位置の推定誤差が大きくなりうる。このようなブラシレスDCモータのベクトル制御に対して上述の実施形態を適用することで、上述の効果と同様の効果を得ることができる。