JP4439026B2 - サーマルプリンタ - Google Patents
サーマルプリンタ Download PDFInfo
- Publication number
- JP4439026B2 JP4439026B2 JP1455699A JP1455699A JP4439026B2 JP 4439026 B2 JP4439026 B2 JP 4439026B2 JP 1455699 A JP1455699 A JP 1455699A JP 1455699 A JP1455699 A JP 1455699A JP 4439026 B2 JP4439026 B2 JP 4439026B2
- Authority
- JP
- Japan
- Prior art keywords
- drive frequency
- unit
- curve
- frequency curve
- blocks
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Electronic Switches (AREA)
- Printers Characterized By Their Purpose (AREA)
- Handling Of Sheets (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Description
【発明の属する技術分野】
本発明はサーマルプリンタに係わり、特に、ステッピングモータの脱調を防止するとともに印字速度を高めることが可能なサーマルプリンタに関する。
【0002】
【従来の技術】
サーマルプリンタはいわゆる携帯端末等の出力装置として広く使用されているが、電源としてバッテリを使用するものもある。
バッテリ駆動のサーマルプリンタにおいては、低消費電力化と印刷高速化という相反する要求を満たすために印刷黒率に応じて通電する発熱抵抗体数を変更する制御方法が適用されていた。
【0003】
図1は従来のサーマルプリンタの駆動回路であって、64個の発熱抵抗体を有する8個の発熱体ブロック110、111・・・116、117を使用して1行を印字する。
発熱体ブロック110、111・・・116、117は、それぞれ発熱抵抗体に対応する駆動トランジスタを内蔵する駆動ブロック120、121・・・・126、127によって制御される。
【0004】
各駆動ブロック120、121・・・・126、127には、レジスタ13から印字データが供給されるとともに、通電制御部14からストローブ信号STB0、STB1・・・STB6、STB7が供給される。
即ち、ストローブ信号STB0が論理 “1" となったとき発熱体ブロック110の発熱抵抗体に電力が供給され、ストローブ信号STB1が論理 “1" となったとき発熱体ブロック111の発熱抵抗体に電力が供給される。
【0005】
上記構成において、電源は同時に最大64個の発熱抵抗体に電力を供給する能力を有するとすると、通電制御部14は以下の制御を実行する。
1.1つの発熱体ブロック、例えば発熱体ブロック110にレジスタ13から供給される64ビットの印刷データのなかの黒の割合、即ち印刷黒率が50%以上であるときは、通電制御部14は1つのストローブ信号、例えば
ストローブ信号STB0を時間Tの間論理 “1" とする。
2.1つの発熱体ブロック、例えば発熱体ブロック110にレジスタ13から供給される印字データの印刷黒率が50%以下であって、2つの発熱体ブロック、例えば発熱体ブロック110および111にレジスタ13から供給される印刷データの印刷黒率が50%以上であるときは、通電制御部14は2つのストローブ信号、例えばストローブ信号STB0およびSTB
1を時間Tの間論理 “1" とする。
3.2つの発熱体ブロック、例えば発熱体ブロック110および111にレジスタ13から供給される印字データの印刷黒率が50%以下であって、4つの発熱体ブロック、例えば発熱体ブロック110、111、112および113にレジスタ13から供給される印刷データの印刷黒率が50%以上であるときは、通電制御部14は4つのストローブ信号、例えばストローブ信号STB0、STB1、STB2およびSTB3を時間Tの間論理
“1" とする。
4.4つの発熱体ブロック、例えば発熱体ブロック110、111、112および113にレジスタ13から供給される印刷データの印刷黒率が50%以下であるときは、通電制御部14は8つのストローブ信号STB0〜S
TB7を時間Tの間論理 “1" とする。
なお、時間Tは、黒を印刷するための発熱抵抗体への通電時間である。
【0006】
一方サーマルプリンタにおいては、プラテンをステッピングモータで回転駆動することによって感熱紙を長さ方向に送出するが、通常2発熱体ブロック通電するごとにステッピングモータを1ステップ駆動する。
従って、ステッピングモータに供給される駆動パルスの周波数は印刷黒率に影響されることとなる。
【0007】
図2は通電制御部14による通電シーケンスの1例であって、黒丸は1発熱体ブロック通電を、白丸は2発熱体ブロック通電を、黒四角は4発熱体ブロック通電を、白四角は8発熱体ブロック通電を示す。
この場合、第1および第2の発熱体ブロック110および111の通電中のステッピングモータの駆動周波数をf/2=1/(2T)とすると、第3および第4の発熱体ブロック112および113の通電中にはステッピングモータの駆動周波数をf/4=1/(4T)に低減することが必要となり、第5および第6の発熱体ブロック114および115ならびに第7および第8の発熱体ブロック116および117の通電中にはステッピングモータの駆動周波数はf=1/Tに増加しても差し支えがないこととなる。
【0008】
図3は第1ドットラインの印刷時のステッピングモータの駆動周波数を表すグラフであって、横軸はステッピングモータのステップ数を、縦軸は駆動周波数を表す。
図3から判るように、第2ステップから第3ステップに移行するときにはステッピングモータを半分の速度に減速し、第3ステップから第4ステップに移行するときはステッピングモータを4倍の速度に増速する必要があるが、ステッピングモータの出力トルクが大であれば急激な減速あるいは増速が可能である。
【0009】
【発明が解決しようとする課題】
しかしながら、バッテリ駆動のサーマルプリンタに適用されるステッピングモータは直径12〜15mmのものが大部分であるため、急激な減速あるいは増速を行った場合には脱調が発生するおそれがある。
例えば、標準の駆動周波数fを1000PPS(パルス/秒)としたとき、停止状態から2f(=2000PPS)まで増速する、あるいは2fから停止まで減速するには4〜12ステップが必要であり、図3に示すパターン通りの周波数でステッピングモータを駆動した場合には脱調の発生を回避できない。
【0010】
そこで、脱調を防止するために、前回印刷時のステッピングモータの駆動周波数fx と今回の目標駆動周波数fc とに基づいて、(1)式によって実際の駆動周波数fopを決定して駆動周波数の変動を抑制することが提案されている。
1/fop=0.75/fx +0.25/fc (1)
図4は、図2のシーケンスに基づく駆動周波数のグラフであって、横軸はステッピングモータのステップ数を、縦軸は駆動周波数を示す。
【0011】
ここで実線は増速の制限を無視したときの本来の駆動周波数を、点線は(1)式によって補正された実際の駆動周波数を示す。
そして、例えば、第5および第6の発熱体ブロック114および115に対する駆動周波数、即ちステッピングモータの第3ステップの駆動周波数は、本来の駆動周波数fc がf、前回の駆動周波数fx がf/4であるので、次式により算出される。
【0012】
1/fop=0.75×4/f+0.25/f=3.25/f
図4から判明するように、増速の制限を無視したときには、ステッピングモータが16ステップ回転するのに要する時間は26Tであるのに対し、(1)式に基づいて駆動周波数を決定した場合には40.98Tと、約1.6倍の時間を要することとなる。
【0013】
本発明は上記課題に鑑みなされたものであって、ステッピングモータの脱調を防止するとともに印刷速度を高速化することの可能なサーマルプリンタを提供することを目的とする。
【0014】
【課題を解決するための手段】
本発明に係るサーマルプリンタは、入力された所定量の印刷データを記憶する記憶部と、ステッピングモータによって回転駆動されるプラテン上に、該プラテンの軸と平行方向に1列に配列され、該ステッピングモータの回転ステップ毎に1ドットライン分の印刷データに従って該プラテンで搬送される感熱紙に印字する複数の発熱抵抗体と、前記複数の発熱抵抗体の各々に対応して通電を制御する複数の発熱制御素子と、前記記憶された印刷データの前記1ドットライン分ずつの印刷データをビットマップに変換して前記記憶部に記憶するビットマップ変換部と、前記変換された前記1ドットライン毎のビットマップに従って前記1回転ステップ毎に前記複数の発熱制御素子を通電制御するとともに、前記1ドットライン毎のビットマップから求めた印字黒率に対応して求めた駆動周波数で前記ステッピングモータを1回転ステップずつ駆動する制御部と、を備える。
【0015】
そして、前記複数の発熱抵抗体は、複数の発熱ブロックに分けられ、前記制御部は、前記変換された前記1ドットライン毎のビットマップから前記複数の発熱ブロックの各々について印字黒率を各々算出する印字黒率算出部と、前記1ドットライン毎に算出された前記複数の発熱ブロックの各々に係る印字黒率に基づいて、予め設定された複数の印字黒率に対する目標駆動周波数の中から、該当する目標駆動周波数を1ドットライン毎に選択する目標駆動周波数選択部と、前記印刷データ中の1文字を印字する所定数のドットラインの各々について選択された目標駆動周波数に基づいて、前記ステッピングモータの回転ステップ数に対する目標駆動周波数曲線を算出する目標駆動周波数曲線算出部と、算出された前記目標駆動周波数曲線に基づいて駆動周波数が該目標駆動周波数曲線以下となる前記ステッピングモータの回転ステップ数に対する近似曲線を算出して、該近似曲線を最適駆動周波数曲線とする最適駆動周波数曲線算出部と、前記最適駆動周波数曲線から、前記1文字分に係る前記ステッピングモータの回転ステップ毎の最適駆動周波数を求める最適駆動周波数決定部と、を有し、前記制御部は、前記1文字分の所定数のドットラインが印字される毎に求められた前記最適駆動周波数に従って前記ステッピングモータを回転駆動することとした。
【0016】
さらに、前記制御部は、通電シーケンス選択部を有し、前記複数の発熱ブロックは、第1及び第2ユニットに分けられ、該第1ユニットに含まれる複数の発熱ブロックが第1及び第2ブロックに分けられ、該第2ユニットに含まれる複数の発熱ブロックが第3及び第4ブロックに分けられ、前記印字黒率算出部は、前記第1乃至第4ブロックの各々に係る印字黒率を算出し、前記通電シーケンス部は、前記第1乃至第4ブロックに係る各印字黒率が0%、50%以下、50%以上のいずれかであることに従って、予め定められた複数のブロック通電シーケンスから前記第1及び第2ユニットの各々に対応するブロック通電シーケンスを選択し、前記目標駆動周波数選択部は、選択された前記第1及び第2ユニットの各々に対応するブロック通電シーケンスに基づいて、前記複数のブロック通電シーケンスに対応して予め定められた複数の目標駆動周波数から該当する目標駆動周波数を1ドットライン毎に選択することとした。
【0017】
前記最適駆動周波数曲線算出部は、前記近似曲線を前記目標駆動周波数曲線以下となる正弦波関数によって近似して算出することとし、前記近似曲線を前記目標駆動周波数曲線以下となる正規分布関数によって近似して算出することとし、前記近似曲線を前記目標駆動周波数曲線以下となるスプライン関数によって近似して算出することとし、或いは、前記近似曲線を前記目標駆動周波数曲線以下となる移動平均関数によって近似して算出することとし、また、前記目標駆動周波数曲線以下となる予め定められた複数種の関数によって近似して、近似度合いの最も良好な関数を前記最適駆動周波数曲線とすることとし、さらには、算出した前記近似曲線を最適駆動周波数曲線として前記記憶部に記憶することとした。
本発明にあっては、所定量の印刷データに基づいて近似度の最も良好な関数を使用して最適駆動周波数曲線が決定されるため、ステッピングモータは脱調しない範囲で高速駆動される。
【0018】
【発明の実施の形態】
図5は本発明に係るサーマルプリンタの構成図であって、プラテン51はステッピングモータ52によって回転駆動されるが、ステッピングモータ52の回転は駆動制御部53によって制御される。
プラテン51上に搬送されてくる感熱紙に1ドットラインを印字するために、各々が64ドットの発熱抵抗体を有する8個の発熱体ブロック54i(i=0〜7)がプラテンに対向して配置されている。
【0019】
各発熱抵抗体に一端は電源VCCに接続され、他端は発熱制御ブロック55i(i=0〜7)内に発熱体に対応して配置される発熱制御素子に接続される。
発熱制御素子は2入力アンドゲートであって、一方の入力端子は制御ブロック毎に一括して通電ブロック制御部56に接続される。また他方の端子はラッチ部57を介してレジスタ58に接続される。
【0020】
なお、本発明に係るサーマルプリンタは、例えばマイクロプロセッサシステムである制御部59によって制御される。
図6は制御部59の構成図であって、バス590を中心として、CPU591、ROM592、RAM593、PLA(プログラマブル・ロジック・アレイ)594、データインターフェイス(I/F)595、入力I/F596、出力I/F597から構成されている。
【0021】
ROM592はCPU591で実行されるサーマルプリンタを制御するためのプログラムを記憶し、RAM593はデータを一時的に記憶する。
また、PLA594は後述する計数部5941、ブロック通電シーケンス選択部5942および駆動周波数選択・決定部5943を構成する。
なお、計数部5941、ブロック通電シーケンス選択部5942および駆動周波数選択・決定部5943は専用のPLAで構成せずに、制御部59の中にソフトウエア的に構成することも可能である。
【0022】
さらに、データI/F595はホストコンピュータ(図示せず)から伝送されてくる印刷データを受信し、入力I/F596は電源VCCの電圧を監視するための電圧センサ61および発熱抵抗体の基板の温度を検出するための温度センサ62の出力を読み込み、出力I/F597はラッチ57、レジスタ58、駆動制御部53および通電ブロック制御部56に対してデータ、動作指令を出力する。
【0023】
図7はサーマルプリンタ制御ルーチンのフローチャートであって、ステップ71でホストコンピュータから伝送されてくる所定量(例えば1文字行分)の印刷データを受信して、RAM593に記憶する。次いで、ステップ72において印刷データをビットマップに変換する。
ステップ73では所定数の発熱体ブロック(例えば4発熱体ブロック)で構成される発熱ユニット毎に印刷黒率を算出しRAM593に記憶し、ステップ74では印刷黒率に基づいて最適な通電シーケンスを決定してRAM593に記憶する。さらに、ステップ75では所定量の通電シーケンスに基づいて目標駆動周波数を選択し、ステップ76で駆動周波数を決定し、RAM593に記憶する。以上のステップ73〜76に詳細については後述する。
【0024】
最後に、ステップ77でRAM593に記憶されている所定量の印刷データを感熱紙に印字してこのルーチンを終了する。
本発明に係るサーマルプリンタにおいては、1文字が例えば16×16ドットで構成され、1行には32文字が印刷可能なものとする。
さらに、1ドットラインは512個の発熱抵抗体で構成され、各々が64個の発熱体を含む8つの発熱ブロックに区分されているものとする。即ち、1発熱ブロックで4文字を印刷することが可能な構成であるとする。
【0025】
上記構成において、ステップ73において印刷黒率は、1発熱体ブロック(即ち64ドット)毎に1文字行分、即ち16ドットライン分がまとめて演算されるものとする。
図8は、ステップ73で実行される印刷黒率算出ルーチンの詳細フローチャートであるが、この印刷黒率算出ルーチンはPLA594の計数部5941において実行される。
【0026】
まず、ステップ7301で以下の初期化を行う。
1発熱体ブロック内のドット番号を表すインデックスnを “1" に設定する。
1行内の発熱体ブロックの番号を表すインデックスmを “1" に設定する。
1文字行内のドットラインを表すインデックス lを “1" に設定する。
黒のドット数の積算値BLKの初期値を “0" に設定する。
【0027】
ステップ7302でビットマップの1つのビットB(n,m,l )が “1" であるか、即ち発熱抵抗体をオンとして黒を印刷するかを判定する。
ステップ7302で肯定判定されたとき、即ち黒を印刷するときは、ステップ7303で積算値BLKをインクリメントしてステップ7304に進む。逆にステップ7302で否定判定されたとき、即ち白を印刷するときは直接ステップ7304に進む。
【0028】
ステップ7304では、インデックスnが “64" に到達したか、即ち、1発熱体ブロックについて印刷黒率の算出が完了したかを判定する。そして、ステップ7304で否定判定されたとき、即ち、1発熱体ブロックについて印刷黒率の算出が完了していないときはステップ7305でインデックスnをインクリメントしてステップ7302に戻る。
【0029】
逆に、ステップ7304で肯定判定されたときは、ステップ7306で次式に基づいて印刷黒率BRを算出する。
BR=BLK/64
次に、ステップ7307でBLKを再度初期値 “0" に設定し、さらに、ステップ7308でインデックスnを “1" に再度設定する。
【0030】
ステップ7309でインデックスmが “8" に到達したか、即ち、1ドットラインについて処理が完了したかを判定し、否定判定されたときはステップ7310でインデックスmをインクリメントしてステップ7302に戻る。
ステップ7309で肯定判定されたときはステップ7311でインデックスmを “1" に再度設定する。
【0031】
そしてステップ7312でインデクス lがL(=16)に到達したか、即ち、1文字行についての処理が完了したかを判定し、否定判定したときはステップ7313でインデックス lをインクリメントしてステップ7302に戻る。逆に、ステップ7312で肯定判定されたときは、このルーチンを終了する。
図9はステップ74で実行される4発熱体ブロックを1発熱体単位とする通電シーケンス決定ルーチンのフローチャートであるが、この通電シーケンス決定ルーチンはPLC594のブロック通電シーケンス決定部5942で実行される。
【0032】
ステップ741で以下の初期化を実行する。
1行内の発熱体ブロックの番号を表すインデックスmを “1" に設定する。
1頁内の行番号を表すインデックス lを “1" に設定する。
次に、ステップ742で1発熱ユニットの前2つの発熱体ブロックの合計印刷黒率BBを次式により算出する。
【0033】
BB=BR(m,l )+BR(m+1,l )
ステップ743で1発熱ユニットの後2つの発熱体ブロックの合計印刷黒率BFを次式により算出する。
BF=BR(m+2,l )+BR(m+3,l )
そして、ステップ744で1発熱ユニットの合計印刷黒率BTを次式により算出する。
【0034】
BT=BB+BF
次に、ステップ745で通電シーケンスを選択するが、詳細は後述する。
ステップ746でインデックスmが “8" に到達したか、即ち、1ドットラインのすべての発熱体ブロックについて処理が完了したかを判定し、否定判定されたときはステップ747でインデックスmを “4" インクリメントしてステップ742に戻る。
【0035】
ステップ746で肯定判定されたときはステップ748でインデックス lが16に到達したか、即ち、1文字行について印刷黒率の演算が完了したかを判定し、否定判定されたときはステップ749でインデックス lをインクリメントしてステップ742に戻る。逆にステップ748で肯定判定されたときはこのルーチンを終了する。
【0036】
図10はステップ745で実行される通電シーケンス選択アルゴリズムであって、この表に基づいて通電シーケンスが選択される。
例えば、1発熱ユニットの合計印刷黒率BTが0%であれば、通電シーケンスSEQ(m,l )(ただしm=1〜4または5〜8)は “0" に設定される。
一方の2発熱体ブロックの印字黒率が50%以下、他方の2発熱体ブロックの印字黒率が0%であれば、通電シーケンスSEQ(m,l )は “4" に設定される。
【0037】
1発熱ユニットのうち前半の2発熱体ブロックの印刷黒率が50%以上、後半の2発熱体ブロックの印刷黒率が0%であれば、通電シーケンスSEQ(1,l )およびSEQ(2,l )またはSEQ(5,l )およびSEQ(6,l )は “1" に、通電シーケンスSEQ(3,l )およびSEQ(4,l )またはSEQ(7,l )およびSEQ(8,l )は “0" に設定される。
【0038】
1発熱ユニット全体の印刷黒率が50%以下であれば、通電シーケンスSEQ(m,l )(ただしm=1〜4または5〜8)は “4" に設定される。
1発熱ユニット全体の印刷黒率が50%以上であるが、2発熱体ブロックの印刷黒率がそれぞれ50%以下であれば、通電シーケンスSEQ(m,l )(ただしm=1〜4または5〜8)は “2" に設定される。
【0039】
1発熱ユニットのうち前半の2発熱体ブロックの印刷黒率が50%以上、後半の2発熱体ブロックの印刷黒率が50%以下であれば、通電シーケンスSEQ(1,l )およびSEQ(2,l )またはSEQ(5,l )およびSEQ(6,l )は “1" に、通電シーケンスSEQ(3,l )およびSEQ(4,l )またはSEQ(7,l )およびSEQ(8,l )は “2" に設定される。
【0040】
1発熱ユニットのうち前半の2発熱体ブロックの印刷黒率が50%以下、後半の2発熱体ブロックの印刷黒率が50%以上であれば、通電シーケンスSEQ(1,l )およびSEQ(2,l )またはSEQ(5,l )およびSEQ(6,l )は “2" に、通電シーケンスSEQ(3,l )およびSEQ(4,l )またはSEQ(7,l )およびSEQ(8,l )は “1" に設定される。
【0041】
さらに、1発熱ユニットの2つの発熱体ブロックの印刷黒率がともに50%以上であれば、通電シーケンスSEQ(m,l )(ただしm=1〜4または5〜8)は “1" に設定される。
図9の通電シーケンス決定ルーチンによって16ドットラインのすべての発熱体について通電シーケンスが決定されると、サーマルプリンタ制御ルーチンのステップ75において通電シーケンスに基づいて目標駆動周波数が決定される。
【0042】
図11は目標駆動周波数選択アルゴリズムであって、以下のように設定される。
SEQ(m,l )=1であれば目標駆動周波数TF(m,l )=0.5
SEQ(m,l )=2であれば目標駆動周波数TF(m,l )=1.0
SEQ(m,l )=0または4であれば目標駆動周波数TF(m,l )=2.0
16ドットラインのすべての発熱体について目標駆動周波数選択が完了すると、サーマルプリンタ制御ルーチンのステップ76において駆動周波数が決定される。
【0043】
図12は駆動周波数決定ルーチンのフローチャートであって、ステップ761で16ドットライン分の発熱体について、ピーク切り出しを行う。
図13はピーク切り出しの説明図であって、目標周波数TF(m,l )がステッピングモータのステップの増加に伴っていったん上昇して最大となってから下降して最小となるまでを1つのピークとして切り出す。
【0044】
図13においては第1ステップから第7ステップまでがピークIを、第8ステップから第11ステップまでがピークIIを、第11ステップから第15ステップまでがピークIII を、第15ステップから第19ステップまでがピークIVを形成する。
次にステップ762で、1つのピークごとに予め定められた関数を使用して近似曲線を算出する。ただし、近似曲線は目標駆動周波数以下となるように定められる。関数としては、正弦波関数、正規分布関数、スプライン関数、および移動平均関数等を使用することができる。
【0045】
図13の破線は正弦波関数を使用した場合の近似曲線を示し、白丸が実際に使用する駆動周波数である。
駆動周波数決定ルーチンによって駆動周波数が決定されると、サーマルプリンタ制御ルーチンのステップ77において、印刷データをレジスタ58、ラッチ57および通電制御ブロック55iを介して発熱抵抗体ブロック54iに、通電シーケンスを通電ブロック制御部56に、駆動周波数を駆動制御部53に伝送して16ドットライン分の印刷を実行してこのルーチンを終了する。そして、ホストコンピュータから次の印刷データを受信すると、再びサーマルプリンタ制御ルーチンの実行が開始される。
【0046】
上記実施形態においては、4つの発熱体ブロックを1発熱ユニットとしたが、従来の技術で説明したように8つの発熱体ブロックを1発熱ユニットとしてもよい。この場合は目標駆動周波数TF(m,l )の最大値は4となる。
図14は本発明に係るサーマルプリンタの効果を示すグラフであって、通電シーケンスは8つの発熱体ブロックを1発熱ユニットとした図2に示すものと同一とし、ステッピングモータの駆動周波数は本発明の駆動周波数決定ルーチンによって決定されている。即ち、本発明によればステッピングモータが16ステップ回転するのに要する時間は29.39Tとなり従来の40.98Tに比較して約30%短縮される。
【0047】
【発明の効果】
本発明に係るサーマルプリンタによれば、予め定められた量の印刷データに基づいてステッピングモータの最適駆動周波数曲線が決定されるため、前回実駆動周波数および今回の目標駆動周波数に基づいて今回の実駆動周波数を定める従来の方法に比較して印刷速度を向上することが可能となる。
【0048】
また、本発明に係るサーマルプリンタによれば、印刷速度が最大となる発熱抵抗体に対する通電シーケンスに基づいて最適駆動周波数曲線が決定されるため、発熱抵抗体を確実に制御しつつ印刷速度を向上することが可能となる。
また、本発明に係るサーマルプリンタによれば、目標駆動周波数を最も精度よく近似する曲線を使用して最適駆動周波数曲線が決定されるため、印刷速度を一層向上することが可能となる。
【図面の簡単な説明】
【図1】従来のサーマルプリンタの駆動回路である。
【図2】通電制御部による通電シーケンスの1例である。
【図3】第1ドットライン印刷時のステッピングモータの駆動周波数である。
【図4】図2のシーケンスに基づく駆動周波数のグラフである。
【図5】本発明に係るサーマルプリンタの構成図である。
【図6】制御部の構成図である。
【図7】サーマルプリンタ制御ルーチンのフローチャートである。
【図8】印刷黒率算出ルーチンのフローチャートである。
【図9】通電シーケンス決定ルーチンのフローチャートである。
【図10】通電シーケンス選択アルゴリズムである。
【図11】目標駆動周波数選択アルゴリズムである。
【図12】駆動周波数決定ルーチンのフローチャートである。
【図13】ピーク切り出しの説明図である。
【図14】本発明の効果を示すグラフである。
【符号の説明】
51…プラテン
52…ステッピングモータ
53…駆動制御部
540〜547…発熱抵抗体ブロック
550〜557…発熱制御ブロック
56…通電ブロック制御部
57…ラッチ
58…レジスタ
59…制御部
Claims (8)
- 入力された所定量の印刷データを記憶する記憶部と、
ステッピングモータによって回転駆動されるプラテン上に、該プラテンの軸と平行方向に1列に配列され、該ステッピングモータの1回転ステップ毎に1ドットライン分の印刷データに従って該プラテンで搬送される感熱紙に印字する複数の発熱抵抗体と、
前記複数の発熱抵抗体の各々に対応して通電を制御する複数の発熱制御素子と、
前記記憶された印刷データの前記1ドットライン分ずつの印刷データをビットマップに変換して前記記憶部に記憶するビットマップ変換部と、
前記変換された前記1ドットライン毎のビットマップに従って前記1回転ステップ毎に前記複数の発熱制御素子を通電制御するとともに、前記1ドットライン毎のビットマップから求めた印字黒率に対応して求めた駆動周波数で前記ステッピングモータを1回転ステップずつ駆動する制御部と、を備え、
前記複数の発熱抵抗体は、複数の発熱ブロックに分けられ、
前記制御部は、
前記変換された前記1ドットライン毎のビットマップから前記複数の発熱ブロックの各々について印字黒率を各々算出する印字黒率算出部と、
前記1ドットライン毎に算出された前記複数の発熱ブロックの各々に係る印字黒率に基づいて、予め設定された複数の印字黒率に対する目標駆動周波数の中から、該当する目標駆動周波数を1ドットライン毎に選択する目標駆動周波数選択部と、
前記印刷データ中の1文字を印字する所定数のドットラインの各々について選択された目標駆動周波数に基づいて、前記ステッピングモータの回転ステップ数に対する目標駆動周波数曲線を算出する目標駆動周波数曲線算出部と、
算出された前記目標駆動周波数曲線に基づいて駆動周波数が該目標駆動周波数曲線以下となる前記ステッピングモータの回転ステップ数に対する近似曲線を算出して、該近似曲線を最適駆動周波数曲線とする最適駆動周波数曲線算出部と、
前記最適駆動周波数曲線から、前記1文字分に係る前記ステッピングモータの回転ステップ毎の最適駆動周波数を求める最適駆動周波数決定部と、を有し、
前記制御部は、前記1文字分の所定数のドットラインが印字される毎に求められた前記最適駆動周波数に従って前記ステッピングモータを回転駆動することを特徴とするサーマルプリンタ。 - 前記制御部は、通電シーケンス選択部を有し、
前記複数の発熱ブロックは、第1及び第2ユニットに分けられ、該第1ユニットに含まれる複数の発熱ブロックが第1及び第2ブロックに分けられ、該第2ユニットに含まれる複数の発熱ブロックが第3及び第4ブロックに分けられ、
前記印字黒率算出部は、前記第1乃至第4ブロックの各々に係る印字黒率を算出し、
前記通電シーケンス部は、前記第1乃至第4ブロックに係る各印字黒率が0%、50%以下、50%以上のいずれかであることに従って、予め定められた複数のブロック通電シーケンスから前記第1及び第2ユニットの各々に対応するブロック通電シーケンスを選択し、
前記目標駆動周波数選択部は、選択された前記第1及び第2ユニットの各々に対応するブロック通電シーケンスに基づいて、前記複数のブロック通電シーケンスに対応して予め定められた複数の目標駆動周波数から該当する目標駆動周波数を1ドットライン毎に選択することを特徴とする請求項1に記載のサーマルプリンタ。 - 前記最適駆動周波数曲線算出部は、前記近似曲線を前記目標駆動周波数曲線以下となる正弦波関数によって近似して算出することを特徴とする請求項1又は2に記載のサーマルプリンタ。
- 前記最適駆動周波数曲線算出部は、前記近似曲線を前記目標駆動周波数曲線以下となる正規分布関数によって近似して算出することを特徴とする請求項1又は2に記載のサーマルプリンタ。
- 前記最適駆動周波数曲線算出部は、前記近似曲線を前記目標駆動周波数曲線以下となるスプライン関数によって近似して算出することを特徴とする請求項1又は2に記載のサーマルプリンタ。
- 前記最適駆動周波数曲線算出部は、前記近似曲線を前記目標駆動周波数曲線以下となる移動平均関数によって近似して算出することを特徴とする請求項1又は2に記載のサーマルプリンタ。
- 前記最適駆動周波数曲線算出部は、前記目標駆動周波数曲線以下となる予め定められた複数種の関数によって近似し、近似度合いの最も良好な関数を前記最適駆動周波数曲線とすることを特徴とする請求項1又は2に記載のサーマルプリンタ。
- 前記最適駆動周波数曲線算出部は、算出した前記近似曲線を最適駆動周波数曲線として前記記憶部に記憶することを特徴とする請求項1乃至7のいずれか一項に記載のサーマルプリンタ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1455699A JP4439026B2 (ja) | 1999-01-22 | 1999-01-22 | サーマルプリンタ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1455699A JP4439026B2 (ja) | 1999-01-22 | 1999-01-22 | サーマルプリンタ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000211195A JP2000211195A (ja) | 2000-08-02 |
JP4439026B2 true JP4439026B2 (ja) | 2010-03-24 |
Family
ID=11864436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1455699A Expired - Fee Related JP4439026B2 (ja) | 1999-01-22 | 1999-01-22 | サーマルプリンタ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4439026B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5768965B2 (ja) * | 2011-03-31 | 2015-08-26 | カシオ計算機株式会社 | プリンタ装置及びプログラム |
-
1999
- 1999-01-22 JP JP1455699A patent/JP4439026B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000211195A (ja) | 2000-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7965308B2 (en) | Method and arrangement for control of the printing of a thermotransfer printing device | |
JP4111455B1 (ja) | サーマルプリンタ | |
US7436418B2 (en) | Thermal printer, thermal printer control method, and printing system | |
EP0421353A2 (en) | Drive control device for thermal printers | |
US6570601B2 (en) | Method of driving a thermal line printer and thermal line printer | |
JP2009113445A (ja) | サーマルプリンタ及びサーマルプリンタの印字速度制御方法 | |
JP4439026B2 (ja) | サーマルプリンタ | |
CN110303775B (zh) | 热敏打印机打印速度调整方法、计算机装置以及计算机可读存储介质 | |
US6784909B2 (en) | Auxiliary control device for managing printing in a thermal printer | |
JP2011126140A (ja) | サーマルプリンタ及びプログラム | |
JPH0550638A (ja) | サーマルプリンタ | |
JPH07237306A (ja) | プリンターに於ける印字ヘッドの識別装置 | |
JPH08258313A (ja) | サーマルプリンタ | |
JP4215481B2 (ja) | サーマルプリンタ | |
JP2009090547A (ja) | サーマルプリンタ、および印字速度減速制御方法 | |
JPH10193664A (ja) | サーマルプリンタ | |
JPH06286196A (ja) | サーマルラインプリンタ | |
JP2784858B2 (ja) | シリアルプリンタ | |
JPH0550658A (ja) | シリアルドツトプリンタ | |
JPH06115139A (ja) | サーマルプリンタ制御方法 | |
JP2000094750A (ja) | ポータブルプリンタ | |
JPH0985978A (ja) | サーマルプリンタ及びその制御方法 | |
JPH05261964A (ja) | サーマルプリンタ | |
JP2001158122A (ja) | サーマルヘッドの制御装置 | |
JPH0361048A (ja) | ドツトインパクト式プリンタ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20031125 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090519 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090707 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090915 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091109 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20091208 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100105 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130115 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4439026 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130115 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140115 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |