IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ セイコーインスツル株式会社の特許一覧

特開2024-52825サーマルヘッド制御装置、サーマルプリンタ及びサーマルヘッド制御方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024052825
(43)【公開日】2024-04-12
(54)【発明の名称】サーマルヘッド制御装置、サーマルプリンタ及びサーマルヘッド制御方法
(51)【国際特許分類】
   B41J 2/36 20060101AFI20240405BHJP
【FI】
B41J2/36 C
【審査請求】有
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2024025415
(22)【出願日】2024-02-22
(62)【分割の表示】P 2020032928の分割
【原出願日】2020-02-28
(71)【出願人】
【識別番号】000002325
【氏名又は名称】セイコーインスツル株式会社
(74)【代理人】
【識別番号】100142837
【弁理士】
【氏名又は名称】内野 則彰
(74)【代理人】
【識別番号】100166305
【弁理士】
【氏名又は名称】谷川 徹
(72)【発明者】
【氏名】吉木 裕一
(72)【発明者】
【氏名】吉田 大輔
(72)【発明者】
【氏名】石戸谷 洋平
(72)【発明者】
【氏名】近藤 啓彬
(57)【要約】
【課題】印刷データに適した通電時間を算出することができる。
【解決手段】サーマルヘッド制御装置は、サーマルヘッドが備える複数の発熱素子のうち制御対象の発熱素子に対応する印刷データについて、当該印刷データに存在する通電ドットのうち左端通電ドットから右端通電ドットまでの範囲を印字率算出範囲として判定する印字率算出範囲判定部と、前記印字率算出範囲判定部が判定する前記印字率算出範囲の印字率を算出する印字率算出部と、前記印字率算出部が算出する前記印字率に基づいて、前記発熱素子に流れる電流の通電時間を算出する通電時間算出部と、算出された前記通電時間に基づいて、前記サーマルヘッドの前記制御対象の前記発熱素子を駆動する制御信号を出力する出力部とを備える。
【選択図】図3
【特許請求の範囲】
【請求項1】
サーマルヘッドが備える複数の発熱素子のうち制御対象の発熱素子に対応する印刷データについて、当該印刷データに存在する通電ドットのうち左端通電ドットから右端通電ドットまでの範囲を印字率算出範囲として判定する印字率算出範囲判定部と、
前記印字率算出範囲判定部が判定する前記印字率算出範囲の印字率を算出する印字率算出部と、
前記印字率算出部が算出する前記印字率に基づいて、前記発熱素子に流れる電流の通電時間を算出する通電時間算出部と、
算出された前記通電時間に基づいて、前記サーマルヘッドの前記制御対象の前記発熱素子を駆動する制御信号を出力する出力部と
を備えるサーマルヘッド制御装置。
【請求項2】
前記印字率算出部が算出する前記印字率が高い場合の前記通電時間は、前記印字率算出部が算出する前記印字率が低い場合に比べて短い
請求項1に記載のサーマルヘッド制御装置。
【請求項3】
前記印字率算出範囲判定部は、前記サーマルヘッドが備える1列分の前記発熱素子を前記制御対象の前記発熱素子として、前記印字率算出範囲を判定する
請求項1又は請求項2に記載のサーマルヘッド制御装置。
【請求項4】
前記印刷データに通電ドットが所定の数以上存在する場合に、前記印刷データを複数に分割して通電させる分割駆動を行うか否かを判定する分割駆動判定部を更に備え、
前記印字率算出部は、前記分割駆動判定部が前記分割駆動を行うと判定した場合に、複数に分割された前記印刷データが存在する範囲の前記発熱素子を前記制御対象の前記発熱素子として、前記印字率算出範囲を判定する
請求項1又は請求項2に記載のサーマルヘッド制御装置。
【請求項5】
前記通電時間算出部は、隣接する前記発熱素子が連続して通電ドットである場合と、隣接する前記発熱素子が連続して通電ドットでない場合とを、互いに異なる重みづけをすることにより前記印字率を算出する
請求項1から請求項4のいずれか一項に記載のサーマルヘッド制御装置。
【請求項6】
前記印字率算出範囲判定部は、非通電ドットが所定の数以上連続する範囲が存在する場合に、当該範囲を前記印字率算出範囲に含めない
請求項1から請求項5のいずれか一項に記載のサーマルヘッド制御装置。
【請求項7】
印字媒体を搬送する搬送機構と、
前記印字媒体に印字する前記サーマルヘッドと、
前記サーマルヘッドを制御する請求項1から請求項6のいずれか一項に記載のサーマルヘッド制御装置と
を備えるサーマルプリンタ。
【請求項8】
隣接して配置された複数の発熱素子を備えるサーマルヘッドに送信される印刷データのうち所定の印字率算出範囲の印字率を算出する印字率算出工程と、
前記印刷データに存在する通電ドットのうち左端の通電ドットから右端の通電ドットまでの範囲を前記印字率算出範囲として判定する印字率算出範囲判定工程と、
前記印字率算出工程により算出された前記印字率に基づいて、前記発熱素子に流れる電流の通電時間を算出する通電時間算出工程と、
算出された前記通電時間に基づいて、前記サーマルヘッドを駆動する制御信号を出力する出力工程と
を有するサーマルヘッド制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーマルヘッド制御装置、サーマルプリンタ及びサーマルヘッド制御方法に関する。
【背景技術】
【0002】
従来、一列に配置された発熱体を発熱させることにより感熱紙に印字するサーマルプリンタにおいて、同時に通電させる発熱体の数(印字率)により、発熱体に通電させる時間を可変させる技術が知られている(例えば、特許文献1を参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011-62941号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述したような技術では、印字率を算出する範囲の中で、通電させる発熱体が特定の範囲に集中するような偏りがある場合、当該特定の範囲の中では印字率が高いにも関わらず、印字可能な範囲全体の印字率を算出するため、算出される印字率は低くなってしまう。つまり、算出される印字率が低いにもかかわらず、印字率が高い特定の範囲が存在する場合があった。
すなわち、従来の制御方法では、特定の範囲の印字率が高い場合においても、印字可能な範囲全体で印字率を算出するため、印刷データに適した通電時間を算出することができないといった問題があった。
【0005】
本発明は、このような状況に鑑みてなされたものであって、印刷データに適した通電時間を算出することができる印字率のサーマルヘッド制御装置、サーマルプリンタ及びサーマルヘッド制御方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一態様に係るサーマルヘッド制御装置は、サーマルヘッドが備える複数の発熱素子のうち制御対象の発熱素子に対応する印刷データについて、当該印刷データに存在する通電ドットのうち左端通電ドットから右端通電ドットまでの範囲を印字率算出範囲として判定する印字率算出範囲判定部と、前記印字率算出範囲判定部が判定する前記印字率算出範囲の印字率を算出する印字率算出部と、前記印字率算出部が算出する前記印字率に基づいて、前記発熱素子に流れる電流の通電時間を算出する通電時間算出部と、算出された前記通電時間に基づいて、前記サーマルヘッドの前記制御対象の前記発熱素子を駆動する制御信号を出力する出力部とを備える。
【0007】
本発明の一態様に係るサーマルヘッド制御装置において、前記印字率算出部が算出する前記印字率が高い場合の前記通電時間は、前記印字率算出部が算出する前記印字率が低い場合に比べて短い。
【0008】
本発明の一態様に係るサーマルヘッド制御装置において、前記印字率算出範囲判定部は、前記サーマルヘッドが備える1列分の前記発熱素子を前記制御対象の前記発熱素子として、前記印字率算出範囲を判定する。
【0009】
本発明の一態様に係るサーマルヘッド制御装置は、前記印刷データに通電ドットが所定の数以上存在する場合に、前記印刷データを複数に分割して通電させる分割駆動を行うか否かを判定する分割駆動判定部を更に備え、前記印字率算出部は、前記分割駆動判定部が前記分割駆動を行うと判定した場合に、複数に分割された前記印刷データが存在する範囲の前記発熱素子を前記制御対象の前記発熱素子として、前記印字率算出範囲を判定する。
【0010】
本発明の一態様に係るサーマルヘッド制御装置において、前記通電時間算出部は、隣接する前記発熱素子が連続して通電ドットである場合と、隣接する前記発熱素子が連続して通電ドットでない場合とを、互いに異なる重みづけをすることにより前記印字率を算出する。
【0011】
本発明の一態様に係るサーマルヘッド制御装置において、前記印字率算出範囲判定部は、非通電ドットが所定の数以上連続する範囲が存在する場合に、当該範囲を前記印字率算出範囲に含めない。
【0012】
本発明の一態様に係るサーマルプリンタは、印字媒体を搬送する搬送機構と、前記印字媒体に印字する前記サーマルヘッドと、前記サーマルヘッドを制御する請求項1から請求項6のいずれか一項に記載のサーマルヘッド制御装置とを備える。
【0013】
本発明の一態様に係るサーマルヘッド制御方法は、隣接して配置された複数の発熱素子を備えるサーマルヘッドに送信される印刷データのうち所定の印字率算出範囲の印字率を算出する印字率算出工程と、前記印刷データに存在する通電ドットのうち左端の通電ドットから右端の通電ドットまでの範囲を前記印字率算出範囲として判定する印字率算出範囲判定工程と、前記印字率算出工程により算出された前記印字率に基づいて、前記発熱素子に流れる電流の通電時間を算出する通電時間算出工程と、算出された前記通電時間に基づいて、前記サーマルヘッドを駆動する制御信号を出力する出力工程とを有する。
【発明の効果】
【0014】
本発明によれば、印刷データに適した通電時間を算出することができる。
【図面の簡単な説明】
【0015】
図1】本実施形態に係るサーマルプリンタの一例の斜視図を示す図である。
図2】本実施形態に係る印字ユニットの一例の斜視図を示す図である。
図3】本実施形態に係る制御部の機能構成の一例を示す図である。
図4】第1の実施形態に係るヘッド制御部の機能構成の一例を示す図である。
図5】第1の実施形態に係る印字率算出範囲判定方法の説明をするための図である。
図6】第1の実施形態に係る1ドットライン分のデータ抽出処理の流れを示す図である。
図7】第1の実施形態に係るパルス出力処理の流れを示す図である。
図8】第1の実施形態に係る印字率補正計算処理の流れを示す図である。
図9】第2の実施形態に係るヘッド制御部の機能構成の一例を示す図である。
図10】第2の実施形態に係る分割駆動の1分割目の説明をするための図である。
図11】第2の実施形態に係る分割駆動の2分割目の説明をするための図である。
図12】第2の実施形態に係る分割駆動の3分割目の説明をするための図である。
図13】第2の実施形態に係るパルス出力処理の流れを示す図である。
図14】第2の実施形態に係る分割位置決定処理及び印字率算出範囲判定処理の流れを示す図である。
図15】第3の実施形態に係るヘッド制御部の機能構成の一例を示す図である。
図16】第3の実施形態に係る印字率算出方法について説明するための図である。
図17】第3の実施形態に係る印字率算出方法の変形例について説明するための図である。
図18】第3の実施形態に係る分割位置決定処理及び印字率算出範囲判定処理の流れを示す図である。
図19】第4の実施形態に係るヘッド制御部の機能構成の一例を示す図である。
図20】第4の実施形態に係る印字率算出方法について説明するための図である。
図21】第4の実施形態に係る分割位置決定処理及び印字率算出範囲判定処理の流れを示す図である。
図22】第5の実施形態に係るヘッド制御部の機能構成の一例を示す図である。
図23】第5の実施形態に係る印字率補正計算処理の流れを示す図である。
図24】第6の実施形態に係るヘッド制御部の機能構成の一例を示す図である。
図25】第6の実施形態に係る印字率補正計算処理の流れを示す図である。
【発明を実施するための形態】
【0016】
[サーマルプリンタの構成]
図1は、サーマルプリンタ1の斜視図である。同図を参照しながら、サーマルプリンタ1の構成について説明する。同図に示すように、サーマルプリンタ1は、記録紙(印字媒体)Pを印刷可能に構成されたものである。記録紙Pは、例えば、熱を加えると発色する感熱紙であり、各種ラベルやレシート、チケット等の印刷等に好適に使用される。記録紙Pは、中空孔を有するように巻回されたロール紙Rの状態でサーマルプリンタ1にセットされ、ロール紙Rから引き出された部分に対して印刷が行われる。
【0017】
サーマルプリンタ1は、ケーシング3と、表示部4と、制御部5と、印字ユニット10と、を有する。
ケーシング3は、ABSやABSとポリカーボネートとの複合材等のプラスチックや金属材料により中空箱状に形成されている。ケーシング3は、直方体状の本体部6と、本体部6の長手方向の一端部において、本体部6の厚み方向の一方側に屈曲するロール紙収容部7と、を有する。本体部6の長手方向の一端部には、印字ユニット10が収容されている。本体部6の長手方向の一端面には、排出口3aが形成されている。排出口3aは、印字ユニット10を通って印刷された記録紙Pが排出される。本体部6の厚み方向の他方側に面する主面には、表示部4が配置されている。表示部4は、例えば液晶パネルであって、制御部5に接続されて各種の情報を表示する。ロール紙収容部7には、ロール紙Rが収容される。
【0018】
図2は、印字ユニット10の斜視図である。同図を参照しながら、印字ユニット10について説明する。同図に示すように、印字ユニット10は、プラテンローラ51とサーマルヘッド41との間を通った記録紙Pを矢印Aの指向する方向に向かって排出する。以下、主に印字ユニット10の説明では、矢印Aに沿う方向を上下方向L1と定義し、矢印Aが指向する方向を上方と定義する。また、プラテンローラ51の回転軸Oに沿う方向を軸方向L2と定義する。さらに、上下方向L1および軸方向L2に直交する方向を前後方向L3と定義し、前後方向L3においてサーマルヘッド41に対するプラテンローラ51側を前方と定義する。
【0019】
本体フレーム11は、例えばガラス繊維を含むポリカーボネート樹脂等の板材により形成されている。本体フレーム11は、上下方向L1から見て前方に向けて開放されたU字状に形成されている。具体的に、本体フレーム11は、軸方向L2に延在する背板部12と、背板部12の軸方向L2における一方側の端部から前方に向けて立設された第1側壁部13と、背板部12の軸方向L2における他方側の端部から前方および下方に向けて立設された第2側壁部14と、第1側壁部13と第2側壁部14との間に設けられた支持部15とを備える。
【0020】
背板部12は、前後方向L3に厚みを有する板状に形成されている。
第1側壁部13は、軸方向L2に厚みを有する板状に形成されている。第1側壁部13の上端縁には、下方に向けて切り込まれた第1ローラ挿入溝16Aが形成されている。
【0021】
第2側壁部14は、軸方向L2に厚みを有する板状に形成されている。第2側壁部14は、背板部12の軸方向L2における他方側の端部から前方に向かって延び、さらに下方に向かって延びている。第2側壁部14の上端縁には、下方に向けて切り込まれた第2ローラ挿入溝16Bが形成されている。第2ローラ挿入溝16Bは、軸方向L2から見た形状および形成位置が第1ローラ挿入溝16Aと一致するように形成されている。第1ローラ挿入溝16Aおよび第2ローラ挿入溝16B(以下、「各ローラ挿入溝16A,16B」という。)には、プラテンローラ51が着脱可能に挿入される。
【0022】
第2側壁部14のうち、第2側壁部14と背板部12との接続部よりも下側には、モータ61が取り付けられている。モータ61は、第2側壁部14に対して内側から取り付けられるとともに、モータ61の出力軸61aが第2側壁部14を貫通して第2側壁部14の外側に突出している。モータ61は、図示しない配線パターンがプリント配線されたフレキシブル基板71を介して、制御部5に接続されている。モータ61は、制御部5からの信号に基づいて駆動する。
【0023】
第2側壁部14の外側には、ギヤボックス部17が形成されている。ギヤボックス部17は、第2側壁部14の周縁から外側に向かって立設された周壁部18を有する。周壁部18は、軸方向L2から見て上方に向けて開放されたU字状に形成されている。ギヤボックス部17は、外側に向かって開口している。
【0024】
周壁部18の前側の上端縁、および後側の上端縁には、下方に向かって凹む凹部19がそれぞれ形成されている。一対の凹部19は、前後方向L3から見て互いに形状および位置が一致するように形成されている。各凹部19は、前後方向L3から見て、上方に向かって開口が広がるように形成されている。具体的に、各凹部19は、前後方向L3から見て、軸方向L2に沿う底部19aと、底部19aの外側の端部から上方に向かって延びる外側壁部19bと、底部19aの内側の端部から上方に向かって延びる内側壁部19cと、内側壁部19cの上端縁から軸方向L2の一方側に向かって斜め上方に延びる斜壁部19dと、を有する。内側壁部19cの高さは、外側壁部19bの高さの半分程度となっている。斜壁部19dの上端縁の位置は、外側壁部19bの上端縁と上下方向L1において略一致している。
【0025】
周壁部18には、第1孔部18aおよび第2孔部18bが形成されている。第1孔部18aは、周壁部18のうち前方に面する部分の下部に形成されている。第1孔部18aは、前後方向L3から見て上下方向L1に長い長方形状に形成されている。第2孔部18bは、周壁部18のうち後方に面する部分の下部に形成されている。第2孔部18bは、前後方向L3から見て上下方向L1に長い長方形状に形成されている。第2孔部18bは、上下方向L1において第1孔部18aよりも上方に配置されている。
【0026】
ギヤボックス部17には、不図示の減速ギヤが組み付けられている。
【0027】
支持部15は、軸方向L2に沿って延びる柱状に形成されている。支持部15は、軸方向L2の一方側の端部が第1側壁部13の内側面に接続するとともに、軸方向L2の他方側の端部が第2側壁部14の内側面に接続している。支持部15には、前後方向L3から見て下方に向かって凹む一対の取付部15aが形成されている。一対の取付部15aは、軸方向L2に間隔をあけて形成されている。各取付部15aの底部には、取付部15aの底部を上下方向に貫通する貫通孔15bが設けられている。本体フレーム11は、支持部15の貫通孔15bにボルト等の締結部材を挿通させて、ケーシング3に対して取り付けられる。
【0028】
サーマルヘッド41は、記録紙Pに対して印刷を行うものである。サーマルヘッド41は、前後方向L3から見て軸方向L2を長手方向とした矩形状に形成されている。サーマルヘッド41は、その長手方向と記録紙Pの幅方向とが一致した状態で配置されている。サーマルヘッド41のヘッド面には、軸方向L2に沿って多数の発熱素子42が配列されている。サーマルヘッド41のヘッド面は、記録紙Pの印字面と対向しており、プラテンローラ51の外周面との間で記録紙Pを挟持し得るようになっている。サーマルヘッド41は、隣接して配置された複数の発熱素子42を備える。サーマルヘッド41は、フレキシブル基板71を介して、制御部5に接続され、サーマルヘッド41上に搭載されたドライバーIC(不図示)が、制御部5からの信号に基づいて、発熱素子42の発熱を制御している。サーマルヘッド41は、発熱素子42の発熱が制御されて、各種の文字や図形等を記録紙Pの印字面へ印刷する。
【0029】
サーマルヘッド41は、本体フレーム11に支持されたヘッド支持体45に貼り付け固定されている。ヘッド支持体45は、軸方向L2を長手方向とした板状の部材であり、前面にサーマルヘッド41が貼り付け固定されている。ヘッド支持体45は、第1側壁部13と第2側壁部14との間に配置されているとともに、背板部12と支持部15との間に配置されている。
【0030】
ヘッド支持体45と背板部12との間には、ヘッド支持体45と背板部12とを互いに離間させる方向に向けて付勢する不図示の弾性部材が介装されている。すわなち、弾性部材は、ヘッド支持体45を前方に向けて常に押圧するように構成されている。弾性部材は、軸方向L2に間隔をあけて複数配列されている。
【0031】
ヘッド支持体45の上端部には、ヘッド支持体45の回動範囲を規制するための一対のストッパ45aが形成されている。ストッパ45aは、ヘッド支持体45における軸方向L2の外側に向けて延出するものであり、本体フレーム11の第1側壁部13の上部に形成された孔部13a、および第2側壁部14の上部に形成された孔部14a内を臨んでいる。ストッパ45aは、ヘッド支持体45の回動に伴って孔部13a,14a内を移動し、孔部13a,14aの端面に接触可能に構成されている。ストッパ45aは、孔部13a,14aの端面に接触することにより、ヘッド支持体45の回動量を規制している。
【0032】
プラテンローラ51は、サーマルヘッド41に対向配置され、サーマルヘッド41との間に記録紙Pを挟んだ状態で回転軸O周りに回転することで、記録紙Pを矢印Aの指向する方向に送り出す。プラテンローラ51は、ローラシャフト52と、ローラシャフト52に外装されたローラ本体53と、ローラシャフト52の両端に装着された一対の軸受54と、を有する。ローラシャフト52は、本体フレーム11の第1側壁部13と第2側壁部14との離間距離よりやや長く形成されている。ローラ本体53は、例えばゴム等により形成され、軸方向L2に沿って、ローラシャフト52の両端を除く全体に亘って一様に配置されている。
【0033】
プラテンローラ51は、両端に装着された一対の軸受54が本体フレーム11の各ローラ挿入溝16A,16Bに挿入される。これによりプラテンローラ51は、本体フレーム11に対して回転軸O周りに回転可能に、かつ着脱可能に保持される。プラテンローラ51は、各ローラ挿入溝16A,16Bに挿入された状態において、ロール紙Rから引き出された記録紙Pを間に挟んだ状態で、ローラ本体53がサーマルヘッド41に対して接触するように設けられている。
【0034】
プラテンローラ51の軸方向L2における他方側の端部には、従動ギヤ56が固定されている。従動ギヤ56は、プラテンローラ51が第1側壁部13および第2側壁部14に保持されたときに、ギヤボックス部17の上部に組み付けられる。プラテンローラ51は、第1側壁部13および第2側壁部14に保持された状態で回転し、記録紙Pを送り出すことができる。
【0035】
ギヤボックス部17の開口には、軸方向L2から見てギヤボックス部17の開口全体を閉塞するギヤカバー20が取り付けられる。ギヤカバー20は、本体フレーム11よりも靱性の高い材料により形成されることが好ましく、例えばABS樹脂等により形成されている。
【0036】
図3は、本実施形態に係る制御部5の機能構成の一例を示す図である。制御部5は、CPU510と、記憶部511と、通信部512と、ヘッド制御部(サーマルヘッド制御装置)514と、モータ制御部515とを備え、各部は、バス520を介して接続されている。
【0037】
CPU510は、中央演算処理装置(CPU:Central Processing
Unit)を含んで構成され、サーマルプリンタ1の各部を制御する。ヘッド制御部514は、CPU510の制御により、用紙Pに印字を行うサーマルヘッド41の駆動を制御する。モータ制御部515は、CPU510の制御により、モータ61を駆動してプラテンローラ51を回転させ、用紙Pを所定ピッチ(例えば、1ドットラインごと)で搬送させる。モータ61及びプラテンローラ51を搬送機構とも記載する。
【0038】
記憶部511は、記憶媒体として、例えば、ROM(Read-only Memory)、RAM(Random Access Memory)等を含んで構成される。なお、記憶部511は、HDD(Hard-disk Drive)、フラッシュメモリ等を含んで構成されてもよい。例えば、記憶部511は、CPU510が実行するプログラム及びCPU510が当該プログラムを実行する際に必要となるデータを記憶する。また、記憶部511は、サーマルプリンタ1が備える不図示の各種のセンサの検出結果などを記憶する。
【0039】
通信部512は、ホスト端末2と通信接続され、ホスト端末2からのデータ入力を受信し、データ入力に含まれる制御命令や各種データをCPU510に出力する。
【0040】
[第1の実施形態]
図4から図8を参照しながら、第1の実施形態に係るサーマルプリンタ1の一例について説明する。
図4は、第1の実施形態に係るヘッド制御部514の機能構成の一例を示す図である。同図を参照しながら、ヘッド制御部514の機能構成について説明する。同図に示すように、ヘッド制御部514は、データ受信部110と、コマンド解析部120と、印刷データ作成部130と、通電パルス計算部140と、通電パルス出力部(出力部)150と、印刷データ出力部160とを備える。
【0041】
ホスト端末2は、パソコン、タブレット端末、スマートフォン、その他の携帯端末などの電子機器である。ホスト端末2は、データ送信部21を備え、印刷データ等をサーマルプリンタ1に送信する。
【0042】
データ受信部110は、ホスト端末2から送信されるデータ入力を受信する。データ受信部110は、受信したデータ入力をコマンド解析部120に提供する。データ受信部110が受信するデータ入力とは、サーマルヘッド41が印字する印刷データや、サーマルプリンタ1の設定を変更する設定変更コマンド等である。
【0043】
コマンド解析部120は、データ受信部110からデータ入力を取得する。コマンド解析部120は、取得したデータ入力のコマンド解析をする。コマンド解析部120は、取得した情報が印刷データであった場合、取得した情報を印刷データ作成部130に提供する。
【0044】
印刷データ作成部130は、コマンド解析部120から印刷データを取得する。印刷データ作成部130は、取得した印刷データに含まれる情報のうち、サーマルヘッド41に出力するデータを抽出し、転送用印刷データを作成する。転送用印刷データは、サーマルヘッド41に転送される情報であり、サーマルヘッド41が備えるそれぞれの発熱素子42が通電ドットであるか、非通電ドットであるかを示す情報を含む。
印刷データ作成部130は、作成した転送用印刷データを通電パルス計算部140及び印刷データ出力部160に提供する。
【0045】
印刷データ出力部160は、取得した転送用印刷データを、サーマルヘッド41に出力する。印刷データ出力部160は、例えば、クロック同期式のシリアル通信により、転送用印刷データを出力する。
【0046】
通電パルス計算部140は、印刷データ作成部130が作成した転送用印刷データのうち、1ドットラインごとに通電時間を計算する。通電パルス計算部140は、印字率補正値計算部141と、通電時間算出部144とを備える。印字率補正値計算部141は、印字率算出範囲判定部142と印字率算出部143とを備える。
【0047】
図5は、第1の実施形態に係る印字率算出範囲判定方法の説明をするための図である。同図を参照しながら、印字率算出範囲判定部142が行う判定方法について説明する。
“1ドットライン”は、サーマルヘッド41が備える複数の発熱素子42を含んで構成される。例えば、サーマルヘッド41が448ドットの発熱素子42を備える場合について説明する。同図において、サーマルヘッド41の左端に配置された発熱素子42をドットD1とし、右端に配置された発熱素子42をドットD448とする。発熱素子42は、左端のドットD1から右端のドットD448まで、順に配列されている。この一例において、左端のドットD1から右端のドットD448までが制御対象の発熱素子42である。白抜きで示されたドットが非通電ドットであり、塗りつぶしで示されたドットが通電ドットである。
【0048】
図5に示す一例では、左端のドットD1と、ドットD1に隣接するドットD2は非通電ドットである。ドットD2に隣接するドットD3は通電ドットである。この一例において、左端に位置する通電ドットはドットD3であるため、ドットD3が左端通電ドットである。
また図5に示す一例では、右端のドットD448は非通電ドットである。ドットD448から左に9ドット分の非通電ドットが連続し、ドットD439が通電ドットである。この一例において、右端に位置する通電ドットはドットD439であるため、ドットD439が右端通電ドットである。印字率算出範囲判定部142は、ドットD3からドットD439の範囲を、印字率算出範囲として判定する。すなわち、印字率算出範囲判定部142は、印刷データに存在する通電ドットのうち左端通電ドットから右端通電ドットまでの範囲を印字率算出範囲として判定する。印字率算出範囲判定部142は、1ドットライン(1列分の印刷データ)ごとに印字率算出範囲を判定する。
【0049】
図4に戻り、印字率算出範囲判定部142は、左端通電ドット記憶部142Lと、右端通電ドット記憶部142Rとを備える。左端通電ドット記憶部142Lは、左端通電ドットの位置を記憶する。図5の一例においては、左端通電ドット記憶部142LはドットD3を左端通電ドットとして記憶する。右端通電ドット記憶部142Rは、右端通電ドットの位置を記憶する。図5の一例においては、右端通電ドット記憶部142RはドットD439を右端通電ドットとして記憶する。
【0050】
印字率算出部143は、サーマルヘッド41に送信される印刷データのうち所定の印字率算出範囲の印字率を算出する。具体的には、印字率算出部143は、印字率算出範囲判定部142が判定する算出範囲における印字率を算出する。印字率算出部143は、1ドットライン(1列分の印刷データ)ごとに印字率を算出する。
【0051】
通電時間算出部144は、印字率算出部143が算出する印字率に基づいて、発熱素子42に流れる電流の通電時間を算出する。この一例において、通電時間算出部144は、印字率算出部143が算出する印字率が高い場合には、通電時間を短くし、印字率算出部143が算出する印字率が低い場合には、通電時間を長くする。
【0052】
通電時間算出部144は、印字率算出部143が算出する印字率の他、サーマルプリンタ1の電源電圧(例えば、バッテリ電圧等)、サーマルプリンタ1の周囲温度、サーマルヘッド41が備える複数の発熱素子42の合成抵抗値等に基づいて通電時間を算出してもよい。発熱素子42の合成抵抗値は、例えば、所定の値でもよいし、電源投入時に計測した値でもよい。
通電パルス計算部140は、通電時間算出部144が算出した通電時間を示す情報を通電パルス出力部150に提供する。
【0053】
通電パルス出力部150は、算出された通電時間に基づいて、サーマルヘッド41を駆動する制御信号を出力する。具体的には、通電パルス出力部150は、通電パルス計算部140から、通電時間を示す情報を取得し、取得した情報に示される通電時間に基づいた通電パルスを、サーマルヘッド41に出力する。
【0054】
図6は、第1の実施形態に係る1ドットライン分のデータ抽出処理の流れを示す図である。同図を参照しながら、1ドットライン分のデータ抽出処理の流れについて説明する。
(ステップS111) データ受信部110は、ホスト端末2から送信されるデータ入力を受信する。データ受信部110は、受信したデータ入力を、コマンド解析部120に提供する。
(ステップS113) コマンド解析部120は、データ受信部110からデータ入力を取得する。コマンド解析部120は、取得したデータ入力のコマンド解析をする。コマンド解析部120は、取得した情報が印刷データであった場合、取得した情報を印刷データ作成部130に提供する。
(ステップS115) 印刷データ作成部130は、コマンド解析部120から印刷データを取得する。印刷データ作成部130は、転送用印刷データを作成する。印刷データ作成部130は、転送用印刷データが成立した場合(ステップS115;YES)には、処理をステップS117に進める。印刷データ作成部130は、転送用印刷データが成立しなかった場合(ステップS115;NO)には、処理をステップS113に戻す。転送用印刷データが成立しなかった場合とは、例えば、印刷データが不正なデータである場合等である。
(ステップS117) 印刷データ作成部130は、1ドットライン分のデータを抽出する。印刷データ作成部130は、抽出した1ドットライン分のデータを通電パルス計算部140に提供して処理を終了する。
【0055】
図7は、第1の実施形態に係るパルス出力処理の流れを示す図である。同図を参照しながらパルス出力処理の流れについて説明する。同図を参照しながら説明するパルス出力処理は、図6で説明した1ドットライン分のデータ抽出処理の後に行われる処理である。
(ステップS131) 通電パルス計算部140は、基本通電時間を算出する。基本通電時間とは、印字率に拠らない通電時間である。基本通電時間とは、例えば、サーマルプリンタ1の電源電圧、サーマルプリンタ1の周囲温度、発熱素子42の合成抵抗値等に基づいて算出される通電時間である。
(ステップS133) 印字率補正値計算部141は、1ドットラインごとの印字率補正計算を行う。図8を参照しながら、印字率補正計算処理の流れについて説明する。
【0056】
図8は、第1の実施形態に係る印字率補正計算処理の流れを示す図である。
(ステップS151) 印字率補正値計算部141は、1ドットライン分のデータの中から、1ドット分のデータを抽出する。例えば、印字率補正値計算部141は、左端のドット(図5に示したドットD1)を、抽出する。
(ステップS153) 印字率補正値計算部141は、当該ドットが通電ドットか否かを判定する。当該ドットが通電ドットである場合(ステップS153;YES)には、処理をステップS155に進める。印字率補正値計算部141は、当該ドットが非通電ドットである場合(ステップS153;NO)には、処理をステップS161に進める。
(ステップS155) 印字率補正値計算部141は、通電ドットである当該ドットが最初の通電ドットであるか否かを判定する。例えば、印字率補正値計算部141は、左端通電ドット記憶部142Lに記憶されている値がリセットされている場合には、通電ドットである当該ドットが最初の通電ドットであると判定する。印字率補正値計算部141は、当該ドットが最初の通電ドットである場合(ステップS155;YES)には、処理をステップS157に進める。印字率補正値計算部141は、当該ドットが最初の通電ドットでない場合(ステップS155;NO)には、処理をステップS159に進める。
【0057】
(ステップS157) 印字率補正値計算部141は、通電ドットである当該ドットの位置を左端通電ドット記憶部142Lに記憶させる。
(ステップS159) 印字率補正値計算部141は、通電ドットである当該ドットの位置を右端通電ドット記憶部142Rに記憶させる。印字率補正値計算部141は、右端通電ドット記憶部142Rに既に値が記憶されている場合には、記憶されている値を更新する。
【0058】
(ステップS161) 通電パルス計算部140は、1ドットライン分の解析が完了したか否かを判定する。通電パルス計算部140は、1ドットライン分の解析が完了している場合(ステップS161;YES)には、処理をステップS165に進める。通電パルス計算部140は、1ドットライン分の解析が完了していない場合(ステップS161;NO)には、処理をステップS163に進める。
(ステップS163) 通電パルス計算部140は、次の1ドット分のデータを抽出する。例えば、通電パルス計算部140は、隣接するドットのデータを抽出する。
(ステップS165) 印字率算出範囲判定部142は、左端通電ドット記憶部142L及び右端通電ドット記憶部142Rに記憶されたドットの位置情報を、印字率算出範囲とし、印字率算出範囲を算出する。
(ステップS167) 印字率算出範囲判定部142は、算出された印字率算出範囲に基づき、印字率補正値を算出する。
【0059】
図7に戻り、印字率算出部143は、算出された印字率に基づき、通電時間を算出する。再び図7を参照しながら、パルス出力処理について説明する。
(ステップS135) 通電時間算出部144は、印字率補正値計算部141が行った印字率補正計算に基づき、1ドットラインごとの通電時間を算出する。
(ステップS136) 通電パルス出力部150は、通電時間算出部144が算出した通電時間に応じた通電パルスを、サーマルヘッド41に出力する。
(ステップS137) 通電パルス計算部140は、成立した印刷データの全ドットラインのパルス出力が終了した場合(ステップS137;YES)には、処理を終了する。通電パルス計算部140は、成立した印刷データの全ドットラインのパルス出力が終了していない場合(ステップS137;NO)には、処理をステップS139に進める。
(ステップS139) 印刷データ作成部130は、次の1ドットライン分のデータを抽出する。印刷データ作成部130は、抽出した1ドットライン分のデータを通電パルス計算部140に提供して、処理をステップS131に進める。
【0060】
[第1の実施形態のまとめ]
以上説明した実施形態によれば、ヘッド制御部514は、印字率算出範囲判定部142を備えることにより、1ドットラインごとに印字率算出範囲を判定する。印字率算出部143は、印字率算出範囲判定部142が判定した印字率算出範囲における印字率を算出する。通電時間算出部144は、算出された印字率に基づいた通電時間を算出する。
したがって、本実施形態によれば、1ドットラインのうち、通電ドットが存在する範囲における印字率に基づいた通電時間を算出することができる。すなわち、印刷データに適した通電時間を算出することができる。
また、本実施形態によれば、印刷データに適した通電時間を算出することができるため、発熱素子42に、印刷データに適したエネルギーを与えることができる。
【0061】
ここで、従来、発熱素子42内の発熱温度分布の偏りが大きいサーマルヘッドと、発色特性の悪い記録紙P(例えば、光学濃度(OD値)が1を超える範囲が狭い感熱紙)との組み合わせにおいて、1ドット内で色が変化し、印字品位が悪くなるという問題があった。
このような場合、発熱素子42内の発熱温度分布の偏りが大きいサーマルヘッドと発色特性の悪い記録紙Pとの組み合わせにおいて、キャラクタの印字品質に合わせたエネルギーで黒ベタパターンを印字すると白抜けを起こし、OD値が下がってしまう。一方、黒ベタパターンに合わせたエネルギーとすることで黒ベタパターンの白抜けが改善するが、キャラクタに対するエネルギー不足することにより、キャラクタがかすれてしまう。
つまり、キャラクタの様な印字率の低いパターンに合わせたエネルギー設定を行なうと、印字率の高い非キャラクタに対して過剰なエネルギーとなり、印字率の高い非キャラクタが白抜けをおこす。印字率の高い非キャラクタに合わせたエネルギー設定を行なうと、キャラクタの様な印字率の低いパターンに対してエネルギー不足となり、印字がかすれる。
本願発明によれば、隣接する発熱素子42からの伝熱を考慮したエネルギーを算出することで、従来制御より適切なエネルギーを紙に印加することができる。したがって、エネルギーの過不足が低減し、印字品位が向上する。
【0062】
また、本願発明によれば、印字率算出部143が算出する印字率が高い場合の通電時間は、印字率算出部143が算出する印字率が低い場合に比べて短い。すなわち、通電時間算出部144は、印字率が高い場合には、通電時間を短くする。したがって、過剰なエネルギーが印加されることを抑止することで、白抜けの発生を抑止し、消費電力を抑止することができる。
【0063】
また、本願発明によれば、通電パルス計算部140は、1ドットラインごとに通電パルスを算出する。すなわち、本願発明によれば、印字率を算出する印字率算出範囲が、1ドットラインごとに異なる。したがって、本願発明によれば、1ドットラインごとに適切なエネルギーを算出することができる。
【0064】
[第2の実施形態]
図9から図14を参照しながら、第2の実施形態に係るサーマルプリンタ1Aの一例について説明する。
図9は、第2の実施形態に係るヘッド制御部514Aの機能構成の一例を示す図である。ヘッド制御部514Aは、通電パルス計算部140に代えて、通電パルス計算部140Aを備える点において、ヘッド制御部514とは異なる。図4において説明した構成と同一の構成については、同様の符号を付すことにより、説明を省略する場合がある。
通電パルス計算部140Aは、印字率補正値計算部141Aと、通電時間算出部144とを備える。印字率補正値計算部141Aは、印字率補正値計算部141の変形例である。印字率補正値計算部141Aは、分割駆動判定部145と、印字率算出範囲判定部142Aと、印字率算出部143とを備える。
【0065】
分割駆動判定部145は、1ドットラインごとに分割駆動を行うか否かの制御を行う。ここで、分割駆動とは、1ドットライン分の印刷データに通電ドットが所定の数以上存在する場合に、印刷データを複数に分割して通電させるサーマルヘッド駆動方法である。すなわち、分割駆動判定部145は、印刷データに、通電ドットが所定の数以上存在する場合に、印刷データを複数に分割して通電させる分割駆動を行うか否かを判定する。
【0066】
本実施形態において、左端通電ドット記憶部142L及び右端通電ドット記憶部142Rは、分割駆動判定部145に備えられる。分割駆動判定部145は、分割駆動判定時に、左端通電ドット記憶部142Lに左端通電ドットを、右端通電ドット記憶部142Rに右端通電ドットを記憶させる。
印字率算出範囲判定部142Aは、左端通電ドット記憶部142Lに記憶された左端通電ドット及び右端通電ドット記憶部142Rに記憶された右端通電ドットに基づき、印字率算出範囲を判定する。
【0067】
分割駆動される1ドットラインにおいては、分割された分割範囲ごとに印字率算出範囲が判定される。すなわち、分割駆動される1ドットラインは、分割範囲ごとに左端通電ドットと右端通電ドットを有する。図10から図13を参照しながら分割駆動について説明する。
【0068】
図10は、第2の実施形態に係る分割駆動の1分割目の説明をするための図である。
例えば、サーマルヘッド41が448ドットの発熱素子42を備える場合、1ドットラインはドットD1からドットD448の448ドットを有する。この一例において、最大同時通電ドット数が100ドットである場合の一例について説明する。同図において、“1ドットライン”は、サーマルヘッド全体を示す。すなわち“1ドットライン”はドットD1からドットD448までを示す。“1ドットライン”のうち、左端がドットD1であり、右端がドットD448である。同図に示す1ドットラインは、分割範囲1から分割範囲3までの3つの分割範囲に分割される。“分割駆動1分割目”は、分割範囲1における各ドットの詳細である。
【0069】
最大同時通電ドット数が100ドットである場合、分割範囲1には、100ドットの通電ドットが含まれる。この一例において、左端通電ドットがドットD1であり、右端通電ドットがD180であるため、印字率算出範囲は、ドットD1からドットがD180までの範囲である。したがって、分割範囲1の印字率は、55.5%(パーセント)である。
【0070】
図11は、第2の実施形態に係る分割駆動の2分割目の説明をするための図である。
ドットD1からドットD180までが分割範囲1であるため、分割範囲2は、ドットD181からの範囲である。この一例における分割範囲2は、ドットD181からドットD400までの範囲である。この一例において、ドットD181からドットD197までの各ドットは、非通電ドットである。したがって、分割範囲のうち左端の通電ドットであるドットD198が左端通電ドットである。
【0071】
最大同時通電ドット数が100ドットである場合、分割範囲2には、100ドットの通電ドットが含まれる。この一例において、左端通電ドットがドットD198であり、右端通電ドットがD400であるため、印字率算出範囲は、ドットD198からドットがD400までの範囲である。したがって、分割範囲2の印字率は、49.5%(パーセント)である。このように、分割範囲1と分割範囲2には、それぞれ100ドットの通電ドットが含まれるが、印字率算出範囲がそれぞれ異なるため、印字率もそれぞれ異なる。
【0072】
図12は、第2の実施形態に係る分割駆動の3分割目の説明をするための図である。
ドットD181からドットD400までが分割範囲2であるため、分割範囲3はドットD401からの範囲である。この一例において、1ドットラインはドットD1からドットD448までであるため、分割範囲3は、D400からD448までの範囲である。したがって、分割範囲3における印字率算出範囲は、ドットD401からドットD448までの範囲である。例えば、分割範囲3に11の通電ドットが含まれている場合、分割範囲3の印字率は、23.4%(パーセント)である。
【0073】
図13は、第2の実施形態に係るパルス出力処理の流れを示す図である。同図を参照しながらパルス出力処理の流れについて説明する。同図を参照しながら説明するパルス出力処理は、図6で説明した1ドットライン分のデータ抽出処理の後に行われる処理である。図6で説明した1ドットライン分のデータ抽出処理については、第1の実施形態と同様であるため、説明を省略する。
【0074】
(ステップS200) 分割駆動判定部145は、分割駆動を行うか否かの判定を行う。具体的には、分割駆動判定部145は、1ドットラインが有するそれぞれのドットが通電ドットか否かを判定し、1ドットラインが有する通電ドット数が、所定の最大同時通電ドット数と一致した場合に、当該位置を分割位置として判定する。また、分割駆動判定部145は、当該処理の中で、左端通電ドット位置と、右端通電ドット位置とを判定する。分割駆動判定部145は、1ドットラインが有する通電ドット数が、所定の最大同時通電ドット数に満たない場合には、分割駆動を行わないことを判定する。
【0075】
図14は、第2の実施形態に係る分割位置決定処理及び印字率算出範囲判定処理の流れを示す図である。同図を参照しながら、分割位置決定処理及び印字率算出範囲判定処理について説明する。同図を参照しながら説明する処理は、図8を参照しながら説明した、第1の実施形態における印字率補正計算処理の変形例である。
(ステップS251) 印字率補正値計算部141Aは、1ドットライン分のデータの中から、1ドット分のデータを抽出する。例えば、印字率補正値計算部141Aは、左端のドット(図10に示したドットD1)を、抽出する
(ステップS253) 印字率補正値計算部141Aは、当該ドットが通電ドットか否かを判定する。当該ドットが通電ドットである場合(ステップS253;YES)には、処理をステップS255に進める。印字率補正値計算部141Aは、当該ドットが非通電ドットである場合(ステップS253;NO)には、処理をステップS271に進める。
【0076】
(ステップS255) 印字率補正値計算部141Aは、通電ドットである当該ドットが最初の通電ドットであるか否かを判定する。例えば、印字率補正値計算部141Aは、左端通電ドット記憶部142Lに記憶されている値がリセットされている場合には、通電ドットである当該ドットが最初の通電ドットであると判定する。印字率補正値計算部141Aは、当該ドットが最初の通電ドットである場合(ステップS255;YES)には、処理をステップS257に進める。印字率補正値計算部141Aは、当該ドットが最初の通電ドットでない場合(ステップS255;NO)には、処理をステップS259に進める。
【0077】
(ステップS257) 印字率補正値計算部141Aは、通電ドットである当該ドットの位置を左端通電ドット記憶部142Lに記憶させる。
(ステップS259) 印字率補正値計算部141Aは、通電ドットである当該ドットの位置を右端通電ドット記憶部142Rに記憶させる。印字率補正値計算部141Aは、右端通電ドット記憶部142Rに既に値が記憶されている場合には、記憶されている値を更新する。
【0078】
(ステップS261) 分割駆動判定部145は、不図示の同時通電ドット数記憶部に記憶された同時通電ドット数をカウントアップさせる。同時通電ドット数は、所定の範囲において、同時に通電させるドットの数を示す値である。
(ステップS263) 分割駆動判定部145は、同時通電ドット数記憶部に記憶された同時通電ドット数が所定の最大同時通電ドット数未満か否かを判定する。分割駆動判定部145は、同時通電ドット数記憶部に記憶された同時通電ドット数が所定の最大同時通電ドット数未満である場合(ステップS263;YES)には、処理をステップS271に進める。分割駆動判定部145は、同時通電ドット数記憶部に記憶された同時通電ドット数が所定の最大同時通電ドット数未満でない場合、すなわち同時通電ドット数記憶部に記憶された同時通電ドット数が所定の最大同時通電ドット数以上である場合(ステップS263;NO)には、処理をステップS265に進める。
(ステップS265) 分割駆動判定部145は、当該ドット位置を、分割位置として決定する。分割駆動判定部145は、不図示の分割位置記憶部に分割位置を記憶させる。
(ステップS267) 分割駆動判定部145は、同時通電ドット数記憶部をリセットする。
【0079】
(ステップS271) 通電パルス計算部140Aは、1ドットライン分の解析が完了したか否かを判定する。通電パルス計算部140Aは、1ドットライン分の解析が完了している場合(ステップS271;YES)には、処理を終了する。通電パルス計算部140Aは、1ドットライン分の解析が完了していない場合(ステップS271;NO)には、処理をステップS273に進める。
(ステップS273) 通電パルス計算部140Aは、次の1ドット分のデータを抽出する。例えば、通電パルス計算部140Aは、隣接するドットのデータを抽出する。
【0080】
図13に戻り、印字率算出部143は、算出された印字率に基づき、通電時間を算出する。再び図13を参照しながら、パルス出力処理について説明する。
(ステップS211) 印字率算出部143は、分割範囲内のデータを抽出する。具体的には、印字率算出部143は、分割位置記憶部に記憶された分割位置の情報から、分割範囲を特定し、1ドットラインに含まれる当該分割範囲のデータを抽出する。
(ステップS213) 通電パルス計算部140Aは、基本通電時間を算出する。基本通電時間とは、印字率に拠らない通電時間である。
【0081】
(ステップS215) 印字率補正値計算部141Aは、1ドットラインごとの印字率補正計算を行う。具体的には、印字率算出範囲判定部142Aは、左端通電ドット記憶部142L及び右端通電ドット記憶部142Rに記憶されたドットの位置情報を、印字率算出範囲とし、印字率算出範囲を算出する。印字率算出部143は、算出された印字率算出範囲に基づき、印字率補正値を算出する。印字率算出部は、複数に分割された印刷データが存在する範囲の発熱素子42を制御対象の発熱素子42として、1ドットラインごとに印字率を算出する。
(ステップS217) 通電時間算出部144は、印字率補正値計算部141が行った印字率補正計算に基づき、1ドットラインごとの通電時間を算出する。
(ステップS219) 通電パルス出力部150は、通電時間算出部144が算出した通電時間に応じた通電パルスを、サーマルヘッド41に出力する。
【0082】
(ステップS221) 通電パルス計算部140Aは、1ドットラインのパルス出力が終了した場合(ステップS221;YES)には、処理をステップS225に進める。通電パルス計算部140Aは、1ドットラインのパルス出力が終了していない場合(ステップS221;NO)には、処理をステップS223に進める。
(ステップS223) 通電パルス計算部140Aは、次の分割範囲のデータを抽出する。通電パルス計算部140Aは、次の分割範囲のデータを抽出した後、処理をステップS213に進める。
【0083】
(ステップS225) 通電パルス計算部140Aは、成立した印刷データの全ドットラインのパルス出力が終了した場合(ステップS225;YES)には、処理を終了する。通電パルス計算部140Aは、成立した印刷データの全ドットラインのパルス出力が終了していない場合(ステップS225;NO)には、処理をステップS227に進める。
(ステップS227) 印刷データ作成部130は、次の1ドットライン分のデータを抽出する。印刷データ作成部130は、抽出した1ドットライン分のデータを通電パルス計算部140Aに提供して、処理をステップS200に進める。
【0084】
[第2の実施形態のまとめ]
以上説明した実施形態によれば、ヘッド制御部514Aは、分割駆動判定部145を更に備える。ヘッド制御部514Aは、分割駆動判定部145を備えることにより、1ドットラインが有する通電ドットが、所定の最大同時通電ドット数以上である場合に分割駆動をさせる。通電パルス計算部140は、印字率算出範囲判定部142Aは、分割範囲ごとに印字率算出範囲を判定し、通電時間算出部144は、分割範囲ごとに通電時間を算出する。したがって、本願発明によれば、分割範囲ごとの印刷データに適した通電時間を算出することができる。
また、本実施形態によれば、印刷データに適した通電時間を算出することができるため、発熱素子42に、印刷データに適したエネルギーを与えることができる。
【0085】
さらに、本願発明によれば、分割駆動を行うため、同時に通電されるドット数を制限することができる。すなわち、同時に通電されるドット数が制限されるため、最大ピーク電力を抑止することができる。
また、本願発明によれば、最大ピーク電力を抑止することができるため、電源電圧の変動を抑止することができる。また、サーマルプリンタ1がバッテリ駆動される場合は、最大ピーク電力を抑止することができるため、小さい容量のバッテリを用いることができる。
【0086】
[第3の実施形態]
図15から図18を参照しながら、第3の実施形態に係るサーマルプリンタ1Bの一例について説明する。
図15は、第3の実施形態に係るヘッド制御部514Bの機能構成の一例を示す図である。ヘッド制御部514Bは、通電パルス計算部140Aに代えて、通電パルス計算部140Bを備える点において、ヘッド制御部514Aとは異なる。図9において説明した構成と同一の構成については、同様の符号を付すことにより、説明を省略する場合がある。
通電パルス計算部140Bは、印字率補正値計算部141Bと、通電時間算出部144とを備える。印字率補正値計算部141Bは、印字率補正値計算部141Aの変形例である。印字率補正値計算部141Bは、分割駆動判定部145Bと、印字率算出範囲判定部142Bと、印字率算出部143とを備える。
【0087】
本実施形態において、通電時間算出部144は、隣接する発熱素子42が連続して通電ドットである場合と、隣接する発熱素子42が連続して通電ドットでない場合とを、互いに異なる重みづけをすることにより前記印字率を算出する。具体的には、分割駆動判定部145Bは、印字率計算用一時記憶部146を備えることにより、印刷データのパターンに基づく重みづけを行い、印字率を算出する。
例えば、本実施形態において、通電ドットが連続する場合、印字率補正値計算部141Bは、連続する通電ドットを1ドット分以上(例えば、2ドット)としてカウントする。
印字率計算用一時記憶部146は、印字率を計算する場合に使用される同時通電ドット数を記憶する一時記憶部である。図16を参照しながら、本実施形態における重みづけの方法について説明する。
【0088】
図16は、第3の実施形態に係る印字率算出方法について説明するための図である。図16(A)及び図16(B)を参照しながら、重みづけの方法の一例について説明する。
例えば、サーマルヘッド41が448ドットの発熱素子42を備える場合、1ドットラインはドットD1からドットD448の448ドットを有する。この一例において、1ドットライン分のデータのうち、ドットD3からドットD11、ドットD429、ドットD431及びドットD433からドットD439のみが通電ドットである場合の一例について説明する。
【0089】
図16(A)は、重みづけをしない場合の一例について示した図である。同図には、1ドットライン分のデータと、それぞれのデータに対応する重みづけを示している。同図に示す一例においては、重みづけをしないため、全ての通電ドットの重みづけは1である。印字率補正値計算部141Bは、重みづけを行わない場合、全ての通電ドットを1ドットとして計算する。
【0090】
図16(B)は、重みづけをする場合の一例について示した図である。同図には、1ドットライン分のデータと、それぞれのデータに対応する重みづけを示している。同図に示す一例においては、両端のドットが通電ドットである場合には重みづけが2であり、両端のドットのいずれかのドットが非通電ドットである場合には重みづけが1である。
例えば、ドットD3の両端のドットであるドットD2及びドットD4のうち、ドットD2は非通電ドットであるため、ドットD3の重みづけは1である。
一方、ドットD4の両端のドットであるドットD3及びドットD5はいずれも通電ドットであるため、ドットD4の重みづけは2である。
【0091】
重みづけが1である通電ドットを1ドット分とし、重みづけが2である通電ドットを2ドット分としてカウントする場合、図16(B)の一例では、通電ドットが18ドットであるのに対し、重みづけを考慮して計算された通電ドットの数は30ドットである。
なお、この一例においては、重みづけが2である通電ドットを2ドット分として計算したが、この一例に限定されない。重みづけが2である通電ドットに対し、どの程度の重みをつけるかは、任意である。例えば、重みづけが2である通電ドットを1.2ドットとして計算したり、3ドットとして計算したりするよう構成してもよい。
【0092】
図17は、第3の実施形態に係る印字率算出方法の変形例について説明するための図である。図16で説明した重みづけの方法の変形例について、図17(A)及び図17(B)を参照しながら説明する。図16で説明した場合と同様に、1ドットライン分のデータのうち、ドットD3からドットD11、ドットD429、ドットD431及びドットD433からドットD439のみが通電ドットである場合の一例について説明する。
【0093】
図17(A)は、両端のそれぞれ2ドットずつが通電ドットであるか否かに基づいて重みづけをする場合の一例である。この一例において、両端のそれぞれ2ドットずつである4ドットのうち、全てのドットが通電ドットである場合においては、重みづけを3とする。両端のそれぞれ2ドットずつである4ドットのうち、全てのドットが通電ドットでない場合であっても、両端のドットがいずれも通電ドットである場合においては、重みづけを2とする。両端のドットのうちいずれかが非通電ドットである場合においては、重みづけを1とする。
【0094】
例えば、ドットD3の両端であるドットD2及びドットD4のうち、ドットD2は非通電ドットであるため、ドットD3の重みづけは1である。
ドットD4の両端であるドットD3及びドットD5はいずれも通電ドットであるが、ドットD4の両端それぞれ2ドットずつであるドットD2、ドットD3、ドットD5及びドットD6のうち、ドットD2が非通電ドットであるため、ドットD4の重みづけは2である。
ドットD5の両端それぞれ2ドットずつであるドットD3、ドットD4、ドットD6及びドットD7は、いずれも通電ドットであるため、ドットD5の重みづけは3である。
【0095】
図17(B)は、連続する通電ドットの数に応じて線形的に重みを増加する場合の一例である、この一例においては、左端から順に、連続した通電ドットの数だけ重みづけをしていく。すなわち、この一例においては、当該ドットの左にある連続する通電ドットの数により、重みづけが決定する。
例えば、ドットD3の左に位置するドットD2は非通電ドットであるため重みづけが1である。ドットD4の左には、1ドットの通電ドットが存在するため、重みづけが2である。ドットD5の左には、2ドットの通電ドットが存在するため、重みづけが3である。
同図に示す一例においては、上述したように、連続した通電ドットの数だけ重みづけをしていく。
【0096】
図18は、第3の実施形態に係る分割位置決定処理及び印字率算出範囲判定処理の流れを示す図である。第3の実施形態においては、図13において説明したステップS200が第2の実施形態と異なる。図18を参照しながら、ステップS200に代わる処理として、第3の実施形態に係る分割位置決定処理及び印字率算出範囲判定処理の流れについて説明する。図18を参照しながら説明する処理は、図14を参照しながら説明した、第2の実施形態における分割位置決定処理及び印字率算出範囲判定処理の変形例である。
(ステップS351) 印字率補正値計算部141Bは、1ドットライン分のデータの中から、1ドット分のデータを抽出する。例えば、印字率補正値計算部141Bは、左端のドットを、抽出する
(ステップS353) 印字率補正値計算部141Bは、当該ドットが通電ドットか否かを判定する。当該ドットが通電ドットである場合(ステップS353;YES)には、処理をステップS354に進める。印字率補正値計算部141Bは、当該ドットが非通電ドットである場合(ステップS353;NO)には、処理をステップS371に進める。
【0097】
(ステップS354) 分割駆動判定部145Bは、前回ドットが非通電ドットであるか否かを判定する。具体的には、分割駆動判定部145Bは、印字率計算用一時記憶部146に値が記憶されている場合には前回ドットが通電ドットであると判定し、印字率計算用一時記憶部146がリセットされている場合には前回ドットが非通電ドットであると判定する。分割駆動判定部145Bは、前回ドットが非通電ドットである場合(ステップS354;YES)には、処理をステップS355に進める。分割駆動判定部145Bは、前回ドットが通電ドットである場合(ステップS354;NO)には、処理をステップS356に進める。
(ステップS355) 分割駆動判定部145Bは、印字率計算用一時記憶部146の値をカウントアップする。
【0098】
(ステップS356) 印字率補正値計算部141Bは、通電ドットである当該ドットが最初の通電ドットであるか否かを判定する。例えば、印字率補正値計算部141Bは、左端通電ドット記憶部142Lに記憶されている値がリセットされている場合には、通電ドットである当該ドットが最初の通電ドットであると判定する。印字率補正値計算部141Bは、当該ドットが最初の通電ドットである場合(ステップS356;YES)には、処理をステップS357に進める。印字率補正値計算部141Bは、当該ドットが最初の通電ドットでない場合(ステップS356;NO)には、処理をステップS359に進める。
【0099】
(ステップS357) 印字率補正値計算部141Bは、通電ドットである当該ドットの位置を左端通電ドット記憶部142Lに記憶させる。
(ステップS359) 印字率補正値計算部141Bは、通電ドットである当該ドットの位置を右端通電ドット記憶部142Rに記憶させる。印字率補正値計算部141Bは、右端通電ドット記憶部142Rに既に値が記憶されている場合には、記憶されている値を更新する。
(ステップS360) 分割駆動判定部145Bは、印字率計算用一時記憶部146の値をカウントアップする。
【0100】
(ステップS361) 分割駆動判定部145Bは、不図示の同時通電ドット数記憶部に記憶された同時通電ドット数をカウントアップさせる。同時通電ドット数は、所定の範囲において、同時に通電させるドットの数を示す値である。
(ステップS363) 分割駆動判定部145Bは、同時通電ドット数記憶部に記憶された同時通電ドット数が所定の最大同時通電ドット数未満か否かを判定する。分割駆動判定部145Bは、同時通電ドット数記憶部に記憶された同時通電ドット数が所定の最大同時通電ドット数未満である場合(ステップS363;YES)には、処理をステップS371に進める。分割駆動判定部145Bは、同時通電ドット数記憶部に記憶された同時通電ドット数が所定の最大同時通電ドット数未満でない場合、すなわち同時通電ドット数記憶部に記憶された同時通電ドット数が所定の最大同時通電ドット数以上である場合(ステップS363;NO)には、処理をステップS365に進める。
(ステップS365) 分割駆動判定部145Bは、当該ドット位置を、分割位置として決定する。分割駆動判定部145Bは、不図示の分割位置記憶部に分割位置を記憶させる。
(ステップS367) 分割駆動判定部145Bは、同時通電ドット数記憶部をリセットする。
(ステップS368) 分割駆動判定部145Bは、印字率計算用一時記憶部146をリセットする。
【0101】
(ステップS371) 通電パルス計算部140Bは、1ドットライン分の解析が完了したか否かを判定する。通電パルス計算部140Bは、1ドットライン分の解析が完了している場合(ステップS371;YES)には、処理を終了する。通電パルス計算部140Bは、1ドットライン分の解析が完了していない場合(ステップS371;NO)には、処理をステップS373に進める。
(ステップS373) 通電パルス計算部140Bは、次の1ドット分のデータを抽出する。例えば、通電パルス計算部140Bは、隣接するドットのデータを抽出する。その後、処理をステップS353に進める。
【0102】
[第3の実施形態のまとめ]
以上説明した実施形態によれば、ヘッド制御部514Bは、印字率計算用一時記憶部146を備えることにより、連続するドットの数をカウントアップし、連続するドットに重みづけをした印字率を算出する。したがって、本実施形態によれば、更に適切な通電時間を算出することができる。
また、本実施形態によれば、連続するドットに重みづけをするため、ヘッド制御部514Bは、隣接する発熱素子42からの熱の影響を考慮した通電時間を算出することができる。
【0103】
[第4の実施形態]
図19から図21を参照しながら、第3の実施形態に係るサーマルプリンタ1Cの一例について説明する。
図19は、第4の実施形態に係るヘッド制御部514Cの機能構成の一例を示す図である。ヘッド制御部514Cは、通電パルス計算部140Bに代えて、通電パルス計算部140Cを備える点において、ヘッド制御部514Bとは異なる。図15において説明した構成と同一の構成については、同様の符号を付すことにより、説明を省略する場合がある。
通電パルス計算部140Cは、印字率補正値計算部141Cと、通電時間算出部144とを備える。印字率補正値計算部141Cは、印字率補正値計算部141Bの変形例である。印字率補正値計算部141Cは、分割駆動判定部145Cと、印字率算出範囲判定部142Cと、印字率算出部143とを備える。
【0104】
本実施形態において、分割駆動判定部145Cは、非通電ブロックカウント147を備えることにより、印刷データに含まれる非通電ドットの数をカウントし、非通電ドットが所定数以上連続する範囲が存在する場合には、当該範囲を印字率算出範囲から除外する。
非通電ブロックカウント147は、非通電ブロックの数をカウントするカウンタである。具体的には、分割駆動判定部145Cは、非通電ブロックとしてカウントする非通電ドットの数(例えば、8ドット。)を不図示の記憶部に記憶しており、印刷データのパターンに含まれる非通電ブロックの数を非通電ブロックカウント147に記憶させる。
印字率算出範囲判定部142Cは、印字率算出範囲から非通電ブロックの数に応じたドット数を減じることにより、印字率算出範囲を判定する。図20を参照しながら、本実施形態における印字率算出範囲の判定方法について説明する。
【0105】
図20は、第4の実施形態に係る印字率算出方法について説明するための図である。図20(A)及び図20(B)を参照しながら、非通電ブロックの除外方法の一例について説明する。
例えば、サーマルヘッド41が448ドットの発熱素子42を備える場合、1ドットラインはドットD1からドットD448の448ドットを有する。この一例において、1ドットライン分のデータのうち、ドットD3からドットD11、ドットD429、ドットD431及びドットD433からドットD439のみが通電ドットである場合の一例について説明する。
【0106】
図20(A)は、非通電ブロックの除外をしない場合の一例について示した図である。同図には、1ドットライン分のデータを示している。同図に示す一例においては、左端通電ドットであるドットD3から右端通電ドットであるドットD439までの範囲が印字率計算範囲である。印字率算出範囲判定部142Cは、非通電ブロックの除外をしない場合、ドットD3からドットD439までの範囲を印字率計算範囲として判定する。
【0107】
図20(B)は、非通電ブロックの除外をする場合の一例について示した図である。同図には、1ドットライン分のデータを示している。同図に示す一例においては、ドットD12からドットD428が非通電ドットである。印字率算出範囲判定部142Cは、非通電ブロックの除外をする場合、ドットD3からドットD439までの範囲から、ドットD12からドットD428までの範囲を除いた範囲を印字率計算範囲として判定する。すなわち、印字率算出範囲判定部142Cは、非通電ドットが所定の数以上連続する範囲が存在する場合に、当該範囲を印字率算出範囲に含めない。
【0108】
図21は、第4の実施形態に係る分割位置決定処理及び印字率算出範囲判定処理の流れを示す図である。第4の実施形態においては、図13において説明したステップS200が第2の実施形態と異なる。図21を参照しながら、ステップS200に代わる処理として、第4の実施形態に係る分割位置決定処理及び印字率算出範囲判定処理の流れについて説明する。図21を参照しながら説明する処理は、図14を参照しながら説明した、第2の実施形態における分割位置決定処理及び印字率算出範囲判定処理の変形例である。
(ステップS451) 印字率補正値計算部141Cは、1ドットライン分のデータの中から、1ドット分のデータを抽出する。例えば、印字率補正値計算部141Cは、左端のドットを、抽出する
(ステップS453) 印字率補正値計算部141Cは、当該ドットが通電ドットか否かを判定する。当該ドットが通電ドットである場合(ステップS453;YES)には、処理をステップS454に進める。印字率補正値計算部141Cは、当該ドットが非通電ドットである場合(ステップS453;NO)には、処理をステップS4531に進める。
【0109】
(ステップS454) 分割駆動判定部145Cは、不図示の非通電ドットカウンタをリセットする。
(ステップS4531) 分割駆動判定部145Cは、非通電ドットカウンタをカウントアップする。
(ステップS4533) 分割駆動判定部145Cは、非通電ドットカウンタに記憶された値が、非通電ブロックとしてカウントする非通電ドットの数に達したか否かを判定する。例えば、非通電ブロックが8ドットである場合、分割駆動判定部145Cは、非通電ドットカウンタに記憶された値が8に達したか否かを判定する。分割駆動判定部145Cは、非通電ドットカウンタに記憶された値が8より小さい場合(ステップS4533;NO)には、処理をステップS471に進める。分割駆動判定部145Cは、非通電ドットカウンタに記憶された値が8である場合(ステップS4533;YES)には、処理をステップS4535に進める。
(ステップS4535) 分割駆動判定部145Cは、非通電ドットカウンタをカウントアップする。
(ステップS4537) 分割駆動判定部145Cは、非通電ブロックカウント147をカウントアップして、処理をステップS471に進める。
【0110】
(ステップS456) 印字率補正値計算部141Cは、通電ドットである当該ドットが最初の通電ドットであるか否かを判定する。例えば、印字率補正値計算部141Cは、左端通電ドット記憶部142Lに記憶されている値がリセットされている場合には、通電ドットである当該ドットが最初の通電ドットであると判定する。印字率補正値計算部141Cは、当該ドットが最初の通電ドットである場合(ステップS456;YES)には、処理をステップS457に進める。印字率補正値計算部141Cは、当該ドットが最初の通電ドットでない場合(ステップS456;NO)には、処理をステップS459に進める。
【0111】
(ステップS457) 印字率補正値計算部141Cは、通電ドットである当該ドットの位置を左端通電ドット記憶部142Lに記憶させる。
(ステップS459) 印字率補正値計算部141Cは、通電ドットである当該ドットの位置を右端通電ドット記憶部142Rに記憶させる。印字率補正値計算部141Cは、右端通電ドット記憶部142Rに既に値が記憶されている場合には、記憶されている値を更新する。
【0112】
(ステップS461) 分割駆動判定部145Cは、不図示の同時通電ドット数記憶部に記憶された同時通電ドット数をカウントアップさせる。同時通電ドット数は、所定の範囲において、同時に通電させるドットの数を示す値である。
(ステップS463) 分割駆動判定部145Cは、同時通電ドット数記憶部に記憶された同時通電ドット数が所定の最大同時通電ドット数未満か否かを判定する。分割駆動判定部145Cは、同時通電ドット数記憶部に記憶された同時通電ドット数が所定の最大同時通電ドット数未満である場合(ステップS463;YES)には、処理をステップS471に進める。分割駆動判定部145Cは、同時通電ドット数記憶部に記憶された同時通電ドット数が所定の最大同時通電ドット数未満でない場合、すなわち同時通電ドット数記憶部に記憶された同時通電ドット数が所定の最大同時通電ドット数以上である場合(ステップS463;NO)には、処理をステップS465に進める。
(ステップS465) 分割駆動判定部145Cは、当該ドット位置を、分割位置として決定する。分割駆動判定部145Cは、不図示の分割位置記憶部に分割位置を記憶させる。
(ステップS467) 分割駆動判定部145Cは、同時通電ドット数記憶部をリセットする。
【0113】
(ステップS471) 通電パルス計算部140Cは、1ドットライン分の解析が完了したか否かを判定する。通電パルス計算部140Cは、1ドットライン分の解析が完了している場合(ステップS471;YES)には、処理を終了する。通電パルス計算部140Cは、1ドットライン分の解析が完了していない場合(ステップS471;NO)には、処理をステップS473に進める。
(ステップS473) 通電パルス計算部140Cは、次の1ドット分のデータを抽出する。例えば、通電パルス計算部140Cは、隣接するドットのデータを抽出する。通電パルス計算部140Cは、処理をステップS453に進める。
【0114】
[第4の実施形態のまとめ]
以上説明した実施形態によれば、ヘッド制御部514Cは、非通電ブロックカウント147を備えることにより、非通電ドットの数をカウントする。ヘッド制御部514Cは、非通電ドットが所定の数以上連続する範囲が存在する場合には、当該範囲を印字率算出範囲から除外して印字率を算出する。したがって、本実施形態によれば、印字されている範囲のみを抽出して印字率を算出されていることができる。よって、本実施形態によれば、更に適切な通電時間を算出することができる。
【0115】
[第5の実施形態]
図22及び図23を参照しながら、第5の実施形態に係るサーマルプリンタ1Dの一例について説明する。第5の実施形態においては、第1の実施形態で説明した構成に対し、第3の実施形態で説明した重みづけの制御を適用する。つまり、第3の実施形態においては、分割駆動を行ったうえで重みづけの制御を行うよう構成されているが、第5の実施形態においては、分割駆動を行わず、重みづけの制御を適用する。
【0116】
図22は、第5の実施形態に係るヘッド制御部514Dの機能構成の一例を示す図である。ヘッド制御部514Dは、通電パルス計算部140Aに代えて、通電パルス計算部140Dを備える点において、ヘッド制御部514Aとは異なる。図4において説明した構成と同一の構成については、同様の符号を付すことにより、説明を省略する場合がある。
通電パルス計算部140Dは、印字率補正値計算部141Dと、通電時間算出部144とを備える。印字率補正値計算部141Dは、印字率補正値計算部141Aの変形例である。印字率補正値計算部141Dは、印字率算出範囲判定部142Dと、印字率算出部143とを備える。
【0117】
本実施形態において、印字率算出範囲判定部142Dは、印字率計算用一時記憶部146Dを備えることにより、印刷データのパターンに基づく重みづけを行い、印字率を算出する。重みづけの制御については図16及び図17を参照しながら説明した通りである。
【0118】
図23は、第5の実施形態に係る印字率補正計算処理の流れを示す図である。同図を参照しながら第5の実施形態に係る印字率補正計算処理の流れについて説明する。
(ステップS551) 印字率補正値計算部141Dは、1ドットライン分のデータの中から、1ドット分のデータを抽出する。例えば、印字率補正値計算部141Dは、左端のドットを、抽出する。
(ステップS553) 印字率補正値計算部141Dは、当該ドットが通電ドットか否かを判定する。当該ドットが通電ドットである場合(ステップS553;YES)には、処理をステップS5541に進める。印字率補正値計算部141Dは、当該ドットが非通電ドットである場合(ステップS553;NO)には、処理をステップS560に進める。
【0119】
(ステップS5541) 印字率算出範囲判定部142Dは、前回ドットが非通電ドットであるか否かを判定する。具体的には、印字率算出範囲判定部142Dは、印字率計算用一時記憶部146Dに値が記憶されている場合には前回ドットが通電ドットであると判定し、印字率計算用一時記憶部146Dがリセットされている場合には前回ドットが非通電ドットであると判定する。印字率算出範囲判定部142Dは、前回ドットが非通電ドットである場合(ステップS5541;YES)には、処理をステップS5542に進める。印字率算出範囲判定部142Dは、前回ドットが通電ドットである場合(ステップS5541;NO)には、処理をステップS555に進める。
【0120】
(ステップS555) 印字率補正値計算部141Dは、通電ドットである当該ドットが最初の通電ドットであるか否かを判定する。例えば、印字率補正値計算部141Dは、左端通電ドット記憶部142Lに記憶されている値がリセットされている場合には、通電ドットである当該ドットが最初の通電ドットであると判定する。印字率補正値計算部141Dは、当該ドットが最初の通電ドットである場合(ステップS555;YES)には、処理をステップS557に進める。印字率補正値計算部141Dは、当該ドットが最初の通電ドットでない場合(ステップS555;NO)には、処理をステップS559に進める。
【0121】
(ステップS557) 印字率補正値計算部141Dは、通電ドットである当該ドットの位置を左端通電ドット記憶部142Lに記憶させる。
(ステップS559) 印字率補正値計算部141Dは、通電ドットである当該ドットの位置を右端通電ドット記憶部142Rに記憶させる。印字率補正値計算部141Dは、右端通電ドット記憶部142Rに既に値が記憶されている場合には、記憶されている値を更新する。
【0122】
(ステップS560) 印字率算出範囲判定部142Dは、印字率計算用一時記憶部146Dの値をカウントアップする。
(ステップS561) 通電パルス計算部140Dは、1ドットライン分の解析が完了したか否かを判定する。通電パルス計算部140Dは、1ドットライン分の解析が完了している場合(ステップS561;YES)には、処理をステップS565に進める。通電パルス計算部140Dは、1ドットライン分の解析が完了していない場合(ステップS561;NO)には、処理をステップS563に進める。
(ステップS563) 通電パルス計算部140Dは、次の1ドット分のデータを抽出する。例えば、通電パルス計算部140Dは、隣接するドットのデータを抽出する。通電パルス計算部140Dは、処理をステップS553に進める
(ステップS565) 印字率算出範囲判定部142Dは、左端通電ドット記憶部142L及び右端通電ドット記憶部142Rに記憶されたドットの位置情報を、印字率算出範囲とし、印字率算出範囲を算出する。
(ステップS567) 印字率算出範囲判定部142Dは、算出された印字率算出範囲に基づき、印字率補正値を算出する。
【0123】
[第5の実施形態のまとめ]
以上説明した実施形態によれば、ヘッド制御部514Dは、分割駆動をしない場合においても、重みづけの制御を行う。ヘッド制御部514Dは、印字率計算用一時記憶部146Dを備えることにより、連続するドットの数をカウントアップし、連続するドットに重みづけをした印字率を算出する。したがって、本実施形態によれば、分割駆動をしない場合においても、適切な通電時間を算出することができる。
【0124】
[第6の実施形態]
図24及び図25を参照しながら、第6の実施形態に係るサーマルプリンタ1Eの一例について説明する。第6の実施形態においては、第1の実施形態で説明した構成に対し、第4の実施形態で説明した非通電ブロックカウントの制御を適用する。つまり、第4の実施形態においては、分割駆動を行ったうえで非通電ブロックカウントの制御を行うよう構成されているが、第6の実施形態においては、分割駆動を行わず、非通電ブロックカウントの制御を適用する。
【0125】
図24は、第6の実施形態に係るヘッド制御部514Eの機能構成の一例を示す図である。ヘッド制御部514Eは、通電パルス計算部140Aに代えて、通電パルス計算部140Eを備える点において、ヘッド制御部514Aとは異なる。図4において説明した構成と同一の構成については、同様の符号を付すことにより、説明を省略する場合がある。
通電パルス計算部140Eは、印字率補正値計算部141Eと、通電時間算出部144とを備える。印字率補正値計算部141Eは、印字率補正値計算部141Eの変形例である。印字率補正値計算部141Eは、印字率算出範囲判定部142Eと、印字率算出部143とを備える。
【0126】
本実施形態において、印字率算出範囲判定部142Eは、非通電ブロックカウント147Eを備えることにより、印刷データに含まれる非通電ドットの数をカウントし、非通電ドットが所定数以上連続する範囲が存在する場合には、当該範囲を印字率算出範囲から除外する。非通電ドットを印字率算出範囲から除いた印字率の算出方法については図20を参照しながら説明した通りである。
【0127】
図25は、第6の実施形態に係る印字率補正計算処理の流れを示す図である。同図を参照しながら第6の実施形態に係る印字率補正計算処理の流れについて説明する。
(ステップS651) 印字率補正値計算部141Eは、1ドットライン分のデータの中から、1ドット分のデータを抽出する。例えば、印字率補正値計算部141Eは、左端のドットを、抽出する。
(ステップS653) 印字率補正値計算部141Eは、当該ドットが通電ドットか否かを判定する。当該ドットが通電ドットである場合(ステップS653;YES)には、処理をステップS654に進める。印字率補正値計算部141Eは、当該ドットが非通電ドットである場合(ステップS653;NO)には、処理をステップS6531に進める。
【0128】
(ステップS654) 分割駆動判定部145Eは、不図示の非通電ドットカウンタをリセットする。
(ステップS6531) 分割駆動判定部145Eは、非通電ドットカウンタをカウントアップする。
(ステップS6533) 分割駆動判定部145Eは、非通電ドットカウンタに記憶された値が、非通電ブロックとしてカウントする非通電ドットの数に達したか否かを判定する。例えば、非通電ブロックが8ドットである場合、分割駆動判定部145Eは、非通電ドットカウンタに記憶された値が8に達したか否かを判定する。分割駆動判定部145Eは、非通電ドットカウンタに記憶された値が8より小さい場合(ステップS6533;NO)には、処理をステップS661に進める。分割駆動判定部145Eは、非通電ドットカウンタに記憶された値が8である場合(ステップS6533;YES)には、処理をステップS6535に進める。
(ステップS6535) 分割駆動判定部145Eは、非通電ドットカウンタをカウントアップする。
(ステップS6537) 分割駆動判定部145Eは、非通電ブロックカウント147Eをカウントアップして、処理をステップS661に進める。
【0129】
(ステップS655) 印字率補正値計算部141Eは、通電ドットである当該ドットが最初の通電ドットであるか否かを判定する。例えば、印字率補正値計算部141Eは、左端通電ドット記憶部142Lに記憶されている値がリセットされている場合には、通電ドットである当該ドットが最初の通電ドットであると判定する。印字率補正値計算部141Eは、当該ドットが最初の通電ドットである場合(ステップS655;YES)には、処理をステップS657に進める。印字率補正値計算部141Eは、当該ドットが最初の通電ドットでない場合(ステップS655;NO)には、処理をステップS659に進める。
【0130】
(ステップS657) 印字率補正値計算部141Eは、通電ドットである当該ドットの位置を左端通電ドット記憶部142Lに記憶させる。
(ステップS659) 印字率補正値計算部141Eは、通電ドットである当該ドットの位置を右端通電ドット記憶部142Rに記憶させる。印字率補正値計算部141Eは、右端通電ドット記憶部142Rに既に値が記憶されている場合には、記憶されている値を更新する。
【0131】
(ステップS661) 通電パルス計算部140Eは、1ドットライン分の解析が完了したか否かを判定する。通電パルス計算部140Eは、1ドットライン分の解析が完了している場合(ステップS661;YES)には、処理をステップS665に進める。通電パルス計算部140Eは、1ドットライン分の解析が完了していない場合(ステップS661;NO)には、処理をステップS663に進める。
(ステップS663) 通電パルス計算部140Eは、次の1ドット分のデータを抽出する。例えば、通電パルス計算部140Eは、隣接するドットのデータを抽出する。通電パルス計算部140Eは、処理をステップS653に進める。
(ステップS665) 印字率算出範囲判定部142Eは、左端通電ドット記憶部142L及び右端通電ドット記憶部142Rに記憶されたドットの位置情報を、印字率算出範囲とし、印字率算出範囲を算出する。
(ステップS667) 印字率算出範囲判定部142Eは、算出された印字率算出範囲に基づき、印字率補正値を算出する。
【0132】
[第6の実施形態のまとめ]
以上説明した実施形態によれば、ヘッド制御部514Eは、分割駆動をしない場合においても、非通電ブロックカウントの制御を行う。ヘッド制御部514Eは、非通電ブロックカウント147Eを備えることにより、非通電ドットの数をカウントする。ヘッド制御部514Eは、非通電ドットが所定の数以上連続する範囲が存在する場合には、当該範囲を印字率算出範囲から除外して印字率を算出する。したがって、本実施形態によれば、印字されている範囲のみを抽出して印字率を算出されていることができる。よって、本実施形態によれば、分割駆動を行わない場合においても、適切な通電時間を算出することができる。
【0133】
なお、上述したサーマルプリンタ1が備える機能の全部又は一部は、プログラムとしてコンピュータ読み取り可能な記録媒体に記録され、このプログラムがコンピュータシステムにより実行されてもよい。コンピュータシステムは、OS、周辺機器等のハードウェアを含むものとする。また、コンピュータ読み取り可能な記録媒体は、例えば、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置、インターネット等のネットワーク上のサーバ等が備える揮発性メモリ(Random Access Memory:RAM)である。なお、揮発性メモリは、一定時間プログラムを保持する記録媒体の一例である。
【0134】
また、上述したプログラムは、伝送媒体、例えば、インターネット等のネットワーク、電話回線等の通信回線により他のコンピュータシステムに伝送されてもよい。
【0135】
また、上記プログラムは、上述した機能の全部又は一部を実現するプログラムであってもよい。なお、上述した機能の一部を実現するプログラムは、上述した機能をコンピュータシステムに予め記録されているプログラムとの組み合わせで実現できるプログラム、いわゆる差分プログラムであってもよい。
【0136】
以上、本発明の実施形態について図面を参照しながら説明したが、具体的な構成が上述した実施形態に限られるわけではなく、本発明の要旨を逸脱しない範囲での設計変更等も含まれる。
【符号の説明】
【0137】
1…サーマルプリンタ、2…ホスト端末、21…データ送信部、3…ケーシング、3a…排出口、4…表示部、5…制御部、6…本体部、7…ロール紙収容部、10…印字ユニット、11…本体フレーム、12…背板部、13…第1側壁部、13a…孔部、14…第2側壁部、15…支持部、15a…取付部、15b…貫通孔、16A…第1ローラ挿入溝、16B…第2ローラ挿入溝、17…ギヤボックス部、18…周壁部、18a…第1孔部、18b…第2孔部、19…凹部、19a…底部、19b…外側壁部、19c…内側壁部、19d…斜壁部、20…ギヤカバー、41…サーマルヘッド、42…発熱素子、45…ヘッド支持体、45a…ストッパ、51…プラテンローラ、52…ローラシャフト、53…ローラ本体、54…軸受、56…従動ギヤ、61…モータ、61a…出力軸、71…フレキシブル基板、P…記録紙、R…ロール紙、O…回転軸、110…データ受信部、120…コマンド解析部、130…印刷データ作成部、140…通電パルス計算部、150…通電パルス出力部、160…印刷データ出力部、141…印字率補正値計算部、142…印字率算出範囲判定部、142L…左端通電ドット記憶部、142R…右端通電ドット記憶部、143…印字率算出部、144…通電時間算出部、510…CPU、511…記憶部、512…通信部、513…操作入力部、514…ヘッド制御部、515…モータ制御部、520…バス
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25