Information
-
Patent Grant
-
6641245
-
Patent Number
6,641,245
-
Date Filed
Thursday, May 23, 200222 years ago
-
Date Issued
Tuesday, November 4, 200321 years ago
-
Inventors
-
Original Assignees
-
Examiners
- Meier; Stephen D.
- Do; An H.
-
CPC
-
US Classifications
Field of Search
US
- 347 19
- 347 23
- 347 22
- 347 33
- 347 34
- 347 29
-
International Classifications
-
Abstract
An inkjet printer having functionality to adaptively control an amount of force applied to a servicing sled used to clean an inkjet printhead. In selecting a run force to be applied to the servicing sled, a test force is applied to the servicing sled to determine if the servicing sled will move a predetermined distance under the test force.
Description
TECHNICAL FIELD
The present invention is generally related to the field of printers and, more particularly, is related to a printing apparatus having a servicing sled that is adaptively controlled.
BACKGROUND OF THE INVENTION
Inkjet printers are often used to print documents and images on a print medium. The print medium can include various types of media, such as paper, photographic print media, labels and so forth.
A conventional inkjet printer includes a movable inkjet printhead mounted on a print cartridge. A carriage assembly moves the print cartridge, and inkjet printhead, laterally over the print medium in successive passes. The print medium is advanced in a direction perpendicular to the motion of the printhead by a drive assembly so that the printhead can progressively lay down ink droplets corresponding to the desired pattern being printed.
The printhead has an array of nozzles, which are typically grouped into pens. Each nozzle generates ink droplets as the printhead moves over the print medium to produce the desired pattern on the print medium. Typically, each nozzle is formed by a nozzle chamber, a firing mechanism, and an orifice, with the firing mechanism being located within the nozzle chamber. Each nozzle is supplied with ink from an ink supply reservoir, noting that different nozzles can be supplied with ink from different ink reservoirs for printing multiple colors or for printing on different types of media.
A trend in inkjet printer technology has been to periodically clean (or service) the printhead by wiping the printhead (and particularly the nozzle orifices) with one or more wipers. The wipers typically resemble rubber squeegee devices. Servicing the printhead in such a manner tends to improve print quality and lengthen the useful life of a print cartridge by removing aerosol deposits, excess ink, dust, minute pieces of paper debris and other contaminants from the printhead.
Typically, the wipers are mounted on a servicing sled that is moved with respect to the printhead by a drive assembly. The drive assembly is configured to drive the sled with a predetermined amount of force. In a conventional inkjet printer, this force is set to be large enough to move the sled when taking into account variability in printer components (i.e., differences in printer parts from printer to printer), aging of the printer components and so forth. As a result, the force applied to the servicing sled is often excessive. Excessive force can lead to increased noise production from the printer during printhead servicing. These sounds can include, for example, mechanical “whining” or “straining” (as the sled is intentionally stalled against mechanical stops) and “clacking” caused by the sled hitting the mechanical stops. The increased noise production can be unsettling to a user of the printer. In addition, the excessive force can unduly stress printer components and can lead to premature failure of printer components.
Another characteristic of conventional inkjet printer servicing sled control is that if the sled becomes unintentionally stalled (e.g., stuck under the printhead), all printer operation is ceased. This characteristic can make the printer unreliable and can leave a user of printer without the ability to print even though the printer is otherwise operational to image the desired print job.
Accordingly, there exists a need in the art to enhance the control over the servicing sled of an inkjet printer.
SUMMARY OF THE INVENTION
According to one aspect of the invention, a method of adaptively controlling an amount of force applied to a servicing sled used to clean an inkjet printhead. The method includes: (a) applying a run force associated with a stored force level to the servicing sled; (b) sensing a first unintentional stall of the servicing sled during application of the run force; (c) selecting a lowest test force from a plurality of test forces to be a current test force; (d) applying the current test force to the servicing sled; (e) upwardly incrementing the current test force if a second unintentional stall of the servicing sled is sensed during application of the current test force, otherwise storing an adapted force level indication associated with the current test force in place of the stored force level indication; and (f) repeating operations (d) and (e) if the current test force is less than a highest test force form the plurality of test forces, otherwise storing an adapted force level indication associated with the highest test force in place of the stored force level indication.
According to another aspect of the invention, an inkjet printer. The inkjet printer includes a printhead adapted to progressively deposit ink droplets on a print medium and a servicing sled having a wiper for removing contaminants from the printhead. A drive motor is coupled to the servicing sled with a sled drive linkage to move the servicing sled with respect to the printhead. A sensor is adapted to generate a signal indicative of distance traveled by the servicing sled. A control assembly is adapted to control the drive motor so as to vary mechanical force applied to the servicing sled. The control assembly is programmed to select a run force from a plurality of run forces with which to move the servicing sled during a printhead service by controlling the drive motor to apply a test force from a plurality of test forces to the servicing sled, each test force corresponding to one of the run forces, and by comparing a distance traveled by the servicing sled during application of the test force and a predetermined distance to determine if the test force is sufficient to actuate the servicing sled.
Other features and advantages of the present invention will become apparent to a person with ordinary skill in the art in view of the following drawings and detailed description. It is intended that all such additional features and advantages be included herein within the scope of the present invention.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
The invention can be understood with reference to the following drawings. The components in the drawings are not necessarily to scale. Also, in the drawings, like reference numerals designate corresponding parts throughout the several views.
FIG. 1
is a schematic block diagram of a printing apparatus according to the present invention;
FIG. 2
is a flow chart of a service routine carried out by the printing apparatus of
FIG. 1
; and
FIG. 3
is a flow chart of a calibration subroutine of the service routine of FIG.
2
and carried out by the printing apparatus of FIG.
1
.
DETAILED DESCRIPTION OF THE INVENTION
Referring initially to
FIG. 1
, a printer apparatus
10
is illustrated. The illustrated printer apparatus
10
is an inkjet printer adapted to receive a print job from a print job source (not shown). The print job can be in a format compatible with the printer
10
, such as a page description language (PDL) file or a page control language (PCL) file.
As one skill in the art will appreciate, the illustrated inkjet printer
10
is exemplary and the present invention applies to inkjet printers having different configurations and other types of printers that print by moving a printhead over a print medium in successive passes such as, for example, a thermal printer, a plotter, and the like.
The print job source (not shown) can be a general computing device such as a desktop or portable computer, a workstation, a personal digital assistant (PDA), a network server (e.g., a print server), or the like. The print job source can be connected directly to the printer
10
or coupled to the printer
10
via a network as is well known in the art.
The printer
10
includes a housing
12
that supports various subcomponents of the printer
10
. The printer
10
includes an inkjet printhead
14
mounted on a print cartridge
16
. The printhead
14
is used to print or image a desired pattern on a print medium
18
as dictated by the print job. For this purpose, the print cartridge
16
can have one or more ink supply reservoirs. The print cartridge
16
can be removably supported by a carriage
20
that moves the printhead
14
laterally over the print medium
18
as is known in the art. A platen (not shown), having a print medium
18
supporting surface, can be disposed under the print medium opposite the printhead
14
.
The carriage
20
can be actuated by a carriage linkage assembly
22
that is driven by a carriage motor
24
. As is known in the art, the carriage
20
can be supported and its motion can be guided by a carriage guide rod
26
. The carriage
20
, the carriage linkage
22
, the carriage motor
24
and the carriage guide rod
26
are well known components and will not be described in greater detail herein.
In one embodiment, the printhead
14
has an array of nozzles as is known in the art. The nozzles can be arranged, for example, in a matrix of rows and columns and can be grouped into pens. The nozzles can be controlled to express ink droplets as the printhead
14
moves over the print medium
20
to produce a desired image on the print medium
20
. Each nozzle can be formed from a nozzle chamber, a firing mechanism and an orifice, with the firing mechanism being located within the nozzle chamber. As one skill in the art will appreciate, other types of printheads, pens, nozzle assemblies, heater elements, and the like can be used in place of the printhead
14
depending on the specific printer.
As indicated, the printhead
14
is moved laterally over the print medium
18
in successive passes or sweeps. In addition, the print medium
18
can be advanced, usually between sweeps of the printhead
14
, in a direction perpendicular to the motion of the printhead
14
so that the printhead
14
can progressively lay down segments (or portions) of the desired pattern being printed. Movement of the printed medium
20
can be carried out by a print medium drive
28
, such as a grouping of rollers that engage the print medium
18
. The print medium drive
28
can be actuated by a drive motor
30
coupled to the print medium drive
28
by a print medium drive linkage
32
.
In one embodiment of the invention, the print medium drive
28
can also be coupled to the drive motor
30
via a shifter
34
. The shifter
34
is used to selectively divert power developed by the drive motor
30
from the print medium drive
28
to a sled drive linkage
36
. As will be discussed in greater detail below, the sled drive linkage
36
is coupled to actuate a servicing sled
38
. Alternatively, the sled drive linkage
36
and/or servicing sled
38
can be driven by a dedicated motor (i.e., a motor not used to drive other assemblies).
To assist the printer
10
in tracking how far the print medium
18
has been advanced, an encoder
40
can be coupled to the drive motor
30
to monitor rotational movement of the drive motor
30
. In one embodiment, the encoder
40
can be an optical encoder that generates an output signal indicative of the number of times the optical encoder detects the passing of markings disposed on a rotating disk located in front of the encoder. The markings can be, for example, printed indicia, holes, notches, etc. The encoder
40
can be implemented to generate an electrical pulse each time the drive motor
30
rotates an angular distance equivalent to a predetermined linear distance traveled by the print medium
18
and/or the sled
38
. For example, the encoder could generate a pulse corresponding to every {fraction (1/2400)} of an inch of linear travel of the print medium
18
and/or the sled
38
. The pulses can be summed to give an indication of distance traveled.
Movement of the printhead
14
and deposition of ink from the printhead
14
onto the print medium
18
is controlled by a control assembly
42
. The control assembly
42
also controls advancement of the print medium
18
by controlling the drive motor
30
and configuration of the shifter
34
. The distance the print medium
18
is advanced can be tracked using a software implemented position counter maintained by the control assembly
42
and incremented using the output signal from the encoder
40
.
Similarly, the control assembly
42
controls movement of the servicing sled
38
via the drive motor
30
and configuration of the shifter
34
. Distance traveled by the sled
38
can also be tracked with the software implemented position counter.
The control assembly
42
is coupled to the drive motor
30
via a drive motor controller
44
. The drive motor controller
44
is adapted to receive control signals from the control assembly
42
and, in accordance with those control signals, supply electrical power to the drive motor
30
. The electrical power supplied to the drive motor
30
can be controlled to invoke different rotational speeds of the drive motor
30
and/or different torque outputs from the drive motor
30
. In one embodiment, the electrical power supply to the drive motor
30
can be controlled using pulse with width modulation (PWM). The drive motor controller
44
can also receive the signal indicative of rotational movement of the drive motor
30
from the encoder
40
and relay the encoder output signal to the control assembly
42
or communicate a corresponding distance measurement to the control assembly
42
. Alternatively, the encoder
40
can be coupled directly to the control assembly
42
.
The control assembly
42
can include various components for assisting in the printing a received print job on the print medium
18
. Such components can include, for example, a processor, volatile and nonvolatile memory components, buffers, counters and so forth. The control assembly
42
can execute various logical routines in conjunction with imaging the print job on the print medium. Such routines can include, for example, a communication interface routine to carry on data communications with the print job source, a shingling routine to process print data, control routines to control the movement of the carriage
20
, the expression of ink droplets from the printhead
14
, the movement of the print medium
20
, and so forth. In addition, the printer
10
can be provided with additional subassemblies for assisting in printing on the print medium
18
and can include, for example, rollers, motors, mechanical actuators, power supplies, and so forth.
As should be appreciated by one of ordinary skill in the art, the printhead
14
can collect undesirable foreign matter and/or contaminants thereon. Such matter can include, for example, aerosol deposits, excess ink, dust, minute pieces of paper debris, and other contaminants. Excessive build up of foreign matter on the printhead
14
can adversely affect the overall print quality of the pattern imaged on the print medium
18
and can also lead to clogged nozzles and ink smudges.
Accordingly, the printer
10
can be provided with the servicing sled
38
. The servicing sled
38
has one or more wipers
46
mounted thereon. The wiper(s)
46
, which can resemble a rubber squeegee(s), are moved by the sled
38
under the mechanical power provided by the drive motor
38
via the shifter
34
and the sled linkage
36
. The sled
38
is actuated to engage the wiper(s)
46
against the printhead
14
and to wipe contaminants therefrom. More specifically, the carriage
20
is moved to and held at a specified location corresponding to the path of the sled
38
. In addition, the shifter
34
is controlled to divert power developed by the drive motor
30
from the print medium drive
28
to the sled drive linkage
36
. Under the power provided by the drive motor
30
, the sled
38
is then actuated to travel from a home position adjacent a first, or front, stop
48
towards an intentional stall position against a second, or rear, stop
50
. In the exemplary illustration of
FIG. 1
, the sled
38
is illustrated in solid lines in the home position and is illustrated again in dashed lines in the intentional stall position. As will be discussed in greater detail below, it is noted that the home position and/or the intentional stall position need not be adjacent or against a mechanical stop device.
When the sled
38
engages the front stop
48
or the rear stop
50
the sled
38
will stop moving. By virtue of the mechanical connections within the printer
10
, the sled linkage
36
, parts of the shifter
34
, and the drive motor
30
will also stop their movements when the sled stalls against the stop
48
or
50
. As a result, the encoder
40
will no longer detect movement of the drive motor
30
. By processing the signal produced by the encoder
40
, the distance the sled
38
has traveled from the home position to the stall position, and vice-versa, can be determined. It is noted that there may be a delay between the time when the sled
38
stops moving and when the stall is detected by the control assembly
42
and the drive motor
30
is turned off.
Once the sled
38
has stalled against the rear stop
50
, the movement of the sled
38
can be reversed by appropriate energizing of the drive motor
30
or by appropriate mechanical setting in the shifter
38
and/or the sled linkage
36
. The sled
38
then moves from the stall position to the home position (i.e., adjacent the front stop
48
) where the motion of the sled
38
is stopped by contact with the front stop
48
.
During the movement of the sled
38
from the home position to the stall position (or, as used herein, a rearward motion of the sled
38
) and during movement of the sled
38
from the stall position to the home position (or, as used herein, a frontward motion of the sled
38
) the wipers
46
engage the printhead
14
to remove contaminants therefrom.
In another embodiment, the sled
38
is not stalled against the rear stop
50
to terminate the rearward motion and/or the sled
38
is not stalled against the front stop
48
to terminate forward motion. Rather, distance traveled by the sled
38
is used to determine when the sled
38
has been moved to the intentional stall position (which need not be adjacent or against a stop device) and/or to the home position (which need not be adjacent or against a stop device). Upon reaching such a position, the drive motor
30
can be commanded (e.g., deactivated) to end movement of the sled
38
(this commanded stopping of the sled
38
falling within the meaning of the term intentional stall as used herein). However, in this alternative embodiment, the sled
38
can be “tapped” against the front stop
48
and stalled by mechanical inhibition of motion before commencing reward rearward motion to set a known (or “absolute”) sled
38
position for use in distance measurement. Also, regardless of whether the sled
38
is stalled against stops
48
,
50
or stalled by command, the sled
38
can be left near, but not touching, the front stop
48
when the printer
10
is performing other functions.
A certain amount of mechanical force needs to be exerted on the sled
38
in order to move the sled
38
. The amount of force needed to move the sled
38
, especially when the wipers
46
are engaged against the printhead
14
, will depend on a number of variables. These variables can differ from printer to printer, including printers of the same type. The variables can include electrical variables and mechanical variables. Electrical variables can include the output of an electrical power supply (not shown) used to provide electrical power the various components of the printer
10
(e.g., the power supply may output a voltage that is more or less than a nominal specification value). Other electrical variables can include, for example, variances in drive motor
30
efficiency and variances in the drive motor controller
44
(e.g., the drive motor controller
44
can be used to generate a power input (voltage and current) to the drive motor
30
in response to a control signal received from the control assembly
42
).
Mechanical variables can include, for example, tolerances associated with bearings, shafts, spring-loaded controllers found in shifter
34
and the sled linkage
36
. Each of these components have variability and also wear over time. Such wear can lead to stiffening of the power train from the drive motor
30
to the sled
38
.
Another mechanical variable includes the stiffness of the wiper(s)
46
. Typically, the wiper(s)
46
will deflect backwards (e.g., away from the direction of travel of the sled
38
) as the wiper
46
engages the printhead
14
. Within normal manufacturing tolerances, the stiffness of the wiper(s)
46
may vary from printer to printer. Also, over time, the stiffness of the wipers
46
may increasingly need more force to be moved with respect to the printhead
14
. It is noted that in the illustrated embodiment, the front stop
48
and the rear stop
50
are positioned such that the sled
38
travels a sufficient distance so that the wipers
46
disengage from the printhead
14
following a full rearward pass of the sled
38
and frontward pass of the sled
38
.
Accordingly, the printer
10
is provided with a service routine
52
to govern the movement of the sled
38
. The service routine
52
includes an adaptive calibration routine (discussed in greater detail below) for adjusting the output power of the drive motor
30
when the drive motor
30
is used to actuate the sled
38
. Hence, the amount of mechanical force applied to the sled
38
can be varied. The service routine can be stored and executed by the control assembly
42
. In one embodiment, the service routine
52
can be implemented in firmware, or as a set of logic instructions in the form of computer code for execution by a general purpose processor.
The service routine
52
is implemented to adaptively control the force used to move the sled
38
, accounting for to the electrical and mechanical variables of the specific printer
10
. As a result, the use of excessive force to move the sled
38
can be minimized. By minimizing the use of excessive force, stress placed on components of the printer
10
can be reduced. Reducing stress may result in increasing the useful life of the printer components and/or the printer
10
as a whole.
In addition, reducing the use of excessive force can result in lowering noise output from the printer
10
. For example, a “clacking” sound made by the sled
38
hitting against the front stop
48
and/or the rear stop
50
may be lower in volume for the printer
10
having the adaptive sled
38
control techniques described herein than for a printer using a single predetermined force to move the sled
38
. Another sound that may be lowered in volume by the adaptive control techniques described herein can include a “whining” or “straining” sound produced by the drive motor
30
and/or other moving mechanical components when the sled
38
is intentionally stalled against either of the front stop
48
or the rear stop
50
.
It is noted that the service routine
52
can be commenced by the control assembly
42
at any appropriate time, such as before the commencement of printing a print job, after the completion of the printing the print job, and/or according to a pen maintenance schedule (e.g., after the printing of every five pages). In some embodiments, where the shifter
34
disengages the print medium drive linkage
32
when the sled drive linkage
36
is engaged, the service routine
52
could be commenced in the middle of printing a page.
With additional reference to
FIG. 2
, the service routine
52
will be described in greater detail. Briefly,
FIG. 2
is an exemplary flowchart of the service routine
52
according to the present invention. Alternatively, the flowchart of
FIG. 2
can be thought of as depicting steps in a method implemented by the printer
10
.
The service routine
52
can begin in box
54
where a stored variable relating to a desired power output level from the drive motor
30
can be retrieved from a memory component
56
. As should be appreciated, the power output level is directly related to force applied to the sled
38
. The memory component
56
can be a nonvolatile memory capable of storing data values in the absence of electrical power. As illustrated, the memory component
56
can be part of the control assembly
42
or, alternatively, can be implemented independently of the control assembly
42
.
In one embodiment, the stored variable relating to desired power output of the drive motor
30
can be in the form of a PWM level. As indicated above, the power output of the drive motor
30
can be controlled by supplying pulse width modulated electrical power to the drive motor
30
. Accordingly, the drive motor controller
44
can include circuitry for converting a control signal received from the control assembly
42
to a corresponding electrical output.
Table 1 contains example PWM values (expressed as percentages) for multiple example PWM levels that can be stored by the memory
56
. It is noted that the use of PWM and of the PWM levels and PWM values described herein relates to just one embodiment of adaptively controlling the drive motor
30
to result in the exertion of varying degrees of force on the sled
38
. Other force varying techniques can be employed and can include other drive motor
30
power input regulation and/or mechanical power control (e.g., a transmission). Also, the PWM levels and PWM values directly correspond with the force applied to the servicing sled
38
and can be thought of as indicators of force levels and/or force values. The PWM levels and PWM values described herein can be stored as actual percentage values in a logical look-up table, can be stored as control signal values in digital. or analog format or as any other data value or signal indicative of force to be applied to the sled
38
.
TABLE 1
|
|
Run PWM Value
Stall PWM Value
Test PWM Value
|
|
PWM Level 1
27%
19%
25%
|
PWM Level 2
32%
23%
30%
|
PWM Level 3
37%
27%
37%
|
|
As indicated in Table 1, three PWM values can be associated with each PWM level, including a run PWM value, a stall PWM value, and a test PWM value. Since the PWM values correspond with mechanical force applied to the sled
38
, the run PWM values can also be thought of as indicators of run force, stall force and test force.
As will be described in greater detail below, the run PWM value can be used when actuating the sled
38
to engage the wipers
46
against the printhead
14
for cleaning of the printhead
14
. The stall PWM value is used in preparation for intentionally stalling the sled
38
against either of the front stop
48
or the rear stop
50
. The stall PWM values are lower than the corresponding run PWM values so as to reduce the force used to actuate the sled
38
as the sled
38
engages either of the stops
48
or
50
. Reducing the force used to actuate the sled
38
before engagement with the stops
48
and
50
can reduce the mechanical stress placed on the sled's drive system and can reduce noise output from the printer
10
. In the example of Table 1, the run PWM values are incremented from PWM level to PWM level by five percent and the stall PWM values are incremented from PWM level to PWM level by four percent.
The test PWM values, as will be described in greater below, are values used in conjunction with moving the sled
38
during a calibration subroutine of the servicing routine
52
. For reasons discussed in greater detail below, the test PWM values can be set to be less than the corresponding run PWM values. In one embodiment, the test PWM value for the highest PWM level can be set to be the same as the corresponding run PWM value.
The service routine
52
can continue in box
57
where the sled
38
is actuated to service the printhead
14
by energizing the drive motor
30
in accordance with a predetermined printhead service procedure. The printhead service procedure can begin by tapping the front stop
48
with the sled
38
and using the stall PWM value associated with the PWM level retrieved in box
54
for confirmation that the sled
38
is in the home position. Thereafter, the sled
38
can be moved towards the rear stop
50
such that the wipers
46
engage the printhead
14
. As the sled
38
is moved towards the rear stop
50
in a rearward direction, the drive motor
30
can be energized with electrical power corresponding to the run PWM value of the PWM level retrieved from memory in box
54
. As a default, the retrieved PWM level can be the lowest PWM level (i.e., the PWM level having the lowest associated PWM values). As will be described in greater detail below, the PWM level stored by the memory
56
and retrieved in box
54
can be altered by the calibration subroutine discussed below.
After the output signal generated by the encoder
40
indicates that the sled
38
has moved the wiper past the printhead
14
, the force applied to the sled
38
can be reduced by delivering power according to the stall PWM value associated with the PWM level retrieved from the memory
56
in box
54
. In this manner, the service routine
52
predicts when the sled
38
is about to engage the rear stop
50
and reduces the force used to actuate the sled
38
. After the sled
38
is intentionally stalled against the rear stop
50
, the movement of the sled
38
can be reversed such that the sled
38
is moved in the forward direction from the stall position to the front stop
48
with the run PWM value associated with the PWM level retrieved from the memory
56
in step
54
. When the sled
38
is nearing the front stop
48
, the drive motor
30
can be controlled with the stall PWM value associated with the PWM level retrieved from the memory
56
in box
54
to reduce the amount of force with which the sled
38
engages the front stop
48
. After the sled
38
is intentionally stalled against the front stop
48
, the drive motor
30
can be de-energized.
As the wipe procedure of box
56
is being carried out, the service routine
52
can monitor for a failure of the wipe procedure in box
58
. As used herein, a failure of the wipe procedure relates to an unintentional stall of the sled
38
. An unintentional stall of the sled
38
can include inability of the sled
38
to move from either the home position or the stall position, or can include a stopping of the sled
38
in a position between the home position and the stall position. One main cause of such a failure of the sled
38
to complete the wipe procedure is inadequate application of force to the sled
38
. In one embodiment, failure of the wipe procedure is sensed by monitoring the distance that the sled
38
travels using the signal output by the encoder
40
and comparing the distance of sled
38
travel against a known, or predetermined, distance that the sled
38
should travel from one stop
48
or
50
to the other stop
48
or
50
. In one embodiment, distance of sled
38
travel is calculated by comparing a beginning position counter value with an ending position counter value. If the distance traveled from the beginning of a movement of the sled (e.g., a rearward movement starting at the home position or a forward movement starting at the stall position) to the end of the sled
38
movement (i.e., the sensing of a stall condition, for example, where the encoder no longer generates output pulses) does not indicate a traveled distance corresponding to the known distance within a given tolerance (e.g., about ⅛ of an inch) a failure can be presumed. If a failure is not detected in box
58
, the service routine
52
can end and the printer
10
can be placed in an operational state to carry out other printer
10
functions, such as, capping the printhead
14
, continuing to image the print job on the print medium
18
, or waiting for the next print job to be received.
If a failure is detected during the wipe procedure in box
58
, the service routine
52
can call an adaptive calibration subroutine
60
in box
62
. In one embodiment, if the PWM level retrieved in box
54
is the highest PWM level, then the service routine
52
can end, even if a failure is sensed in box
58
.
With additional reference to
FIG. 3
, shown is an exemplary flowchart of the calibration subroutine
60
according to the present invention. Alternatively, the flowchart of
FIG. 3
can be thought of as depicting steps in a method implemented by the printer
10
.
It is noted that the actual location of the sled
38
may be unknown at this point in the service routine
52
/calibration subroutine
60
. The sled
38
could be in the home position, in the stall position or at some location therebetween, such as stalled under the print head
14
. In addition, the calibration subroutine
60
can be implemented to not be concerned as to whether the sled
38
was unintentionally stalled while traveling in the rearward direction or in the forward direction.
The calibration subroutine
60
can start in box
66
where the calibration subroutine
60
can set the PWM level to be initially used by the calibration subroutine
60
to the lowest PWM level. Setting the currently used PWM level to the lowest level allows for the calibration subroutine
60
to test the amount of force needed to move the sled
38
starting from a low level and progressing to higher levels, if needed, so that the use of excessive force can be minimized. There may be some circumstances where a higher PWM level was stored for retrieval and use by the service routine
52
in box
54
, but the condition that caused the use of a higher PWM level no longer exists. In one example, a portion of the print medium
18
could have become lodged in the path of the sled
38
and the presence of the piece of print medium
18
caused the sled
38
to unintentionally stall. This unintentional stall would cause the service routine
52
to enter the calibration subroutine
60
where it is possible that the PWM level was set to a level higher than the lowest PWM level. At some time after the occurrence of these events, the portion of the print medium
18
that gave rise to the events may have been removed from the printer
10
and the need for using a relatively high PWM level may no longer exist.
In one embodiment of the calibration subroutine
60
, the run and stall PWM values are not used during the calibration subroutine
60
and the drive motor
30
is supplied with power corresponding to the test PWM values.
The calibration subroutine
60
can continue in box
68
where the drive motor controller
44
can be supplied with a control signal to energize the drive motor
30
to move the sled
38
in a forward direction. This movement attempts to move the sled
38
to the home position against the front stop
48
. During the “homing” of the sled
38
during the first pass through the calibration subroutine
60
, the drive motor
30
is energized using the test PWM that corresponds to the lowest PWM level. In the example of Table 1, this PWM value is twenty five percent. In box
68
, the sled
38
is moved forward until a stall is sensed. The stall can be sensed as described above (i.e., no movement of the drive motor
30
as detected by the encoder
40
). Therefore, is noted that the test PWM value associated with the lowest PWM level may not be sufficient to move the sled
38
at all, may not be sufficient to move the sled
38
all the way to the front stop
48
, or is sufficient to move the sled
38
to the front stop
48
.
Thereafter, in box
70
, the position counter is reset so that subsequent distance traveled by the sled
38
can be determined by reference to the position counter. Thereafter, in box
72
, the calibration subroutine
60
can invoke commands to energize the drive motor
30
to move the sled
38
in the rearward direction using the test PWM associated with the current PWM level (e.g., in the first pass through the calibration subroutine
60
, the PWM level being set to the lowest PWM level).
In box
72
, the sled
38
is moved in the rearward direction until a stall is sensed. This stall may have occurred as a result of the sled
38
engaging the rear stop
50
or that inadequate force was applied to the sled
38
to move the sled
38
to the stall position against the rear stop
50
. In either event, the distance traveled by the sled
38
during the rearward movement of the sled
38
in box
72
, if any, is logged in box
74
.
The calibration subroutine
60
can continue in box
76
where the position counter is reset to assist in tracking subsequent movement of the sled
38
. Next, in box
78
, the sled
38
can be moved in the forward direction by energizing the drive motor
30
with the test PWM value associated with the current PWM level. The sled
38
is actuated until a stall is sensed. The stall can be the result of the sled
38
moving to the home position and stalling against the front stop
48
or the result of using inadequate force to attempt to actuate the sled
38
. In either case, the calibration subroutine
60
logs the distance traveled in the forward direction, if any, in box
80
.
In one embodiment, the calibration subroutine
60
can be implemented to switch from using the test PWM value to the associated stall PWM when it is anticipated that the sled
38
will reach one of the stall position or the home position (e.g., after it has been sensed that the sled
38
has moved a distance slightly less than the full distance between the front stop
48
and rear stop
50
).
The calibration subroutine
60
can then determine, in box
82
, if the rearward movement in box
72
and forward movement in box
78
resulted in full traversals of the sled
38
moving from the home position to the stall position and back to the home position. In one embodiment, the distances logged in box
74
and box
80
are compared against a known, or predetermined, distance of travel from the home position to the stall position within a given tolerance (e.g., about ⅛ of an inch). If the distances were traversed correctly, the calibration subroutine
60
can proceed to box
84
where the currently used PWM level is stored in the memory
56
for subsequent retrieval by the service routine
52
(e.g., in box
54
of
FIG. 2
) the next time the service routine
52
is called by the printer
10
. Thereafter the calibration subroutine
60
can end and the printer
10
can be returned to another state, such as waiting for a new print job, continuing to image a present print job, capping the printhead
14
, etc.
If the distances were not traversed correctly in box
86
, the calibration subroutine
60
can proceed to box
84
where the calibration subroutine
60
can determine if the currently used PWM level is the highest available PWM level. If the calibration subroutine
60
is currently using the highest available PWM level, the calibration subroutine
60
can proceed to box
84
where the highest available PWM level is stored in the memory
56
and the calibration subroutine
60
can end.
It is noted that the highest available PWM level is often sufficient to provide enough force to move the sled
38
to the home position. In one embodiment, the test PWM value associated with the highest PWM level is the same as the run PWM value for the highest PWM level. This allows for a high level of available force to be applied to the sled
38
to make an attempt to home the sled
38
at completion of the calibration subroutine
60
. Without intending to be bound by theory, the use of such force during the final pass through the calibration subroutine
60
may place the printer in condition for carrying out printing tasks, even if the service routine
52
cannot be successfully completed (i.e., no unintentional stall of the sled
38
).
In one example modification to the calibration subroutine
60
, a box can be added between box
86
and box
84
to move the carriage
20
out of the path of the sled
38
and to again attempt to move the sled
38
to the home position. These additional steps can be completed for printers
10
where there may be a concern that a sled
38
that is stalled under the carriage
20
may interfere with the carriage
20
as the carriage makes successive passes over the print medium
18
.
If, in box
86
, the calibration subroutine
60
is not operating using the highest available PWM level, the calibration subroutine
60
can proceed to box
88
where the PWM level is incremented from the currently used PWM level to a next higher PWM level. In the example, after a first pass through the calibration subroutine
60
, the PWM level may be incremented from the first PWM level in box
88
to the second PWM level. Thereafter, the calibration subroutine
60
returns to box
68
where the foregoing process is repeated until one of the conditions in box
82
or box
86
is satisfied. After a second pass through the calibration subroutine
60
where the conditions in box
82
or box
86
are not satisfied, the PWM level can be incremented from the second level to the third level in box
88
. In this example, the next pass through the calibration subroutine
60
will be the last pass through the calibration subroutine
60
since at least the condition of box
86
will be satisfied. However, it is noted that the use of three PWM levels is exemplary and a smaller or larger number of PWM levels can be established as is desired.
While executing the calibration subroutine
60
, the power supplied to the drive motor
30
can be selected from the test PWM value associated with the current PWM level. In the embodiment described herein, the test PWM value is about two percent less than the run PWM value for each PWM level, except for the highest PWM level. This arrangement allows for testing the appropriate force that should be applied to the sled
38
at a slightly lower value than is used for normal operation during the service routine
52
. This arrangement provides for some tolerance in calibrating the appropriate force that should be applied to the sled
38
. For example, if the calibration subroutine
60
could successfully actuate the sled
38
using a PWM value of 32% but the sled could not be moved at 31.8% or may later become immovable at 32.2%, then testing at 32% may prove undesirable. Therefore, the calibration subroutine
60
evaluates movement of the sled
38
with some margin to account for slight differences in operational efficiency among multiple executions of the service routine
52
.
As should be apparent to one skilled in the art, the calibration subroutine
60
provides a self-healing function to the service routine
52
. The calibration subroutine
60
is implemented to adaptively find an appropriate force to be applied to the sled
38
to minimize use of excessive force that can otherwise result in premature wear of components and the production of excess noise. In addition, the calibration subroutine
60
operates without a direct force feedback indication (rather, a measurement of distance traveled is used). However, the calibration subroutine
60
and/or the service routine
52
can be modified to use a signal indicative of force applied to the sled
38
(e.g., a torque measurement derived from monitoring current drawn by the drive motor
30
). In other embodiments, additional sensors and feedback devices can be added and used in conjunction with the service routine
52
and/or the calibration subroutine. For example, pressure sensors located at the front stop
48
and the rear stop
50
to indicate when the sled
38
has move respectively to the home position and the stall position could be added. One skilled in the art will appreciate that sensors other than or in addition to the encoder
40
can be used to measure distance traveled by the sled
38
.
The figures show the architecture, functionality, and operation of an implementation of the service routine
52
and the calibration subroutine
60
. If embodied in software, each illustrated block may represent a module, segment, or portion of code that comprises program instructions to implement the specified logical function(s). The program instructions may be embodied in the form of source code that comprises human readable statements written in a programming language or machine code that comprises numerical instructions recognizable by a suitable execution system such as a processor in a computer system or other system. The machine code may be converted from the source code. If embodied in hardware, each block may represent a circuit or a number of interconnected circuits to implement the specified logical function(s).
Although the service routine
52
and the calibration subroutine
60
illustrate specific orders of execution, it is understood that the order of execution may differ from that which is depicted. For example, the order of execution of two or more blocks may be changed relative to the order shown. Also, two or more blocks shown in succession may be executed concurrently or with partial concurrence. In addition, some blocks may be omitted and other functionality can be added. Any number of counters, state variables, warning semaphores, or messages might be added to the logical flow described herein, for purposes of enhanced utility, accounting, performance measurement, or providing troubleshooting aids, and the like. It is understood that all such variations are within the scope of the present invention.
Also, where the service routine
52
and the calibration subroutine
60
comprise software or code, the service routine
52
and/or the calibration subroutine
60
can be embodied in any computer readable medium for use by or in connection with an instruction execution system such as, for example, a processor in a computer system or other system. In this regard, the logic may comprise, for example, statements including instructions or declarations that can be fetched from the computer-readable medium and executed by the instruction logic system. In the context of the present invention, a “computer-readable medium” can be any medium that can contain, store or maintain the logic described herein for use by or in connection with the instruction execution system. A computer-readable medium can comprise any one of many physical media such as, for example, electronic, magnetic, optical, electromagnetic, or semiconductor media. More specific examples of suitable computer-readable medium will include, but are not limited to, magnetic tapes, magnetic floppy diskettes, magnetic hard drives, or compact disks. Also, the computer-readable medium can be random access memory (RAM) including, for example, static random access memory (SRAM), and dynamic random access memory (DRAM), or magnetic random access memory (MRAM). In addition, the computer-readable medium can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electronically erasable programmable read-only memory (EEPROM), or other type of memory device.
Although particular embodiments of the invention have been described in detail, it is understood that the invention is not limited correspondingly in scope, but includes all changes, modifications and equivalents coming within the spirit and terms of the claims appended hereto.
Claims
- 1. A method of adaptively controlling an amount of force applied to a servicing sled used to clean an inkjet printhead, comprising:(a) applying a run force associated with a stored force level to the servicing sled; (b) sensing a first unintentional stall of the servicing sled during application of the run force; (c) selecting a lowest test force from a plurality of test forces to be a current test force; (d) applying the current test force to the servicing sled; (e) upwardly incrementing the current test force if a second unintentional stall of the servicing sled is sensed during application of the current test force, otherwise storing an adapted force level indication associated with the current test force in place of the stored force level indication; and (f) repeating operations (d) and (e) if the current test force is less than a highest test force form the plurality of test forces, otherwise storing an adapted force level indication associated with the highest test force in place of the stored force level indication.
- 2. The method of claim 1, wherein operation (a) includes attempting to move the servicing sled from a home position adjacent a first stop to an intentional stall position adjacent a second stop such that a wiper mounted on the servicing sled engages the printhead and discontinuing the application of the applied force upon sensing that the servicing sled has stopped moving.
- 3. The method of claim 2, wherein operation (b) includes comparing a distance actually traveled by the servicing sled with a predetermined distance, the first unintentional stall being sensed if the actually traveled distance is less than the predetermined distance.
- 4. The method of claim 2, wherein operation (a) further includes reducing the amount of force applied to the servicing sled in expectation of the servicing sled arriving at the intentional stall position.
- 5. The method of claim 1, wherein the run force and the test forces are produced by a drive motor controlled by pulse width modulation.
- 6. The method of claim 1, wherein each test force corresponds to an associated run force and each test force is smaller than the corresponding run force.
- 7. The method of claim 1, wherein each test force corresponds to an associated run force and each test force is smaller than the corresponding run force except for a highest test force of the plurality of test forces, the highest test force being the same as the corresponding run force.
- 8. The method of claim 1, wherein operation (d) includes a first move attempt to move the servicing sled to a home position adjacent a first stop and a second move attempt to move the servicing sled from the home position to an intentional stall position adjacent a second stop such that during the second move attempt a wiper mounted on the servicing sled engages the printhead.
- 9. The method of claim 8, wherein operation (e) includes comparing a distance actually traveled by the servicing sled during the second move attempt with a predetermined distance, the second unintentional stall being sensed if the actually traveled distance is less than the predetermined distance.
- 10. The method of claim 8, wherein operation (d) further includes a third move attempt to move the servicing sled from the intentional stall position to the home position such that during the third move attempt the wiper engages the printhead.
- 11. The method of claim 10, wherein operation (e) includes comparing a distance actually traveled by the servicing sled during the second move attempt with a predetermined distance and comparing a distance actually traveled by the servicing sled during the third move attempt with the predetermined distance, the second unintentional stall being sensed if either actually traveled distance is less than the predetermined distance.
- 12. An inkjet printer, comprising:a printhead adapted to progressively deposit ink droplets on a print medium; a servicing sled having a wiper for removing contaminants from the printhead; a drive motor coupled to the servicing sled with a sled drive linkage to move the servicing sled with respect to the printhead; a sensor adapted to generate a signal indicative of distance traveled by the servicing sled; and a control assembly adapted to control the drive motor so as to vary mechanical force applied to the servicing sled, the control assembly programmed to select a run force from a plurality of run forces with which to move the servicing sled during a printhead service by controlling the drive motor to apply a test force from a plurality of test forces to the servicing sled, each test force corresponding to one of the run forces, and by comparing a distance traveled by the servicing sled during application of the test force and a predetermined distance to determine if the test force is sufficient to actuate the servicing sled.
- 13. The printer of claim 12, wherein during selection of the run force, the control assembly executes code to:(a) select a lowest test force from the plurality of test forces to be a current test force; (b) apply the current test force to the servicing sled; and (c) upwardly increment the current test force if an unintentional stall of the servicing sled is sensed during application of the current test force, otherwise setting the run force corresponding to the current test force as the selected run force; and (d) repeat operations (b) and (c) if the current test force is less than a highest test force form the plurality of test forces, otherwise setting the run force corresponding to the highest test force as the selected run force.
- 14. The printer of claim 12, further comprising a memory for storing the selected run force level.
- 15. The printer of claim 12, wherein selection of the run force level is made following detection an unintentional stall during the printhead service.
- 16. The printer of claim 15, wherein during the print head service the control assembly executes code to attempt to move the servicing sled from a home position adjacent a first stop to an intentional stall position adjacent a second stop and to discontinue the application of force upon sensing that the servicing sled has stopped moving.
- 17. The printer of claim 16, wherein detection of the unintentional stall includes comparing a distance actually traveled by the servicing sled during the move attempt with a predetermined distance, the unintentional stall being sensed if the actually traveled distance is less than the predetermined distance.
- 18. The printer of claim 16, wherein during the printhead service the control assembly executes code to reduce the amount of mechanical force applied to the servicing sled in expectation of the servicing sled arriving at the intentional stall position.
- 19. The printer of claim 12, further comprising a drive motor controller for supplying pulse width modulated electrical power to the drive motor in accordance with a control output signal from the control assembly.
- 20. The printer of claim 12, wherein each test force is smaller than the corresponding run force.
- 21. The printer of claim 12, wherein each test force is smaller than the corresponding run force except for a highest test force of the plurality of test forces, the highest test force being the same as the corresponding run force.
- 22. The printer of claim 12, wherein during the actuation of the servicing sled with the test force, the control assembly is programmed to attempt a first move of the servicing sled to move the servicing sled to a home position adjacent a first stop and to attempt a second move of the servicing sled to move the servicing sled from the home position to an intentional stall position adjacent a second stop.
- 23. The printer of claim 22, wherein the distance actually traveled by the servicing sled during the second move attempt is the distance compared with the predetermined distance, the test force being sufficient if the actually traveled distance is as great as the predetermined distance.
- 24. The printer of claim 22, during the actuation of the servicing sled with the test force, the control assembly is programmed to attempt a third move of the servicing sled to move the servicing sled from the intentional stall position to the home position.
- 25. The printer of claim 24, wherein the controller is programmed to compare a distance actually traveled by the servicing sled during the second move attempt with the predetermined distance and to compare a distance actually traveled by the servicing sled during the third move attempt with the predetermined distance, the test force being sufficient if both actually traveled distances are as great as the predetermined distance.
US Referenced Citations (8)
Number |
Name |
Date |
Kind |
5644347 |
Schwiebert et al. |
Jul 1997 |
A |
5847727 |
VanLiew et al. |
Dec 1998 |
A |
6000780 |
Schwiebert et al. |
Dec 1999 |
A |
6135585 |
Johnson et al. |
Oct 2000 |
A |
6155667 |
Eckard et al. |
Dec 2000 |
A |
6280015 |
Nguyen et al. |
Aug 2001 |
B1 |
6511150 |
Yoda et al. |
Jan 2003 |
B1 |
6550887 |
Therien et al. |
Apr 2003 |
B2 |