(57)【要約】【課題】モータの発熱状態を管理するに際し、発熱についての情報の取得精度向上を図りつつ、処理の過度な負担を防止する。【解決手段】モータ制御装置は、駆動制御部と発熱状態取得部とを有する。駆動制御部は、制御の実行タイミングを定めるための信号レベル変化が第１周期で生じる第１タイミング信号に基づき、モータの駆動制御を前記第１周期毎に行う。発熱状態取得部は、発熱状態の取得タイミングを定めるための信号レベル変化が第１周期よりも長い第２周期で生じる第２タイミング信号に基づき、モータの駆動中に、このモータの発熱状態を第２周期毎に取得する。【選択図】図６
2008072805.tif 000002
【特許請求の範囲】
【請求項１】
（Ａ）制御の実行タイミングを定めるための信号レベル変化が第１周期で生じる第１タイミング信号に基づき、モータの駆動制御を前記第１周期毎に行う駆動制御部と、
（Ｂ）発熱状態の取得タイミングを定めるための信号レベル変化が前記第１周期よりも長い第２周期で生じる第２タイミング信号に基づき、前記モータの駆動中に、前記モータの発熱状態を前記第２周期毎に取得する発熱状態取得部と、
（Ｃ）を有するモータ制御装置。
【請求項２】
請求項１に記載のモータ制御装置であって、
前記モータは、
ＤＣモータであり、
前記駆動制御部は、
前記モータの駆動量に応じた電流量の制御信号を前記第１周期毎に出力し、
前記発熱状態取得部は、
前記電流量に基づいて前記モータの発熱状態を前記第２周期毎に取得する、モータ制御装置。
【請求項３】
請求項１又は請求項２に記載のモータ制御装置であって、
前記駆動制御部は、
前記モータの駆動制御を、前記モータの駆動モードに応じて定められる前記第１周期毎に行い、
前記発熱状態取得部は、
前記モータの発熱状態を、前記駆動モードに関わらず一定値に定められる前記第２周期毎に取得する、モータ制御装置。
【請求項４】
請求項３に記載のモータ制御装置であって、
前記駆動モードは、
前記モータの駆動に伴って移動する移動体の移動速度に応じて定められ、
前記第１タイミング信号は、
前記移動体が単位量だけ移動する毎に前記信号レベル変化を生じさせる、モータ制御装置。
【請求項５】
請求項４に記載のモータ制御装置であって、
前記移動体は、
媒体に向けてインクを吐出するヘッドである、モータ制御装置。
【請求項６】
請求項４に記載のモータ制御装置であって、
前記移動体は、
ヘッドから吐出されたインクによって画像が印刷される媒体である、モータ制御装置。
【請求項７】
請求項１から請求項６の何れかに記載のモータ制御装置であって、
前記発熱状態取得部は、
取得した発熱状態を前記第２周期毎に累積し、
放熱状態の取得タイミングを定めるための信号レベル変化が前記第２周期よりも長い第３周期で生じる第３タイミング信号に基づき、前記放熱状態を加味して、前記発熱状態を前記第３周期毎に更新する、モータ制御装置。
【請求項８】
請求項１から請求項７の何れかに記載のモータ制御装置であって、
前記発熱状態取得部が取得した前記モータの発熱度合いに応じて、前記モータの休止を制御する休止制御部を有する、モータ制御装置。
【請求項９】
（Ａ）制御の実行タイミングを定めるための信号レベル変化が第１周期で生じる第１タイミング信号に基づき、モータの駆動制御を前記第１周期毎に行うこと、
（Ｂ）発熱状態の取得タイミングを定めるための信号レベル変化が前記第１周期よりも長い第２周期で生じる第２タイミング信号に基づき、前記モータの駆動中に、前記モータの発熱状態を前記第２周期毎に取得すること、
（Ｃ）を行うモータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置、及び、モータ制御方法に関する。
【背景技術】
【０００２】
モータは駆動源として様々な装置に用いられている。例えば、インクジェットプリンタ等の印刷装置では、ヘッドが取り付けられたキャリッジを移動させるための駆動源として、及び、画像が印刷される用紙を搬送させるための駆動源として用いられている。この種のモータにおいて、本来の性能を発揮させるためには発熱状態の管理が重要となる。
【０００３】
発熱状態を管理する方法として、モータの駆動時に供給される総電流量を用いるものがある（例えば、特許文献１を参照。）。この方法では、インクを吐出するためのヘッドを往復移動させるためのモータを対象とし、ヘッドの移動方向が切り替わる際の停止時間を、モータへ供給される総電流量に基づいて制御している。簡単に説明すると、ヘッドを往路方向や復路方向へ移動させる際に、往路方向や復路方向への１回の移動（つまり、１パスの移動）に要する総電流量を求める。そして、求められた総電流量に基づいてモータの停止時間を定めている。
【特許文献１】特開２００１−７８４７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前述した方法では、ヘッドが１パスの移動をする一連の動作を単位として総電流量を求めている。このため、発熱に関する情報の取得精度を向上させることが難しいという問題があった。
【０００５】
本発明はこのような事情に鑑みてなされたものであり、その目的はモータの発熱状態を管理するに際し、発熱に関する情報の取得精度を向上させることにある。
【課題を解決するための手段】
【０００６】
前記目的を達成するための主たる発明は、
（Ａ）制御の実行タイミングを定めるための信号レベル変化が第１周期で生じる第１タイミング信号に基づき、モータの駆動制御を前記第１周期毎に行う駆動制御部と、
（Ｂ）発熱状態の取得タイミングを定めるための信号レベル変化が前記第１周期よりも長い第２周期で生じる第２タイミング信号に基づき、前記モータの駆動中に、前記モータの発熱状態を前記第２周期毎に取得する発熱状態取得部と、
（Ｃ）を有するモータ制御装置である。
【０００７】
本発明の他の特徴は、本明細書、及び添付図面の記載により、明らかにする。
【発明を実施するための最良の形態】
【０００８】
本明細書の記載、及び添付図面の記載により、少なくとも次のことが明らかにされる。
【０００９】
すなわち、（Ａ）制御の実行タイミングを定めるための信号レベル変化が第１周期で生じる第１タイミング信号に基づき、モータの駆動制御を前記第１周期毎に行う駆動制御部と、（Ｂ）発熱状態の取得タイミングを定めるための信号レベル変化が前記第１周期よりも長い第２周期で生じる第２タイミング信号に基づき、前記モータの駆動中に、前記モータの発熱状態を前記第２周期毎に取得する発熱状態取得部と、（Ｃ）を有するモータ制御装置を実現できる。
【００１０】
かかるモータ制御装置であって、前記モータは、ＤＣモータであり、前記駆動制御部は、前記モータの駆動量に応じた電流量の制御信号を前記第１周期毎に出力し、前記発熱状態取得部は、前記電流量に基づいて前記モータの発熱状態を前記第２周期毎に取得する構成が好ましい。
【００１１】
かかるモータ制御装置であって、前記駆動制御部は、前記モータの駆動制御を、前記モータの駆動モードに応じて定められる前記第１周期毎に行い、前記発熱状態取得部は、前記モータの発熱状態を、前記駆動モードに関わらず一定値に定められる前記第２周期毎に取得する構成が好ましい。
【００１２】
かかるモータ制御装置であって、前記駆動モードは、前記モータの駆動に伴って移動する移動体の移動速度に応じて定められ、前記第１タイミング信号は、前記移動体が単位量だけ移動する毎に前記信号レベル変化を生じさせる構成が好ましい。
【００１３】
かかるモータ制御装置であって、前記移動体は、媒体に向けてインクを吐出するヘッドである構成が好ましい。
【００１４】
かかるモータ制御装置であって、前記移動体は、ヘッドから吐出されたインクによって画像が印刷される媒体である構成が好ましい。
【００１５】
かかるモータ制御装置であって、前記発熱状態取得部は、取得した発熱状態を前記第２周期毎に累積し、放熱状態の取得タイミングを定めるための信号レベル変化が前記第２周期よりも長い第３周期で生じる第３タイミング信号に基づき、前記放熱状態を加味して、前記発熱状態を前記第３周期毎に更新する構成が好ましい。
【００１６】
かかるモータ制御装置であって、前記発熱状態取得部が取得した前記モータの発熱度合いに応じて、前記モータの休止を制御する休止制御部を有する構成が好ましい。
【００１７】
また、次のモータ制御方法が実現できることも明らかにされる。すなわち、（Ａ）制御の実行タイミングを定めるための信号レベル変化が第１周期で生じる第１タイミング信号に基づき、モータの駆動制御を前記第１周期毎に行うこと、（Ｂ）発熱状態の取得タイミングを定めるための信号レベル変化が前記第１周期よりも長い第２周期で生じる第２タイミング信号に基づき、前記モータの駆動中に、前記モータの発熱状態を前記第２周期毎に取得すること、（Ｃ）を行うモータ制御方法が実現できることも明らかにされる。
【００１８】
＝＝＝第１実施形態＝＝＝
モータ、及び、モータ制御装置は、種々の装置に用いられる。本明細書では、これらのモータ、及び、モータ制御装置を有するインクジェットプリンタ（以下、単にプリンタともいう。）を例に挙げて説明する。このプリンタは、ヘッドから吐出されたインクによって媒体に画像を印刷する印刷装置に相当する。図１に示すように、プリンタ１０は、コントローラ部２０とエンジン部３０とを有する。
【００１９】
＜コントローラ部２０について＞
コントローラ部２０は、プリンタ１０における制御を担当する部分であり、ＣＰＵ２１、ＡＳＩＣ２２、メモリ２３、タイマーＩＣ２４、及び、ＤＣユニット２５を有する。ＣＰＵ２１は、プリンタ１０の全体の制御を行うための演算処理装置である。このＣＰＵ２１は、バスＢＵを介して、ＡＳＩＣ２２、メモリ２３、及び、インタフェース２６と通信可能に接続されている。なお、インタフェース２６は、ホストコンピュータＨＣと通信可能に接続されている。この他に、ＣＰＵ２１は、ＤＣユニット２５、キャリッジモータドライバ３３（ＣＲモータドライバ）、搬送モータドライバ３６（ＰＦモータドライバ）と電気的に接続されている。ＡＳＩＣ２２は、ホストコンピュータＨＣからの印刷データに基づいてドット毎の制御データをシリアル伝送したり、ヘッドＨＤに用いられる駆動波形等を生成したりする。また、ＡＳＩＣ２２は、ヘッドドライバ３８と通信可能に接続されている。メモリ２３は、ＣＰＵ２１やＡＳＩＣ２２用のプログラムや変数を記憶する領域として用いられたり、作業用の領域として用いられたりする。このメモリ２３は、ＲＡＭ、ＥＥＰＲＯＭ、ＲＯＭ等の記憶素子によって構成される。これらの記憶素子によって、作業用の領域等に用いられる揮発性領域、プログラム等を記憶する領域等に用いられる不揮発性領域、及び、変数や定数等を記憶する領域等に用いられる書き換え可能な不揮発性領域が構成される。タイマーＩＣ２４は、時間を認識するためのクロック（以下、計時用クロックともいう。）を生成する。そして、計時用クロックはＣＰＵ２１に供給される。従って、ＣＰＵ２１は、計時用クロックのエッジ（タイミングを示す信号レベル変化）を、メモリ２３に設けられる計時カウンタ領域（図示せず）でカウントすることで、あるタイミングからの経過時間を認識できる。そして、ＣＰＵ２１は、計時用クロックに基づくタイマー信号を出力する。このタイマー信号は、放熱状態の取得タイミングを定める際に用いられる。ＤＣユニット２５は、キャリッジモータドライバ３３や搬送モータドライバ３６を制御するための指令信号（制御用信号）を出力する。なお、ＤＣユニット２５については後で詳しく説明する。
【００２０】
＜エンジン部３０について＞
エンジン部３０は、印刷のための動作を担当する部分である。そして、エンジン部３０は、キャリッジ３１と、キャリッジ移動機構３２と、キャリッジモータドライバ３３と、リニアエンコーダ３４と、用紙搬送機構３５と、搬送モータドライバ３６と、ロータリエンコーダ３７と、ヘッドドライバ３８とを有する。
【００２１】
キャリッジ３１は、インクカートリッジ（図示せず）やヘッドＨＤが取り付けられる部材である。このキャリッジ３１は、キャリッジ移動機構３２によって、キャリッジ移動方向（用紙Ｓの幅方向）に移動される。なお、ヘッドＨＤは、キャリッジ３１に取り付けられているため、キャリッジ３１の移動に伴って移動する。従って、キャリッジ３１やヘッドＨＤは移動体に相当する。また、キャリッジ移動機構３２はヘッド移動機構に相当し、かつ、移動体を移動させるための移動機構に相当する。本実施形態において、キャリッジ移動機構３２は、タイミングベルト４１と、駆動プーリー４２と、アイドラプーリー４３と、キャリッジモータ４４を有する。タイミングベルト４１は、キャリッジ３１に接続されるとともに、駆動プーリー４２とアイドラプーリー４３との間に架け渡されている。キャリッジモータ４４は、キャリッジ３１を移動させるための駆動源であり、その回転軸が駆動プーリー４２に接続されている。このキャリッジモータ４４は、ＤＣモータによって構成されている。このＤＣモータでは、印加電流に応じてキャリッジモータ４４の回転速度を制御することができる。従って、キャリッジモータドライバ３３は、ＤＣユニット２５からの指令信号の電流量に応じてキャリッジモータ４４を駆動させる。
【００２２】
リニアエンコーダ３４は、キャリッジ３１（ヘッドＨＤ）が所定距離移動する毎に電圧レベルが変化するエンコーダ信号ＥＮＣ_Ｃを出力する。図２Ａに示すように、リニアエンコーダ３４は、所定間隔で透光部が形成された符号板４５と、キャリッジ３１とともに移動し、エンコーダ信号ＥＮＣ_Ｃを出力するセンサユニット４６とを有する。符号板４５は、プリンタ１０のフレーム側に、キャリッジ移動方向に沿って取り付けられている。そして、また、センサユニット４６から出力されるエンコーダ信号ＥＮＣ_Ｃは、例えば図２Ｂに示すように、互いに位相の異なる２種類の信号である。そして、各エンコーダ信号ＥＮＣ_ＣＡ，ＥＮＣ_ＣＢは、符号板４５が有する透光部の検出に対応して電圧をＨレベルとＬレベルの一方から他方へと交互に変化させる。本実施形態において、センサユニット４６は、キャリッジ３１が１／１８０インチの距離を移動する毎に、１周期の信号レベル変化（電圧変化）を生じさせる。そして、第２エンコーダ信号ＥＮＣ_ＣＢは、第１エンコーダ信号ＥＮＣ_ＣＡに対して１／４周期だけ位相がずれている。このため、第１エンコーダ信号ＥＮＣ_ＣＡと第２エンコーダ信号ＥＮＣ_ＣＢの各エッジに基づき、キャリッジ３１の移動を１／７２０インチ毎に検出できる。
【００２３】
用紙搬送機構３５は、媒体としての用紙Ｓを搬送する機構であり、媒体搬送機構に相当する。なお、用紙Ｓは移動体にも相当するため、用紙搬送機構３５も、移動体を移動させるための移動機構に相当する。図１では、その主要部である搬送ローラ４７と搬送モータ４８を示している。搬送ローラ４７は、回転によって用紙Ｓを搬送方向へ送り出す部材である。この搬送方向は、キャリッジ３１の移動方向と直交する方向である。搬送モータ４８は、搬送ローラ４７を回転させるための駆動源であり、ＤＣモータによって構成される。従って、印加された電流量に応じて搬送モータ４８の回転速度を制御できる。そして、搬送モータドライバ３６は、ＤＣユニット２５からの指令信号の電流量に応じて搬送モータ４８を駆動する。
【００２４】
ロータリエンコーダ３７は、搬送ローラ４７が所定角度回転する毎に電圧レベルが変化するエンコーダ信号ＥＮＣ_Ｐを出力する。言い換えれば、用紙Ｓが所定距離搬送される毎に電圧レベルが変化するエンコーダ信号ＥＮＣ_Ｐを出力する。図３Ａに一部分を示すように、ロータリエンコーダ３７は、所定間隔で透光部が形成された符号板４９と、エンコーダ信号ＥＮＣ_Ｐを出力するセンサユニット５０とを有する。符号板４９は、円盤状をしており、透光部が所定間隔で形成されている。そして、搬送ローラ４７の回転とともに回転する。この例では、搬送ローラ４７の回転軸に符号板４９が取り付けられている。センサユニット５０は、リニアエンコーダ３４が有するものと同様の構成であり、符号板４９の透光部と他の部分とを検出する毎に、エンコーダ信号ＥＮＣ_Ｐのレベルを変化させる。例えば図３Ｂに示すように、位相が１／４周期分だけ異なる２種類のエンコーダ信号ＥＮＣ_ＰＡ，ＥＮＣ_ＰＢを出力する。これにより、用紙Ｓの搬送量を１／１４４０インチ毎に検出することができる。
【００２５】
ヘッドドライバ３８は、ヘッドＨＤの駆動制御を担当する部分である。例えば、ＡＳＩＣ２２からシリアル伝送されたドット毎の制御データをパラレル変換したり、この制御データに基づいてインクの吐出制御を行ったりする。
【００２６】
＝＝＝ＤＣユニット２５＝＝＝
次にＤＣユニット２５について説明する。このＤＣユニット２５は、キャリッジモータ４４や搬送モータ４８の駆動制御を行うものであり、モータ制御装置における駆動制御部に相当する。このため、ＤＣユニット２５は、コントローラ部２０が有するＣＰＵ２１からの各種信号に基づき、キャリッジモータドライバ３３や搬送モータドライバ３６を制御するための指令信号（制御用信号）を出力する。図４に示すように、ＤＣユニット２５は、ＣＰＵ６１、メモリ６２、及び、ＰＷＭ回路６３を有する。そして、これらの各部によって、図５に示す機能が実現される。便宜上、図５に示す各機能ブロックを、ＤＣユニット２５の構成として説明する。このＤＣユニット２５は、キャリッジモータ４４の制御を担当するキャリッジモータ制御ユニット６４と、搬送モータ４８の制御を担当する搬送モータ制御ユニット６５とを有する。
【００２７】
キャリッジモータ制御ユニット６４は、位置演算部７１、第１減算器７２、目標速度演算部７３、目標速度テーブル７４、速度演算部７５、第２減算器７６、比例要素７７Ｐ、積分要素７７Ｉ、微分要素７７Ｄ、加算器７８、ＰＷＭ回路６３ａ、及び、ウェイト制御部７９によって構成される。同様に、搬送モータ制御ユニット６５は、位置演算部８１、第１減算器８２、目標速度演算部８３、目標速度テーブル８４、速度演算部８５、第２減算器８６、比例要素８７Ｐ、積分要素８７Ｉ、微分要素８７Ｄ、加算器８８、ＰＷＭ回路６３ｂ、及び、ウェイト制御部８９によって構成される。なお、搬送モータ制御ユニット６５が有する各部８１〜８９は、キャリッジモータ制御ユニット６４が有する各部７１〜７９と同様に構成されている。このため、キャリッジモータ制御ユニット６４について構成を説明し、搬送モータ制御ユニット６５については構成の説明を省略する。
【００２８】
位置演算部７１は、リニアエンコーダ３４からのエンコーダ信号ＥＮＣ_Ｃにおける各々の立ち上がりエッジ、立ち下がりエッジを検出する。そして、検出されたエッジをカウントし、このカウント値に基づいてキャリッジ３１の位置を求める。エッジのカウントは、位置演算部７１が有する位置カウンタ７１ａによってなされる。キャリッジモータ４４の正転時において、位置カウンタ７１ａは、１個のエッジが検出されるとカウント値を「＋１」する。また、キャリッジモータ４４の逆転時において、位置カウンタ７１ａは、１個のエッジが検出されるとカウント値を「−１」する。第１減算器７２は、コントローラ部２０のＣＰＵ２１から送られてくる目標位置と、位置演算部７１によって求められたキャリッジ３１の演算位置との位置偏差を演算する。目標速度演算部７３は、キャリッジ３１の目標速度を演算する。この目標速度演算部７３は、キャリッジ３１が定速で移動している際における目標速度を演算する。すなわち、目標速度演算部７３は、第１減算器７２からの位置偏差にゲインＫｐを乗算することで目標速度を求める。なお、このゲインＫｐの大きさは位置偏差に応じて決定される。そして、ゲインＫｐは、ＤＣユニット２５が有するメモリ６２に記憶される。目標速度テーブル７４は、キャリッジ３１の加速時や減速時において参照される目標速度を、位置カウンタ７１ａのカウント値に対応させた状態で記憶する。この目標速度テーブル７４は、例えばメモリ６２が有する一部の領域（不揮発性の領域）を用いて構成される。
【００２９】
速度演算部７５は、リニアエンコーダ３４からのエンコーダ信号ＥＮＣ_Ｃに基づき、キャリッジ３１の移動速度を演算する。例えば、あるエッジが検出されてから他のエッジが検出されるまでの時間をタイマカウンタ等によって計測し、キャリッジ３１の移動距離を計測時間で除算することで移動速度を求める。なお、キャリッジ３１の移動距離は、位置カウンタ７１ａのカウント値等によって認識される。第２減算器７６は、キャリッジ３１の加速時や減速時においては、目標速度テーブル７４から読み出された目標速度と、速度演算部７５によって演算されたキャリッジ３１の移動速度との偏差（速度偏差ともいう。）を求める。また、キャリッジ３１の定速移動時においては、目標速度演算部７３によって演算された目標速度と、速度演算部７５によって演算されたキャリッジ３１の移動速度との偏差を求める。比例要素７７Ｐは、速度偏差に定数（Ｇｐ）を乗算し、乗算結果を出力する。積分要素７７Ｉは、速度偏差に定数（Ｇｉ）を乗じ、乗算結果を積算する。微分要素７７Ｄは、現在の速度偏差と１つ前の速度偏差との差に定数（Ｇｄ）を乗算し、乗算結果を出力する。そして、比例要素７７Ｐ、積分要素７７Ｉ及び微分要素７７Ｄの演算は、リニアエンコーダ３４からのエンコーダ信号ＥＮＣ_Ｃのエッジで定められるタイミングで行われる。すなわち、エンコーダ信号ＥＮＣ_Ｃは、モータの駆動制御の実行タイミングを定めるための第１タイミング信号に相当する。そして、エンコーダ信号ＥＮＣ_Ｃにおけるエッジは、制御の実行タイミングを定めるための信号レベル変化に相当し、エッジ同士の間隔は、制御の実行間隔を定める第１周期に相当する。
【００３０】
比例要素７７Ｐからの出力、積分要素７７Ｉからの出力、及び、微分要素７７Ｄからの出力は、それぞれ加算器７８にて加算される。そして、加算結果はＰＷＭ回路６３ａへ入力される。すなわち、加算結果は、デューティ値を示す信号としてＰＷＭ回路６３ａへ入力される。ＰＷＭ回路６３ａは、加算結果（デューティ値）に応じた指令信号を生成して出力する。生成された指令信号は、キャリッジモータドライバ３３に入力される。キャリッジモータドライバ３３は、指令信号の電流量に応じてキャリッジモータ４４を駆動する。その結果、キャリッジ３１の現在の速度と、目標速度との偏差に応じた制御量でキャリッジモータ４４が駆動される。
【００３１】
ウェイト制御部７９は、キャリッジモータ４４の発熱状態を取得し、取得された発熱状態に基づいてキャリッジモータ４４の休止に関する制御（駆動停止制御）をする。このため、ウェイト制御部７９は、モータ制御装置において、モータの発熱状態を取得する発熱状態取得部に相当し、かつ、モータの発熱度合いに応じて、モータの休止を制御する休止制御部に相当する。ウェイト制御部７９は、バッファ領域７９ａ、発熱量計算部７９ｂ、放熱量計算部７９ｃ、発熱量記憶領域７９ｄ、及び、駆動停止時間取得部７９ｅから構成されている。バッファ領域７９ａは、ＰＷＭ回路６３ａからの出力を一時的に記憶する部分である。このバッファ領域７９ａは、メモリ６２の一部（例えば、揮発性領域）によって構成される。そして、バッファ領域７９ａの記憶内容は、ＰＷＭ回路６３ａからの出力、つまり指令信号の電流値が更新される毎に更新される。言い換えれば、第１周期毎に更新される。
【００３２】
発熱量計算部７９ｂは、バッファ領域７９ａに記憶された指令信号の電流値に基づき、モータの発熱量を計算する。この発熱量計算部７９ｂは、発熱計算用割込信号によって規定されるタイミング、詳しくはエッジのタイミングで発熱量の計算を行う。発熱計算用割込信号は、モータの発熱状態の取得タイミングを定めるための第２タイミング信号に相当し、モータの駆動期間に亘って生成される。従って、この発熱計算用割込信号では、発熱状態の取得タイミングを定めるエッジが発熱状態の取得タイミングを定めるための信号レベル変化に相当する。また、対になるエッジ同士の時間間隔が第２周期に相当する。この発熱計算用割込信号におけるエッジ同士の間隔は、エンコーダ信号ＥＮＣ_Ｃにおけるエッジ同士の時間間隔よりも長く定められている。このプリンタ１０では、キャリッジ３１の移動速度が異なる複数の制御モード（モータの駆動モードに相当する。）が選択できるが、発熱計算用割込信号のエッジ間隔は、最も移動速度の遅い制御モードでのエッジ同士の時間間隔よりも長くなるように定められている。図８の例では、制御モードとして、実線で示す標準速度の制御モードと、一点鎖線で示す高速の制御モードと、点線で示す低速の制御モードとが選択できる。ここで、エンコーダ信号ＥＮＣ_Ｃの周期は、制御モードに応じて変化する（図８では標準速度の制御モードにおけるエンコーダ信号ＥＮＣ_Ｃを示す。）。すなわち、速度の遅い制御モードであるほど、１周期が長くなる。そして、発熱計算用割込信号のエッジ間隔は、低速の制御モードにおけるエッジ同士の時間間隔よりも長くなるように定められる。本実施形態において、高速の制御モードにおけるエンコーダ信号ＥＮＣ_Ｃの１周期は定速期間において１８０μｓ前後であり、低速の制御モードにおけるエンコーダ信号ＥＮＣ_Ｃの１周期は定速期間において３６０μｓ前後である。これに対し、発熱計算用割込信号の１周期（エッジ間隔）は１ｍｓに固定されている。そして、発熱量計算部７９ｂは、バッファ領域７９ａに記憶された指令信号の電流値に基づき、発熱計算用割込信号における周期（第２周期に相当する。）毎に、キャリッジモータ４４の発熱量を計算する。計算された発熱量は、発熱量記憶領域７９ｄに記憶される。
【００３３】
放熱量計算部７９ｃは、発熱量記憶領域７９ｄに記憶された発熱量とタイマー信号に基づく経過時間情報に基づき、キャリッジモータ４４の放熱量を計算する。この放熱量計算部７９ｃは、メモリ６２に記憶された放熱係数に基づき、前回更新時からの放熱量を求める。なお、放熱係数は、exp（−ｔ／Ｔ）の関係式に基づき、実験等によって予め求めておき、メモリ６２に記憶させておく。この関係式において、ｔは時間であり、Ｔは温度である。また、タイマー信号では、放熱量の計算タイミングを示すエッジが６０ｓ間隔で生じる。このタイマー信号は、放熱状態の取得タイミングを定めるための第３タイミング信号に相当する。そして、タイマー信号におけるエッジ同士の間隔（第３周期に相当する。）は、発熱計算用割込信号におけるエッジ同士の間隔（第２周期）よりも十分に長く定められている。これは放熱の特性による。すなわち、放熱量は、キャリッジモータ４４の温度と環境温度との差に応じて定まるが、放熱の度合いは駆動に伴う加熱の度合いよりも緩やかである。このため、更新間隔を６０ｓに設定しても必要な精度が得られる。そして、このタイマー信号は、キャリッジ３１の移動状態に関わらず出力される。言い換えれば、キャリッジモータ４４の駆動状態に関わらず出力される。このため、タイマー信号は、コントローラ部２０のＣＰＵ６１がソフトウェアを実行することによって生成される。
【００３４】
駆動停止時間取得部７９ｅは、キャリッジモータ４４の駆動停止時間、言い換えれば休止時間を取得する。このプリンタ１０において、駆動停止時間は、発熱量を閾値とするテーブル情報の形態でメモリ６２に記憶されている。例えば、３種類の閾値に対応させて３種類の駆動停止時間が定められる。駆動停止時間取得部７９ｅは、発熱量記憶領域７９ｄに記憶された発熱量を各閾値と比較して、対応する駆動停止時間を取得する。このとき、発熱量が多い程、長い駆動停止時間を取得する。取得した駆動停止時間は、キャリッジモータドライバ３３へ入力される。キャリッジモータドライバ３３では、入力された駆動停止時間に基づいて、キャリッジモータ４４の停止を制御する。すなわち、キャリッジ３１の停止時間（ウェイト時間）を制御する。これにより、キャリッジ３１の移動方向が、往路方向と復路方向の一方から他方へと切り替わる際における停止時間がキャリッジモータ４４の発熱状態に応じて定められる。その結果、キャリッジモータ４４の過度な発熱が防止される。
【００３５】
＝＝＝プリンタ１０の動作＝＝＝
次に、このプリンタ１０における動作について説明する。この動作は、コントローラ部２０のメモリ２３やＤＣユニット２５のメモリ６２に記憶されたコンピュータプログラムに基づいてなされる。このため、これらのプログラムは、対応する動作を実現するためのコードを有している。このプリンタ１０では、キャリッジモータ４４や搬送モータ４８の制御に特徴を有する。そして、キャリッジモータ４４の制御と搬送モータ４８の制御とは、対象は異なるが同じ内容である。このため、本明細書では、キャリッジモータ４４の制御について説明をし、搬送モータ４８の制御については説明を省略する。
【００３６】
図６のフローチャートに示すように、コントローラ部２０のＣＰＵ２１からキャリッジモータ４４に対する電源ＯＮの要求があると（Ｓ１０）、ＤＣユニット２５はメモリ６２に記憶される変数を初期化する（Ｓ２０）。そして、発熱量記憶領域７９ｄに記憶されている発熱量を初期値として読み出す（Ｓ３０）。また、ＣＰＵ２１は、タイマー信号におけるエッジの生成タイミングを定めるため、放熱時間のカウントを開始する（Ｓ４０）。
【００３７】
その後、ＣＰＵ２１からＤＣユニット２５に対し、キャリッジモータ４４の駆動要求を示す信号が出力される（Ｓ５０）。この駆動要求に基づき、ＤＣユニット２５はウェイト処理を行う（Ｓ６０）。図７に示すように、ウェイト処理では、駆動要求が受信される（Ｓ６１）。この駆動要求の受信に基づき、駆動停止時間取得部７９ｅが発熱量を取得する（Ｓ６２）。発熱量を取得したならば、駆動停止時間取得部７９ｅはウェイト時間を取得する（Ｓ６３）。すなわち、駆動停止時間取得部７９ｅは、取得した発熱量を閾値と比較することで、対応する駆動停止時間を取得する。駆動停止時間を取得したならば、ウェイト制御を行う（Ｓ６４）。このウェイト制御は、取得された駆動停止時間に基づき、駆動停止時間取得部７９ｅがキャリッジモータドライバ３３を制御することで行われる。例えば、キャリッジモータ４４の発熱量が閾値未満の場合には、駆動停止時間を「なし」と定めて制御を行う。また、発熱量が閾値以上の場合、その発熱量が大きいほど駆動停止時間を長く定めて停止制御を行う。このプリンタ１０では、閾値を段階的に定め、キャリッジモータ４４の発熱量が何れの閾値以上になったかによって、駆動停止時間を決定している。
【００３８】
ウェイト処理が終了すると駆動処理が行われる（Ｓ７０）。この駆動処理では、キャリッジモータ４４の駆動制御が行われる。例えば、図８の左側部分である加速期間では、位置カウンタ７１ａのカウント値に基づき、目標速度テーブル７４の対応する領域から目標速度が読み出される。そして、読み出された目標速度と、エンコーダ信号ＥＮＣ_Ｃに基づく演算速度によってＰＩＤ制御がなされ、キャリッジモータ４４へ印加される電流量が決定される。図８の中央部分である定速期間では、目標位置と演算位置とから求められた目標速度と、エンコーダ信号ＥＮＣ_Ｃに基づく演算速度とによってＰＩＤ制御がなされ、キャリッジモータ４４へ印加される電流量が決定される。図８の右側部分である減速期間では、加速期間と同様に、位置カウンタ７１ａのカウント値に基づき、目標速度テーブル７４の対応する領域から目標速度が読み出される。そして、読み出された目標速度と、エンコーダ信号ＥＮＣ_Ｃに基づく演算速度とによってＰＩＤ制御がなされ、キャリッジモータ４４へ印加される電流量が決定される。前述したように、ここでの駆動処理は、リニアエンコーダ３４からのエンコーダ信号ＥＮＣ_Ｃ（第１タイミング信号）で定められるタイミングで行われる。図９に示すように、このタイミングは、発熱計算用割込信号で定められるタイミングよりも短い周期で生じる。このため、キャリッジモータ４４の制御を適正な間隔で行うことができる。
【００３９】
また、この駆動処理では、発熱計算用割込信号のエッジ毎のタイミング、例えば１ｍｓ間隔で生じる立ち上がりエッジ毎のタイミングで、発熱量計算部７９ｂによって発熱量が計算される（Ｓ８０）。そして、計算された発熱量は、発熱量記憶領域７９ｄに記憶された発熱量に加算される（Ｓ９０）。つまり、発熱状態を示す量が累積される。ここで、キャリッジモータ４４の発熱量は消費電力に比例する。このことから、この発熱量は、電流の２乗と時間の積に比例するといえる。従って、キャリッジモータ４４の発熱量は、指令信号の電流値と、発熱計算用割込信号におけるエッジ同士の間隔とから求めることができる。加えて、このプリンタ１０では、発熱計算用割込信号におけるエッジ同士の間隔が一定である。このため、時間のパラメータを定数に含めることができる。その結果、指令信号の電流値を取得することで、あるエッジから次のエッジまでの期間における発熱量を取得できる。図９の例では、タイミングｔ１やタイミングｔ２における指令信号の電流値を取得することにより、符号Ｔｗで示す１ｍｓの期間毎の発熱量（斜線範囲の発熱量）が計算できる。ここで、期間Ｔｗが１ｍｓに定められているため、時間のパラメータを定数に含める際に、その扱いが容易になる。これにより演算処理の簡素化が図れる。発熱量の計算（Ｓ８０）、及び、計算された発熱量の加算（Ｓ９０）は、キャリッジ３１の移動が停止するまで、言い換えれば、駆動処理の終了まで行われる（Ｓ１００）。
【００４０】
駆動要求からの一連の処理（Ｓ５０〜Ｓ１００）の終了は、いわゆる１パスの印刷の終了を意味する。このプリンタ１０では、ある画像を印刷する際に、１パスの印刷が複数回行われる。このため、最終パスの印刷が終了するまでは、駆動要求からの一連の処理（Ｓ５０〜Ｓ１００）が繰り返し行われる。そして、放熱期間が規定値に達すると、例えばカウント開始から６０ｓ経過すると、コントローラ部２０のＣＰＵ２１からＤＣユニット２５に対し、放熱チェック要求を示す信号が出力される（Ｓ１１０）。この信号に基づき、放熱量計算部７９ｃは、放熱チェック処理を行い（Ｓ１２０）、キャリッジモータ４４の放熱量を計算する。例えば、カウント開始時点での発熱量と経過時間に基づいて放熱量を計算する。そして、計算した放熱量を、発熱量記憶領域７９ｄに記憶されていた発熱量から減算し、新たな放熱量として記憶する（Ｓ１３０）。すなわち、放熱量を加味して発熱量を更新する。なお、この放熱量のチェック処理は、キャリッジ３１の移動とは無関係に生成されるタイマー信号で定まるタイミングで行われる。このため、タイマー信号による放熱チェックのタイミングが、キャリッジモータ４４の駆動中に生じる場合がある。この場合、キャリッジ３１の移動が停止した後に、つまり一連の処理が終了した後に、放熱量を加味した発熱量の更新が行われる。このため、キャリッジ３１の移動速度が途中で変化することを防止でき、画質の劣化を防止できる。
【００４１】
＝＝＝まとめ＝＝＝
以上の説明から判るように、このプリンタ１０では、ＤＣユニット２５は、駆動制御部として機能する場合に、エンコーダ信号ＥＮＣ_Ｃ（第１タイミング信号）に基づき、キャリッジモータ４４の駆動制御を、エンコーダ信号ＥＮＣ_Ｃのエッジ（制御タイミングを定めるための信号レベル変化）のタイミングで、キャリッジモータ４４の駆動制御を行う。また、ＤＣユニット２５は、発熱状態取得部として機能する場合に、発熱計算用割込信号（第２タイミング信号）に基づき、キャリッジモータ４４の駆動中（キャリッジ３１の移動中）に、キャリッジモータ４４の発熱量（発熱状態）を、発熱計算用割込信号のエッジ（発熱状態の取得タイミングを定めるための信号レベル変化）のタイミングで取得する。
【００４２】
ここで、発熱計算用割込信号は、モータ制御用のエンコーダ信号ＥＮＣ_Ｃとは独立して生成されている。そして、発熱計算用割込信号のエッジ同士の間隔（第２周期）は、モータ制御用のエンコーダ信号ＥＮＣ_Ｃのエッジ同士の間隔（第１周期）よりも長い。このため、発熱量の計算間隔は、キャリッジモータ４４の制御間隔よりも長くなる。これは、制御対象の特性による。すなわち、キャリッジモータ４４の駆動制御は、キャリッジ３１の移動速度に影響を及ぼすものであり、細かに制御することで移動中のキャリッジ３１の位置精度が向上し、ひいては画質の向上が図れる。これに対し、発熱量の計算は、キャリッジモータ４４の温度が制御間隔程度の短い時間では大きく変化し難いことから、キャリッジモータ４４の制御間隔よりも粗くても必要な精度が得られる。
【００４３】
以上より、このプリンタ１０では、キャリッジモータ４４に対する駆動制御の実行間隔とキャリッジモータ４４の発熱状態の取得間隔とが最適化できる。また、発熱量は、モータの駆動中に取得されるため、従来よりも測定精度を高めることができる。さらに、制御負担が過度に大きくなってしまうことも防止できる。
【００４４】
また、このプリンタ１０において、キャリッジモータ４４は、ＤＣモータによって構成されている。そして、ＤＣユニット２５は、駆動制御部として機能する場合に、キャリッジモータ４４の駆動量に応じた電流量の指令信号（制御信号）を出力する。また、発熱状態取得部として機能する場合に、指令信号の電流値と、発熱計算用割込信号のエッジ同士の間隔（第２周期）とによって、キャリッジモータ４４の発熱量をエッジのタイミング毎に計算する。さらに、互いに前後するエッジ同士は一定の時間間隔で生成される。このような構成により、制御の簡素化が図れる。すなわち、キャリッジモータ４４の発熱量を、電流値、時間（第２周期）、及び、定数の乗算で求めることができる。さらに、相前後するエッジが一定の時間間隔で生成されるので、エッジ同士の時間を定数に含めることができる。
【００４５】
また、このプリンタ１０において、キャリッジモータ４４の駆動モードは、キャリッジ３１の移動速度が異なる複数のモードから選択できる。この例では、低速モード、標準モード、高速モードの３種類から選択できる。そして、エンコーダ信号ＥＮＣ_Ｃは、選択された駆動モードに応じて、その周期が変化する。これに対し、発熱計算用割込信号の周期は、選択された駆動モードにかかわらず一定である。このため、キャリッジモータ４４の駆動制御に関しては、駆動モードが異なっても同じ定数を用いて行うことができる。従って、キャリッジモータ４４の駆動制御については選択された駆動モードに応じて最適化でき、キャリッジモータ４４の発熱量の取得については時間の因子を固定できるため処理を簡素化できる。
【００４６】
また、ＤＣユニット２５は、放熱状態取得部として機能する場合に、タイマー信号で規定されるタイミング毎にキャリッジモータ４４の放熱量を取得する。タイマー信号で規定される周期（第３周期）は、他の信号で規定される周期（第１周期，第２周期）よりも十分に長い。これは放熱が緩やかに進行することに起因する。このように、適した周期で放熱状態を加味できるので、ＤＣユニット２５における処理負担の増加を抑えることができる。
【００４７】
また、ＤＣユニット２５は、キャリッジモータ４４の休止を制御する休止制御部としても機能する。このとき、ＤＣユニット２５は、発熱量記憶領域７９ｄに記憶された発熱量の情報に基づき、キャリッジモータ４４の発熱度合いを認識する。そして、この発熱度合いに対応した休止時間（駆動停止時間）を選択して、その休止時間を示す信号をキャリッジモータドライバ３３へ出力する。キャリッジモータドライバ３３は、ＤＣユニット２５からの信号に基づき休止時間の経過後にキャリッジモータ４４を駆動する。このように構成することで、駆動停止期間中の放熱により、キャリッジモータ４４の発熱状態を適正範囲にできる。その結果、キャリッジモータ４４に正規の性能を発揮させることができる。
【００４８】
＝＝＝その他の実施形態＝＝＝
前述の実施形態は、主としてプリンタ１０に組み込まれたモータ制御装置について記載されているが、その中には、モータ制御方法や制御用プログラムの開示も含まれている。また、上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることはいうまでもない。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
【００４９】
＜制御対象となるモータ等について＞
前述の実施形態において、プリンタ１０は、キャリッジモータ４４と搬送モータ４８を有していたが、他の種類のモータも制御対象とすることができる。そして、これらのモータは、ＤＣモータによって構成されていたが、他の種類のモータによって構成してもよい。また、発熱量を取得するための信号として、前述の実施形態では、ＰＷＭ回路６３から出力された指令信号を用いていた。しかしながら、モータの発熱量を認識できる信号であれば、指令信号に限定されるものではない。例えば、ＰＷＭ回路６３に入力されるデューティ信号であってもよい。
【００５０】
＜モータ制御装置が組み込まれる対象装置について＞
前述の実施形態では、モータ制御装置が組み込まれる対象装置として、プリンタ１０を例に挙げて説明した。しかしながら、対象装置はプリンタ１０に限定されるものではない。モータを有する他の装置も対象装置となり得る。
【図面の簡単な説明】
【００５１】
【図１】プリンタの構成を説明するブロック図である。
【図２】図２Ａは、リニアエンコーダの構成を説明するための図である。図２Ｂは、リニアエンコーダからのエンコーダ信号を説明するための図である。
【図３】図３Ａは、ロータリエンコーダの構成を説明するための図である。図３Ｂは、ロータリエンコーダからのエンコーダ信号を説明するための図である。
【図４】ＤＣユニットの構成を説明するブロック図である。
【図５】ＤＣユニットの機能を説明するブロック図である。
【図６】プリンタの動作を説明するためのフローチャートである。
【図７】ウェイト処理を説明するためのフローチャートである。
【図８】１パス期間中における指令信号の電流値、キャリッジの移動速度、エンコーダ信号、及び、発熱計算用割込信号を説明する図である。
【図９】発熱量計算等の模式的に説明する図である。
【符号の説明】
【００５２】
１０  プリンタ，２０  コントローラ部，２１  ＣＰＵ，２２  ＡＳＩＣ，
２３  メモリ，２４  タイマーＩＣ，２５  ＤＣユニット，２６  インタフェース，
３０  エンジン部，３１  キャリッジ，３２  キャリッジ移動機構，
３３  キャリッジモータドライバ，３４  リニアエンコーダ，
３５  用紙搬送機構，３６  搬送モータドライバ，３７  ロータリエンコーダ，
３８  ヘッドドライバ，４１  タイミングベルト，４２  駆動プーリー，
４３  アイドラプーリー，４４  キャリッジモータ，４５  符号板，
４６  センサユニット，４７  搬送ローラ，４８  搬送モータ，
４９  符号板，５０  センサユニット，６１  ＣＰＵ，６２  メモリ，
６３  ＰＷＭ回路，６３ａ  キャリッジモータ制御ユニット側のＰＷＭ回路，
６３ｂ  搬送モータ制御ユニット側のＰＷＭ回路，
６４  キャリッジモータ制御ユニット，６５  搬送モータ制御ユニット，
７１  位置演算部，７２  第１減算器，７３  目標速度演算部，
７４  目標速度テーブル，７５  速度演算部，７６  第２減算器，
７７Ｐ  比例要素，７７Ｉ  積分要素，７７Ｄ  微分要素，７８  加算器，
７９  ウェイト制御部，７９ａ  バッファ領域，７９ｂ  発熱量計算部，
７９ｃ  放熱量計算部，７９ｄ  発熱量記憶領域，７９ｅ  駆動停止時間取得部，
８１  位置演算部，８２  第１減算器，８３  目標速度演算部，
８４  目標速度テーブル，８５  速度演算部，８６  第２減算器，
８７Ｐ  比例要素，８７Ｉ  積分要素，８７Ｄ  微分要素，８８  加算器，
８９  ウェイト制御部，ＢＵ  バス，ＨＣ  ホストコンピュータ，ＨＤ  ヘッド，
ＥＮＣ_ＣＡ  第１エンコーダ信号，ＥＮＣ_ＣＢ  第２エンコーダ信号，
ＥＮＣ_ＰＡ  第１エンコーダ信号，ＥＮＣ_ＰＢ  第２エンコーダ信号，
Ｋｐ  ゲイン
【図１】
2008072805.tif 000003
【図２】
2008072805.tif 000004
【図３】
2008072805.tif 000005
【図４】
2008072805.tif 000006
【図５】
2008072805.tif 000007
【図６】
2008072805.tif 000008
【図７】
2008072805.tif 000009
【図８】
2008072805.tif 000010
【図９】
2008072805.tif 000011