|
|
|
| United States Patent | 4203678 |
| Link to this page | http://www.wikipatents.com/4203678.html |
| Inventor(s) | Nordstrom; Larry A. (Oviedo, FL);
Szechy; Daniel J. (Sanford, FL) |
| Abstract | An electronic control circuit is designed for use with a high speed printer
having a character generator which is coupled to a print head. The print
head is laterally displaced along a print line by a stepper motor and
forms characters from a plurality of columns of dots as the print head
moves. The electronic control circuit includes an encoder which is coupled
to the shaft of the stepper motor to generate count up pulses when the
stepper motor displaces the print head in a first direction and count down
pulses when the stepper motor displaces the print head in a second
direction. The count up and count down pulses permit the control circuit
to continuously define the present print head position. A random access
memory receives printable characters during a load cycle and reads out
printable characters to the character generator during a print cycle. A
data formatting control is provided to format input data, to load the
memory with the formatted data, to compute a desired print head position
during each load cycle and to initiate the print mode at the end of each
load mode. An up/down counter receives the count up and count down pulses
and converts them into digital address signals for the memory and for the
character generator to cause the print head to print selected characters
at selected positions along the print line in response to displacements of
the stepper motor. A motor control is provided to controllably accelerate
and decelerate the print head during each print cycle. |
|
|
|
Title Information  |
|
|
|
|
|
Drawing from US Patent 4203678 |
|
|
Electronic control circuit for a high speed bidirectional printer |
|
|
|
|
|
| Publication Date |
May 20, 1980 |
|
|
|
|
|
| Filing Date |
August 17, 1978 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Title Information  |
|
|
References  |
|
|
| *references marked with an asterisk below are user-added references |
|
U.S. References |
|
|
| Add a new US reference: |
| | Reference | Relevancy | Comments | Reference | Relevancy | Comments | 4158800 Jahelka 318/685 Jun,1979 |      Your vote accepted [0 after 0 votes] | | 4152083 Kostoff, II 400/342 May,1979 |      Your vote accepted [0 after 0 votes] | | 4125336 Chu 400/124.17 Nov,1978 |      Your vote accepted [0 after 0 votes] | | 4118129 Grundherr 400/144.2 Oct,1978 |      Your vote accepted [0 after 0 votes] | | 4114750 Baeck 400/279 Sep,1978 |      Your vote accepted [0 after 0 votes] | | 4074067 Speckhard 178/23R Feb,1978 |      Your vote accepted [0 after 0 votes] | | 4072888 Bechtle 318/685 Feb,1978 |      Your vote accepted [0 after 0 votes] | | 4058195 Fravel 400/62 Nov,1977 |      Your vote accepted [0 after 0 votes] | | 4037705 Martin 400/124.04 Jul,1977 |      Your vote accepted [0 after 0 votes] | | 4025837 Meier 318/561 May,1977 |      Your vote accepted [0 after 0 votes] | | 4024447 Epstein 318/696 May,1977 |      Your vote accepted [0 after 0 votes] | | 3983468 Maitrias 318/685 Sep,1976 |      Your vote accepted [0 after 0 votes] | | 3973662 Fulton 358/1.5 Aug,1976 |      Your vote accepted [0 after 0 votes] | | 3970183 Robinson 400/323 Jul,1976 |      Your vote accepted [0 after 0 votes] | | 3967271 Day 341/6 Jun,1976 |      Your vote accepted [0 after 0 votes] | | 3950685 Kramer 318/561 Apr,1976 |      Your vote accepted [0 after 0 votes] | | 3942619 Nordstrom 400/322 Mar,1976 |      Your vote accepted [0 after 0 votes] | | 3941051 Barrus 101/93.04 Mar,1976 |      Your vote accepted [0 after 0 votes] | | 3891077 Sauerbrunn 400/124.04 Jun,1975 |      Your vote accepted [0 after 0 votes] | | 3789971 Deyesso 400/154.3 Feb,1974 |      Your vote accepted [0 after 0 votes] | | 3764994 Brooks 358/1.5 Oct,1973 |      Your vote accepted [0 after 0 votes] | | | | | |
|
|
|
|
U.S. References |
|
|
Foreign References |
|
|
|
|
|
|
Foreign References |
|
|
Other References |
|
|
|
|
|
|
Other References |
|
|
|
|
|
References  |
|
|
|
|
|
| Market Size |
|
Estimate the gross annual revenues of the relevant market
sector:
|
| | |
| |
|
|
| Market Share |
|
Estimate the percentage of the relevant market sector this invention will capture:
|
| | |
| |
|
|
| Reasonable Royalty |
|
What percentage of gross sales should the inventor or assignee be paid?
|
| | |
| |
|
|
|
Public's "Guesstimation" of Royalty Value
|
| Market Size | N/A | [No votes] | | x | Market Share | N/A | [No votes] | | x | Reasonable Royalty | N/A | [No votes] |
| | N/A | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
Market Review  |
|
|
Technical Review  |
|
|
Claims  |
|
|
We claim:
1. An electronic control circuit for a high speed printer having a
character generator coupled to a print head which forms characters as the
print head is laterally displaced along a print line by a stepper motor,
said control circuit comprising:
a. encoder means coupled to said stepper motor for generating count up
pulses when said stepper motor displaces the print head in a first
direction and count down pulses when said stepper motor displaces the
print head in a second direction, the count up and count down pulses
continuously defining the present print head position;
b. memory means for receiving electronic signals representative of
printable characters during a load cycle and for reading out printable
characters to the character generator during a print cycle;
c. means coupled to said memory means for formatting input data to be
printed, loading said memory means with the formatted data, computing a
desired print head position during each load cycle and initiating the
print cycle at the end of each load cycle;
d. up/down counter means coupled to said encoder means, said memory means
and said character generator for converting the count up and count down
pulses into digital address signals for said memory means and said
character generator to cause the print head to print selected characters
at selected positions along the print line in response to displacements of
the print head by said stepper motor; and
e. motor control means coupled to said data formatting means and to said
stepper motor for controllably accelerating the print head during each
print cycle as a function of the difference between the desired print head
position and the present print head position.
2. The control circuit of claim 1 wherein said up/down counter means
includes a character column counter coupled to the character generator for
generating a character column address signal.
3. The control circuit of claim 2 wherein said up/down counter means
includes a character position counter coupled to said character column
counter and to said memory means for generating a character position
address signal corresponding to the present position of the print head
along the print line.
4. The control circuit of claim 3 wherein said up/down counter means
includes a brake trigger circuit coupled to said character column counter
and to said motor control means for generating a brake trigger pulse at a
selected point during the printing of each character.
5. The control circuit of claim 2 wherein the character position address
signal causes said memory means to read out to the character generator the
character desired to be printed at the present print head position.
6. The control circuit of claim 5 wherein said character column address
signal designates to the character generator the position of the print
head which corresponds to the column of the character being read out by
said memory means to the character generator.
7. The control circuit of claim 1 wherein said encoder means includes an
optical encoder coupled to the shaft of said stepper motor for generating
output pulses representative of the magnitude and direction of movement of
said shaft.
8. The control circuit of claim 7 wherein said optical encoder includes a
dual channel encoder for generating lead and lag output signals.
9. The control circuit of claim 8 wherein said encoder means further
includes encoder logic for receiving the lead and lag output signals from
said dual channel encoder and for generating count up pulses when the
shaft of said stepper motor rotates in a first direction and count down
pulses when the shaft of said stepper motor rotates in a second direction.
10. The control circuit of claim 1 wherein said motor control means further
includes means for continuously determining the present print head
position.
11. The control circuit of claim 10 wherein said data formatting means
transmits a desired print head position signal to said motor control means
during each load cycle.
12. The control circuit of claim 11 wherein said motor control means
includes a motor control logic unit for computing the magnitude and
direction of print head displacement between the present print head
position and the desired print head position designated by said data
formatting means.
13. The control circuit of claim 12 wherein said motor control logic unit
includes a memory for storing a plurality of digital ramp up and ramp down
functions and wherein said motor control logic unit selects a
predetermined ramp up or ramp down function in accordance with the
magnitude and direction of the computed print head displacement during
each print cycle.
14. The control circuit of claim 13 wherein said motor control means
includes brake pulse width control means coupled to said motor control
logic unit and to a brake trigger circuit for varying the pulse width of a
braking pulse applied to said stepping motor in accordance with the ramp
up/ramp down function designated by said motor control logic unit.
15. The control circuit of claim 13 wherein said motor control means
includes motor boost control means coupled to said motor control logic
unit for applying a high voltage boost pulse for a predetermined fixed
time to a selected winding of said stepper motor to increase the rate of
displacement of the shaft of said stepper motor.
16. The control circuit of claim 5 wherein said data formatting means
generates a data load address signal representative of the desired address
of data being loaded into said memory means.
17. The control circuit of claim 16 wherein said memory means includes:
a. a print RAM for storing data from said data formatting means; and
b. a multiplexer for selectively routing the data load address signal to
said print RAM during the load cycle and the character position address
signal to said print RAM during the print cycle.
18. The control circuit of claim 17 wherein said data formatting means
further includes a load/print switch coupled to said multiplexer for
coupling the input of said multiplexer to said data formatting means
during the load cycle and for coupling the input of said multiplexer to
said character position counter during the print cycle.
19. The control circuit of claim 13 wherein said motor control means
includes pulse steering circuit coupled to said motor control logic unit
and to said brake pulse width control means for transmitting a braking
pulse to a selected winding of said stepper motor.
20. An electronic control circuit for a high speed printer having a
character generator coupled to a print head which forms characters as the
print head is laterally displaced along a print line by a stepper motor,
said control circuit comprising:
a. an optical encoder coupled to the shaft of said stepper motor for
generating output pulses indicative of the magnitude and direction of
movement of said shaft;
b. encoder logic coupled to the output of said optical encoder for
generating count up pulses when the shaft of said stepper motor rotates in
a first direction and count down pulses when the shaft of said stepper
motor rotates in a second direction, the count up and count down pulse
continuously defining the present print head position;
c. memory means for receiving electronic signals representative of
printable characters during a load mode and for reading out printable
characters to the character generator during the print cycle;
d. means coupled to said memory means for formatting input data to be
printed, loading said memory means with the formated data, computing a
desired print head positioned during each load cycle and initiating the
print cycle at the end of each load cycle;
e. a character column counter coupled to said encoder logic and to said
character generator for receiving said count up and count down pulses and
for generating a character column address signal;
f. a character position counter coupled to said character column counter
and memory means for generating a character position address signal
corresponding to the present position of the print head along the print
line; and
g. motor control means coupled to said data formatting means and to said
stepper motor for controllably accelerating the print head during the
print cycle as the function of the difference between the desired print
head position and the present print head position.
21. The control circuit of claim 20 further including a trigger circuit
coupled to said character column counter and to said motor control means
for generating a brake trigger pulse at a selected point during the
printing of each character.
22. The control circuit of claim 21 wherein said motor control means
includes a motor control logic unit for computing the magnitude and
direction of print head displacement between the present print head
position and the desired print head position designated by the data
formatting means.
23. The control circuit of claim 22 wherein said motor control means
includes brake pulse width control means coupled to said motor control
logic unit and to said brake trigger circuit for varying the pulse width
of a braking pulse applied to said stepping motor.
24. The control circuit of claim 23 wherein said motor control means
further includes means for continuously determining the present print head
position.
25. The control circuit of claim 22 wherein said data formatting means
transmits a desired print head position signal to said motor control means
during each load cycle.
26. The control circuit of claim 11 wherein said motor control means
further includes a motor control logic unit for computing the magnitude
and direction of print head displacement between the present print head
position and the desired print head position designated by said data
formatting means.
27. The control circuit of claim 24 wherein said motor control logic unit
includes a memory for storing a plurality of digital ramp up and ramp down
functions and wherein said motor control logic unit selects a
predetermined ramp up or ramp down function in accordance with the
magnitude and direction of the computed print head displacement during
each print cycle.
28. The control circuit of claim 25 wherein said motor control means
includes brake pulse width control means coupled to said motor control
logic and to said brake trigger circuit for varying the pulse width of a
braking pulse applied to said stepping motor in accordance with the ramp
up/ramp down function designated by said motor control logic.
29. The control circuit according to claim 26 wherein said motor control
means includes motor boost control means coupled to said motor control
logic unit for applying a high voltage boost pulse for a predetermined
fixed time to a selected winding of said stepper motor to increase the
rate of displacement of the shaft of said stepper motor. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to high speed printers which sequentially print
characters in either a first or a second direction along a selected print
line.
2. Description of the Prior Art
In order to print characters by means of a print head which is driven at
high speeds laterally along a print line by a stepper motor, it is
necessary to closely coordinate the generation of characters by the print
head with the actual position of the print head along a selected print
line. U.S. Pat. No. 3,942,619 to Nordstrom and Szechy, which is hereby
incorporated by reference, discloses a high speed, single direction
printer. This printer utilizes a voltage controlled oscillator to ramp up
the stepper motor to maximum velocity in a minimum amount of time. The
same voltage controlled oscillator is also used to indicate to the
character generating circuitry the approximate print head position. A
single electronic signal is thus used to energize the stepper motor and to
simultaneously trigger the character generating circuitry.
U.S. Pat. No. 3,970,183 to Robinson discloses a random access line printer
which includes an optically read registration strip in combination with
count up and count down counters.
Other related disclosure is contained in the following United States
Patents. U.S. Pat. Nos. 3,891,077 (Sauerbrunn); 3,824,587 (Fowler);
3,525,094, (Leonard); 3,432,847 (Eccles, et al); 3,408,484 (Stutz);
4,037,705 (Martin, et al.); 3,967,271 (Day); 3,973,662 (Fulton).
SUMMARY OF THE INVENTION
The present invention contemplates an electronic control circuit for a high
speed printer having a character generator coupled to a print head which
forms characters from a plurality of columns of dots as the print head is
laterally displaced along a print line by a stepper motor. The control
circuit comprises encoder means which is coupled to the stepper motor for
generating count up pulses when the stepper motor displaces the print head
in a first direction and count down pulses when the stepper motor
displaces the print head in a second direction. The count up and count
down pulses are used to continuously define the present print head
position. Memory means is provided to receive printable characters during
a load cycle and to read out printable characters to the character
generator during a print cycle. Means is coupled to the memory means for
formatting input data, computing a desired print head position during each
load cycle and initiating the print mode at the end of each load cycle.
Up/down counter means is coupled to the encoder means, to the memory means
and to the character generator for converting the count up and count down
pulses into digital address signals for the memory means and the character
generator to cause the print head to print selected characters at selected
positions along the print line. The characters to be printed are
designated by the data formatting means in response to displacements of
the print head by the stepper motor during each print cycle. Motor control
means is coupled to the data formatting means and to the stepper motor to
controllably accelerate the print head during each print cycle as a
function of the difference between a desired print head position and the
present print head position.
DESCRIPTION OF THE DRAWING
The invention is pointed out with particularity in the appended claims,
however, other objects and advantages together with the operation of the
invention may be better understood by reference to the following detailed
description taken in connection with the following illustrations wherein:
FIG. 1 is a generalized block diagram of the electronic control circuit of
the present invention.
FIGS. 2, 3 and 4 taken together represent a more detailed block diagram of
the various elements of the present invention.
FIG. 5 illustrates timing diagrams of specific elements of the present
invention.
FIG. 6 is a graphical representation of the output pulses from the dual
channel encoder of the present invention.
FIG. 7 discloses numerous timing diagrams which are combined to generate
the count up and count down pulses produced by the encoder logic of the
present invention.
DESCRIPTION OF THE PREFERRED EMBODIMENT
In order to better illustrate the advantages of the invention and its
contribution to the art, a preferred hardware embodiment of the invention
will now be described in some detail.
Referring now to FIG. 1, data formatting means 10 receives input data from
an external source and arranges this data in a line by line format
compatible with a printer which has an 80 character per line printing
capacity. The electronic control circuit of the preferred embodiment
incorporates two separate operating cycles. During the load cycle, data
formatting means 10 loads memory means 12 with specially formatted data
which corresponds to the characters which will be printed on a single line
during a print cycle which occurs immediately subsequent to each load
cycle.
Before commencing operation of the high speed printer which is controlled
by the electronic control circuit of the present invention, the entire
control circuit is initialized and the print head is positioned in a
predetermined position such as the far left hand side of a print line.
After data formatting means 10 receives and formats a single line of
printable characters, it determines the desired print head position. Data
formatting means 10 ascertains the initial print head position during the
initialization step and from that point forward keeps a running
measurement of the present print head position. A digital signal
corresponding to the desired print head position is transmitted to motor
control means 14. Memory means 12 is loaded with all data desired to be
printed during a single translation of the print head from its present
position to the desired position.
At the end of each load cycle, data formatting means 10 transmits a start
print command to motor control means 14. The start print command commences
operation of stepper motor 16 which mechanically translates a print head
18 back and forth across the page on which characters are to be printed.
Encoder means 20 is mechanically coupled to the shaft of stepper motor 16
and generates count up pulses when the shaft of stepper motor 16 is
rotated to displace the print head to the right and count down pulses when
the shaft of stepper motor 16 is rotated to displace the print head to the
left. The count up and count down pulses generated by encoder means 20
continuously define the present print head position. Up/down counter means
22 converts the count up and count down pulses into digital address
signals for memory means 12 and character generator 24 which further
causes the electrical section of print head 26 to print selected
characters at selected positions along the print line in accordance with
the data format designated by data formatting means 10. As a result of the
feedback path provided from the shaft of stepper motor 16 to encoder means
20 and up/down counter means 22, the printed characters generated by print
head 26 are effectively directly coupled and synchronized with the
position of the shaft of stepper motor 16 and hence with the physical
position of the print head assembly 18.
Motor control means 14 controllably accelerates and decelerates the
mechanical print head assembly 18 during each print cycle as a function of
the difference between the desired print head position and the present
print head position. Stepper motor 16 as a result of the control signals
generated by motor control means 14 is electronically ramped up to maximum
operating velocity in the shortest possible time while maintaining
absolute control over the stepper motor itself.
Referring now to FIGS. 2 and 3, a more detailed discussion of the structure
and operation of the electronic control circuit will be discussed. Data
storage and formatting means 28 as well as other circuitry of the present
invention is initialized before the entire control circuit commences
operation. This initialization step defines the present position of the
print head and permits data storage and formatting means 28 to ascertain
the present print head position at all times thereafter. Since the
electronic control circuitry of the present invention is able to print 80
characters per line in either a forward or reverse direction, data storage
and formatting means 28 receives external data on its data input line and
reformats that data in terms of 80 character lines and in terms of a
particular print head displacement direction for each line. During each
load cycle, a maximum of 80 characters is accepted and stored and the
desired print head position is computed as a function of the present print
head position and the number of characters to be printed on a selected
line. A desired print head position signal is transmitted to motor control
logic unit 30 before the next subsequent print cycle is commenced.
During each load cycle and upon completion of the data formatting step,
print RAM 29 is loaded with this reformatted data while a data load
address signal is simultaneously coupled from data storage and formatting
means 28 through multiplexer 32 to print RAM 29. The character selected to
be printed during the first motor step across a print line is stored in
the first memory position of print RAM 29 while the character designated
to be printed during the eightieth step across the print line is stored in
the eightieth address of print RAM 29. A load/print switch (flip flop) 34
controls the operation of multiplexer 32 to direct the data load address
from data storage and formatting means 28 to print RAM 29 during the load
cycle. Upon completion of the load cycle, a start print signal is
transmitted from data storage and formatting means 28 to load/print switch
34 which generates a print signal that is coupled to multiplexer 32. The
start print signal is also transmitted to motor control logic unit 30
which causes the commencement of operation of stepper motor 16.
Referring now to FIG. 5, waveforms B, C and D indicate the method used to
accelerate stepper motor 16 from a standing start to maximum operating
velocity. This timing diagram was explained in connected with the
invention disclosed in U.S. Pat. No. 3,942,619.
Referring also now to FIG. 4, an electronic schematic diagram of a three
phase stepper motor and its associated switching circuitry is illustrated.
Electronic equivalent circuits are shown for the three motor windings and
are enclosed within dotted blocks. The equivalent circuit of a stepper
motor winding includes a coil having inductance L.sub.m and a resistance
R.sub.m. A resistor and a diode are coupled in parallel with each stepper
motor winding to permit a more rapid elimination of the electromagnetic
field sequentially created in each winding of the stepper motor. A 20 volt
holding voltage is provided at point 36 while a 57 volt boost voltage is
controllably applied to selected windings of the stepper motor by boost
control switch 38. The control of the flow of current through motor phases
.phi.1, .phi.2 and .phi.3 are controlled respectively by switches 40, 42
and 44.
FIG. 5A identifies by number the first seven steps and the pulse width of
each step as stepper motor 16 accelerates from a resting position to a
high position. FIG. 5B indicates the accelerating voltage levels applied
during each step to the various motor phases. FIG. 5C indicates the shaft
velocity of stepper motor 16 as it accelerates from a standing start. FIG.
5D illustrates the magnitude and timing of braking pulses which are
applied to stepper motor windings one phase behind the winding being
energized to accelerate the stepper motor to a higher velocity.
Referring now to FIGS. 4 and 5, during the first step of the series
indicated in FIG. 5, the 57 volt boost voltage is applied first to motor
phase 1 by closing boost control switch 38 and motor control switch 40.
The pulse width of this boost control pulse is typically fixed at around
1.3 miliseconds for the stepper motor used in the preferred embodiment of
the invention as this provides the maximum possible acceleration and
saturates the motor inductor as the boost pulse terminates. At the end of
the 1.3 milisecond boost pulse, switch 38 opens and a 20 volt holding
voltage is provided by the voltage on line 36. In order to prevent the
stepper motor shaft from overshooting the desired position and to maintain
maximum control over the displacement of the stepper motor shaft, a
retrotorque pulse is applied to motor phase winding .phi.3 as indicated in
FIG. 5D by opening switch 40 and closing switch 44 for a predetermined
amount of time. Upon termination of the retrotorque pulse, switch 44 is
opened and switch 40 is once again closed. This procedure is repeated
during each step of a stepper motor in order to ramp up the stepper motor
to its maximum velocity in a minimum period of time while maintaining
absolute control over the shaft position curve indicated in FIG. C. The
method of modifying the total pulse width of each step and of controlling
the pulse width of retrotorque voltage will be discussed below. The shaft
velocity of stepper motor 16 is ramped down from its maximum velocity to
zero in a manner just the reverse of that disclosed in connection with
FIG. 5.
Referring now to FIGS. 2 and 6, a dual channel encoder 46 is coupled to the
shaft of stepper motor 16. A commercially available dual channel encoder
is used in the preferred embodiment of the present invention and includes
two 120 aperture rows positioned around the periphery of the encoder
wheel. The apertures are positioned so that they will generate the lead
and lag waveforms shown in FIG. 6 where there is a relative ninety degree
phase shift between the lead and lag waveforms. A dual channel encoder
having two 240 aperture rows is also compatible with the preferred
embodiment, but this particular type of hardware is substantially more
expensive than an encoder having two peripherial rows of 120 apertures
each.
The lead and lag output waveforms from dual channel encoder 46 are coupled
to encoder logic 48. Encoder logic 48 operates on the lead signal (A) and
on the lag signal (B) and incorporates an RC delay network to generate the
count up (Cu) and count down (Cd) pulses as shown. The logic equations for
the count up and count down pulses are those indicated by the equations in
FIG. 7 directly below the respective waveforms.
The count up and count down pulses generated by encoder logic 48 are
coupled to the input of a modulo 10 character column counter 50. Character
column counter 50 and modulo 128 character position counter 52 form
up/down counter means 22 which was discussed in connection with FIG. 1.
When the print head is positioned at the left hand margin of the printer,
the output of character position counter 52 would be one indicating that
the print head is located at the first character position along the print
line. While in the print mode, the load/print switch 34 transmits a print
command to multiplexer 32 which couples the output of character position
counter 52 to the input of print RAM 29. The character position address
signal from character position counter 52 is thus coupled to print RAM 29.
The character stored in the first address of print RAM 29 will be read out
to character generator 24 as stepper motor 16 commences its initial step
from | | |