(57)【特許請求の範囲】
【請求項１】
各々ドットに対応する複数の発熱素子が列状に配置されたサーマルヘッドと、
前記サーマルヘッドに対して印刷媒体を相対移動させる搬送手段と、
印刷データに対応する駆動パルスを、前記発熱素子が並ぶ通電ライン毎に印加して、前記搬送手段によって搬送される前記印刷媒体に、前記印刷データに基づく画像を印刷する印加制御手段と、
前記通電ラインに対する前記駆動パルスの印加時間を取得する印加時間取得手段と、
前記印加時間取得手段によって取得された前記印加時間が、あらかじめ定められた通電可能時間以下であるか否かを判断する時間判断手段とを備え、
前記駆動パルスは、前記印刷媒体を発色させる主加熱となるメインパルスと、前記メインパルスを補助するために印加するサブパルスとを含み、
前記印加制御手段は、
前記時間判断手段によって前記印加時間が前記通電可能時間以下であると判断された場合に、前記サブパルスを前記発熱素子に印加したのち、前記メインパルスを前記発熱素子に印加し、
前記時間判断手段によって前記印加時間が前記通電可能時間を超えると判断された場合に、前記メインパルスを前記発熱素子に印加したのち、前記サブパルスを前記発熱素子に印加することを特徴とするサーマルプリンタ。
【請求項２】
前記発熱素子の電圧を取得する電圧取得手段と、
前記電圧取得手段によって取得された前記電圧が、あらかじめ定められた電圧閾値以下であるか否かを判断する電圧判断手段とを備え、
前記印加制御手段は、前記電圧判断手段によって前記電圧が前記電圧閾値以下であると判断された場合、前記印加時間が前記通電可能時間を超えるか否かにかかわらず、前記メインパルスを前記発熱素子に印加したのち、前記サブパルスを前記発熱素子に印加することを特徴とする請求項１に記載のサーマルプリンタ。
【請求項３】
前記サーマルヘッド近傍の環境温度を取得する温度取得手段と、
前記温度取得手段によって取得された前記環境温度が、あらかじめ定められた温度閾値以下であるか否かを判断する温度判断手段とを備え、
前記印加制御手段は、前記温度判断手段によって前記環境温度が前記温度閾値以下であると判断された場合、前記印加時間が前記通電可能時間を超えるか否かにかかわらず、前記メインパルスを前記発熱素子に印加したのち、前記サブパルスを前記発熱素子に印加することを特徴とする請求項１に記載のサーマルプリンタ。
【請求項４】
前記発熱素子の電圧を取得する電圧取得手段と、
前記サーマルヘッド近傍の環境温度を取得する温度取得手段と、
前記電圧取得手段によって取得された前記電圧が、あらかじめ定められた電圧閾値以下であるか否かを判断する電圧判断手段と、
前記温度取得手段によって取得された前記環境温度があらかじめ定められた温度閾値以下であるか否かを判断する温度判断手段とを備え、
前記印加制御手段は、前記電圧判断手段によって前記電圧が前記電圧閾値以下であると判断され、且つ、前記温度判断手段によって前記環境温度が前記温度閾値以下であると判断された場合、前記印加時間が前記通電可能時間を超えるか否かにかかわらず、前記メインパルスを前記発熱素子に印加したのち、前記サブパルスを前記発熱素子に印加することを特徴とする請求項１に記載のサーマルプリンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の発熱素子を有するサーマルヘッドの通電制御を行うサーマルプリンタに関する。
【背景技術】
【０００２】
一般にサーマルプリンタでは、サーマルヘッド上に列状に並んだ複数の発熱素子を、選択的に通電させて発熱させることで印字を行なう。発熱素子の通電は、発熱素子が並ぶ１列（以下、通電ラインという。）ごとに駆動パルスを制御して行われる。発熱素子の通電に使用される駆動パルスとして、印字媒体を発色させるための主加熱となるメインパルスと、メインパルスを補うために発熱素子を補助加熱するサブパルスとを用いるサーマルヘッドの通電制御が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−１３７３２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のような通電制御によって、サーマルヘッドが印字するのに必要なエネルギー（以下、必要エネルギーという。）が確保される。しかしながら、発熱素子の通電時には、駆動パルスの印加に伴って、サーマルヘッドの電圧（以下、ヘッド電圧という）が低下する。したがって、従来では、ヘッド電圧が低い場合、発熱素子の通電時間（つまり、駆動パルスの印加時間）を長くすることで、サーマルヘッドの必要エネルギーを確保している。
【０００５】
一方、サーマルヘッドを保護することを目的として、１ドットサイクルあたりに発熱素子へ通電する限界時間である通電可能時間が定められている。この通電可能時間を超えて発熱素子に通電すると、発熱素子の特性変化や品質劣化などを生じるおそれがある。そのため、従来では発熱素子の通電時間が通電可能時間に達すると、必要エネルギーが確保されていない場合でも発熱素子への通電が中断される。この場合、エネルギー不足に起因して、印字された画像にスジ状のカスレが現れ、印字品質が劣化するおそれがあった。
【０００６】
本発明は、エネルギー不足に起因する印字品質の劣化を抑制可能なサーマルプリンタを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様に係るサーマルプリンタは、各々ドットに対応する複数の発熱素子が列状に配置されたサーマルヘッドと、前記サーマルヘッドに対して印刷媒体を相対移動させる搬送手段と、印刷データに対応する駆動パルスを、前記発熱素子が並ぶ通電ライン毎に印加して、前記搬送手段によって搬送される前記印刷媒体に、前記印刷データに基づく画像を印刷する印加制御手段と、前記通電ラインに対する前記駆動パルスの印加時間を取得する印加時間取得手段と、前記印加時間取得手段によって取得された前記印加時間が、あらかじめ定められた通電可能時間以下であるか否かを判断する時間判断手段とを備え、前記駆動パルスは、前記印刷媒体を発色させる主加熱となるメインパルスと、前記メインパルスを補助するために印加するサブパルスとを含み、前記印加制御手段は、前記時間判断手段によって前記印加時間が前記通電可能時間以下であると判断された場合に、前記サブパルスを前記発熱素子に印加したのち、前記メインパルスを前記発熱素子に印加し、前記時間判断手段によって前記印加時間が前記通電可能時間を超えると判断された場合に、前記メインパルスを前記発熱素子に印加したのち、前記サブパルスを前記発熱素子に印加する。
【０００８】
上記サーマルプリンタでは、通電ラインに対する駆動パルスの印加時間が通電可能時間以下である場合、メインパルスを補助するために印加するサブパルスが先に発熱素子に印加され、印刷媒体を発色させる主加熱となるメインパルスが後に発熱素子に印加される。これにより、発熱素子を効率的に加熱してサーマルヘッドの必要エネルギーを確保できる。一方、通電ラインに対する駆動パルスの印加時間が通電可能時間を超える場合、メインパルスが先に発熱素子に印加され、サブパルスが後に発熱素子に印加される。このように、駆動パルスの印加時間と通電可能時間との関係に応じてメインパルスおよびサブパルスの印加順序を切り替えることで、エネルギー不足に起因する印刷品質の劣化を抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】サーマルプリンタ１の斜視図である。
【図２】テープカセット３０がカセット装着部８に装着された状態を示す平面図である。
【図３】サーマルヘッド１０を拡大した正面図である。
【図４】サーマルプリンタ１の電気的構成を示すブロック図である。
【図５】電圧変動係数テーブル６３のデータ構成を示す図である。
【図６】第一実施形態のメイン処理のフローチャートである。
【図７】メインパルス処理のフローチャートである。
【図８】サブパルス処理のフローチャートである。
【図９】サブパルスをメインパルスよりも先に印加する場合の、１ドットサイクルの通電制御を示す図である。
【図１０】メインパルスをサブパルスよりも先に印加する場合の、１ドットサイクルの通電制御を示す図である。
【図１１】第二実施形態のメイン処理のフローチャートである。
【図１２】第三実施形態のメイン処理のフローチャートである。
【図１３】第四実施形態のメイン処理のフローチャートである。
【発明を実施するための形態】
【００１０】
本発明を具体化した実施の形態について、図面を参照して説明する。なお、参照する図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている装置の構成などは、それのみに限定する趣旨ではなく、単なる説明例である。
【００１１】
本発明の第一実施形態について説明する。本実施形態に係るサーマルプリンタ１の概略構成について説明する。サーマルプリンタ１は、テープ状の印字媒体（例えば、後述するフィルムテープ５９）の幅方向に、一列毎にキャラクタ（文字、記号及び数字等）を印字可能である。
【００１２】
図１〜図３を参照して、サーマルプリンタ１の物理的構成について説明する。図１に示すように、サーマルプリンタ１の上面には、キャラクタを入力するためのキーボード３が設けられている。キーボード３の後側（紙面右上側）には、電源キー、決定キー、印字キー等を含む機能キー群４が設けられている。以下の説明では、機能キー群４とキーボード３とを総称する場合、操作部２という。機能キー群４の後側には、入力したキャラクタ等を表示するためのディスプレイ５が設けられている。サーマルプリンタ１の上面の後部には、カセット装着部８を開閉可能なカバー６が設けられている。サーマルプリンタ１の左後角には、カットされた印字済みテープ５０を受けるテープトレイ（図示外）が設けられている。
【００１３】
図２に示すように、カセット装着部８には、テープカセット３０が上下方向に着脱される。テープカセット３０は、全体としては平面視で丸みを帯びた角部を有する略直方体状（箱型）の筐体であるカセットケース３１を有している。カセットケース３１内の左側後部には、巻回された両面粘着テープ５８が配置されている。右側後部には、巻回された透明なフィルムテープ５９が配置されている。右側前部には、リボンスプール４２に巻回されたインクリボン６０が配置されている。カセットケース３１内における両面粘着テープ５８とリボンスプール４２との間には、リボン巻取スプール４４が回転可能に配置されている。
【００１４】
カセットケース３１の前部のうち、テープカセット３０右側から左方に延びる部位をアーム部３４という。アーム部３４の先端部には、開口３４Ａが形成されている。フィルムテープ５９とインクリボン６０とは、開口３４Ａで重ね合わされて搬送される。アーム部３４の後側には、カセットケース３１を上下方向に貫通する平面視略長方形状の空間であるヘッド挿入部３９が設けられている。ヘッド挿入部３９の下流側には、テープ駆動ローラ４６が回転可能に軸支されている。
【００１５】
カセット装着部８には、リボン巻取スプール４４を回転駆動するリボン巻取軸９が立設されている。リボン巻取軸９の左前方には、正面視で略矩形状のヘッドホルダ７４が立設されている。ヘッドホルダ７４の前面には、フィルムテープ５９に文字等を印字するサーマルヘッド１０が取り付けられている。ヘッドホルダ７４の左方には、テープ駆動ローラ４６を回転駆動するテープ駆動軸１１が立設されている。カセット装着部８の前側には、可動搬送ローラ１４とプラテンローラ１５とを備えたローラホルダ１８が配設されている。ローラホルダ１８は、ホルダ軸１８１を中心に回動可能に軸支されている。
【００１６】
カバー６が下方に閉じられると、ローラホルダ１８は後方に回動し、図２に示す印字位置に移動する。印字位置では、プラテンローラ１５がサーマルヘッド１０に圧接され、且つ、可動搬送ローラ１４がテープ駆動ローラ４６に圧接される。ローラホルダ１８が印字位置にある場合、サーマルプリンタ１は、カセット装着部８に装着されたテープカセット３０を用いた印字動作が可能となる。カバー６が上方に開かれると、ローラホルダ１８は前方に回動し、サーマルヘッド１０及びテープ駆動ローラ４６から離間する。この場合、カセット装着部８にテープカセット３０を着脱自在となる。
【００１７】
図３に示すように、サーマルヘッド１０の前面には、複数（本実施形態では１２８個）の発熱素子２０が、上下方向に一列に並んで配設されて、通電ライン１２が形成されている。発熱素子２０が一列に並んだ方向（通電ライン１２の延びる方向）が、サーマルヘッド１０の主走査方向Ｄ１である。主走査方向Ｄ１に垂直な方向が、サーマルヘッド１０の副走査方向Ｄ２である。
【００１８】
図１〜図３に示すように、印字動作の実行時には、テープ駆動軸１１によって回転駆動されるテープ駆動ローラ４６が、対向する可動搬送ローラ１４と協働して、フィルムテープ５９を引き出す。リボン巻取軸９によって回転駆動されるリボン巻取スプール４４が、リボンスプール４２からインクリボン６０を引き出す。サーマルヘッド１０は、引き出されたインクリボン６０を使用して、引き出されたフィルムテープ５９への印字を行う。
【００１９】
具体的には、複数の発熱素子２０が、後述の制御回路部４００（図４参照）によって選択的かつ間欠的に通電（パルス印加）されて、インクリボン６０に塗布されているインクを溶融或いは昇華させる。これにより、インクリボン６０に形成されたインク層のインクは、フィルムテープ５９にドット単位（印字ドット）で転写される。フィルムテープ５９には、印字データに基づくドット画像が鏡像で形成される。
【００２０】
サーマルヘッド１０での印字に使用されたインクリボン６０は、リボン巻取スプール４４に巻き取られる。さらに、テープ駆動ローラ４６は、対向する可動搬送ローラ１４と協働して、両面粘着テープ５８を引き出して、フィルムテープ５９の印字面にガイドして接着させる。接着されたフィルムテープ５９と両面粘着テープ５８は、テープ排出口４９から排出され、印字済みテープ５０となる。
【００２１】
図４を参照して、サーマルプリンタ１の電気的構成について説明する。サーマルプリンタ１は、制御基板上に形成される制御回路部４００を備えている。制御回路部４００は、ＣＰＵ４０１、ＲＯＭ４０２、ＣＧＲＯＭ４０３、ＲＡＭ４０４、フラッシュメモリ４１０、入出力インターフェース４１１などを備え、これらがデータバスを介して接続されている。
【００２２】
ＲＯＭ４０２には、ＣＰＵ４０１がサーマルプリンタ１を制御するために実行する各種プログラムが記憶されている。ＣＧＲＯＭ４０３には、キャラクタを印字するための印字用ドットパターンデータが記憶されている。ＲＡＭ４０４には、図示しないテキストメモリ、印字バッファ等、複数の記憶領域が設けられている。テキストメモリには、操作部２から入力されたキャラクタが格納される。印字バッファには、キャラクタの印字用ドットパターンが、ドットパターンデータとして格納される。フラッシュメモリ４１０には、後述する電圧変動係数テーブル６３や各種カウンタが記憶されている。
【００２３】
入出力インターフェース４１１には、操作部２、液晶駆動回路（ＬＣＤＣ）４０５、駆動回路４０６、４０７、４０８、温度センサ２６、電圧センサ２７などが接続されている。液晶駆動回路（ＬＣＤＣ）４０５は、ディスプレイ５に表示データを出力するためのビデオＲＡＭ（図示外）を有する。駆動回路４０６は、サーマルヘッド１０を駆動するための電子回路である。駆動回路４０７は、リボン巻取軸９およびテープ駆動軸１１を回転させるテープ送りモータ２４を駆動するための電子回路である。駆動回路４０８は、印字済みテープ５０を切断するカット機構（図示外）を動作させるカッターモータ２５を駆動するための電子回路である。温度センサ２６は、サーマルプリンタ１周辺の環境温度を計測する。電圧センサ２７は、サーマルヘッド１０の電圧（ヘッド電圧）を計測する。
【００２４】
図５に示すように、電圧変動係数テーブル６３には、電圧センター値６３１、電圧センター値６３１に対応する電圧の範囲（１６進数データ値）６３２、電圧範囲６３２に対応する電圧変動係数Ｃ（Ｖ）６３３が定義されている。電圧変動係数Ｃ（Ｖ）は、発熱素子２０に対する印加エネルギーを設定する際に、ヘッド電圧に応じて印加するパルス幅を変化させるために用いられる定数である。図５では、電圧変動係数Ｃ（Ｖ）の値も１６進数データで記載されている。電圧変動係数テーブル６３では、電圧センター値６３１および電圧の範囲６３２に示されるヘッド電圧が高くなるほど、対応する電圧変動係数Ｃ（Ｖ）６３３により高い数値が設定されている。
【００２５】
一般に、ヘッド電圧が高いほど、発熱素子２０の発熱に要する通電時間は短くてよい。言い換えると、ヘッド電圧が高いほど、より短い通電時間で、サーマルヘッド１０で印字するのに必要なエネルギー（必要エネルギー）を確保することができる。本実施形態では、後述の印加エネルギー再評価（Ｓ４５、Ｓ６５参照）において、固定値からＣ（Ｖ）の値を減算して「０」になったときに、発熱素子２０への通電が中断される。そのため、電圧変動係数テーブル６３では、ヘッド電圧が高くなるほど電圧変動係数Ｃ（Ｖ）の値を大きくすることで、ヘッド電圧が高いときには駆動パルスの印加時間を短くして、印加エネルギーの調整が行なわれる。
【００２６】
上記のような構成によって、操作部２から入力されたキャラクタ列（テキスト）が、ＲＡＭ４０４のテキストメモリに順次記憶されるとともに、そのテキストに対応するドットパターンがディスプレイ５に表示される。テープ送りモータ２４がテープ送り制御を行い、これと同期してサーマルヘッド１０がＲＡＭ４０４の印字バッファに記憶されたドットパターンデータの印字を行う。このとき、サーマルヘッド１０は、各発熱素子２０が１ライン分の印字ドット（１２８ドット）に対応して選択的に発熱駆動されて、キャラクタを印字する。詳細には、先述の駆動回路４０６が、発熱素子２０毎に対応付けられたデータ信号に基づいて、各発熱素子２０の通電（パルス印加）を制御することで、通電ライン１２による１ライン（１２８ドット）毎の印字処理が行われる。
【００２７】
本実施形態では、発熱素子２０の通電に使用される駆動パルスとして、印字媒体を発色させるための主加熱となるメインパルスと、メインパルスを補うために発熱素子を補助加熱するサブパルスとが使用される。発熱素子２０は、１ドットサイクルで少なくともメインパルスが印加される。また、発熱素子２０は、１ドットサイクルでメインパルスと併せてサブパルスを印加することで、発熱素子２０を効率的に加熱したり、素子温度を維持したりすることができる。サーマルプリンタ１では、インクリボン６０を使用して印字するので、必要エネルギーが確保された発熱素子２０は、インクリボン６０上のインクを溶融或いは昇華させて、ドット印字を実行可能となる。
【００２８】
図６〜図８を参照して、本実施形態のサーマルプリンタ１で実行されるメイン処理について説明する。以下のメイン処理は、サーマルプリンタ１の電源が投入されると、ＲＯＭ４０２に記憶されたプログラムに従って、ＣＰＵ４０１によって実行される。
【００２９】
図６に示すように、サーマルプリンタ１のメイン処理では、まず温度センサ２６からサーマルプリンタ１の環境温度が取得される（Ｓ１）。次いで、ユーザからの指示に従って、印字が開始される（Ｓ３）。最新（つまり、前回）の１ドットサイクルの総通電時間を示すカウンタｔが、「０」に初期化される（Ｓ５）。電圧センサ２７からヘッド電圧が取得される（Ｓ７）。次いで、カウンタｔが通電可能時間ｔ１以下であるか否かが判断される（Ｓ９）。
【００３０】
通電可能時間ｔ１は、１ドットサイクルあたりに発熱素子２０へ通電する限界時間であり、サーマルプリンタ１および発熱素子２０の特性に応じて定められた固定値である。本実施形態では、通電可能時間ｔ１は「６．５ミリ秒」であり、１ドットサイクルの通電時間が「６．５ミリ秒」を超えると、発熱素子２０の通電が中断される。例えば電源が投入された直後であれば、カウンタｔは「０」であり、通電可能時間ｔ１「６．５ミリ秒」よりも小さいから、カウンタｔが通電可能時間ｔ１以下であると判断される（Ｓ９：ＹＥＳ）。
【００３１】
カウンタｔが通電可能時間ｔ１以下である場合（Ｓ９：ＹＥＳ）、通電ライン１２にサブパルスを印加するサブパルス処理が実行され（Ｓ１１）、次いで、通電ライン１２にメインパルスを印加するメインパルス処理が実行される（Ｓ１３）。つまり、通電ライン１２に含まれる駆動対象の発熱素子２０に対して、サブパルスが先に選択的に印加され、メインパルスが後に選択的に印加される。ステップＳ１３の実行後、ステップＳ１１でサブパルスが印加された時間を示すカウンタｔｓと、ステップＳ１３でメインパルスが印加された時間を示すカウンタｔｍとを加算した値が、カウンタｔに設定される（Ｓ１５）。つまり、カウンタｔが、最新の１ドットサイクルの印字時におけるメインパルスとサブパルスの総印加時間に更新される。
【００３２】
一方、カウンタｔが通電可能時間ｔ１を超える場合（Ｓ９：ＮＯ）、通電ライン１２にメインパルスを印加するメインパルス処理が実行され（Ｓ１７）、次いで、通電ライン１２にサブパルスを印加するサブパルス処理が実行される（Ｓ１９）。つまり、通電ライン１２に含まれる駆動対象の発熱素子２０に対して、メインパルスが先に選択的に印加され、サブパルスが後に選択的に印加される。ステップＳ１９の実行後、ステップＳ１７でメインパルスが印加された時間を示すカウンタｔｍと、ステップＳ１９でサブパルスが印加された時間を示すカウンタｔｓとを加算した値が、カウンタｔに設定される（Ｓ１５）。つまり、カウンタｔが、最新の１ドットサイクルの印字時におけるメインパルスとサブパルスの総印加時間に更新される。メインパルス処理（Ｓ１３、Ｓ１７）およびサブパルス処理（Ｓ１１、Ｓ１９）の詳細は、後述する。
【００３３】
ステップＳ１５の実行後、印字を継続するか否かが判断される（Ｓ２１）。ＲＡＭ４０２の印字バッファに次ラインのドットパターンデータが記憶されている場合は、印字を継続すると判断されて（Ｓ２１：ＹＥＳ）、処理はステップＳ７に戻り、最新のヘッド電圧が取得される。さらに、カウンタｔが通電可能時間ｔ１以下であるか否かに応じて、メインパルスおよびサブパルスの印加順序が切り替えられて、次ラインのドットパターンデータが１ドットサイクルで印字される（Ｓ９〜Ｓ１９）。なお、ＲＡＭ４０２の印字バッファに次ラインのドットパターンデータが記憶されていない場合は、印字を継続しないと判断されて（Ｓ２１：ＮＯ）、メイン処理が終了される。
【００３４】
ところで、本実施形態では、印字対象のラインよりも一つ前のラインの対象ドットが印字されていない場合に、サブパルス処理（Ｓ１１、Ｓ１９）が実行される。よって、一つ前のラインの対象ドットが印字されている場合には、サブパルス処理（Ｓ１１、Ｓ１９）が実行されずにスキップされて、メインパルス処理（Ｓ１３、Ｓ１７）のみが実行されて、ドット印字が実行される。
【００３５】
図７に示すように、メインパルス処理（Ｓ１３、Ｓ１７）では、まず先述のカウンタｔｍが「０」に初期化される（Ｓ３１）。駆動対象の発熱素子２０に印加するメインパルスのパルス幅（通電時間）が設定される（Ｓ３３）。例えば、公知技術と同様に、各発熱素子２０に対して印加するパルス幅を、印加制御係数Ｃｍに所定値を代入して設定する。印加制御係数Ｃｍに代入される値は、サーマルヘッド１０とテープの種類に対応してあらかじめ定められた固定値（本実施形態では、５５４００）である。さらに、後述する印加エネルギー再評価（Ｓ４５）の実行回数を示すカウンタｒが「０」に初期化される（Ｓ３５）。
【００３６】
ステップＳ３５の実行後、印加制御係数Ｃｍが「０」未満であるか否かが判断される（Ｓ３７）。印加制御係数Ｃｍが「０」以上である場合（Ｓ３７：ＮＯ）、通電対象の発熱素子２０にメインパルスが印加されて、各発熱素子２０がＯＮ状態となる（Ｓ３９）。そして、前回の印加エネルギー再評価（Ｓ４５）から「２５０マイクロ秒」経過したか否かが判断される（Ｓ４１）。なお、メインパルス処理（Ｓ１３、Ｓ１７）の開始直後は、ステップＳ３９の実行開始から「２５０マイクロ秒」経過したか否かが判断される。
【００３７】
「２５０マイクロ秒」経過していない場合（Ｓ４１：ＮＯ）、処理はステップＳ３９に戻り、発熱素子２０のＯＮ状態が継続される。「２５０マイクロ秒」経過した場合（Ｓ４１：ＹＥＳ）、カウンタｒが「１」加算される（Ｓ４３）。次いで、印加制御係数Ｃｍの値を再計算して、今後印加すべきエネルギー量を決定する印加エネルギー再評価が実行される（Ｓ４５）。この印加エネルギー再評価は、「Ｃｍ←Ｃｍ−Ｃｍ（Ｖ）×ｒ」の計算式により行われる。
【００３８】
上記計算式で使用される電圧変動係数Ｃｍ（Ｖ）は、ステップＳ７で取得されたヘッド電圧に基づいて、電圧変動係数テーブル６３（図５参照）を参照して取得される。そのため、ステップＳ７で取得されたヘッド電圧が高いほど、上記計算式で使用される電圧変動係数Ｃｍ（Ｖ）は大きくなる。つまり、上記計算式で印加制御係数Ｃｍから減算される値（電圧変動係数Ｃｍ（Ｖ）およびカウンタｒの乗算値）が、ヘッド電圧が高いほど大きくなる。
【００３９】
ステップＳ４５の実行後、処理はステップＳ３７に戻る。このとき、印加制御係数Ｃｍが「０」未満であれば（Ｓ３７：ＹＥＳ）、通電対象の発熱素子２０に対するメインパルスの印加が終了されて、各発熱素子２０がＯＦＦ状態となる（Ｓ４７）。つまり、ステップＳ７で取得されたヘッド電圧が高いほど、メインパルスの通電時間が短くなる。一方、ヘッド電圧が低いほど、メインパルスの通電時間が長くなる。ステップＳ４７の実行後、「２５０×（カウンタｒ＋１）」で算出された値が、カウンタｔｍに設定される（Ｓ４９）。その後、処理はメイン処理（図６）に戻る。
【００４０】
図８に示すように、サブパルス処理（Ｓ１１、Ｓ１９）では、まず先述のカウンタｔｓが「０」に初期化される（Ｓ５１）。駆動対象の発熱素子２０に印加するサブパルスのパルス幅（通電時間）が設定される（Ｓ５３）。例えば、公知技術と同様に、各発熱素子２０に対して印加するパルス幅を、印加制御係数Ｃｓに所定値を代入して設定する。印加制御係数Ｃｓに代入される値は、サーマルヘッド１０とテープの種類に対応してあらかじめ定められた固定値（本実施形態では、５５４００）である。さらに、後述する印加エネルギー再評価（Ｓ６５）の実行回数を示すカウンタｒが「０」に初期化される（Ｓ５５）。
【００４１】
ステップＳ５５の実行後、印加制御係数Ｃｓが「０」未満であるか否かが判断される（Ｓ５７）。印加制御係数Ｃｓが「０」以上である場合（Ｓ５７：ＮＯ）、通電対象の発熱素子２０にサブパルスが印加されて、各発熱素子２０がＯＮ状態となる（Ｓ５９）。そして、前回の印加エネルギー再評価（Ｓ６５）から「２５０マイクロ秒」経過したか否かが判断される（Ｓ６１）。なお、サブパルス処理（Ｓ１１、Ｓ１９）の開始直後は、ステップＳ５９の実行開始から「２５０マイクロ秒」経過したか否かが判断される。
【００４２】
「２５０マイクロ秒」経過していない場合（Ｓ６１：ＮＯ）、処理はステップＳ５９に戻り、発熱素子２０のＯＮ状態が継続される。「２５０マイクロ秒」経過した場合（Ｓ６１：ＹＥＳ）、カウンタｒが「１」加算される（Ｓ６３）。次いで、印加制御係数Ｃｓの値を再計算して、今後印加すべきエネルギー量を決定する印加エネルギー再評価が実行される（Ｓ６５）。この印加エネルギー再評価は、「Ｃｓ←Ｃｓ−Ｃｓ（Ｖ）×ｒ」の計算式により行われる。
【００４３】
上記計算式で使用される電圧変動係数Ｃｓ（Ｖ）は、ステップＳ７で取得されたヘッド電圧に基づいて、電圧変動係数テーブル６３（図５参照）を参照して取得される。そのため、ステップＳ７で取得されたヘッド電圧が高いほど、上記計算式で使用される電圧変動係数Ｃｓ（Ｖ）は大きくなる。つまり、上記計算式で印加制御係数Ｃｓから減算される値（電圧変動係数Ｃｓ（Ｖ）およびカウンタｒの乗算値）が、ヘッド電圧が高いほど大きくなる。
【００４４】
ステップＳ６５の実行後、処理はステップＳ５７に戻る。このとき、印加制御係数Ｃｓが「０」未満であれば（Ｓ５７：ＹＥＳ）、通電対象の発熱素子２０に対するサブパルスの印加が終了されて、各発熱素子２０がＯＦＦ状態となる（Ｓ６７）。つまり、ステップＳ７で取得されたヘッド電圧が高いほど、サブパルスの通電時間が短くなる。一方、ヘッド電圧が低いほど、サブパルスの通電時間が長くなる。ステップＳ６７の実行後、「２５０×（カウンタｒ＋１）」で算出された値が、カウンタｔｓに設定される（Ｓ６９）。その後、処理はメイン処理（図６）に戻る。
【００４５】
図９および図１０を参照して、本実施形態のサーマルプリンタ１で実行される１ドットサイクルの通電制御について説明する。図９および図１０において、印加周期Ｔｓは、１ドットサイクルの通電制御に要する時間の長さを示す。
【００４６】
図９に示すように、上記のメイン処理（図６参照）では、カウンタｔが通電可能時間ｔ１以下である場合（Ｓ９：ＹＥＳ）、駆動対象の発熱素子２０に対して、サブパルスが先、メインパルスが後に印加される（Ｓ１１、Ｓ１３）。この場合、１ドットサイクルの通電制御では、まず駆動回路４０６がサブパルスを駆動するストローブ信号（ＳＴＢ信号）を「Ｌｏｗ」から「Ｈｉｇｈ」に制御して、駆動対象の発熱素子２０にサブパルスが印加される（Ｓ５９）。そして、「２５０マイクロ秒」間隔で印加エネルギーを再評価して（Ｓ６１〜Ｓ６５）、サブパルスの印加を継続するか否かを判断する（Ｓ５７）。
【００４７】
印加制御係数Ｃｓが「０」未満になると（Ｓ５７：ＹＥＳ）、駆動回路４０６がメインパルスを駆動するＳＴＢ信号を「Ｌｏｗ」から「Ｈｉｇｈ」に制御して、駆動対象の発熱素子２０にメインパルスが印加される（Ｓ３９）。そして、「２５０マイクロ秒」間隔で印加エネルギーを再評価して（Ｓ４１〜Ｓ４５）、メインパルスの印加を継続するか否かを判断する（Ｓ３７）。印加制御係数Ｃｍが「０」未満になると（Ｓ３７：ＹＥＳ）、駆動回路４０６がＳＴＢ信号を「Ｈｉｇｈ」から「Ｌｏｗ」に制御して、発熱素子２０の加熱が中断される。
【００４８】
以上の通電制御では、サブパルスを先に印加することで、その後に印加するメインパルスの立ち上がりが補助されて、発熱素子２０を効率的に加熱することができる。カウンタｔが通電可能時間ｔ１以下であるため、通電可能時間ｔ１を超える前にサブパルスおよびメインパルスの印加が完了して、駆動対象の発熱素子２０に必要エネルギーが確保される。メインパルスの印加が終了した時点から印加周期Ｔｓの終了時までは、発熱素子２０を冷却させるための非加熱時間Ｔｇである。ヘッド電圧は、定常状態での電圧値（初期値）は例えば「９Ｖ」であるが、駆動パルスの印加に伴ってヘッド電圧が低下する。非加熱時間Ｔｇでは、駆動パルスの印加によって低下したヘッド電圧が上昇する。
【００４９】
図１０に示すように、上記のメイン処理（図６参照）では、カウンタｔが通電可能時間ｔ１を超える場合（Ｓ９：ＮＯ）、駆動対象の発熱素子２０に対して、メインパルスが先、サブパルスが後に印加される（Ｓ１７、Ｓ１９）。この場合、１ドットサイクルの通電制御では、まず駆動回路４０６がメインパルスを駆動するＳＴＢ信号を「Ｌｏｗ」から「Ｈｉｇｈ」に制御して、駆動対象の発熱素子２０にメインパルスが印加される（Ｓ３９）。そして、「２５０マイクロ秒」間隔で印加エネルギーを再評価して（Ｓ４１〜Ｓ４５）、メインパルスの印加を継続するか否かを判断する（Ｓ３７）。
【００５０】
印加制御係数Ｃｍが「０」未満になると（Ｓ３７：ＹＥＳ）、駆動回路４０６がサブパルスを駆動するＳＴＢ信号を「Ｌｏｗ」から「Ｈｉｇｈ」に制御して、駆動対象の発熱素子２０にサブパルスが印加される（Ｓ５９）。そして、「２５０マイクロ秒」間隔で印加エネルギーを再評価して（Ｓ６１〜Ｓ６５）、サブパルスの印加を継続するか否かを判断する（Ｓ５７）。印加制御係数Ｃｓが「０」未満になると（Ｓ５７：ＹＥＳ）、駆動回路４０６がＳＴＢ信号を「Ｈｉｇｈ」から「Ｌｏｗ」に制御して、発熱素子２０の加熱が中断される。
【００５１】
以上の通電制御では、メインパルスを先に印加することで、通電可能時間ｔ１内で少なくともメインパルスの印加を完了させることができる。カウンタｔが通電可能時間ｔ１を超えるため、メインパルスおよびサブパルスの印加が完了する前に通電可能時間ｔ１を超える場合がある。この場合、サブパルスの印加が途中で中断されるが、メインパルスを先に印加したことで駆動対象の発熱素子２０に印加エネルギーが確保される。サブパルスの印加が終了した時点から印加周期Ｔｓの終了時までは、非加熱時間Ｔｇである。駆動パルスの印加に伴って低下したヘッド電圧は、非加熱時間Ｔｇで上昇する。
【００５２】
ところで、サーマルヘッド１０で複数ラインを連続して印字する場合（例えば、ベタ印字等）、非加熱時間Ｔｇでヘッド電圧が初期値まで回復しないことがある。そうすると、印字が進むほどヘッド電圧が漸減して、印加エネルギー再評価（Ｓ４５、Ｓ６５）で使用される電圧変動係数Ｃ（Ｖ）が低くなり、駆動パルスの印加時間が長くなる。これにより、駆動パルスの印加中に通電可能時間ｔ１を超えてしまい、駆動パルスの印加が完了する前に中断されて、発熱素子２０のエネルギー不足によるカスレが生じるおそれがある。
【００５３】
また、メインパルス（主加熱）は、印字対象となる発熱素子２０（印字ドット）の全てに印加される一方、サブパルス（補助加熱）は、補助加熱したい印字ドット（例えば、カスレが生じやすい部位にあたるドット）のみに印加される。メインパルスおよびサブパルスの総印加時間（カウンタｔ）が通電可能時間ｔ１を超える場合には、先に印加するパルスは必要エネルギーを確保できる一方、後に印加するパルスは印加が中断されるので必要エネルギーを確保できないおそれがある。特に、サブパルスを先に印加する場合には、後に印加されるメインパルスの必要エネルギーを確保できないために、全ての印字ドットで印字品質の劣化（例えば、カスレ）が生じるおそれがある。
【００５４】
本実施形態のサーマルプリンタ１では、通電ライン１２に対する駆動パルスの印加時間が通電可能時間ｔ１以下である場合、サブパルスが先に発熱素子２０に印加され、メインパルスが後に発熱素子２０に印加される。これにより、発熱素子２０を効率的に加熱して、サーマルヘッド１０の必要エネルギーを確保できる。一方、通電ライン１２に対する駆動パルスの印加時間が通電可能時間ｔ１を超える場合、メインパルスが先に発熱素子２０に印加され、サブパルスが後に発熱素子２０に印加される。これにより、少なくとも先に印加されるメインパルスの必要エネルギーを確保できる。この場合、後に印加されるサブパルスの必要エネルギーを確保できなくても、補助加熱したい印字ドットのみに印字品質の劣化（例えば、カスレ）が生じるため、印字ライン全体で見れば印字品質の劣化が目立ちにくい。このように、駆動パルスの印加時間と通電可能時間ｔ１との関係に応じて、メインパルスおよびサブパルスの印加順序を切り替えることで、エネルギー不足に起因する印字品質の劣化を抑制することができる。
【００５５】
本発明の第二実施形態について説明する。第二実施形態は、サーマルプリンタ１のメイン処理の詳細が、第一実施形態（図６参照）と異なる。以下では、第一実施形態と異なる点のみを説明する。
【００５６】
図１１を参照して、本実施形態のサーマルプリンタ１で実行されるメイン処理について説明する。まず、ステップＳ１〜Ｓ７と同様に、環境温度が取得され（Ｓ１０１）、印字制御が開始され（Ｓ１０３）、カウンタｔが「０」に初期化され（Ｓ１０５）、ヘッド電圧が取得される（Ｓ１０７）。次いで、ステップＳ１０７で取得されたヘッド電圧Ｖが、電圧閾値Ｖ１を超えるか否かが判断される（Ｓ１０９）。電圧閾値Ｖ１は、駆動パルスの印加時間が通電可能時間ｔ１を超える可能性が高いと推定される、あらかじめ定められたヘッド電圧の上限値（例えば「８Ｖ」）である。
【００５７】
ヘッド電圧Ｖが電圧閾値Ｖ１を超える場合（Ｓ１０９：ＹＥＳ）、ステップＳ９〜Ｓ２１と同様に処理が進む。すなわち、カウンタｔが通電可能時間ｔ１以下であるか否かが判断される（Ｓ１１１）。カウンタｔが通電可能時間ｔ１以下である場合（Ｓ１１１：ＹＥＳ）、サブパルス処理が実行され（Ｓ１１３）、メインパルス処理が実行され（Ｓ１１５）、カウンタｔｓとカウンタｔｍとを加算した値がカウンタｔに設定される（Ｓ１１７）。カウンタｔが通電可能時間ｔ１を超える場合（Ｓ１１１：ＮＯ）、メインパルス処理が実行され（Ｓ１１９）、サブパルス処理が実行され（Ｓ１２１）、カウンタｔｍとカウンタｔｓとを加算した値がカウンタｔに設定される（Ｓ１１７）。
【００５８】
一方、ヘッド電圧Ｖが電圧閾値Ｖ１以下である場合（Ｓ１０９：ＮＯ）、メインパルス処理が実行され（Ｓ１１９）、サブパルス処理が実行され（Ｓ１２１）、カウンタｔｓとカウンタｔｍとの加算値がカウンタｔに設定される（Ｓ１１７）。先述したように、サーマルヘッド１０で複数ラインを連続して印字する場合、印字が進むほどヘッド電圧が漸減する。そこで、ヘッド電圧Ｖが電圧閾値Ｖ１以下である場合には、駆動パルスの印加時間が通電可能時間ｔ１を超える可能性が高いとみなして、メインパルスをサブパルスよりも先に印加している。
【００５９】
なお、メインパルス処理（Ｓ１１５、Ｓ１１９）は第一実施形態（図７）と同様であり、サブパルス処理（Ｓ１１３、Ｓ１２１）は第一実施形態（図８）と同様であるから、説明を省略する。ステップＳ１１７の実行後、印字を継続するか否かが判断される（Ｓ１２３）。印字を継続する場合（Ｓ１２３：ＹＥＳ）、処理はステップＳ１０７に戻る。印字を継続しない場合（Ｓ１２３：ＮＯ）、メイン処理が終了される。
【００６０】
本実施形態のサーマルプリンタ１では、第一実施形態と同様に、駆動パルスの印加時間と通電可能時間ｔ１との関係に応じて、メインパルスおよびサブパルスの印加順序を切り替えることで、エネルギー不足に起因する印字品質の劣化を抑制することができる。さらに、ヘッド電圧Ｖが電圧閾値Ｖ１以下である場合、駆動パルスの印加時間が通電可能時間ｔ１を超えるか否かにかかわらず、メインパルスを発熱素子２０に印加したのち、サブパルスを発熱素子２０に印加する。これにより、エネルギー不足に起因する印字品質の劣化を、ヘッド電圧に基づいて確実に抑制することができる。
【００６１】
ところで、ステップＳ１０７では、１ドットサイクルにおける通電終了時の発熱素子２０の電圧（ヘッド電圧）を取得すればよい。より好適には、メインパルスをサブパルスよりも先に印加する場合は、サブパルスの印加終了時のヘッド電圧を取得することが好適である。サブパルスをメインパルスよりも先に印加する場合は、メインパルスの印加終了時のヘッド電圧を取得することが好適である。これにより、前回の１ドットサイクルの印字時において、最もヘッド電圧が小さくなる時点での電圧値を取得して、駆動パルスの印加順序をより正確に制御することができる。
【００６２】
なお、図１１に示すフローチャートでは、１ドットサイクルの通電が終了する毎に取得されたヘッド電圧Ｖが、電圧閾値Ｖ１を超えるか否かに基づいて駆動パルスの印加順序を制御している。これに代えて、サーマルプリンタ１が電源ＯＮされた直後（つまり、図１１の開始直後）に取得されたヘッド電圧Ｖが、電圧閾値Ｖ１を超えるか否かに基づいて駆動パルスの印加順序を制御してもよい。これにより、サーマルプリンタ１が電源ＯＮされた直後のヘッド電圧Ｖが電圧閾値Ｖ１以下である場合は、全ラインの印字が完了するまでメインパルスがサブパルスよりも先に印加される。そのため、１ドットサイクルの通電が終了する毎に駆動パルスの印加順序を制御する必要がなく、サーマルプリンタ１の処理負担を軽減できる。
【００６３】
本発明の第三実施形態について説明する。第三実施形態は、サーマルプリンタ１のメイン処理の詳細が、第一実施形態（図６参照）と異なる。以下では、第一実施形態と異なる点のみを説明する。
【００６４】
図１２を参照して、本実施形態のサーマルプリンタ１で実行されるメイン処理について説明する。まず、ステップＳ１〜Ｓ７と同様に、環境温度が取得され（Ｓ２０１）、印字制御が開始され（Ｓ２０３）、カウンタｔが「０」に初期化され（Ｓ２０５）、ヘッド電圧が取得される（Ｓ２０７）。次いで、ステップＳ２０１で取得された環境温度Ｋが、温度閾値Ｋ１を超えるか否かが判断される（Ｓ２０９）。温度閾値Ｋ１は、駆動パルスの印加時間が通電可能時間ｔ１を超える可能性が高いと推定される、あらかじめ定められた環境温度の上限値（例えば「１０℃」）である。
【００６５】
環境温度Ｋが温度閾値Ｋ１を超える場合（Ｓ２０９：ＹＥＳ）、ステップＳ９〜Ｓ２１と同様に処理が進む。すなわち、カウンタｔが通電可能時間ｔ１以下であるか否かが判断される（Ｓ２１１）。カウンタｔが通電可能時間ｔ１以下である場合（Ｓ２１１：ＹＥＳ）、サブパルス処理が実行され（Ｓ２１３）、メインパルス処理が実行され（Ｓ２１５）、カウンタｔｓとカウンタｔｍとを加算した値がカウンタｔに設定される（Ｓ２１７）。カウンタｔが通電可能時間ｔ１を超える場合（Ｓ２１１：ＮＯ）、メインパルス処理が実行され（Ｓ２１９）、サブパルス処理が実行され（Ｓ２２１）、カウンタｔｍとカウンタｔｓとの加算値がカウンタｔに設定される（Ｓ２１７）。
【００６６】
一方、環境温度Ｋが温度閾値Ｋ１以下である場合（Ｓ２０９：ＮＯ）、メインパルス処理が実行され（Ｓ２１９）、サブパルス処理が実行され（Ｓ２２１）、カウンタｔｓとカウンタｔｍとを加算した値がカウンタｔに設定される（Ｓ２１７）。サーマルヘッド１０は、環境温度が低いほど、必要エネルギーを確保するための通電時間が長くなる。そこで、環境温度Ｋが温度閾値Ｋ１以下である場合には、駆動パルスの印加時間が通電可能時間ｔ１を超える可能性が高いとみなして、メインパルスをサブパルスよりも先に印加している。
【００６７】
なお、メインパルス処理（Ｓ２１５、Ｓ２１９）は第一実施形態（図７）と同様であり、サブパルス処理（Ｓ２１３、Ｓ２２１）は第一実施形態（図８）と同様であるから、説明を省略する。ステップＳ２１７の実行後、印字を継続するか否かが判断される（Ｓ２２３）。印字を継続する場合（Ｓ２２３：ＹＥＳ）、処理はステップＳ２０７に戻る。印字を継続しない場合（Ｓ２２３：ＮＯ）、メイン処理が終了される。
【００６８】
本実施形態のサーマルプリンタ１では、第一実施形態と同様に、駆動パルスの印加時間と通電可能時間ｔ１との関係に応じて、メインパルスおよびサブパルスの印加順序を切り替えることで、エネルギー不足に起因する印字品質の劣化を抑制することができる。さらに、環境温度Ｋが温度閾値Ｋ１以下である場合、駆動パルスの印加時間が通電可能時間ｔ１を超えるか否かにかかわらず、メインパルスを発熱素子２０に印加したのち、サブパルスを発熱素子２０に印加する。これにより、エネルギー不足に起因する印字品質の劣化を、環境温度に基づいて確実に抑制することができる。
【００６９】
なお、図１２に示すフローチャートでは、サーマルプリンタ１が電源ＯＮされた直後（つまり、図１２の開始直後）に取得された環境温度Ｋが、温度閾値Ｋ１を超えるか否かに基づいて駆動パルスの印加順序を制御している。これに代えて、１ドットサイクルの通電が終了する毎に環境温度Ｋを取得して、温度閾値Ｋ１を超えるか否かに基づいて駆動パルスの印加順序を制御してもよい。これにより、サーマルプリンタ１が電源ＯＮされた後に環境温度が変化した場合には、その環境温度の変化に応じて駆動パルスの印加順序が切り替わるため、駆動パルスの印加順序をより正確に制御できる。
【００７０】
本発明の第四実施形態について説明する。第三四施形態は、サーマルプリンタ１のメイン処理の詳細が、第一実施形態（図６参照）と異なる。以下では、第一実施形態と異なる点のみを説明する。
【００７１】
図１３を参照して、本実施形態のサーマルプリンタ１で実行されるメイン処理について説明する。まず、ステップＳ１〜Ｓ７と同様に、環境温度が取得され（Ｓ３０１）、印字制御が開始され（Ｓ３０３）、カウンタｔが「０」に初期化され（Ｓ３０５）、ヘッド電圧が取得される（Ｓ３０７）。次いで、ステップＳ３０１で取得された環境温度Ｋが温度閾値Ｋ１以下であり、且つ、ステップＳ３０７で取得されたヘッド電圧Ｖが電圧閾値Ｖ１以下であるかが判断される（Ｓ３０９）。
【００７２】
環境温度Ｋが温度閾値Ｋ１を超えるか、あるいはヘッド電圧Ｖが電圧閾値Ｖ１を超える場合（Ｓ３０９：ＮＯ）、ステップＳ９〜Ｓ２１と同様に処理が進む。すなわち、カウンタｔが通電可能時間ｔ１以下であるか否かが判断される（Ｓ３１１）。カウンタｔが通電可能時間ｔ１以下である場合（Ｓ３１１：ＹＥＳ）、サブパルス処理が実行され（Ｓ３１３）、メインパルス処理が実行され（Ｓ３１５）、カウンタｔｓとカウンタｔｍとを加算した値がカウンタｔに設定される（Ｓ３１７）。カウンタｔが通電可能時間ｔ１を超える場合（Ｓ３１１：ＮＯ）、メインパルス処理が実行され（Ｓ３１９）、サブパルス処理が実行され（Ｓ３２１）、カウンタｔｍとカウンタｔｓとの加算値がカウンタｔに設定される（Ｓ３１７）。
【００７３】
一方、環境温度Ｋが温度閾値Ｋ１以下であり、且つヘッド電圧Ｖが電圧閾値Ｖ１以下である場合（Ｓ３０９：ＮＯ）、メインパルス処理が実行され（Ｓ３１９）、サブパルス処理が実行され（Ｓ３２１）、カウンタｔｓとカウンタｔｍとを加算した値がカウンタｔに設定される（Ｓ３１７）。先述したように、サーマルヘッド１０は、環境温度が低いほど、必要エネルギーを確保するための通電時間が長くなる。また、サーマルヘッド１０で複数ラインを連続して印字する場合、印字が進むほどヘッド電圧が漸減する。そこで、環境温度Ｋが温度閾値Ｋ１以下であり、且つヘッド電圧Ｖが電圧閾値Ｖ１以下である場合には、駆動パルスの印加時間が通電可能時間ｔ１を超える可能性が高いとみなして、メインパルスをサブパルスよりも先に印加している。
【００７４】
なお、メインパルス処理（Ｓ３１５、Ｓ３１９）は第一実施形態（図７）と同様であり、サブパルス処理（Ｓ３１３、Ｓ３２１）は第一実施形態（図８）と同様であるから、説明を省略する。ステップＳ３１７の実行後、印字を継続するか否かが判断される（Ｓ３２３）。印字を継続する場合（Ｓ３２３：ＹＥＳ）、処理はステップＳ３０７に戻る。印字を継続しない場合（Ｓ３２３：ＮＯ）、メイン処理が終了される。
【００７５】
本実施形態のサーマルプリンタ１では、第一実施形態と同様に、駆動パルスの印加時間と通電可能時間ｔ１との関係に応じて、メインパルスおよびサブパルスの印加順序を切り替えることで、エネルギー不足に起因する印字品質の劣化を抑制することができる。さらに、環境温度Ｋが温度閾値Ｋ１以下であり、且つヘッド電圧Ｖが電圧閾値Ｖ１以下である場合、駆動パルスの印加時間が通電可能時間ｔ１を超えるか否かにかかわらず、メインパルスを発熱素子２０に印加したのち、サブパルスを発熱素子２０に印加する。これにより、エネルギー不足に起因する印字品質の劣化を、環境温度に基づいて確実に抑制することができる。
【００７６】
なお、環境温度Ｋおよびヘッド電圧Ｖの取得タイミングは、第二、第三実施形態で説明したように変更してもよい。すなわち、図１３に示すフローチャートにおいて、サーマルプリンタ１が電源ＯＮされた直後（つまり、図１１の開始直後）に取得されたヘッド電圧Ｖが、電圧閾値Ｖ１以下であるかを判断してもよい（Ｓ３０９）。また、１ドットサイクルの通電が終了する毎に環境温度Ｋを取得して、電圧閾値Ｖ１以下であるかを判断してもよい（Ｓ３０９）。
【００７７】
第一〜第四実施形態において、テープ送りモータ２４が、本発明の「搬送手段」に相当する。第一実施形態において、ステップＳ１１、Ｓ１３、Ｓ１７、Ｓ１９を実行するＣＰＵ４０１が、本発明の「印加制御手段」に相当する。ステップＳ１５を実行するＣＰＵ４０１が、本発明の「印加時間取得手段」に相当する。ステップＳ９を実行するＣＰＵ４０１が、本発明の「時間判断手段」に相当する。
【００７８】
第二実施形態において、ステップＳ１１３、Ｓ１１５、Ｓ１１９、Ｓ１２１を実行するＣＰＵ４０１が、本発明の「印加制御手段」に相当する。ステップＳ１１７を実行するＣＰＵ４０１が、本発明の「印加時間取得手段」に相当する。ステップＳ１１１を実行するＣＰＵ４０１が、本発明の「時間判断手段」に相当する。ステップＳ１０７を実行するＣＰＵ４０１が、本発明の「電圧取得手段」に相当する。ステップＳ１０９を実行するＣＰＵ４０１が、本発明の「電圧判断手段」に相当する。
【００７９】
第三実施形態において、ステップＳ２１３、Ｓ２１５、Ｓ２１９、Ｓ２２１を実行するＣＰＵ４０１が、本発明の「印加制御手段」に相当する。ステップＳ２１７を実行するＣＰＵ４０１が、本発明の「印加時間取得手段」に相当する。ステップＳ２１１を実行するＣＰＵ４０１が、本発明の「時間判断手段」に相当する。ステップＳ２０１を実行するＣＰＵ４０１が、本発明の「温度取得手段」に相当する。ステップＳ２０９を実行するＣＰＵ４０１が、本発明の「温度判断手段」に相当する。
【００８０】
第四実施形態において、ステップＳ３１３、Ｓ３１５、Ｓ３１９、Ｓ３２１を実行するＣＰＵ４０１が、本発明の「印加制御手段」に相当する。ステップＳ３１７を実行するＣＰＵ４０１が、本発明の「印加時間取得手段」に相当する。ステップＳ３１１を実行するＣＰＵ４０１が、本発明の「時間判断手段」に相当する。ステップＳ３０１を実行するＣＰＵ４０１が、本発明の「温度取得手段」に相当する。ステップＳ３０７を実行するＣＰＵ４０１が、本発明の「温度取得手段」に相当する。本発明の「電圧取得手段」に相当する。ステップＳ３０９を実行するＣＰＵ４０１が、本発明の「温度判断手段」および「電圧判断手段」に相当する。
【００８１】
なお、本発明は、上記実施の形態に限定されるものではなく、種々の変更が可能である。例えば、印加エネルギー再評価（Ｓ４５、Ｓ６５参照）では、電圧変動係数Ｃ（Ｖ）のみならず他の要素も考慮して、印加制御係数Ｃｍ、Ｃｓを更新してもよい（例えば、特開２００５−２８００９９号公報参照）。
【００８２】
例えば、メインパルス印加処理（図７）では、印加エネルギーの再評価（Ｓ４５）を「Ｃｍ←Ｃｍ−Ｃｍ（Ｖ）×ｔ×ｄ」の計算式によって行なってもよい。温度係数ｔは、環境温度によって決定される係数である。蓄熱係数ｄは、印字ドット積算数および環境温度で決定される係数である。これによれば、サーマルヘッド１０の蓄熱が進んでいる場合には、メインパルスの通電時間が短くなり、印字潰れの発生を回避することができる。
【００８３】
サブパルス印加処理（図８）では、印加エネルギーの再評価（Ｓ６５）を「Ｃｓ←Ｃｓ−Ｃｓ（Ｖ）×ｔ×ｄ×Ｍ（ｒ）」の計算式によって行なってもよい。補正係数Ｍは、メインパルスのパルス幅（メインパルスのカウンタｒの数値）によって決定される係数である。これによれば、サーマルヘッド１０の蓄熱が進んでおり、且つ、メインパルスの通電時間が長い場合には、サブパルスの通電時間が短くなり、印字潰れの発生を回避することができる。
【符号の説明】
【００８４】
１    サーマルプリンタ
１０    サーマルヘッド
２４    テープ送りモータ
２６    温度センサ
２７    電圧センサ
３０    テープカセット
５９    フィルムテープ
６０    インクリボン
６３    電圧変動係数テーブル
４０１  ＣＰＵ
【図１】
0005849733.tif 000002
【図２】
0005849733.tif 000003
【図３】
0005849733.tif 000004
【図４】
0005849733.tif 000005
【図５】
0005849733.tif 000006
【図６】
0005849733.tif 000007
【図７】
0005849733.tif 000008
【図８】
0005849733.tif 000009
【図９】
0005849733.tif 000010
【図１０】
0005849733.tif 000011
【図１１】
0005849733.tif 000012
【図１２】
0005849733.tif 000013
【図１３】
0005849733.tif 000014