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.
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.
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.
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.
Click here for more project ideas.
Claim Your: Useful
"Arduino Software Guide"
Jump from the harsh environment printer page to
Best Microcontroller Projects Home Page.
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.
The Essential Guide to the MAX7219; What it is and how you can easily use one in any of your projects.
How to Easily Use the DS18B20 Maxim One-Wire thermometer with Arduino example code showing external or parasitic power modes.