本発明を具体化した実施の形態について、図面を参照して説明する。なお、参照する図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている装置の構成などは、それのみに限定する趣旨ではなく、単なる説明例である。
本発明の第一実施形態について説明する。本実施形態に係るサーマルプリンタ1の概略構成について説明する。サーマルプリンタ1は、テープ状の印字媒体(例えば、後述するフィルムテープ59)の幅方向に、一列毎にキャラクタ(文字、記号及び数字等)を印字可能である。
図1〜図3を参照して、サーマルプリンタ1の物理的構成について説明する。図1に示すように、サーマルプリンタ1の上面には、キャラクタを入力するためのキーボード3が設けられている。キーボード3の後側(紙面右上側)には、電源キー、決定キー、印字キー等を含む機能キー群4が設けられている。以下の説明では、機能キー群4とキーボード3とを総称する場合、操作部2という。機能キー群4の後側には、入力したキャラクタ等を表示するためのディスプレイ5が設けられている。サーマルプリンタ1の上面の後部には、カセット装着部8を開閉可能なカバー6が設けられている。サーマルプリンタ1の左後角には、カットされた印字済みテープ50を受けるテープトレイ(図示外)が設けられている。
図2に示すように、カセット装着部8には、テープカセット30が上下方向に着脱される。テープカセット30は、全体としては平面視で丸みを帯びた角部を有する略直方体状(箱型)の筐体であるカセットケース31を有している。カセットケース31内の左側後部には、巻回された両面粘着テープ58が配置されている。右側後部には、巻回された透明なフィルムテープ59が配置されている。右側前部には、リボンスプール42に巻回されたインクリボン60が配置されている。カセットケース31内における両面粘着テープ58とリボンスプール42との間には、リボン巻取スプール44が回転可能に配置されている。
カセットケース31の前部のうち、テープカセット30右側から左方に延びる部位をアーム部34という。アーム部34の先端部には、開口34Aが形成されている。フィルムテープ59とインクリボン60とは、開口34Aで重ね合わされて搬送される。アーム部34の後側には、カセットケース31を上下方向に貫通する平面視略長方形状の空間であるヘッド挿入部39が設けられている。ヘッド挿入部39の下流側には、テープ駆動ローラ46が回転可能に軸支されている。
カセット装着部8には、リボン巻取スプール44を回転駆動するリボン巻取軸9が立設されている。リボン巻取軸9の左前方には、正面視で略矩形状のヘッドホルダ74が立設されている。ヘッドホルダ74の前面には、フィルムテープ59に文字等を印字するサーマルヘッド10が取り付けられている。ヘッドホルダ74の左方には、テープ駆動ローラ46を回転駆動するテープ駆動軸11が立設されている。カセット装着部8の前側には、可動搬送ローラ14とプラテンローラ15とを備えたローラホルダ18が配設されている。ローラホルダ18は、ホルダ軸181を中心に回動可能に軸支されている。
カバー6が下方に閉じられると、ローラホルダ18は後方に回動し、図2に示す印字位置に移動する。印字位置では、プラテンローラ15がサーマルヘッド10に圧接され、且つ、可動搬送ローラ14がテープ駆動ローラ46に圧接される。ローラホルダ18が印字位置にある場合、サーマルプリンタ1は、カセット装着部8に装着されたテープカセット30を用いた印字動作が可能となる。カバー6が上方に開かれると、ローラホルダ18は前方に回動し、サーマルヘッド10及びテープ駆動ローラ46から離間する。この場合、カセット装着部8にテープカセット30を着脱自在となる。
図3に示すように、サーマルヘッド10の前面には、複数(本実施形態では128個)の発熱素子20が、上下方向に一列に並んで配設されて、通電ライン12が形成されている。発熱素子20が一列に並んだ方向(通電ライン12の延びる方向)が、サーマルヘッド10の主走査方向D1である。主走査方向D1に垂直な方向が、サーマルヘッド10の副走査方向D2である。
図1〜図3に示すように、印字動作の実行時には、テープ駆動軸11によって回転駆動されるテープ駆動ローラ46が、対向する可動搬送ローラ14と協働して、フィルムテープ59を引き出す。リボン巻取軸9によって回転駆動されるリボン巻取スプール44が、リボンスプール42からインクリボン60を引き出す。サーマルヘッド10は、引き出されたインクリボン60を使用して、引き出されたフィルムテープ59への印字を行う。
具体的には、複数の発熱素子20が、後述の制御回路部400(図4参照)によって選択的かつ間欠的に通電(パルス印加)されて、インクリボン60に塗布されているインクを溶融或いは昇華させる。これにより、インクリボン60に形成されたインク層のインクは、フィルムテープ59にドット単位(印字ドット)で転写される。フィルムテープ59には、印字データに基づくドット画像が鏡像で形成される。
サーマルヘッド10での印字に使用されたインクリボン60は、リボン巻取スプール44に巻き取られる。さらに、テープ駆動ローラ46は、対向する可動搬送ローラ14と協働して、両面粘着テープ58を引き出して、フィルムテープ59の印字面にガイドして接着させる。接着されたフィルムテープ59と両面粘着テープ58は、テープ排出口49から排出され、印字済みテープ50となる。
図4を参照して、サーマルプリンタ1の電気的構成について説明する。サーマルプリンタ1は、制御基板上に形成される制御回路部400を備えている。制御回路部400は、CPU401、ROM402、CGROM403、RAM404、フラッシュメモリ410、入出力インターフェース411などを備え、これらがデータバスを介して接続されている。
ROM402には、CPU401がサーマルプリンタ1を制御するために実行する各種プログラムが記憶されている。CGROM403には、キャラクタを印字するための印字用ドットパターンデータが記憶されている。RAM404には、図示しないテキストメモリ、印字バッファ等、複数の記憶領域が設けられている。テキストメモリには、操作部2から入力されたキャラクタが格納される。印字バッファには、キャラクタの印字用ドットパターンが、ドットパターンデータとして格納される。フラッシュメモリ410には、後述する電圧変動係数テーブル63や各種カウンタが記憶されている。
入出力インターフェース411には、操作部2、液晶駆動回路(LCDC)405、駆動回路406、407、408、温度センサ26、電圧センサ27などが接続されている。液晶駆動回路(LCDC)405は、ディスプレイ5に表示データを出力するためのビデオRAM(図示外)を有する。駆動回路406は、サーマルヘッド10を駆動するための電子回路である。駆動回路407は、リボン巻取軸9およびテープ駆動軸11を回転させるテープ送りモータ24を駆動するための電子回路である。駆動回路408は、印字済みテープ50を切断するカット機構(図示外)を動作させるカッターモータ25を駆動するための電子回路である。温度センサ26は、サーマルプリンタ1周辺の環境温度を計測する。電圧センサ27は、サーマルヘッド10の電圧(ヘッド電圧)を計測する。
図5に示すように、電圧変動係数テーブル63には、電圧センター値631、電圧センター値631に対応する電圧の範囲(16進数データ値)632、電圧範囲632に対応する電圧変動係数C(V)633が定義されている。電圧変動係数C(V)は、発熱素子20に対する印加エネルギーを設定する際に、ヘッド電圧に応じて印加するパルス幅を変化させるために用いられる定数である。図5では、電圧変動係数C(V)の値も16進数データで記載されている。電圧変動係数テーブル63では、電圧センター値631および電圧の範囲632に示されるヘッド電圧が高くなるほど、対応する電圧変動係数C(V)633により高い数値が設定されている。
一般に、ヘッド電圧が高いほど、発熱素子20の発熱に要する通電時間は短くてよい。言い換えると、ヘッド電圧が高いほど、より短い通電時間で、サーマルヘッド10で印字するのに必要なエネルギー(必要エネルギー)を確保することができる。本実施形態では、後述の印加エネルギー再評価(S45、S65参照)において、固定値からC(V)の値を減算して「0」になったときに、発熱素子20への通電が中断される。そのため、電圧変動係数テーブル63では、ヘッド電圧が高くなるほど電圧変動係数C(V)の値を大きくすることで、ヘッド電圧が高いときには駆動パルスの印加時間を短くして、印加エネルギーの調整が行なわれる。
上記のような構成によって、操作部2から入力されたキャラクタ列(テキスト)が、RAM404のテキストメモリに順次記憶されるとともに、そのテキストに対応するドットパターンがディスプレイ5に表示される。テープ送りモータ24がテープ送り制御を行い、これと同期してサーマルヘッド10がRAM404の印字バッファに記憶されたドットパターンデータの印字を行う。このとき、サーマルヘッド10は、各発熱素子20が1ライン分の印字ドット(128ドット)に対応して選択的に発熱駆動されて、キャラクタを印字する。詳細には、先述の駆動回路406が、発熱素子20毎に対応付けられたデータ信号に基づいて、各発熱素子20の通電(パルス印加)を制御することで、通電ライン12による1ライン(128ドット)毎の印字処理が行われる。
本実施形態では、発熱素子20の通電に使用される駆動パルスとして、印字媒体を発色させるための主加熱となるメインパルスと、メインパルスを補うために発熱素子を補助加熱するサブパルスとが使用される。発熱素子20は、1ドットサイクルで少なくともメインパルスが印加される。また、発熱素子20は、1ドットサイクルでメインパルスと併せてサブパルスを印加することで、発熱素子20を効率的に加熱したり、素子温度を維持したりすることができる。サーマルプリンタ1では、インクリボン60を使用して印字するので、必要エネルギーが確保された発熱素子20は、インクリボン60上のインクを溶融或いは昇華させて、ドット印字を実行可能となる。
図6〜図8を参照して、本実施形態のサーマルプリンタ1で実行されるメイン処理について説明する。以下のメイン処理は、サーマルプリンタ1の電源が投入されると、ROM402に記憶されたプログラムに従って、CPU401によって実行される。
図6に示すように、サーマルプリンタ1のメイン処理では、まず温度センサ26からサーマルプリンタ1の環境温度が取得される(S1)。次いで、ユーザからの指示に従って、印字が開始される(S3)。最新(つまり、前回)の1ドットサイクルの総通電時間を示すカウンタtが、「0」に初期化される(S5)。電圧センサ27からヘッド電圧が取得される(S7)。次いで、カウンタtが通電可能時間t1以下であるか否かが判断される(S9)。
通電可能時間t1は、1ドットサイクルあたりに発熱素子20へ通電する限界時間であり、サーマルプリンタ1および発熱素子20の特性に応じて定められた固定値である。本実施形態では、通電可能時間t1は「6.5ミリ秒」であり、1ドットサイクルの通電時間が「6.5ミリ秒」を超えると、発熱素子20の通電が中断される。例えば電源が投入された直後であれば、カウンタtは「0」であり、通電可能時間t1「6.5ミリ秒」よりも小さいから、カウンタtが通電可能時間t1以下であると判断される(S9:YES)。
カウンタtが通電可能時間t1以下である場合(S9:YES)、通電ライン12にサブパルスを印加するサブパルス処理が実行され(S11)、次いで、通電ライン12にメインパルスを印加するメインパルス処理が実行される(S13)。つまり、通電ライン12に含まれる駆動対象の発熱素子20に対して、サブパルスが先に選択的に印加され、メインパルスが後に選択的に印加される。ステップS13の実行後、ステップS11でサブパルスが印加された時間を示すカウンタtsと、ステップS13でメインパルスが印加された時間を示すカウンタtmとを加算した値が、カウンタtに設定される(S15)。つまり、カウンタtが、最新の1ドットサイクルの印字時におけるメインパルスとサブパルスの総印加時間に更新される。
一方、カウンタtが通電可能時間t1を超える場合(S9:NO)、通電ライン12にメインパルスを印加するメインパルス処理が実行され(S17)、次いで、通電ライン12にサブパルスを印加するサブパルス処理が実行される(S19)。つまり、通電ライン12に含まれる駆動対象の発熱素子20に対して、メインパルスが先に選択的に印加され、サブパルスが後に選択的に印加される。ステップS19の実行後、ステップS17でメインパルスが印加された時間を示すカウンタtmと、ステップS19でサブパルスが印加された時間を示すカウンタtsとを加算した値が、カウンタtに設定される(S15)。つまり、カウンタtが、最新の1ドットサイクルの印字時におけるメインパルスとサブパルスの総印加時間に更新される。メインパルス処理(S13、S17)およびサブパルス処理(S11、S19)の詳細は、後述する。
ステップS15の実行後、印字を継続するか否かが判断される(S21)。RAM402の印字バッファに次ラインのドットパターンデータが記憶されている場合は、印字を継続すると判断されて(S21:YES)、処理はステップS7に戻り、最新のヘッド電圧が取得される。さらに、カウンタtが通電可能時間t1以下であるか否かに応じて、メインパルスおよびサブパルスの印加順序が切り替えられて、次ラインのドットパターンデータが1ドットサイクルで印字される(S9〜S19)。なお、RAM402の印字バッファに次ラインのドットパターンデータが記憶されていない場合は、印字を継続しないと判断されて(S21:NO)、メイン処理が終了される。
ところで、本実施形態では、印字対象のラインよりも一つ前のラインの対象ドットが印字されていない場合に、サブパルス処理(S11、S19)が実行される。よって、一つ前のラインの対象ドットが印字されている場合には、サブパルス処理(S11、S19)が実行されずにスキップされて、メインパルス処理(S13、S17)のみが実行されて、ドット印字が実行される。
図7に示すように、メインパルス処理(S13、S17)では、まず先述のカウンタtmが「0」に初期化される(S31)。駆動対象の発熱素子20に印加するメインパルスのパルス幅(通電時間)が設定される(S33)。例えば、公知技術と同様に、各発熱素子20に対して印加するパルス幅を、印加制御係数Cmに所定値を代入して設定する。印加制御係数Cmに代入される値は、サーマルヘッド10とテープの種類に対応してあらかじめ定められた固定値(本実施形態では、55400)である。さらに、後述する印加エネルギー再評価(S45)の実行回数を示すカウンタrが「0」に初期化される(S35)。
ステップS35の実行後、印加制御係数Cmが「0」未満であるか否かが判断される(S37)。印加制御係数Cmが「0」以上である場合(S37:NO)、通電対象の発熱素子20にメインパルスが印加されて、各発熱素子20がON状態となる(S39)。そして、前回の印加エネルギー再評価(S45)から「250マイクロ秒」経過したか否かが判断される(S41)。なお、メインパルス処理(S13、S17)の開始直後は、ステップS39の実行開始から「250マイクロ秒」経過したか否かが判断される。
「250マイクロ秒」経過していない場合(S41:NO)、処理はステップS39に戻り、発熱素子20のON状態が継続される。「250マイクロ秒」経過した場合(S41:YES)、カウンタrが「1」加算される(S43)。次いで、印加制御係数Cmの値を再計算して、今後印加すべきエネルギー量を決定する印加エネルギー再評価が実行される(S45)。この印加エネルギー再評価は、「Cm←Cm−Cm(V)×r」の計算式により行われる。
上記計算式で使用される電圧変動係数Cm(V)は、ステップS7で取得されたヘッド電圧に基づいて、電圧変動係数テーブル63(図5参照)を参照して取得される。そのため、ステップS7で取得されたヘッド電圧が高いほど、上記計算式で使用される電圧変動係数Cm(V)は大きくなる。つまり、上記計算式で印加制御係数Cmから減算される値(電圧変動係数Cm(V)およびカウンタrの乗算値)が、ヘッド電圧が高いほど大きくなる。
ステップS45の実行後、処理はステップS37に戻る。このとき、印加制御係数Cmが「0」未満であれば(S37:YES)、通電対象の発熱素子20に対するメインパルスの印加が終了されて、各発熱素子20がOFF状態となる(S47)。つまり、ステップS7で取得されたヘッド電圧が高いほど、メインパルスの通電時間が短くなる。一方、ヘッド電圧が低いほど、メインパルスの通電時間が長くなる。ステップS47の実行後、「250×(カウンタr+1)」で算出された値が、カウンタtmに設定される(S49)。その後、処理はメイン処理(図6)に戻る。
図8に示すように、サブパルス処理(S11、S19)では、まず先述のカウンタtsが「0」に初期化される(S51)。駆動対象の発熱素子20に印加するサブパルスのパルス幅(通電時間)が設定される(S53)。例えば、公知技術と同様に、各発熱素子20に対して印加するパルス幅を、印加制御係数Csに所定値を代入して設定する。印加制御係数Csに代入される値は、サーマルヘッド10とテープの種類に対応してあらかじめ定められた固定値(本実施形態では、55400)である。さらに、後述する印加エネルギー再評価(S65)の実行回数を示すカウンタrが「0」に初期化される(S55)。
ステップS55の実行後、印加制御係数Csが「0」未満であるか否かが判断される(S57)。印加制御係数Csが「0」以上である場合(S57:NO)、通電対象の発熱素子20にサブパルスが印加されて、各発熱素子20がON状態となる(S59)。そして、前回の印加エネルギー再評価(S65)から「250マイクロ秒」経過したか否かが判断される(S61)。なお、サブパルス処理(S11、S19)の開始直後は、ステップS59の実行開始から「250マイクロ秒」経過したか否かが判断される。
「250マイクロ秒」経過していない場合(S61:NO)、処理はステップS59に戻り、発熱素子20のON状態が継続される。「250マイクロ秒」経過した場合(S61:YES)、カウンタrが「1」加算される(S63)。次いで、印加制御係数Csの値を再計算して、今後印加すべきエネルギー量を決定する印加エネルギー再評価が実行される(S65)。この印加エネルギー再評価は、「Cs←Cs−Cs(V)×r」の計算式により行われる。
上記計算式で使用される電圧変動係数Cs(V)は、ステップS7で取得されたヘッド電圧に基づいて、電圧変動係数テーブル63(図5参照)を参照して取得される。そのため、ステップS7で取得されたヘッド電圧が高いほど、上記計算式で使用される電圧変動係数Cs(V)は大きくなる。つまり、上記計算式で印加制御係数Csから減算される値(電圧変動係数Cs(V)およびカウンタrの乗算値)が、ヘッド電圧が高いほど大きくなる。
ステップS65の実行後、処理はステップS57に戻る。このとき、印加制御係数Csが「0」未満であれば(S57:YES)、通電対象の発熱素子20に対するサブパルスの印加が終了されて、各発熱素子20がOFF状態となる(S67)。つまり、ステップS7で取得されたヘッド電圧が高いほど、サブパルスの通電時間が短くなる。一方、ヘッド電圧が低いほど、サブパルスの通電時間が長くなる。ステップS67の実行後、「250×(カウンタr+1)」で算出された値が、カウンタtsに設定される(S69)。その後、処理はメイン処理(図6)に戻る。
図9および図10を参照して、本実施形態のサーマルプリンタ1で実行される1ドットサイクルの通電制御について説明する。図9および図10において、印加周期Tsは、1ドットサイクルの通電制御に要する時間の長さを示す。
図9に示すように、上記のメイン処理(図6参照)では、カウンタtが通電可能時間t1以下である場合(S9:YES)、駆動対象の発熱素子20に対して、サブパルスが先、メインパルスが後に印加される(S11、S13)。この場合、1ドットサイクルの通電制御では、まず駆動回路406がサブパルスを駆動するストローブ信号(STB信号)を「Low」から「High」に制御して、駆動対象の発熱素子20にサブパルスが印加される(S59)。そして、「250マイクロ秒」間隔で印加エネルギーを再評価して(S61〜S65)、サブパルスの印加を継続するか否かを判断する(S57)。
印加制御係数Csが「0」未満になると(S57:YES)、駆動回路406がメインパルスを駆動するSTB信号を「Low」から「High」に制御して、駆動対象の発熱素子20にメインパルスが印加される(S39)。そして、「250マイクロ秒」間隔で印加エネルギーを再評価して(S41〜S45)、メインパルスの印加を継続するか否かを判断する(S37)。印加制御係数Cmが「0」未満になると(S37:YES)、駆動回路406がSTB信号を「High」から「Low」に制御して、発熱素子20の加熱が中断される。
以上の通電制御では、サブパルスを先に印加することで、その後に印加するメインパルスの立ち上がりが補助されて、発熱素子20を効率的に加熱することができる。カウンタtが通電可能時間t1以下であるため、通電可能時間t1を超える前にサブパルスおよびメインパルスの印加が完了して、駆動対象の発熱素子20に必要エネルギーが確保される。メインパルスの印加が終了した時点から印加周期Tsの終了時までは、発熱素子20を冷却させるための非加熱時間Tgである。ヘッド電圧は、定常状態での電圧値(初期値)は例えば「9V」であるが、駆動パルスの印加に伴ってヘッド電圧が低下する。非加熱時間Tgでは、駆動パルスの印加によって低下したヘッド電圧が上昇する。
図10に示すように、上記のメイン処理(図6参照)では、カウンタtが通電可能時間t1を超える場合(S9:NO)、駆動対象の発熱素子20に対して、メインパルスが先、サブパルスが後に印加される(S17、S19)。この場合、1ドットサイクルの通電制御では、まず駆動回路406がメインパルスを駆動するSTB信号を「Low」から「High」に制御して、駆動対象の発熱素子20にメインパルスが印加される(S39)。そして、「250マイクロ秒」間隔で印加エネルギーを再評価して(S41〜S45)、メインパルスの印加を継続するか否かを判断する(S37)。
印加制御係数Cmが「0」未満になると(S37:YES)、駆動回路406がサブパルスを駆動するSTB信号を「Low」から「High」に制御して、駆動対象の発熱素子20にサブパルスが印加される(S59)。そして、「250マイクロ秒」間隔で印加エネルギーを再評価して(S61〜S65)、サブパルスの印加を継続するか否かを判断する(S57)。印加制御係数Csが「0」未満になると(S57:YES)、駆動回路406がSTB信号を「High」から「Low」に制御して、発熱素子20の加熱が中断される。
以上の通電制御では、メインパルスを先に印加することで、通電可能時間t1内で少なくともメインパルスの印加を完了させることができる。カウンタtが通電可能時間t1を超えるため、メインパルスおよびサブパルスの印加が完了する前に通電可能時間t1を超える場合がある。この場合、サブパルスの印加が途中で中断されるが、メインパルスを先に印加したことで駆動対象の発熱素子20に印加エネルギーが確保される。サブパルスの印加が終了した時点から印加周期Tsの終了時までは、非加熱時間Tgである。駆動パルスの印加に伴って低下したヘッド電圧は、非加熱時間Tgで上昇する。
ところで、サーマルヘッド10で複数ラインを連続して印字する場合(例えば、ベタ印字等)、非加熱時間Tgでヘッド電圧が初期値まで回復しないことがある。そうすると、印字が進むほどヘッド電圧が漸減して、印加エネルギー再評価(S45、S65)で使用される電圧変動係数C(V)が低くなり、駆動パルスの印加時間が長くなる。これにより、駆動パルスの印加中に通電可能時間t1を超えてしまい、駆動パルスの印加が完了する前に中断されて、発熱素子20のエネルギー不足によるカスレが生じるおそれがある。
また、メインパルス(主加熱)は、印字対象となる発熱素子20(印字ドット)の全てに印加される一方、サブパルス(補助加熱)は、補助加熱したい印字ドット(例えば、カスレが生じやすい部位にあたるドット)のみに印加される。メインパルスおよびサブパルスの総印加時間(カウンタt)が通電可能時間t1を超える場合には、先に印加するパルスは必要エネルギーを確保できる一方、後に印加するパルスは印加が中断されるので必要エネルギーを確保できないおそれがある。特に、サブパルスを先に印加する場合には、後に印加されるメインパルスの必要エネルギーを確保できないために、全ての印字ドットで印字品質の劣化(例えば、カスレ)が生じるおそれがある。
本実施形態のサーマルプリンタ1では、通電ライン12に対する駆動パルスの印加時間が通電可能時間t1以下である場合、サブパルスが先に発熱素子20に印加され、メインパルスが後に発熱素子20に印加される。これにより、発熱素子20を効率的に加熱して、サーマルヘッド10の必要エネルギーを確保できる。一方、通電ライン12に対する駆動パルスの印加時間が通電可能時間t1を超える場合、メインパルスが先に発熱素子20に印加され、サブパルスが後に発熱素子20に印加される。これにより、少なくとも先に印加されるメインパルスの必要エネルギーを確保できる。この場合、後に印加されるサブパルスの必要エネルギーを確保できなくても、補助加熱したい印字ドットのみに印字品質の劣化(例えば、カスレ)が生じるため、印字ライン全体で見れば印字品質の劣化が目立ちにくい。このように、駆動パルスの印加時間と通電可能時間t1との関係に応じて、メインパルスおよびサブパルスの印加順序を切り替えることで、エネルギー不足に起因する印字品質の劣化を抑制することができる。
本発明の第二実施形態について説明する。第二実施形態は、サーマルプリンタ1のメイン処理の詳細が、第一実施形態(図6参照)と異なる。以下では、第一実施形態と異なる点のみを説明する。
図11を参照して、本実施形態のサーマルプリンタ1で実行されるメイン処理について説明する。まず、ステップS1〜S7と同様に、環境温度が取得され(S101)、印字制御が開始され(S103)、カウンタtが「0」に初期化され(S105)、ヘッド電圧が取得される(S107)。次いで、ステップS107で取得されたヘッド電圧Vが、電圧閾値V1を超えるか否かが判断される(S109)。電圧閾値V1は、駆動パルスの印加時間が通電可能時間t1を超える可能性が高いと推定される、あらかじめ定められたヘッド電圧の上限値(例えば「8V」)である。
ヘッド電圧Vが電圧閾値V1を超える場合(S109:YES)、ステップS9〜S21と同様に処理が進む。すなわち、カウンタtが通電可能時間t1以下であるか否かが判断される(S111)。カウンタtが通電可能時間t1以下である場合(S111:YES)、サブパルス処理が実行され(S113)、メインパルス処理が実行され(S115)、カウンタtsとカウンタtmとを加算した値がカウンタtに設定される(S117)。カウンタtが通電可能時間t1を超える場合(S111:NO)、メインパルス処理が実行され(S119)、サブパルス処理が実行され(S121)、カウンタtmとカウンタtsとを加算した値がカウンタtに設定される(S117)。
一方、ヘッド電圧Vが電圧閾値V1以下である場合(S109:NO)、メインパルス処理が実行され(S119)、サブパルス処理が実行され(S121)、カウンタtsとカウンタtmとの加算値がカウンタtに設定される(S117)。先述したように、サーマルヘッド10で複数ラインを連続して印字する場合、印字が進むほどヘッド電圧が漸減する。そこで、ヘッド電圧Vが電圧閾値V1以下である場合には、駆動パルスの印加時間が通電可能時間t1を超える可能性が高いとみなして、メインパルスをサブパルスよりも先に印加している。
なお、メインパルス処理(S115、S119)は第一実施形態(図7)と同様であり、サブパルス処理(S113、S121)は第一実施形態(図8)と同様であるから、説明を省略する。ステップS117の実行後、印字を継続するか否かが判断される(S123)。印字を継続する場合(S123:YES)、処理はステップS107に戻る。印字を継続しない場合(S123:NO)、メイン処理が終了される。
本実施形態のサーマルプリンタ1では、第一実施形態と同様に、駆動パルスの印加時間と通電可能時間t1との関係に応じて、メインパルスおよびサブパルスの印加順序を切り替えることで、エネルギー不足に起因する印字品質の劣化を抑制することができる。さらに、ヘッド電圧Vが電圧閾値V1以下である場合、駆動パルスの印加時間が通電可能時間t1を超えるか否かにかかわらず、メインパルスを発熱素子20に印加したのち、サブパルスを発熱素子20に印加する。これにより、エネルギー不足に起因する印字品質の劣化を、ヘッド電圧に基づいて確実に抑制することができる。
ところで、ステップS107では、1ドットサイクルにおける通電終了時の発熱素子20の電圧(ヘッド電圧)を取得すればよい。より好適には、メインパルスをサブパルスよりも先に印加する場合は、サブパルスの印加終了時のヘッド電圧を取得することが好適である。サブパルスをメインパルスよりも先に印加する場合は、メインパルスの印加終了時のヘッド電圧を取得することが好適である。これにより、前回の1ドットサイクルの印字時において、最もヘッド電圧が小さくなる時点での電圧値を取得して、駆動パルスの印加順序をより正確に制御することができる。
なお、図11に示すフローチャートでは、1ドットサイクルの通電が終了する毎に取得されたヘッド電圧Vが、電圧閾値V1を超えるか否かに基づいて駆動パルスの印加順序を制御している。これに代えて、サーマルプリンタ1が電源ONされた直後(つまり、図11の開始直後)に取得されたヘッド電圧Vが、電圧閾値V1を超えるか否かに基づいて駆動パルスの印加順序を制御してもよい。これにより、サーマルプリンタ1が電源ONされた直後のヘッド電圧Vが電圧閾値V1以下である場合は、全ラインの印字が完了するまでメインパルスがサブパルスよりも先に印加される。そのため、1ドットサイクルの通電が終了する毎に駆動パルスの印加順序を制御する必要がなく、サーマルプリンタ1の処理負担を軽減できる。
本発明の第三実施形態について説明する。第三実施形態は、サーマルプリンタ1のメイン処理の詳細が、第一実施形態(図6参照)と異なる。以下では、第一実施形態と異なる点のみを説明する。
図12を参照して、本実施形態のサーマルプリンタ1で実行されるメイン処理について説明する。まず、ステップS1〜S7と同様に、環境温度が取得され(S201)、印字制御が開始され(S203)、カウンタtが「0」に初期化され(S205)、ヘッド電圧が取得される(S207)。次いで、ステップS201で取得された環境温度Kが、温度閾値K1を超えるか否かが判断される(S209)。温度閾値K1は、駆動パルスの印加時間が通電可能時間t1を超える可能性が高いと推定される、あらかじめ定められた環境温度の上限値(例えば「10℃」)である。
環境温度Kが温度閾値K1を超える場合(S209:YES)、ステップS9〜S21と同様に処理が進む。すなわち、カウンタtが通電可能時間t1以下であるか否かが判断される(S211)。カウンタtが通電可能時間t1以下である場合(S211:YES)、サブパルス処理が実行され(S213)、メインパルス処理が実行され(S215)、カウンタtsとカウンタtmとを加算した値がカウンタtに設定される(S217)。カウンタtが通電可能時間t1を超える場合(S211:NO)、メインパルス処理が実行され(S219)、サブパルス処理が実行され(S221)、カウンタtmとカウンタtsとの加算値がカウンタtに設定される(S217)。
一方、環境温度Kが温度閾値K1以下である場合(S209:NO)、メインパルス処理が実行され(S219)、サブパルス処理が実行され(S221)、カウンタtsとカウンタtmとを加算した値がカウンタtに設定される(S217)。サーマルヘッド10は、環境温度が低いほど、必要エネルギーを確保するための通電時間が長くなる。そこで、環境温度Kが温度閾値K1以下である場合には、駆動パルスの印加時間が通電可能時間t1を超える可能性が高いとみなして、メインパルスをサブパルスよりも先に印加している。
なお、メインパルス処理(S215、S219)は第一実施形態(図7)と同様であり、サブパルス処理(S213、S221)は第一実施形態(図8)と同様であるから、説明を省略する。ステップS217の実行後、印字を継続するか否かが判断される(S223)。印字を継続する場合(S223:YES)、処理はステップS207に戻る。印字を継続しない場合(S223:NO)、メイン処理が終了される。
本実施形態のサーマルプリンタ1では、第一実施形態と同様に、駆動パルスの印加時間と通電可能時間t1との関係に応じて、メインパルスおよびサブパルスの印加順序を切り替えることで、エネルギー不足に起因する印字品質の劣化を抑制することができる。さらに、環境温度Kが温度閾値K1以下である場合、駆動パルスの印加時間が通電可能時間t1を超えるか否かにかかわらず、メインパルスを発熱素子20に印加したのち、サブパルスを発熱素子20に印加する。これにより、エネルギー不足に起因する印字品質の劣化を、環境温度に基づいて確実に抑制することができる。
なお、図12に示すフローチャートでは、サーマルプリンタ1が電源ONされた直後(つまり、図12の開始直後)に取得された環境温度Kが、温度閾値K1を超えるか否かに基づいて駆動パルスの印加順序を制御している。これに代えて、1ドットサイクルの通電が終了する毎に環境温度Kを取得して、温度閾値K1を超えるか否かに基づいて駆動パルスの印加順序を制御してもよい。これにより、サーマルプリンタ1が電源ONされた後に環境温度が変化した場合には、その環境温度の変化に応じて駆動パルスの印加順序が切り替わるため、駆動パルスの印加順序をより正確に制御できる。
本発明の第四実施形態について説明する。第三四施形態は、サーマルプリンタ1のメイン処理の詳細が、第一実施形態(図6参照)と異なる。以下では、第一実施形態と異なる点のみを説明する。
図13を参照して、本実施形態のサーマルプリンタ1で実行されるメイン処理について説明する。まず、ステップS1〜S7と同様に、環境温度が取得され(S301)、印字制御が開始され(S303)、カウンタtが「0」に初期化され(S305)、ヘッド電圧が取得される(S307)。次いで、ステップS301で取得された環境温度Kが温度閾値K1以下であり、且つ、ステップS307で取得されたヘッド電圧Vが電圧閾値V1以下であるかが判断される(S309)。
環境温度Kが温度閾値K1を超えるか、あるいはヘッド電圧Vが電圧閾値V1を超える場合(S309:NO)、ステップS9〜S21と同様に処理が進む。すなわち、カウンタtが通電可能時間t1以下であるか否かが判断される(S311)。カウンタtが通電可能時間t1以下である場合(S311:YES)、サブパルス処理が実行され(S313)、メインパルス処理が実行され(S315)、カウンタtsとカウンタtmとを加算した値がカウンタtに設定される(S317)。カウンタtが通電可能時間t1を超える場合(S311:NO)、メインパルス処理が実行され(S319)、サブパルス処理が実行され(S321)、カウンタtmとカウンタtsとの加算値がカウンタtに設定される(S317)。
一方、環境温度Kが温度閾値K1以下であり、且つヘッド電圧Vが電圧閾値V1以下である場合(S309:NO)、メインパルス処理が実行され(S319)、サブパルス処理が実行され(S321)、カウンタtsとカウンタtmとを加算した値がカウンタtに設定される(S317)。先述したように、サーマルヘッド10は、環境温度が低いほど、必要エネルギーを確保するための通電時間が長くなる。また、サーマルヘッド10で複数ラインを連続して印字する場合、印字が進むほどヘッド電圧が漸減する。そこで、環境温度Kが温度閾値K1以下であり、且つヘッド電圧Vが電圧閾値V1以下である場合には、駆動パルスの印加時間が通電可能時間t1を超える可能性が高いとみなして、メインパルスをサブパルスよりも先に印加している。
なお、メインパルス処理(S315、S319)は第一実施形態(図7)と同様であり、サブパルス処理(S313、S321)は第一実施形態(図8)と同様であるから、説明を省略する。ステップS317の実行後、印字を継続するか否かが判断される(S323)。印字を継続する場合(S323:YES)、処理はステップS307に戻る。印字を継続しない場合(S323:NO)、メイン処理が終了される。
本実施形態のサーマルプリンタ1では、第一実施形態と同様に、駆動パルスの印加時間と通電可能時間t1との関係に応じて、メインパルスおよびサブパルスの印加順序を切り替えることで、エネルギー不足に起因する印字品質の劣化を抑制することができる。さらに、環境温度Kが温度閾値K1以下であり、且つヘッド電圧Vが電圧閾値V1以下である場合、駆動パルスの印加時間が通電可能時間t1を超えるか否かにかかわらず、メインパルスを発熱素子20に印加したのち、サブパルスを発熱素子20に印加する。これにより、エネルギー不足に起因する印字品質の劣化を、環境温度に基づいて確実に抑制することができる。
なお、環境温度Kおよびヘッド電圧Vの取得タイミングは、第二、第三実施形態で説明したように変更してもよい。すなわち、図13に示すフローチャートにおいて、サーマルプリンタ1が電源ONされた直後(つまり、図11の開始直後)に取得されたヘッド電圧Vが、電圧閾値V1以下であるかを判断してもよい(S309)。また、1ドットサイクルの通電が終了する毎に環境温度Kを取得して、電圧閾値V1以下であるかを判断してもよい(S309)。
第一〜第四実施形態において、テープ送りモータ24が、本発明の「搬送手段」に相当する。第一実施形態において、ステップS11、S13、S17、S19を実行するCPU401が、本発明の「印加制御手段」に相当する。ステップS15を実行するCPU401が、本発明の「印加時間取得手段」に相当する。ステップS9を実行するCPU401が、本発明の「時間判断手段」に相当する。
第二実施形態において、ステップS113、S115、S119、S121を実行するCPU401が、本発明の「印加制御手段」に相当する。ステップS117を実行するCPU401が、本発明の「印加時間取得手段」に相当する。ステップS111を実行するCPU401が、本発明の「時間判断手段」に相当する。ステップS107を実行するCPU401が、本発明の「電圧取得手段」に相当する。ステップS109を実行するCPU401が、本発明の「電圧判断手段」に相当する。
第三実施形態において、ステップS213、S215、S219、S221を実行するCPU401が、本発明の「印加制御手段」に相当する。ステップS217を実行するCPU401が、本発明の「印加時間取得手段」に相当する。ステップS211を実行するCPU401が、本発明の「時間判断手段」に相当する。ステップS201を実行するCPU401が、本発明の「温度取得手段」に相当する。ステップS209を実行するCPU401が、本発明の「温度判断手段」に相当する。
第四実施形態において、ステップS313、S315、S319、S321を実行するCPU401が、本発明の「印加制御手段」に相当する。ステップS317を実行するCPU401が、本発明の「印加時間取得手段」に相当する。ステップS311を実行するCPU401が、本発明の「時間判断手段」に相当する。ステップS301を実行するCPU401が、本発明の「温度取得手段」に相当する。ステップS307を実行するCPU401が、本発明の「温度取得手段」に相当する。本発明の「電圧取得手段」に相当する。ステップS309を実行するCPU401が、本発明の「温度判断手段」および「電圧判断手段」に相当する。
なお、本発明は、上記実施の形態に限定されるものではなく、種々の変更が可能である。例えば、印加エネルギー再評価(S45、S65参照)では、電圧変動係数C(V)のみならず他の要素も考慮して、印加制御係数Cm、Csを更新してもよい(例えば、特開2005−280099号公報参照)。
例えば、メインパルス印加処理(図7)では、印加エネルギーの再評価(S45)を「Cm←Cm−Cm(V)×t×d」の計算式によって行なってもよい。温度係数tは、環境温度によって決定される係数である。蓄熱係数dは、印字ドット積算数および環境温度で決定される係数である。これによれば、サーマルヘッド10の蓄熱が進んでいる場合には、メインパルスの通電時間が短くなり、印字潰れの発生を回避することができる。
サブパルス印加処理(図8)では、印加エネルギーの再評価(S65)を「Cs←Cs−Cs(V)×t×d×M(r)」の計算式によって行なってもよい。補正係数Mは、メインパルスのパルス幅(メインパルスのカウンタrの数値)によって決定される係数である。これによれば、サーマルヘッド10の蓄熱が進んでおり、且つ、メインパルスの通電時間が長い場合には、サブパルスの通電時間が短くなり、印字潰れの発生を回避することができる。