ステッピングモータと、前記ステッピングモータを駆動させる駆動手段と、前記ステッピングモータが回転したかどうかを検知する検知手段と、前記ステッピングモータに印加する電流値を指示する信号及び前記ステッピングモータの駆動を制御する駆動制御信号を前記駆動手段に出力することにより、前記駆動手段による前記ステッピングモータの駆動を制御する制御手段と、を備え、前記制御手段は、前記検知手段からの検知信号に基づいて、前記ステッピングモータの電流設定値を決定し、かつ、前記決定した電流設定値において、前励磁時間を決定することを特徴とするステッピングモータ駆動装置。前記電流設定値は、前記ステッピングモータが脱調せずに駆動される最小の励磁電流値に所定の定数を乗じて算出されることを特徴とする請求項1に記載のステッピングモータ駆動装置。前記前励磁時間は、前記電流設定値を印加して、前記ステッピングモータが脱調せずに駆動される最小の前励磁時間に所定の定数を乗じて算出されることを特徴とする請求項1又は2に記載のステッピングモータ駆動装置。前記駆動手段は、前記ステッピングモータに印加する電流値を指示する信号であるPWM信号に応じた電流値を前記ステッピングモータに印加し、前記駆動制御信号に応じて、前記ステッピングモータの回転の加速、減速を行うことを特徴とする請求項1ないし3のいずれか1項に記載のステッピングモータ駆動装置。前記PWM信号は複数ビットからなり、前記制御手段は、前記駆動手段が前記PWM信号の最上位ビットに1を設定して指定した電流値を印加して前記ステッピングモータを駆動させ、前記検知手段が前記ステッピングモータの回転を検知した場合には前記PWM信号の最上位のビットを0に設定し、前記検知手段が前記ステッピングモータの回転を検知しなかった場合には前記PWM信号の最上位のビットは1のままとする処理を、前記PWM信号の最上位ビットから順次、ビットごとに行うことにより、前記電流設定値を決定することを特徴とする請求項4に記載のステッピングモータ駆動装置。前記制御手段は、前記PWM信号の最下位ビットの値を決定する前記処理において、前記検知手段が前記ステッピングモータの回転を検知した場合には、前記PWM信号の最下位ビットを1のままとし、前記検知手段が前記ステッピングモータの回転を検知しなかった場合には、前記PWM信号の最下位ビットを繰り上げることを特徴とする請求項5に記載のステッピングモータ駆動装置。前記制御手段は、前記前励磁時間の算出において、前記ステッピングモータに前記電流設定値を印加し、所定の前励磁時間が経過した後に、前記駆動手段に前記駆動制御信号を出力することにより前記ステッピングモータの駆動を行わせ、前記検知手段が前記ステッピングモータの回転を検知するまで、前記前励磁時間を段階的に増加させながら前記ステッピングモータの駆動を繰り返すことにより、前記前励磁時間の算出を行うことを特徴とする請求項1ないし6のいずれか1項に記載のステッピングモータ駆動装置。請求項1ないし7のいずれか1項に記載のステッピングモータ駆動装置を備えたことを特徴とする画像形成装置。ステッピングモータの脱調が発生する要因としては、2つの要因が考えられる。第1の要因は、前述のようにモータ負荷トルクに対して電流設定値が小さいため、モータ出力トルクが不足している場合である。この場合は、特許文献1に記載された方法により、脱調を回避することができる。第2の要因は、ステッピングモータの自己振動により脱調する場合である。ステッピングモータの駆動開始前に、モータコイルに励磁電流を印加して、ロータとステータの相位置を確定させておき、その後、駆動パルス相励磁切り換え信号を印加することにより、ステッピングモータは回転を開始する。励磁電流を印加すると、ロータには励磁位置に拘束させようとする力が働くため、ロータの回転方向、すなわちモータ軸の回転方向に振動が発生する。モータ軸の振動が十分に減衰する前に、ステッピングモータの回転を開始させると、モータ軸の回転が追従できず、脱調に至る。モータ軸の振動の大きさは励磁電流の大きさに比例し、励磁電流値が大きいほど、モータ軸の振動も大きくなる。そのため、モータ出力トルク不足による脱調を回避するために、大きな励磁電流を印加すると、モータ軸の振動も大きくなり、モータ駆動開始時に脱調に至る場合がある。また、モータ軸の振動が大きくなると、振動が十分に減衰するまでに要する時間も長くなる。そのため、励磁電流を印加してモータの回転を開始するまでの一連のシーケンスに要する時間前励磁時間を一定にしたままで励磁電流値を増加させると、モータ軸の振動が十分に減衰する前にモータ回転が開始され、脱調に至る場合がある。従って、特許文献1に記載された、前励磁時間を一定にしたままで、励磁電流値だけを増加させる方法では、第2の要因に起因する脱調を必ずしも防止することができない。本発明はこのような状況のもとでなされたもので、モータ出力トルク不足による脱調を回避する適切な励磁電流値を決定し、かつ決定された励磁電流値に応じた適切な前励磁時間を決定することを目的とする。前述した課題を解決するため、本発明では次のとおりに構成する。1ステッピングモータと、前記ステッピングモータを駆動させる駆動手段と、前記ステッピングモータが回転したかどうかを検知する検知手段と、前記ステッピングモータに印加する電流値を指示する信号及び前記ステッピングモータの駆動を制御する駆動制御信号を前記駆動手段に出力することにより、前記駆動手段による前記ステッピングモータの駆動を制御する制御手段と、を備え、前記制御手段は、前記検知手段からの検知信号に基づいて、前記ステッピングモータの電流設定値を決定し、かつ、前記決定した電流設定値において、前励磁時間を決定するステッピングモータ駆動装置。本発明によれば、モータ出力トルク不足による脱調を回避する適切な励磁電流値を決定し、かつ決定された励磁電流値に応じた適切な前励磁時間を決定することができる。以下、本発明を実施するための形態について、実施例により詳しく説明する。[画像形成装置の概要]図1は、本実施例の画像形成装置の構成を示す断面図である。この画像形成装置は電子写真方式のタンデム型のフルカラー複写機である。本画像形成装置は、イエロー色の画像を形成する画像形成部と、マゼンタ色の画像形成部と、シアン色の画像形成部と、ブラック色の画像形成部の4つの画像形成部を備えており、これらは一定の間隔をおいて一列に配置されている。図1において、符号の末尾のa、b、c、dは、それぞれYイエロー、Mマゼンタ、Cシアン、Bkブラックに対応し、以下では、特に必要のない限り、a~d又はa、b、c、dの記載を省略する。4つの画像形成部の構成は同一なので、作像上流に設置された図1中の左側のイエロー色の画像形成部を用いて説明する。感光ドラム20の周囲には、帯電器21、現像器23がそれぞれ設置されている。また、感光ドラム20の上方には、レーザスキャナユニット22が設置されている。各現像器23a、23b、23c、23dには、それぞれイエロー色のトナー、マゼンタ色のトナー、シアン色のトナー、ブラック色のトナーが収納されている。各画像形成部の各感光ドラム20a、20b、20c、20dの各一次転写部には、転写媒体としての無端ベルト状の中間転写ベルト10が当接している。中間転写ベルト10は、ベルト駆動ローラ11、張架ローラ12、13、二次転写内ローラ14に掛け渡されている。図1において、中間転写ベルト10は、不図示のモータにより駆動されて、所定のプロセススピードで、時計回り方向に回転する。二次転写内ローラ14は、中間転写ベルト10を介して二次転写外ローラ30と当接して、二次転写部を形成する。二次転写外ローラ30は、中間転写ベルト10に当接離間自在に設置されている。ベルト駆動ローラ11近傍の中間転写ベルト10の外側には、中間転写ベルト10の表面に残った転写残トナーを除去回収する清掃部材26が設置されている。二次転写部の記録材Sの搬送方向下流側には、定着器25が設置されている。なお、二次転写外ローラ30の当接、離間を可能にする着脱機構31、32、33、34及び着脱検知部35については後述する。次に、画像形成が行われるシーケンス動作について説明する。まず、感光ドラム20は反時計方向に回転駆動する。帯電器21は感光ドラム20を一様に帯電させる。レーザスキャナユニット22は、感光ドラム20表面をレーザビームで露光走査する。現像器23は、感光ドラム20上に形成された静電潜像を現像し、トナー像とする。感光ドラム20上のトナー像は、回転駆動される中間転写ベルト10に一次転写される。以上の作像プロセスは、4つの画像形成部各々で行われ、作像されたトナー像は、順次、中間転写ベルト10に一次転写される。こうして、中間転写ベルト10上に4色の画像が重ね合わされて、フルカラー画像が形成される。一方、記録紙Sは、不図示の給紙機構を経て、レジストローラ24にてタイミングを取りつつ、中間転写ベルト10上の画像は、二次転写内ローラ14と二次転写外ローラ30で構成された二次転写部にて、記録紙Sに二次転写される。記録紙Sは、定着器25にて加熱、加圧されつつ挟持搬送され、トナー像が定着される。その後、記録紙Sは排出される。図1に示すような画像形成装置の中には、高品質な画像を安定的に形成するための画像形成の諸条件の調整を、記録紙Sに印刷せずに行う機構を有するものがある。この調整機構は、中間転写ベルト10上に特定のパターンのトナー画像を形成し、画像検知部15でそのトナー画像を検知し、検知結果に基づいて種々の画像形成条件の調整を行うものである。調整対象となる画像形成条件は、各色のレジストレーションや画像濃度などである。この時形成されたトナー画像は、二次転写部を経て、清掃部材26により清掃される。この調整の実行時には、記録紙Sは通紙されないため、二次転写外ローラ30が中間転写ベルト10と当接状態にあると、トナー画像が付着し、次回通紙時に記録紙Sの裏面を汚損してしまう。そのため、図1に示す着脱機構により、二次転写外ローラ30は中間転写ベルト10から離間させることができる構成となっている。[二次転写外ローラの着脱機能、着脱検知部の概要]図2は、二次転写外ローラ30の当接、離間を可能にする着脱機構、及び着脱検知部35を示した図である。図2aは、二次転写外ローラ30が不図示の中間転写ベルト10と当接した状態を示した図であり、図2bは、二次転写外ローラ30が中間転写ベルト10と離間した状態を示した図である。図2cは、二次転写外ローラ30の中間転写ベルト10との当接、離間状態を検知する着脱検知部35を示した図である。図2aにおいて、二次転写外ローラ30は、加圧バネ31によって当接方向図2a上方向に付勢されている。二次転写外ローラ30の回転軸の両側には、連結部材32が取り付けられている。連結部材32には、上下動する際の支点33があり、二次転写外ローラ30の両側に設けられた連結部材32の支点33は、一点鎖線で示す軸により連結されている。偏芯カム34は、矢印方向に回転することにより、支点33を中心にして連結部材32を上下動させる機構である。偏芯カム34も、二次転写外ローラ30の両側に設けられ、一点鎖線で示す軸で連結されているため、両方の偏芯カムは連動して回転する。図2bに示すように、偏芯カム34が矢印方向に回転することにより、連結部材32は、支点33を中心に上下動する。連結部材32が取り付けられている二次転写外ローラ30の図2bの上下方向の変位量は、偏芯カム34の回転量より決定される。また、二次転写外ローラ30が中間転写ベルト10と当接又は離間している状態は、着脱検知部35により検知できる。図2cは、着脱検知部35の構成を示した図上視図である。着脱検知部35は発光部36と受光部37から構成され、発光部36と受光部37が対向して配置された透過型光学センサである。二次転写外ローラ30の中間転写ベルト10との当接又は離間状態は、連結部材32によって発光部36と受光部37との間が遮光されているかどうかにより判断される。着脱検知部35の構成は光学式センサに限るものではなく、例えばリニアエンコーダやドップラー効果を利用した構成等でもよい。また、検知媒体としては、本実施例の光でなく、磁気や超音波等を用いたものであってもよい。次に、図2a、bを用いて、二次転写外ローラ30の着脱動作について説明する。初期状態として、二次転写外ローラ30は、図2aに示すように、不図示の中間転写ベルト10と当接状態であるとする。この時、着脱検知部35の発光部36と受光部37の間は、連結部材32によって遮光された状態である。図2bは、二次転写外ローラが不図示の中間転写ベルト10と当接した状態実線部分と、中間転写ベルト10から離間した状態破線部分を示した図である。図2bにおいて、二次転写外ローラが不図示の中間転写ベルト10と当接した状態から、偏芯カム34を不図示のモータにより時計方向に回転させると、連結部材32は支点33を中心にして時計方向に回転し、二次転写外ローラ30を押し下げる。この時、着脱検知部35の発光部36と受光部37の間は、連結部材32により遮光された状態から透過状態に切り替わり、二次転写外ローラ30が中間転写ベルト10から離間したことが検知できる。続いて、二次転写外ローラ30を中間転写ベルト10に当接させるには、偏芯カム34を更に時計方向に回転させ、連結部材32が偏芯カム34の切り欠け部に到達すると、加圧バネ31のバネ力により、連結部材32は反時計方向に回転する。その結果、二次転写外ローラ30は中間転写ベルト10に当接される。この時、着脱検知部35の発光部36と受光部37の間は、透過状態から連結部材32により遮光された状態に切り替わり、二次転写外ローラ30が中間転写ベルト10に当接されたことが検知できる。[ステッピングモータ制御部の概要]図3は、本実施例のステッピングモータの駆動を行う駆動手段であるステッピングモータ制御部43の構成を示した図である。図3において、制御手段であるCPU40は、操作部41からのプリントジョブ開始指令により、ステッピングモータ47Mtrの駆動制御を行う。CPU40は、不図示のROM、RAMを備えている。ROMには、ステッピングモータの制御をはじめ、画像形成装置の画像形成動作を制御するプログラムや各種データが格納されている。RAMは、画像形成装置の画像形成動作を制御するのに必要なデータの演算や一時的な記憶等に使用される。低域通過フィルターローパスフィルタ。以下、LPFと呼ぶ42は、CPU40からのPWM信号の高周波成分をカットして平滑化し、簡易的に直流電圧を生成して出力する。ステッピングモータ制御部43は、モータドライバ44、電流検出部45、比較演算部46から構成されている。比較演算部46は、LPF42からの直流電圧信号と電流検出部からの電圧信号を比較し、比較値を電圧信号としてモータドライバ44に出力する。モータドライバ44は、ステッピングモータ47に励磁電流を印加したり、CPU40からの駆動制御パルスに基づいて、ステッピングモータ47の各相励磁切り換えを行う。電流検出部45は、モータドライバ44からの励磁電流を検出して、検出した電流値に応じた電圧信号を比較演算部46に出力する。ステッピングモータ47は、モータドライバ44からの駆動制御信号により回転駆動され、ギア48を介して、偏芯カム34を回転駆動させることにより、連結部材32を動作させる。着脱検知部35は、連結部材32が動作することによる二次転写外ローラ30の中間転写ベルト10との当接、離間状態の変化を検知し、検知結果をCPU40に出力する。続いて、図3における各部の動作について説明する。CPU40は、操作部41からプリントジョブ開始指令を受けると、所定のタイミングにてモータ駆動制御を開始する。モータ駆動制御に当たり、まずステッピングモータ47の相位置合わせを行うため、前励磁を開始する。本実施例では、モータ駆動状態やモータ負荷状態に応じて励磁電流値を変更する必要があるため、励磁電流値を可変にする構成がとられている。ここでは、励磁電流値を指定する基準電圧以下、Vrefと呼ぶは、CPUから出力されるPWM信号に基づいて生成される構成としている。PWMPulseWidthModulation信号はパルス幅変調信号であり、一周期のうち、パルスがオンしている時間とオフしている時間の比率を任意に変化させることができる。PWM信号を所定のカットオフ周波数を有するLPF42に入力することにより、PWM信号は平滑化され、任意の直流電圧信号であるVrefが出力される。具体的には、PWM信号の周波数は45kHzで、PWM信号は8ビット構成で、分解能は0~255の256段階であり、LPF42のカットオフ周波数は15kHz程度である。本実施例では、比較的安価で高分解能が得られやすいことから、Vrefの生成にはPWM信号を採用したが、A/Dコンバータなど他の方式であってもよい。Vrefは、比較演算部46に入力される。比較演算部46は、Vrefと電流検出部45の出力を比較演算し、比較値をモータドライバ44に出力する。モータドライバ44は、比較値に基づいて、ステッピングモータ47に励磁電流を印加する。電流検出部45は、励磁電流を検出して、検出した電流値を比較演算部46に入力する。前励磁の後、CPU40はモータドライバ44に駆動制御パルスを出力し、モータドライバ44は、駆動制御パルスに基づいて、ステッピングモータ47の各相励磁切り換えを行うことにより、ステッピングモータ47が回転駆動する。ステッピングモータ47が回転駆動すると、ギア48を介して、偏芯カム34が回転駆動される。偏芯カム34が回転すると、前述したように、連結部材32が上下動し、着脱検知部35が二次転写外ローラ30の中間転写ベルト10への当接、離間を検知し、検知結果はCPU40に出力される。図4は、上述したステッピングモータの駆動シーケンスを実行した際の各種信号を示すタイミングチャートである。図4aは、ステッピングモータ47の励磁電流の電流波形を示したものであり、縦軸は電流値A、横軸は時間sec秒を示す。横軸の時間は、ステッピングモータ47に励磁電流が印加されてからの経過時間を示す。図4bは、CPU40から出力された駆動制御パルスの信号波形を示したものであり、縦軸は1秒当たりのクロック数ppspulsepersec、横軸は時間secを示す。図4cは、ステッピングモータ47のモータ軸の回転速度を示す波形であり、縦軸は回転速度rpm、横軸は時間secを示す。図4dは、着脱検知部35がCPU40に出力する着脱検知信号を示したものであり、縦軸は電圧値V、横軸は時間secを示す。図4dにおいて、着脱検知部35からCPU40へ出力される着脱検知信号は、二次転写外ローラ30が中間転写ベルト10に当接している状態ではハイHighレベルであり、離間している状態ではローLowレベルであることを示している。図4において、ステッピングモータ47を起動させる時は、図4aに示すように、モータドライバ44はステッピングモータ47に励磁電流を印加し、前励磁を開始する。すると、図4cに示すように、ステッピングモータ47のモータ軸に振動が発生するが、この振動は、時間経過と共に減衰する。前励磁時間T_preは、ステッピングモータ47の駆動開始時に、モータコイルに励磁電流を印加し始めた時から、ステッピングモータ47を回転駆動させるための駆動制御パルスを印加し始めるまでの時間を指す。図4cに示す前励磁時間T_preが経過した後、図4bに示すように、CPU40は、ステッピングモータ47を回転駆動させるため、駆動制御パルスのクロック数を所定の加速カーブに従って増加させる。逆に、ステッピングモータ47を停止させる時には、CPU40は、所定のタイミングにて、図4bに示すように駆動制御パルスのクロック数を所定の減速カーブに従って減少させる。そして、CPU40は、駆動制御パルスの出力を停止することにより、ステッピングモータ47を停止させた後、PWM信号の出力を停止して、ステッピングモータ47への励磁電流の印加を停止する。[ステッピングモータ制御の処理シーケンス]続いて、本実施例におけるステッピングモータの制御に関する処理シーケンスについて、図5のフローチャートを用いて説明する。図5に示す処理は、ROMに格納された制御プログラムに基づいてCPU40により実行され、以降のフローチャートの処理も同様にCPU40により実行される。まずステップ601以下、S601のように記すでは、CPU40は装置本体の電源をオンする。S602では、CPU40は、励磁電流値や前励磁時間の見直しを行うタイミングかどうか判断するために、プリントジョブの実行回数を示すジョブカウント値が所定回数を超えているかどうかを判断し、超えていなければS606に進む。ここで、所定回数とは、環境条件変化や、寿命劣化が想定されるプリントジョブ回数のことであり、予めROMにデータとして格納されている。S602でジョブカウント値が所定回数を超えていた場合には、CPU40はS603に進み、S603では適切な励磁電流値を算出する処理を実行する。続いて、S604では、CPU40は、S603にて算出した適切な励磁電流値を用いて、適切な前励磁時間を算出する処理を実行する。そして、S605では、CPU40は、ジョブカウント値を0にして、S606に進む。S606では、CPU40は、ユーザにより入力された操作部41からのプリントジョブ開始指令があるかどうかを判断し、なければS606の処理を繰り返す。S606でプリントジョブ開始指令があった場合には、CPU40はS607に進み、S607ではプリントジョブを実行する。プリントジョブ実行時には、二次転写外ローラ30の当接離間処理が行われ、その際には、S603において算出した励磁電流値、及びS604において算出した前励磁時間が用いられる。S607でのプリントジョブが終了すると、CPU40はS608に進み、S608ではジョブカウント値を1加算する。続いて、S609では、CPU40は、装置本体の電源シャットダウン指令があるかどうか判断し、なければS602の処理に戻る。装置本体の電源シャットダウン指令があった場合は、CPU40はS610に進み、S610で装置本体の電源オフを行う。[励磁電流値算出の処理シーケンス]図6は、図5のS603の適切な励磁電流値を算出する処理内容について詳しく示したフローチャートである。本実施例では、適切な励磁電流値とは、ステッピングモータ47を駆動可能な最小電流値を指している。また、本実施例では、電流値を算出するのに、例えば二分探索法を用いているが、算出方法としては、本探索方法に限定されるものではない。二分探索法は、探索範囲の中央の値が条件を満たすか否かを判別した結果によって、探索範囲を徐々に狭め、最終的に求める値を取得する一般的な探索方法である。本実施例では、前述したように、ステッピングモータ47に印加される励磁電流値は、CPU40から出力されるPWM信号により指示される。PWM信号は複数ビットから構成され、例えば、本実施例では8ビット構成の信号であり、0~255までの256段階の値が設定できる。CPU40は、まず、最上位ビットのビット7に1を設定することにより、0~255の中央の値である128を設定したPWM信号を出力し、ステッピングモータ47が駆動されるかどうかを判断する。駆動された場合には、より小さい励磁電流値で駆動可能かどうかを判断するために、CPU40は0~128の中央の値である64を設定したPWM信号を出力し、ステッピングモータ47が駆動されるかどうかを判断する。逆に、ステッピングモータ47が駆動されなかった場合には、より大きな励磁電流値で駆動可能かどうか判断するために、CPU40は128~255の中央値である192を設定したPWM信号を出力し、ステッピングモータ47が駆動されるかどうか判断する。以下同様に、ステッピングモータ47が駆動されるかどうかに基づいて、設定する励磁電流値の範囲を狭めていき、最終的にステッピングモータ47を駆動可能な最小の励磁電流値を算出する。図7aは、図6のフローチャートに基づいて、PWM信号として出力する値を格納したモータ駆動電流設定値Isetの推移を示した表である。図7bは、図7aのモータ駆動電流設定値Isetによる試行回数が増えるにつれて、モータ駆動電流設定値Isetが適切な励磁電流値に収束していく様子を示したグラフであり、詳細は後述する。以下では、ステッピングモータ47の脱調限界電流値が21.2であると仮定して、図6に示す処理シーケンスについて説明する。S701では、CPU40は、RAMに設けられたメモリであるモータ駆動電流設定値Isetに0を設定し、モータ駆動電流設定値Isetのビット位置を指示する変数nにビット長L-1の値を設定する。本実施例において、ビット長Lは前述したPWM信号のビット長を指しており、8である。よって、nの値は、ビット長L=8-1より7となる。S702では、CPU40は、変数nの値が0かどうかにより、次に行う処理がモータ駆動電流設定値Isetのビット0についての処理かどうかを判断し、変数nが0の場合にはS708に進み、0でない場合にはS703に進む。今、変数nは7なので、CPU40は、S703の処理に進む。S703では、CPU40は、モータ駆動電流設定値Isetの変数nに対応したビットnここでは、ビット7に1を設定する。次に、S704では、CPU40は、モータ駆動電流設定値Isetに設定された値に対応したPWM信号を送出し、ステッピングモータ駆動シーケンスを実行する。図3において、CPU40は、この時のモータ駆動電流設定値Isetの値に応じたPWM信号を出力する。PWM信号のデューティは0~100まで設定可能である。本実施例では、ビット長Lは8であり、モータ駆動電流設定値Isetの設定分解能は、10進数表記で0~255の256段階である。このPWM信号は、図3においてLPF42に入力される。LPF42は入力されたPWM信号の高周波成分をカットし、簡易的に直流電圧Vrefを生成し、比較演算部46に出力する。電流検出部45は、モータドライバ44を介してステッピングモータ47に流れる励磁電流値を検出する。比較演算部46は、直流電圧Vrefと電流検出部45の出力値とを比較する。比較演算した結果はモータドライバ44に入力されて、比較演算結果に基づいて、モータドライバ44はステッピングモータ47に印加する電流値を制御する。そして、CPU40は、ステッピングモータ47へ励磁電流を印加し、脱調が発生しないように十分な余裕を持たせた前励磁時間が経過した後、モータドライバ44に駆動制御パルスを出力し、ステッピングモータ47の回転駆動を開始させる。S705では、CPU40は、S704にて実行されたステッピングモータ駆動シーケンスにより、ステッピングモータ47が駆動したかどうかを判断する。CPU40は、着脱検知部35から出力される着脱検知信号により、ステッピングモータ47が駆動したかどうかを判断する。図2aに示すように、二次転写外ローラ30が中間転写ベルト10と当接状態にあると、着脱検知部35の発光部36と受光部37の間は連結部材32により遮光状態にある。この場合、図4dにおける0秒以前の状態のように、着脱検知部35は着脱検知信号としてハイレベルを出力する。二次転写外ローラ30と中間転写ベルト10が当接した状態から、前述のステッピングモータ駆動シーケンスによりステッピングモータ47のモータ駆動を開始すると、やがて、図4dの0.95秒時点で、着脱検知信号はハイレベルからローレベルに変化する。これは、着脱検知部35の発光部36と受光部37の間が遮光状態から透過状態に変化したことを示す。CPU40は、この着脱検知信号の変化により、二次転写外ローラ30が当接した状態から離間した状態に切り替わったと判断する。同様にして、着脱検知信号がローレベルからハイレベルに変化した場合は、着脱検知部35の発光部36と受光部37の間が透過状態から遮光状態に切り替わったことを示す。CPU40は、この着脱検知信号の変化により、二次転写外ローラ30が離間した状態から中間転写ベルト10に当接した状態に切り替わったと判断する。このように、CPU40は、着脱検知部35から出力される着脱検知信号のハイレベルからローレベル、又はローレベルからハイレベルへの状態変化により、ステッピングモータ47が駆動したと判断する。S705において、CPU40はステッピングモータ47が駆動しなかったと判断した場合、S707に進み、ステッピングモータ47が駆動したと判断した場合、S706に進む。S706では、CPU40は、ステッピングモータ47が駆動したことにより、励磁電流値は適切な励磁電流値よりも大きいと判断し、モータ駆動電流設定値Isetの変数nに対応したビットnここでは、ビット7に0を設定する。図7bの試行No.1に示すように、モータ駆動電流設定値Isetは128であり、検出すべき脱調限界電流値21.2を上回っているので、ステッピングモータ47は駆動される。そのため、CPU40は、モータ駆動電流設定値Isetのビット7を0に設定する。S707では、CPU40は、変数nの値を1減じ、S702の処理に戻る。CPU40は、S702において変数nが0であると判断しS708に進むまで、S703~S707の処理を繰り返し、モータ駆動電流設定値Isetの変数nに対応したビットの内容ビット7~ビット1を確定していく。S708では、CPU40は、モータ駆動電流設定値Isetのビット0最下位ビットに1を設定し、S709では、CPU40は、モータ駆動電流設定値Isetに設定された値に対応したPWM信号を送出し、ステッピングモータ駆動シーケンスを実行する。S710では、CPU40は、ステッピングモータ47が駆動したかどうかを判断する。S710で、CPU40はステッピングモータ47が駆動しなかったと判断した場合、S711に進み、ステッピングモータ47が駆動したと判断した場合、S712に進む。S711では、CPU40は、モータ駆動電流設定値Isetのビット0を0、ビット1を1に設定する。S712では、CPU40は、上述した処理により算出された脱調限界電流値に近い最小の励磁電流値であるモータ駆動電流設定値Isetに、マージンMを乗じた励磁電流値を算出し、RAMに設けられたメモリである最適電流設定値Isに設定する。マージンMは1.1程度の定数であり、測定ばらつき等を補償するためにモータ駆動電流設定値Isetに乗じている。図7aは、図6のS704、S709において、CPU40がモータ駆動シーケンスを実行した時のモータ駆動電流設定値Isetに設定された値の推移を表にしたものである。図7aにおいて、試行No.1は変数nが7の場合、試行No.2は変数nが6の場合、、試行No.8は変数nが0の場合の、モータ駆動電流設定値Isetに設定された値ビット単位の表示、2進数表記、10進数表記を示している。図7bは、試行No.1~試行No.8のモータ駆動電流設定値Isetについて、図6のフローチャートを実行することにより、モータ駆動電流設定値Isetが脱調限界電流値21.2に収束していく様子を示したグラフである。図7bにおいて、試行No.1~No.3のモータ駆動電流設定値Isetは128、64、32であり、脱調限界電流値21.2より大きいため、ステッピングモータ47は駆動されるので、後続の試行時のモータ駆動電流値は2分の1になっている。試行No.4でのモータ駆動電流設定値Isetは16であり、脱調限界電流値21.2より小さいため、ステッピングモータ47は駆動されず、次の試行No.5のモータ駆動電流設定値Isetは、16と32の中間値である24になる。以下同様にして、試行No.5~No.8が行われる。試行No.8では、モータ駆動電流設定値Isetは21であり、検出すべき脱調限界電流値21.2を下回っているので、ステッピングモータ47は脱調し駆動されない。よって、CPU40は、S711において、モータ駆動電流設定値Isetのビット1に1、ビット0に0を設定し、最小分解能未満の値を切り上げる処理を行っている。[前励磁時間算出の処理シーケンス]図8は、図5のS604の適切な前励磁時間を算出する処理内容について詳しく示したフローチャートである。まず、前励磁時間について、図4を用いて説明する。図4aにおいて、モータドライバ44から励磁電流がステッピングモータ47に印加されると、図4cに示すように、モータ軸に回転振動が発生する。これは、ステッピングモータ47のロータとステータが、相ズレの状態から磁力のつりあい点に回転するためである。そのため、モータ軸の回転振動が大きい時点で、CPU40がモータドライバ44に駆動制御パルスを出力し、モータ駆動が開始されると、脱調に至る。図4cに示すように、モータ軸の回転振動は時間経過と共に減衰するので、回転振動が十分減衰する時間が経過した後に、モータ回転駆動を開始することにより脱調を回避することができる。しかし、前励磁時間が長いと、画像形成装置全体の駆動時間が長くなってしまうので、省力化や生産性の面から、前励磁時間は必要最小限であることが望ましい。S801では、CPU40は、図6において算出した最適電流設定値Isをモータ駆動電流設定値Isetに設定する。S802では、CPU40は、RAMに設けられたメモリである前励磁時間T_preに初期前励磁時間値を設定する。初期値は0であってもよいが、試行回数を減らす目的で駆動系に応じた適当な値例えば、10msecミリ秒程度を用いるとよい。S803では、CPU40は、モータ駆動電流設定値Isetに設定された値に対応したPWM信号を送出し、ステッピングモータ駆動シーケンスを実行する。S804では、図7と同様に、CPU40は、着脱検知部35から出力される着脱検知信号により、ステッピングモータ47が駆動したかどうかを判断する。S804で、CPU40はステッピングモータ47が駆動しなかったと判断した場合、S805に進み、ステッピングモータ47が駆動したと判断した場合、S806に進む。S805では、CPU40は、次回の試行に用いる前励磁時間を段階的に延長させるため、前励磁時間T_preに試行ステップ時間t_stepを加算し、S803に戻る。試行ステップ時間t_stepは、駆動系に応じた適当な値例えば、20msec程度を用いるとよい。S806では、振動脱調限界に近い最小の前励磁時間である前励磁時間T_preにマージンMtを乗じた前励磁時間を算出し、RAMに設けられたメモリである最適前励磁時間T_pre_setに設定する。Mtは1.1程度の定数であり、測定ばらつき等を補償するために前励磁時間T_preに乗じている。以上説明したように、本実施例によれば、モータ出力トルク不足による脱調を回避する適切な励磁電流値を決定し、かつ決定された励磁電流値に応じた適切な前励磁時間を決定することができる。これにより、ステッピングモータ駆動装置において、モータ出力トルク不足による脱調を回避することができ、モータ軸の振動によるモータの回転開始時の脱調も回避することができる。更に、決定された励磁電流値はステッピングモータを駆動可能な最小電流値であり、決定された前励磁時間は脱調限界に近い前励磁時間であり、省力化や生産性の面からも望ましいものとなっている。また、本実施例では、二次転写外ローラと中間転写ベルトとの当接離間を制御するステッピングモータについて説明した。画像形成装置には、多くのステッピングモータが用いられており、例えば、画像形成部の感光ドラムと中間転写ベルトとの一次転写ニップ部を形成する一次転写ローラや、定着器内部のローラの離間当接制御に使用されている。本発明は、これらのローラの制御を行っているステッピングモータにも適用することができる。