Searching \ for '[EE]: A printing conundrum' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page:
Search entire site for: 'A printing conundrum'.

Exact match. Not showing close matches.
PICList Thread
'[EE]: A printing conundrum'
2001\11\07@160746 by David VanHorn

(I forgot the tag..)
This is a generic question.

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.


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

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:

Got a need to read Bar codes?
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.

-- hint: To leave the PICList

2001\11\08@094019 by Peter L. Peres

picon face
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 ?)



-- hint: PICList Posts must start with ONE topic:
[PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads

2001\11\08@134747 by steve

> 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 Baldwin                Electronic Product Design
TLA Microsystems Ltd         Microcontroller Specialists
PO Box 15-680, New Lynn
Auckland, New Zealand        ph  +64 9 820-2221
email:      fax +64 9 820-1929

-- hint: PICList Posts must start with ONE topic:
[PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads

More... (looser matching)
- Last day of these posts
- In 2001 , 2002 only
- Today
- New search...