(57)【特許請求の範囲】
【請求項１】
コイル電流値情報とパルス周波数情報をステッピングモータの駆動回路に出力するステッピングモータ制御装置であって、
１つのパルス周波数についてコイル電流値を変化させて、前記ステッピングモータのモータ効率を決定するモータ効率決定手段と、前記ステッピングモータの脱調有無を判定する脱調有無判定手段と、
パルス周波数情報とコイル電流値情報に対応づけて、モータ効率情報及び脱調有無が登録されたテーブルを生成するテーブル生成手段と、
前記ステッピングモータの回転速度に基づき、１つのパルス周波数情報に対応づけられた複数のコイル電流値情報のうち、脱調がなく最もモータ効率が高いコイル電流値情報を前記テーブルから選択する選択手段と、
前記選択手段により選択されたコイル電流値情報を、前記駆動回路に出力する制御情報出力手段と、を有することを特徴とするステッピングモータ制御装置。
【請求項２】
テーブルに登録されたコイル電流値情報とパルス周波数情報をステッピングモータの駆動回路に出力するステッピングモータ制御装置であって、
１つのパルス周波数についてコイル電流値を変化させて、前記ステッピングモータのモータ効率を決定するモータ効率決定手段と、前記ステッピングモータの脱調有無を判定する脱調有無判定手段と、
パルス周波数情報とコイル電流値情報に対応づけて、モータ効率情報及び脱調有無が登録された前記テーブルを生成するテーブル生成手段と、を有する外部の機器から、
前記テーブルを取得するテーブル取得手段と、
前記テーブルを記憶するテーブル記憶手段と、
前記ステッピングモータの回転速度に基づき、１つのパルス周波数情報に対応づけられた複数のコイル電流値情報のうち、脱調がなく最もモータ効率が高いコイル電流値情報を前記テーブルから選択する選択手段と、
前記選択手段により選択されたコイル電流値情報を、前記駆動回路に出力する制御情報出力手段と、を有することを特徴とするステッピングモータ制御装置。
【請求項３】
前記テーブルには、昇順にソートされた１つの前記パルス周波数情報に対し、複数の前記コイル電流値情報が降順に対応づけられており、
前記脱調有無判定手段が、前記コイル電流値情報の降順に、前記ステッピングモータの脱調有無を判定する際、前記脱調有無判定手段は、脱調したと判定したコイル電流値情報より小さいコイル電流値情報の脱調有無を判定せず、
前記テーブル生成手段は、脱調したと判定されたコイル電流値情報より小さいコイル電流値情報に対応づけて脱調有りを登録する、
ことを特徴とする請求項１又は２記載のステッピングモータ制御装置。
【請求項４】
前記選択手段は、前記テーブルの１つのパルス周波数情報に、脱調がなく最もモータ効率が高いコイル電流値情報が、複数個登録されている場合、最も小さいコイル電流値情報を選択する、
ことを特徴とする請求項１〜３いずれか１項記載のステッピングモータ制御装置。
【請求項５】
前記ステッピングモータの積算稼働時間を計測する計測手段を有し、
前記積算稼働時間が閾値を超えたことをトリガーに、
前記テーブル生成手段が前記テーブルの更新を開始する、
ことを特徴とする請求項１〜４いずれか１項記載のステッピングモータ制御装置。
【請求項６】
前記ステッピングモータが被回転部材を回転駆動する駆動伝達部の、積算走行距離を計測する計測手段を有し、
前記積算走行距離が閾値を超えたことをトリガーに、
前記テーブル生成手段が前記テーブルの更新を開始する、
ことを特徴とする請求項１〜４いずれか１項記載のステッピングモータ制御装置。
【請求項７】
前記ステッピングモータが直前に停止してからの経過時間を計測する計測手段を有し、
前記経過時間が閾値を超えたことをトリガーに、
前記テーブル生成手段が前記テーブルの更新を開始する、
ことを特徴とする請求項１〜４いずれか１項記載のステッピングモータ制御装置。
【請求項８】
前記ステッピングモータの周囲の温度を検出する温度検出手段と、
前記周囲の温度が閾値を超えたか否かを判定する判定手段とを有し、
前記周囲の温度が閾値を超えたことをトリガーに、
前記テーブル生成手段が前記テーブルの更新を開始する、
ことを特徴とする請求項１〜４いずれか１項記載のステッピングモータ制御装置。
【請求項９】
前記ステッピングモータの周囲の湿度を検出する湿度検出手段と、
前記周囲の湿度が閾値を超えたか否かを判定する判定手段とを有し、
前記周囲の湿度が閾値を超えたことをトリガーに、
前記テーブル生成手段が前記テーブルの更新を開始する、
ことを特徴とする請求項１〜４いずれか１項記載のステッピングモータ制御装置。
【請求項１０】
情報処理装置が、コイル電流値情報とパルス周波数情報をステッピングモータの駆動回路に出力して、ステッピングモータを回転制御する回転制御方法であって、
１つのパルス周波数についてコイル電流値を変化させて、前記ステッピングモータのモータ効率を決定するステップと、前記ステッピングモータの脱調有無を判定するステップと、
パルス周波数情報とコイル電流値情報に対応づけて、モータ効率情報及び脱調有無が登録されたテーブルを生成するステップと、
前記ステッピングモータの回転速度に基づき、パルス周波数情報に対応づけられた複数のコイル電流値情報のうち、脱調がなく最もモータ効率が高いコイル電流値情報を前記テーブルから選択する選択ステップと、
前記選択ステップにより選択されたコイル電流値情報を、前記駆動回路に出力するステップと、を有することを特徴とする回転制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステッピングモータを制御するステッピングモータ制御装置及び回転制御方法に関し、特に、脱調を防止すると共に、消費電力を低減できるテッピングモータ制御装置及び回転制御方法に関する。
【背景技術】
【０００２】
画像形成装置の給紙モータ等にステッピングモータが用いられることがある。ステッピングモータは、パルスの入力数と回転方向の位置（ロータ位置）が一致するため、速度のフィードバック制御が不要で、比較的単純な制御装置により制御できる。その反面、負荷トルクが発生トルクを上回ってしまうと脱調が生じてしまうため、想定される負荷トルクに対して充分余裕を持って発生トルクが得られるように設計する必要がある。
【０００３】
ステッピングモータのモータ出力は、ロータとステータ間の磁束密度、コイル巻数、コイル電流、負荷トルクに比例することが知られている。一般的なステッピングモータの制御装置は、コイル電流を調整することでモータ出力を制御している。したがって、ステッピングモータの脱調を抑制するためには、トルクマージンが充分確保されるようなコイル電流をコイルに流す必要がある。
【０００４】
しかし、脱調を防ぐためにトルクマージンを充分確保したコイル電流は、実際のモータ出力（＝負荷トルク×回転速度）に対して、過剰な電力となっている。この過剰な電力は、コイルにおいてジュール熱として消費されている。
【０００５】
コイル電流を抑制しながら脱調を防止する技術も考えられている（例えば、特許文献１参照。）。特許文献１には、ステッピングモータの駆動電流を順次小さくして、モータが脱調した際のコイル電流を計測し、これに基づいて通常運転時の駆動電流を定めるモータ駆動制御装置が開示されている。
【０００６】
また、コイル電流を調整する技術が考えられている（例えば、特許文献２参照。）。特許文献２には、ステッピングモータの振動を抑える目的で、モータの負荷トルクと発生トルクがほぼ一定の関係になるように、コイル電流を調整する技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１記載の技術では、脱調を防げても過剰な電力を消費してしまう問題が残る。また、特許文献２に開示された技術では、脱調を防ぐために、負荷トルクの最大値を基準にコイル電流を決定するため、最大値よりも低い負荷トルクに対して過剰なコイル電流が流れる。このため、最大値よりも低い負荷トルクに対して、常に過剰に電力消費しているという問題がある。
【０００８】
本発明は、上記課題に鑑み、脱調を防止すると共に、過剰なコイル電流を低減したテッピングモータ制御装置及び回転制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明は、コイル電流値情報とパルス周波数情報をステッピングモータの駆動回路に出力するステッピングモータ制御装置であって、１つのパルス周波数についてコイル電流値を変化させて、前記ステッピングモータのモータ効率を決定するモータ効率決定手段と、前記ステッピングモータの脱調有無を判定する脱調有無判定手段と、パルス周波数情報とコイル電流値情報に対応づけて、モータ効率情報及び脱調有無が登録されたテーブルを生成するテーブル生成手段と、前記ステッピングモータの回転速度に基づき、パルス周波数情報に対応づけられた複数のコイル電流値情報のうち、脱調がなく最もモータ効率が高いコイル電流値情報を前記テーブルから選択する選択手段と、前記選択手段により選択されたコイル電流値情報を、前記駆動回路に出力する制御情報出力手段と、を有することを特徴とする。
【００１０】
パルス周波数情報とコイル電流値情報に対応づけて、モータ効率情報及び脱調有無が登録されたテーブルを生成しておくことで、脱調がなく最もモータ効率が高いコイル電流値を決定することができる。したがって、負荷トルクに打ち勝つ駆動トルクにおいて、最も過剰な電力の少ない、コイル電流値を決定できる。
【発明の効果】
【００１１】
脱調を防止すると共に、過剰なコイル電流を低減したテッピングモータ制御装置及び回転制御方法を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】駆動トルクと回転速度、モータ効率と回転速度の関係を示す図の一例である。
【図２】画像形成装置の概略構成図の一例である。
【図３】ステッピングモータ制御装置の機能ブロック図の一例を示す図である。
【図４】初期のルックアップテーブルの一例を示す図である。
【図５】モータドライバのブロック図の一例である。
【図６】ステッピングモータ制御装置がコイル電流をモータ効率と脱調有無をルックアップテーブルに登録する手順を示すフローチャート図の一例である。
【図７】生成されたルックアップテーブルの一例を示す図である。
【図８】コイル電流選択部が、コイル電流を選択する手順のフローチャート図の一例である。
【図９】ステッピングモータ制御装置の機能ブロック図の一例である（実施例２）。
【図１０】ステッピングモータ制御装置がコイル電流をモータ効率と脱調有無をルックアップテーブルに登録する手順を示すフローチャート図の一例である。（実施例２）。
【図１１】ステッピングモータ制御装置がコイル電流をモータ効率と脱調有無をルックアップテーブルに登録する手順を示すフローチャート図の一例である。（実施例２  変形例）。
【図１２】ステッピングモータ制御装置の機能ブロック図の一例である（実施例３）。
【図１３】給紙駆動ローラの概略斜視図の一例である。
【図１４】ステッピングモータ制御装置がコイル電流をモータ効率と脱調有無をルックアップテーブルに登録する手順を示すフローチャート図の一例である（実施例３）。
【図１５】ステッピングモータ制御装置の機能ブロック図の一例である（実施例４）。
【図１６】ステッピングモータ制御装置がコイル電流をモータ効率と脱調有無をルックアップテーブルに登録する手順を示すフローチャート図の一例である（実施例４）。
【図１７】ステッピングモータ制御装置の機能ブロック図の一例である（実施例５）。
【図１８】ステッピングモータ制御装置がコイル電流をモータ効率と脱調有無をルックアップテーブルに登録する手順を示すフローチャート図の一例である（実施例５）。
【図１９】ステッピングモータ制御装置の機能ブロック図の一例である（実施例６）。
【図２０】ステッピングモータ制御装置がコイル電流をモータ効率と脱調有無をルックアップテーブルに登録する手順を示すフローチャート図の一例である（実施例６）。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態について、実施例を挙げて図面を参照しながら説明する。
【実施例１】
【００１４】
本実施例のステッピングモータ制御装置１００は、パルス周波数、コイル電流、モータ効率及び脱調有無を対応づけたルックアップテーブルを生成して、記憶しておく。ルックアップテーブルには、同じパルス周波数に対し、複数のコイル電流、モータ効率及び脱調有無が対応づけられている。そして、ステッピングモータ制御装置１００は、ステッピングモータの駆動時に、ルックアップテーブルを参照して、パルス周波数（モータ回転速度）に応じて、複数のコイル電流から脱調が生じないで最もモータ効率のよいコイル電流を選択する。
【００１５】
図１（ａ）に示すように、駆動トルクは回転速度に反比例する傾向がある。また、コイル電流が大きいほど駆動トルクは大きい。図１（ｂ）に示すように、モータ効率は回転速度に比例し、かつ、コイル電流に反比例する傾向がある。したがって、充分な駆動トルクを得るために（脱調を防ぐために）、コイル電流を大きくするとモータ効率が下がってしまい、モータ効率を大きくしようとしてコイル電流を小さくすると駆動トルクが小さくなり脱調が生じやすくなる。したがって、脱調せずにモータ効率が最も大きいコイル電流は、直感的や理論的には決定することが困難である。
【００１６】
本実施例では、ルックアップテーブルに、コイル電流に対応づけて、脱調有無とモータ効率の対応を登録しておくことで、負荷トルクが比較的状態でも、脱調しない最も効率の高いコイル電流でステッピングモータを駆動できる。
【００１７】
〔画像形成装置の概略〕
画像形成装置２００は、例えば、コピー機、プリンタ、ファクシミリ、又は、これらの機能の一以上を備えたＭＦＰ（Multifunction Peripheral）等である。また、スキャナ機能を備えていてもよい。本実施例の帯電制御装置１００は、電子写真方式の画像形成装置２００に好適に適用できる。
【００１８】
図２は、画像形成装置２００の概略構成図の一例を示す。図２の画像形成装置２００はＭＦＰと呼ばれるものである。ＭＦＰは、自動原稿送り装置（ＡＤＦ）１０００と、スキャナ部２０００と、画像形成部３０００と、給紙ユニット４０００を有する。スキャナ部２０００は、ＡＤＦ１０００又は原稿給紙台１１に載置された原稿を１枚ずつコンタクトガラス２１上に搬送し、原稿から画像データを読み取った後に排紙トレイ１８上に排出する。具体的には、原稿給紙台１１上にセットされた原稿は、サイドフェンス（不図示）によって用紙の幅方向が揃えられ、給紙ローラ１２によって最下位の原稿から分離されて給紙され、搬送ベルト１９によってコンタクトガラス２１上に搬送される。また、給送部１５には、原稿幅検知センサ１３及び原稿長さ検知センサ１４が設けられ、これらによってＡＤＦ１０００から搬送される原稿のサイズ（Ｂ５、Ａ４、Ｂ４等）を検知することができる。そして、コンタクトガラス２１上の原稿は、画像データの読み取りが終了した後に、搬送ベルト１９及び排紙ローラ１６によって排紙トレイ１８上に排出され、一連の動作が終了する。
【００１９】
また、両面コピー時には、原稿は、給紙ローラ１２によって給紙され、搬送ベルト１９によってコンタクトガラス２１上を通過して反転爪１７で反転した後、再びコンタクトガラス２１上に搬送されて、原稿の裏面が読み取られる。次に、原稿は、搬送ベルト１９によって搬送されると共に、反転爪１７で反転した後、再びコンタクトガラス２１上に搬送されて、原稿の表面が読み取られる。そして、コンタクトガラス２１上の原稿は、搬送ベルト１９及び排紙ローラ１６によって排紙トレイ１８上に排出される。
【００２０】
スキャナ部２０００は、原稿を載置するためのコンタクトガラス２１と、光学走査系２０を有する。光学走査系２０は、露光ランプ２３、第１ミラー２６、第２ミラー２４、第３ミラー２５、レンズ２２及びフルカラーＣＣＤ２７を備える。露光ランプ２３及び第１ミラー１２は、不図示の第１キャリッジに装備され、第１キャリッジは、原稿を読み取る際に、ステッピングモータによって一定速度で副走査方向に移動する。第２ミラー２４及び第３ミラー２５は、不図示の第２キャリッジに装備され、第２キャリッジは、原稿を読み取る際に、ステッピングモータによって第１キャリッジのほぼ１／２の速度で移動する。そして、第１キャリッジ及び第２キャリッジが移動することによって、原稿の画像面が光学的に走査され、読み取られたデータがレンズ２２によってフルカラーＣＣＤ２７の受光面に結像され、光電変換される。フルカラーＣＣＤ２７によって、赤（Ｒ）、緑（Ｇ）及び青（Ｂ）の各色に光電変換された画像データは、Ａ／Ｄ変換され各種の画像処理が施される。
【００２１】
さらに、複写する際には、画像形成部３０００によって用紙に画像データが複写される。画像形成部３０００は、レーザ出力部２８、ｆθレンズ２７及びミラー２９を備える。レーザ出力部２８は、レーザダイオード（ＬＤ）、ポリゴンミラー及びポリゴンモータを有する。感光体３５の周囲には、帯電ローラ３０、黒現像器３１、赤信号の画像を書き込むためのＬＥＤ書き込みユニット３３、赤現像器３４、転写器及び分離器（不図示）が配置されている。
【００２２】
帯電ローラ３０は、後述するように非接触型帯電ローラである。帯電ローラ３０は、帯電制御装置１００によりＡＣ＋ＤＣ電圧が印可され、感光体３５の周面を帯電させる。レーザ出力部２８は、複写時にスキャナで読み取られた画像に応じて変調された黒信号のレーザ光を出射する。レーザ光はミラー２９により帯電した感光体３５の周面を主走査方向に走査するように誘導される。これにより、感光体３５上に潜像が形成される。
【００２３】
黒現像器３１及び赤現像器３４は、潜像形成された像にトナーを付着させ感光体３５の周面にトナー像（トナーによって可視化した像）を形成する。次述するように所定のタイミングで用紙が転写装置４０に搬送され、転写装置４０にてトナー像が用紙に転写される。感光体３５の表面に残留したトナーは、感光体３５の周面に摺接するブレードを備えたクリーニング装置により除去される。
【００２４】
用紙は、画像形成装置２００内の両面ユニット４６、第１トレイ５７、給紙ユニット４０００内の第２トレイ５４、第３トレイ５５及び第４トレイ５６のいずれかから選択される。選択された用紙は、フィードローラ４３及び分離コロ４７、第１給紙装置４８、第２給紙装置４９、第３給紙装置５１又は第４給紙装置５２によって給紙される。
【００２５】
また、両面ユニット４６及び第１トレイ５７から給紙された用紙は、縦搬送ユニット４５によって上方に向けて搬送され、第２給紙装置４９、第３給紙装置５１又は第４給紙装置５２によって給紙された用紙は、バンク縦搬送ユニット５３及び縦搬送ユニット４５を経由して搬送される。そして、この用紙は、その先端がレジストセンサ４２によって検出された後、所定時間が経過すると、レジストローラ４１に突き当てられて一端停止する。さらに、用紙は、副走査有効期間信号（ＦＧＡＴＥ）に同期してレジストローラ４１の回転により搬送され、感光体３５上のトナー像が転写される。
【００２６】
次に、用紙は、感光体３５から分離器（不図示）により分離された後に、搬送装置３６によって定着装置３７まで搬送され、定着装置３７により熱と圧力でトナー像が定着される。定着後の用紙は、片面印刷時と、両面印刷時の両面印刷後に、切り換え爪３９及び排紙ローラ３８によって排紙トレイ５３上に排出される。
【００２７】
本実施例のステッピングモータ制御装置１００は、給紙ローラ１２を回転駆動するステッピングモータに供給するコイル電流を制御する。しかしながら、ステッピングモータであれば、排紙ローラ１６やフィードローラ４３にも好適に適用することができる。
【００２８】
〔ステッピングモータ制御装置１００の全体構成〕
図３は、ステッピングモータ制御装置１００の機能ブロック図の一例を示す図である。ステッピングモータ制御装置１００は、ＣＰＵ６５により制御される。電源６１から供給される電力（電圧・電流）は電源電圧／電流検出回路６２を介してステッピングモータ６６に供給される。電源電圧／電流検出回路６２は、ＣＰＵ６５に接続されている。
【００２９】
ＣＰＵ６５にはモータドライバ６４、トルクセンサ６８、ロータリーエンコーダ６９及びＲＯＭ６３が接続されている。モータドライバ６４はステッピングモータ６６と接続され、ステッピングモータ６６は給紙駆動軸６７と接続され、給紙駆動軸６７はトルクセンサ６８及びロータリーエンコーダ６９と接続されている。
【００３０】
電源６１は商用の交流電源に接続されており、交流電源を、ステッピングモータ６６を駆動するために好適な直流の電流と電圧に変換している。本実施例ではステッピングモータ６６を駆動する電圧の上限を２４〔Ｖ〕とする。電源電圧／電流検出回路６２は、電源６１が供給する電圧値と電流値を検出し、アナログ電圧信号でＣＰＵ６５へ送信する。
【００３１】
ロータリーエンコーダ６９は、給紙駆動軸６７が所定の角度回転する毎にパルス信号をＣＰＵ６５へ送信する。ＣＰＵ６５は単位時間毎のパルス信号の数から給紙駆動軸６７の回転速度を検出する。本実施例では、ステッピングモータ６６の回転軸と給紙駆動軸６７とそれぞれ一体に回転する１対のギアのギア比は「1：1」とする。したがって、給紙駆動軸６７の回転速度がそのまま、ステッピングモータ６６のモータ回転速度となる。
【００３２】
また、トルクセンサ６８は、給紙駆動軸６７のねじれ角を電気信号に変換して得られた負荷トルクを検出する。トルクセンサ６８は、検出した負荷トルクをアナログ電圧信号としてＣＰＵ６５へ送信する。ＣＰＵ６５はこれをＡ／Ｄ変換して負荷トルクを取得する。
【００３３】
ＲＯＭ６３には、後述する式に関する関数情報８５が予め記憶されている。また、ＲＯＭ６３には、ルックアップテーブル８４が記憶される。
図４は、初期のルックアップテーブル８４の一例を示す図である。初期のルックアップテーブル８４には、パルス周波数とコイル電流のみが登録されている。なお、「初期」とは、工場出荷状態をいう。
【００３４】
一度、ルックアップテーブル８４が生成された後（空欄が埋められた後）、ステッピングモータ制御装置１００は所定のタイミングでルックアップテーブル８４を更新する。したがって、モータ効率と脱調有無は適宜、更新される。このように、比較的、短期間でルックアップテーブルを更新することで、常に、モータ効率のよいコイル電流にてステッピングモータ６６を駆動できる。例えば、経時的に給紙ローラの取り付け角度が変わったような場合でも、常に、モータ効率のよいコイル電流でステッピングモータを駆動できる。
【００３５】
図４に登録されたパルス周波数〔Ｐｕｌｓｅ  Ｐｅｒ  Ｓｅｃｏｎｄ〕は、ステッピングモータ６６が取り得る回転数に応じて定まる。図では３段階に変えられるモータ回転速度に対応して、１２００、１８００、２４００の３種類のパルス周波数が登録されている。また、コイル電流には、取り得る値がいくつか（図では６個ずつ）登録されている。ステッピングモータ６６は定電流制御されるが、コイル電流はある程度の範囲で可変であり、必要な駆動トルクによる下限、発熱等を許容できる上限、から好ましいコイル電流の範囲を定めておくことができる。なお、コイル電流が高いほど高い駆動トルクが得られる。
【００３６】
そして、本実施例のステッピングモータ制御装置１００は、同じパルス周波数に対しモータ効率のよいコイル電流を決定する。このため、ステッピングモータ制御装置１００は、画像形成装置のウォーミングアップ中や用紙ジャムリカバリ後など、コイル電流を調整するタイミングになると、「モータ効率」を計算し、また、脱調の有無を判定してルックアップテーブルの「モータ効率」「脱調発生有無」に登録していく。なお、モータ効率の測定の手順効率を考慮して、「パルス周波数（PPS）」は昇順に、「コイル電流」は降順にソートしておく。
【００３７】
また、図３に戻り、ＲＯＭ６３には、ＣＰＵ６５が実行するためのプログラム８６が記憶されている。このプログラム８６は、画像形成装置２００の出荷時にＲＯＭ６３に記憶されている。また、バージョンアップ等のため、記憶媒体７２に記憶された状態で配布されるので、ユーザがＵＳＢ Ｉ／Ｆ７１に記憶媒体７２を装着して、読み出されたプログラム８６をＲＯＭ６３にインストールすることができる。不図示のサーバから、画像形成装置がＮＩＣ（Network Interface Card）を介して受信し、ＲＯＭ６３にインストールしてもよい。したがって、ＲＯＭ６３は、フラッシュメモリ、FeRAM（Ferroelectric Random Access Memory）、MRAM（Magnetoresistive Random Access Memory）等の書き換え可能な不揮発メモリであればよい。
【００３８】
ＣＰＵ６５は、このプログラム８６を実行することで、パルス周波数、コイル電流、モータ効率、及び、脱調有無を関連づけてルックアップテーブル８４に登録するテーブル生成部８１、パルス周波数毎に、ルックアップテーブル８４に登録された、複数のコイル電流値設定候補から脱調がなく最もモータ効率が高いコイル電流値を選択するコイル電流選択部８２と、選択されたコイル電流値で、ステッピングモータ６６を駆動するモータ駆動部８３、とを有する。また、テーブル生成部８１は、モータ効率を算出するモータ効率算出部８１ａ及び脱調有無を判定する脱調有無判定部８１ｂを有する。
【００３９】
モータ効率算出部８１ａは、ロータリーエンコーダ６９が検出した「モータ回転速度」と、トルクセンサ６８が検出した「負荷トルク」から、ＲＯＭ６３に格納した関数情報８５を利用して、「モータ出力」を算出する。この関数については後述する。また、モータ効率算出部８１ａは、電源電圧／電流検出回路６２が検出した「電源電圧」と「電源電流」から、ＲＯＭ６３に格納した関数情報８５を利用して「消費電力」を算出する。そして、モータ効率算出部８１ａは、算出した「モータ出力」と「消費電力」から、ＲＯＭ６３に格納した関数情報８５を利用して「モータ効率」を算出する。モータ効率算出部８１ａは、以上の算出を、パルス周波数とコイル電流の組み合わせ毎に行う。そして、テーブル生成部８１は、「パルス周波数（PPS）」、「コイル電流」、「モータ効率」が関連付けられたルックアップテーブル８４を生成する。なお、脱調有無の判定については後述する。
【００４０】
コイル電流選択部８２は、モータドライバ６４に設定するコイル電流をルックアップテーブル８４から選択する。モータ駆動部８３は、選択したコイル電流をコイル電流設定信号に変換してモータドライバ６４に送信する。また、モータ駆動部８３は、ステッピングモータ６６の回転速度を制御するため、モータドライバ６４にパルス周波数を送信する。また、モータ駆動部８３は、ステッピングモータ６６の励磁方式を指定する励磁方式設定信号をモータドライバ６４に送信する。
【００４１】
モータドライバ６４は、ＣＰＵ６５から送信されたパルス周波数信号と励磁方式設定信号に従って励磁信号（シリアルデータ）を生成し、ステッピングモータ６６を駆動する。また、モータドライバ６４は、ＣＰＵ６５から送信されたコイル電流設定信号に従って、「コイル電流値」を決定し、その電流値にてチョッピング制御を行う。
【００４２】
図５に、モータドライバ６４のブロック図の一例を示す。図５では、ステッピングモータ６６を１相励磁、２相励磁、１−２相励磁、２−１相励磁が可能なステッピングモータ６６として説明するが、より多相の励磁方式やマイクロステップ用の励磁など、励磁方式はどのような態様であってもよい。
【００４３】
モータドライバ６４は、定電流駆動方式を基本としながら、さらにコイル電流を可変にすることができる。コイル電流設定信号（電圧値）は比較回路７５ａ、７５ｂに入力され、コイルに流れる電流を検出する電流検出抵抗Ｒｓの電圧と比較される。チョッピング制御回路７４ａ、７４ｂは、コイル電流がコイル電流設定信号よりも小さい間は、コイル電流をステッピングモータ６６に供給し、コイル電流がコイル電流設定信号以上になると、コイル電流がステッピングモータ６６に供給することを停止する。このため、ステッピングモータ６６に流れるコイル電流は、コイル電流設定信号により指示された一定電流に制御される。
【００４４】
シーケンサ回路７３は、ＣＰＵ６５から入力されたパルス周波数信号に基づいてステッピングモータ６６のＡ相、−Ａ相、Ｂ相、−Ｂ相に対応したシリアルデータを作成する。例えば、励磁方式設定信号により２相励磁が指定された場合、（Ａ相オン、Ｂ相オン）、（−Ａ相オン、Ｂ相オン）、（−Ａ相オン、−Ｂ相オン）、（Ａ相オン、−Ｂ相オン）、（Ａ相オン、Ｂ相オン）、（−Ａ相オン、Ｂ相オン）、（−Ａ相オン、−Ｂ相オン）、（Ａ相オン、−Ｂ相オン）、を繰り返すシリアルデータとなる。
【００４５】
シーケンサ回路７３は、シリアルデータに基づき、スイッチ回路７６ａ、７７ａ、７６ｂ、７７ｂのオン・オフを制御する。オン・オフのタイミング（供給されるクロックに対し、各スイッチ回路７６ａ、７７ａ、７６ｂ、７７ｂの状態をどのくらい保つか）は、パルス周波数信号により予め規定されている。
【００４６】
〔コイル電流の決定の制御手順〕
図６は、ステッピングモータ制御装置１００がコイル電流をモータ効率と脱調有無をルックアップテーブルに登録する手順を示すフローチャート図の一例である。図６の手順は、画像形成装置２００のシステム制御モジュールからステッピングモータ制御装置１００に対して、「コイル電流調整」要求がくるとスタートする。例えば、システム制御モジュール側から「コイル電流調整」要求が来るタイミングとして、ウォーミングアップ中や用紙ジャムリカバリ後などが想定される。
【００４７】
システム制御モジュール側からの「コイル電流調整」要求をＣＰＵ６５が受けるとテーブル生成部８１が起動し、テーブル生成部８１は、「コイル電流調整ルーチン」を起動する（Ｓ１）。なお、給紙モータが回転している状態で、コイル電流を調整すべきでないので、テーブル生成部８１は給紙モータの停止を確認しておく。その理由は、給紙モータ１２に最も負荷が掛かるモータ起動時の脱調有無を確認するためである（モータ起動時は、負荷トルクに加え、加速トルクが掛かる）。給紙モータが停止していることは、ロータリーエンコーダ６９がパルス信号を出力しないことから検出される。
【００４８】
テーブル生成部８１は、ＲＯＭ６３に記憶されたルックアップテーブル８４を参照し、モータ効率を測定し、脱調有無を判定する「パルス周波数」と「コイル電流」の組を決定する（ステップＳ２）。ルックアップテーブル８４における複数の「パルス周波数」のうちの最小値が「初期値」として、複数の「パルス周波数」のうちの最大値が「上限値」として、それぞれ扱われる。同様に、複数の「コイル電流」のうちの最大値が「初期値」として、複数の「コイル電流」のうちの最小値が「下限値」として、それぞれ扱われる。
【００４９】
ステップＳ３〜Ｓ１７によりモータ効率が算出されるが、ここでモータ効率の算出手順（ステップＳ３〜ステップＳ１７）の概要を説明する。
（１）まず、テーブル生成部８１は、パルス周波数（PPS）を一定値に保ちながらコイル電流を変更し、変更の都度「負荷トルク」と「電源電圧/電流」を検出する。設定するコイル電流が「下限値」に達したら、テーブル生成部８１は、そのパルス周波数における「負荷トルク」と「電源電圧/電流」の測定を終了する。また、テーブル生成部８１は、モータの脱調を検出した場合も、そのパルス周波数における測定を終了する。
（２）次に、テーブル生成部８１は、パルス周波数を変更し、（１）の手順を繰り返す。
（３）パルス周波数の「上限値」に達したら、テーブル生成部８１は、モータ効率の測定を完了する。
【００５０】
ステップＳ３に戻り、詳細に説明する。
テーブル生成部８１は、「目標ＰＰＳ」に「初期値」を設定する（Ｓ３）。テーブル生成部８１は、この目標ＰＰＳの一定値にモータ回転数を保ちながらコイル電流を変更する。また、テーブル生成部８１は、「コイル電流」に「初期値」を設定する（Ｓ４）。最も大きいコイル電流が初期値となるので、最も脱調しにくい条件からモータ効率の算出を開始できる。
【００５１】
モータ駆動部８３は、目標ＰＰＳとしてのパルス電流と、コイル電流に基づき、ＲＯＭ６３に予め格納された給紙モータのスルーアップテーブル内容に従って、給紙モータを起動する（Ｓ５）。すなわち、モータ駆動部８３は、スルーアップテーブルに従い徐々に回転数を大きくする。
【００５２】
モータ効率算出部８１ａは、ロータリーエンコーダ６９から送信されるパルス信号に基づき、「モータ回転速度（rad/s）」の検出を開始する（Ｓ６）。モータ駆動部８３は、「モータ回転速度（給紙駆動軸６７の回転速度）」が「目標ＰＰＳ」に対応するモータ回転速度に達するまで継続してモータ回転速度を制御する。
【００５３】
なお、「モータ回転速度」はロータリーエンコーダ６９が出力するパルス周波数から次式により算出される。
「モータ回転速度（rad/ｓ）」＝「出力パルス周波数（Hz）÷エンコーダ分解能（P/R）」×2π  …（１）
また、「目標ＰＰＳ」に対応するモータ回転速度は、次式により算出される。
「モータ回転速度（rad/S）」＝｛「目標PPS（Hz）」÷（３６０÷「モータ基本ステップ角（°）」）｝×2π  …（２）
ところで、ステッピングモータ６６が脱調すると、「モータ回転速度（給紙駆動軸６７の回転速度）」が「目標ＰＰＳ」に対応する目標モータ回転速度に達しない。本実施例では、ステッピングモータ６６の起動を開始してから、所定時間内に、モータ回転速度が目標モータ回転速度に達しない場合、脱調有無判定部８１ｂは、脱徴したと判定する。この所定時間（例えば、数秒）は、実験的に予め定めておく。ルックアップテーブル８４に登録しておいてもよい。
【００５４】
このため、ステップＳ７の判定により、「モータ回転速度」が目標モータ回転速度に達しない場合（Ｓ７のＮｏ）、脱調有無判定部８１ｂが、所定時間が経過したか否かに基づき、脱調したか否かを判定する（Ｓ８）。
【００５５】
この結果、所定時間内に、「モータ回転速度」が目標モータ回転速度に達した場合（Ｓ７のＹｅｓ）、処理はステップＳ９に進む。
【００５６】
一方、「モータ回転速度」が所定時間内に目標モータ回転速度に達しない場合（Ｓ８のＹｅｓ）、脱調有無判定部８１ｂは脱徴したと判定する。モータが脱調したと判定した場合（Ｓ８のＹｅｓ）、モータ駆動部８３がステッピングモータ６６を停止させる（Ｓ１１）。そして、テーブル生成部８１は、ルックアップテーブル８４の「モータ効率」の列に「0（％）」を、「脱調有無」の列に「1（脱調）」を登録する（Ｓ２１）。
【００５７】
また、テーブル生成部８１はルックアップテーブル８４に、現在設定されている目標ＰＰＳのパルス周波数について、残りの「モータ効率」の列に「0（％）」を、「脱調有無」の列に「1（脱調）」を登録する（Ｓ２２）。降順に登録されたコイル電流において、あるコイル電流で脱調した場合、それより小さいコイル電流では脱調するとしてよいからである。
【００５８】
また、テーブル生成部８１は、「目標PPS」にルックアップテーブル８４における「次の設定値」を設定する（Ｓ２３）。ここで「次の設定値」とは、ルックアップテーブル８４における「現在の設定値」の次に高いパルス周波数である。すなわち、次のパルス周波数におけるモータ効率の算出に移行する。こうすることで、ルックアップテーブル８４のモータ効率の算出をより短い時間で完了できる。
【００５９】
ステップＳ９に戻り、モータ効率算出部８１ａは、負荷トルクを検出する（Ｓ９）。モータ効率算出部８１ａは、トルクセンサ６８が検出する出力電圧から次式を用いて、「負荷トルク」を算出する。ただし式（３）において「A：変換係数」である。
「負荷トルク（N・m）」＝「トルクセンサ出力電圧（V）」×A    …（３）
次に、モータ効率算出部８１ａは、電源電圧／電流検出回路６２が検出した「電源電圧」を用いて、次式から、ステッピングモータ駆動電源の電圧値を算出する（Ｓ１０）。ただし式（４）において「Ｂ：変換係数」である。
「電圧値（V）」＝「電源電圧（V）」×Ｂ    …（４）
同様に、モータ効率算出部８１ａは、電源電圧／電流検出回路６２が検出した「電流電圧」を用いて、次式から、ステッピングモータ駆動電源の電流値を算出する。ただし式（５）において「Ｂ：変換係数」である。
「電流値（A）」＝「電源電流（V）」×Ｃ  …（５）
これにより、モータ効率に必要な情報が得られたので、モータ駆動部８３はモータを停止させる（Ｓ１１）。モータ駆動部８３は、ＲＯＭ６３に予め格納された給紙モータのスルーダウンテーブル内容に従って、ステッピングモータ６６を停止する。
【００６０】
そして、モータ効率算出部８１ａは、式（３）で算出した「負荷トルク」と、式（１）で算出した「モータ回転速度」から、式（６）を用いて、「モータ出力」を算出する（Ｓ１２）。
「モータ出力（W）」＝「モータ負荷トルク（N・m）」×「モータ回転速度（rad/S）」…（６）
また、モータ効率算出部８１ａは、式（４）から算出した「電圧値（V）」と、式（４）から算出した「電流値（A）」から、式（７）を用いて、「消費電力」を算出する。（Ｓ１２）。
「消費電力（W）」＝「電源電圧（V）」×「電源電流（A）」  …（７）
また、モータ効率算出部８１ａは、式（６）で算出した「モータ出力」と、式（７）で算出した「消費電力」から、式（８）を用いて、「モータ効率」を算出する。
「モータ効率（％）」＝「モータ出力（W）」÷「消費電力（W）」…（８）
以上により、テーブル生成部８１は、ルックアップテーブル８４の「モータ効率」の列に、式（８）で算出した「モータ効率」登録する。また、モータ効率が算出されたことは、脱調しなかったことを意味するので、テーブル生成部８１は、「脱調有無」の列に「0（正常）」を登録する（Ｓ１３）。
【００６１】
次に、テーブル生成部８１は、現在の「コイル電流」が「下限値」か否かを判定する（Ｓ１４）。コイル電流は降順にソートされているので、「下限値」になるとその目標ＰＰＳとコイル電流の全ての組に対し、モータ効率の算出が終了したことになる。したがって、「コイル電流」が「下限値」でない場合（Ｓ１４のＮｏ）、テーブル生成部８１は、「コイル電流」に、ルックアップテーブル８４において次に小さいコイル電流を設定する（Ｓ１５）。例えば、図４の例では「現在の設定値」が「１．２Ａ」の場合、「次の設定値」は「１．０Ａ」である。
【００６２】
「コイル電流」が「下限値」であった場合（Ｓ１４のＹｅｓ）、テーブル生成部８１は、現在設定されている「目標PPS」が「上限値」か否かを判定する（Ｓ１６）。ルックアップテーブル８４は、パルス周波数に対し昇順にソートされているので、「目標PPS」が「上限値」の場合は、全てのパルス周波数について、ルックアップテーブル８４の空欄を埋めたこと、又は、ルックアップテーブル８４を更新したことになる。
【００６３】
このため、「目標PPS」が「上限値」でない場合（ステップＳ１６のＮｏ）、テーブル生成部８１は、「目標PPS」にルックアップテーブル８４における「次の設定値」を設定する（Ｓ１７）。ここで「次の設定値」とは、ルックアップテーブル８４における「現在の設定値」の次に高いパルス周波数を指す。例えば、図４では「現在の設定値」が「１２００Ｈｚ」の場合、「次の設定値」は「１８００Ｈｚ」である。そして、テーブル生成部８１は、新たに設定した「目標ＰＰＳ」に対しステップＳ４からの処理を繰り返す。
【００６４】
「目標ＰＰＳ」が「上限値」であった場合（ステップＳ１６のＹｅｓ）、ルックアップテーブル８４を参照して、必要であればコイル電流選択部８２がコイル電流を決定し（Ｓ１８）、テーブル生成部８１は、「コイル電流調整ルーチン」を終了する（Ｓ１９）。また、テーブル生成部８１は、システム制御モジュール側に「コイル電流調整」が完了したことを通知する。
【００６５】
〔ルックアップテーブル８４を参照したコイル電流の選択〕
以上の処理で、ルックアップテーブル８４が生成された。
図７は、生成されたルックアップテーブル８４の一例を示す図である。「パルス周波数」と「コイル電流」に対応づけて、「モータ効率」と「脱調有無」が登録されている。なお、上述のように、「脱調」した場合は「モータ効率」は「ゼロ」である。
【００６６】
コイル電流選択部８２は、ステッピングモータ６６を駆動する際、ルックアップテーブル８４を参照して最もモータ効率のよいコイル電流を選択する。
図８は、コイル電流選択部８２が、コイル電流を選択する手順のフローチャート図の一例である。
【００６７】
まず、コイル電流選択部８２は、システム制御モジュールから要求されたステッピングモータの回転速度からパルス周波数を決定する。そして、コイル電流選択部８２は、パルス周波数に対応づけられた「コイル電流」「モータ効率」「脱調有無」を、ルックアップテーブル８４から読み出す（Ｓ１１０）。
【００６８】
そして、コイル電流選択部８２は、「脱調有無」が「１」の「モータ電流」を選択対象から排除する（Ｓ１２０）。
【００６９】
次に、コイル電流選択部８２は、モータ効率が最も高いコイル電流を抽出する（Ｓ１３０）。例えば、パルス周波数が「１２００」の場合、最も高いモータ効率は「３５％」なので、コイル電流選択部８２は、モータ効率が「３５％」に対応づけられた「０．６Ａ」をコイル電流に抽出する。
【００７０】
また、例えば、パルス周波数が「１８００」の場合、最も高いモータ効率は「３１％」なので、コイル電流選択部８２は、モータ効率が「３１％」に対応づけられた「１．０Ａ」をコイル電流に抽出する。なお、パルス周波数が「１８００」の場合、モータ効率は最高でなくても最小のコイル電流「０．８Ａ」があるのでこちらのコイル電流を選択してもよい。例えば、コイル電流選択部８２は、モータ効率が大きく変わらないようなら、直接コイル電流に着目してもよい。例えば、最高と次点のモータ効率の差（図7では「（３１−２８）／３１×１００」＜１０％以内）が、最高と次点のコイル電流の差（図7では「（１．０−０．８）／１．０」＜２０％）よりも十分に小さいような場合、最も小さいコイル電流を抽出することも可能である。
【００７１】
また、コイル電流選択部８２は、最も高いモータ効率が複数あるか否かを判定する（Ｓ１４０）。最も高いモータ効率が複数ある場合（Ｓ１４０のＹｅｓ）、コイル電流選択部８２は、最も高いモータ効率に対応づけられた複数のコイル電流から、最も小さいコイル電流を選択する（Ｓ１５０）。こうすることで、モータ効率が同じなら、消費電力を小さくすることができる。
【００７２】
最も高いモータ効率が複数ない場合（Ｓ１４０のＮｏ）、コイル電流選択部８２は、ステップＳ１３０で抽出したコイル電流を、コイル電流として選択する（Ｓ１６０）。
【００７３】
以上のような選択により、パルス周波数が「１２００」では「０．６Ａ」が、パルス周波数が「１８００」では「１．０Ａ」が、パルス周波数が「２４００」では「１．２Ａ」が、それぞれ選択される。
【００７４】
モータ駆動部８３は、選択されたコイル電流値をコイル電流設定信号に変換して、モータドライバ６４に出力する。これにより、モータドライバ６４は、選択されたコイル電流値一定で、ステッピングモータ６６を駆動する。
【００７５】
以上説明したように、本実施例のステッピングモータ制御装置１００は、予め、コイル電流と「モータ効率」「脱調有無」を調べておくことにより、脱調しないコイル電流のなかから最も効率の高いコイル電流を選択して、ステッピングモータ６６を駆動できる。
【実施例２】
【００７６】
実施例１では、「コイル電流を調整するタイミング」になると、ルックアップテーブル８４を更新したが、モータ効率はそれほど急激に変動しない。そこで、本実施例では、ステッピングモータ６６の積算稼働時間が、所定の再更新時間を超えた場合に、図６と同様のフローチャート図に従い、モータ効率と脱調有無をルックアップテーブル８４に登録するステッピングモータ制御装置１００について説明する。
【００７７】
図９は、ステッピングモータ制御装置１００の機能ブロック図の一例を示す図である。図９において図３と同一部には同一の符号を付しその説明は省略する。本実施例のステッピングモータ制御装置１００は、ＣＰＵ６５がプログラム８６を実行することで実現される、再更新時間経過計測部８７を有する。
【００７８】
再更新時間経過計測部８７は、パラメータとして（命令コードの一部として）「再更新時間」を記憶している。そして、再更新時間経過計測部８７は、ステッピングモータ６６が実際に回転している時間を計測して、積算していく。再更新時間経過計測部８７は、例えば、ロータリーエンコーダが検出するパルス信号から実際に回転している場合にフラグを立て、フラグが立っている間の時間を計測する。
【００７９】
再更新時間経過計測部８７は、積算時間を更新しながら随時、ＲＯＭ６３に記憶する。再更新時間経過計測部８７は、例えば、画像形成装置の主電源がＯＮになる毎に、再更新時間と積算時間を比較して、積算時間が再更新時間を超えている場合、再更新時間経過計測部８７は、テーブル生成部８１に、ルックアップテーブル８４の更新を要求する。更新すると、更新時間経過計測部８７は積算時間をリセットする。
【００８０】
図１０は、ステッピングモータ制御装置１００がコイル電流をモータ効率と脱調有無をルックアップテーブルに登録する手順を示すフローチャート図の一例である。図１０の手順は、例えば、画像形成装置の主電源がＯＮになる毎にスタートする。
【００８１】
再更新時間経過計測部８７は、ＲＯＭ６３に記憶された積算時間が、再更新時間に到達したか否かを判定する（Ｓ３１０）。積算時間が再更新時間に到達していない場合（Ｓ３１０のＮｏ）、ルックアップテーブル８４を更新しないので、図１０の処理は終了する。
【００８２】
積算時間が再更新時間に到達している場合（Ｓ３１０のＹｅｓ）、ルックアップテーブル８４を更新するタイミングなので、再更新時間経過計測部８７は、テーブル生成部８１に、ルックアップテーブル８４の更新を要求する（Ｓ３２０）。
【００８３】
これにより、テーブル生成部８１は、実施例１と同様にしてルックアップテーブル８４を更新する（Ｓ３３０）。ステップＳ３３０の処理は、図６のステップＳ１からＳ２３と同じなので省略する。
【００８４】
本実施例によれば、実施例１の効果に加え、負荷トルクの経時変動（ギアの磨耗など）が生じるような時間毎にルックアップテーブル８４を更新するので、モータ効率の高い状態を維持することができる。
【００８５】
＜変形例＞
なお、最後に、ルックアップテーブル８４を更新した年月日と時刻をＲＯＭ６３に記憶しておき、単にルックアップテーブル８４が更新されてからの期間を更新必要時間と比較して、ルックアップテーブル８４を更新してもよい。この場合、再更新時間経過計測部８７は、現在の年月日と時刻をシステム制御モジュールから取得する。システム制御モジュールは、カレンダ機能により現在の年月日と時刻を継続的に保持している。
【００８６】
そして、再更新時間経過計測部８７は、ＲＯＭ６３から読み出した、「最後にルックアップテーブル８４を更新した年月日と時刻」から「現在の年月日と時刻」までの経過時間が、更新必要時間を超えたか否かを判定する。超えている場合、再更新時間経過計測部８７は、テーブル生成部８１に、ルックアップテーブル８４の更新を要求する。
【００８７】
図１１は、ステッピングモータ制御装置がコイル電流をモータ効率と脱調有無をルックアップテーブルに登録する手順を示すフローチャート図の一例である。図１１の手順は、例えば、画像形成装置の主電源がＯＮになる毎にスタートする。
【００８８】
再更新時間経過計測部８７は、システム制御モジュールから取得した「現在の年月日と時刻」と、ＲＯＭ６３から読み出した「最後にルックアップテーブルを更新した年月日と時刻」から、更新必要時間以上、経過しているか否かを判定する（Ｓ３１１）。
【００８９】
「最後にルックアップテーブルを更新した年月日と時刻」から更新必要時間以上、経過していない場合（Ｓ３１１０のＮｏ）、ルックアップテーブル８４を更新しないので、図１１の処理は終了する。
【００９０】
「最後にルックアップテーブルを更新した年月日と時刻」から更新必要時間以上、経過している場合（Ｓ３１１０のＹｅｓ）、ルックアップテーブル８４を更新するタイミングなので、再更新時間経過計測部８７は、テーブル生成部８１に、ルックアップテーブル８４の更新を要求する（Ｓ３２１）。
【００９１】
これにより、テーブル生成部８１は、実施例１と同様にしてルックアップテーブル８４を更新する（Ｓ３３０）。ステップＳ３３０の処理は、図６のステップＳ１からＳ２３と同じなので省略する。
【００９２】
また、再更新時間経過計測部８７は、ルックアップテーブル８４を更新した際の年月日と時刻をＲＯＭ６３に記憶する（Ｓ３４１）。
【００９３】
本変形例では、実施例２と同様に、実施例１の効果に加え、負荷トルクの経時変動（ギアの磨耗など）が生じるような時間毎にルックアップテーブル８４を更新するので、モータ効率の高い状態を維持することができる。
【実施例３】
【００９４】
実施例２ではステッピングモータ６６の積算稼働時間又は最後に更新してからの経過時間に基づき、ルックアップテーブル８４の更新タイミングを決定したが、本実施例では、ステッピングモータ６６の駆動伝達部の積算走行距離から更新タイミングを決定するステッピングモータ制御装置１００について説明する。
【００９５】
図１２は、ステッピングモータ制御装置１００の機能ブロック図の一例を示す図である。図１２において図３と同一部には同一の符号を付しその説明は省略する。本実施例のステッピングモータ制御装置１００は、給紙駆動軸６７に給紙駆動ローラ８９が接続されている。また、本実施例のステッピングモータ制御装置１００は、ＣＰＵ６５がプログラム８６を実行することで実現される、積算走行距離計測部８８を有する。
【００９６】
給紙駆動ローラ８９は給紙駆動軸６７と同軸に取り付けられている。ステッピングモータの軸と給紙駆動軸６７に設けられた互いに噛合するギアのギア比は１：１とする。
【００９７】
積算走行距離計測部８８は、給紙駆動ローラ８９の積算走行距離を計測する。
図１３は、給紙駆動ローラ８９の概略斜視図の一例を示す。給紙駆動ローラ８９の円周のある点の軌跡を積算したものである。したがって、積算走行距離計測部８８は、次式から積算走行距離を算出する。
「ローラ積算走行距離（m）」＝「モータ回転速度（rad/ｓ）」×「給紙駆動ローラ径ｒ」×「モータ積算稼動時間（ｓ）」  …（９）
式（９）のうち、「モータ回転速度（＝ローラ回転速度）」は式（１）から算出でき、「給紙駆動ローラ径ｒ」は既知であり、「モータ積算稼動時間」は実施例２の再更新時間経過計測部８７が計測する。
【００９８】
積算走行距離計測部８８は、式（９）で算出した「ローラ積算走行距離」をＲＯＭ６３に記憶された積算走行距離に順次加えていく。積算走行距離計測部８８は、パラメータとして（命令コードの一部として）「再更新距離」を記憶している。積算走行距離計測部８８は、例えば、画像形成装置の主電源がＯＮになる毎に、再更新距離と積算走行距離を比較して、積算走行距離が再更新距離を超えている場合、テーブル生成部８１に、ルックアップテーブル８４の更新を要求する。更新すると、積算走行距離計測部８８は積算走行距離をリセットする。
【００９９】
図１４は、ステッピングモータ制御装置がコイル電流をモータ効率と脱調有無をルックアップテーブルに登録する手順を示すフローチャート図の一例である。図１４の手順は、例えば、画像形成装置の主電源がＯＮになる毎にスタートする。
【０１００】
積算走行距離計測部８８は、ＲＯＭ６３に記憶された積算走行距離が、再更新距離に到達したか否かを判定する（Ｓ４１０）。積算走行距離が再更新距離に到達していない場合（Ｓ４１０のＮｏ）、ルックアップテーブル８４を更新しないので、図１４の処理は終了する。
【０１０１】
積算走行距離が再更新距離に到達している場合（Ｓ４１０のＹｅｓ）、ルックアップテーブル８４を更新するタイミングなので、積算走行距離計測部８８は、テーブル生成部８１に、ルックアップテーブル８４の更新を要求する（Ｓ４２０）。
【０１０２】
これにより、テーブル生成部８１は、実施例１と同様にしてルックアップテーブル８４を更新する（Ｓ３３０）。ステップＳ３３０の処理は、図６のステップＳ１からＳ２３と同じなので省略する。
【０１０３】
本実施例によれば、実施例１の効果に加え、負荷トルクの経時変動（ギアの磨耗など）が生じるような給紙駆動ローラ８９の走行距離毎にルックアップテーブル８４を更新するので、モータ効率の高い状態を維持することができる。また、実施例２の積算時間では高い回転速度でも低い回転速度でも、積算時間が同じならルックアップテーブル８４を更新することになるが、本実施例では、実際の給紙駆動ローラ８９の走行距離をトリガーにするので、より適切なタイミングでルックアップテーブル８４を更新できる。
【実施例４】
【０１０４】
実施例２，３では、ステッピングモータ６６の稼働状態からルックアップテーブル８４の更新タイミングを決定したが、本実施例では、ステッピングモータ６６の継続した停止時間に基づき更新タイミングを決定するステッピングモータ制御装置１００について説明する。
【０１０５】
図１５は、ステッピングモータ制御装置１００の機能ブロック図の一例を示す図である。図１５において図３と同一部には同一の符号を付しその説明は省略する。本実施例のステッピングモータ制御装置１００は、ＣＰＵ６５がプログラム８６を実行することで実現される、連続停止時間計測部９２を有する。
【０１０６】
連続停止時間計測部９２は、パラメータとして（命令コードの一部として）「停止判定時間」を記憶している。そして、連続停止時間計測部９２は、ステッピングモータ６６が継続して停止している時間を計測している。
【０１０７】
連続停止時間計測部９２は、ステッピングモータ６６を停止した年月日と時刻を、停止する毎にＲＯＭ６３に上書きして記憶しておく。したがって、ＲＯＭ６３には最後に、ステッピングモータ６６を停止した年月日と時刻が記憶されている。そして、連続停止時間計測部９２は、現在の年月日と時刻をシステム制御モジュールから取得する。システム制御モジュールは、カレンダ機能により現在の年月日と時刻を継続的に保持している。連続停止時間計測部９２は、ＲＯＭ６３から読み出した、「最後にステッピングモータを停止した年月日と時刻」から「現在の年月日と時刻」までの経過時間が、停止判定時間を超えたか否かを判定する。超えている場合、連続停止時間計測部９２は、テーブル生成部８１に、ルックアップテーブル８４の更新を要求する。
【０１０８】
図１６は、ステッピングモータ制御装置がコイル電流をモータ効率と脱調有無をルックアップテーブルに登録する手順を示すフローチャート図の一例である。図１６の手順は、例えば、画像形成装置の主電源がＯＮになる毎にスタートする。
【０１０９】
連続停止時間計測部９２は、ＲＯＭ６３に記憶した「最後にステッピングモータを停止した年月日と時刻」から「現在の年月日と時刻」までの経過時間が、停止判定時間を超えたか否かを判定する（Ｓ５１０）。
【０１１０】
経過時間が停止判定時間を超えていない場合（Ｓ５１０のＮｏ）、ルックアップテーブル８４を更新しないので、図１６の処理は終了する。
【０１１１】
経過時間が停止判定時間を超えている場合（Ｓ５１０のＹｅｓ）、ルックアップテーブル８４を更新するタイミングなので、連続停止時間計測部９２は、テーブル生成部８１に、ルックアップテーブル８４の更新を要求する（Ｓ５２０）。
【０１１２】
これにより、テーブル生成部８１は、実施例１と同様にしてルックアップテーブル８４を更新する（Ｓ３３０）。ステップＳ３３０の処理は、図６のステップＳ１からＳ２３と同じなので省略する。
【０１１３】
また、連続停止時間計測部９２は、ルックアップテーブル８４を更新した際の年月日と時刻をＲＯＭ６３に記憶する（Ｓ５４０）。
【０１１４】
本実施例によれば、実施例１の効果に加え、停止時間が長いためにグリスが硬化等して負荷トルクの経時変動が生じても、ルックアップテーブル８４を更新するので、モータ効率の高い状態を維持することができる。なお、本実施例は、実施例２又は３と組み合わせることができる。
【実施例５】
【０１１５】
本実施例では、温度の変化に基づき更新タイミングを決定するステッピングモータ制御装置１００について説明する。温度が変わるとグリスの粘度等が変わるので、モータ効率も変化するおそれがあるが、温度の変化に基づきルックアップテーブル８４を更新することで、モータ効率の高い状態を維持することができる。
【０１１６】
図１７は、ステッピングモータ制御装置１００の機能ブロック図の一例を示す図である。図１７において図３と同一部には同一の符号を付しその説明は省略する。本実施例のステッピングモータ制御装置１００は、ＣＰＵ６５にサーミスタ９１が接続されている。また、本実施例のステッピングモータ制御装置１００は、ＣＰＵ６５がプログラム８６を実行することで実現される、温度判定部９３を有する。
【０１１７】
サーミスタ９１は、装置内の周囲温度を検出し、アナログ電圧信号でＣＰＵ６５へ送信する。温度判定部９３は、アナログ電気信号をＡ／Ｄ変換して、ＲＯＭ６３に記憶する。温度判定部９３は、温度の変化を検出するため、現在の装置内の周囲温度を所定時間毎に検出して年月日と時刻に対応づけてＲＯＭ６３に記憶する。
【０１１８】
また、温度判定部９３は、ルックアップテーブル８４を更新した際の周囲温度をＲＯＭ６３に記憶しておく。また、ルックアップテーブル８４を更新した際には、例えば、ファイル情報のタイムスタンプによりルックアップテーブル８４を更新した年月日と時刻が明らかとなるし、また、ルックアップテーブル８４を更新した年月日と時刻は、ルックアップテーブル８４と共に、ＲＯＭ６３に記憶されている。したがって、ＲＯＭ６３に記憶された周囲温度が計測された年月日と時刻から、ルックアップテーブル８４を更新した際の周囲温度も明らかとなる。
【０１１９】
温度判定部９３は、現在の装置内の周囲温度が、ルックアップテーブル８４を更新した際の周囲温度と大きく異なっている場合（例えば、１０〜２０度）、ルックアップテーブル８４を更新するようテーブル生成部８１に要求する。
【０１２０】
図１８は、ステッピングモータ制御装置がコイル電流をモータ効率と脱調有無をルックアップテーブルに登録する手順を示すフローチャート図の一例である。図１８の手順は、例えば、画像形成装置の主電源がＯＮの状態で、所定時間毎（例えば、周囲温度を計測する毎）にスタートする。
【０１２１】
温度判定部９３は、現在の装置内の周囲温度を所定時間毎に検出し、ＲＯＭ６３に記憶された「ルックアップテーブルを更新した際の周囲温度」との差が、閾値以上に変わっているか否かを判定する（Ｓ６１０）。
【０１２２】
現在の周囲温度とルックアップテーブル８４を更新した際の周囲温度との差が、閾値以上でない場合（Ｓ６１０のＮｏ）、ルックアップテーブル８４を更新しないので、図１８の処理は終了する。
【０１２３】
現在の周囲温度とルックアップテーブル８４を更新した際の周囲温度との差が、閾値以上である場合（Ｓ６１０のＹｅｓ）、ルックアップテーブル８４を更新するべきなので、温度判定部９３は、テーブル生成部８１に、ルックアップテーブル８４の更新を要求する（Ｓ６２０）。
【０１２４】
これにより、テーブル生成部８１は、実施例１と同様にしてルックアップテーブル８４を更新する（Ｓ３３０）。ステップＳ３３０の処理は、図６のステップＳ１からＳ２３と同じなので省略する。
【０１２５】
また、温度判定部９３は、ルックアップテーブル８４を更新した際にサーミスタ９１が検出した周囲温度をＲＯＭ６３に記憶する（Ｓ６４０）。
【０１２６】
本実施例によれば、実施例１の効果に加え、温度が変わってグリスの粘度等が変わっても、ルックアップテーブル８４を更新するので、モータ効率の高い状態を維持することができる。なお、本実施例は、実施例２〜４と組み合わせることができる。
【実施例６】
【０１２７】
実施例５では温度変化に基づき、ルックアップテーブル８４の更新タイミングを決定したが、本実施例では湿度の変化に基づき更新タイミングを決定するステッピングモータ制御装置１００について説明する。湿度が変わると給紙ローラの吸湿等によりモータ効率も変化するおそれがあるが、湿度の変化に基づきルックアップテーブル８４を更新することで、モータ効率の高い状態を維持することができる。
【０１２８】
図１９は、ステッピングモータ制御装置１００の機能ブロック図の一例を示す図である。図１９において図３と同一部には同一の符号を付しその説明は省略する。本実施例のステッピングモータ制御装置１００は、ＣＰＵ６５に湿度計が接続されている。また、本実施例のステッピングモータ制御装置１００は、ＣＰＵ６５がプログラム８６を実行することで実現される、湿度判定部９５を有する。
【０１２９】
湿度センサ９４は、装置内の周囲湿度を検出し、アナログ電圧信号でＣＰＵ６５へ送信する。湿度判定部９５は、アナログ電気信号をＡ／Ｄ変換して、ＲＯＭ６３に記憶する。湿度判定部９５は、湿度の変化を検出するため、現在の装置内の周囲湿度を所定時間毎に検出して年月日と時刻に対応づけてＲＯＭ６３に記憶する。
【０１３０】
また、湿度判定部９５は、ルックアップテーブル８４を更新した際の周囲湿度をＲＯＭ６３に記憶しておく。したがって、ルックアップテーブル８４を更新した際の周囲湿度も明らかとなる。
【０１３１】
湿度判定部９５は、現在の装置内の周囲湿度が、ルックアップテーブル８４を更新した際の周囲湿度と大きく異なっている場合（例えば、１０〜２０％）、ルックアップテーブル８４を更新するようテーブル生成部８１に要求する。
【０１３２】
図２０は、ステッピングモータ制御装置がコイル電流をモータ効率と脱調有無をルックアップテーブルに登録する手順を示すフローチャート図の一例である。図２０の手順は、例えば、画像形成装置の主電源がＯＮの状態で、所定時間毎（例えば、周囲湿度を計測する毎）にスタートする。
【０１３３】
湿度判定部９５は、現在の装置内の周囲湿度を所定時間毎に検出し、ＲＯＭ６３に記憶された「ルックアップテーブルを更新した際の周囲湿度」との差が、閾値以上に変わっているか否かを判定する（Ｓ７１０）。
【０１３４】
現在の周囲湿度とルックアップテーブル８４を更新した際の周囲湿度との差が、閾値以上でない場合（Ｓ７１０のＮｏ）、ルックアップテーブル８４を更新しないので、図２０の処理は終了する。
【０１３５】
現在の周囲湿度とルックアップテーブル８４を更新した際の周囲湿度との差が、閾値以上である場合（Ｓ７１０のＹｅｓ）、ルックアップテーブル８４を更新するべきなので、湿度判定部９５は、テーブル生成部８１に、ルックアップテーブル８４の更新を要求する（Ｓ７２０）。
【０１３６】
これにより、テーブル生成部８１は、実施例１と同様にしてルックアップテーブル８４を更新する（Ｓ３３０）。ステップＳ３３０の処理は、図６のステップＳ１からＳ２３と同じなので省略する。
【０１３７】
また、湿度判定部９５は、ルックアップテーブル８４を更新した際に湿度センサ９４が検出した周囲湿度をＲＯＭ６３に記憶する（Ｓ７４０）。
【０１３８】
本実施例によれば、実施例１の効果に加え、湿度が変わって給紙ローラ等の吸湿によりモータ効率が変わっても、ルックアップテーブル８４を更新するので、モータ効率の高い状態を維持することができる。なお、本実施例は、実施例２〜５と組み合わせることができる。
【実施例７】
【０１３９】
実施例１〜６では、画像形成装置２００内でルックアップテーブルを生成したが、ルックアップテーブルは外部のコンピュータにより生成されてもよい。図３を例にして説明すると、ＵＳＢＩ／Ｆ７１を介してコンピュータを接続する。そして、コンピュータがテーブル生成部８１と関数情報８５を有するか、画像形成装置２００からテーブル生成部８１を実現するためのプログラム８６と関数情報８５を受信する。こうすることで、コンピュータがテーブル生成部８１と同等の機能を提供できる。
【０１４０】
コンピュータは、ＵＳＢＩ／Ｆ７１を介してモータ回転速度及びモータ負荷トルクを受信できるので、コンピュータは、ロータリーエンコーダ６９が検出した「モータ回転速度」と、トルクセンサ６８が検出した「負荷トルク」から、ＲＯＭ６３に格納した関数情報８５を利用して、「モータ出力」を算出する。また、このコンピュータは、電源電圧／電流検出回路６２が検出した「電源電圧」と「電源電流」から、関数情報８５を利用して「消費電力」を算出する。そして、コンピュータは、算出した「モータ出力」と「消費電力」から、関数情報８５を利用して「モータ効率」を算出する。そしてコンピュータのテーブル生成部８１は、「パルス周波数（PPS）」、「コイル電流」、「モータ効率」が関連付けられたルックアップテーブル８４を生成する。
【０１４１】
また、コンピュータの脱調有無判定部８１ｂは、目標ＰＰＳとしてのパルス電流とコイル電流により給紙モータの駆動が開始されてから、所定時間が経過しても「モータ回転速度」が目標モータ回転速度に達しない場合、脱調したと判定する。コンピュータのテーブル生成部８１は、ルックアップテーブル８４の「モータ効率」の列に「0（％）」を、「脱調有無」の列に「1（脱調）」を登録する。
【０１４２】
このように、外部のコンピュータもルックアップテーブル８４を生成することができる。コンピュータは生成したルックアップテーブル８４をＵＳＢＩ／Ｆ７１を介して画像形成装置２００に送信する。画像形成装置２００は受信したルックアップテーブル８４をＲＯＭ６３に記憶する。
【０１４３】
したがって、ルックアップテーブル８４は、画像形成装置２００内で生成する必要はなく、外部で生成したルックアップテーブル８４を画像形成装置２００に登録することで、負荷トルクが比較的低い状態でも、脱調しない最も効率の高いコイル電流でステッピングモータを駆動できるようになる。
【０１４４】
なお、この外部のコンピュータは、ステッピングモータ６６の積算稼働時間、ステッピングモータ６６の駆動伝達部の積算走行距離、ステッピングモータ６６が直前に停止してからの経過時間、ステッピングモータ６６の周囲の温度、又は、ステッピングモータ６６の周囲の湿度、を画像形成装置２００から取得することができる。したがって、実施例２〜６にて説明したように、これらから更新タイミングを決定してルックアップテーブル８４を生成することができる。
【符号の説明】
【０１４５】
６１        電源
６２        電源電圧／電流検出回路
６３        ＲＯＭ
６４        モータドライバ
６５        ＣＰＵ
６６        ステッピングモータ
６７        給紙駆動軸
６８        トルクセンサ
６９        ロータリーエンコーダ
７２        記憶媒体
８１        テーブル生成部
８２        コイル電流選択部
８３        モータ駆動部
８４        ルックアップテーブル
８５        関数情報
８６        プログラム
１００      ステッピングモータ制御装置
２００      画像形成装置
【先行技術文献】
【特許文献】
【０１４６】
【特許文献１】特開平１１−２１５８９０号公報
【特許文献２】特開平１１−１４６６９５号公報
【図１】
0005434311.tif 000002
【図２】
0005434311.tif 000003
【図３】
0005434311.tif 000004
【図４】
0005434311.tif 000005
【図５】
0005434311.tif 000006
【図６】
0005434311.tif 000007
【図７】
0005434311.tif 000008
【図８】
0005434311.tif 000009
【図９】
0005434311.tif 000010
【図１０】
0005434311.tif 000011
【図１１】
0005434311.tif 000012
【図１２】
0005434311.tif 000013
【図１３】
0005434311.tif 000014
【図１４】
0005434311.tif 000015
【図１５】
0005434311.tif 000016
【図１６】
0005434311.tif 000017
【図１７】
0005434311.tif 000018
【図１８】
0005434311.tif 000019
【図１９】
0005434311.tif 000020
【図２０】
0005434311.tif 000021