United States Patent 3833891

An elongated paper document is moved at a substantially constant speed. A plurality of reciprocally mounted solenoid operated print wires are mounted at spaced intervals upon a movable assembly arranged to move along a line transverse to the direction of movement of the paper document. The print wires are selectively operated to impact an inked ribbon against the paper document for printing and/or plotting. The moving assembly fully compensates for the movement of the document to assure that all dots printed along a single row will form a straight line. While only selected ones of the print wires need be operated at any given instant, those selected for operation are all driven against the inked ribbon simultaneously to provide high speed printing and/or plotting of the dot matrix type. Alternatively, paper movement may be periodic as opposed to continuous.

Howard, Robert (Roslyn, NY)
Robinson, Prentice I. (Hudson, NH)
Application Number:
Publication Date:
Filing Date:
Primary Class:
Other Classes:
101/93.05, 358/1.4
International Classes:
B41J2/245; B41J15/06; B41J25/00; (IPC1-7): B41J1/16; G06K15/10
Field of Search:
340/172.5 101
View Patent Images:

Primary Examiner:
Zache, Raulfe B.
Assistant Examiner:
Woods, Paul R.
Attorney, Agent or Firm:
Ostrolenk, Faber, Gerb & Soffen
Parent Case Data:

This is continuation of application Ser. No. 204,024 filed 2 Dec. 1971 now abandoned.
The embodiments of the invention in which an exclusive privilege or property is claimed are defined as follows

1. An impact printer for forming dot patterns upon a movable document comprising:

2. The printer of claim 1 wherein the free end of said print wires are arranged at equal intervals whereby each print wire is adapted for printing 1/Nth of the total number of dots per row.

3. The printer of claim 1 further comprising means for continuously moving said paper document;

4. The printer of claim 1 further comprising means coupled to said first storage means for generating a plurality of character signal groups, each of said groups comprising a plurality of rows of signals collectively representing a character;

5. Means for controlling the print assembly of a dot matrix impact printer wherein an M row by N column matrix of dots represents each character comprising a movable carriage and a plurality of solenoids mounted upon said carriage, a paper document and means for moving said paper document in synchronism with said carriage;

6. The device of claim 5 further comprising means for generating a code identifying the last character to be loaded into said register;

7. The device of claim 5 further comprising means coupled to said second counting means for causing a shift of one character position in said register each time the first row of the first group of characters is printed.

8. The device of claim 5 further comprising means coupled to said second means for causing a shift of Nc /Sn characters in said register when the dots in the first row of the first group of characters has been printed where Nc = the total number of characters in a line of characters, and Sn = number of solenoids.

9. The device of claim 5 wherein

10. An impact printer for forming dot patterns upon a paper document comprising:

11. The printer of claim 10 further comprising means responsive to the count r in said first counting means for controlling said transferring means to transfer the P selected positions from the row in said first storage means associated with the count in said first counting means.

12. The printer of claim 10 wherein each column of binary signals represents a character;


The present invention relates to printers and more particularly to high-speed impact printers of the dot matrix type in which linear movement of the components comprising the printer is significantly reduced to provide print operating speeds not heretofore obtainable.

Dox matrix printers are well known in the art and are typically comprised of a matrix of print wires (usually arranged in an ordered matrix of seven rows and five columns) in which the print wires are selectively impacted against an inked ribbon which, in turn, is driven against the paper document to form any desired character. The print wires are then physically shifted or moved, in unison, relative to the paper document to the next position to print the next character or symbol. Upon completion of a single line of characters or symbols, the print wire bundle making up the 5 × 7 matrix is rapidly shifted back to the starting position, the document is advanced and the next line of characters is printed in a similar fashion.

In order to reduce the amount of mass required to be moved at high speed during the printing operation, an improved version of the aforementioned technique has been developed, and is set forth in detail in copending applications, Ser. No. 35,405, filed May 7, 1970 and Ser. No. 179,457, filed Sept. 10, 1971, assigned to the assignee of the present invention, wherein the 5 × 7 matrix of print wires is replaced by a set of seven substantially vertically aligned print wires which are advanced in stepwise fashion five times per character to form substantially the same 5 × 7 dox matrix as that described hereinabove. This arrangement still, nevertheless, requires the acceleration, movement and deceleration of the print wires at a very high repetitive rate, thereby severely limiting the print speed and increasing down time due to wearing of the moving components. Also, the distance traveled by the print head is double the width of a line of print.


The present invention is characterized by providing a high-speed impact printer of the dot matrix type in which the print wires undergo significantly reduced linear movement transverse to their longitudinal axes, and wherein the paper document is moved at a cooperating speed during the printing operation so as to greatly enhance overall operating speed, print capabilities and simplicity of the device.

The present invention is comprised of a plurality of solenoids, each being provided to drive a slender print wire. All of the solenoids are mounted upon a movable mounting assembly with each of the print wires being guided by suitable guide means so as to be arranged along a substantially horizontal line with their forward ends being positioned to reciprocate within a small diameter opening formed in a jewel bearing whose forward face is in close proximity to the printer platen. An elongated inked ribbon is positioned between the forward surface of the platen and the jewel bearing so as to be driven into a paper document riding over the platen when impacted by the print wires. The ribbon is preferably drawn between a pair of spools so as to advance the ribbon continuously during the printing operation to provide for even wearing of the ribbon.

The paper document may be perforated along either or both of its marginal edges so as to cooperate with drive means capable of advancing the paper document at high speeds, or may be moved by a conventional rotatable roller-type platen.

The printer electronics is comprised of input means for receiving data in either serial or parallel fashion and feeding the data in parallel fashion into a multistage shift register capable of storing a multiplicity of binary words, each representing a particular character or symbol.

Once the register is fully loaded, or is loaded to the desired amount (i.e., to respectively print a full line or less than a full line), the contents of selected stages of the register (containing the binary bits representing a character or symbol) are applied to conversion means for each character which may, for example, be a character generator adapted to provide output signals in binary form at selected ones (or all) of its plurality of output terminals representing the first or top line of the 5 × 7 matrix for the associated characters. These signals are, in turn, employed to selectively trigger the operation of the print wire solenoids to cause "dots" at spaced intervals along the top line of the characters to be printed. The mounting assembly then moves a very small distance to the right in readiness to print the next dot group. Suitable stepping means, such as, for example, a counter, is employed for triggering all of the character generators to provide binary output signals at the appropriate output terminal of the character generator representative of the next dot in the top-most row of the 5 × 7 matrix. These signals are then employed to selectively operate the associated print wire solenoids. The stepping operation continues until all dots along the top row of the 5 × 7 matrix have been printed, at which time the entire top row of 80 characters (for example) have been printed. The mounting assembly is then returned to the start position during which time the paper document continues to move so that, upon return to the start position, the dot spacing between rows is automatically maintained. The second row of dots of the 5 × 7 matrices are then formed in a similar manner.

Upon completion of the seventh line, the document feed device is caused to operate to separate the completed line of characters from the next line to be printed. During this stepping operation, binary code groups for the next line of characters are shifted into the register, and as soon as the register is loaded (either completely or to the extent desired) the operation is continued for the next line of characters. Each line of characters is printed in a similar fashion.

A line of characters of double height may be printed by causing each row of the 5 × 7 matrix to be printed twice, thus creating a character of double height, if desired. As a further alternative, characters of a single row may be both double and single height (i.e., the equivalent of upper and lower case) if desired.

As a further alternative, the high-speed impact printer may be adapted to print or plot curves by selective energization of the print wire solenoids to cause one or more than one of the dots on any given line to be printed whereby those dots, in cooperation with the dots of other lines, are caused to form a curve or a plurality of curves useful in graphic presentation of data. The printer thereby provides a capability of printing characters at rates faster than those conventionally available through the above-described features and techniques.

By moving the solenoid mounting assembly at a slight angle relative to the horizontal direction, the paper document may be moved continuously, and formation of a perfectly straight row of dots is assured, thus significantly reducing the complexity of the mechanism for moving the paper document.

The spacing of the solenoids over a distance slightly less than the width of the paper document enables an entire row of dots to be printed while the mounting assembly physically moves only a fraction of the width of a full line of characters document.

Perfect registration of the dot patterns formed is assured through the use of a registration means which also serves to identify the location of the print solenoids at any given instant.


It is therefore one object of the present invention to provide a novel high-speed impact printer in which printing of characters is undertaken partially serially and partially parallel for each line of characters, and serially line by line to form characters and/or symbols to plot curves.

Another object of the present invention is to provide a novel high-speed impact printer in which the number of moving parts employed is significantly reduced, so as to reduce the amount of mass otherwise required in conventional impact printers of the dot matrix type.

A still further object of the present invention is to provide a novel high-speed impact printer of the dot matrix type in which double-height characters may be printed in a simple manner.


These as well as other objects of the present invention will become apparent when reading the accompanying description and drawings in which:

FIG. 1 is a perspective view showing an array of print wires and operating solenoids which are employed in the apparatus of the present invention and incorporating the principles thereof.

FIG. 1a is a drawing useful in explaining solenoid carriage and paper movement.

FIG. 1b shows an alternative arrangement for the carriage of FIG. 1.

FIG. 2 is a front elevational view showing the solenoid mounting assembly and its associated optical and electronic circuitry for controlling dot registration and identifying solenoid location.

FIG. 3 is a block diagram showing the electronics employed in the printer of FIGS. 1 and 2.

FIG. 4a is a block diagram of the electronics employed for character registration.

FIG. 4b is a block digram showing a portion of the electronics of FIG. 3 in greater detail.

FIG. 5 shows some of the characters generated by the printer of FIG. 1.

FIG. 6 is a block diagram showing an electronic apparatus which may be substituted for that shown in FIGS. 4a and 4b.

FIG. 6a is a plot showing the matrix pattern for a character which is useful in explaining the operation of the circuitry of FIG. 6.


The printer of the present invention is an impact printer utilizing a 5 × 7 dot matrix to produce each character when in the printing mode, or alternatively, utilizing any one of a plurality of the print wires when operating in the curve plotting mode. The unit, in one preferred embodiment, prints an array of 80 characters per second. The printer, in this embodiment, is capable of printing 80 characters per line with paper width varying from 8" to 9". The device utilizes an elongated paper document moved by a platen, and generates of the order of 6 lines of characters to the inch in the vertical direction, with 10 characters per inch horizontally. The printer requires no special paper and can produce an original plus seven copies, with the seventh copy being very readable.


The printing of characters is accomplished by moving the paper document at a substantially constant speed upon the platen by mechanical movement. The top row of dots of all characters are formed in the following manner:

The movable mounting assembly in one preferred embodiment has eight solenoids mounted at uniformly spaced intervals. In the case where each line comprises 80 characters, the solenoid print wires are spaced at 1 inch intervals. In the case of 10 characters to the inch, and five dot columns per character and a dot space between characters, the solenoids are stepped 59 times, or a total distance of approximately 1 inch in the "print" direction to complete each row of a line of characters. The mounting assembly is then returned to the start (i.e., lefthand-most) position in readiness to print the next dot row of a line of characters. Seven rows of dots are printed to form a line of (up to 80) characters, each lying within a 5 × 7 matrix pattern.

Each individual solenoid independently forms up to 10 characters in a fashion which is most analogous to the manner in which an electron beam scans the face of a cathode ray tube (i.e., in the line-by-line fashion employed in television receivers).

Accurate spacing of the dots in each row, and hence the time of printing is initiated by a strobe pulse derived from an optical pickup head which cooperates with a stationary slotted Mylar strip having a slot provided for each dot position along the horizontal row of dots. A spacing of one dot size between characters is provided.

The printing of the characters is accomplished by the print wires which are solenoid driven to move the print wires against the ribbon to produce dots on the original copy. The firing of the solenoids occurs only during the presence of the strobe pulse derived from the optical pickup head. This pulse is of a duration of 450 microseconds with a relax time of 550 microseconds. The characters are printed such that one "slice" (i.e., "dot" row) of each of the characters in a line (which may, for example, be 80 characters) is printed along each row of dots. Seven closely spaced rows of dots are printed, thereby forming a 5 × 7 dot matrix for each character printed within a line of characters. Spacing between horizontal rows of dots is of the order of 0.015", and between character lines is of the order of the spacing between five horizontal rows of dots.


The movement of the paper, in one preferred embodiment, is constant regardless of the fact that single line feeds or multiple line feeds are desired. A motor is used as a source for the power necessary to move the platen at a constant speed. The mounting assembly moves the solenoids at a slight angle to the horizontal direction to synchronize relative vertical movement of the solenoids with vertical movement of the paper to assure printing of a straight row of dots. During the return stroke, the relative downward movement of the solenoid mounting assembly cooperates with the continuous upward movement of the paper to provide accurate spacing between horizontal rows of dots.


Other than printing characters, there are six special functions that the machine provides. They are:

the carriage return,

form feed,

vertical tab,

line feed,

delete, and


A line may consist of any number of characters up to 80. After the desired number of characters have been entered into the memory register from an external source, a carriage return is then commanded and the printing of each of the 7 lines is initiated and completed. If the 80 characters are placed into the memory register, the machine will automatically print that line without the generation of a carriage return code. If a carriage return code is applied to the memory register as a single code, which would be the case if a carriage return were generated after an 80 character line, the electronics ignores that carriage return code and throws it out without printing a line. This allows an 80 character line to be created either with or without a carriage return code. After a line of print is finished, a line feed is automatically performed by the machine and, therefore, a line feed command is not necessary after completion of printing of a line of characters.

The delete function is used to prime the machine and will destroy all characters previously fed into the memory register of the electronics. Upon sending a delete code, a new line will then be started when new characters are entered. A delete command can only be given before a carriage return is commanded, and will have no effect if the carriage return code has already been given.

The bell command is employed to signal the operator with a 2-second audible tone from the speaker of the printer.

The overall block circuit diagram is shown in FIG. 3. The printer is controlled by the USASCII code. These codes enter the machine as eight parallel data inputs with the data strobe utilized to initiate each code or character to the machine. The data inputs are applied at input terminal 11 of the system electronics 10 for application into a serial to parallel converter 13. The eight-bit code is comprised of seven data bits utilized to control the machine and an eighth data bit which is normally a parity bit. In one preferred embodiment of the present invention, the parity bit is ignored. In the parallel mode of operation there is no parity check. When operating in the parallel mode, the bits of one character are applied in parallel fashion to input terminals 12 for transfer through the parallel buffer 13 into memory register 15. The data strobe generated locally by oscillator means 28 and input timing circuit 28a is used to sychronize the input data to the electronics 10 of the printer. A parallel input circuit then distributes the coded data either to the memory register 15 or the functional operational codes to the special functions or logical control circuitry 16 or 17 respectively. The codes enter the parallel input circuit as normally low signals with binary 0 being at or near ground potential, and binary 1 being at a positive potential. Once a serial or parallel character is loaded, data bits appear at the output of circuit 13 for application to any one or all of the circuits, 15, 16 and 17. A detailed description of a serial to parallel input data is described in the above-mentioned application Ser. No. 35,405 especially in connection with FIG. 6 thereof, and a detailed description will be omitted herein for purposes of simplicity.

Memory register 15 which is employed to store up to a full line of characters, in one preferred embodiment, consists of three dual 80 bit MOS chips. An 80 step counter is employed to identify the character position to provide the proper electronic control to the printer. The 80 step counter initiates a carriage return operation which is interpreted by the system electronics as indicative of the fact that the memory register is completely loaded and that the printing operation of a line may now commence.

Character registration control is provided by a character registration control circuit 18 (whose mechanical features will be more fully described hereinbelow) and which is adapted to generate an optical signal developed by the movement of an optical pickup head 30 and cooperating light source 32 across an intervening encoded Mylar strip 31 when the printer is printing a row of dots. The optical signal is converted into an electrical square pulse to initiate the timing for the printing of each line provided for by row position and line counters forming part of the matrix clock and decoder 34. A line of characters requires six strobe pulses per character, or a possible total of 60 strobe pulses per solenoid to complete one line of dots. The strobe pulses are then sent to a row position counter (to be described) with a basic count of 6 and are used to selectively print one or more of the five dots per character, plus a space between characters, for each character to be printed. A line counter receives a pulse from the registration control unit at the end of each row to keep a count of the rows which have been printed.

The character generator circuit 35 combines the data input, which is the output of the memory shift register 15, with the strobe pulses generated by the line counter of the character registration control circuitry 34 to produce output signals representing the row of the characters to be printed to thereby drive the solenoids that form the characters. Each character generator is preferably an MOS chip. The input data for each character generator comes from the output of the associated stage of the memory register. In one preferred embodiment, the USASCII code is a six-bit code enabling 64 different combinations of characters to be generated. Obviously, a greater or shorter code may be employed in cases where the greater or lesser number of characters are desired for the printer. The timing count pulses derived from the row position counter of character registration control unit are employed to control the firing of the eight solenoids associated with each character generator. The first dot of the first row of dots for the first, 11th, 21st . . . and 71st characters to be printed on that line are formed during row position timing unit No. 1, the second dot of the first row of dots for the aforesaid characters to be printed are formed during timing unit No. 2, and so forth, until the top row of dots of the aforesaid characters has been completed. Thereupon, the sixth timing unit is used to allow for a space, and thereafter the first dot of the first row of dots for the second, 11th, 21st . . . and 71st characters are printed. This operation continues until the top row of dots of the line of characters being printed is completed.

The last timing unit is employed to advance the line counter and return the solenoid carriage to the start position, which provides the proper dot spacing between the topmost row of dots and the next row of dots.

The line counter output, together with the output data from register 15, causes the character generators to develop signals representative of the next row of dots for the characters. The row position counter again controls the solenoids to print the first through the fifth dots on the second row of dots for the first, 11th, 21st . . . and 71st character, then a space, then the first through the fifth dots on the second row of dots for the second, 12th . . . and 72nd character, and so forth, until all dots of the second row of dots is completed. The third through the seventh row of dots are printed in a like fashion. It should be noted only eight character generators are provided, with each such character generator being sequentially controlled by one of a group of ten characters. For example, character positions 1-10 are assigned to character generator 19-1; character positions 11-20 to generator 19-2; and so forth. Sequential coupling is accomplished by shifting the encoded data in register 15 one position to the right upon the occurrence of every sixth time unit i.e., space condition) of the row position counter. The first encoded character shifted out of the right-hand end is then shifted into the left-hand end of the register through feed-back loop 15a. This continues until 10 coded characters have been shifted, at which time the end of line signal resets the solenoid carriage to the start position to begin a new row of dots. As the carriage is returning to the start position, the coded characters are rapidly shifted to the right (and inserted at the left end) by oscillator 19a which is controlled by the end of line signal until a special coded start character arrives in the right-hand-most (i.e., first position) of register 15 so that all coded characters are returned to their original positions within register 15, in readiness for printing the next row of dots.

FIG. 5 shows the dot patterns for some typical characters, with the dot spacing being exaggerated to simplify their understanding. The solid circles indicate dots to be printed. In each case, the order of printing is row 1, dot position 1, 2, 3, 4, 5 . . . until row 1 is complete; row 2, positions 1, 2, 3 . . . until row 2 is complete; and so forth, until seven rows are completed, thereby completing one line of characters.

The five output lines of each character generator are coupled to the inputs of associated solenoid driver circuits 33 shown in block diagram form where the signals are amplified by a gated amplifier to produce a current controlled pulse to the solenoids 33a, shown schematically to cause selective firing of the associated print wires.

The printing portion of the system consists of the solenoid and print wires which provide for the impact printing of the characters. The solenoids, when operated, drive the print wires against an inked ribbon to form dots on the paper document, which dots are arranged at selected positions along a horizontal line. The rearward ends of the print wires are coupled to the solenoid armature as is shown and described in detail in copending applications Ser. No. 37,815, filed May 15, 1970, and Ser. No. 152,598, filed June 14, 1971. The forwards ends of the print wires extending from each solenoid are positioned for reciprocal mounting within a jewel bearing provided with openings for each print wire, which openings are arranged along an imaginary horizontal line.

As was stated hereinbefore, the six special functions are inputted to the printer electronics 10 in binary coded form. The data bits of each code appear at the output 14 of circuit 13 whereby the special functions circuit 16 decodes each such code to determine the presence or absence of a special function code. Receipt of a line feed signal initiates the printing of a line. The delete code circuit will prime the electronics to an idle state and will remove any previous characters placed in the memory register without printing thereof. The bell code circuit causes an audible tone of about 2 seconds at the speaker 17 which, in one preferred embodiment is mounted at the rear of the unit.

Forward feed of carriage 40 is controlled by clutch 22 which, in the forward feed direction, couples motor 20 to closed loop tape 24 entrained about driving and driven rollers 21 and 23, respectively. Limit switches LS-1 and LS-2 respectively control reversal of clutch 22 as the carriage reaches the left-hand and right-hand most positions.

FIG. 1 is a perspective exploded view to facilitate an understanding of the invention and showing the solenoid and print wire carriage assembly 40, which is comprised of an elongated mounting bracket 41, having a plurality of tapped apertures 42 for threadedly engaging the forward threaded portions 53a of solenoids 53. The solenoids are described in detail in copending applications, Ser. No. 37,815, filed May 15, 1970 and Ser. No. 179,457 filed Sept. 10, 1971 which descriptions are incorporated herein by reference thereto. For purposes of the present invention, it is sufficient to understand that the solenoids 53 are each provided with solenoid coils for operating an armature to drive its associated print wire 53b in the impact direction (see arrow A) against the force of a biasing spring. Release of the electrical energy places the print wire under control of the biasing spring which causes the print wire to move in the direction of arrow B to return to the non-printing or standby position.

Each of the solenoids is provided with a pair of leads 53c for coupling to the system electronics, and more particularly, to the solenoid drivers (see circuit 20 of FIG. 4) for energization of the solenoid coils.

The forward or impact ends of the print wires 53b impact the inked ribbon and paper document to form dots whereby adjacent dots are spaced apart a distance of the order of one-sixtieth of an inch. A positioning plate 43, arranged in spaced substantially parallel fashion with bracket 41, is provided with jewel-bearing members 44 to retain the print wires in the desired horizontal alignment. Alternatively, the wires may be mounted within guide tubes, each provided with jewel bearings at their forward ends. The plates 41 and 43 are secured by any suitable fastening means. The spacing between plates 41 and 43 has been exaggerated to clarify the structure. The jewel members 44 each slidably receive the forward ends of their associated print wires 53b. The front face of each jewel 44 is positioned in close proximity to a ribbon 45, substantially aligned with the jewels and extending between feed and takeup reels 46 and 47 respectively. Rollers 48a -48d are spring loaded and act to maintain the ribbon extending between rollers 46 and 47 under tension. Operation of any of the solenoids 53 causes the associated print wire to be impacted against the inked ribbon 45, and thereby drives the ribbon against a paper document 50, positioned between inked ribbon 45 and a backing platen 51, to cause the dots to be formed. The total linear movement of the wires is approximately 0.015". Under normal operation, the end of each print wire is approximately 0.006" from the ribbon and paper. This spacing is due to the fact that a great deal of force is absorbed by the ribbon and the paper upon impact.

The carriage assembly 40 is further comprised of freewheeling rollers 52, pivotally mounted to the downward projections of carriage 54. Rollers 52 ride upon the inclined surfaces 55a of brackets 55 which are preferably secured to the frame of the printer (not shown for purposes of simplicity).

The carriage may be moved back and forth by any suitable mechanism such as a tape loop (see FIG. 3), worm gear, cam, or any other suitable mechanism driven by the same motor M used to drive the platen. The angle of inclination of surfaces 55a is chosen so as to exactly offset the movement of paper 50. For example, considering FIG. 1a, 60 represents a dot printed at time t0. Immediately thereafter, solenoid S (solid circle) moves to position S' to print dot 61. During this time, dot 60 has moved upward to location 60' (due to the fact that the paper moves continuously in the direction of arrow A). Thereafter, the solenoid moves from S' to S" to print dot 62. During this time, the paper moves upward (arrow A) moving the first dot from location 60' to 60" and moving the second dot from location 61 to 61'. By diagonal movement of solenoid S (through its carriage 40), all three dots lie along a straight line (dotted line 63). It should be noted that the spacing between the dots in FIG. 1a has been exaggerated to facilitate an understanding of the operation, typical spacing between dots being of the order of 0.018 inches.

The speed of movement of paper 50 (see FIG. 1) and carriage assembly 40 is further so chosen so that during the time it takes carriage 40 to move to its right-hand-most position and then return to its left-hand-most position (which limiting positions may be controlled by stops 55b--55b and 55c--55c respectively), the paper 50 will have moved a distance equal to the spacing between adjacent rows of dots forming a character. This is aided by the fact that whereas carriage 40 moves upward and to the right during printing, it moves downward and to the left during carriage return. In one embodiment, the paper moves a distance of the radius of a dot during printing, so that during a carriage return the movement of both the paper and the carriage through one radius amounts to combined movement of one diameter of a dot.

FIG. 1b shows an alternative arrangement for moving the solenoids along a slightly inclined path. A pair of rails 90 and 91 are arranged in spaced parallel fashion, and are inclined at the desired angle relative to the longitudinal axis of platen 51 (FIG. 1). A movable platform 92 rides between rails 90 and 91. Cylindrical bearings 93 are provided between the grooves 90a and 91a in rails 90 and 91 and grooves 92a and 92b in platform 92. The head 94, upon which the solenoids S are mounted, is tilted at its left-hand end relative to platform 92 so as to make head 94 horizontal. A shaft 95, secured to platform 92 extends downwardly and has a free-wheeling cam follower 96 at its lower end. The cam follower sits in a groove 97a, provided in a cam 97, rotated by motor M (FIG. 1) through shaft 98. One full revolution of cam 97 moves cam follower, and hence platform 92, toward the right from the start (left-hand-most) position to the right-hand-most position and returns the platform to its start position (moving right to left).

Although an intermittent type paper feed mechanism becomes more complicated due to its need to advance the paper accurately through such a small distance, the paper may nevertheless be advanced in a row at a time fashion and be held motionless during the printing of each row of dots. This arrangement avoids the need for the inclined surfaces 55a of brackets 55 (or the inclination of the rails 90 and 91). Operation in all other respects remains substantially the same as described above.

Considering the system eletronics in greater detail, FIG. 2 shows carriage plate 41 having solenoids 53 mounted thereto. A strip 31 (see also FIG. 3) having transparent slits 31a is secured to the machine frame (not shown). A pair of arms 41a and 41b extend downwardly from plate 41 (see FIG. 4a) and respectively carry light source 32 and photocell 30 positioned upon opposite sides of strip 31. It should be noted that strip 31 need only be equal in length to the distance which carriage 40 moves (in the preferred embodiment, approximately one inch).

As the carriage 40 is advanced in the printing direction (arrow A -- FIG. 2) the light passing through the slits 31a advances row position counter 34a which sequentially develops signals at the outputs of code converter 34b. The five outputs are used to sequentially enable each of the five outputs of the 5 × 7 matrix character generators 35-1 to 35-8, by sequentially enabling AND gates 37-1 to 37-5. The outputs of the AND gates are ORed at 38, which then drives the left-hand-most solenoid S1 (through driver circuits). Each of the remaining 5 × 7 matrix code converters 35-2 through 35-8 is coupled to its associated solenoid S2 through S8 by a similar circuit 39-2 through 39-8, which have been shown in block form for purposes of simplicity. If desired, the photocell 30 and light source 32 may be mounted securely to the machine frame and the strip 31 may be secured to the solenoid carriage so as to move with the carriage.

The completion of a row of dots may be sensed by limit switch LS-2 to advance line counter 34c which simultaneously couples the binary count to the inputs of all character generators 35. 34c is a count of eight for counting each of the rows of dots plus a space between lines of characters. These binary signals cause each row of dot signals of the seven rows in the 5 × 7 matrix to be altered depending upon the row of dots to be printed. The last signal may be used to advance the paper a distance sufficient to provide adequate line spacing between lines of characters, to clear register 15 and to cause loading of the next line of characters into the register 15.

After a row of dots (five) of each character is printed, the register is advanced by the sixth or shift output of converter 34b. This shift signal is applied to the shift input 15a to shift each coded character one position to the right. This operation is repeated until each solenoid prints the dots on each row for ten characters. The coded characters shifted out of the right-hand end of register 15 are fed through feedback loop 15b to the input. At the end of the row, LS-2 enables flip-flop FF to generate an output signal which is applied to AND gate G1 together with the outputs of oscillator 28 and the inverted output of dummy character detector gate G2. The coded characters are shifted at high speed until the starting character returns to the right-hand end of register 15. At this time, gate G2 generates an output which is inverted by inverter 1 to disable gate G1. The output of FF2 also enables gate G3 of the feed back loop to permit re-entry of characters.

FF1 is set to enable gate G1 when LS-2 is activated and FF1 is reset to disable G1 when LS-1 is activated. G3 is enabled by row counter until the last (seventh) row of dots is printed, at which time LS-2 and 34c activate gate G4 to clear register 15 and permit loading of the next line of characters.

If desired, registration in the vertical direction may be controlled by a registration device similar to the device 1B described in connection with FIG. 3, and may take the form of a slotted code wheel 70 rotatable with platen 51 as pass-between a light source 71 and photocell 72 to trigger the initiation of the first dot of the new row upon the alignment of a slit with light source 71 and photocell 72.

For operation as a curve plotter, register 15 may be operated as a multiline register with each stage representing a dot position. A core matrix of m rows and n columns covering the total area of the curve to be plotted, may be employed to store the dots to be printed to represent the curve. Each row may be loaded into the register in serial fashion, one row at a time. The outputs of each stage may be coupled to the gates 39-1 through 39-8 in a manner similar to that previously described. The shifting of the register may be controlled by maintaining a count of the row dot positions. Obviously, any other suitable circuitry may be employed for controlling the printer to operate as a curve plotter.

FIG. 6 shows a block diagram of another preferred electronic scheme 100 for operating the printer of either FIG. 1 or 1b. The apparatus 100 of FIG. 6 is comprised of data entry means 101 which, for example, may be an external source such as a computer adapted to provide the data in the form of input information for operating the printer. The output lines of the data entry block 101 are shown as being coupled into the input of a two phase clock 104 and a divide by 10 counter 105, and to the input of register 15.

The zero backfill circuit 102 provides a capability of "backfilling" a register with "blank" characters in the case where the line of print in issue contains less than 80 printed characters.

The print cycle circuit 103 comprises a settable and resettable flip-flop, for example, to indicate the initiation of a print cycle and thereby indicate that a search for the next group of dots to be printed should be performed during such a print cycle. The solenoids such as, for example, the solenoids S of FIG. 1b, are operated by a pulse having a time duration of the order of 450 microseconds. The relax time between adjacent solenoid drive pulses is of the order of 550 microseconds and it is during this time interval in which the search for the next group of dots is performed in readiness for the next dot printing operation, as will become obvious upon a description of the circuitry of FIG. 6.

Clock pulse source 104 which has its input connected to the outputs of each of the electronic circuits identified by block 101-103 is a clock pulse source which has a capability of generating two lagging clock pulses so as to operate the data register 15. One such suitable two phase clock source may, for example, be a clock pulse source and a one-shot multivibrator triggered by the clock pulse source for developing a first output from the clock pulse source and a second output (lagging the first output) from the one-shot multivibrator. However, any other type of clock pulse source and register may be used, if desired.

The outputs of each of the circuits 101, 102 and 103 are simultaneously coupled to the input of a divide by 10 counter which develops a pulse at its output 105b for each 10 pulses applied to its input 105a. The output of counter 105 is simultaneously applied to the input of a divide by 8 counter 106 and a timing pulse decoder 107. Divide by 8 counter 106 develops a pulse at its output 106b for each group of eight pulses applied to its input 106a. The outputs of all stages of the divide by 8 counter 106 are also simultaneously applied to one input of timing pulse decoder circuit 107. Timing pulse decoder 107 is comprised of a counter plus logical decoding circuitry for developing an output signal at only one of its eight outputs at any given instant. Each of its output lines are coupled to associated input lines of an eight bit buffer register 113 which operates in a manner to be more fully described.

Divide by 10 counter 105 and divide by 8 counter 106 collectively form a counter capable of developing a count of 80, i.e. of generating an output pulse at 106b for every 80 pulses applied at input 105a. The function of this counting operation will be described in detail hereinbelow.

Output line 106b of divide by 8 counter 106 is coupled to the input line 108a of a divide by 6 counter 108. Output 108b of counter 108 is coupled to the input 110a of a divide by 10 counter 110 whose output 110b is coupled to the input 111a of a second divide by 10 counter 111 whose output 111b is coupled to the input 112a of multiplexer 112.

Divide by 6 counter 108 is further provided with a plurality of outputs 108c from each of its stages, each of which are coupled to associated inputs of a column decoder 109 having five output lines 109a which are coupled to associated input lines of character generator 35 which has been described hereinabove.

Data register 15 is substantially the same as that described hereinabove and has a capability of storing 80 characters, each character being comprised of 6 data bits. The output of data register 15 (six bits) are coupled to 6 associated inputs 35a of character generator 35 and are simultaneously coupled through feedback loop 15b back to associated input lines 15c of data register 15. The shift pulse input 15d of data register 15 is coupled to the output 104b of clock 104 while the data input lines 15a are coupled to the data entry device 101 or any other suitable external source which provides the input data for the printing operation. In the system block diagram of FIG. 3, the input lines 15a may be first coupled to a serial-to-parallel converter such as the converter 13 shown in FIG. 3 which, in turn, has its input coupled to a computer source or any other facility which provides the data which is to be printed.

The operation of the electronic circuitry 100 of FIG. 6 is as follows:

Let it first be assumed that data register 15 has been filled with 80 characters, i.e. that each character position in a line of characters is to receive a character or other symbol. Once this has occurred, the first character (of six data bits) loaded into register 15 will have been shifted 80 positions until it reaches the right-hand most stage of register 15. Thereupon, data entry device 101 will provide a shift pulse which is applied to the input of divide by 10 counter 105 and to clock source 104. The output of counters 105, 106, 108, 110 and 111 will all be binary zero at this time. The 6 data bits in the right-hand most stage of register 15 will be simultaneously applied to the input of character generator 35. At this time, column decoder 109 will provide an output pulse at the left-hand most output line causing the character generator to provide a seven bit output which represents the seven dot positions in the first column of the first character to be printed in the line of characters (see FIG. 6a). These seven bits are simultaneously applied to associated inputs 112b of multiplexer 112. Row counter 111 is provided with four output lines 11b which are coupled to associated input lines 112a of multiplexer 112 with the binary code of these lines representing the particular row being printed at any given time. As is noted in FIG. 6a, the printing of seven rows constitutes the printing of one line of characters or other symbols. Initially, the row counter 111 is set at zero which is interpreted by multiplexer 112 as an indication that the dot in row one for the first character should be selected. Multiplexer 112 operates as a decoder in which only one of the 7 input lines 112b is coupled to its output line 112c at any given instant. The condition or state of the bit in column 1, row 1 of the first character is coupled to the input of eight bit buffer register 113 which is comprised of eight bistable flip-flops, each of which is capable of storing one binary bit regardless of its binary state. The correlation can be seen between the eight storage flip-flops and the eight solenoids provided in the printer. The output of timing pulse decoder 107 is comprised of eight output lines only one of which is enabled at any given time. The operation is such that the first or left-hand most output line is enabled during startup of the printer to indicate that a dot position (i.e. row and column) of the first character will be stored in the bistable flip-flop associated with this position.

Pulses continue to be applied to input 15d of data register 15 until a count of ten is reached, at which time count-by-ten counter 105 provides an output to divide by eight counter 106 and timing pulse decoder 107. This indicates that the 11th character of a line of 80 characters is now in the right-hand stage of register 15. The first through tenth characters which have been shifted out of the right-hand most stage of register 15 are recirculated through feedback line 15b to be reinserted into register 15.

The 11th character comprised of a six-bit code is applied to associated inputs 35a of character generator 35. Simultaneously therewith, column decoder 109 remains at zero since data for the first column of dots of the first, 11th, 21st, 31st, 41st, 51st, 61st and 71st characters has yet to be loaded into register 113 and subsequently printed. The output code generated by column decoder 109 therefore represents the fact that the first column (i.e. column 1-- see FIG. 6a) of the 11th character is to appear at the output leads 35c of character generator 35. These seven outputs which represent the state of the bits in column 1 of the 11th character are simultaneously applied to the inputs 112b of multiplexer 112. Row counter 111 at this time remains at a zero count indicating that the dot in row 1, column 1, is to be selected. Since timing pulse decoder 107 has received one output pulse from divide by ten counter 105, the output signals of decoder 107 appearing at 107a enable only the second flip-flop register to receive one bit which represents the column 1, row 1, dot condition of the 11th character.

This operation is continued until the dot condition of row 1, column 1, of the first, 11th, 21st, 31st, 41, 51st, 61st and 71st characters are loaded into register 113. The outputs of each of the eight flip-flop stages are coupled to solenoid drive circuits which, in turn, are coupled to associated outputs of the solenoids (for example, the solenoids S of FIG. 1b). The print carriage is moving at this time and moves into the first position in which the photocell and light source is in registration with the first slit or transparent opening provided in the registration strip 31. At this time the optical pickup assembly 28 develops a pulse due to this registration condition to activate a strobe circuit 114 which develops a sharp output pulse sufficient to enable the outputs of buffer register 113 to energize the solenoid drivers. It should be noted that the 8 dot position conditions of the aforementioned characters (11-71st) are all loaded within less than 500 microseconds. Since the carriage requires of the order of 550 microseconds to move the print wires from one registration position to the next, it can be seen that the operation of loading the eight bits occurs well before the time in which these eight bits exert control over the solenoid drivers.

After having shifted all 80 characters out of register 15, the characters are now back in their original position with the first character being in the right-hand most stage and the last character to be loaded in the register being in the left-hand most stage. At this time the operation recycles itself except that column decoder 109 has now received an output signal from divide by 6 counter 108 due to the fact that divide by 8 counter 106 has developed a pulse at its output 106b to indicate that 80 shift operations have occurred. At this time, column decoder 109 accepts the pulse to cause its next line to be activated, thereby causing character generator 35 to provide a seven-bit output representative of the dot conditions of the second column of the first character. Counters 110 and 111 have yet to be triggered, causing the output of row counter 111 to continue to condition multiplexer 112 so as to accept the binary state representing the dot condition in row 1, column 2, (see FIG. 6a) of the first character. This binary bit is singled out to appear at output 112c. Timing pulse decoder 107 develops an output indicating that its left-hand most line only is active to load the bit appearing at the output of multiplexer 112 in the left-hand most stage of buffer register 113. This operation continues until the binary bits representing the dot condition of the row 1, column 2 dot position of the first, 11th, 21st, 31st, 41st, 51st . . . 71st characters are now loaded into register 113. Again it should be noted that this operation occurs in less than 500 microseconds so that these bits are in actuality "waiting" for the carriage assembly to move to the next registration position.

The above operation continues until all dots in row 1 for the first, 21st . . . 71st characters have been printed. It should be noted that the print cycle pulse for shift operation is developed by the print cycle circuit 103 when a print operation is occurring to indicate that the register should be examined. This occurs after the completion of the printing of the dots of the first row of each of the first, 11th . . . 71st characters has been completed. This shift causes the first character (i.e. the character in the right-hand most stage of register 15) to be shifted out of the right-hand end of the register and into the left-hand end thereby placing the second character in the right-hand most stage of register 15. At this time, the operation set forth hereinabove is repeated until the first row of dots of the second, 12th, 22nd . . . 72nd characters is printed.

Divide by 6 counter 108 counts the number of columns which have been printed. The capability of counting six columns is provided in order to provide space between the end of a character and the beginning of the next character.

Since each solenoid in the preferred embodiment of the present invention has been designed to print 10 characters (there being a capability of 80 characters per line with eight solenoids) divide by 10 counter 110 provides an indication that all row 1 positions for all 80 characters have now been printed. At this time, an output pulse is developed to advance row counter 111 so that it may condition multiplexer 112 to select the data bit representing the dot position in row 2 of the 80 characters of the first line. Since divide by 6 counter 108 will have been reset after the entire first row of the line of 80 characters has been printed, column decoder 109 again causes character generator 35 to be conditioned to provide output information at its output lines 35c which represent the dots to be printed in the first column of any character which is presented at its input lines 35a.

The cycle is then repeated for the second through seventh rows of the first line of characters, at which time an output from row counter 111 may be employed to indicate that the line of characters is completed after the seventh row has been printed and the sixth column of the 10th, 20th, 30th . . . 80th characters has been reached (which output may be taken from divide by 6 counter 108 to perform a stepping operation to provide adequate spacing between the line of characters just printed and the next line of characters about to be printed. It can be seen that the above arrangement provides the capability of electronically controlling the solenoids through the provision of only a single character generator.

It can be seen from the foregoing description that the present invention provides a printer capable of character printing or curve plotting wherein a long row of dots are printed while the movement of print wire carriage is reduced to an amount of the order of 1/Nth the total length of the line of print where N represents the number of print wires provided for each row of dots.

Although there has been described a preferred embodiment of this novel invention, many variations and modifications will now be apparent to those skilled in the art. Therefore, this invention is to be limited, not by the specific disclosure herein, but only by the appended claims.