Determining alignment of a printhead

A method is described in which a difference in height is determined between a current position and a calibration position of a printhead of a printer. An alignment value for the printhead is then determined based on the difference.

BACKGROUND

Misalignment of a printhead of a printer may influence the quality of the printed image. For example, in bidirectional printing, drops of a printing fluid are fired from the printhead during both forward and reverse travel. Misalignment of the printhead may therefore result in a mismatch between drops fired during forward travel and drops fired during reverse travel.

DETAILED DESCRIPTION

FIG.1shows an example printer10that comprises a carriage assembly20and a control unit30.

The carriage assembly20comprises a plurality of printheads21carried by a carriage22, A drive assembly (not shown) moves the carriage assembly20along a scan axis in response to drive signals from the control unit30.

Each of the printheads21comprises a plurality of dies23, with each die comprising a plurality of nozzles through which drops of a printing fluid may be fired. The printheads21are fluidly coupled to fluid reservoirs (not shown), which supply printing fluids to the printheads. Each printing fluid may be a colorant or a non-colorant, such as a pre-treatment (e.g. fixer/optimizer) or post-treatment (e.g. overcoat) fluid. In the illustrated example, the printer10comprises five printheads21that are supplied with eight different printing fluids: cyan (C), magenta (M), yellow (Y), black (K), light cyan (c), light magenta (m), optimizer (OP) and overcoat (OC).

The control unit30comprises a processor31, a storage medium32, and an input/output interface33. The processor31is responsible for controlling the operation of the printer30and executes an instruction set35stored in the storage medium32. The instruction set35comprises instructions, which when executed by the processor31, implement a print module36and an alignment module37. In addition to the instruction set35, the storage medium32stores a plurality of calibration alignment values38.

In response to print data40received at the input/output interface33, the print module36generates firing signals, which cause nozzles of the printheads21to fire. When a nozzle of a printhead21is fired, the trajectory of the resulting drop of printing fluid has a velocity component parallel to the scan axis, i.e. the axis along which the carriage assembly20moves back and forth over a print medium. This velocity component arises because the printhead21is not static when the nozzle is fired but is instead moving along the scan axis. As a consequence, there is a difference between the position at which a nozzle is fired and the position at which the resulting drop of printing fluid impacts the print medium. In bidirectional printing, this difference, if not corrected for, may result in misalignment between drops fired during forward travel and drops fired during reverse travel.

The print module36therefore applies an offset to the positions or times at which the nozzles of a printhead21are fired such that drops fired during forward and reverse travel are aligned. The offset may be applied during just one of forward or reverse travel. For example, during forward travel the nozzles may be fired when the printhead is at position x, and during reverse travel the nozzles may be fired when the printhead is at position x+Δx, where Δx is the offset. Alternatively, the offset may be applied partly during forward travel and partly during reverse travel. So, for example, during forward travel the nozzles may be fired when the printhead is at position x−Δx/2, and during reverse travel the nozzle may be fired when the printhead is at position x+Δx/2.

The storage medium32stores a calibration alignment value38for each of the printheads. The print module then uses the calibration alignment value to define the offset for the respective printhead. In one example, the alignment value may take on a value of between 0 to 20. Each calibration alignment value may have a default value of 10 which, for a nominal printer, may result in alignment during bidirectional printing. However, tolerances in the printer (e.g. tolerances in the speed of the carriage assembly20, or tolerances in the position of a printhead21within the carriage22) may mean that a printhead is not perfectly aligned when using an alignment value of 10.

The printer10may therefore be calibrated in order to determine the calibration alignment value38for each of the printheads21. Calibration may comprise printing a test pattern onto a print medium and then determining the calibration alignment value38for a printhead21based on the alignment of features within the test pattern. In one example, the test pattern may comprise pairs of lines for each of the printheads. Each pair of lines is printed using a different alignment value. So, for example, the test pattern may comprise twenty one pairs of lines for each printhead, with each pair corresponding to an alignment value of between 0 and 20. For each pair of lines, one of the lines is printed during forward travel and the other is printed during reverse travel of the printhead. The calibration alignment value for a printhead may then be determined by identifying the pair of lines for which the two lines appear to be most closely aligned.

During subsequent use of the printer10, the height of the printheads21(i.e. the spacing or distance between the printheads and the print medium) may change. For example, the printheads21may be raised in order to avoid collision with relatively thick print media or media that may deform during printing. In another example, the printheads21may be raised in order to prevent collision with printer accessories, such as edge holders which hold the edges of the print medium to prevent the edges from rising during printing.

FIG.2shows the trajectory50of drops fired from a nozzle of a printhead21positioned at different heights. InFIG.2(a), the printhead21is at the calibration position, i.e. the height at which the printheads21were calibrated. The nozzle of the printhead21is fired at times defined by the calibration alignment value. As a result, drops fired during forward travel of the printhead21are aligned with drops fired during reverse travel, i.e. the drops impact the print medium51at the same position. InFIG.2(b), the position of printheads21has been raised. Again, the nozzle of the printhead21is fired at times defined by the calibration alignment value. However, the drops now have further to travel and therefore have a longer flight time. As already noted, the drops have a velocity component parallel to the scan axis. As a result of the longer flight time, the difference between the position at which a drop is fired and the position at which the drop impacts the print medium increases. Consequently, drops fired during forward travel of the printhead21are no longer aligned with drops fired during reverse travel.

As is evident fromFIG.2, when the height of a printhead21differs from the calibration height, the printhead21may no longer be aligned and thus the quality of the printed image may suffer. In order to mitigate this, the alignment module37determines an alignment value for each of the printheads21.

FIG.3shows an example method that may be implemented by the alignment module37.

The method100comprises determining110a difference in height between a current position of the printheads and the calibration position (i.e. the position at which the printheads were calibrated). In one example, the printer10may comprise a sensor for sensing the position of the printheads. In another example, an adjustment mechanism for adjusting the position of the printheads may include a gauge or other means to indicate the current position or change in position of the printheads. In a further example, the height of the printheads may be set to one of a discrete number of positions, such as low, normal and high. A user may then input the current position or change in position via a user interface (not shown).

Calibration may involve calibrating the printheads21at a specific position. Alternatively, the printheads21may be calibrated at any position. In this instance, the calibration position of the printheads21may be stored to the storage medium32along with the calibration alignment values38. The method100may then use the stored calibration position in order to determine the difference in height.

The method100further comprises determining120an alignment value for each of the printheads21based on the difference. The alignment value is then used by the print module36to define the times at which the nozzles of the printhead21are fired during subsequent printing.

Determining120the alignment value for each of the printheads21may comprise calculating130a correction and then applying the correction140to the calibration alignment value38for that printhead.

The correction varies as a function of the difference in height between the current position and the calibration position of the printhead. The correction is zero when the difference is zero. Consequently, when the printheads21are at the calibration position, the alignment value corresponds to the calibration alignment value38for that printhead. The correction may have the same or opposite sign to that of the difference in height, depending on how the alignment value is used to define the times at which the nozzles are fired. For example, when the alignment value is zero, the print module36may apply an offset to the positions or times at which the nozzles are fired. The alignment value may then be used to either increase or decrease the offset. So, for example, the offset may have a minimum value when the alignment value is zero, and the alignment value may be used to increase the offset. Alternatively, the offset may have a maximum value when the alignment value is zero, and the alignment value may be used to decrease the offset. Irrespective of how the alignment value is used by the print module36, the magnitude of the correction increases as the difference increases. A larger correction is therefore applied to the calibration alignment value in response to a larger difference in height between the current position and the calibration position.

The applicant has studied the behavior of the alignment value with printhead height for one particular type of printer. The study comprised calibrating the printheads at various different heights, i.e. printing a test pattern at each height and then determining an alignment value for each of the printheads. This process was then repeated for three different sample printers.

FIG.4shows the variation in the alignment value with printhead height for one of the printheads of the study. The variation in alignment value is shown for each of the three sample printers, along with a line of best fit. As is evident fromFIG.4, the alignment value was found to vary linearly with printhead height for this particular type of printer. AlthoughFIG.4illustrates the behavior for just one printhead, the other printheads of the printer were found to have a similar behavior.

The alignment value for each of the printheads, A, may therefore be defined as: A=Acal+m·Δh, where Acalis the calibration alignment value, m is a scaling factor and Δh is the difference in height between the current position and the calibration position. The correction (m·Δh) is therefore the product of the difference (Δh) and the scaling factor (m). The scaling factor corresponds to the gradient of the line of best fit (i.e. the linear interpolation), which in the example ofFIG.4is −7.10 units/mm. The negative scaling factor arises because, in this particular example, the alignment value is used to decrease the offset that is applied to the firing of the nozzles. Consequently, as the height of a printhead increases, the alignment value decreases, and a larger offset is applied to the firing signals.

During use of the printer10, the speed of the carriage assembly20, and thus the speed at which the printheads21move over the print medium, may change. For example, the printer10may have different print modes having different carriage speeds. By way of example, the printer10may have ‘fast’, ‘normal’ and ‘best’ print modes for which the carriage speeds are respectively 60, 50 and 40 ips (inches per second).

The trajectory of a drop fired from a nozzle depends not just on the height of the printhead, but also on the speed of the printhead, i.e. the carriage speed. For example, when the speed of the printhead increases, the velocity component of the drop in a direction parallel to the scan axis increases. As a result, the difference between the position at which a drop is fired and the position at which the drop impacts the print medium increases. The print module36therefore applies an offset to the firing of the nozzles that is defined by the alignment value and by the carriage speed. In addition, the applicant has found that, at least for the printer that was the subject of study, the alignment value depends not just on the height of the printhead but also on the speed of the printhead. Accordingly, the method100may determine120an alignment value for each of the printheads that depends on the difference in height and the speed of the printheads.

As noted above with reference toFIG.4, for at least the printer that was the subject of study, the alignment value was found to vary linearly with printhead height. The alignment value, A, may therefore be defined as: A=Acal+m·Δh, where Acalis the calibration alignment value, m is a scaling factor and Δh is the difference in height between the current position and the calibration position. The applicant found that, at different carriage speeds, the alignment value continues to vary linearly with printhead height. However, the scaling factor (i.e. the gradient of the linear interpolated line) is different for different carriage speeds. The alignment value may therefore be defined as: A=Aref+m(s)·Δh, where m is a scaling factor that depends on the speed, s, of the printhead. The correction (m(s)·Δh) applied to the calibration alignment value (Acal) therefore varies as a function of both the difference in height (Δh) and the speed (s) of the printhead. Moreover, for at least the studied printer, the correction may be defined as the product of the difference in height (Δh) and a scaling factor (m), where the scaling factor (m) depends on a speed (s) of the printhead.

The storage medium32may store a scaling factor for each of the different printhead speeds (i.e. each of the different carriage speeds), and the alignment module37may select a scaling factor based on the current speed of the printhead21. This then provides a relatively simple way to calculate the scaling factor as a function of speed, particularly for a printer for which the carriage speed is one of a discrete set of values, e.g. 40, 50 and 60 ips. Nevertheless, the alignment module37may determine the scaling factor in other ways. For example, the alignment module may calculate the scaling factor based on the speed by means of a mathematical function or equation.

With the method described above, alignment of the printheads may be maintained at different heights without having to recalibrate the printheads. As a result, the printheads may be moved and image quality may be maintained without any downtime in printing. Additionally, the printing materials used for recalibration (e.g. print medium and printing fluids) may be spared.

For the printer that was the subject of study, the alignment value was observed to vary linearly with printhead height. The correction applied to the calibration alignment value may therefore be defined as the product of the difference in height and a scaling factor. For other types of printer, the function that describes the relationship between the alignment value and the printhead height may be non-linear. Accordingly, in a more general sense, the correction may be said to be a function of the difference in height, which may be expressed as a polynomial of any non-zero order.

In the example method described above, a different correction is applied to the calibration alignment value for each printhead. Whilst the calibration alignment value for one printhead may differ markedly from that of another printhead, the change in alignment value with printhead height may differ very little from one printhead to the next. Accordingly, rather than calculating a correction that is unique to each printhead, a single, common correction may be applied to each of the calibration alignment values. For example, with the printer that was the subject of study, the scaling factors (i.e. the gradient of the interpolated line ofFIG.4) for the printheads were found to lie in the range −6.24 to −7.90 units/mm, when printing at a carriage speed of 55 ips. Accordingly, rather than calculating a correction that is unique to each printhead, a single, common correction may be calculated based on a scaling factor of, say, −7.07 units/mm.

Some of the printheads21of the printer10ofFIG.1are responsible for firing different types of printing fluid. For example, each of the printheads responsible for firing a colorant comprises dies on the left-hand side through which a first printing fluid is fired (e.g. light magenta, yellow and cyan) and dies on the right-hand side through which a second printing fluid is fired (e.g. light cyan, magenta and black). Owing to differences in how the different printing fluids behave, different calibration alignment values and/or corrections may used for each of the printing fluids. Accordingly, the alignment module37may determine multiple alignment values for a single printhead.

Tolerances in the dies23of a printhead21may lead to a slight misalignment of drops. Accordingly, each of the dies may have a different calibration alignment value. For dies of the printhead21that fire the same printing fluid, the same correction may be applied to each of the calibration alignment values.

Although the printer10described above comprises a plurality of printheads21, the example methods described above may equally be applied to a printer having a single printhead.

The preceding description has been presented to illustrate and describe examples of the principles described. This description is not intended to be exhaustive or to limit these principles to any precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is to be understood that any feature described in relation to any one example may be used alone, or in combination with other features described, and may also be used in combination with any features of any other of the examples, or any combination of any other of the examples.