I'm trying to wrap my head around thermal line printing, and I'm not seeing
my way through the main printing operation.
In order to print, I have to load the head with data, fire six print
pulses, and step the motor.
If I didn't care about speed, I would simply do this all in sequence, and
be done with it.
However, I do.
So:
I can load the head during the burn time, which is nice.
My conundrum comes down to how to resolve the situation where the sum of
the burn times may exceed the normal time between motor steps.
Normally, I can complete all six burn pulses in less time than a motor
step, so the obvious method would be to use a timer as a lockout, saying
"you can't step the motor till I expire".
In fact, it's very tempting to run the motor on a timer interrupt.
However, as the temperature and battery voltage drops, the burn time
increases, and I may not be able to complete all six burns before the timer
expires.
The first order solution seems to be to step the motor when burn is
completed and timer expires, but that seems to have a problem too. If the
motor is accelerated to some value, and I hit a "thick patch", then I'm
likely to show down significantly, and the motor may not be able to track
the change in speed. Also, on the other side, I may come out of a "thick
patch" and need to accelerate rapidly.
Additionally, I have to compensate for residual heat in the printing
elements, so I have to alter the burn time dynamically, in response to the
printed data as well.
The problem seems deceptively simple at first, but the more I look at it,
the more interesting it gets.
Has anyone on the list worked through this before?
Am I walking into a deep hole here?
:)
Got a need to read Bar codes? http://www.barcodechip.com
Bi-directional read of UPC-A, UPC-E, EAN-8, EAN-13, JAN, and Bookland, with
two or five digit supplemental codes, in an 8 pin chip, with NO external parts.
I'm trying to wrap my head around thermal line printing, and I'm not seeing
my way through the main printing operation.
In order to print, I have to load the head with data, fire six print
pulses, and step the motor.
If I didn't care about speed, I would simply do this all in sequence, and
be done with it.
However, I do.
So:
I can load the head during the burn time, which is nice.
My conundrum comes down to how to resolve the situation where the sum of
the burn times may exceed the normal time between motor steps.
Normally, I can complete all six burn pulses in less time than a motor
step, so the obvious method would be to use a timer as a lockout, saying
"you can't step the motor till I expire".
In fact, it's very tempting to run the motor on a timer interrupt.
However, as the temperature and battery voltage drops, the burn time
increases, and I may not be able to complete all six burns before the timer
expires.
The first order solution seems to be to step the motor when burn is
completed and timer expires, but that seems to have a problem too. If the
motor is accelerated to some value, and I hit a "thick patch", then I'm
likely to show down significantly, and the motor may not be able to track
the change in speed. Also, on the other side, I may come out of a "thick
patch" and need to accelerate rapidly.
Additionally, I have to compensate for residual heat in the printing
elements, so I have to alter the burn time dynamically, in response to the
printed data as well.
The problem seems deceptively simple at first, but the more I look at it,
the more interesting it gets.
Has anyone on the list worked through this before?
Am I walking into a deep hole here?
:)
--
Dave's Engineering Page: http://www.dvanhorn.org
Got a need to read Bar codes? http://www.barcodechip.com
Bi-directional read of UPC-A, UPC-E, EAN-8, EAN-13, JAN, and Bookland, with
two or five digit supplemental codes, in an 8 pin chip, with NO external parts.
I know this is not the answer, but IIRC RS (RadioSpares) has a dedicated
print head controller IC. I guess you have checked the manufactureres site
(I hope they have one) to see how they recommend to do it ?
I prefer the electro thermal system, seemed easier to use :o)
Regards,
Kat.
____________________________________________________________________________
/"\ ASCII Ribbon Campaign | K.A.Q. Electronics
\ / - NO HTML/RTF in e-mail | Software and Electronic Engineering
X - NO Word docs in e-mail | Perth Western Australia
/ \ | Ph +61 419 923 731
____________________________________________________________________________
At 07:40 AM 11/8/01 +0800, Kathy Quinlan wrote:
>I know this is not the answer, but IIRC RS (RadioSpares) has a dedicated
>print head controller IC. I guess you have checked the manufactureres site
>(I hope they have one) to see how they recommend to do it ?
Where do you find radiospares? I've heard the name, but I can't remember
where.
>I prefer the electro thermal system, seemed easier to use :o)
Got a need to read Bar codes? http://www.barcodechip.com
Bi-directional read of UPC-A, UPC-E, EAN-8, EAN-13, JAN, and Bookland, with
two or five digit supplemental codes, in an 8 pin chip, with NO external parts.
RadioSpares are at http://www.RS-Components.com. If you are in the USA you will
need to use UK export IIRC, set up an account (does not cost anything) and
they will quote you, and you get access to the online technical library.
What brand and make is the print head ?
The electro thermal uses a silver paper, which is at ground potential, and
just puts a voltage on the print head pin, the short circuit current burns
the paper thus creating the image, Axiom corp. made lots of these printers.
From what I remember, this method did not have problems with varying print
density ie all black or no print, as the print head did not warm all that
much.
Regards,
Kat.
____________________________________________________________________________
/"\ ASCII Ribbon Campaign | K.A.Q. Electronics
\ / - NO HTML/RTF in e-mail | Software and Electronic Engineering
X - NO Word docs in e-mail | Perth Western Australia
/ \ | Ph +61 419 923 731
____________________________________________________________________________
At 08:53 AM 11/8/01 +0800, Kathy Quinlan wrote:
>Hi David,
>
>RadioSpares are at http://www.RS-Components.com. If you are in the USA you will
>need to use UK export IIRC, set up an account (does not cost anything) and
>they will quote you, and you get access to the online technical library.
>
>What brand and make is the print head ?
Seiko LTP mech, though that's in question at this point.
Still, they all are pretty much the same in operation.
The axiohm mech that I worked with before had multiple enables too, but it
could take a full burn on all elements (19A@32V for about 300uS every
1200uS or less)
>The electro thermal uses a silver paper, which is at ground potential, and
>just puts a voltage on the print head pin, the short circuit current burns
>the paper thus creating the image, Axiom corp. made lots of these printers.
Oh THAT one!
> From what I remember, this method did not have problems with varying print
>density ie all black or no print, as the print head did not warm all that
>much.
Wasn't that the silver paper?
IIRC the electrodes burned up after a while.
--
Dave's Engineering Page: http://www.dvanhorn.org
Got a need to read Bar codes? http://www.barcodechip.com
Bi-directional read of UPC-A, UPC-E, EAN-8, EAN-13, JAN, and Bookland, with
two or five digit supplemental codes, in an 8 pin chip, with NO external parts.
At 08:53 AM 11/8/01 +0800, Kathy Quinlan wrote:
>Hi David,
>
>RadioSpares are at http://www.RS-Components.com. If you are in the USA you will
>need to use UK export IIRC, set up an account (does not cost anything) and
>they will quote you, and you get access to the online technical library.
>
>What brand and make is the print head ?
Got a need to read Bar codes? http://www.barcodechip.com
Bi-directional read of UPC-A, UPC-E, EAN-8, EAN-13, JAN, and Bookland, with
two or five digit supplemental codes, in an 8 pin chip, with NO external parts.
where did you find the 74VLC1284, as free trade zone, RS (aust.) and farnell
(aust.) do not list it
____________________________________________________________________________
/"\ ASCII Ribbon Campaign | K.A.Q. Electronics
\ / - NO HTML/RTF in e-mail | Software and Electronic Engineering
X - NO Word docs in e-mail | Perth Western Australia
/ \ | Ph +61 419 923 731
____________________________________________________________________________
Got a need to read Bar codes? http://www.barcodechip.com
Bi-directional read of UPC-A, UPC-E, EAN-8, EAN-13, JAN, and Bookland, with
two or five digit supplemental codes, in an 8 pin chip, with NO external parts.
I haven't done anything like this but the books suggest that you invest in
a better motor driver that can support your maximum required acceleration
rate and implement some sort of pulse accumulator or other suitable device
to detect when the next motor pulse is due (by adding burn times and
breaks and taking its inverse scaled somehow I suppose - that would give
some form of suitable inverse coupling between motor pulses and burn
times). You will probaby need to implement a good servo algoruthm to keep
the dot columns aligned though. How fast are you trying to print ? Burning
paper ? ;-) (Dave Fahrenheit 450 ?)
$0.02
Peter
-- http://www.piclist.com hint: PICList Posts must start with ONE topic:
[PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads
> Has anyone on the list worked through this before?
Yes but it was long long ago and my memory grows weak. One
thing that I do recall is that if you are using a micro that has ports
that can be configured as an external memory bus at reset, don't
forget to consider a watchdog situation. This lesson was learnt at a
product demo in front of the company top brass - thermal printer
with rubber roller can make much smoke.
> Am I walking into a deep hole here?
I was thinking mountains and mole hills. As long as you are within
the pull-in torque range of the stepper motor, you don't need to
worry about acceleration/deceleration - a step is a step.
It would suprise me if the printer manufacturer expects you to run
outside the pull-in range.
It is usual for a thermal printer to slow down when printing large
solid areas. There's not much you can do about thermal delays.
I don't remember the actual numbers, but I do recall having the
discussion about looking ahead. In the case of text, there isn't
much to be gained as each dotline has a similar number of dots
and dot/gap ratio. If you are driving lots of dots for graphics, then
the thermal constraints slow the printing down anyway, so you
have little to gain from looking ahead.
Steve.
======================================================
Steve Baldwin Electronic Product Design
TLA Microsystems Ltd Microcontroller Specialists
PO Box 15-680, New Lynn http://www.tla.co.nz
Auckland, New Zealand ph +64 9 820-2221
email: @spam@stevebKILLspamtla.co.nz fax +64 9 820-1929
======================================================
-- http://www.piclist.com hint: PICList Posts must start with ONE topic:
[PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads