(57)【要約】【課題】  モータにかかる負荷の大きさを考慮してモータの動作モードを切り替える制御を実行することを目的とする。【解決手段】  第１取得手段が取得したモータにかかる負荷の大きさに対応する情報及び第２取得手段が取得した前記モータの所定の時間内の駆動量に対応する情報に基づいて、前記モータの温度に対応する情報を特定する特定手段を有することを特徴とするモータ制御装置を提供することによって課題を解決する。【選択図】  図３
2017055532.tif 000002
【特許請求の範囲】
【請求項１】
モータを制御するモータ制御装置であって、
前記モータにかかる負荷の大きさに対応する情報を取得する第１取得手段と、
前記モータの所定の時間内の駆動量に対応する情報を取得する第２取得手段と、
前記第１取得手段が取得した前記モータにかかる負荷の大きさに対応する情報及び前記第２取得手段が取得した前記モータの所定の時間内の駆動量に対応する情報に基づいて、前記モータの温度に対応する情報を特定する特定手段と、
前記特定手段が特定した前記モータの温度に対応する情報に基づいて、前記モータの動作モードを、前記モータの温度が上昇しないように制御する昇温抑制制御が実行されずに動作する第１のモードと、前記昇温抑制制御が実行されて動作する第２のモードとの間で切り替える切り替え手段を有することを特徴とするモータ制御装置。
【請求項２】
前記モータの温度に対応する値の初期値に対応する情報を取得する第３取得手段をさらに有し、
前記特定手段は、前記第３取得手段が取得した前記モータの温度に対応する値の初期値に対応する情報又は前回前記特定手段が特定した前記モータの温度に対応する情報にさらに基づいて、前記モータの温度に対応する情報を特定することを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記特定手段は、前記第１取得手段が取得した前記モータにかかる負荷の大きさに対応する情報及び前記第２取得手段が取得した前記モータの所定の時間内の駆動量に対応する情報に基づいた前記モータの温度に対応する値の前記所定の時間内の変化量が、前記初期値に加算された値の情報を、前記モータの温度に対応する情報として取得することを特徴とする請求項２に記載のモータ制御装置。
【請求項４】
前記特定手段は、前記第１取得手段が取得した前記モータにかかる負荷の大きさに対応する情報及び前記第２取得手段が取得した前記モータの所定の時間内の駆動量に対応する情報に基づいた前記モータの温度に対応する値の前記所定の時間内の変化量が、前回前記特定手段が特定した情報に応じた前記モータの温度に対応する値に加算された値の情報を、前記モータの温度に対応する情報として特定することを特徴とする請求項２又は請求項３に記載のモータ制御装置。
【請求項５】
前記第１取得手段が取得した前記モータにかかる負荷の大きさに対応する情報に基づいて、前記モータの温度に対応する値が記述された複数のテーブルからいずれかのテーブルを選択する選択手段をさらに有し、
前記特定手段は、前記選択手段が選択した前記モータの温度に対応する値が記述されたテーブル及び前記第２取得手段が取得した前記モータの所定の時間内の駆動量に対応する情報に基づいた前記モータの温度に対応する値の前記所定の時間内の変化量が、前記初期値に加算された値の情報を、前記モータの温度に対応する情報として特定することを特徴とする請求項２乃至請求項４のいずれか１項に記載のモータ制御装置。
【請求項６】
前記特定手段は、前記選択手段が選択した前記モータの温度に対応する値が記述されたテーブル及び前記第２取得手段が取得した前記モータの所定の時間内の駆動量に対応する情報に基づいた前記モータの温度に対応する値の前記所定の時間内の変化量が、前回前記特定手段が特定した情報に応じた前記モータの温度に対応する値に加算された値の情報を、前記モータの温度に対応する情報として特定することを特徴とする請求項２乃至請求項５のいずれか１項に記載のモータ制御装置。
【請求項７】
前記モータにかかる負荷の大きさに対応する情報は、前記モータにかかる負荷の大きさに対応する値の情報であり、
前回前記特定手段が前記モータの温度に対応する情報として前記モータの温度に対応する所定の値を特定し、前記第２取得手段が所定の時間内の駆動量に対応する情報として駆動量に対応する所定の値を取得し、且つ前記モータにかかる負荷の大きさに対応する値が第１の値である場合の前記モータの温度に対応する情報の前記所定の時間内の変化量は、前回前記特定手段が前記モータの温度に対応する情報として前記モータの温度に対応する前記所定の値を特定し、前記第２取得手段が所定の時間内の駆動量に対応する情報として駆動量に対応する前記所定の値を取得し、且つ前記モータにかかる負荷の大きさに対応する値が前記第１の値より大きい第２の値である場合の前記モータの温度に対応する情報の前記所定の時間内の変化量より小さいことを特徴とする請求項２又は請求項３に記載のモータ制御装置。
【請求項８】
前記モータの所定の時間内の駆動量に対応する情報は、前記モータの所定の時間内の回転数の情報であり、
前回前記特定手段が前記モータの温度に対応する情報として前記モータの温度に対応する所定の値を特定し、前記第２取得手段が所定の時間内の駆動量に対応する情報として駆動量に対応する所定の値を取得し、且つ前記モータの所定の時間内の回転数が第１の回転数である場合の前記モータの温度に対応する情報の前記所定の時間内の変化量は、前回前記特定手段が前記モータの温度に対応する情報として前記モータの温度に対応する前記所定の値を特定し、前記第２取得手段が所定の時間内の駆動量に対応する情報として駆動量に対応する前記所定の値を取得し、且つ前記モータの所定の時間内の回転数が前記第１の回転数より大きい第２の回転数である場合の前記モータの温度に対応する情報の前記所定の時間内の変化量より小さいことを特徴とする請求項２乃至請求項４のいずれか１項に記載のモータ制御装置。
【請求項９】
前記モータの所定の時間内の回転数は、ロータリーエンコーダによって測定されることを特徴とする請求項８に記載のモータ制御装置。
【請求項１０】
前記モータの温度に対応する情報は、前記モータの温度に対応する値の情報であり、
前記切り替え手段は、前記モータの動作モードが前記第１のモードであり、且つ前記モータの温度に対応する値が所定の閾値より大きい場合は、前記モータの動作モードを前記第１のモードから前記第２のモードに切り替え、前記モータの動作モードが前記第２のモードであり、且つ前記モータの温度に対応する値が所定の閾値より小さい場合は、前記モータの動作モードを記第２のモードから前記第１のモードに切り替えることを特徴とする請求項１乃至９のいずれか１項に記載のモータ制御装置。
【請求項１１】
前記切り替え手段は、前記モータの動作モードが前記第１のモードであり、且つ前記モータの温度に対応する値が第１の閾値より大きい場合は、前記モータの動作モードを前記第１のモードから前記第２のモードに切り替え、前記モータの動作モードが前記第２のモードであり、且つ前記モータの温度に対応する値が前記第１の閾値より小さい第２の閾値より小さい場合は、前記モータの動作モードを記第２のモードから前記第１のモードに切り替えることを特徴とする請求項１０に記載のモータ制御装置。
【請求項１２】
前記第１の閾値と前記第２の閾値のうち少なくとも１つの閾値を、所定の対象物の温度を取得する第４取得手段の取得結果に基づいて変動させることを特徴とする請求項１１に記載のモータ制御装置。
【請求項１３】
前記第５取得手段は、前記所定の対象物として、インクジェット記録方式の記録を行うための記録ヘッドの温度を取得することを特徴とする請求項１２に記載のモータ制御装置。
【請求項１４】
前記第５取得手段の取得結果が所定の値より大きい場合、前記第１の閾値及び前記第２の閾値を変動させないことを特徴とする請求項１３に記載のモータ制御装置。
【請求項１５】
前記モータの動作モードが前記第１のモードであり、且つ前記モータが所定の回転速度で所定の時間から連続して駆動する場合、前記切り替え手段は、前記モータにかかる負荷の大きさに対応する値が大きいほど早い時間に、前記モータの動作モードを前記第１のモードから前記第２のモードに切り替えることを特徴とする請求項１乃至請求項１４のいずれか１項に記載のモータ制御装置。
【請求項１６】
モータを制御するモータ制御装置であって、
前記モータにかかる負荷の大きさに対応する情報を取得する第１取得手段と、
前記第１取得手段により取得された前記モータにかかる負荷の大きさに対応する情報に応じて閾値を決定する決定手段と、
前記モータの所定時間における駆動量に対応する情報に基づいた前記モータの温度に対応する情報を取得する第２取得手段と、
前記決定手段により決定された閾値と前記特定手段により取得された前記モータの温度に対応する情報に基づいて、前記モータの動作モードを、前記モータの温度が上昇しないように制御する昇温抑制制御が実行されない第１のモードと、前記昇温抑制制御が実行される第２のモードとの間で切り替える切り替え手段を有することを特徴とするモータ制御装置。
【請求項１７】
モータの温度を温度センサによって測定することなく、前記モータを制御するモータ制御装置であって、
前記モータの回転数に対応する情報を取得する取得手段と、
前記取得手段が取得した前記モータの回転数に対応する情報に応じて、前記モータの動作モードを、前記モータの温度が上昇しないように制御する昇温抑制制御が実行されない第１のモードから、前記昇温抑制制御が実行される第２のモードに切り替える切り替え手段と、を有し、
前記切り替え手段は、前記モータにかかる負荷の大きさに対応する値が大きい場合は、前記モータが第１の回転数連続して回転した場合に、前記モータの動作モードを前記第１のモードから前記第２のモードに切り替え、前記モータにかかる負荷の大きさに対応する値が小さい場合は、前記モータが前記第１の回転数より多い第２の回転数連続して回転した場合に、前記モータの動作モードを前記第１のモードから前記第２のモードに切り替えることを特徴とするモータ制御装置。
【請求項１８】
前記モータにかかる負荷の大きさに対応する情報は、前記モータの総回転数の情報、前記モータを駆動させるためのパルスのデューティー比の情報、前記モータの駆動時間の情報のうちいずれかであることを特徴とする請求項１乃至請求項１７のいずれか１項に記載のモータ制御装置。
【請求項１９】
前記モータが交換されたか否かを検知する検知手段を更に有し、
前記モータにかかる負荷の大きさに対応する情報は、前記モータの総回転数の情報、前記モータの駆動時間の情報のうちいずれかであり、
前記検知手段が前記モータが交換されたことを検知した場合、前記モータにかかる負荷の大きさに対応する情報がリセットされることを特徴とする請求項１乃至請求項１８のいずれか１項に記載のモータ制御装置。
【請求項２０】
前記昇温抑制制御は、前記モータを停止させる制御及び前記モータの所定の時間内の駆動量を少なくする制御のうち少なくとも１つの制御であることを特徴とする請求項１乃至請求項１９のいずれか１項に記載のモータ制御装置。
【請求項２１】
原稿を搬送する搬送手段をさらに有し、
前記モータは、前記搬送手段を動作させるために駆動することを特徴とする請求項１乃至請求項２０のいずれか１項に記載のモータ制御装置。
【請求項２２】
記録剤を用いて記録媒体上に画像を形成する画像形成手段を有することを特徴とする請求項１乃至請求項２１のいずれか１項に記載のモータ制御装置。
【請求項２３】
モータを制御するモータ制御装置の制御方法であって、
前記モータにかかる負荷の大きさに対応する情報を取得する第１取得ステップと、
前記モータの所定の時間内の駆動量に対応する情報を取得する第２取得ステップと、
前記第１取得ステップにて取得された前記モータにかかる負荷の大きさに対応する情報及び前記第２取得ステップにて取得された前記モータの所定の時間内の駆動量に対応する情報に基づいて、前記モータの温度に対応する情報を特定する特定ステップと、
前記特定ステップにて特定された前記モータの温度に対応する情報に基づいて、前記モータの動作モードを、前記モータの温度が上昇しないように制御する昇温抑制制御が実行されない第１のモードと、前記昇温抑制制御が実行される第２のモードとの間で切り替える切り替えステップを有することを特徴とする制御方法。
【請求項２４】
モータを制御するモータ制御装置の制御方法であって、
前記モータにかかる負荷の大きさに対応する情報を取得する第１取得ステップと、
前記第１取得ステップにて取得された前記モータにかかる負荷の大きさに対応する情報に応じて閾値を決定する決定ステップと、
前記モータの所定時間における駆動量に対応する情報に基づいた前記モータの温度に対応する情報を特定する特定ステップと、
前記決定ステップにて決定された閾値と前記特定ステップにて特定された前記モータの温度に対応する値に基づいて、前記モータの動作モードを、前記モータの温度が上昇しないように制御する昇温抑制制御が実行されない第１のモードと、前記昇温抑制制御が実行される第２のモードとの間で切り替える切り替えステップと、を有することを特徴とする制御方法。
【請求項２５】
モータの温度を温度センサによって測定することなく、前記モータを制御するモータ制御装置の制御方法であって、
前記モータの回転数に対応する情報を取得する取得ステップと、
前記取得ステップにて取得された前記モータの回転数に対応する情報に応じて、前記モータの動作モードを、前記モータの温度が上昇しないように制御する昇温抑制制御が実行されない第１のモードから、前記昇温抑制制御が実行される第２のモードに切り替える切り替えステップと、を有し、
前記切り替えステップでは、前記モータにかかる負荷の大きさに対応する値が大きい場合は、前記モータが第１の回転数連続して回転した場合に、前記モータの動作モードを前記第１のモードから前記第２のモードに切り替え、前記モータにかかる負荷の大きさに対応する値が小さい場合は、前記モータが前記第１の回転数より多い第２の回転数連続して回転した場合に、前記モータの動作モードを前記第１のモードから前記第２のモードに切り替えることを特徴とする制御方法。
【請求項２６】
請求項１乃至請求項２２のいずれか１項に記載のモータ制御装置の各手段をコンピュータにより実現することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置、モータ制御装置の制御方法及びモータ制御装置において実行されるプログラムに関する。
【背景技術】
【０００２】
モータは、動作（搬送動作や記録動作）を連続して行うと温度が上昇して出力トルクが下がり、最終的には制御の精度が低下する場合がある。そこで従来、モータの温度が高くなりすぎることを抑制する制御を実行する装置が知られている。特許文献１に記載されている装置は、モータの温度を推定し、推定したモータの温度に基づいて、モータの動作モードを通常モードと昇温抑制モードの間で遷移させている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３‐１５５００９
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１では、モータの動作モードを切り替える制御において、モータにかかる負荷の大きさについて考慮されていない。
【０００５】
そこで、本発明は、モータにかかる負荷の大きさを考慮してモータの動作モードを切り替える制御を実行するモータ制御装置、モータ制御装置の制御方法及びモータ制御装置において実行されるプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述のような課題を解決するために、本発明のモータ制御装置は、
モータを制御するモータ制御装置であって、
前記モータにかかる負荷の大きさに対応する情報を取得する第１取得手段と、
前記モータの所定の時間内の駆動量に対応する情報を取得する第２取得手段と、
前記第１取得手段が取得した前記モータにかかる負荷の大きさに対応する情報及び前記第２取得手段が取得した前記モータの所定の時間内の駆動量に対応する情報に基づいて、前記モータの温度に対応する情報を特定する特定手段と、
前記特定手段が特定した前記モータの温度に対応する情報に基づいて、前記モータの動作モードを、前記モータの温度が上昇しないように制御する昇温抑制制御が実行されずに動作する第１のモードと、前記昇温抑制制御が実行されて動作する第２のモードとの間で切り替える切り替え手段を有することを特徴とする。
【０００７】
また、本発明のモータ制御装置は、
モータを制御するモータ制御装置であって、
前記モータにかかる負荷の大きさに対応する情報を取得する第１取得手段と、
前記第１取得手段により取得された前記モータにかかる負荷の大きさに対応する情報に応じて閾値を決定する決定手段と、
前記モータの所定時間における駆動量に対応する情報に基づいた前記モータの温度に対応する情報を特定する特定手段と、
前記決定手段により決定された閾値と前記特定手段により特定された前記モータの温度に対応する情報に基づいて、前記モータの動作モードを、前記モータの温度が上昇しないように制御する昇温抑制制御が実行されない第１のモードと、前記昇温抑制制御が実行される第２のモードとの間で切り替える切り替え手段を有することを特徴とする。
【０００８】
また、本発明のモータ制御装置は、
モータの温度を温度センサによって測定することなく、前記モータを制御するモータ制御装置であって、
前記モータの回転数に対応する情報を取得する取得手段と、
前記取得手段が取得した前記モータの回転数に対応する情報に応じて、前記モータの動作モードを、前記モータの温度が上昇しないように制御する昇温抑制制御が実行されない第１のモードから、前記昇温抑制制御が実行される第２のモードに切り替える切り替え手段と、を有し、
前記切り替え手段は、前記モータにかかる負荷の大きさに対応する値が大きい場合は、前記モータが第１の回転数連続して回転した場合に、前記モータの動作モードを前記第１のモードから前記第２のモードに切り替え、前記モータにかかる負荷の大きさに対応する値が小さい場合は、前記モータが前記第１の回転数より多い第２の回転数連続して回転した場合に、前記モータの動作モードを前記第１のモードから前記第２のモードに切り替えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、モータにかかる負荷の大きさを考慮してモータの動作モードを切り替える制御を実行することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明を適用したモータ制御装置の概略構成を示すブロック図である。
【図２】本発明を適用したモータ制御装置の一部の概略断面図である。
【図３】本発明を適用したモータ制御装置が実行する、駆動モータの動作モードを変更する処理を示すフローチャートである。
【図４】本発明を適用したモータ制御装置が実行する温度係数の初期化処理を示すフローチャートである。
【図５】駆動モータを一定速度で駆動し続けた場合の、駆動モータの温度変化について図示したグラフである。
【図６】本発明を適用したモータ制御装置が駆動モータの温度推定において利用する温度係数表である。
【図７】本発明を適用したモータ制御装置が駆動モータの温度推定において利用する温度係数表である。
【図８】本発明を適用したモータ制御装置が実行する、駆動モータの動作モードを変更する処理を示すフローチャートである。
【図９】本発明を適用したモータ制御装置が実行する、駆動モータの動作モードを変更する処理を示すフローチャートである。
【図１０】本発明を適用したモータ制御装置が閾値の決定において利用するテーブルである。
【発明を実施するための形態】
【００１１】
以下に図面を参照して、本発明の好適な実施形態を例示的に説明する。ただし、本発明については、その趣旨を逸脱しない範囲で、当業者の通常の知識に基づいて、以下に記載する実施形態に対して適宜変更、改良が加えられたものについても本発明の範囲に入ることが理解されるべきである。
【００１２】
（第１実施形態）
本発明を適用したモータ制御装置について説明する。本実施形態において、モータ制御装置として、インクジェット記録方式の複合機（ＭＦＰ）を例示している。なお、モータ制御装置は、上述の装置に限定されず、モータの温度を推定して、モータを制御できる装置であれば良い。すなわち、モータ制御装置は、例えば、フルカラープリンタやモノクロプリンタ、複写機、ファクシミリ、スキャナ等の装置であっても良い。さらに、モータ制御装置は、ＭＦＰではなく、単機能の装置（ＳＦＰ）であっても良い。モータ制御装置がプリンタの機能を有しているならば、搬送装置の印刷方式はインクジェット方式に限定されず、例えば電子写真方式であっても良い。また、モータ制御装置は、プリンタ等の装置に備わっているモータを、当該装置の外部から制御する装置であっても良い。
【００１３】
図１は、本実施形態のモータ制御装置の概略構成を示すブロック図である。ＭＦＰ１００は、本実施形態のモータ制御装置であり、プリンタとしての機能の他に、スキャナとしての機能と、ファクシミリとしての機能を有する。
【００１４】
ＣＰＵ１０１は、システム制御部であり、ＭＦＰ１００の全体を制御するプロセッサーである。
【００１５】
ＲＯＭ１０２は、ＣＰＵ１０１が実行する制御プログラムや組込オペレーティングシステム（以下、ＯＳ）プログラム等の各種プログラムを格納する。本実施形態では、ＲＯＭ１０２に格納されている制御プログラムは、ＲＯＭ１０２に格納されている組込ＯＳの管理下で、スケジューリングやタスクスイッチ等のソフトウエア制御を行う。
【００１６】
揮発性ＲＡＭ１０３は、電源をオフすると記憶データが揮発してしまうデータを保持する、書換え可能な作業用メモリである。一方、不揮発性ＲＡＭ１０４は、揮発性ＲＡＭ１０３と比較して書換えスピードが遅いが、電源をオフした場合にも記憶したデータを保持することができるメモリである。また、揮発性ＲＡＭ１０３及び不揮発性ＲＡＭ１０４は、ＲＯＭ１０２等のメモリに保存される各種プログラムが実行されるためのワークメモリーとしても使用される。
【００１７】
操作部１０５は、ユーザからの操作を受け付けるためのものであり、数値入力キー、モード設定キー、決定キー、取り消しキー、電源キー等のキー等から構成される。
【００１８】
画像読取部１０６は、原稿を読み取るイメージセンサユニットである。イメージセンサユニットは、原稿に光を照射する光源やその反射光を読み取り光電変換する素子を配列したイメージセンサを含む。また、画像読取部１０６は、後述する画像読取部２０９に対応する。
【００１９】
画像読取制御部１０７は、画像読取部１０６で読み取ったアナログ電気信号をＡ／Ｄ（アナログ／デジタル）変換したり、画像読取部１０６の基準位置の特定を行ったりする回路である。また、画像読取制御部１０７は、変換したデータを揮発性ＲＡＭ１０３へ記憶するためＤＭＡ（ダイレクトメモリアクセス）転送を行う機能も担う。
【００２０】
画像処理部１０８は、揮発性ＲＡＭ１０３に記憶している画像データを読み出し、画像データに対し種々の画像処理を行う回路である。例えば、画像処理部１０８は、画像読取制御部１０７によって揮発性ＲＡＭ１０３に記憶された画像データを、ＪＰＥＧ法などを用いて符号化処理し、符号化データを再び揮発性ＲＡＭ１０３へ記憶する。なお、画像処理部１０８による符号化処理は、画像読取制御部１０７による画像データを揮発性ＲＡＭ１０３へ記憶する処理と並行して動作する。また、符号化処理をした画像データが記憶されていた揮発性ＲＡＭ１０３の領域は解放され、再び画像読取制御部１０７が画像データを記憶するために使用される。このように、ＭＦＰ１００は、読み取った画像データを逐次符号化することで、画像データを符号化しない場合と比較して、揮発性ＲＡＭ１０３上に多くの画像データを記憶することが可能になる。そのため、ＭＦＰ１００は、読み取りのために使用することができる記憶領域が限られている場合でも、読み取りを実行することができる。また、符号化した画像データのデータ容量は、符号化していない画像データのデータ容量と比較して小さいため、ＭＦＰ１００は、符号化処理を実行することで画像データを高速で送信することができる。
【００２１】
画像形成部１０９は、インク等の記録剤を用いて紙やＯＨＰシート、ラベル、フィルム等の記録媒体上に画像を形成するユニットである。
【００２２】
外部インターフェース１１０は、外部バス１１２を介してＭＦＰ１００と外部装置１１４とを接続するためのユニットである。なお、外部装置１１４は、モータ制御装置と通信可能な装置であれば良く、例えば、スマートホン、携帯端末、パーソナルコンピュータ（ＰＣ）、タブレット端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、デジタルカメラ等である。また、本実施形態においては、外部バス１１２は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）であり、外部装置１１４とＭＦＰ１００は、有線による接続を行っているが、この形態に限定されない。例えば、有線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等で有線接続しても良いし、有線でなく無線によって接続しても良い。無線通信規格としては、例えば、Ｗｉ−Ｆｉ（登録商標）やＷｉ−Ｆｉ  Ｄｉｒｅｃｔ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ；ＩＳＯ／ＩＥＣ  ＩＳ  １８０９２）等が利用される。また、通信は装置間でダイレクトに行われても良いし、ネットワーク上に設置した外部アクセスポイントを介して行われても良い。
【００２３】
なお、ＭＦＰ１００は、スキャナ機能を実行する場合、画像読取部１０６によって読み取り、符号化したデータを外部インターフェース１１０から外部バス１１２を介して外部装置１１４に送出する。また、ＭＦＰ１００は、原稿のコピー機能を用いる場合、画像読取部１０６によって読み取り、符号化したデータに色変換処理や二値化処理等の画像処理を行い、画像処理後のデータに基づいて画像形成部１０９によって原稿のコピーを出力する。また、ＭＦＰ１００は、ファクシミリ機能を実行する場合、画像読取部１０６によって読み取り、符号化したデータを、モデム１５に書き込んで変調する。その後、ＭＦＰ１００は、変調したデータを、ＩＴＵ−Ｔ勧告によって定められた通信機能に基づいて、公衆回線１６を介して他のファクシミリ装置に送信する。
【００２４】
上記各種構成要素１０１〜１１０は、ＣＰＵ１０１が管理するシステムバス１１３を介して、相互に接続されている。
【００２５】
図２は、ＭＦＰ１００の一部の概略断面図である。
原稿搬送部２００は、原稿を読み取るために、原稿を搬送するための構成である。
原稿積載部２０１は、搬送する原稿を積載するための積載トレイである。
原稿センサ２０７は、原稿積載部２０１に積載されている原稿の有無を検知するためのセンサである。
【００２６】
画像読取部２０９は、原稿を読み取るためのイメージセンサユニットである。画像読取部２０９は、例えば、搭載されたＬＥＤから読み取り対象の原稿の画像情報面に光を照射し、画像情報面で反射した反射光を自己集束型ロッドレンズアレイでセンサ素子に結像することで画像情報を読取る。画像読取部２０９は、図中の矢印２１０方向に移動することが可能で、読取動作中以外は、待機位置２１１に位置する。本実施形態では、ＭＦＰ１００は、画像読取部２０９を読取位置２１３に停止させ、搬送パスに沿って原稿を搬送することで、原稿の全体を画像読取部２０９に読み取らせる。なお、ＭＦＰ１００は、原稿を停止させ、画像読取部２０９を走査することで原稿を読み取る構成としても良いし、原稿の搬送と画像読取部２０９の走査の双方を実行して原稿を読み取る構成としても良い。
【００２７】
原稿エッジセンサ２０８は、搬送ローラ２０４で搬送する原稿の先端位置及び後端位置を検知するためのセンサである。原稿エッジセンサ２０８は、例えば、フォトインタラプタ等で構成される。
【００２８】
キャリブレーションシート２１８は、画像読取部２０９の基準位置を特定するためのパターンが形成されているシートである。画像読取部２０９は、特定した基準位置に基づいて移動を行う。画像読取部２０９は、キャリブレーションシート２１８に形成されているパターンが読み取ることで、当該パターンを読み込んだ位置を基準位置として特定することができる。また、画像読取部２０９は、特定した基準位置から所定の距離移動した位置を待機位置２１１として特定し、読み取りを行っていないときには待機位置２１１まで移動して待機する。なお、画像読取部２０９は、電源がオンされた時と読取動作終了後に逐次基準位置の特定を行い、その後待機位置２１１に移動する。
【００２９】
なお、本実施形態において画像読取部２０９は、キャリブレーションシート２１８を用いて基準位置の特定を行っているが、この形態に限定されない。例えば、画像読取部２０９は、基準位置付近に設置された壁によって停止した位置を基準位置として特定しても良い。
【００３０】
駆動モータ２１６は、給紙ローラ２０３、搬送ローラ２０４及び排紙ローラ２０５を駆動するための駆動モータである。本実施形態において、駆動モータ２１６には、駆動モータ２１６の駆動量を検出するためのロータリーエンコーダが装着されている。なお、本実施形態において、モータの駆動量とは、モータの回転数に該当する。
【００３１】
駆動モータ２１７は、画像読取部２０９を移動させるための駆動モータである。本実施形態において、駆動モータ２１７には、駆動モータ２１７の駆動量を検出するためのロータリーエンコーダが装着されている。
【００３２】
なお、後述する駆動モータの動作モードの変更処理は、本実施形態では、駆動モータ２１６に対して行われるものとする。しかしながら、当該変更処理は、各駆動モータに対して個別に行うことが可能であり、駆動モータ２１７に対しても行うことが可能である。また、各駆動モータの駆動量を検出する方法は、ロータリーエンコーダを用いる方法に限定されず、ロータリーエンコーダ以外の構成を利用しても良い。また、各モータによって駆動する駆動部（例えば、給紙ローラ２０３等のローラや画像読取部２０９）の駆動量を検出し、当該駆動量を各モータの駆動量として検出しても良い。
【００３３】
原稿搬送部２００を用いて読み取りを行う場合、ＭＦＰ１００は、まず、給紙ローラ２０３によって、原稿積載部２０１の最上位に積載された原稿２０２を原稿搬送部２００内部へ給紙する。
【００３４】
原稿搬送部２００内部へ給紙された原稿２０２は、搬送ローラ２０４によって搬送パスに沿って搬送される。その後、原稿２０２の先端が読取位置２１３に到達したら、画像読取部２０９は、原稿２０２の読み取りを開始する。なお、画像読取部２０９は、原稿エッジセンサ２０８が検知した原稿の先端位置と原稿の後端位置に基づいて読み取りを行う。具体的には、画像読取部２０９は、原稿エッジセンサ２０８が原稿２０２の先端位置を検知した時点から、あらかじめ設定された読取開始搬送量だけ原稿２０２が搬送された後に、原稿２０２の読み取りを開始する。また、画像読取部２０９は、原稿エッジセンサ２０８が原稿２０２の後端位置を検知した時点から、あらかじめ設定された読取終了搬送量だけ原稿２０２が搬送された後に、原稿２０２の読み取りを終了する。なお、画像読取部２０９が原稿２０２の読み取りを終了するタイミングは、原稿エッジセンサ２０８による原稿２０２の後端位置の検知結果を参照して決定されなくても良い。すなわち、画像読取部２０９が読み取りを開始してから、原稿２０２が所定の搬送量搬送された場合に、画像読取部２０９が原稿２０２の読み取りを終了するのでも良い。また、ここでは、原稿の先端位置を検知した時点から原稿の後端位置を検知した時点まで読み取る説明をしたが、原稿の先端位置を検知する前に読み取りを開始したり、原稿の後端位置を検知した時点より後に読み取りを終了したりする構成でもよい。
【００３５】
画像読取部２０９によって読み取られた原稿２０２は、排紙ローラ２０５によって搬送され、原稿排紙部２０６に排紙される。
【００３６】
本実施形態において、画像読取部２０９は、原稿搬送部２００を用いて原稿を搬送させながら行われる読み取りだけでなく、原稿を固定して行われる読み取りにおいても使用される。原稿を固定して行われる読み取りでは、画像読取部２０９は、固定原稿読み取り面２１２の方向に移動することで、固定原稿読み取り面２１２に置かれた原稿を読み取る。
【００３７】
本実施形態における駆動モータの温度の制御について説明する。ＭＦＰ１００は、駆動モータを動作させることによって様々な機能を実現している。例えば、ＭＦＰ１００は、駆動モータ２１６によって給紙ローラ２０３、搬送ローラ２０４及び排紙ローラ２０５等を駆動させることで、原稿の搬送を行っている。そのため、ＭＦＰ１００は、原稿を高速で搬送するためには、ローラの駆動手段である駆動モータ２１６に大きな電流を供給する必要がある。しかしながら、駆動モータ２１６に加える電流が大きくなるほど、駆動モータ２１６の発熱量が増加するため、駆動モータ２１６を含むＭＦＰ１００の温度が高くなってしまう。また連続して大量の原稿を搬送するような場合にも、駆動モータ２１６が長時間連続して駆動することになるため、駆動モータ２１６を含むＭＦＰ１００の温度が高くなってしまう。そこで、本実施形態のＭＦＰ１００は、駆動モータの温度推定を行い、推定した温度に基づいて駆動モータの動作モードを後述する通常モードと昇温抑制モードの間で遷移させる。
【００３８】
具体的には、まず、ＭＦＰ１００は、駆動モータの動作モードを変更するか否かの判定に用いる閾値として閾値ＬＯＷ及び閾値ＨＩＧＨ（閾値ＬＯＷ＜閾値ＨＩＧＨ）を設定する。なお、閾値の設定は、例えば、図示しない表示部上に閾値を設定するためのＵＩを表示し、該ＵＩを介してユーザから所望の閾値の入力を受け付けることで行われる。なお、このとき、閾値の設定は、ＵＩ上にユーザの所望の閾値を直接入力させる構成としても良いし、ＵＩ上にあらかじめ用意された複数の閾値を表示し、そのいずれかをユーザに選択させる構成としても良い。あるいは、着荷時にあらかじめ所定の閾値が設定されている構成としても良い。そして、ＭＦＰ１００は、駆動モータの動作モードが通常モードであり、且つ推定した温度が閾値ＨＩＧＨを上回っている場合には、駆動モータの動作モードを昇温抑制モードに移行させる。また、ＭＦＰ１００は、駆動モータの動作モードが昇温抑制モードであり、且つ推定した温度が閾値ＬＯＷを下回っている場合には、駆動モータの動作モードを通常モードに移行させる。
【００３９】
駆動モータの動作モードである通常モードと昇温抑制モードについて詳細に説明する。通常モードは、動作を抑制する特別な制御が行われることなく駆動モータが駆動するモードである。駆動モータが通常モードである場合、ＭＦＰ１００は、画像読取部２０９の動作限界速度やＣＰＵ１０１の処理速度、また読取色数や解像度に応じて決められた搬送速度で原稿の搬送を行う。また、その際、ＭＦＰ１００は、ロータリーエンコーダから受け取る駆動モータの駆動に関する情報（フィードバック）を利用して、決められた搬送速度で原稿が搬送されるように駆動モータを制御する。駆動モータが通常モードである場合、ＭＦＰ１００は、揮発性ＲＡＭ１０３上の画像バッファが所定量確保されている限り連続で原稿を読取る。また、ＭＦＰ１００は、読取中に揮発性ＲＡＭ１０３上の画像バッファが原稿１枚分の画像データの容量より不足した場合は、画像バッファが空くまで次の原稿の読取を停止させる。
【００４０】
次に昇温抑制モードについて説明する。昇温抑制モードは、駆動モータの温度が上がりすぎないように、昇温抑制制御が実行されるモードである。本実施形態では、昇温抑制制御として、駆動モータを所定の時間停止させる制御や、駆動モータの駆動量を抑える制御が実行される。なお、ＭＦＰ１００は、駆動モータが昇温抑制モードである場合、昇温抑制制御が常に実行されるよう制御しなくても良く、例えば、昇温抑制制御が実行される時間と実行されない時間とが繰り返されるように制御する構成としても良い。
【００４１】
このような形態とすることで、ＭＦＰ１００は、駆動モータの温度が過度に上昇することを抑制する。なお、本実施形態では、駆動モータを通常モードに移行させるための判定に用いられる閾値である閾値ＬＯＷと、駆動モータを昇温抑制モードに移行させるための判定に用いられる閾値である閾値ＨＩＧＨに差を付けている。これは、通常モードと昇温抑制モード間の遷移が短い間隔で行われて、昇温抑制制御が不自然な間隔で実行されることを防止するためである。
【００４２】
駆動モータの動作モードを変更するか否かの判定には、駆動モータの温度の情報を得る必要があるが、本実施形態のＭＦＰ１００は、駆動モータの単位時間当たりの累積回転数から駆動モータの温度の推定を行う。具体的には、ＭＦＰ１００は、更新前の温度係数及び駆動モータの単位時間当たりの累積回転数に応じて得られる、単位時間当たりの温度係数の変化量の値を、更新前の温度係数から増減させることで、駆動モータの温度を推定する。このように、駆動モータの温度を推定する形態とすることで、ＭＦＰ１００は、実際に温度を測定する温度センサが駆動モータに備えられていなくても、駆動モータの動作モードを適切に変更することができる。以下に、駆動モータの温度を推定する処理を詳細に説明する。
【００４３】
温度係数とは、駆動モータの温度を推定するための仮想的な係数であり、駆動モータが位置する環境の推定温度である環境温度Ｔｓと駆動モータの推定温度との差である。そのため、例えば、環境温度Ｔｓが３５℃、温度係数が５である場合には、駆動モータの推定温度は４０℃となる。なお、着荷時、あるいは長時間駆動モータが停止していた時には駆動モータは環境温度になっていると想定されるため、温度係数の初期値は０として設定され、さらに温度係数は０を下回ることはないように算出される。また、更新前の温度係数を増減させて新たな温度係数を得て、揮発性ＲＡＭ１０３に保存する処理（更新処理）は、単位時間に相当する所定の時間間隔で繰り返し行われる。なお、ＭＦＰ１００は、温度係数ではなく、推定温度そのものの情報を所定時間間隔毎に更新する構成としても良い。また、新たに得た温度係数の情報は、揮発性ＲＡＭ１０３だけでなく不揮発性ＲＡＭ１０４等、他のメモリにも保存されることで、電源が遮断されて揮発性ＲＡＭ１０３の情報が揮発した場合でも、温度係数の情報が失われずに済む。そこで、ＭＦＰ１００は、不揮発性ＲＡＭ１０４には、例えば、前回不揮発性ＲＡＭ１０４に保存した温度係数から更新後の温度係数が所定数変化したタイミングや、印刷や読み取りが終了したタイミング等に更新後の温度係数を新たに保存する。また、本実施形態において温度係数の更新間隔は、駆動モータの加減速における所要時間より長い時間とする。
【００４４】
なお、単位時間当たりの温度係数の変化量の値は、不揮発性ＲＡＭ１０４等のメモリに保存されているテーブルである温度係数表から取得される。温度係数表は、例えば図６や図７に示すようなテーブルであり、更新前の温度係数及び単位時間（ここでは１秒間）当たりの累積の回転数に応じた、温度係数の変化量が記述されている。温度係数表は、単位時間当たりの累積回転数に応じて所定の範囲毎に列分割されている。なお、温度係数表の列数については、増減させても構わない。また、単位時間当たりの回転数が多くなるほど、単位時間当たりに多くの電力が供給されて発熱量が大きくなるため、温度係数表に記述されている単位時間当たりの温度係数の変化量は、単位時間当たりの回転数が多くなるほど大きくなっている。また、更新前の温度係数が小さいほど、駆動ローラの温度は変化しやすいため、温度係数表における単位時間当たりの温度係数の変化量は、更新前の温度係数が小さくなるほど大きくなっている。
【００４５】
なお、温度係数表における単位時間当たりの温度係数の変化量は、駆動モータを駆動させることによって得た実測値を変換・近似することで得る。例えば、単位時間当たりに駆動モータを所定数回転させた場合に加えられる電流値の積分値を、駆動モータの特性に応じて変換及び近似することで、単位時間の累積回転数が所定数である場合の単位時間当たりの温度係数の変化量を算出することができる。なお、例えば、駆動モータの回転数と駆動モータの温度のグラフから、温度係数の予測式を立て、当該予測式から温度係数の変化量を算出しても良い。予測式は、例えば、
「所定時間当たりの温度係数の変化量」＝「温度定数」＊「更新前の温度係数」＋「速度定数」＊「所定時間当たりの累積回転数」＋「切片」
で表わされる。
【００４６】
このようにあらかじめ近似値をテーブル化しておくことにより、温度係数の更新処理に浮動小数点乗算を行う必要がなくなり、ＣＰＵ１０１による計算負荷を下げることができる。
【００４７】
なお、単位時間当たりの温度係数の変化量の情報の取得方法は、上述の形態に限定されない。例えば、ＭＦＰ１００は、図６及び図７のテーブルから駆動モータの単位時間当たりの回転数に基づいた列を抽出し、抽出した列に示された情報のなかから、更新前の温度係数と、駆動モータにかかる負荷の大きさに応じて変化量の情報を取得しても良い。
【００４８】
更新処理について詳細に説明する。例えば、更新前の温度係数が５、更新の時間間隔が１秒であるとする。ＭＦＰ１００は、前回の更新から１秒が経過したら、その１秒間における駆動モータの累積の回転数の情報を取得する。ここでは、駆動モータの１秒間当たりの累積の回転数が１００００スリット相当であったものとする。なお、スリットとは、駆動モータの１回転分の長さを所定の間隔で分割した単位であり、例えば、駆動モータの１回転分の距離を１００分割した場合は、駆動モータの１回転は１００スリット相当となる。その後、ＭＦＰ１００は、例えば、温度係数表を参照して、更新前の温度係数と、駆動モータの１秒間当たりの累積の回転数に応じた温度係数の変化量の情報を取得する。ここでは、更新前の温度係数が２．５であり、駆動モータの１秒間当たりの累積の回転数が１００００スリット相当であったとし、温度係数表には、その場合の温度係数の変化量が０．１であることが示されていたとする。この場合、ＭＦＰ１００は、温度係数表を参照して、温度係数の変化量が０．１であることの情報を取得する。その後、ＭＦＰ１００は、更新前の温度係数から温度係数の変化量を加算することで新たに温度係数２．６の値を特定して、新たに得た値を揮発性ＲＡＭ１０３に上書きすることで温度係数の情報を更新する。
【００４９】
また、更新前の温度係数が２．５であり、前回の更新処理後に駆動モータを停止させたことから駆動モータの１秒間当たりの累積の回転数が０スリット相当であったものとする。また、温度係数表には、その場合の温度係数の変化量が−０．１であることが示されていたとする。この場合、ＭＦＰ１００は、温度係数表を参照して、温度係数の変化量が−０．１であることの情報を取得する。その後、ＭＦＰ１００は、更新前の温度係数から温度係数の変化量を加算することで新たに温度係数２．４の値を特定して、新たに得た値を揮発性ＲＡＭ１０３に上書きすることで温度係数の情報を更新する。
【００５０】
このようにすることで、ＭＦＰ１００は、所定時間間隔毎に、駆動モータの温度の推定を行うことができる。また、ＭＦＰ１００は、ロータリーエンコーダ等の安価且つ簡単な構成でモータの温度を推定することができる。
【００５１】
しかしながら、駆動モータの温度の単位時間当たりの変化量は、駆動モータの総回転数が増加して駆動モータの摩耗や劣化が進行するほど大きくなる。ここで、総回転数とは、例えば、工場から出荷されてからの駆動モータの全回転数の総和である。図５は、総回転数が多い（負荷が大きい）状態の駆動モータと、総回転数が少ない（負荷が小さい）状態の駆動モータをそれぞれ一定速度で駆動し続けた場合の、駆動モータの温度変化について図示したグラフである。グラフの縦軸は駆動モータの温度、横軸は駆動モータの動作時間を示している。図５に示すように、回転速度が同じ条件で駆動した場合は、単位時間当たりに上昇する駆動モータの温度は、総回転数が多い状態の駆動モータのほうが、総回転数が少ない状態の駆動モータよりも大きい。すなわち、総回転数が多い状態の駆動モータのほうが、総回転数が少ない状態の駆動モータよりも少ない回転数で、昇温抑制モードに移行しなければならない温度に達してしまう。これは、総回転数が多く摩耗や劣化が進んでいる駆動モータは、回転に対する負荷が大きくなるため、駆動させるために大きな電流が加えられる必要があるためである。
【００５２】
このように、単位時間当たりに上昇する駆動モータの温度は、駆動モータの負荷状態によって異なる。そのため、ＭＦＰ１００が駆動モータの負荷状態の変化を考慮せずに温度推定を行うと、推定された温度と実際の温度との間に差が生じることになる。例えば、ＭＦＰ１００は、負荷が小さい状態の駆動モータを駆動させることによって得た実測値を近似することで得られた温度係数表を用いて、負荷が大きい状態の駆動モータの温度を推定する場合、推定した温度は実際の駆動モータの温度より低くなってしまう。そのため、例えば、実際には、昇温抑制モードに移行しなければならない温度に駆動モータが昇温されているにも関わらず、推定温度は低いため、駆動モータが昇温抑制モードに移行することができないといった状況が生じてしまう。また、負荷が大きい状態の駆動モータを駆動させることによって得た実測値を近似することで得られた温度係数表を用いて、負荷が小さい状態の駆動モータの温度を推定する場合、推定した温度は実際の駆動モータの温度より高くなってしまう。そのため、例えば、実際には、昇温抑制モードに移行しなくても良い温度に駆動モータが保たれているにも関わらず、推定温度は高いため、駆動モータが昇温抑制モードに移行してしまうといった状況が生じてしまう。
【００５３】
そこで、本実施形態のＭＦＰ１００は、モータの負荷状態を考慮して温度推定を行い、動作モードを変更する。具体的には、ＭＦＰ１００は、温度推定において、モータの総回転数に応じて異なった温度係数表を利用する。図６及び図７は、本実施形態のＭＦＰ１００が駆動モータの温度推定において利用する温度係数表である。図６は、例えば図５における温度係数グラフ５０１のような、総回転数が少ないことから摩耗や劣化があまり進行しておらず、かかる負荷が小さい状態の駆動モータを駆動させた場合の温度の実測値を変換・近似することで得た温度係数表である。この温度係数表は、駆動モータの総回転数分、駆動モータが回転することによって搬送可能なＡ４用紙の枚数が、５０００枚よりも少ない場合に利用されるものとする。図７は、例えば図５における温度係数グラフ５０２のような、総回転数が多いことから摩耗や劣化が進行しており、かかる負荷が大きい状態の駆動モータを駆動させた場合の温度の実測値を変換・近似することで得た温度係数表である。
【００５４】
この温度係数表は、駆動モータの総回転数分、駆動モータが回転することによって搬送可能なＡ４用紙の枚数が、５０００枚以上の場合に利用される。以下、図６のように駆動モータの総回転数が少ない場合に利用される温度係数表を温度係数表１、図７のように駆動モータの総回転数が多い場合に利用される温度係数表を温度係数表２という。それぞれの温度係数表から取得される値は、所定の条件において温度係数表１から取得される駆動モータの温度の変化量が、同じ条件において温度係数表２から取得される駆動モータの温度の変化量より小さく又は同一となるように設定される。なお、利用される温度係数表の数は２に限定されず、それぞれ負荷状態の異なる駆動モータに対応した３以上の数の温度係数表が利用されても良い。なお、本実施形態では、保存する情報量を小さくするために、駆動モータの総回転数をＡ４用紙の枚数に換算して、利用する温度係数表が決定されている。しかし、この形態に限定されず、例えば駆動モータの総回転数そのものや、駆動モータの総回転数に相当するスリット数によって、利用する温度係数表が決定されても良い。また、駆動モータがメンテナンスされたり、交換されたりすれば、駆動モータの負荷の大きさは小さくなる。そのため、センサによって駆動モータの交換を検知したり、ＭＦＰ１００がメンテナンスモードになった場合に、駆動回転数をリセットするような形態としても良い。
【００５５】
このような形態とすることで、ＭＦＰ１００は、駆動モータの負荷状態に応じて駆動モータの温度を推定し、駆動モータの動作モードの切り替えを適切に行うことができる。
【００５６】
図４は、本実施形態においてＭＦＰ１００が実行する温度係数の初期化処理を示すフローチャートである。なお、このフローチャートが示す処理は、ＣＰＵ１０１が、ＲＯＭ１０２又はＭＦＰ１００が備えるＨＤＤ（不図示）等に記憶されているプログラムを揮発性ＲＡＭ１０３又は不揮発性ＲＡＭ１０４にロードし、そのプログラムを実行することで実現される。また、このフローチャートが示す処理は、ＭＦＰ１００の電源をオンにする電源オン処理が行われた場合に開始される。
【００５７】
Ｓ４０１では、ＣＰＵ１０１は、公知の起動シーケンスを実行し、ＭＦＰ１００のハードウェアに異常がないか診断する。
【００５８】
Ｓ４０２では、ＣＰＵ１０１は、揮発性ＲＡＭ１０３内に保存していた情報が揮発しているか否かを判定する。具体的には、ＣＰＵ１０１は、不揮発性ＲＡＭ１０４等のメモリに保存されている電源オン又はオフのタイミングに関する情報を参照し、今回の電源オン処理が、電源オフ（ハード電源オフ）後に初めて行われた電源オン処理か否かを判定する。今回の電源オン処理が、電源オフ後に初めて行われた電源オン処理である場合は、揮発性ＲＡＭ１０３内に保存していた温度係数の情報が失われている。そのため、ＣＰＵ１０１は、今回の電源オン処理が電源オフ状態からの復帰による電源オン処理である場合は、揮発性ＲＡＭ１０３内に保存していた情報が揮発していると判定し、Ｓ４０３の処理を行う。一方、今回の電源オン処理が、電源オフ処理後に初めて行われた電源オン処理でない場合は、今回の電源オン処理は、省エネモードからの復帰による電源オン処理であり、揮発性ＲＡＭ１０３内に保存していた温度係数の情報が失われていない。そのため、ＣＰＵ１０１は、今回の電源オン処理が省エネモードからの復帰による電源オン処理である場合は、揮発性ＲＡＭ１０３内に保存していた情報が揮発していると判定し、Ｓ４０４の処理を行う。
【００５９】
Ｓ４０３では、ＣＰＵ１０１は、揮発性ＲＡＭ１０３に保存されている温度係数の情報を更新する。省電力モードになっている間は、駆動モータの駆動は停止されているため、駆動モータの温度は下がり続けるが、温度係数の更新処理も同時に停止される。そこで、省電力モードになっていたことによって中断されていた分の更新処理を一括で実行することで、省電力モードになっていた間に下がった温度を考慮して駆動モータの温度を推定する。具体的には、ＣＰＵ１０１は、まず、図示しない内部タイマが計測していた、ＭＦＰ１００が省電力モードになっていた時間の情報を取得する。その後、温度係数表に基づいて温度係数の情報を更新する処理を、取得した時間に応じた回数繰り返す。例えば、更新処理が１秒毎に行われる設定であり、ＭＦＰ１００が省電力モードになっていた時間が６００秒であった場合は、ＣＰＵ１０１は、更新処理を６００回繰り返して、電源オン後の駆動モータの温度を推定する。
【００６０】
Ｓ４０４では、ＣＰＵ１０１は、温度係数の情報を不揮発性ＲＡＭ１０４から取得し、揮発性ＲＡＭ１０３に保存する。これは、電源がオフされることによって揮発性ＲＡＭ１０３から温度係数の情報が失われているためである。
【００６１】
Ｓ４０５では、ＣＰＵ１０１は、揮発性ＲＡＭ１０３に保存されている温度係数の情報を更新する。電源が接続されてから（ハード電源がオンされてから）電源オン処理が行われるまでの時間は、駆動モータの駆動は停止されているため、駆動モータの温度は下がり続けるが、温度係数の更新処理も同時に停止される。そこで、電源オン処理が行われるまでに経過した時間の分の更新処理を一括で実行することで、その時間に下がった温度を考慮して駆動モータの温度を推定する。具体的には、ＣＰＵ１０１は、まず、電源が接続されてから（ハード電源がオンされてから）電源オン処理が行われるまでに経過した時間の情報を内部タイマから取得する。その後、温度係数表に基づいて温度係数の情報を更新する処理を、取得した時間に応じた回数繰り返す。
【００６２】
ＭＦＰ１００は上述のような初期化処理を実行することで、電源オン後の駆動モータの温度を推定することができる。
【００６３】
なお、初期化処理においては、駆動モータの負荷状態に応じて利用する温度係数表を切り替えても良いし、温度係数表１又は温度係数表２のどちらかを毎回利用しても構わない。これは、駆動モータが停止している際の駆動モータの温度の変化量は、駆動モータの負荷状態によって大きく変化しないためである。
【００６４】
図３は、本実施形態においてＭＦＰ１００が実行する、駆動モータの動作モードを変更する処理を示すフローチャートである。なお、このフローチャートが示す処理は、ＣＰＵ１０１が、ＲＯＭ１０２又はＭＦＰ１００が備えるＨＤＤ（不図示）等に記憶されているプログラムを揮発性ＲＡＭ１０３又は不揮発性ＲＡＭ１０４にロードし、そのプログラムを実行することで実現される。また、このフローチャートが示す処理は、図４に示す初期化処理が行われた場合に開始され、電源が投入されている間はエンドレスで繰り返される。
【００６５】
Ｓ３０１では、ＣＰＵ１０１は、温度係数の情報を揮発性ＲＡＭ１０３から取得する。
Ｓ３０２では、ＣＰＵ１０１は、ロータリーエンコーダによって駆動モータの１秒間内（所定時間内）の累積の回転数を算出する。
【００６６】
Ｓ３０３では、ＣＰＵ１０１は、駆動モータの総回転数の情報を取得する。具体的には、まず、ＣＰＵ１０１は、前回の更新処理時に取得した駆動モータの総回転数にＳ３０２で算出した累積回転数を加えることで、新たに駆動モータの総回転数を算出する。その後、ＣＰＵ１０１は、算出した総回転数の値を、算出した値分、駆動モータが回転した場合に搬送可能なＡ４用紙の枚数に換算し、換算した値を揮発性ＲＡＭ１０３に保存する。
【００６７】
Ｓ３０４では、ＣＰＵ１０１は、Ｓ３０３で換算した値が、５０００枚より少ないか否かを判定する。５０００枚よりも少ない場合は、ＣＰＵ１０１は、Ｓ３０５の処理を行い、Ｓ３０１で取得した温度係数、Ｓ３０２で取得した１秒間当たりの累積回転数及び温度係数表１に基づき、揮発性ＲＡＭ１０３に保存されている温度係数の情報を更新する。５０００枚以上の場合は、ＣＰＵ１０１は、Ｓ３０６の処理を行い、Ｓ３０１で取得した温度係数、Ｓ３０２で取得した１秒間当たりの累積回転数及び温度係数表２に基づき、揮発性ＲＡＭ１０３に保存されている温度係数の情報を更新する。なお、ＣＰＵ１０１は、Ｓ３０４において、駆動モータの総回転数そのものや、駆動モータの総回転数に相当するスリット数によって、判定を行っても良い。
【００６８】
Ｓ３０７では、ＣＰＵ１０１は、更新した温度係数と総回転数の情報を不揮発性ＲＡＭ１０４に保存する。なお、ＣＰＵ１０１は、前回不揮発性ＲＡＭ１０４に保存した温度係数から更新後の温度係数が所定数変化しているか否かや、印刷や読み取りが終了したか否かを判定し、条件が満たされていない場合には、Ｓ３０７を行わないような構成としても良い。
【００６９】
Ｓ３０８では、ＣＰＵ１０１は、駆動モータの動作モードが通常モードか否か（昇温抑制モードか）を判定する。通常モードである場合は、ＣＰＵ１０１は、Ｓ３１１の処理を行う。通常モードでなく、昇温抑制モードである場合は、ＣＰＵ１０１は、Ｓ３０９の処理を行う。
【００７０】
Ｓ３０９では、ＣＰＵ１０１は、更新した温度係数が閾値ＬＯＷより小さいか否かを判定する。温度係数が閾値ＬＯＷより小さい場合は、ＣＰＵ１０１は、Ｓ３１０の処理を行って駆動モータを通常モードに移行させる。温度係数が閾値ＬＯＷより小さい場合は、ＣＰＵ１０１は、駆動モータの動作モードを変更せずにＳ３１３の処理を行う。
【００７１】
Ｓ３１１では、ＣＰＵ１０１は、更新した温度係数が閾値ＨＩＧＨより大きいか否かを判定する。温度係数が閾値ＨＩＧＨを上回っている場合は、ＣＰＵ１０１は、Ｓ３１２の処理を行って駆動モータを昇温抑制モードに移行させる。温度係数が閾値ＨＩＧＨを上回っていない場合は、ＣＰＵ１０１は、駆動モータの動作モードを変更せずにＳ３１３の処理を行う。
【００７２】
Ｓ３１３では、ＣＰＵ１０１は、所定の時間待機する。これは、ＣＰＵ１０１は、更新処理を所定の時間間隔で行うためである。その後、ＣＰＵ１０１は、再びＳ３０１の処理を行う。
【００７３】
このように、本実施形態のＭＦＰ１００は、駆動モータの負荷状態を考慮しつつ推定した駆動モータの温度に基づいて駆動モータの動作モードを変更することで、駆動モータの動作モードを適切なタイミングで変更することができる。
【００７４】
なお、いずれの温度係数表を用いるのかの判定のための処理（Ｓ８０３やＳ８０４）は、温度係数の更新処理毎に行われなくても良い。例えば、初期化処理毎に当該処理を実行し、以後、判定した温度係数表にて更新処理を行うような構成としても良い。
【００７５】
（第２実施形態）
本実施形態では、精度の高い駆動モータの温度の推定を精度高く行うことができるモータ制御装置について説明する。なお、本実施形態の基本的な構成は第１実施形態と同様であるため、以下では特徴的な構成についてのみ説明する。
【００７６】
本実施形態において、駆動モータの温度は、長時間動作していない場合には、環境温度Ｔｓになっている（温度係数が０）とみなされる。しかしながら、環境温度Ｔｓは、駆動モータが位置する環境の推定温度としてあらかじめユーザやサプライヤーによって設定された値であるため、駆動モータが位置する環境の実際の温度とは異なる場合がある。環境温度Ｔｓが、実際の環境温度と異なる場合には、温度が正しく推定されないために、駆動モータの動作モードの変更が適切に行われない。例えば、環境温度Ｔｓが実際の環境温度より低い場合には、推定温度が実際の温度より高く見積もられることになるため、実際には駆動モータがあまり昇温されていないにもかかわらず、駆動モータが昇温抑制モードに移行してしまう。
【００７７】
そこで、本実施形態では、ＭＦＰ１００は、駆動モータ以外の部分に設置された温度センサを使用して、環境温度を測定する。そして、温度測定の結果に応じて駆動モータの動作モードの変更を行う。具体的には、ＭＦＰ１００は、画像形成部１０９に設けられた図示しない記録ヘッドに備えられた温度センサを使用して、環境温度を測定する。そして、測定結果に応じて、駆動モータの動作モードを変更するか否かの判定に用いる閾値を補正する。このような形態とすることで、ＭＦＰ１００は、より適切に駆動モータの動作モータの変更を行うことができる。なお、本実施形態では、温度センサは記録ヘッドの温度を測定していたが、この形態に限定されず、実際の温度を測定できれば温度センサはいずれの対象物の温度を測定しても良い。
【００７８】
本実施形態における動作モード変更処理について説明する。本実施形態では、ＭＦＰ１００は、環境温度Ｔｓと実際の環境温度の差に相当する値である補正温度Ｔｄを考慮して駆動モータの動作モードを変更する。
【００７９】
記録ヘッドに備えられた温度センサが測定する温度である記録ヘッド温度Ｔｐは、記録ヘッドが長時間動作していない場合は、実際の環境温度に近い値となっている。そこで、まず、ＭＦＰ１００は、温度センサによって記録ヘッド温度Ｔｐを測定する。その後、ＭＦＰ１００は、不揮発性ＲＡＭ１０４等のメモリから取得した情報である環境温度Ｔｓ（本実施形態では３５℃）から記録ヘッド温度Ｔｐを減算し、補正温度Ｔｄを算出する。その後、ＭＦＰ１００は、補正温度Ｔｄが０より大きな値（３５℃＞記録ヘッド温度Ｔｐ）であれば、閾値ＨＩＧＨに補正温度Ｔｄを加算した値を、駆動モータの動作モードを変更するか否かの判定に利用する。なおこのとき、補正温度Ｔｄに所定の係数を乗じた値を閾値ＨＩＧＨに加算しても良い。また、補正温度Ｔｄが０以下（３５℃≦記録ヘッド温度Ｔｐ）であれば、閾値ＬＯＷ及び閾値ＨＩＧＨを変動させずそのまま利用する。
【００８０】
このような形態とすることで、ＭＦＰ１００は、実際の環境温度と環境温度ＴＳとの誤差を考慮して、駆動モータの動作モードを適切に変更することができる。
【００８１】
図８は、本実施形態においてＭＦＰ１００が実行する、駆動モータの動作モードを変更する処理を示すフローチャートである。なお、このフローチャートが示す処理は、ＣＰＵ１０１が、ＲＯＭ１０２又はＭＦＰ１００が備えるＨＤＤ（不図示）等に記憶されているプログラムを揮発性ＲＡＭ１０３又は不揮発性ＲＡＭ１０４にロードし、そのプログラムを実行することで実現される。また、このフローチャートが示す処理は、図４に示す初期化処理が行われた場合に開始され、電源が投入されている間はエンドレスで繰り返される。
【００８２】
Ｓ８０１乃至Ｓ８１３の処理は、Ｓ３０１乃至Ｓ３１３の処理と同様であるため、説明を省略する。
【００８３】
Ｓ８１４では、ＣＰＵ１０１は、補正温度Ｔｄを算出する。補正温度Ｔｄは、上述したようにＭＦＰ１００に設定された環境温度から記録ヘッド温度Ｔｐを減算した値である。
【００８４】
Ｓ８１５では、ＣＰＵ１０１は、Ｓ８１４で算出した補正温度Ｔｄが０以下か否か判定する。補正温度Ｔｄが０以下である場合は、ＣＰＵ１０１は、Ｓ８１６の処理を行い、補正温度Ｔｄを０に変更する。これは、環境温度Ｔｓは、駆動モータが位置する環境において想定される最大の温度であるため、記録ヘッド温度Ｔｐが環境温度Ｔｓを上回る場合（補正温度Ｔｄが０以下である場合）は、記録ヘッド温度Ｔｐが正確でないと想定されるからである。
【００８５】
Ｓ８１７では、ＣＰＵ１０１は、Ｓ８０５又はＳ８０６にて更新した温度係数が閾値ＨＩＧＨに補正温度Ｔｄを加算した値を上回っているか否かを判定する。上回っている場合は、ＣＰＵ１０１は、Ｓ８１２の処理を行い、駆動モータを昇温抑制モードへ移行させる。上回っていない場合は、ＣＰＵ１０１は、Ｓ８１３の処理を行う。なお、Ｓ８１７では、ＣＰＵ１０１は、Ｓ８０５又はＳ８０６にて更新した温度係数から補正温度Ｔｄを減算した値が、閾値ＨＩＧＨを上回っているか否かを判定しても良い。
【００８６】
このような形態とすることで、ＭＦＰ１００は、駆動モータには温度センサが備わっていないが、駆動センサ以外の部分には温度センサが備わっているような構成において、駆動モータの動作モードの変更処理をより適切に行うことができる。
【００８７】
なお、本実施形態では、閾値ＨＩＧＨに対し、補正温度Ｔｄを加算しているが、例えば、推定した温度係数に対し、補正温度Ｔｄを減算することでも同様の効果が得られる。
【００８８】
また、本実施形態では、昇温抑制モードから通常モードへ移行させる制御（Ｓ８０９）においては、昇温抑制制御が長く実行されることで駆動モータの温度が確実に下がることを優先させているため、補正温度Ｔｄを考慮して閾値ＬＯＷを変動させていない。しかしながら、通常モードにより早く移行させることを優先させる場合は、ＣＰＵ１０１は、閾値ＬＯＷに補正温度Ｔｄを減算した値をＳ８０９の判定における閾値としても良い。
【００８９】
また、本実施形態では、記録ヘッド温度Ｔｐを実際の環境温度とみなしているが、例えば、記録ヘッドが動作することで昇温され、記録ヘッド温度Ｔｐが実際の環境温度と異なってしまう場合がある。そのため、本実施形態の制御は、温度センサによる測定対象（本実施形態では記録ヘッド）の動作が発生していない場合に特に有効である。
【００９０】
（第３実施形態）
上述の実施形態では、駆動モータの負荷状態として、駆動モータの総回転数を測定していたが、これに限定されない。例えば、駆動モータの摩耗や劣化が進行すると、所定の回転数、駆動モータを駆動させるために加えなければならない電力値（ＰＷＭ信号のデューティー値）が大きくなる。そこで、本実施形態では、駆動モータの総回転数の代わりに、駆動モータに加えている電力値に応じて、温度係数表を切り替える形態を説明する。なお、本実施形態の基本的な構成は第１実施形態と同様であるため、以下では特徴的な構成についてのみ説明する。
【００９１】
本実施形態では、ＭＦＰ１００には、駆動モータの回転速度等を検出するためのエンコーダと、ＣＰＵ１０１からの指令に応じた電力を駆動モータに供給するサーボアンプが備わっているものとする。なお、このエンコーダは、本実施形態においては、駆動モータ２１６等に備わっているロータリーエンコーダである。そして、駆動モータは、サーボアンプから供給されるＰＷＭ信号（パルス波）に応じた回転速度で、エンコーダから得られる位置情報、速度情報を用いたサーボ制御によって駆動する。サーボ制御は、ＲＯＭ１０２に格納されているプログラムをＣＰＵ１０１が実行することにより実現される。なお、サーボ制御処理は、所定の周期（サーボ周期）毎に繰り返し行われる。
【００９２】
駆動モータが駆動を開始すると、エンコーダにより回転数に比例したフィードバックパルスが発生する。発生したフィードバックパルスがサーボアンプにフィードバックされることで、ＣＰＵ１０１は、駆動モータがＣＰＵ１０１が指令した電力に応じた適切な回転速度で駆動しているか否かを認識する。そして、ＣＰＵ１０１は、指令した回転速度で駆動モータが回転していないことを認識した場合は、フィードバックから認識した回転速度と適切な回転速度との誤差を計算する。その後、計算した値に応じた回転速度の誤差を補うように増減したＰＷＭ信号（パルス波）を供給するように、サーボアンプに指令することで、駆動モータの回転速度を補正する。なお、サーボアンプから駆動モータに出力されるＰＷＭ信号は、デューティー値（ハイレベルとロウレベルの比、オンとオフの比）で表される。このデューティー値の範囲は０％から１００％である。デューティー値が大きいほどモータに供給される電力は大きくなる。
【００９３】
また、前述したように、駆動モータは、摩耗や劣化によって負荷が生じ、回転しづらくなる。そのため、駆動モータの摩耗や劣化が進み、駆動モータにかかる負荷が大きくなるにつれて、エンコーダからのフィードバックから認識される回転速度と適切な回転速度との誤差が大きくなり、それを補正するためにサーボアンプから大きな電力が供給される。すなわち、駆動モータにかかる負荷が大きくなるにつれて、ＰＷＭ信号のデューティー値が大きくなる。
【００９４】
そこで、本実施形態では、駆動モータの負荷状態として、ＰＷＭ信号のデューティー値を測定し、その測定結果に応じて、使用する温度係数表を切り替える。
【００９５】
図９は、本実施形態においてＭＦＰ１００が実行する、駆動モータの動作モードを変更する処理を示すフローチャートである。なお、このフローチャートが示す処理は、ＣＰＵ１０１が、ＲＯＭ１０２又はＭＦＰ１００が備えるＨＤＤ（不図示）等に記憶されているプログラムを揮発性ＲＡＭ１０３又は不揮発性ＲＡＭ１０４にロードし、そのプログラムを実行することで実現される。また、このフローチャートが示す処理は、図４に示す初期化処理が行われた場合に開始され、電源が投入されている間はエンドレスで繰り返される。
【００９６】
Ｓ９０１乃至Ｓ９１３の処理は、Ｓ３０１乃至Ｓ３１３の処理と同様であるため、説明を省略する。
【００９７】
Ｓ９１４では、ＣＰＵ１０１は、サーボアンプから駆動モータに出力されているＰＷＭ信号のデューティー値の情報を取得する。
【００９８】
Ｓ９１５では、ＣＰＵ１０１は、Ｓ９１６の判定において使用する閾値を決定する。具体的には、ＣＰＵ１０１は、図１０に示すような閾値テーブルから、サーボアンプに指令している供給電力の大きさに応じた駆動モータの回転速度に対応する閾値の情報を取得する。これは、ＣＰＵ１０１が、駆動モータをどのような回転数で回転させようとするか（サーボアンプにどのような大きさの電力を供給させようとするか）によって、Ｓ９１６の判定において基準となるＰＷＭ信号のデューティー値が変化するためである。
【００９９】
Ｓ９１６では、ＣＰＵ１０１は、Ｓ９１４で取得したデューティー値が、Ｓ９１５で決定した閾値より小さいか否かを判定する。ＣＰＵ１０１は、デューティー値が閾値より小さい場合は、駆動モータは劣化が進行しておらず、かかる負荷が小さい状態であると判定され、Ｓ９０５にて、温度係数表１に基づいて温度係数を更新する。また、ＣＰＵ１０１は、デューティー値が閾値より大きい場合は、駆動モータは劣化が進行しており、かかる負荷が大きい状態であると判定され、Ｓ９０６にて、温度係数表２に基づいて温度係数を更新する。
【０１００】
このような形態とすることで、ＰＷＭ信号のデューティー値からも、駆動モータの劣化度合いを判定し、使用する温度係数表を切り替えることができる。
【０１０１】
なお、ＰＷＭ信号のデューティー比の閾値の決定及びＰＷＭ信号のデューティー比が閾値を超えているか否かの判定は、温度係数の更新処理毎に行われなくても良い。例えば、駆動ローラが停止した後、駆動を開始する毎にＣＰＵ１０１が所定の回転速度で回転するように指令を出し、当該指令に応じた閾値をＰＷＭ信号のデューティー比が閾値を超えているか否か判定するのでも良い。このような形態とすることで、指令に応じた閾値が一意に定まるため、ＭＦＰ１００は、複数の閾値の情報を持つ必要がなくなる。
【０１０２】
また、第２実施形態のように、補正温度Ｔｄを測定し、測定結果に応じて、駆動モータの動作モードを変更するか否かの判定に用いる閾値を補正しても良い。
【０１０３】
また、本実施形態の構成は、ＰＷＭ信号のデューティー比から駆動モータにかかる負荷が大きいか否かを判定できれば良く、例えば、サーボ制御はサーボアンプを介して行われなくても良い。
【０１０４】
（その他の実施形態）
上述の実施形態では、動作モードの変更対象である駆動モータとしてＤＣモータを適用した形態を説明していたが、これに限定するものではなく、他の種類のモータを適用しても良い。
【０１０５】
上述の実施形態では、Ｓ３０９やＳ３１１等の判定処理を行ったタイミングで駆動モータの動作モードを変更させていたが、これに限定されない。例えば、駆動モータが搬送ローラを駆動させるものである場合は、原稿の読み取り中や画像形成中には動作モードの変更を行わず、原稿の読み取りが終了したタイミングで行うような形態としても良い。
【０１０６】
上述の実施形態では、ＭＦＰ１００は、温度係数表を用いて温度係数の変化量を特定していたが、計算負荷が問題にならない場合は、更新処理の都度、実測値を近似したグラフや予測式から温度係数の変化量を計算しても良い。その場合、駆動モータの負荷状態に応じて、利用するグラフや予測式、値の変換・近似に利用する係数等を切り替える。
【０１０７】
上述の実施形態では、駆動モータの負荷状態に応じて、温度係数の推定方法を切り替えていた。しかし、この形態に限定されず、例えば、駆動モータの負荷状態に応じて、駆動モータの動作モードを変更させるための判定における閾値を変化させる形態であっても良い。すなわち、例えば、駆動モータの負荷が大きい場合には、駆動モータの負荷が小さい場合と比較して小さい閾値を用いて判定を行い、判定結果に応じて駆動モータの動作モードを変更させるような形態であっても良い。このような形態であっても、上述の実施形態と同様の効果を得ることができる。
【０１０８】
上述の実施形態では、駆動モータの劣化度合いを示す値として、駆動モータの総回転数と、ＰＷＭ信号のデューティー比を測定していたが、この形態に限定されない。すなわち、駆動モータの劣化度合いを推定できるパラメータが測定されれば良く、例えば、駆動モータの駆動時間等のパラメータが測定されても良い。
【０１０９】
上述の実施形態は、上述の実施形態の１以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを実行する処理でも実現可能である。また、上述の実施形態は、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１１０】
１００  ＭＦＰ
２１６  駆動モータ
【図１】
2017055532.tif 000003
【図２】
2017055532.tif 000004
【図３】
2017055532.tif 000005
【図４】
2017055532.tif 000006
【図５】
2017055532.tif 000007
【図６】
2017055532.tif 000008
【図７】
2017055532.tif 000009
【図８】
2017055532.tif 000010
【図９】
2017055532.tif 000011
【図１０】
2017055532.tif 000012