# Patent

## Title
Cylindrical allumination system for inspection of sheet material

## Abstract

This is a division, of application Ser. No. 07/656,649 filed Feb. 19, 1991, now U.S. Pat. No. 5,120,977, which, in turn, is a division of U.S. Ser. No. 419,571, filed Oct. 10, 1989, now U.S. Pat. No. 5,021,676.

## Background
This invention relates to "power encoders" such as can be used to process financial documents (e.g. checks) in a bank wherein documents are imprinted with magnetic ink character recognition (MICR) or optical character recognition (OCR) characters which can be "machine-read".

Various MICRO and OCR encoders are currently used. A common approach is to use a "daisy wheel" printer, wherein documents are transported relatively slowly and continuously past a fixed daisy-wheel print-station, there to be imprinted, one symbol at a time, in sequence.

Other systems array print-hammers in a linear row; an example of such an encoder is disclosed in U.S. Pat. No. 4,510,619 to LeBrun et al. issued Apr. 9, 1985 and in U.S. Pat. No. 4,672,186 to Van Tyne issued Jun. 9, 1987. These patents shown en encoding system in which documents are continuously advanced past one or more banks of electromagnetically-activated print-hammers. Positioned on the other (non-hammer) side of the document are appropriately-encoded die means, presenting the (OCR or MICR) characters. Between the die and the document is an appropriate magnetic-ink ribbon which applies an ink-image of the die onto the document upon hammer impact. The system is "indexed" so that the required character is imprinted in the appropriate document-space, based on timing the hammer strike with selected-die-presentation.

Workers are aware of certain disadvantages in present encoder arrangements; for instance, it is common for either or both the document and the ribbon to be moving during hammer-strike--and smudges or other imperfect imaging can result. Also, an extensive, unwieldy number of die sets and hammers must typically be provided to cover all possible combinations of symbols in all possible sequences (to be imprinted on the document). As will be described, the present invention overcomes these, and other, problems and disadvantages; e.g. by using a "print-drum" with normalized hammer-pressure and with paper-motion and ribbon-motion arrested; by using variable-energy hammer activation; by monitoring hammer movement/impact; by using print drum means with a special alignment mark; by using a servo system/sensor/software combination for controlled deceleration and alignment of a document; and by automatically correcting ribbon-wander.

Thus, it is an object hereof to address at least some of the foregoing needs and to provide one or several of the foregoing, and other, solutions .

These and other features and advantages of the present invention will be appreciated by workers as they become better understood by reference to the following detailed description of the present preferred embodiments which should be considered in conjunction with the accompanying drawing, wherein like reference symbols denote like elements;

FIG. 1 is a perspective schematic idealized view of a Process-Encoder arrangement apt for use with the invention; while FIG. 2 is a like view of similar arrangement, exploded-apart;

FIG. 3 is a block-diagram showing of an Encoder embodiment made according to the invention;

FIG. 4 is a very schematic top view of an alignment/print station portion of this embodiment;

FIG. 5 is a schematic block diagram of a related document-transport control array;

FIG. 6 is a very schematic representation of a part of this transport with an associated velocity-profile, while FIG. 6A is a related showing of a sensor array; FIG. 7 is a related showing of a skew-sensor array; FIG. 8 is a related skew-sensor calibration table; and FIG. 8A is a related flow-chart for a sensor compensation procedure.

FIG. 9 tabulates the specifications of a Print Drum apt for use with the invention; while FIG. 10 is a partial showing of the preferred die configuration on such a Drum; FIG. 11 is a like showing of a modified die configuration including special alignment symbols; and FIG. 11A shows such a symbol in plan-view;

FIG. 12 illustrates the Print Drum/Print head array, in side view, together with a ribbon-advance arrangement; while FIG. 12A shows the Drum and hammers in side view; FIG. 13 shows the array in upper perspective; FIG. 14 is a partial-perspective of only the ribbon-advance portions;

FIG. 15 is a "Ribbon-low" detector shown in perspective;

FIG. 16, in schematic perspective, depicts a typical document-sensor array; while FIG. 17 shows a modification thereof in side-view;

FIG. 18 is a block diagram of signal-flow between related Encoder sub-units;

FIG. 19 is a plot of typical hammer-voltage vs time; and

FIG. 20 is a schematic side view of ribbon-edge sensors.

The overall Encoder will first be described; then various particular sub-units in detail. The methods and means discussed herein will generally be understood as constructed and operating as presently known in the art, except where otherwise specified; with all materials, methods and devices and apparatus herein understood as implemented by known expedients according to present good practice.

The subject "High-Speed Power (HSP) Encoder embodiment will be understood as intended for integration (as a module) in an intelligent, stand-alone Document Processor such as DP-1 in FIGS. 1, 2. DP-1 will, for instance, be understood as capable of screening MICR and/or OCR documents (e.g. in a single pass), in a system that can automatically feed, read, endorse, encode, microfilm (e.g. see module DP-MF), balance and sort (e.g. see Pocket Module DP-PM cf. 4-36 pockets) as well as capture document data and transmit document-based transactions. More particularly, processor DP-1 can include endorser options plus sort module(s) (pockets) for item distribution, plus inline microfilming of endorsed and encoded documents, and concurrent data transmission of required information to a host. DP-1 can operate with manual feed or automatic feed (e.g. as fast as 20,000-24,000 documents per hour, track speed, or about 10 times the speed of typical current commercial machines).

It will be understood that the subject HSP Encoder module (e.g. see embodiment HSPE, FIGS. 1, 2) is a self-contained unit that can be plugged-into, and function with, all standard configurations of such a document processor. And this Encoder can operate unattended--a feature workers will appreciate. The Encoder Module can be disabled through software control when "reject reentry" functions are performed. While disabled, the Encoder Module acts as a slave transport; i.e. when not encoding, it can still advance documents from an upstream workstation to downstream modules.

This HSO Encoder module comprises a self-contained document transport, an encoding printer, a servo system, associated electronics, and an interface to the document processor. The Encoder transport system accepts documents from a "workstation" during "flow mode" (i.e. at a track speed of 100 inches per second). The transport system is indicated very schematically in FIG. 4; it will be understood to align each document to a horizontal track level and move it into a servo-controlled transport segment, located at the input side of the encoding printer (Document alignment is performed in the HSPE Transport to correct incoming "document-skew" and assure proper "bottoming" on the track).

The servo system decelerates and stops the document at a precise location for the printer to encode the predetermined amount and transaction code fields. That is, a document-positioning system stops the document at the required position in the printer, verifies proper alignment, and accelerates the document to downstream modules after printing (cf. for six-inch documents this means a thru-put of about 400/min; DP-1 reduces its feed-rate during encoding). During deceleration of an individual document, the remainder of the transport track continues at "flow mode" speed.

A 16-column impact drum printer encodes the MICR characters--but only if the document is properly spaced, aligned, and positioned and only when correct ribbon movement is assured.

After the document is encoded, the transport system accelerates it to "flow mode" speed and moves it to the next module.

This HSP Encoder Module is intended to be installed in DP-1 adjacent its Workstation DP-WS (FIG. 2), preferably, and upstream of the Pocket module(s) DP-PM. But if a microfilmer is present, the Encoder Module is positioned just upstream of it.

That is, the HSPE Module provides an interface between upstream and downstream modules. Also, the HSPE Module provides for passage of feed-through cables between upstream and downstream DP-1 Modules.

Encoder Module HSPE will be understood to encode 16 consecutive "magnetic ink character recognition" (MICR) characters on documents as fast as 400 six-inch document per minute. It will imprint (encode) information which is determined at a Host before each encoding pass (supplied to the Encoder for each document to be encoded.)

FIGS. 3, 18 are functional-Block Diagrams of the HSP Encoder module, while FIG. 4 a schematized plan view of its transport path.

In summary, then, the HSPE performs the functions (in concert with DP-1 etc.) of:

The control processor and drive electronics of the HSPE provide a logical interface to the DP-1 Host processor system, and they control, and time, the main sequence of its operations, while providing drive power for electrical and electromechanical devices.

Various features of this Encoder module will be noteworthy: e.g. a print drum having a novel "alignment mark" and having novel variable-energy hammer actuation and hammer-velocity monitor; an anti-skew print-ribbon-advance arrangement, and a document transport giving controlled-deceleration with fail-safe controls.

Associated with the HSPE printer is a maintenance keyboard which is accessible (but only to Customer Service Engineer) when the top cover is opened. This keyboard is used for stepping ribbon during "ribbon reload".

Acceptable document specifications (exemplary) may be seen from Table I below: ______________________________________ "Acceptable" Documents MINIMUM    MAXIMUM ______________________________________ check stock thickness .0035" (0.1 mm) .006" (0.15 mm) check Stock weight 20 lb. 78 GSM 24 lb. 90 GSM check stock grain long only    long or short card stock weight N/A          95 lb. ______________________________________

The HSPE can also handle the following types of documents if they comply with TABLE I requirements: traveler's checks, checks with a correction repair strip on the bottom edge, carrier envelopes, and batch separator documents with "black band" (cf. Unisys Specification 4A 2127 2972.)

This power encode system (HSPE in a DP-1 machine) will, preferably, be run in one of three different modes: "attended", "unattended", and "dropped-tray". The operator will select the mode at block level.

The typical (usual) mode would be "unattended", that is, an operator loads the input-hopper of the DP-1 with the documents to be encoded, the items are (MICR) read and the appropriate information is automatically encoded, at high speed, based on information received from the host. Any document errors, mismatched information, or extra items are rejected, to be otherwise handled, later.

In "attended" mode, the items with "character can't reads", or other conditions causing a "non-match" condition, are stopped for operator input.

"Dropped tray" mode, a sub-set of "attended" mode, uses different algorithms to match items with the codeline data previously captured and entered (since the integrity of the original document input order is now unknown). In this case, a power encode operation will be required to enter any information requested to complete the encode process.

As a special case of "unattended mode"--and a feature hereof--some "can't-reads" can be so handled. That is, workers will recognize that this Encoder is apt for use with a high-speed Sorter-Imager (described elsewhere) plus other associated equipment; workers should recognize that some machine codes may be imperfect, yet allow the host to garner all requisite encoding information and order automatic encoding [e.g. where only the Destination Bank can be read-out from the MICR during "sort-image", and a sequence-number is given (to host) during sort-image and the courtesy-Amount nonetheless supplied to the host--then, if the entry-sequence of documents is kept, the host can adequately identify this defective-MICR document and still supply all requisite data for encoding]. This is a feature of this encoder as used with such a Sort-Imager arrangement.

Encoding is automated in "unattended" mode; that is, documents are encoded under machine control (DP-1 and Host), as opposed to data-entry on a document-by-document basis. One operator should be capable of monitoring and controlling the flow of documents into, and out of, two such HSP Encoders when running "unattended" mode.

All fields that have been entered at "amount entry" or "image data correction" will (optionally) be encoded, if not already encoded on the document. Whether or not to encode is user-specified according to type of document, e.g., encode for "transit" items; don't encode for "on-us". "Code-line-comparison" criteria will also be user-specified. Recommended "can't read" tolerances should be used as defaults. Control documents that are detected with "can't read" characters or other error conditions are stopped for operator input of required data for "codeline match".

After a successful "match", the Encoder can interpret the appended information to obtain item disposition. Possible dispositions are "To reject" due to some condition occurring in a prior process, or "To process" according to a designated sort pattern.

A resynchronization aid is provided which displays (and optionally lists) as a group the "last correctly encoded" items and the next several expected items, allowing one to view all items within a block. One invokes this aid after a user-specified number of consecutive "free items". In addition, the operator can enter the identification number of an item to trigger restart.

In "attended mode", the operator can key-in information to match "free items". This may include the DIN number from the endorsement, the Amount, or any fields from an item. The system assists the operator in making this match (e.g. displaying a list of known "missing items" for the operator to select from). It will: blank code lines) and "reversed" items, and excessive "can't reads" cause a "non-match" situation.

"Dropped tray mode" also allows the operator to select the proper codeline using the DIN in the event of duplicate code lines.

For power encode applications that do not have a "codeline-match" file, one must be able to use some other information to determine the Amount to be encoded. In a stand-alone payment processing system, this information is taken from the Amount read-off the preceding stub and encoded automatically on the check. The Encoder is configured to accommodate this.

U.S. IPAT: The power encode module is capable of encoding the rightmost 16 character positions (typically the Amount field and a 4 digit transaction code field) on a single pass. The "standard MICR" encoder must also encode any other additional fields on the same pass. These fields include any combination of the following: "on-us" fields from position 17-31 and 44-65 and the "transit number" field from position 32-43. The data will consist of missing fields entered during Amount entry or image data correction operations.

Non-U.S. IPAT: "Non-U.S." codelines may not be located in the rightmost character positions. The fields to be encoded will not exceed 16 characters.

This High-speed Encoder will be understood as preferably configured as an add-on (or replacement) module to a related Lo-speed encoder (e.g. with a standard MICR encode station; used alone for low-volume sites, as workers will understand). Thus, while the high-speed encoder will encode up to 16 characters (the rightmost characters on the "codeline"), the low-speed encoder will encode any or all fields on a document (e.g. the fields which cannot be encoded by the High-speed encoder, or any or all fields if the High-speed encoder is not present, or is not frictional).

When properly oriented, encoded items can be "repassed" on a high-speed Sorter; 99.7% of the items encoded on this Encoder should be read correctly.

This high-speed encoder will be understood as adapted to function in conjunction with standard-configuration options of a low-speed encoder. These include the standard endorser options, up to 36 sort pockets for item distribution, in-line microfilm for front and back of items after encoding and endorsing, and concurrent data transmission of required information to an IPS/IPAT host. The machine may also have an imaging module in addition to a microfilm unit.

All "exception-condition" handling capabilities will also be included. Items involved in track exceptions will be manually reinserted into the track in order to continue processing. If the machine is used as a stand-alone power encoder, standard software capabilities will be used (e.g. including sort pattern generation, cashletter creation, data consolidation, and data reformat and transmission).

This high-speed power encode subsystem is expected to function in an IPS/IPAT environment. A new job type POD UNENCODED will be added to IPS to process proof items. Items processed on the low-speed machine for encoding are treated as repass items from POD UNENCODED jobs.

To optimize resource usage and IPAT system cost, our transport should be used for both power encoding and "reject reentry" functions. The type of work processed will be interchangeable between "reject reentry" and "power encoding" if the machine is so configured.

The IPS/IPAT system will be understood as preferably based on a Unisys "V-series" computer host, with the Encoder coupled via data communications to the V-series processor. This will be direct-connect, or modem-connect, and will employ Unisys standard communication protocols, consistent with the hardware requirements for IPAT. A Unisys A-series interface is alternatively available for A-IPS.

Data communications between the host and the power encode subsystem will primarily consist of "codeline information" and encoding instructions from the host, with "disposition information" from the Encoder to the host for each document. In addition it will include sort patterns when the operator chooses to begin processing a different "prime-pass pocket".

The foregoing functions will be better understood by reference to the document Transport path in FIG. 4 and to the following summary of how a document can be encoded in this HSPE module.

The HSE Module can high-speed-encode a document (e.g. within 1 minute) with the "Amount" and "transaction code" fields (16 consecutive characters). Documents to be encoded are transported in "flow mode" (assume 100 inches per second) through the DP-1 to the HSP Encoder Module. Upon entry, a document is aligned, stopped at a controlled print-position, encoded, and then accelerated-out to the next module. Encoding can be done at up to 400 six-inch documents per minute [e.g. one minute to stop, encode, accelerate-out].

Magnetic Ink Character Recognition (MICR) encoding is limited to the first 16 character placements from leading edge of document as outlined in ANSI.times.9.13-1983 specification. Encoding is typically E13B encoding. There is no provision for manually inserting a document into the HSPE or for manually removing a document, except to clear a jam.

The encoding information must be predetermined, and then fed to the encoder for each document. Encoding is done with a Drum printer, using a MICR towel ribbon system. Encoding is "enabled" only after predetermined requirements are met, such as: proper document alignment, proper position, proper ribbon movement, and proper document spacing.

Assume that our exemplary document (a six-inch check) is being automatically advanced through DP-1 (FIG. 2) along a relatively conventional transport path (cf. 100 ips) from workstation DP-WS to the Encoder module (i.e. along input transport pat "Td-input" in FIG. 4). It is thrust by slip rollers S-1 to be engaged by "first" align-slip rollers AS-1 [Note: all slip rollers S and align-slip rollers AS are assumed as PEM drives which operate to drive checks continually at 100 ips, except as otherwise specified; also assume that all sensors operate off a document's leading edge--not DP-1 uses many track-sensors TS to follow documents through the macine]. The check then passes track sensor TS-1 and, driven-on, will engage a "second" align-slip roller AS-2 (e.g. about 4" from AS-1), then pass a "first" skew sensor SS-1, to next engage a "third" align-slip roller AS-3, and then pass before a "second" skew sensor SS-2.

It will be understood that align-slip rollers A-S all operate to align the passing check, driving it down to bottom on the track-rail, and keeping it there, as known in the art. It will be understood that a regular Track Sensor operates to detect the leading-edge of the check and, after a software-controlled delay, initiate a "skew-analysis", with skew sensors SS-1, SS-2, being read-out as elaborated elsewhere. Alignment rollers AS-1, AS-2, AS-3 will be seen as assuring that a check is bottom-aligned (horizontal) along the track before entering the "print-station" (along T.sub.d -PS) between print drum PD and dual print-hammer bank HB.

A servo-controlled DC drive D-1, just upstream of this Print-station, will next engage the check. Drive D-1 is adapted and arranged--according to another feature hereof--to controllably-decelerate the check, and arrest it at PRINT-Position,, then hold it there for encode-printing. After encoding, slip rollers S-3 (with D-1, which is reactivated) will start the check further along its path toward the next module (e.g. micro-filming, then sort-pockets), accelerating it back to "flow-mode" speed (cf. 100 ips).

Just after engaging D-1, the check will pass Dog-ear sensor DE and Servo sensor S-A (see FIGS. 6, 6A). Dogear sensor DE is arranged and positioned to detect whether a corner of the check is unacceptably cut-off or folded-back--in which case, the Encode program may direct that it be PASSED-ON to a Reject pocket, without being encoded. Servo Sensor S-A is--according to a feature hereof--arranged and positioned to control the further movement of the check, and, for instance, query the host computer on whether this check is to be encoded--in which case, drive D-1 is directed to controllably decelerate the check and then stop and hold it precisely at "Print-position" (as detailed below). But if the check is not be encoded, D-1 is directed to keep it moving, at flow-speed, right through the Print-station and beyond.

Thus, workers will realize that, according to this feature, our power encoder embodiment for imprinting machine-readable characters onto documents includes a document transfer system with a document drive for moving documents along the transfer path, along with sensor devices and computer means which command this drive to controllably-decelerate, and stop, selected ones of these documents in print-position, this transfer system further including alignment-sensors to detect if the document is properly oriented, and whereby "out-of-position" documents are not stopped but are passed-through the print-station.

Beyond the HSPE module (e.g. path Td-HSPE can be about 16-17"), the check is understood to enter a microfilm module (cf. Tb-MF path--e.g. 8-9"; this module is optional), being advanced by associated aligner-slip rollers AS-4, AS-5 (with track-sensor TS-2 provided for DP-1 control); then, being further advanced by slip rollers S-R and microfilm rollers MFR.

As a feature hereof, various of these sensors (those using a source on one side of the document path, with detector on the other side) are preferably used with "optical prism" means to allow placement of source and detector on the same side of the document path.

Thus, for example, consider FIG. 16, where the transport path for document Doc is defined by the base of a Track T as indicated, with a source S (e.g. lamp) on one side of this track and an associated detector D on the other side. In some instances, as workers realized, it would be more practical, simpler, more convenient and/or more aesthetic to place source and detector on the same side of the track (e.g. the wires from D may be unsightly, and/or may interfere with operations or adjacent equipment).

To do this, we propose use of the mentioned prism. Thus, as indicated in FIG. 17, source S may be arranged so its beam intersects the document path as indicated along Track T, and also to illuminate a first reflector M-1 in a "prism" P; while detector D may be hidden away, on the same side of track T, and under the document path, being disposed to receive the beam from source S as diverted from reflector m-1 to a companion second reflector m-2 in prism P. Thus, only prism P need be mounted on the "other" side of the document path (cf. assume m-1, m-2 at 45.degree. to beam path).

The HSP Encoder Module transport accepts a document in "flow mode" from the workstation, i.e. at a track speed of 100 inches per second (ips). The document positioning system aligns the document to a horizontal track level and moves it to engage the servo-controlled transport including Drive D-1.

Documents to be encoded are controlled by this DSC system in the encoder module prior to encoding, during encoding and following encoding. The system slows and stops the document at the proper point for encoding, holds the document during encoding and accelerates the document back to full speed (100 in/sec) thereafter. The roller D-1 controlling the document during this operation is driven by a d.c. motor which has an analog tachometer and a digital encoder for motor control. The motor shaft position, and therefore the document position, is determined from the encoder signals. The motor speed is determined from the analog tachmometer signals.

Thus, the DSC system controls a document from the moment it enters the module track (from the workstation) until it exits at the downstream end. The servo system decelerates and stops the document at a precise location for encoding, and holds the document during encoding. The servo remains stopped until the system software determines that encoding is completed; then, the system accelerates the document to 100 ips and moves it to the next downstream module. FIG. 3 shows the DSC system in block diagram form, while FIG. 4 schematically indicates the arrangement of elements and FIG. 5 shows the related electronic control system.

This DSC design ensures that the "following-document" cannot catch-up with the "current document" (reduce inter-check gap) by more than 0.75 inch while the current document is stopped for encoding, or by more than 0.3 inch when the current document is accelerated back to 100 ips. Also, in event of malfunction of Stop sensor ES, the DSC system assures that encoding will continue; while a warning is sent to the controller noting sensor failure.

Tracking sensors TS monitor document position throughout machine DP-1, including from when it enters the HSPE module track (from the workstation) until it exits the module. Other sensors, such as "dog-ear sensor" DE and "skew sensors" SS, indicate problems with document condition or alignment. These sensors report, for example, that a dog-eared document has entered the track and is not suitable for encoding. It will be understood that a sensor reports a document's position when the document's leading edge passes. Some "tracking sensors" TS are the entrance and exit sensors (TS-1, TS-2). FIG. 4 schematically shows the general position of these, and other, sensors within the Encoder module. Tracking-sensor elevation is preferably 1.225 inches above the base of the transport track.

When the leading edge of a document trips Servo sensor S-A, this triggers (by software) a read-out of "dog ear sensor" DE. If DE is "uncovered" at this time, this indicates a "dog-ear"; i.e. that the document (lower lead-edge) has a folded or cut corner and is not suitable for encoding. "Skew-sensors" SS-1, SS-2 are alike, and positioned apart, near the base of the transport track (extend up therefrom) on the upstream side of the print drum, as indicated in FIG. 4. As each document passes, the skew sensors' software determines, and reports (to computer) the amount of document "skew" (see angle aa, FIG. 7) and its "height" (of check bottom above the track base). The reported values (skew angle, height) are then used to decide (software) whether to encode the document; that is, "skew" or "height" beyond a prescribed (program-set) degree will cause the document or be automatically "passed" to reject pocket and not encoded (details below). Advantageously, a customer engineer can readily modify these "skew" (height) parameters.

This system preferably uses two "area-sensitive" skew sensors (V-out.about.area uncovered; see SS-1, SS-2, FIG. 7) mounted four inches apart in the module's front track-wall, just upstream from the "print-station" (print-drum PD, hammer banks HB). The sensors are illuminated by an incandescent lamp. Sensor output current for each channel is amplified and converted from an analog voltage to a digital number which is used by the firmware program for skew analysis.

Initially, during set-up (no document present), the two sensor-amplifier gains are adjusted to obtain a standard output (e.g. sensors SS might have an active vertical detection distance of 0.2 inches above track bottom, and skew beyond 1.5.degree. might be designated "excessive").

In normal operation, the system measures the voltage output from each sensor-channel when a document is presented in front of the skew sensors SS-1, SS-2, and obtain a difference, if any, (.DELTA.V.about.skew.degree.). The document skew angle aa.degree. is then determined using standard trigonometric formulas. [TAN aa=(height2-height1)/4]. Document height is determined as the average value for the two sensors, i.e. (height1+height2)/2.

"Servo sensor" S-A reports to the servo system when the leading-edge of a document arrives (beyond D-1) in time to initiate "STOP" command and decelerate the document. Preferably, at set-up, when a test-document is run past S-A, it is timed until it passes stop-sensor ES and beyond, until it reaches "print-position" (stopped). The software will direct and register these timings (e.g. via system-clock, registering x "clicks" to ES; x+s clicks to print-position). Then, when a document trips stop sensor ES, its output may be compared with this (x clicks in memory--to verify); this also may be used to enable a stop-switching arrangement (see below--whereby a Customer Engineer may set switches to adjust "stopping-distance" d.sub.s after ES is enabled; then, as an alternative to the above-mentioned servo-sensor control, the document will be controlled to be stopped ss inches--s clicks of clock--after tripping ES). Software then orders a "print" operation if all other (sensor etc.) reports are favorable.

Thus, at a predetermined distance from servo sensor S-A, the software directs servo-positioning drive D-1 to decelerate the document from 100 ips to 45 ips (see profile, FIG. 6). Next, when the document's lead edge trips stop sensor ES, software sends the servo positioning device a "stop-distance-value" ("s-d"). This distance would typically represent a document (lead-edge) position of 0.100 inches beyond stop sensor ES. The servo positioner D-1 then further decelerates the document from 45 ips to a stopped position, in exactly that distance s-d (FIGS. 6, 6A). At that time, if all reports are "positive" (skew, dog ear and stop position), software initiates a "print" command, and encoding proceeds, D-1 holding the check stationary.

A "Sensor/PWR" PWBA (circuit board) contains LED current registers which set LED current for "compensating" the output of five sensors: i.e. entrance TS-1, servo S-A, dog ear DE, stop ES, and exit sensor TS-2. Each sensor will be understood to preferably comprise an LED diode and a corresponding photo-transistor. LED current can be set to one of 16 values, with minimum current corresponding to a zero in the LED register; while "15" in the LED register corresponds to maximum current.

"Compensation" is accomplished by setting the LED current value just one step higher than the "minimum-conduction current" for the photo-transistor. The object is to adjust sensor sensitivity to compensate for aging or dirt effects. Compensation is done only upon machine-command (by DP-1). Results of the compensation are reported to DP-1 via the common controller.

More particularly, a sensor is "compensated" as follows: starting with minimum LED current, one adds single increments of current until the sensor appears "uncovered"; then adding one additional current unit for "margin". During the compensation routine, a check of proper operation and results is carried-out, with results reported to the host. FIG. 8A is a flow-chart (steps in program) for a preferred technique of "Sensor Compensation".

The Sensor/PWR board also contains phototransistor amplifiers and registers for reading the transport sensor outputs and the state of the cover interlock and printer module position switches. The transport ON/OFF and the interlock control logic are also on the PWBA.

Refer to the DOCUMENT SPEED/POSITION CONTROL system block diagram in FIG. 5 for the following discussion. During normal document flow, without encoding, the servo motor S-M is kept at a fixed velocity that causes documents to move at 100 in/sec. Signal GON is held low by the controller PWBA in this mode. This disables the MOVE PROFILE PROM 5-1, causing code `FF` to be supplied to the POSITION ERROR D/A 5-2 (pullup resistors cause `true` levels on prom outputs, which are in hi-Z state). The code `FF` (means 100 ips; code "7E"--45 ips; code 20--0 ips) supplied to the DAC causes a fixed voltage to be generated by the POSN ERROR AMP 5-8. This voltage is compared to the motor TACH feedback voltage to generate an error signal, which is amplified by the POSN VEL AMP 5-3. Under these conditions the motor will accelerate to the 100 in/sec speed point and continue to run at 100 ips--the servo is now in VELOCITY mode (S-M drives D-1, of course).

The Firmware adjusts for VELOCITY REFERENCE on "power-up", to compensate for a 5% tolerance on the (analog) tach. To make this adjustment, the firmware holds GON low and writes a reference code to the 8 BIT LATCH, using select line POSSLLN, and write line WRN. It then analyzes the signal BUFCHANA, which is a buffered version of ENCODER CH A output. If the frequency of the signal is less than 31.83 KHZ, the firmware will load a new 8-bit code that increases the Velocity Reference, thus speeding up the motor S-M. The process continues until the frequency is correct within .+-.0.1%, insuring that document velocity, when controlled by servo roller D-1 in this mode, will be precisely 100 in/sec.

When a document is to be encoded, the servo system will cause the document to follow the profile shown in FIG. 6; thus when the document encounters servo sensor S-A, the EDGE DETECT CIRCUITS SENSOR #5-5 will detect the leading edge of the sensor output, generating signal LE. This signal clears the 16 bit POSITION REGISTER UP/DOWN COUNTER 5-6. The ENCODER PROCESSOR CIRCUIT 5-7 is always generating UP or DOWN counts from the ENCODER 5-E when the servo motor S-M is moving. DOWN counts are generated for downstream document movement, and UP counts are generated, if upstream movement occurs (mainly on STOP if there is an overshoot). Thus, following CLEAR at the servo sensor point, the POSITION REGISTER UP/DOWN COUNTER 5-6 will decrement to FFFF on the first DOWN count and continue to count down as the document moves. Each count represents 0.785 milli-inches of movement.

Also, when the system controller (Host .mu.P) receives a "check-coming" signal from servo-sensor S-A, the firmware will, now, drive GON to go true--but only if the document is to be encoded. It may be noted--as a feature hereof--that timing, here, is not critical, since the hardware is keeping track of document position, following the triggering of SENSOR S-A. The POSITION REGISTER UP/DOWN COUNTER 5-6 addresses the MOVE PROFILE PROM 5-1 (FIG. 5).

For the first several inches of document beyond SENSOR S-A, the PROM output code is `FF` (PROM is enabled, since GON is true). The exact time that GON goes true is not critical, since the output code was, originally, effectively FF (tri-state), so the velocity remains at 100 in/sec. After approximately 3 inches of document displacement beyond SENSOR S-A, the PROM code switches to `7E`, (see velocity PROFILE, FIG. 6) which represents 45 in/sec.

The document will rapidly decelerate to this speed and continue at this speed until STOP SENSOR ES is encountered. The EDGE DETECT CIRCUITS SENSOR #2 (5-9) will detect the leading edge LE and the level of its output (signal SNS2LVL). These two signals are `anded` to generate a LOAD pulse, which causes the lower eight bits of the POSITION REGISTER UP/DOWN COUNTER 5-6 to be loaded with the code determined by the STOP POSN CONTROL DIP SW (NORM) 5-10. This effectively "jumps" the counter to a point which is 100 mils upstream of the STOP point.

The STOP point is set to be the point at which the output of POSN ERROR AMP 5-8 is zero. The servo system will decelerate to this point and stop, with the motor (D-1) holding the document at this point. The servo system is non in POSITION MODE. This occurs due to the code generated by the PROM. After the PROM address has jumped to the point 100 mils above the STOP point, the PROM outputs increment and decrement on a 1:1 basis with the lower eight bits of the POSITION REGISTER UP/DOWN COUNTER 5-6, therefore effectively making the PROM "transparent" in this zone and causing the servo to function as a normal position servo.

The servo will remain "latched" at the STOP point until the firmware has determined that the printing is finished; it will then cause GON to go false, causing the servo to return to the 100 in/sec velocity mode. The above is NORMAL MODE operation.

A DEFAULT (LEARN MODE) is also preferably incorporated, such that, if servo SENSOR S-A "fails" (e.g. becomes too dirty) during normal operation, encoding may continue, while at the same time a warning is issued to the controller (Host) that SENSOR S-A has "failed". The system is initially set-up to count clock-pulses from "document-entry" until STOP (e.g. 0.10" beyond Stop sensor ES) and to store this count to use in emergencies (e.g. if STOP Sensor ES fails).

In "NORMAL" MODE LLE loads the 16-BIT DOWN COUNTER 5-11 (FIG. 5) with the POSITION REGISTER code at the leading edge of SENSOR #S-A, and just prior to the LE signal (which normally jumps the POSITION REGISTER 5-6 to its address 100 mils above the STOP point). The GCLK rapidly counts-down the 16 BIT DOWN COUNTER 5-11 at a rapid rate (total of 16  counts). With this count complete, the 16 BIT DOWN COUNTER is "frozen" at a value of "16" (or 0.785, i.e. 4.71 mils below the POSITION REGISTER count when the document has reached SENSOR S-A). In NORMAL MODE operation, the POSITION REGISTER 5-6 will never reach this value, since it is immediately "jumped" to a much lower number.

However, if SENSOR S-A becomes defective, the jump will not occur and the POSITION REGISTER will continue to downcount. When the document has moved 4.71 mils beyond the normal trigger point of Sensor S-A, the MAG COMPARE 16 BIT circuit 5-13 will generate signal "A-B". This will generate LOAD and DLD. The LOAD signal will now cause the code from the STOP POSN CONTROL DIP SW (DFLT) 5-15 to be loaded into the POSITION REGISTER. These switches are set 16 counts below those of the STOP POSN CONTROL DIP SW (NORM) 5-10.

This allows the servo to "make up" the lost 4.71 mils, thus stopping in exactly the same place as in NORMAL MODE operation. The DLD signal is supplied to the controller PWBA, indicating to the firmware program that the system is now operating in DEFAULT MODE. Operation continues in this mode while encoding proceeds. The 16 BIT DOWN COUNTER 5-11 will remain frozen at the last valid count determined when SENSOR S-A was still operational.

There is also a SLIP DETECTION sub-system wherein firmware reads the POSITION REGISTER count at SENSOR S-A (leading edge), using SLPSLLN, SLPSLHN, RDN signals, and compares this against a number which has ben stored in NVRAM. The stored number represents the count which would occur for a normal "non-slipping" document, and is determined using an MTR program.

SLIP DETECTION is not operational in the DEFAULT MODE, since there is no SENSOR S-A signal. The firmware recognizes that, since DLD is occurring, it cannot check for "slip".

The nominal document-speed profile for stopping documents to be encoded is shown in FIG. 6. The "dwell distance," at a speed of 45 in/sec, can vary (e.g. from 0.2672 inches to zero, since the position of servo sensor S-A will vary from machine to machine). "REST time" (i.e. time at rest for encoding) is determined by encoder printer requirements.

The speed profile (FIG. 6) is designed so that, in the worst case, the "following-document" will not catch up by more than 0.75 inches during "REST time"; also, it will not catch up by more than 0.3 inches during the acceleration of the encoded document back to 100 in/sec. Remaining catchup time is determined by how long the document must be held at rest for encoding.

This procedure is to set initial gain values for the skew sensor amplifiers, and then to generate a table which will relate the output values from the amplifier A/D (analog to digital) converter to "uncovered height" values for each skew sensor (SS-1, SS-2). For this, a special gage is required: namely a steel template with a 0.912 inch step on one side and zero-inch height on the other. To derive a proper amplifier AGC gain setting, we uncover both skew sensors and, starting at zero, increment each AGC gain latch until the output of the respective A/D converter is 4.5 volts (HEX E6 where 5.0/4.5.times.256=230 or HEX E6). Now, if the value required to produce a 4.5 volt output is outside the range of 79.sub.D (50.sub.H) to 176.sub.D (BO.sub.H), then a "no margin" warning message is generated.

To calibrate "Zero Height", one places the mentioned steel template in the guide-track at the index mark such that zero height level is opposite the skew sensors SS-1, SS-2. Code "TBD" is entered on the DP-1 keyboard. This will command the common controller to do a "skew calibrate zero". The common controller then reads and stores skew channel 1 and 2 outputs of the A/D converter, and indicates to the DP-1 when this has been accomplished (see also Block diagram in FIG. 18).

For calibration of 0.192 height, one removes the steel template from the track, and replaces it with the "0.192-step" opposite skew sensors SS-1, SS-1A, with the template resting on track bottom. One enters code "TBD" on the DP-1 keyboard to command the common controller to do a "skew calibrate 192". The common controller will read and store the skew channel 1 and 2 outputs of the A/D converter, and indicate to DP-1 when this has been accomplished.

After reading the zero-height and 192 height values, the common controller will generate a "A/D Out vs. Height" table for each sensor. These tables will be stored in non-volatile RAM memory on the common controller PWBA.

This table can be generated in the following manner: (See FIG. 8 for an exemplary skew table; the table is 256 steps long, only steps 0-28 and 252-255 show; and each step represents an increment of 19.608 millivolts). The reading of the zero height template and the 192 height reading are two entries. The value of the mils/step constant is calculated for the sensor (1.04347826087 in the example). This value is added successively to the "0 height entry" until the "FF" location is reached. The locations less than the 0 height location are filled-in with zeros. Note that the skew table converts HEX A/D output directly to uncovered height in mils for a sensor (no need to convert to actual voltage).

For sensor verification: With the 192 template still in place, one enters code "TBD" on the DP-1 keyboard. This will send a "read Doc skew request" to the common controller, which will read the height in mils for each channel plus document skew angle, and display the results on the system monitor. The height should be 192.+-.?, and the skew angle=0.+-.?. This is repeated with the "zero" height template to verify the height -0.+-.?, and the angle 0.+-.y.

Skew calibration should be performed when the power encode module HSPE is first installed in a system; it should be repeated whenever a skew sensor, or common controller PWBA is replaced. Proper skew sensor operation should be verified as part of the CSE preventative maintenance routines by running the sensor verification step. And, one should set the initial gain of the sensor amplifiers (as above) whenever a "compensate-sensor" request is received from DP-1 to "compensate" the transport sensors.

As mentioned, the subject encoder embodiment arrests each document (and the print ribbon) during imprinting. High-speed imprinting (e.g. MICR-encoding) is done with a continuously-rotating print drum, with each document (check) arrested momentarily for encoding (one row) by its transport (e.g. see FIG. 4). This improves the quality of the printed image and discourages blurring. The drum is "fully-populated", with (6) duplicate sets (sectors) of character dies disposed about its periphery--these in 16 columns (each column can print in one character-position on the check, with numerals 0-9 arrayed sequentially along a column (thus 10 rows) for each sector (see FIG. 10). The character-columns will be noted as "skewed". With intermittent print-ribbon movement carefully-controlled, ink-depletion is minimized.

The Print-drum will thus be understood to present six sets of 16 characters to power-encode (print) a MICR Courtesy Amount C-A (e.g. 12 symbols) on a check after prior processing of the check by an imaging system (sending MICR data to host, and electronic-image data to a special storage module; e.g. see FIGS. 10, 12, 12A, 13). The machine, and/or an operator will have entered the C-A data into the associated host computer--this C-A data to be thereafter encoded on the check by our subject "high speed power encoder", which will then route the check to a machine-determined sort-pocket.

A preferred embodiment is capable of imprinting sixteen characters (the maximum used in today's banking) within 40 milliseconds (typically 33.3 ms--see FIG. 9). An additional 20 milliseconds is used in each line-print cycle to decelerate the document from 100 inches per second to a complete stop; and it takes 6 ms to accelerate back to 100 ips. The system can so encode 400 documents per minute.

Note (FIG. 13) that our Print-Drum PD (and ribbon-driving rollers etc.) are journaled in their housing only on one side, i.e. are "cantilevered". This reduces cost because only one "housing-casting" is required; it also allows ribbons to be slipped on and off easily, as opposed to dismounting a roller journaled on two sides. This "cantilever mounting" (rather than mounting on an axle fixed at both ends;) affords better serviceability, easier ribbon-loading and easier drum-change (e.g. when print-drum is changed to change the character font). And, Print-Drums for the various character sets can be provided with means on each drum for generating unique magnetic identifier-signals to identify the font and thus prevent inadvertent encoding of the wrong type of characters.

The subject high-speed impact printing uses total transfer E13B MICR (or OCR etc.) ink formulations. The print station is a single unit with a fixed hammer-to-drum relationship. Charactersignals and Index timing signal means will be understood as etched on the drum to permit hammer-to-drum synchronization.

The six identical sets of 10 row sectors on drum PD (only one set shown in FIG. 10, which shows a typical sector) are designed so that any possible code line can be printed, usually, within ten consecutive rows. [not numerals 0-9 plus "Amount symbol"A].

The arrangement of each 10-row sector allows the encoder to print any possible code line within 10 consecutive rows of the drum, usually. FIG. 10, illustrating one set of 10 rows, has amount symbol "A" placed in column positions 1 and 12 (odd, even hammer bank) in all sets on the drum.

Two sets of "timing means" (marks) are etched on the print drum; one set (60) to give 60 row- (or character-) pulses; the other to give six index-(sector) pulses. All but one of the "index pulses " are arranged so each falls exactly between two "character pulses." The sixth "index pulse" is offset (closer to one row pulse than the other) in order to distinguish between drum-types.

Our encoder embodiment preferably includes "index means" to correct the "system clock" which commands the print-hammers to "GO" (start fight toward drum). This "index means" comprises a magnetic pick-up located adjacent the print drum and adapted to respond the "index marks" on the drum.

Preferably, these "index marks" also servo to create an identification signal (via the magnetic pick-up) that is unique to a font type; to so identify the type of machine-readable characters (font) to be imprinted by that drum (e.g. MICR type; European font).

Timing electronics for the print drum is located on a Skew Sensor Amplifier card. This card primarily consists of the circuitry required for a Skew Detect system (details below). Magnetic transducers are used to detect the drum pulses. The analog signal output from the transducers is amplified and converted to a digital signal, which is used by the microprocessor board.

This sixteen-column impact drum printer is capable of imprinting 400 six-inch documents per minute. [Note: documents contemplated will be 4.5-9.25" long.times.2.75"-4.25" high]. Columns 1 and 12 print only amount symbols A (one even column, one odd--corresponding to Even/odd hammer banks). Columns 2 through 11 and 13 through 16 can print 0 through 9 numerics in E13B font. "European" (13-column) printing is an option.

A possible problem is "uneven strike" of a hammer--e.g. comprising the legibility or MICR-readability of the affected character so printed. When a hammer strikes, its face may hit the selected drum-die "offcenter" i.e. to the right or left, or above or below (vs a flush, even, hit where the hammer face hits the die type squarely). We have developed a kind of "test character" ("alignment character") for testing hammer-face alignment relative to the dies. This test character is preferably placed on one sector of the drum with the type characters (cf. FIG. 11, only #1, only columns #1, #12); and preferably looks like "<>" (see on FIG. 11, with "<>" substituted for "A" in FIG. 10; only in one sector]. It could also be a grid, or "o" or an "opposing-angles" test character (e.g.  ). Hammer impact on such a "test character" allows one to see whether a hammer (one from each (ODD/EVEN) hammer-bank) impacts squarely. When it does not, the position of its hammer-bank relative to the Drum can be adjusted (preferably, drum PD is shifted, with hammer banks HB kept fixed).

An uneven strike can develop excess pressure, i.e. if the hammer hits one side harder, "debossing" can result--this buries ink in the paper and makes it hard for a MICR-Reader to sense it. Our special test symbol (e.g. "<>") is formed and placed to be "close-to-spanning" the entire width and height of any hammer (FIG. 11A). Thus, to get legible printing of our entire "test character", a hammer must hit it very squarely.

FIG. 11A schematically illustrates one full "character-space" (die position) on drum PD (cf FIG. 10 or 11), being of prescribed full-width "dcp" and height as known in the art. As workers are aware, a minimum margin must be maintained on all sides; e.g. if a die is too close to a side, it may cause "ghosting": a light printing in an adjacent character-space. Thus, our special "alignment character" (e.g. "<>", as in FIG. 11-A) will respect this margin (cf. inner width 'dc" in FIG. 11A).

As mentioned, the embodiment also includes control means to signal when a document is stopped "in-alignment"  and is thus ready for imprinting (see above); along with control means to selectively adjust each print-hammer (flight time) so it will impact the document with relative constant print-pressure (when a selected die, on the rotating drum, comes into position).

Printer electronics is provided by two printed-circuit boards, with hammer drives packaged on one board, and the microprocessor, ribbon control, sensor and interlock circuits on the other board.

The high-speed Printer is preferably controlled by an 8-bit microprocesor; communications with the host CPU will be transmitted through a parallel interface working with a parallel handshaking protocol. A preferred microprocessor uses an INTEL 8344, high-performance HMOS, containing two internal times and event counters, two level-interrupt priority structures, 32 I/O line-programmable, full duplex serial channel, and a crystal clock (12 MHz) to control all printer functions.

This HSP encoder embodiment will be understood to also include two banks of like electro-magnetically-operated print-hammers, positioned so that, when a document-to-be-imprinted is stopped at the print station facing drum PD, the print-hammers can properly strike the document. A hammer presses the document against an associated, interposed, ink-coated print-ribbon--the hammer-strike timed (as known in the art) to press the ribbon against a selected one of the raised dies on the drum and thereby imprint the document-column (see hammer banks HB, ribbon R in FIGS. 12, 12A, 13, 14).

The hammer banks used in this embodiment consist of four hammer modules (four hammers each), a hammer magnet assembly, two electronic circuit cards, a microprocessor card and an analog hammer-drive card. The hammer magnet assembly consists of two banks of nine individual magnets, each mounted on a hammer bank casting. The hammer banks HB-1, HB-2 comprise two inter-leaved (ODD/EVEN) sets of hammers as known in the art.

The Analog card is a "current sink" for the sixteen hammer coils. Under control of the microprocessor, the Analog card energizes a hammer coil and sets the level and width of its current pulse. Eight dual hammer pre-driver ICs (each controls two hammers) are used to set hammer current level and pulse width.

This card also has flight time monitoring circuits and high voltage D.C. control.

Hammer current amplitude is adjusted by setting its voltage level Vc1, as an analog input common to each hammer pre-drive. Hammer current is routed through a (one ohm) sense resistor, whose output voltage is fed back to the respective pre-driver chip and compared against Vc1. The pre-driver chip controls a "Darlington" drive transistor, operating in "constant current" mode. The pre-driver chip increases the drive on the output transistor until the voltage fed-back from the sense resistor equals Vc1. [Vc1 is derived on the Analog board via a precision voltage regulator.]

A successful print operation requires precise synchronization between drum motion (character phasing) and hammer flight. For example, a hammer moves at approximately 100 ips and must squarely strike its die-character while the drum is continually moving at 51.6 ips. Therefore, drum to hammer synchronization is critical. Proper drum-to-hammer timing is maintained through procedures for: "Hammer Flight Timing" and "Character Phasing".

To adjust Hammer Flight-time, all hammers can be set so they "fly" for a specified T.sub.f time before impact. This flight time can be controlled by adjusting the "start-position" of a hammer, as known in the art or it can be controlled by our preferred technique (see below).

"Character Phasing" determines the time-out (delay) that the microprocessor must introduce (i.e. delay after receiving a clock pulse from the character row detector) before firing a hammer. The phase delay is varied two ways: through hardware (Coarse adjust) and through software (Fine adjust). "Coarse adjust" is effected by changing the position of the character row magnetic pickup. "Fine adjust" is effected by changing the delay-time through software. This software delay is stored in non-volatile RAM so that times need be calculated only once.

Our encoder embodiment can include "calibration means" to selectively adjust the "at-rest" position of each print-hammer (i.e. shift it closer to drum, or farther away) such that its "flight-time" (from when a hammer receives its Go-signal until it contacts the document) is maintained within a prescribed range--to yield accurate imprinting, with characters aligned along a row. Preferably, this flight-time interval is detected according to a characteristic voltage-shift in a hammer's Drive-circuit (e.g. see FIG. 19, see "start" and "impact" points, with voltage-cusp .DELTA.V.sub.c characteristically occurring in precise time-relation with hammer-impact).

A preferred alternative to the above-mentioned "adjustable-gap" technique for synchronizing print-hammers--and a feature hereof--is a system where hammer-gap is kept constant (no adjustment of start-point), but flight is adjusted in the following fashion:

1--Drive-Energy (coil current phase) can be adjusted for each hammer-coil to yield simultaneous drum-arrival (arrival can be sensed via pickup on drum for each row; as workers know);

But a coil-voltage curve as in FIG. 19 can also sense this. That is, the voltage (source Transistor) for any given hammer coil may be represented, idealized, as in FIG. 19, where voltage may be expected to "jump-up" (see cusp) at a point, in each cycle, close to, or coincident with, hammer-impact ("arrival" at drum). Thus, a circuit that monitors each hammer's coil-voltage and detects this cusp .DELTA.V, can also indicate arrival-time (as well as "flight-time" T.sub.f ; also drum run-out; and even whether the hammer coil ever received a proper current pulse).

2--Each coil-fire time (phase) is Fine-tuned until all printed characters (e.g. test symbol) look as alike as possible;

3--As necessary, coil-current value (fire-time) is adjusted to correspond with symbol-area (e.g. the microprocessor will store four values of symbol-area, according to the amount of raised impact-area on the "selected" die--e.g. symbol "7" may be least area (in squ. inches), then "2" etc., with "8" on the high side; now, four corresponding coil-current levels are also set up: e.g. 100% i; 84%, 67% and 50%, with 50% i assigned to "min.-area" for symbols like "7" and 100% i to "Max.-area" symbols like "8" etc.)

Note: Workers realize that, for a constant-energy drive, a "Max.-area" symbol like "8" might print "Light" whereas a "Min. area" symbol like "7" might be "buried" in the paper ("debossed")--and a MICR head could find it difficult or impossible to read such a "buried" or "light" symbol (and MICR-link might also be splattered, adding problems). Thus, strike-pressure (force/area) should, preferably, be normalized, for all die symbols. This feature aims to do this.

3A--To do this, an 8-bit "signature-code" is stored in (RAM) computer memory (.mu.P) indicating a 100%-current value assigned for each hammer (hammer-tailored).

Then, this 100% value may be "de-rated" (to 50%, 67%, 84%), by the .mu.P according to the "area value" of the called-for symbol (e.g. the "Min. area" symbols get only 50%, the Max. area symbols get 100%, etc.)--this being done, each print-cycle, with two added "bits" (4 levels via: 00, 01, 10, 11, as workers realize)--whereby a total of 32 bits may be assigned to coil-current for each hammer, in each cycle.

4-Also, we prefer to vary fire-time with energy-level; i.e. we find that reduced hammer-current, as above, will give a "late" hit; thus firing-time must be advanced (e.g. by .mu.P).

5--Further, we prefer to also vary current-pulse-width with energy-level (also by .mu.P).

6--The foregoing adjustments will be understood as co-ordinated to assure simultaneous hammer-arrival plus fairly-normalized impact-pressure with each hammer.

A preferred "set-up" for such a "constant-gap/variable-energy" technique is now discussed.

With this set-up, it will be understood that--all hammers are set at the same "hammer-to-drum" gap and that a prescribed "flight-time" for all hammers (for a given energy level) is obtained by adjusting hammer current drive level (rather than hammer-to-drum gap). This results in various advantages, including a truly "constant-energy" system (same pressure for all dies) and elimination of the risk of a hammer protruding into the document flow path due to a "small" hammer-to-drum gap adjustment. A description of how our hammer drive may preferably be set-up is now given.

The current level for driving a given hammer is determined by an eight-bit code that is loaded into an eight-bit latch by a special program. This program fires the hammers one at a time and adjusts current level until the desired "flight time" is achieved. The program then stores this 8-bit code for further use by the system during encoding. The discussion will now refer exemplarily to the operation of channel #1.

The program will set lines ADDR0, ADDR1 and ADDR2 to logic level "0" in order to select the first channel. It will then place a desired 8-bit code on the PTRBD0-PTRBD7 bus for loading into latch U54. It then places a "0" on line SELCURLIN and issues a negative action WRTN pulse. This places the desired code into the U54 latch. The latch 8 bit output drives the input address lines of an 8 bit digital to analog converter U31, which supplies a current proportional to the code to amplifier U41-13. The amplifier supplies a positive voltage signal VCL1 to hammer pre-driver chip U15. The digital to analog converter output is also modified by its VREF+ input, depending on the desired energy level (see below).

A hammer pre-driver chip operates in "current control" mode; to drive transistor Q38, which, in turn drives the hammer coil. Coil current flows through resistor R2, and its voltage drop is compared to VCL1. The pre-driver chip regulates this voltage to be equal to VCL1, thus controlling the current to the desired level. This pre-driver chip is active due to its selection by negative action signals X1, Y1 from the control program and due to receiving signal HMFIRE1N, which initiates hammer drive.

Hammer drive pulse width is determined by the frequency of signal HMCLK1N. The pre-driver chip counts 128 of these pulses and then terminates the hammer drive. Signal IMPACT1 is supplied to a differentiating circuit comprised of Q25, U2 and Q5. This circuit supplies a pulse to the microprocessor controller for flight time measurement, which pulse will coincide with hammer impact.

The above describes operation for a single energy level. To vary energy level for each hammer, the program supplies 2 bytes of data to latches U55 and U56. Bus EN(0:15) direct bits 0, 1 to analog selector switch U78. This switch will select one of 4 current references for digital to analog converter U31. This will allow VCL1 to be one of 4 levels, depending on the energy level desired by the program. These 2 bytes of data are supplied to the circuits for every document to be encoded. The content of the bytes is determined by the character to be printed by each hammer.

The "Multiple Energy" system also requires that hammer fire-timing be different for each energy level, i.e. lower hammer energy requires earlier firing. The microprocessor under program control supplies signals HMFIREAN, HMFIREBN, HMFIRECN and HMFIREDN to PALS U71 and U72. The PALS also receive the energy bus information EN(0:15). The PALS will select the proper hammer fire pulse for a given hammer and character using this bus information (e.g. the U72 PAL supplies HMFIRE1N pulse to U15).

A further requirement is that current pulse width varies for different energy levels. It is expected that 2 pulse widths will be sufficient for the 4 energy levels. Signals HMCLKA and HMCLKB are generated by the circuits for use in the "pulse width variation system". These signals are at slightly different frequencies corresponding to the 2 desired pulse widths. These signals are also supplied to the PALS. Thus, the U72 PAL supplies the proper HMCLK1N pulse to pre-driver U15 for the desired pulse width for a given hammer and character as determined by the EN(0:15) bus.

The above system will allow for testing encoding characteristics at four (4) energy levels. The relative energy levels can be changed by a different selection of analog switch resistors. The relative hammer "fire times" can be changed by changing the microprocessor program.

Hammer current pulse width is defined by the width of 128 clock pulses of "HM.sub.-- CLK", a digital clock signal common to each of the pre-drivers. HM.sub.-- CLK is a free running clock signal derived on the Analog card using an oscillator and a frequency divider. "Hammer flight time" is monitored with differentiating circuits on the Analog card. To determine flight time, the circuits detect the mentioned hammer-coil "voltage-jump" (V, FIG. 19) associated with the point (time) of hammer-impact.

There are 17 "flight-time-circuits" on this Analog card, one for each of the 16 columns with one common circuit. The 16 individual circuits are used for "on-line" detection of "flight-time"; the common circuit is used for setting hammer flight times in "Maintenance" mode. The Analog card can disable +48 volt power through a digital output signal, HSVP.sub.-- SUP. This +48 volt power is disabled if, when not printing, current flow is detected in any hammer.

The Microprocessor board controls the hammers via a nine-bit control bus. Eight bits form a 4.times.4 matrix which is used to select which columns to fire. The ninth bit is the hammer strobe pulse. To fire a hammer, the microprocessor board selects (in order) the hammers to be fired for a particular row. After timing-out for phasing, the hammers are strobed to initiate the fire sequence. Current is applied to the hammers for a prescribed time period, defined by circuitry on the Analog card.

The print-ribbon R may be deployed/advanced as indicated in FIGS. 12, 12A, -13, -14, shown in operating position. The entire HSPE module will lift-up with minimal effort for servicing and ribbon loading. Ribbon is loaded from the open side of the (cantilevered) drum assembly, when the module is in "service position".

Print ribbon R is friction-driven by polyurethane-coated drive roll DR (engaged vs the mylar backing MB of the ribbon). Ribbon R is dispensed from a supply roll SR and is held (normally) thrust against drive roll DR by frictional drag means FD on the upstream side and by a pair of like, balanced, spring-loaded pinch-rolls PR, PR' on its downstream side (see FIG. 14, SP for PR, SP' for PR'). Ribbon R wraps around an idler roll IR mounted to rotate on a fixed shaft Sh. Shaft Sh also serves as the pivot for pinch roll pair PR, PR'. Tension is applied to ribbon R as it leaves idler roll IR by a ribbon take-up spool TUR, coupled to be rotated by an associated motor M-2.

The Ribbon is advanced "step-wise" at the completion of each print cycle. That is, after a document has been fully-imprinted, motor-driven drive roller DR (FIG. 14) will advance ribbon R one "full step" for the next print cycle. DR is so rotated by a gear motor DM and belt coupling DB. Motor DM is preferably firmware-controlled to so step ribbon R.

The ribbon wraps 180.degree. around the urethane capstan and is held against roller DR by pinch rollers PR, PR' (e.g. typically exerting a 43.6 oz. force on the ribbon via springs SP, SP'). Each pinch roller is independently loaded and provides the same pinch-force, normally.

Just below the print station is a ribbon guide RG (FIG. 12) containing four (4) edge-detector units (PS, PS', PPS, PPS'). The detectors are optical and apertured (0.025".times.0.045"). Guide RG may comprise molded polysulfone plastic. The uninked side of ribbon R rides against the detector side of guide RG and the detectors are located under the ribbon. This forestalls build-up of paper dust on the detectors. The first detect set PS, PS' (FIG. 20) is located 0.030" inside each ribbon edge and function to detect "minor" ribbon movement (or "wander"). The second set of detectors PPS, PPS' is located 0.090" inside each edge of the ribbon; they detect extreme, unacceptable movement of the ribbon and trigger interruption of printing.

When ribbon R moves right or left enough to uncover a first detector unit PS PS', a DC gearmotor M-1 is thereupon energized to rotate, respectively, clockwise or counterclockwise. Motor M-1 operates through a synchronous belt/pulley drive, to rotate its shaft assembly sh-h clockwise or ccw. Attached to sh-h are two extension-spring arms, whose extension springs SP, SP' provide the cw/ccw pinch-roller force. When shaft sh-h is rotated, it changes the lengths of the two extension springs, thus loading/unloading the pinch rollers to thereby cause an unequal force distribution (4-to-1). Left pinch roller PR' has a left-hand lead-screw pattern and right roller PR has a right-hand lead-screw pattern.

During normal operation (balanced, equal pinch forces), rollers PR, PR' tension ribbon R across its width. But when PS or PS' detects "wander" and cause motor M-1 to rotate sh-h (and or pinch-forces thus become unequal), the roller with the higher pinch-force takes control of ribbon R and moves it toward that side--until, R returns enough to re-cover the detector. When the detector is recovered, motor M-1 is de-energized and pinch roller forces become re-balanced.

Thus, one can assume that ribbon R is preferably step-advanced in the following exemplary fashion, at 4.91"/sec. The (0.75") drive roller DR is coupled (2:1) to stepping motor DM (motor:drive roller via pulley, belt drive). For one ribbon advance-length, fifty (50) clock pulses are sent to the stepping motor during a 36 ms time period. Motor DM steps 200 times per revolution, or 1.8.degree. for each step; and each two pulses move the motor one more step. Drive roller DR is advanced 22.5.degree. (0.1473 of ribbon) for each ribbon advance-length (50 clock pulses).

Software preferably controls this advance of MICR ribbon, one line at a time, while also adjusting ribbon step-distance (cf. can be set to one of six possible settings, scaled from -2 to +3). The minimum setting for step-distance corresponds to 0.148 in.; and, the maximum step distance is 0.221 in.

The magnetic ink transfer ribbon R can be any ribbon suitable for encoding MICR-E13B characters.

Our High-Speed Encoder Print Station preferably uses a one-shot (print-once), 2.25-inch wide, towel type ribbon, 400 yards long (can print 95,000 lines, lasting for approximately ten hours of average continuous encoding). a ribbon package can comprise a 4-inch diameter ribbon roll and a plastic takeup spool and may have the following specifications: Ribbon Width:   2.25 inches (57.2 MM) Length:         400 yards (304.8 M) Roll diameter:  4.00 inches max Ribbon capacity: 95,000 character lines per roll ______________________________________

The ribbon is made accessible by lifting the flap cover on top of the Encoder module. Pressing a lift button located at the left side of the encoder will raise it 5.25" to its "maintenance position" for ribbon replacement. The ribbon will typically need changing after approximately continuous ten hours of encoding. The operator will remove the spent ribbon and thread-in a new ribbon. Then, the operator can press the lift button and push the encoder down to its "operating position"--whereupon the machine will automatically eject 15 inches of ribbon to ensure fresh ribbon at the print station.

Because of the friction-drive (and possible other slippage), print ribbon R is apt to "skew" or wander out of alignment. According to a feature hereof, we have provided simple means for sensing and correcting "skew" (wander) as the ribbon passes along its roller path, and we provide means for automatically "straightening" ribbon alignment (deskewing).

When ribbon R wanders too far to one side or the other of its advance-path, this ("skew") is sensed by one of two photosensor units PS, PS' each positioned just beyond a respective ribbon-edge to detect misalignment. When either sensor PS, PS' detects "presence" (alternatively, "non-presence") of a ribbon-edge, it will operate to energize DC servo motor M-1. Motor M-1 is commanded by output from PS or PS' to rotate, either CW or CCW, and so selectively increase the "pinch-force" (on R) by one associated pinch roll (PR or PR'), while concurrently decreasing the pinch-force of the otherpinch roll, thus causing unequal drag-forces on ribbon R. M-1 does this (as mentioned) by changing the lengths of the two extension springs to SP, SP', each loading or unloading a respective pinch roller. This length-change "unbalances" pinch-forces (causes an unequal force distribution) and frees ribbon R to move away from the "lower-force" pinch roller--whereupon R will rotate about, and move toward, the "higher-force pinch roller"--and so shift-back to correct the skew. When ribbon R has so shifted sufficient to " clear" the "active" sensor, (PS PS'), the sensor will become deactivated (as will motor M-1) and skew will have been corrected.

A ribbon motion detector is provided to insure the ribbon advances one 0.147" "length" prior to each print command. Detection of ribbon motion is via a sensor tracking the rotation of low-inertia idler TTR; that is, whenever ribbon R moves, its friction-engagement vs idler TTR will rotate TTR--this rotation being sensed by an opto-electronic sensor AOR that generates pulses as a function of TTR-rotation-amount.

"Optical Rotation Encoder" AOR, or an equivalent means, can be used to sense the rotation of idler roll TTR (SEE FIG. 12) as it is moved by the ribbon; and so sense roll-rotation as a measure of "ribbon movement".

Ribbon R wraps 70.degree.-90.degree. around the 0.625 diameter urethane-coated idler roller TTR. Roller TTR rotates 0.027 for each ribbon advance, being driven by the ribbon. One end of the shaft for TTR is coupled to shaft encoder AOR through a 36:20 (roller:encoder) gear ratio. Shaft encoder AOR outputs through 128 pulses for each revolution of TTR and expects to detect 17-18 pulses for each ribbon step-advance. If the shaft encoder does not detect "proper" ribbon motion (e.g. minimum requirement of 10 pulses), one "retry" will be invoked before a "fault" is reported (as part of the "status" to the DP-1).

As the ribbon moves, the A-OR encoder moves and outputs regular "advance-pulses" ap (e.g. if it moves to generate 12 such pulses and if this is "standard advance-length" for the ribbon, such is signalled to the Encoder, i.e. "that ribbon R has moved enough to accommodate the next imprinting"). Thus, a section of "fresh" ribbon (ribbon segment just beyond the last impact area) is provided before each imprint sequence. Unless the print-once ribbon R so moves to a clean area, "errors" can result from imprinting with depleted ribbon.

If, in so detecting ribbon-advance, the machine finds that ribbon R hasn't advanced enough, it will command R to "advance further before the next hammer-impact" (e.g. until A-OR outputs a total of 12 advance-pulses). [Note: FIGS. 12, 12A also indicate track-guide RG with track-bottom portion TR, along with print drum PD and hammer-banks HB-1, HB-2]

"Ribbon-out" is detected 12" from the end of the ribbon supply and interrupts all processing. For this, two electrically-separated (potential-difference) contacts provided on the machine sense passage of a metallic strip adhered on the back-side of the ribbon (located 12 inches from its end) and report a "ribbon-out" condition (as a "status") to document processor DP-1. A "Ribbon-out" indication stops all processing. In particular, the two contacts are preloaded against the back side of the ribbon, prior to it entering the print station. "Out of ribbon" is detected when the matallic strip passes onto both contacts and completes the associated sensing-circuit.

A "low ribbon" detector LR reports "low ribbon" condition (e.g. MIN 5000 imprintings remain) to the document processor DP-1 when approximately 75 feet of ribbon remains on the spool. Detector LR operates by measuring the pulses per revolution of the ribbon supply mandrel S-M. Optical sensor LR emits 8 pulses per mandrel revolution. As the ribbon supply depletes, the rpm of mandrel M-S will increase, thus reducing the time between output pulses. At a "Target" rpm (corresponding to "only-75'-left" condition), the detector reports "Low-Ribbon" condition as a "status" to DP-1.

During ribbon advance, the Encoder module verifies ribbon motion, with faults reported as part of STATUS. Acceptable ribbon movement requires at least two pulses from the ribbon motion detector. The Encoder-processor will automatically try to move the ribbon a second time if the first fails, but the maximum time to complete ribbon-advance (including "automatic retry"), is 70 ms.

The HSPE Module verifies: proper sensor operation, proper document length and spacing; and also detects jams.

The HSPE Module also checks for "general" errors; in particular: errors in ribbon movement, in printing, and general (hardware and functional) errors. Detectable faults are reported to DP-1 so it may initiate appropriate recovery action.

"No-Encode Errors" are also detected; these are faults which are detected before printing, and result in the document being released without being printed-upon, e.g. such faults as: document skew, document position error, print drum speed incorrect, no ribbon advance after prior document encoding, and ribbon skew.

"Improper Encoding Errors" are detected after the document has been encoded and result in a document which will require an encoding correction; such as: hammer current failure, hammer flight failure and extra "drum character" clocks.

"Undetected Errors" are faults which will not be detected until the document has been passed through a reader; such as: damaged drum, damaged hammer tip, or bad ribbon.

It will be understood that the preferred embodiments described herein are only exemplary, and that the invention is capable of many modifications and variations in construction, arrangement and use without departing from the spirit of the invention.

Since modifications of the invention are possible, for example, the means and methods disclosed herein are also applicable to other encoding arrangements, as well as to other related document handling systems. The present invention is also applicable for enhancing other related printing arrangements.

The above examples of possible variations of the present invention are merely illustrative. Accordingly, the present invention is to be considered as including all possible modifications and variations coming within the scope of the invention as defined by the appended claims.

## Claims

1. A check transport arrangement in a high speed encoder wherein checks are continuously transported along a path past at least one encoder process-station according to one, or several, acceleration/deceleration profiles, depending upon prescribed special characteristics of each said check, these special characteristics being defined by a certain type or a certain condition of a check, this arrangement including: of a check; and control means for controlling check-advance, for storing said profiles, for selecting and setting-up at least one check-profile to be invoked, on-the-run, as a function of the sensed condition and the sensed position of each check along this path, and for also deriving data indicating one or several of said special characteristics for each such check thereby to monitor progress thereof along said path so that, when a prescribed point is reached, said control means then invokes a corresponding selected profile, according to one or more of said check characteristics; and detector means for detecting checks having at least one of said special characteristics and to indicate this to said control means whereby such a check may be automatically continuously advanced through said process station in a prescribed fashion.

2. A document transport arrangement in a high speed encoder wherein unit-record documents are transported continuously along a path past at least one encoder process-station according to one, or several, acceleration/deceleration profiles, depending upon the type and condition of each said document, this arrangement including: of a document; and control means for controlling document advance, for selecting and setting-up at least one document-acceleration/deceleration-profile to be invoked, on-the-run, as a function of the sensed condition and the sensed position of each document along this path, and for also deriving data indicating one or several prescribed specific characteristics for each such document thereby to monitor progress of each document along said path so that, when a prescribed point is reached, said control means then invokes a corresponding selected profile, according to one or more of said document characteristics; and detector means adapted to detect documents having at least one of said special characteristics and to indicate this to said control means whereby such a document may be automatically continuously advanced through said process station in a prescribed fashion.

3. A document transport arrangement in a high speed encoder wherein documents of relatively common weight are guidedly-continuously-advanced along a prescribed linear path, past one or more encoder processing-stations, while being monitored by passage-sensor means, this control arrangement serving to control document-advance and comprising: document-acceleration/deceleration-profile to be invoked, on-the-run, as a function of sensed position along this path and also recording one or several prescribed profile-related special characteristics for each type of document expected; characteristics to indicate this to said control means whereby such a document may be automatically advanced through said process station in a prescribed fashion; and wherein, when a prescribed decision point is reached, said decision means invokes a corresponding profile in said microprocessor means according to at least one of said special characteristics.

4. The arrangement of claim 3, including roll means and associated servo-motor means coupled thereto, said roll means being engageable with said documents to so advance them past at least or of said processing stations according to at least one of said velocity profiles and thereby control document advance according to one or more of said special characteristics.

5. The arrangement of claim 4, including servo-sensor means and wherein the said at least one profile is invoked by said microprocessor means in response to document passage past said servo-sensor means, as directed by said decision means.

6. The arrangement of claim 5, including prescribed stop-sensor means disposed and adapted to check each document for alignment at a given station.

7. The arrangement of claim 6, including clock-signal means, and associated memory means operatively associated with said microprocessor means whereby a run-signal sequence may be placed in the memory means indicating the time or distance, at nominal transport speed, required for certain-length documents to reach a given destination.

8. A controlled transport arrangement in a document encoder whereby unit-record documents are continuously controllably transported past at least one encoder process-station according to one, or several, acceleration/deceleration profiles, depending upon a prescribed type or prescribed condition of the document, this arrangement including: along a prescribed linear path, past said one or more encoder process-stations; at least one passage sensor means for monitoring document passage; microprocessor means for controlling document-advance and for setting-up at least one document-acceleration/deceleration -profile to be invoked, on-the-run as a function of the sensed position of each document along this path and said type or condition; said microprocessor means also deriving data indicating one or several of said types or conditions for each such document whereby to monitor progress of each document along said path so that, when a prescribed point is reached, it then invokes a corresponding profile, according to at least one of said document types or conditions; and detector means for detecting documents having a said type or condition and for indicating this to said control means whereby such a document may be automatically continuously advanced through said process station according to said preset associated profile.

9. The arrangement of claim 8, including position-sensor means and wherein at least one of said velocity profiles are invoked by said microprocessor means when document passage past one said position-sensor means is indicated.

10. The arrangement of claim 9, including clock-signal means, and associated memory means whereby a run-signal sequence may be placed in the memory means indicating the time or distance, at nominal transport speed, required for a certain-length document, to reach a prescribed station along said path.