Become a subscriber (Free)

Join 29,000 other subscribers to receive subscriber sale discounts and other free resources.
Don't worry -- your e-mail address is totally secure. I promise to use it only to send you MicroZine.

Harsh Environment Printer

This project, an harsh environment printer from 1985,  Creates a printer that can still print even while ordinance is falling all about.

I don't know why but this design caught my imagination - it is a printer that is designed to stop printing when a particulalry severe vibration occurs.

You can just imaging artillery ordinance falling all around you and that vital print out not getting printed correctly. Well this printer detects the vibration, stops printing and waits for less vibration storing the in coming data. It even monitors the print head position where it last stopped and restors it if necessary.

It is a really good way of solving a problem adapting existing (although now older) technology to fit a need.

The circuit is not shown here just the idea but I expect it can fire your imagination for use in current situations.

Executive Summary of the Harsh Environment Printer

A control processing method and apparatus for dot matrix printers which are ubjected to relatively high levels of vibration and shock. Vibration and shock are detected and, in the event that a known safe vibration or shock level is exceeded, print line data being fed alternately to the print head from a pair of data print buffers coupled to the output of a logic data input buffer are inhibited while the input buffer temporarily stores the incoming data.

Drive pulses applied to the stepper motor used to move the print head carriage are simultaneously stopped. When the detected level falls below a set threshold indicative of a safe operating level, normal operation is resumed with the print data again being fed from the input buffer to the print line buffers which are reactivated along with the carriage stepper motor.

Additionally, any positional change of the print head carriage during the existence of shock or vibration levels above the threshold value from the last valid driven position is determined and accordingly repositioned prior to continuing the printing operation upon cessation of the disturbance.

Background of the Harsh Environment Printer

1. Field of the Design

This design relates generally to impact type moving carriage printers and more particularly to such printers which are required to operate in a harsh environment.

Accordingly, it is an object of the present design to provide an improvement in printing apparatus.

Another object of the design is to provide an improvement in impact dot matrix printing mechanisms.

A further object of the design is to provide an improvement in dot matrix printers which are capable of operating in harsh environments.

Summary of the Harsh Environment Printer

Briefly, the foregoing and other objects are achieved by a method and apparatus for temporarily interrupting operation of a dot matrix printer when vibration and/or shock sensing means detect a level beyond a predetermined threshold. Print data is temporarily stored in an input buffer and inhibited from being applied to the print head through a pair of print line data buffers along with cessation of the operation of a stepper motor, coupled to the print head carriage.

When the vibration or shock returns to a level below the threshold, printing resumes with the data being fed out of storage to the print head through the print line data buffers so that no data is lost or illegible characters printed when the equipment is experiencing vibration and shock beyond a safe operating level.

When the safe operating level is exceeded, the printer carriage position is also tracked to determine if it has moved from its last valid driven position and is thereafter repositioned before printing is resumed.

Figure 1 : Is a block diagram illustrative of the preferred embodiment of the invention for the harsh environment printer

Description of the Harsh Environment Printer

Referring now to the drawings and more particularly to FIG. 1, disclosed thereat is the block diagram which is illustrative of the inventive concept of this design and entails a method and apparatus for operating a dot matrix printer in a harsh environment which may be encountered, for example, with tactical military equipment.

Such apparatus requires printers to be operational during periods of vibration and shock without the printing of illegible characters or loss of data. As shown in FIG. 1, reference numeral 10 designates a carriage on which is mounted a dot matrix print head 12. The print head 12 includes a plurality of print wires 14 which, when activated in response to a character or symbol generation signal from a character generator 15, causes a print ribbon 16 to be forced against the face of a printing medium 18.

The printing medium 18, for example, comprises a sheet of paper or the like which is moved by means of a platen or roller 20. The roller in turn is normally rotated in accordance with a rotational drive motor, not shown, in a conventional fashion. Control of the printing system as shown in FIG. 1 is implemented by means of a programmed microprocessor 22, a device well known and widely used for control applications.

The carriage 10, moreover, is translated back and forth by means of a positive no-slip belt 24 or other similar apparatus wound around a pair of pulleys 26 and 28. The pulley 26, for example, comprises the drive pulley and is mechanically coupled to and rotatably driven by a stepper motor 30 whose shaft 32 is mechanically coupled thereto.

The pulley 28, on the other hand, comprises an idler pulley. Positioning and timing information concerning the rotary movement of the stepper motor shaft 32 and accordingly the print head carriage 10 is provided by an apertured timing wheel or disc 34. Regularly spaced apertures in the disc 34 transmit and interrupt light between pairs of photo emitters and receptors, not shown, contained in a photo-electric sensor assembly 36 as taught in the above referenced related application Ser.

No. 742,152 entitled, "Dual Optical Mechanical Position Tracker". Further as taught in the related application, electrical signals are generated in response to rotation of the timing wheel 34 which are coupled to a carriage position tracker logic circuit 38 and which then operate to provide carriage position information in the form of binary digital output.

In the present design, the carriage position information in turn, is fed to a dynamic buffer memory 40 which supplies current position information both to the microprocessor 22 and an "alert" position buffer memory 42 for purposes which will be explained subsequently.

Print data for controlling the character generator 15 is provided by a message input memory in the form of a relatively large digital input data buffer 44 which is adapted to operate as a temporary data storage and formatting means for an input data stream. The data buffer 44 in normal operation formats print data under the control of the microprocessor 22 via a signal coupled to a message select control signal bus 46 to form strings of data which comprise data print lines which are alternately fed to a pair of data print line buffer memories 48 and 50.

Alternate loading and unloading of the print line buffers 48 and 50 are furthermore controlled by a print line buffer selector 52 which is also controlled by the microprocessor 22 via the signal bus 54. As each print line buffer memory 48 and 50 unloads its contents in turn, the output thereof is fed to the character generator 15 which operates to control the print head 12 in a manner well known to those skilled in the art.

When the data content of each print line buffer has been completely downloaded to the print head character generator 15, a "buffer empty" signal is sent to the microprocessor 22 via either signal bus 53 or 55 whereupon the microprocessor 22 sends a control signal via signal bus 54 to couple the "empty" print line buffer to the input data buffer 44.

The present design additionally includes a sensor assembly comprised of a vibration/shock detector device 56 which is operable to generate an electrical output signal whose amplitude corresponds to the level of the shock or vibrational forces being applied to the printing system from a source or sources existing in the surrounding operational environment.

The output of the detector 56 is coupled to a level detector circuit 58 which is operable to provide an electrical signal on circuit lead 60, for example, when the amplitude exceeds a predetermined threshold. The threshold can be selectively set by means of an input signal voltage applied via signal lead 62.

The level detector circuit 58 can be of any conventional type, one example of which comprises a well known biased digital gate circuit.

As indicated above, the primary objective of the design is to temporarily disable the printer during periods when the level of vibration/shock exceed the predetermined "safe" level for reliable printing operation while precluding the loss of print data, with the resumption of normal operation when the threshold for safe operation is no longer exceeded.

Accordingly, when the signal output of the level detector 58 exceeds the threshold signal level of the signal appearing on lead 62, the microprocessor 22 inhibits data transfer to print line buffers 48 and 50 from the input data buffer 44 by the application of a control signal on signal bus 64, whereupon all further input data will be temporarily stored in the input data buffer 44.

Concurrently with this operation the microprocessor 22 applies separate control signals over signal buses 66 and 68 which operate to inhibit data transfer from the print line buffers 48 and 50 to the print head's character generator 15. This dormant state of the printer with the exception of the continual acceptance of the input data stream by the data buffer 44 continues so long as the vibration/shock level exceeds the safe threshold level.

When a safe operating condition subsequently exists, inhibiting signals are removed from the data buffer 44 and the two print line buffers 48 and 50. Printing then resumes with the temporarily stored data being applied alternately to and out of the print line buffers 48 and 50.

Because there is a possibility that the carriage 10 upon which the print head 12 is mounted may be jostled or otherwise moved from its last valid print position during a disturbance exceeding the safe vibration/shock level, the microprocessor 22 is operable in conjunction with the dynamic buffer 40 and the position buffer 42 to determine any change of position or "delta" from the print head's last valid driven position and thereafter reposition the print head carriage 10 by activation of the stepper motor 30 in the proper direction.

This is provided by an "alert" position buffer 42 which operates to store the present carriage position by a control signal being applied via signal bus 70 to the buffer 42 which immediately stores the position information contained in the dynamic buffer 40 at the time the threshold level is exceeded.

When the level detector output signal on signal lead 60 indicates that a safe operating level exists, a read signal is applied to the buffer 42 via the signal bus 72 which causes the position of the carriage at the start of "alert" condition to be applied to the microprocessor 22 via a digital data bus 74.

The digital positional information applied to the microprocessor via the data bus 74 is compared with the current carriage position information which appears on the output digital data bus 76 from the dynamic buffer 40. If there is any error value between the two positional values, the microprocessor will activate the stepper motor 30 via the on/off signal 78 to move the carriage 10 until the "delta" is reduced to zero.

When carriage 10 has been successfully returned to its position at the time of the "alert", a reset signal is applied to buffer 42 and previous inhibit signals on signal bus 64, 66, and 68 are removed.

Figure 2a : To 2f is a set of time related diagram helpful in understanding the subject invention for the harsh environment printer

View larger image here.

A graphical representation of the method for maintaining coherent dot matrix print operation in the presence of a harsh vibration/shock environment is shown in the time related diagrams of FIG. 2A through FIG. 2F. A common unit of time(t) is shown in connection with FIG. 2A and is applicable to the remaining FIGS. 2B through 2F.

Four separate disturbances are illustrated in FIG. 2A which exceed a predetermined threshold level allowable for reliable printer operation. Disturbance #1 has a duration of 2t and is widely separated in time from the next disturbance #2. Disturbance #2 has a duration of 0.5t and is closely followed by disturbance #3, after an interval of 0.5t and has a duration of t. Disturbance #3 is widely separated from disturbance #4 which has a duration of 0.5t.

FIG. 2B is a waveform illustrative of the output of the vibration/shock sensor level detector 58 shown in FIG. 1 and consists of a binary signal indicated by the first or lower amplitude and second or higher amplitude, respectively. The detector output is in the high state during an "alert" condition indicative of a disturbance level being above the threshold level shown in FIG. 2A. Otherwise, the output is in the low state.

FIG. 2C, on the other hand, is a binary type waveform illustrative of a time when the carriage position tracking is taking place. Since it is assumed that the repositioning of the print head carriage 10 to its position, prior to the occurrence of the disturbance, will typically require a time period equal to t, tracking continues past the cessation of the threshold level (FIG. 2A) by an additional time t.

This time, however, can vary as a function of how far the print head 12 and accordingly the location of the carriage 10 has been altered from its predisturbance position. Since vibration/shock disturbances tend to be bi-directional in nature, it might be expected that in its final position, the print head carriage 10 will remain fairly close to its predisturbance or "pre-alert" position.

Thus the tracking time will be equal to the time that the threshold level is exceeded plus a time increment t for correct repositioning of the print head. Furthermore, it can be seen that the tracking mode is active for a duration of 3t for disturbance #1. However, for disturbances #2 and #3, these disturbances occur relatively close in time so that recovery from disturbance #2 is not completed when disturbance #3 is encountered.

Therefore, a total duration of 3t is necessitated.

FIG. 2D is a waveform illustrative of the time in which the print head carriage repositioning occurs following the disturbance level falling below the threshold level shown in FIG. 2A. With respect to disturbance #1, the print head carriage 10 is correctly repositioned in time duration t; however, for disturbance #2, the attempt to correct or reposition the carriage 10 during a time duration of 0.5t is interrupted by a second vibration/shock, i.e., disturbance #3.

In this instance, the action of repositioning is immediately terminated as the system returns to position tracker operation as shown in FIG. 2C. The alert position buffer 42, however, is not reset until carriage 10 repositioning is complete as noted earlier.

With respect to FIG. 2E, there is shown a binary waveform which is indicative of a "print" state and a "store" state and thus is indicative of the time duration when data to be printed is either temporarily stored while the print head carriage 10 is being disturbed and/or recovering from a disturbance and those times when data is released to the character generator 15 of the print head 12 for normal printing.

As shown, with respect to disturbance #1, data is caused to be stored in the data buffer 44 for a duration of 3t which also includes a time for repositioning the carriage 10. For disturbances #2 and #3, data is continuously stored for a time duration of 3t. This is followed by the normal printing period of 6t until disturbance #4 occurs, causing data to be stored for a duration of 6t.

FIG. 2F, accordingly, is indicative of the time periods of normal printing operation as shown by the "print" state.

The method and apparatus disclosed herein will permit dot matrix moving print head carriage type printers to operate under what has been previously considered impossible vibration/shock level conditions. Since conventional communication terminal printers are presently microprocessor based systems and employ extensive on-board electronic memory for data buffer storage, the print data storage portion can easily be implemented within the storage capability of the microprocessor as shown in the preferred embodiment. Thus only the vibration/shock detector 56 and the level detector 58 must be added.

The sequential technique disclosed for processing the events described with respect to FIGS. 2A through 2F require the temporary print data storage; however, the carriage position tracker portion of the system shown in FIG. 1, while being desirable, is not necessarily essential. The latter feature, however, insures a printer fully capable of operation in harsh environments where only occasional high intensity vibration/shocks of short duration are incurred and which are most likely of the type that an operator would not even be aware of the fact that corrective activity is occurring.

As the disturbance repetition rate increases, however, or becomes of longer duration, the operator will notice occasional printing stoppages but with reasonable memory storage capacity of the data buffer 44, no illegible characters will be printed and no data will be lost.

Having thus shown and described what is at present considered to be the preferred embodiment, it should be noted that the same has been made by way of illustration and not limitation. Accordingly, all alterations, modifications and changes coming within the spirit and scope of the design as set forth in the appended claims are herein meant to be included.

Click here for more project ideas.

New! Comments

Have your say about what you just read! Leave me a comment in the box below.

Claim Your: Useful

"Arduino Software Guide"

   Right Now...

Jump from the harsh environment printer page to
Best Microcontroller Projects Home Page.

Privacy Policy | Contact | About Me

Site Map | Terms of Use


Visit our Facebook Page:

   Click Here

Recent Articles

  1. Using the MAX6675 or How to easily measure Extreme temperatures

    How to use the MAX6675 and an Arduino to measure temperatures from 0°C to 1024°C with two components: A chip - the MAX6675, and a Sensor: - a type-K thermocouple.

    Read more

  2. How to use the DHT22 (or DHT11) with an Arduino; full code and description. Also including a comparison of the DHT11 vs DHT22.

    The Essential Guide to the DHT22/11 humidity sensor including a library code guide for the Arduino. Learn how to determine Humidity, Dew point and Heat Index.

    Read more

  3. How to Use the MAX7219 to drive an 8x8 LED display Matrix on the Arduino.

    The Essential Guide to the MAX7219; What it is and how you can easily use one in any of your projects.

    Read more

Sign up for MicroZine
''The'' Microcontroller Newsletter

Enter your first Name and primary email address in the form below:

And receive absolutely FREE a full project for:

"Measuring Analogue Voltages
Without An ADC"

(Using only one pin).

Instant Download:
You Can
Get It Right Now

Warning: This project could be  Removed 
at any time.  

It will  NOT be 
available indefinitely SO
To avoid 
disappointment  get it:


Don't worry -- your e-mail address is totally secure. I promise to use it only to send you MicroZine
Remember this is a project with full description and fully debugged C Source code - and it's not available from the main website.

You can only get it through this newsletter.

To get exclusive access Enter your first name Name and primary email address Now in the form above.:

But wait !

There's more...

You'll receive more
free and exclusive reports as well as site information and site product updates

Scroll up to the form above and sign up NOW. Don't forget it's FREE and if you don't like it, you can unsubscribe at any time.

Click Here Now to use the form above to get your Valuable information absolutely free.

Readers Comments

"I wanted to thank
you so so so much
for all the information
you have provided in
your site it's


- Ranish Pottath

"This site really is
the best and my favorite.
I find here many useful
projects and tips."

- Milan


"Awesome site,
very, very easy and nice
to navigate!"

- Matt

Learn Microcontrollers

"Interested in

Sign up for The
Free 7 day guide:


"I am a newbie to PIC
and I wanted to say
 how great your
site has been for me."

- Dave


"Your site is a great
and perfect work.

- Suresh


"I couldn't find the correct
words to define
yourweb site.

Very useful, uncovered,
honest and clear.

Thanks so much for
your time and works.

- Anon