(57)【要約】【課題】脱調の危険性を低減しつつ、プリホールドの期間の短縮を図る。【解決手段】  実施形態のモータ制御装置は、モータドライバ及びモータ制御手段を備える。モータドライバは、ステッピングモータへと駆動電流を供給する。モータ制御手段は、開始指示に応じてステッピングモータへの駆動電流の供給を開始するとともに、予め定められた期間において、駆動電流を予め定められた電流値まで徐々に増加させ、さらにその後に駆動力を生じさせるように予め定められたパターンで駆動電流の電流値を変化するようモータドライバを制御する。【選択図】      図４
2019030033.tif 000002
【特許請求の範囲】
【請求項１】
ステッピングモータへと駆動電流を供給するモータドライバと、
開始指示に応じて前記ステッピングモータへの駆動電流の供給を開始するとともに、予め定められた期間において、前記駆動電流を予め定められた電流値まで徐々に増加させ、さらにその後に駆動力を生じさせるように予め定められたパターンで前記駆動電流の電流値を変化するよう前記モータドライバを制御するモータ制御手段と、
を具備したモータ制御装置。
【請求項２】
画像を印刷媒体に印刷する印刷ヘッドと、
ステッピングモータを含み、前記印刷媒体と前記印刷ヘッドとの相対位置を変化させるように前記印刷媒体及び前記印刷ヘッドの少なくとも一方を移動させる移動機構と、
開始指示に応じて前記ステッピングモータへの駆動電流の供給を開始するとともに、予め定められた期間において、前記駆動電流を予め定められた電流値まで徐々に増加させ、さらにその後に駆動力を生じさせるように予め定められたパターンで前記駆動電流の電流値を変化するモータ制御手段と、
前記移動機構による前記印刷媒体と前記印刷ヘッドとの相対位置の変化に同期して印刷を行うように前記印刷ヘッドを制御する印刷制御手段と、
を具備したプリンタ。
【請求項３】
前記モータ制御手段は、一定の時間毎に前記電流値を増加させる、
請求項２に記載のプリンタ。
【請求項４】
前記モータ制御手段は、一定の増分で繰り返し前記電流値を増加させる、
請求項２又は請求項３に記載のプリンタ。
【請求項５】
前記印刷ヘッドは、前記画像をラスタ単位で前記印刷媒体に印刷し、
前記移動機構は、前記印刷媒体と前記印刷ヘッドとのラスタ方向に交差する方向への相対位置を変化させ、
前記モータ制御手段は、前記ステッピングモータの回転速度が、予め定められた目標速度に到達する前に、前記ステッピングモータの駆動間隔を少なくとも１度、その前の駆動間隔よりも長くし、
前記印刷制御手段は、前記移動機構により前記印刷媒体と前記印刷ヘッドとの相対位置が前記ラスタの間隔分だけ変化される毎に１ラスタ分の印刷を行うように前記印刷ヘッドを制御する、
請求項２−請求項４のいずれか一項に記載のプリンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、モータ制御装置及びプリンタに関する。
【背景技術】
【０００２】
画像を構成する複数のラスタの一部を一度に印刷する印刷ヘッドを用い、印刷媒体及び印刷ヘッドの少なくとも一方を移動機構により移動させることによる副走査を行いながら２次元の画像を印刷するプリンタは知られている。そして、移動機構は、駆動源としてステッピングモータを備える。
ステッピングモータは、非通電状態においては、停止位置が不定である。このため、ステッピングモータの起動時には、実際の回転駆動を開始するのに先立つ一定期間において、予め定めた電流値の電流を供給し、通電状態における停止状態を形成することが行われる。この動作は、例えばプリホールドと呼ばれ、上記の電流はプリホールド電流と呼ばれる。
【０００３】
しかしながら、非通電状態から、いきなりプリホールド電流を供給すると、ロータの回転に振動が生じる。そしてこの振動が残った状態で回転駆動を開始すると、脱調する恐れがあった。そこで、脱調を防止するためには、上記の振動が十分に収束するのに十分な時間に渡りプリホールドを続ける必要があった。このプリホールドの期間が長くなるほど、印刷を開始できるまでの待ち時間が長くなってしまう。
このような事情から、脱調の危険性を低減しつつ、プリホールドの期間の短縮を図ることが望まれていた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−１６４７０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、脱調の危険性を低減しつつ、プリホールドの期間の短縮を図ることができるモータ制御装置及びプリンタを提供することである。
【課題を解決するための手段】
【０００６】
実施形態のモータ制御装置は、モータドライバ及びモータ制御手段を備える。モータドライバは、ステッピングモータへと駆動電流を供給する。モータ制御手段は、開始指示に応じてステッピングモータへの駆動電流の供給を開始するとともに、予め定められた期間において、駆動電流を予め定められた電流値まで徐々に増加させ、さらにその後に駆動力を生じさせるように予め定められたパターンで駆動電流の電流値を変化するようモータドライバを制御する。
【図面の簡単な説明】
【０００７】
【図１】一実施形態に係るプリンタの一部の機構の構成と要部回路のブロック構成とを示す図。
【図２】図１中のメモリに記憶された設定テーブルの内容を模式的に示す図。
【図３】図１中のＣＰＵの情報処理のフローチャート。
【図４】図１中のタイマ・カウンタの動作に伴うプリンタの動作のタイミング図。
【図５】最初にコンペアマッチイベントが発生するタイミング以降のタイミング図。
【図６】スローアップ開始以降の図１中のステッピングモータの回転速度の時間変化を示す図。
【発明を実施するための形態】
【０００８】
以下、実施の形態の一例について図面を用いて説明する。
図１は本実施形態に係るプリンタの一部の機構の構成と要部回路のブロック構成とを示す図である。なお、本実施の形態では、サーマルプリンタを例に説明する。
図１に示すようにプリンタ１００は、サーマルヘッド１、ステッピングモータ２、搬送機構３、カッタユニット４、モータドライバ５、駆動制御部６、プリンタ制御部７、メモリ８、バス９及びＤ／Ａ（digital/analog）コンバータ１０を含む。
【０００９】
サーマルヘッド１は、印刷ヘッドの一種であり、複数の発熱素子のそれぞれの発熱により印刷媒体２００を変色させることにより印刷媒体２００に任意の画像を印刷する。サーマルヘッド１は、複数の発熱素子それぞれの発熱温度を個別に、かつ複数段階で変更可能であり、多階調画像を印刷可能である。複数の発熱素子は、図１中の奥行き方向に沿って直線状に一定の間隔で並ぶ。本実施形態では、発熱素子は１列のみであることとするが、複数列であっても良い。なお、印刷媒体２００の材質は、典型的には紙である。しかしながら、紙以外の材質よりなる印刷媒体２００が使用されてもよい。
【００１０】
ステッピングモータ２は、印刷媒体２００を搬送するための駆動力としての回転力を発生する。ステッピングモータ２としては、既存の様々なタイプのデバイスを適宜に用いることができるが、永久磁石型（ＰＭ型）のような分解能が比較的低いタイプを用いることが想定される。
【００１１】
搬送機構３は、ギア３１，３２，３３，３４、プラテンローラ３５及びガイドローラ３６をさらに含む。ギア３１は、ステッピングモータ２の回転軸（以下、第１の回転軸と称する。）に固定され、ステッピングモータ２の回転力により回転する。ギア３２は、第１の回転軸にほぼ平行する別の回転軸（以下、第２の回転軸と称する。）に固定され、ギア３１に噛み合う。ギア３３は、ギア３２と第２の回転軸に固定される。ギア３４は、第２の回転軸にほぼ平行する別の回転軸（以下、第３の回転軸と称する。）に固定され、ギア３３に噛み合う。プラテンローラ３５は、図１中の奥行き方向に沿った軸心を持ち、この軸心を第３の回転軸の軸心にほぼ一致させる状態で第３の回転軸に固定される。プラテンローラ３５の軸心方向に沿った幅は、印刷媒体２００の最大幅よりも大きい。ガイドローラ３６は、プラテンローラ３５にほぼ並行する姿勢で回転自在に軸支される。この搬送機構３は、印刷媒体２００を移動させることによって、印刷媒体２００とサーマルヘッド１とのラスタ方向に交差する方向への相対位置を変化させているのであり、移動機構の一例である。搬送機構３に代えて、サーマルヘッド１を移動させる移動機構を設けて、固定された印刷媒体２００に対してサーマルヘッド１の位置を変化させることによって副走査を行ってもよい。あるいは、搬送機構３に加えて、サーマルヘッド１を移動させる移動機構を設けて、印刷媒体２００の搬送とサーマルヘッド１の移動との双方により副走査を行ってもよい。この場合は、搬送機構３とサーマルヘッド１を移動させる移動機構との組み合わせにより、印刷媒体２００とサーマルヘッド１とのラスタ方向に交差する方向への相対位置を変化させる移動機構が構成される。
【００１２】
カッタユニット４は、可動片４ａを備え、この可動片４ａを図示しないソレノイドにより移動させることによって印刷媒体２００を切断する。カッタユニット４としては、ロータリカッタを用いたもの等の別のタイプのユニットが用いられてもよい。またカッタユニット４は、設けられなくてもよい。
【００１３】
モータドライバ５は、外部から与えられる駆動パルスに同期して、マイクロステップ駆動方式によりステッピングモータ２を駆動する。なお本実施形態においては、２Ｗ１−２相励磁を適用することとする。
【００１４】
駆動制御部６は、サーマルヘッド１及びモータドライバ５を同期的に動作させて、サーマルヘッド１による主走査と、印刷媒体２００の搬送による副走査とによる２次元画像の印刷を実現する。駆動制御部６は、例えばＦＰＧＡ（field-programmable gate array）又はＡＳＩＣ（application specific integrated circuit）を用いて構成され、カウンタ／レジスタ６１、駆動パルス生成部６２、ＤＭＡ（direct memory access）リクエスタ６３、割込み制御部６４、ヘッドコントローラ６５及びインタフェース６６としての機能を備える。
【００１５】
カウンタ／レジスタ６１は、所定のクロックをカウントすることにより経過時間を計測するカウンタ機能と、このカウンタ機能によるカウント値と比較するための比較値を記憶するレジスタ機能とを持つ。なお、レジスタ機能は、いわゆるコンペアマッチレジスタとしての機能である。カウンタ／レジスタ６１は、カウント値及び比較値を駆動パルス生成部６２へと出力する。
駆動パルス生成部６２は、カウンタ／レジスタ６１から出力されたカウント値及び比較値が互いに一致したときに、駆動パルスを出力する。この駆動パルスは、モータドライバ５へと与えられるほか、ＤＭＡリクエスタ６３及び割込み制御部６４へと与えられる。
【００１６】
ＤＭＡリクエスタ６３は、駆動パルスが入力されたときに、プリンタ制御部７へとＤＭＡリクエストを出力する。なおＤＭＡリクエスタ６３は、ディセーブル状態にあっては、ＤＭＡリクエストを出力しない。
割込み制御部６４は、駆動パルスが予め定められた数だけ入力される毎に、ラスタパルスを出力する。ラスタパルスは、ヘッドコントローラ６５に与えられるほか、割込み信号としてプリンタ制御部７に与えられる。
【００１７】
ヘッドコントローラ６５は、プリントデータに含まれるラスタデータに応じてサーマルヘッド１を駆動する。ラスタデータは、画像の１ラスタ分を表したデータである。
インタフェース６６は、プリンタ制御部７とのバス９を介した通信のための周知の処理を行う。
【００１８】
プリンタ制御部７は、割込みコントローラ７１、ＣＰＵ（central processing unit）７２、ＤＭＡコントローラ７３、インタフェース７４、タイマ・カウンタ７５及びＳＰＩ（serial/parallel interface）コントローラ７６を含む。
【００１９】
割込みコントローラ７１は、割込み制御部６４から出力されたラスタパルスを割込み信号の１つとして入力する。割込みコントローラ７１は、タイマ・カウンタ７５から後述のように出力される増加パルスを割込み信号の１つとして入力する。割込みコントローラ７１には、プリンタ１００内の図示しない他部から出力される割込み信号も入力される。割込みコントローラ７１は、割込み信号が入力されると、ＣＰＵ７２に割込みを通知する。割込みコントローラ７１は、複数の割込み信号が競合した場合には、それらの割込みを、予め定められた優先順位に従って順次にＣＰＵ７２に通知する。
ＣＰＵ７２は、メモリ８に記憶されたプログラムに基づいて、プリンタ１００を総括的に制御するための情報処理を行う。
【００２０】
ＤＭＡコントローラ７３は、ＤＭＡリクエスタ６３からのＤＭＡリクエストに応じて、メモリ８に記憶されている設定テーブルに示されている比較値を、バス９及びインタフェース６６を介してカウンタ／レジスタ６１のレジスタ機能にセットする。
インタフェース７４は、駆動制御部６とのバス９を介した通信のための周知の処理を行う。
【００２１】
タイマ・カウンタ７５は、プリホールド期間において、予め定められた時間間隔で、割込みコントローラ７１に対して増加パルスを出力する。
ＳＰＩコントローラ７６は、タイマ・カウンタ７５が出力する増加パルスに応じての割込みコントローラ７１による割込み制御の下でＣＰＵ７２がパラレル出力する設定電流値をシリアル通信によりＤ／Ａコンバータ１０へと送出する。
【００２２】
メモリ８は、前述のプログラムを記憶する。またメモリ８は、プリンタ１００の動作に関わる各種のデータを記憶する。当該データには、初期比較値及び上記の設定テーブルを含む。初期比較値は、ステッピングモータ２のプリホールド期間の時間に応じて定められた値である。具体的には、プリホールド期間の時間をＴpと表し、カウンタ／レジスタ６１のカウンタ機能によりカウントするクロックパルスの時間間隔をＴclkと表すならば、［Ｔp／Ｔclk］として求まる値である。
バス９は、例えば周知の１６ビットバスであり、駆動制御部６とプリンタ制御部７との間で授受される各種のデータを伝送する。
Ｄ／Ａコンバータ１０は、ＳＰＩコントローラ７６から送出された設定電流値に応じた電圧値を基準電圧としてモータドライバ５へと出力する。
【００２３】
図２はメモリ８に記憶された設定テーブルの内容を模式的に示す図である。
設定テーブルは、連続する番号のそれぞれに関連付けて１つずつの比較値Ｃ１，Ｃ２，Ｃ３，…を示している。
【００２４】
比較値Ｃ１３は、ステッピングモータ２を予め定めた目標速度で回転させるためにモータドライバ５へと連続的に供給する駆動パルスの時間間隔Ｔ１３に応じて定められた値である。具体的に比較値Ｃ１３は、［Ｔ１３／Ｔclk］として求まる値である。
【００２５】
ステッピングモータ２を静止状態から目標速度まで加速する、いわゆるスローアップにおいては、連続する２つの駆動パルスの時間間隔をＴ１３よりも十分に長いＴ１から漸減させることが一般的に行われている。このときの各時間間隔をＴ１，Ｔ２，…，Ｔ１２と表すこととする。つまり時間間隔Ｔ１，Ｔ２，…，Ｔ１２は、Ｔ１が最大であり、Ｔ１，Ｔ２，…，Ｔ１２の順で漸減して、Ｔ１２が最小となる。
【００２６】
比較値Ｃ１〜Ｃ１２は、その多くは時間間隔Ｔ１〜Ｔ１２を、時間間隔Ｔclkで除して求まる値である。しかし、比較値Ｃ１〜Ｃ１２のうちの少なくとも１つは、対応する時間間隔に予め定められた時間ΔＴを付加した時間を時間間隔Ｔclkで除した値とする。本実施形態では、比較値Ｃ６，Ｃ１０を、［（Ｔ６＋ΔＴ）／Ｔclk］及び［（Ｔ１０＋ΔＴ）／Ｔclk］でそれぞれ求まる値とする。そして比較値Ｃ１〜Ｃ５，Ｃ７〜Ｃ９，Ｃ１１，Ｃ１２は、Ｔ１〜Ｔ５，Ｔ７〜Ｔ９，Ｔ１１，Ｔ１２をそれぞれ時間間隔Ｔclkで除して求まる値とする。なお、比較値Ｃ６に関するΔＴの値と、比較値Ｃ１０に関するΔＴの値とは、同一値であってもよいし、別々の値であってもよい。ただしΔＴは、比較値Ｃ６が比較値Ｃ５よりも大きくなり、また比較値Ｃ１０が比較値Ｃ９よりも大きくなるように定められる。
【００２７】
本実施形態においては、１２回の駆動パルス供給によりステッピングモータ２をスローアップする例としている。しかしながらこれは、説明及び図示の簡略化を考慮したものである。一般的には、スローアップは、もっと多くの駆動パルスの供給により実現される。ただし、より少ない駆動パルスの供給によりスローアップが終了してもよい。
設定テーブルには、比較値Ｃ１〜Ｃ１３の他に、ステッピングモータ２のスローダウンのための比較値が含まれるが、これの図示は省略している。設定テーブルに示される比較値のそれぞれは、例えばプリンタ１００の設計者などによって定められる。
【００２８】
次に以上のように構成されたプリンタ１００の動作について説明する。なお、このプリンタ１００において特徴的なのはステッピングモータ２のスローアップに際しての動作であるので、以下においてはその点を中心に説明する。そして、同種の既存のプリンタにおいて行われるのと同様な動作についての説明は省略する。
【００２９】
図３はメモリ８に記憶されたプログラムに基づくＣＰＵ７２の情報処理のフローチャートである。
印刷の開始が必要となる予め定められたイベントが発生すると、ＣＰＵ７２は図３に示す情報処理を開始する。
【００３０】
Ａｃｔ１としてＣＰＵ７２は、タイマ・カウンタ７５を起動する。
図４はタイマ・カウンタ７５の動作に伴うプリンタ１００の動作のタイミング図である。
タイマ・カウンタ７５は起動されると、まず増加パルスを出力する（Ｔ１時点）。タイマ・カウンタ７５はこの増加パルスを始めとして、予め定められた数の増加パルスを一定の時間間隔で繰り返し出力する。タイマ・カウンタ７５が出力する増加パルスの数は、プリホールド期間の長さとして予め定められた時間を上記の時間間隔で除して求まる数である。図４は、プリホールド期間の長さが20ｍｓに、また増加パルスの時間間隔が1ｍｓにそれぞれ定められた場合の例を示している。このため、タイマ・カウンタ７５は、増加パルスを20回出力する。
【００３１】
Ａｃｔ２としてＣＰＵ７２は、増加割込みが発生したか否かを確認する。そしてＣＰＵ７２は、増加パルスが出力されたことに応じての割込みコントローラ７１からの割込み通知がなされていないならばＮｏと判定し、Ａｃｔ３へと進む。
Ａｃｔ３としてＣＰＵ７２は、プリホールド期間が終了したか否かを確認する。そしてＣＰＵ７２は、Ａｃｔ１にてタイマ・カウンタ７５を起動してから20ｍｓが経過していなければＮｏと判定し、Ａｃｔ２へと戻る。
かくしてＣＰＵ７２は、Ａｃｔ２及びＡｃｔ３として、増加割込みが生じるか、あるいはプリホールド期間が終了するのを待ち受ける。
【００３２】
上述のようにタイマ・カウンタ７５が増加パルスを出力すると、このことが割込みコントローラ７１によりＣＰＵ７２に通知される。そうするとＣＰＵ７２はＡｃｔ２にてＹｅｓと判定し、Ａｃｔ４へと進む。
Ａｃｔ４としてＣＰＵ７２は、設定電流値を、その現在の値に、予め定められた増加値ΔＩを加算した値に更新する。なお、設定電流値は、図３に示す情報処理の開始時において、ＣＰＵ７２によりクリアされる。増加値ΔＩは、プリホールド期間におけるステッピングモータ２への最大供給電流値をタイマ・カウンタ７５が増加パルスを出力する数で除して求まる値として定められる。例えば最大供給電流値が0.5Ａであり、増加パルスの出力数が20であれば、増加値ΔＩは0.025ｍＡに定められる。
【００３３】
Ａｃｔ５としてＣＰＵ７２は、上記の更新後の設定電流値に応じたパラレルデータをＳＰＩコントローラ７６へと出力する。ＣＰＵ７２はこののち、Ａｃｔ２及びＡｃｔ３の待受状態に戻る。ＳＰＩコントローラ７６は、設定電流値をシリアルデータに変換した上でＤ／Ａコンバータ１０へと出力する。Ｄ／Ａコンバータ１０は、上記のように与えられた設定電流値に応じた大きさの電圧を基準電圧としてモータドライバ５へと与える。モータドライバ５は、ステッピングモータ２の駆動電圧を基準電圧に近付けるように調整することにより、設定電流値の駆動電流をステッピングモータ２に供給する。
【００３４】
かくして、ステッピングモータ２の駆動電流が、図６にも示すように一定の時間間隔で一定の増分ΔＩずつ増加される。そしてタイマ・カウンタ７５が、予め定められた数の増加パルスを出力し終えると、ステッピングモータ２の駆動電流はプリホールド期間におけるステッピングモータ２への最大供給電流値となる。そしてこの状態において、プリホールド期間が終了することになる。
ＣＰＵ７２は、プリホールド期間が終了したならばＡｃｔ３にてＹｅｓと判定し、Ａｃｔ６へと進む。
【００３５】
Ａｃｔ６としてＣＰＵ７２は、初期比較値を、メモリ８からカウンタ／レジスタ６１のレジスタ機能にセットする。
Ａｃｔ７としてＣＰＵ７２は、変数Ｎの値を１つ増加させる。変数Ｎは、次に記録するラスタの番号を管理するためのものである。なお、ＣＰＵ７２は、図３に示す情報処理を開始すると、変数Ｎを０に初期化しておく。
【００３６】
Ａｃｔ８としてＣＰＵ７２は、印刷すべき画像のＮ番目のラスタデータを、次のストローブ期間における印刷対象としてサーマルヘッド１にセットする。
Ａｃｔ９としてＣＰＵ７２は、割込みコントローラ７１から、当該情報処理に対する割込みがなされるのを待ち受ける。
【００３７】
さて、カウンタ／レジスタ６１のカウンタ機能は、レジスタ機能に比較値がセットされた時点からのクロック数をカウントする。駆動パルス生成部６２は、カウンタ／レジスタ６１が出力する比較値及びカウント値が互いに一致したならば、駆動パルスを１回出力する。なお、以下においては、比較値とカウント値とが一致することを、「コンペアマッチイベントの発生」と称する。
【００３８】
図５は最初にコンペアマッチイベントが発生するタイミング以降のタイミング図である。
プリホールドの期間が終了したことに応じて最初のコンペアマッチングイベントが発生し、駆動パルスＤＰ１が出力されている。この駆動パルスＤＰ１に同期してモータドライバ５は、ステッピングモータ２を２Ｗ１−２相励磁による１ステップ分だけ駆動する。
【００３９】
駆動パルスＤＰ１に同期して割込み制御部６４は、ラスタパルスＲＰ１を出力する。ヘッドコントローラ６５は、ラスタパルスＲＰ１に同期して始まり、予め定められた条件に従って周知のように決まる長さのストローブ期間ＰＳ１において、上記のようにセットされたラスタデータによりサーマルヘッド１を駆動する。これにより、記録すべき画像の１ラスタ分が印刷媒体２００に印刷される。
【００４０】
駆動パルスＤＰ１に同期してＤＭＡリクエスタ６３は、ＤＭＡリクエストＲＱ１を出力する。ＤＭＡコントローラ７３は、ＤＭＡリクエストＲＱ１を受けると、設定テーブルの１番目の比較値Ｃ１を、メモリ８からカウンタ／レジスタ６１のレジスタ機能にセットする。
【００４１】
割込みコントローラ７１は、ラスタパルスＲＰ１を割込み信号として受けると、これよりも優先順位の高い割込みが生じていなければ、ＣＰＵ７２に割込みを通知する。そしてこの通知を受けるとＣＰＵ７２は、図３中のＡｃｔ９にてＹｅｓと判定し、Ａｃｔ１０へと進む。
【００４２】
Ａｃｔ１０としてＣＰＵ７２は、変数Ｎが、記録すべき画像に含まれるラスタ数以上であるか否かを確認する。そしてＣＰＵ７２は、変数Ｎがラスタ数に至っていないならばＮｏと判定し、Ａｃｔ７へと戻る。
【００４３】
駆動パルスＤＰ１が出力されてから時間Ｔ１が経過すると、駆動パルス生成部６２では新たなコンペアマッチイベントが発生する。そして駆動パルス生成部６２は、図５に示すように、次の駆動パルスＤＰ２を出力する。
【００４４】
ＤＭＡリクエスタ６３は、駆動パルスが得られる毎にＤＭＡリクエストを出力する。従ってＤＭＡリクエスタ６３は、駆動パルスＤＰ２に同期してＤＭＡリクエストＲＱ２を出力する。ＤＭＡコントローラ７３は、ＤＭＡリクエストＲＱ２を受けると、設定テーブルの２番目の比較値Ｃ２を、メモリ８からカウンタ／レジスタ６１のレジスタ機能にセットする。
【００４５】
以後同様に、新たなコンペアマッチイベントが発生する毎に、駆動パルスとＤＭＡリクエストとが出力される。そしてＤＭＡリクエストが出力される毎に、ＤＭＡコントローラ７３の制御の下にメモリ８からカウンタ／レジスタ６１のレジスタ機能に、設定テーブルの比較値が番号順に順次にセットされる。これにより、駆動パルスの間隔は順次に短くされて、ステッピングモータ２がスローアップされる。
【００４６】
割込み制御部６４は、ラスタパルスを一度出力すると、その後の駆動パルス数をカウントする。そして、カウント値が４になるまでは、駆動パルスに同期してラスタパルスを出力しない。つまり割込み制御部６４は、２番目〜４番目の駆動パルスＤＰ２〜ＤＰ４が出力されるとき、上記のカウント値は１〜３であるためにラスタパルスを出力しない。そして割込み制御部６４は、５番目の駆動パルスＤＰ５を受けると、上記のカウント値が４となるためにラスタパルスＲＰ２を出力する。
【００４７】
カウンタ／レジスタ６１のレジスタ機能には、６番目の駆動パルスＤＰ６に応じて比較値Ｃ６がセットされる。前述のように、比較値Ｃ６は、［（Ｔ６＋ΔＴ）／Ｔclk］でそれぞれ求まる値とされている。このため駆動パルス生成部６２は、７番目の駆動パルスＤＰ７のタイミングを、スローアップのための本来のタイミングＴＡからΔＴだけ遅らせる。これにより、駆動パルスＤＰ６から駆動パルスＤＰ７までの間隔が、駆動パルスＤＰ５から駆動パルスＤＰ６までの間隔よりも長くなる。この結果、駆動パルスＤＰ７は、いわゆるダンピングパルスとして機能し、ステッピングモータ２の回転の加速が一時的に抑圧される。
【００４８】
こののち、カウンタ／レジスタ６１のレジスタ機能にセットされる比較値は、Ｃ７，Ｃ８，Ｃ９と徐々に減らされて、駆動パルスＤＰ７と駆動パルスＤＰ８，駆動パルスＤＰ８と駆動パルスＤＰ９，駆動パルスＤＰ９と駆動パルスＤＰ１０のそれぞれの間隔は、徐々に短縮される。これにより、ステッピングモータ２のスローアップが進められる。
【００４９】
このようにＣＰＵ７２は、印刷の開始指示に応じてステッピングモータ２への駆動電流の供給を開始するとともに、予め定められたプリホールド期間において、駆動電流を予め定められた最大供給電流値まで徐々に増加させるようにモータドライバ５を制御する。さらにＣＰＵ７２は、その後にスローアップにより駆動力を生じさせるように予め定められたパターンで駆動電流の電流値を変化するようモータドライバ５を制御する。かくしてＣＰＵ７２は、モータ制御手段として機能する。そしてプリンタ１００は、モータドライバ５とモータ制御手段としての機能とを備えているのであり、それらを備えたモータ制御装置としての機能を備えている。
【００５０】
割込み制御部６４は、９番目の駆動パルスＤＰ９を受けると、上記のカウント値が４となるためにラスタパルスＲＰ３を出力する。このようにして、スローアップ中にあっても、ステッピングモータ２が２Ｗ１−２相励磁による４ステップ分駆動されるごとに、１ラスタ分の印刷が行われてゆく。なお、本実施形態において、ステッピングモータ２のステップ角度だけの回転による印刷媒体２００の搬送量が、印刷すべき画像におけるラスタ間隔と一致する場合である。かくして割込み制御部６４は、印刷媒体２００の位置の変化に同期して印刷を行うようにサーマルヘッド１を制御しているのであり、印刷制御手段としての機能を備える。
【００５１】
次にカウンタ／レジスタ６１のレジスタ機能には、比較値Ｃ１０がセットされる。前述のように、比較値Ｃ１０は、［（Ｔ１０＋ΔＴ）／Ｔclk］でそれぞれ求まる値とされている。このため１１番目の駆動パルスＤＰ１１のタイミングは、駆動パルスＤＰ７の場合と同様に、スローアップのための本来のタイミングＴＢからΔＴだけ遅れる。これにより、駆動パルスＤＰ１０から駆動パルスＤＰ１１までの間隔が、駆動パルスＤＰ９から駆動パルスＤＰ１０までの間隔よりも長くなる。この結果、駆動パルスＤＰ１１は、ダンピングパルスとして機能し、ステッピングモータ２の回転の加速が一時的に抑圧される。
【００５２】
このようにして、ステッピングモータ２の回転速度が目標速度に到達する前に、ステッピングモータ２の駆動間隔を少なくとも１度、その前の間隔よりも長くするように搬送機構が制御される。
【００５３】
こののち、カウンタ／レジスタ６１のレジスタ機能にセットされる比較値は、Ｃ１１，Ｃ１２と徐々に減らされて、駆動パルスＤＰ１１と駆動パルスＤＰ１２，駆動パルスＤＰ１２と駆動パルスＤＰ１３のそれぞれの間隔は、徐々に短縮される。これにより、ステッピングモータ２のスローアップが進められる。
【００５４】
カウンタ／レジスタ６１のレジスタ機能に、ステッピングモータ２を目標速度で回転させるための比較値Ｃ１３がセットされると、ＤＭＡリクエスタ６３はディセーブルとなる。これにより、以後において駆動パルスが駆動パルス生成部６２から出力されても、ＤＭＡリクエスタ６３はＤＭＡリクエストを出力しない。これにより、カウンタ／レジスタ６１のレジスタ機能は比較値Ｃ１３がセットされた状態で固定され、コンペアマッチイベントは時間Ｔ１３の間隔で周期的に発生するようになる。つまり、駆動パルス生成部６２が、一定の時間間隔で周期的に駆動パルスを出力するようになる。この結果、ステッピングモータ２は、２Ｗ１−２相励磁による１ステップ分の駆動を一定の時間間隔で受け、やがて一定速度で回転するようになる。このような状態でも、割込み制御部６４は、駆動パルスが４回出力される毎に、ラスタパルスを出力する。これにより、ステッピングモータ２が２Ｗ１−２相励磁による４ステップ分駆動されるごとに、１ラスタ分の印刷が行われる状態が維持される。
【００５５】
印刷すべき画像の全てのラスタの印刷が終了したとき、変数Ｎは当該画像のラスタ数に到達している。そこでＣＰＵ７２はこのとき、Ａｃｔ１０にてＹｅｓと判定し、Ａ６へと進む。
Ａｃｔ１１としてＣＰＵ７２は、ＤＭＡリクエスタ６３をイネーブルとする。そしてＣＰＵ７２は、図３に示す情報処理を終了する。
【００５６】
ＤＭＡリクエスタ６３がイネーブルになると、ＤＭＡリクエスタ６３及びＤＭＡコントローラ７３により、ステッピングモータ２のスローダウンのための比較値がメモリ８からカウンタ／レジスタ６１のレジスタ機能に順次にセットされるようになる。そしてこれにより、周知のようにスローダウンするように駆動パルス生成部６２及びモータドライバ５によりステッピングモータ２が駆動される。そして、スローダウンのための比較値の全てをセットし終えて、スローダウンが終了したならば、ステッピングモータ２の回転は停止する。
【００５７】
以上のようにプリンタ１００は、プリホールド期間において、ステッピングモータ２の駆動電流を予め定められた最大供給電流値まで徐々に増加させ、さらにその後にスローアップに移行する。これにより、プリホールドにより生じるステッピングモータ２の振動を小さく抑えることができ、プリホールド期間における振動収束のための期間を最小限に抑えることができる。これにより、起動後、短期間のうちにスローアップに移行することが可能である。そして、このようにプリホールド期間を短くしても、ステッピングモータ２の振動が少ない状態でスローアップを開始できることから、スローアップを所期の状態で進めることができ、脱調が生じる可能性を低減できる。
【００５８】
図６はスローアップ開始以降のステッピングモータ２の回転速度の時間変化を示す図である。
図６に示すように、ダンピングパルスを挿入しない場合に比べて、ダンピングパルスによるブレーキ作用により、ステッピングモータ２の回転速度の上昇が緩やかになるため、オーバーシュートが小さくなる。この結果、ステッピングモータ２の回転速度が一定速度に安定するまでの速度変動が小さくなり、この期間において印刷されるラスタの間隔の変動が小さくなる。すなわちプリンタ１００によれば、ラスタの間隔がばらつくことに因る画質の低下が抑えられる。なお、プリンタ１００では、ステッピングモータ２をスローアップする期間が、ダンピングパルスを挿入しない場合に比べて長くなる。しかしながらこの期間におけるラスタの印刷は、ステッピングモータ２が４ステップ分回転する毎に、すなわち印刷媒体２００が一定量搬送される毎に行われるので、ラスタの間隔は、ダンピングパルスの挿入により変動することはない。かくしてプリンタ１００によれば、副走査を開始してから副走査の速度が安定するまでの期間においても画質の低下なく画像を印刷できる。
しかも、前述したように、プリホールドによる振動が非常に少ない状態でスローアップを開始することにより、当該振動の影響がダンピングパルスの挿入による効果に及ぶことがなく、ダンピングパルスの挿入の効果を安定的に達成することができる。
【００５９】
なお、ラスタの間隔がばらつくことに因る画質の低下は、２値画像に比べて、多階調画像において顕著となる傾向がある。サーマルヘッド１は、多階調での画像印刷を可能とするものであるから、多階調画像を印刷する場合において、画質低下を抑える効果がより大きい。
【００６０】
スローアップ中に少なくとも１つのダンピングパルスを挿入すれば、オーバーシュートを抑圧することができ、上記のように画質の低下が抑えられる。しかしながら、ダンピングパルスを挿入する回数と、その挿入タイミングとによって、オーバーシュートを抑圧できる効果の大きさは変化し得る。何回のダンピングパルスをどのタイミングで挿入することにより、オーバーシュートを抑圧できる効果が最大となるかは、ステッピングモータ２の特性などに応じて変化する。そこで、シミュレーション又は実験などによって、オーバーシュートを抑圧できる効果がより大きくなるような挿入回数及び挿入タイミングを見つけ、それに従ってダンピングパルスを挿入するように設定テーブルを定めることが望ましい。
【００６１】
この実施形態は、次のような種々の変形実施が可能である。
プリホールド期間における駆動電流の変化パターンは、その電流値が徐々に増加するのであれば、どのようなパターンであってもよい。また、駆動電流が最大供給電流値に到達したのち、暫くの間をおいてからスローアップに移行してもよい。
【００６２】
スローアップは、ダンピングパルスを挿入せずに行ってもよい。
【００６３】
設定テーブルは、ΔＴを加味することなく定めた比較値を表すものとしてもよい。この場合、ダンピングパルスを挿入すべきタイミングにおいて、設定テーブルから読み出した比較値にΔＴに相当する補正値を加算した比較値を、カウンタ／レジスタ６１のレジスタ機能にセットする。
【００６４】
モータドライバ５は、例えば４Ｗ１−２相励磁などの別の励磁方式によりステッピングモータ２を駆動してもよい。なお、モータドライバ５を、４Ｗ１−２相励磁を行うように変更するならば、割込み制御部６４は、駆動パルスが８回入力される毎にラスタパルスを出力する。
【００６５】
上記の実施形態は、ステッピングモータ２のステップ角度だけの回転による印刷媒体２００の搬送量が、印刷すべき画像におけるラスタ間隔と一致する場合の例である。ステッピングモータ２のステップ角度だけの回転による印刷媒体２００の搬送量と、印刷すべき画像におけるラスタ間隔との関係により、割込み制御部６４がラスタパルスを出力するタイミングは、周知のように変更される。
【００６６】
熱転写プリンタ又はＬＥＤ（light emitting diode）プリンタなどのような、他のタイプのプリンタにおいても、上記の実施形態と同様に実施が可能である。
【００６７】
制御処理によりＣＰＵ７２が実現する各機能は、その一部または全てをロジック回路などのようなプログラムに基づかない情報処理を実行するハードウェアにより実現することも可能である。また上記の各機能のそれぞれは、上記のロジック回路などのハードウェアにソフトウェア制御を組み合わせて実現することも可能である。
【００６８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６９】
１…サーマルヘッド、２…ステッピングモータ、３…搬送機構、４…カッタユニット、５…モータドライバ、６…駆動制御部、７…プリンタ制御部、８…メモリ、９…バス、Ｄ／Ａコンバータ１０、６１…カウンタ／レジスタ、６２…駆動パルス生成部、６３…ＤＭＡリクエスタ、６４…割込み制御部、６５…ヘッドコントローラ、６６…インタフェース、７１…割込みコントローラ、７２…ＣＰＵ、７３…ＤＭＡコントローラ、７４…インタフェース、７５…タイマ・カウンタ、７６…ＳＰＩコントローラ、１００…プリンタ、２００…印刷媒体。
【図１】
2019030033.tif 000003
【図２】
2019030033.tif 000004
【図３】
2019030033.tif 000005
【図４】
2019030033.tif 000006
【図５】
2019030033.tif 000007
【図６】
2019030033.tif 000008