(57)【要約】【課題】予め設定された印字時間と実際の印字時間との差異を低減することができる印刷装置を提供する。【解決手段】プラテンローラを駆動するモータと、前記モータの駆動を制御する制御手段と、を備え、前記制御手段は、設定された印字速度に対する印字時間の遅延を計数し、該遅延を解消するように前記設定された印字速度を超えて加速する加速制御をおこなう印刷装置。【選択図】図３
2019119114.tif 000002
【特許請求の範囲】
【請求項１】
プラテンローラを駆動するモータと、
前記モータの駆動を制御する制御手段と、
を備え、
前記制御手段は、設定された印字速度に対する印字時間の遅延を計数し、該遅延を解消するように前記設定された印字速度を超えて加速する加速制御をおこなう
ことを特徴とする印刷装置。
【請求項２】
前記制御手段は、前記加速制御をおこなった後に、前記設定された印字速度に減速する減速制御をおこなうことを特徴とする請求項１記載の印刷装置。
【請求項３】
前記制御手段は、前記モータの整定時間による遅延を含むように前記印字時間の遅延を計数することを特徴とする請求項１又は２記載の印刷装置。
【請求項４】
前記制御手段は、印字終了直前の減速による遅延を含めて前記加速制御をおこなうことを特徴とする請求項１から３のいずれか一項記載の印刷装置。
【請求項５】
前記制御手段は、前記設定された印字速度に対応する前記モータの駆動周波数を目標周波数とし、該駆動周波数を超える駆動周波数で前記モータを駆動して前記加速制御をおこなうことを特徴とする請求項１から４のいずれか一項記載の印刷装置。
【請求項６】
前記制御手段は、印字長に基づいて前記目標周波数を補正して前記モータを定速で駆動することを特徴とする請求項５に記載の印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置に関する。
【背景技術】
【０００２】
従来より、ステッピングモータを用紙搬送に使用するサーマルプリンタが知られている（例えば、特許文献１参照）。
【０００３】
ステッピングモータを使用するサーマルプリンタで印字する場合には、図１に示すように、搬送開始時に、ステッピングモータの回転速度を起動速度から設定速度まで加速し、ステッピングモータの停止前にステッピングモータの回転速度を起動速度に減速させる台形制御が用いられる。なお、図１の加減速線で囲まれた網掛部の面積は印字長／記録紙の搬送距離に相当する。
【０００４】
また、設定速度が上がると加減速時間も増加するため、図２に示すように、ステッピングモータの停止時に、ステッピングモータを起動速度まで徐々に減速するのではなくステッピングモータの回転を急停止させることで、印字時間を短縮している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平３−６５０９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
図１及び図２では、ステッピングモータを起動速度から設定速度まで加速するが、加速期間中には設定速度に到達するまでに遅延が生じる。そのため、印字時間が予め想定された時間よりも延びる可能性がある。例えば、ステッピングモータを用いたプリンタを搭載した測定装置には、測定すべき事象の測定周期が図１及び図２の設定速度における印字周期に設定されたものがあるが、このような測定装置では設定速度に到達するまでの遅延により、印字されていない測定データを一時記憶するためのメモリリソースが必要となる。
【０００７】
また、サーマルプリンタでは印字率が高い箇所での消費電流を抑えるため、１ラインで通電する発熱体のうち、一度に通電する発熱体数を制限して複数回に分割して通電するものがある。このため、印字率が高い箇所では通電回数の増加に応じて一時的に印字速度が低下することにより遅延が蓄積され、その分だけ測定データの一次記憶量が増えるため、上記の測定装置などでのメモリリソースの枯渇を招く要因となる。
【０００８】
本発明の目的は、予め設定された印字時間と実際の印字時間との差異を低減することができる印刷装置を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、明細書に開示された印刷装置は、プラテンローラを駆動するモータと、前記モータの駆動を制御する制御手段と、を備え、前記制御手段は、設定された印字速度に対する印字時間の遅延を計数し、該遅延を解消するように前記設定された印字速度を超えて加速する加速制御をおこなうことを特徴とする。
【発明の効果】
【００１０】
本発明の印刷装置によれば、予め設定された印字時間と実際の印字時間との差異を低減することができる。
【図面の簡単な説明】
【００１１】
【図１】ステッピングモータの加減速制御を示す図である。
【図２】ステッピングモータの加減速制御を示す図である。
【図３】第１の実施の形態に係る印刷装置の概略構成図である。
【図４】ステッピングモータの加速時の遅延ステップ数を示す図である。
【図５】ステッピングモータの加速制御を示す図である。
【図６】ＭＣＵで実行される加速制御を示すフローチャートである。
【図７】外乱発生時のステッピングモータの加速制御を示す図である。
【図８】第２の実施の形態に係るステッピングモータの加速制御を示す図である。
【図９】ステッピングモータの周波数と遅延時間との関係を示す図である。
【図１０】ＭＣＵで実行される加速制御を示すフローチャートである。
【図１１】第３の実施の形態に係るステッピングモータの加速制御を示す図である。
【図１２】第４の実施の形態に係るステッピングモータの加速制御を示す図である。
【図１３】ＭＣＵで実行される加速制御を示すフローチャートである。
【図１４】第５の実施の形態に係るステッピングモータの加速制御を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照しながら本発明の実施の形態を説明する。
【００１３】
（第１の実施の形態）
図３は、第１の実施の形態に係る印刷装置の概略構成図である。
【００１４】
図３において、第１の実施の形態に係る印刷装置は、例えばサーマルプリンタ１である。サーマルプリンタ１は、モータドライバ２、電源３、分圧回路４、ＭＣＵ（Micro Controller Unit）５、通信インタフェース（Ｉ／Ｆ）６、ステッピングモータ７及びサーマルヘッド８を備えている。
【００１５】
モータドライバ２は、ステッピングモータ７の動作を制御する。電源３は、モータドライバ２、分圧回路４及びサーマルヘッド８に電圧を供給する。分圧回路４は、電源３からの電圧を所定値に分圧し、ＭＣＵ５に供給する。
【００１６】
ＭＣＵ５は、各種のデータやプログラムを格納するメモリ９と、時間を計測するタイマ１０とを内蔵している。また、ＭＣＵ５は、分圧回路４からの出力電圧に応じて、サーマルヘッド８へ印加する電流を調整すると共にサーマルヘッド８の消費電流を検出する。尚、サーマルプリンタ１は、複数のサーマルヘッド８を備えていてもよい。ＭＣＵ５は、通信Ｉ／Ｆ６を介してコンピュータ１１に接続されている。
【００１７】
ステッピングモータ７は、不図示のプラテンローラにギアを介して接続され、プラテンローラを回転させて用紙を搬送する。
【００１８】
コンピュータ１１が印刷データをＭＣＵ５に送信し、さらに改行コードなどの印刷制御データをＭＣＵ５に送信すると、ＭＣＵ５は、駆動制御信号をモータドライバ２を介してステッピングモータ７に出力し、ステッピングモータ７を１ライン分駆動させると共に、オン信号をサーマルヘッド８に出力する。これにより、サーマルヘッド８が通電され、印刷が実行される。ＭＣＵ５は、サーマルヘッド８の通電及びステッピングモータ７の駆動を印刷データに含まれるライン数分繰り返すことで、全印刷データが用紙に印刷される。
【００１９】
サーマルプリンタ１では、ＭＣＵ５はステッピングモータの回転速度［mm／s］をモータ駆動周波数［pps］に換算し、記録紙の搬送量に相当する印字長［mm］をモータ駆動ステップ数［step］に換算してステッピングモータ７を制御する。従って、以下では速度及び印字長をそれぞれ駆動周波数及び駆動ステップ数に置き換えて説明する。
【００２０】
図４は、ステッピングモータ７の加速時の遅延ステップ数を示す図である。
【００２１】
ステッピングモータ７を起動する際の駆動周波数である起動周波数をｆ０［pps]とし、ステッピングモータ７の加速度をα[pps/s]とし、ユーザによって予め設定された目標周波数をｆ１[pps]とする。目標周波数は、設定された印字速度に対応するステッピングモータ７の駆動周波数を示す。ステッピングモータ７の加速時には、駆動周波数が起動周波数ｆ０から目標周波数をｆ１に達するまでに時間を要する。以下、この時間を「遅延時間」と称する。ステッピングモータ７が目標周波数ｆ１に達するまでの加速時の遅延ステップ数Ｓｄ[step]は図４のハッチ部で示される。
【００２２】
図５は、ステッピングモータ７の加速制御を示す図である。
【００２３】
目標周波数ｆ１を超えるステッピングモータ７の駆動周波数を超過周波数ｆ２［pps］とすると、駆動周波数が目標周波数ｆ１に到達してから超過周波数ｆ２に達するまでのステッピングモータ７の加速時の超過ステップ数Ｓｏ[step]は図５の右側のハッチ部で示される。図５に示すように、ＭＣＵ５は、超過ステップ数Ｓｏが遅延ステップ数Ｓｄと等しくなる超過周波数ｆ２までステッピングモータ７を加速させ、ステッピングモータ７の駆動周波数が超過周波数ｆ２に到達するとステッピングモータ７を目標周波数ｆ１まで瞬時に減速させ、その後は目標周波数ｆ１でステッピングモータ７を駆動して印字を行う。
【００２４】
図６は、ＭＣＵ５で実行される加速制御を示すフローチャートである。図６では、図５に示すステッピングモータ７の加速制御が行われる。尚、図６の説明では周波数を使用しているが、周波数の逆数である周期を用いてもよい。また、時間の代わりにステップ数を使用してもよい。
【００２５】
まず、ＭＣＵ５は印字が完了したか否かを判別する（Ｓ１）。印字が完了した場合には（Ｓ１でＹＥＳ）、本処理を終了する。一方、印字が完了していない場合には（Ｓ１でＮＯ）、印字対象が先頭のデータ（例えば、１ページの中の１行目のデータ）であるか否かを判別する（Ｓ２）。
【００２６】
印字対象が先頭のデータである場合には（Ｓ２でＹＥＳ）、起動周波数又は目標周波数のうち小さい方をステッピングモータ７の設定周波数として設定する（Ｓ３）。Ｓ３では、起動周波数が目標周波数よりも小さい場合は、ステッピングモータ７が設定周波数として設定された起動周波数で起動してから加速される。一方、目標周波数が起動周波数よりも小さい場合は目標周波数が設定周波数に設定され、ステッピングモータ７が目標周波数で駆動され加速不要であることを示している。
【００２７】
その後、ＭＣＵ５は遅延時間Ｔｄを初期化し（Ｓ４）、ステッピングモータ７の駆動を開始して（Ｓ５）、駆動開始からの時間を示す経過時間を初期化する（Ｓ６）。次に、ＭＣＵ５は経過時間の計数を開始する（Ｓ６Ａ）。ＭＣＵ５はステッピングモータ７を１ステップ駆動するのに必要な時間が経過したか、且つ１ステップ内でのサーマルヘッド８の通電が完了しているか否かを判別する（Ｓ７）。
【００２８】
ステッピングモータ７を１ステップ駆動するのに必要な時間が経過していない、又は１ステップ内のサーマルヘッド８の通電が完了していない場合には（Ｓ７でＮＯ）、Ｓ７の判別を繰り返す。一方、ステッピングモータ７を１ステップ駆動するのに必要な時間が経過し、且つ１ステップ内でサーマルヘッド８の通電が完了している場合には（Ｓ７でＹＥＳ）、Ｓ１の処理に戻る。
【００２９】
一方、印字対象が先頭のデータでない場合には（Ｓ２でＮＯ）、ＭＣＵ５はＳ６あるいは前回の経過時間更新からの経過時間を更新し（Ｓ８）、経過時間の逆数を現在の駆動周波数ｆｎ（以下「現在周波数」）とし（Ｓ９）、遅延時間Ｔｄを更新する（Ｓ１０）。遅延時間Ｔｄは、現在の駆動周期（１／ｆｎ）（以下「現在周期」）と目標とする駆動周期（１／ｆ１）（以下「目標周期）との差を積算したものである。ここで、遅延周波数ｆｄを遅延時間Ｔｄの逆数とすると、遅延時間Ｔｄ（＝１／ｆｄ）に今回の遅延時間（１／ｆｎ−１／ｆ１）を加算することで、遅延時間はＴｄ＝１／ｆｄ＋（１／ｆｎ−１／ｆ１）の式で更新される。
【００３０】
次に、ＭＣＵ５はＳ１０で更新された遅延時間Ｔｄが０を超えるか否か、つまり遅延の有無を判別する（Ｓ１１）。遅延時間Ｔｄが０を超え、遅延時間Ｔｄがある場合には（Ｓ１１でＹＥＳ）、ＭＣＵ５はステッピングモータ７を回転させることが可能な最大の駆動周波数周波数ｆmax（以下「最大周波数」）をＭＣＵ５の内部目標の駆動周波数である要求周波数に設定し、最終的にステッピングモータ７を最大周波数ｆmaxまで加速するように制御する（Ｓ１２）。遅延時間Ｔｄが０であり遅延がない場合には（Ｓ１１でＮＯ）、目標周波数ｆ１を要求周波数に設定し、ステッピングモータ７を目標周波数ｆ１で駆動させる（Ｓ１３）。この場合はステッピングモータ７の加速は不要である。
【００３１】
次に、ＭＣＵ５は要求周波数が現在周波数ｆｎよりも大きいか否かを判別する（Ｓ１４）。ここでは、ＭＣＵ５はステッピングモータ７の加速が必要であるか否かを判別しており、要求周波数が現在周波数ｆｎよりも大きい場合にはステッピングモータ７の加速が必要であると判断し、要求周波数が現在周波数ｆｎ以下の場合にはステッピングモータ７の加速は不要であると判断する。
【００３２】
要求周波数が現在周波数ｆｎよりも大きい場合には（Ｓ１４でＹＥＳ）、ＭＣＵ５は要求周波数と加速周波数の小さい方をステッピングモータ７の設定周波数として設定し（Ｓ１５）、ステッピングモータ７を段階的に加速する。なお、加速周波数は現在周波数ｆｎから所定値だけ加速された駆動周波数である。要求周波数が現在周波数ｆｎ以下の場合には（Ｓ１４でＮＯ）、ＭＣＵ５は要求周波数をステッピングモータ７の設定周波数として設定し（Ｓ１６）、ステッピングモータ７を要求周波数で駆動させる。Ｓ１５及びＳ１６の後、Ｓ５の処理に進む。
【００３３】
印字が完了するまで、Ｓ１でＮＯ→Ｓ２でＮＯ→Ｓ８〜Ｓ１６→Ｓ５〜Ｓ７→Ｓ１で示すループ処理が繰り返される。
【００３４】
図６の加速制御は、起動時のステッピングモータ７の加速に有効であるが、これに限定されるものではない。例えば、高印字率のデータを印刷する場合や、印字データの転送が遅れた場合などの外乱により一時的に印字速度が低下した場合、図７に示すように、ＭＣＵ５はステッピングモータ７の駆動周波数を外乱などによって生じた遅延に応じた超過周波数ｆ２’まで加速することで、印字時間の遅延を緩和することができる。なお、図７は、外乱発生時のステッピングモータ７の加速制御を示す図である。
【００３５】
（第２の実施の形態）
図５及び図６の加速制御では、超過周波数ｆ２が高く、超過周波数ｆ２から目標周波数ｆ１に切り替える際の周波数変動ｆ２−ｆ１が大きくなる。ステッピングモータ７は駆動周波数が高くなると駆動トルクの低下により脱調するおそれがある。また、大きな駆動周波数の変動による振動は印字品質の低下を招く。
【００３６】
そこで、第２の実施の形態では、超過周波数ｆ２及び周波数変動ｆ２−ｆ１の低減のため、ＭＣＵ５は、図８に示すように、ステッピングモータ７を超過周波数ｆ２まで加速した後、目標周波数ｆ１まで徐々に減速させる。図８は、第２の実施の形態に係るステッピングモータ７の加速制御を示す図である。
【００３７】
超過周波数ｆ２から減速を開始するタイミングは、現在周波数ｆｎと遅延時間Ｔｄとの関係が式（１）となるタイミングである。
【数１】
2019119114.tif 000003
【００３８】
超過周波数ｆ２から減速を開始するタイミングの算出方法を以下に説明する。図９はステッピングモータ７の駆動周波数と遅延時間との関係を示す図である。
【００３９】
ステッピングモータが現在周波数ｆｎから目標周波数ｆ１まで減速度αで減速するのにかかる時間をＴｎとし、時間Ｔｎの間にステッピングモータが駆動される駆動ステップ数Ｓｎを一定速度の目標周波数ｆ１で駆動するのにかかる時間をＴ１とする。遅延時間ＴｄがＴ１とＴｎとの差以下になるタイミングで減速を開始すれば、ステッピングモータの減速後に駆動周波数が目標周波数に至った時点で遅延が解消される。この遅延が解消されるタイミングは、図９の遅延ステップ数Ｓｄが減速時の駆動ステップ数Ｓｎ以下となる、遅延時間Ｔｄ経過後のタイミングであり、以下の式（２）で求められる。
【数２】
2019119114.tif 000004
【００４０】
超過周波数ｆ２でステッピングモータ７が駆動されている場合、ＭＣＵ５は、目標周波数ｆ１が設定されると、式（２）に従って、超過周波数ｆ２から減速を開始するタイミングを算出する。なお、この場合、超過周波数ｆ２を式（２）の現在周波数ｆｎと見る。
【００４１】
図１０は、ＭＣＵ５で実行される加速制御を示すフローチャートである。図１０では、図８に示すステッピングモータ７の加速制御が行われる。尚、図６と同一の処理には同一のステップ番号を付し、その説明を省略する。
【００４２】
まず、ＭＣＵ５はＳ１〜Ｓ１０の処理を実行する。Ｓ１０の処理の後、ＭＣＵ５は現在が減速開始タイミングであるか否かを判別する（Ｓ２１）。尚、減速開始タイミングは、現在周波数ｆｎと遅延時間Ｔｄとの関係が上記式（１）となるタイミングであり、予めＭＣＵ５によって算出されている。現在が減速開始タイミングでない場合には（Ｓ２１でＮＯ）、ＭＣＵ５は最大周波数ｆmaxを要求周波数に設定し（Ｓ２２）、ステッピングモータ７を最大周波数ｆmaxまで加速するか、最大周波数ｆmaxでの駆動を継続する。一方、現在が減速開始タイミングである場合には（Ｓ２１でＹＥＳ）、ステッピングモータ７を目標周波数ｆ１に減速するように目標周波数ｆ１を要求周波数に設定する（Ｓ２３）。
【００４３】
次に、ＭＣＵ５は要求周波数が現在周波数ｆｎと同一であるか否かを判別する（Ｓ２４）。ここでは、ＭＣＵ５はステッピングモータ７の加減速が必要であるか否かを判別している。要求周波数が現在周波数ｆｎと同一である場合にはステッピングモータ７の加減速が不要であると判断し、要求周波数が現在周波数ｆｎと同一でない場合にはステッピングモータ７の加減速が必要であると判断する。
【００４４】
要求周波数が現在周波数ｆｎと同一である場合には（Ｓ２４でＹＥＳ）、ＭＣＵ５は要求周波数をステッピングモータ７の設定周波数として設定する（Ｓ２５）。要求周波数が現在周波数ｆｎと同一でない場合には（Ｓ２４でＮＯ）、ＭＣＵ５は要求周波数が現在周波数ｆｎよりも大きいか否かを判別する（Ｓ２６）。ここでは、ＭＣＵ５はステッピングモータ７の加減又は減速のいずれが必要であるか否かを判別している。要求周波数が現在周波数ｆｎよりも大きい場合にはステッピングモータ７の加速が必要であると判断し、要求周波数が現在周波数より小さい場合にはステッピングモータ７の減速が必要であると判断する。
【００４５】
要求周波数が現在周波数ｆｎよりも大きい場合には（Ｓ２６でＹＥＳ）、ＭＣＵ５は要求周波数と加速周波数の小さい方をステッピングモータ７の設定周波数として設定し（Ｓ２７）、Ｓ５の処理に進む。要求周波数が現在周波数ｆｎよりも小さい場合には（Ｓ２６でＮＯ）、ＭＣＵ５は要求周波数と減速周波数の大きい方をステッピングモータ７の設定周波数として設定し（Ｓ２８）、Ｓ５の処理に進む。減速周波数は現在周波数ｆｎから所定値だけ減速された駆動周波数である。Ｓ２８の処理により、ステッピングモータ７の駆動周波数を現在周波数ｆｎから目標周波数ｆ１まで段階的に減少させることができる。
【００４６】
（第３の実施の形態）
図１１は、第３の実施の形態に係るステッピングモータ７の加速制御を示す図である。ステッピングモータ７を停止状態から駆動させる場合、モータ停止相で数十ms程度の整定時間分ステッピングモータ７を励磁させる整定待機処理が必要となる。このため、停止状態から印字を開始すると実際に印字されるまでに整定待機処理分の遅延が生じてしまう。
【００４７】
従って、図１１では、印字先頭での遅延時間Ｔｄの初期値を整定時間とするか、又は整定待機処理開始時を印字開始時とすることで、整定時間による遅延を解消する。例えば、図６のＳ４の遅延時間Ｔｄの初期値を整定時間とすることで、整定時間による遅延を解消することができる。
【００４８】
（第４の実施の形態）
図１２は、第４の実施の形態に係るステッピングモータ７の加速制御を示す図である。
【００４９】
図１２では、ＭＣＵ５は、超過ステップ数Ｓｏがステッピングモータ起動時及びステッピングモータ停止前の２つの遅延ステップ数の合計である２Ｓｄと等しくなるように、ステッピングモータ７を超過周波数ｆ２まで加速させ、ステッピングモータ７の駆動周波数が超過周波数ｆ２に到達した後にステッピングモータ７を目標周波数ｆ１まで段階的に減速させる。つまり、超過ステップ数Ｓｏが加速時及び減速時の遅延ステップ数の合計２Ｓｄと等しくなるように、ステッピングモータ７を予め加速させている。
【００５０】
ＭＣＵ５は目標周波数が設定された場合に、減速時の遅延ステップ数Ｓｄ２を予め算出する。加速時の遅延ステップ数Ｓｄ１が減速時の遅延ステップ数Ｓｄ２と同一である場合には、ＭＣＵ５は、加速時の遅延ステップ数Ｓｄ１を２倍することにより加速時及び減速時の合計の遅延ステップ数２Ｓｄを算出してもよい。
【００５１】
図１３は、ＭＣＵ５で実行される加速制御を示すフローチャートである。図１３では、図１２に示すステッピングモータ７の加速制御が行われる。尚、図１０と同一の処理には同一のステップ番号を付し、その説明を省略する。
【００５２】
まず、ＭＣＵ５はＳ１〜Ｓ３の処理を実行する。その後、ＭＣＵ５は遅延時間Ｔｄを初期化する（Ｓ４Ａ）。このとき、ＭＣＵ５はステッピングモータ７の停止前の減速による遅延時間ＴＤを印字先頭での遅延時間Ｔｄの初期値として設定する。これにより、停止直前の減速による遅延を解消する。その後、手順はＳ５の処理に進む。
【００５３】
ＭＣＵ５はＳ６〜Ｓ９の処理を実行する。Ｓ９の処理後、ＭＣＵ５は、現在がステッピングモータ停止直前の減速タイミングであるか否かを判別する（Ｓ３１）。停止直前の減速タイミングとは、例えば、図１２の符号Ａで示す区間の開始タイミングに相当する。現在が停止直前の減速タイミングでない場合には（Ｓ３１でＮＯ）、ＭＣＵ５は駆動周波数ｆ１を目標周波数として設定してステッピングモータを駆動し（Ｓ３２）、Ｓ１０の処理に進む。一方、現在が停止直前の減速タイミングである場合には（Ｓ３１でＹＥＳ）、ＭＣＵ５はステッピングモータを減速制御するために、減速周波数を目標周波数として設定し（Ｓ３３）、Ｓ１０の処理に進む。
【００５４】
第１〜第３の実施の形態では、目標周波数ｆ１は一定の値としていたが、Ｓ３３では、停止前の減速中に減速周波数を目標周波数とすることで、停止前の減速中に遅延時間が増加することを防いでいる。
【００５５】
Ｓ１０の処理後、ＭＣＵ５は、再び現在が停止直前の減速タイミングであるか否かを判別する（Ｓ３４）。現在が停止直前の減速タイミングである場合には（Ｓ３４でＹＥＳ）、ステッピングモータを減速させるためにＭＣＵ５は起動周波数を要求周波数として設定し（Ｓ３５）、Ｓ２４の処理に進む。現在が停止直前の減速タイミングでない場合には（Ｓ３４でＮＯ）、Ｓ２１の処理に進む。
【００５６】
（第５の実施の形態）
図１４は、第５の実施の形態に係るステッピングモータ７の加速制御を示す図である。
【００５７】
第１〜第４の実施の形態では、目標周波数ｆ１に対して最大周波数ｆmaxが十分に大きいか又は印字長が長くないと、遅延を解消することができない。一方、予め印字長が判明している場合には、目標周波数ｆ１に対して大きすぎない目標周波数ｆ１を補正した補正周波数ｆ１’を用いることによって遅延を解消することができる。
【００５８】
目標周波数ｆ１を超えて駆動した超過ステップ数Ｓｏは、図１４に示す２つの超過ステップ数Ｓｏ１と超過ステップ数Ｓｏ２との合計であり、それぞれ図１４中の式で表される。
【００５９】
印字開始時に目標周波数ｆ１と印字長Ｓ［step］が確定している場合、超過ステップ数Ｓｏが加速時及び減速時の遅延ステップ数Ｓｄの和２Ｓｄと等しくなると、式（３）が成立する。
【数３】
2019119114.tif 000005
【００６０】
このときの補正周波数ｆ１’は式（４）で表される。
【数４】
2019119114.tif 000006
【００６１】
ＭＣＵ５は、目標周波数ｆ１と印字長Ｓ［step］とから補正周波数ｆ１’を算出する。加速時には、ステップ毎に加速周波数を目標周波数に設定し、補正周波数ｆ１’に到達するまで加速を継続する。定速時には、算出した補正周波数ｆ１’を目標周波数に設定する。減速時には、ステップ毎に減速周波数を目標周波数に設定する。
【００６２】
このように、ＭＣＵ５は、加速時、定速時及び減速時のそれぞれで目標周波数を動的に切替え、切り替えられた目標周波数で駆動するようにステッピングモータ７を制御するので、加速時及び減速時の遅延を解消することができる。
【００６３】
また、第５の実施の形態では、目標周波数を切り替える際の周波数変動を他の実施の形態よりも抑えることができる。
【００６４】
尚、上述したサーマルプリンタ１内のＭＣＵ５が実行するプログラムの一部をコンピュータ１１が実行するようにしてもよい。
【００６５】
尚、本発明は、上述した実施の形態に限定されるものではなく、その要旨を逸脱しない範囲内で種々変形して実施することが可能である。
【符号の説明】
【００６６】
１  サーマルプリンタ
２  モータドライバ
３  電源
４  分圧回路
５  ＭＣＵ（Micro Controller Unit）
６  通信インタフェース（Ｉ／Ｆ）
７  ステッピングモータ
８  サーマルヘッド
【図１】
2019119114.tif 000007
【図２】
2019119114.tif 000008
【図３】
2019119114.tif 000009
【図４】
2019119114.tif 000010
【図５】
2019119114.tif 000011
【図６】
2019119114.tif 000012
【図７】
2019119114.tif 000013
【図８】
2019119114.tif 000014
【図９】
2019119114.tif 000015
【図１０】
2019119114.tif 000016
【図１１】
2019119114.tif 000017
【図１２】
2019119114.tif 000018
【図１３】
2019119114.tif 000019
【図１４】
2019119114.tif 000020