This application is related to the following U.S. patents/applications, which are hereby incorporated by reference herein:
U.S. Pat. No. 6,819,347, issued on Nov. 16, 2004, entitled, “Thermal Response Correction System”;
U.S. Pat. No. 7,295,224, issued on Nov. 13, 2007, entitled, “Thermal Response Correction System”;
U.S. Pat. No. 7,298,387, issued on Nov. 20, 2007, entitled, “Thermal Response Correction System”;
U.S. Pat. No. 7,176,953, issued on Feb. 13, 2007, entitled “Thermal Response Correction System”; and
U.S. patent application Ser. No. 11/332,530, filed on Jun. 13, 2006, entitled, “Printer Thermal Response Calibration System”.
Referring to
A thermal print head element is activated by providing it with energy. Providing energy to the print head element increases the temperature of the print head element, causing either the transfer of colorant to the output medium 1012 or the formation of color in the output medium 1012. The density of the output produced by the print head element in this manner is a function of the amount of energy provided to the print head element. The amount of energy provided to the print head element may be varied by, for example, varying the amount of power provided to the print head element within a particular time interval or by providing power to the print head element for a varying time interval.
The thermal printer 1002 also contains a platen 1014 which comes into contact with the output medium 1012 as it passes through the printer 1002. The platen temperature, which may change over time, therefore affects the temperature of the medium 1012 as the medium 1012 passes under the thermal print head 1008. The temperature of the output medium 1012 affects the print density. Because the temperature of the platen 1014 affects the temperature of the output medium 1012, the platen temperature therefore indirectly affects print density, thereby causing undesirable artifacts in the output.
What is needed, therefore, are techniques for eliminating or mitigating undesirable effects of platen temperature on print density.
The input energies provided to a print head of a thermal printer are adjusted based on the temperature of the platen in the thermal printer. The platen temperature may be measured by a sensor or predicted by a platen temperature model. Such a model may derive the predicted platen temperature from an observed temperature of a heat sink in the thermal printer. A thermal history control algorithm may use the platen temperature, whether actual or predicted, to compensate for the platen temperature by adjusting the input energies.
Other features and advantages of various aspects and embodiments of the present invention will become apparent from the following description and from the claims.
There are two options for ensuring accurate control over the print densities stemming from platen temperature variations: (1) maintaining the platen 1014 at a fixed temperature; and (2) actively compensating for the temperature of the platen 1014 by modifying the energy supplied to the print head 1008. It is not easy in practice to maintain the platen 1014 at a fixed temperature because, for example, the platen 1014 may be heated and/or cooled directly by the print head 1008 through the medium 1012 during printing or by the printer frame 1018 while the printer 1002 is idling or printing. The only practical solution, therefore, is to actively compensate for changes in the platen temperature.
This requires some means to measure the platen temperature. It is undesirable, however, to directly measure the platen temperature for at least two reasons. First, the moving platen surface complicates the placement and reliability of the temperature sensor. Second, providing the thermal printer 1002 with an additional sensor has a non-trivial cost which may be prohibitive in an otherwise inexpensive consumer printer.
Some embodiments of the present invention are directed to a computational model for predicting the platen temperature based on data obtained from an existing temperature sensor 1004 attached to the heat sink 1006 of the print head 1008. This predicted platen temperature is then used in conjunction with a thermal history control (THC) algorithm to control the energy to the print head 1008.
Embodiments of the present invention are directed to a model of platen temperature as a function of a temperature within the thermal printer, such as a function of a heat sink in the thermal printer. For example, referring to
In the embodiment illustrated in
The quantity αp in Equation 1 is defined by Equation 2.
αp≡1−αa−αh, Equation 2
The quantities Th and Ta in Equation 1 are the temperatures of the heat sink 1006 and internal ambient air 1016, respectively. Therefore, and as shown in
The platen temperature model 1100 includes parameters αh 1102a and αa 1102b, which control the heat flow between the platen and the heat-sink (αh) and the internal ambient (αa), respectively. Note that these parameters are functions of the update time Δt. These parameters 1102 may be estimated from direct measurement of the platen temperature under different printing conditions. The parameters 1102 may be estimated in any of a variety of ways, examples of which will be described below. In general, however,
An update time interval Δt is selected (step 1302). The parameters 1102 are initialized to some initial values (step 1304). Input energies are provided to the print head 1008 to cause it to produce output on the output medium 1012 (step 1306). For example, input energies representing an image to be printed may be provided to the print head 1008 over a sequence of time intervals. During the course of printing, the temperature Tp of the platen 1014 is directly measured (step 1308), such as by using a temperature sensor (not shown) coupled to the platen 1014. The external ambient temperature is identified (step 1310). The heat sink temperature is identified at all time instances nΔt (step 1312).
The temperature Ta of the ambient air 1016 is identified (step 1314), such as through direct measurement or estimation via model. The platen model is used to predict the platen temperatures for all time instances nΔt (step 1316). The parameters 1102 are estimated by minimizing the error between the measured platen temperature and the predicted platen temperature at all time instances produced by step 1214 (step 1318). Although steps 1306-1318 are illustrated as a single iteration in
The heat-sink temperature 1106 driving the model 1100 is not shown in the plot of
Note that the estimated model parameters, αh 1102a and αa 1102b in
Once the parameters 1102 have been updated, they may be used to predict the platen temperature using Equation 1, as further shown in
The time instance counter n is incremented (step 1212). The platen temperature Tp(n) 1108 at time instance n is updated based on the parameters 1102, the heat sink temperature Th(n−1) 1104, the internal ambient temperature Ta(n−1) 1106, and the platen temperature Tp(n−1) 1112 (step 1214). The method 1200 returns to step 1208 and repeats steps 1208-1214, thereby repeatedly updating the platen temperature Tp(n) 1108 for each successive time interval.
Recall that the platen temperature model 1100 of Equation 1 updates the platen temperature Tp(n) 1108 at an update interval Δt. It is useful to derive how the model parameters 1102 scale with respect to the update time interval. Let Δt′=kΔt be a new time update interval for the platen model. We are interested in computing αh(Δt′) and αa(Δt′) in terms of αh(Δt) and αa(Δt). For the sake of readability, we will sometimes drop the explicit dependence of the α's on the update time interval. In these instances, the α's are assumed to depend on Δt rather than Δt′.
Repetitive application of Equation 1 k times yields Equation 3.
The values {Th(0), . . . , Th(k−1)} are not available in the coarser sampling interval Δt′. The model of Equation 1, however, assumes that the update time interval is small enough that it is accurate to assume a constant heat-sink and internal ambient temperature throughout the interval. Therefore, assuming Th(m)≈Th(0), Ta(m)≈Ta(0), m=0, . . . , k−1, Equation 3 reduces to Equation 4.
Since Equation 4 represents the platen temperature update over time interval kΔt, the model parameters for the new update time are obtained by comparing the forms of Equation 4 and Equation 1, as shown in Equation 5-Equation 7.
We verify that the property required by Equation 2 is still satisfied for these scaling formulae, as shown in Equation 8. In the case where update time interval kΔt is used, the parameters 1102a-b may be identified (step 1202) and then adjusted for the update time interval kΔt before performing step 1206 in
The platen temperature model 1100 given by Equation 1 requires the platen temperature at the previous time instance 1112 to obtain the current prediction 1108. This poses a problem at start-up since we do not have an initial estimate (i.e., at n=0) of the platen temperature. The only reading available at start-up is that of the heat-sink 1006. One option is to just initialize the platen temperature to the heat-sink temperature on which we have a thermistor 1004. This strategy is good if the printer 1002 has been shut down for a long time and the internal structure of the printer 1002 is in thermal equilibrium. However, it is not very good when the printer 1002 is started in a non-equilibrium state, such as after a printer crash during active printing.
Let the time indices −k and 0 denote shut-down and wake-up time instances respectively. For the following treatment of platen temperature initialization, we will assume that Ta is approximately constant whenever the time index is omitted. If the value of Ta is not constant between the shut-down and wake-up time, an average value may be used. Examples of two initialization options will now be described: steady state initialization and dynamic state initialization.
If the head heat-sink 1006 is in steady state (determined from rate of change of its temperature), then the platen temperature at start-up is given by Equation 9.
Referring to
This model assumes that the decay time constant of the print head 1008 is approximately equal to the decay time constant of the platen 1014.
The maximum error in this case is approximately 1 C. The errors are larger when then the printer 1002 is shut down very soon after printing and then restarted within 10 minutes. The initialization error improves as more time elapses between shut-down and wake-up or the printer 1002 is shut down after at least 10 minutes of idling.
An alternative initialization model estimates the elapsed time between shut-down and wake-up and then uses the platen model 1100 given by Equation 1 to update the platen temperature at the present time instance. This model assumes that the heat-sink temperature decays with a single time constant for the purposes of computing the elapsed time. Referring to
Let τh denote the decay time constant of the heat-sink 1006 when the printer 1002 is idling (step 1422). For the data set shown in
Equation 5-Equation 7 are used to compute the model parameters for the elapsed time Δt′ (step 1430). The initial platen temperature is then obtained by Equation 12 (step 1432).
Tp(0)=αp(Δt′)Tp(−k)+αh(Δt′)Th(−k)+αa(Δt′)Ta(−k) Equation 12
The initialization algorithm may be improved by modeling the temperature decay of the heat-sink 1006, as shown in the method 1440 of
During the shut-down period when we are unable to sample the heat-sink temperature Th, we model it according to Equation 14.
Substituting Equation 14 into Equation 13, we obtain Equation 15.
The parameter αrh in Equation 15 is given by Equation 16.
The method 1440 of
The platen temperature model given by Equation 1 requires the internal ambient temperature Ta(n), which primarily controls the cooling of the platen 1014. This internal ambient temperature may be interpreted as a combination of the temperature of the surrounding air 1016 and the core temperature of the platen 1014. A dedicated sensor (not shown) may be used to measure the internal ambient temperature. However, depending on the construction of the printer 1002, the internal temperature may vary from one point to another and the sensor may not measure the temperature most relevant to the platen temperature prediction. In this case, it may be better to use a model for the internal ambient temperature Ta(n), with the goal of achieving the best possible platen temperature prediction. Referring to
In the embodiment illustrated in
Better results may be obtained if one allows some time to elapse after active printing before applying Equation 17 in order for the single time constant model to be valid. Even then, the estimate may be very noisy. Since Ta is typically very slow varying, the estimate provided by Equation 17 may be averaged over relatively long periods of time to reduce noise.
A model similar to the platen model is employed to predict the internal ambient temperature. The heat sink temperature is used as an indicator of the amount of heat being generated inside the printer 1002. More specifically, the heat sink temperature at time interval n−1 may be identified. The external ambient
As in the platen model,
Referring to
More specifically, an update time interval Δt is selected (step 1562). Initial values of the parameters αh and αa of the platen model and parameters
Parameters αh, αa,
Once the platen temperature has been estimated, it may be used to compensate for the input energies provided to the print head 1008. Embodiments of two methods for adjusting the input energies based on the estimated platen temperature will be described. In general, in the first method, the estimated platen temperature is used to modify an estimate of the print head temperature, and the modified print head temperature is then provided as input to a thermal history control algorithm to produce a modified input energy to provide to the print head. In general, in the second method, the thermal history control algorithm is applied using the original (unmodified) estimate of the print head temperature, and the estimated platen temperature is then used to modify the input energy that is output by the thermal history control algorithm.
More specifically, the first method may be performed as follows. First, the estimated platen temperature is used to modify an estimate of the print head temperature. This platen temperature correction may be performed in a manner similar to the initial temperature compensation of the medium (the ambient temperature to which the medium is exposed) since platen temperature also affects the bulk temperature of media. For example, previously we have shown that the ambient temperature variation of the medium may be compensated for by modifying the heat-sink temperature used by a thermal history control (THC) algorithm. (See U.S. Pat. No. 7,295,224, issued on Nov. 13, 2007, entitled “Thermal Response Correction System.”) For example, Equation 20 may be used to correct the heat-sink temperature based on the platen temperature.
Th′=Th+fp(Tp−Tpc) Equation 20
The corrected heat sink temperature T′h that is output by Equation 20 may be supplied to the THC algorithm to produce an input energy that reflects the estimated platen temperature. In Equation 20, Tpc is the platen temperature at which the THC algorithm is calibrated, and fp is the platen correction factor that controls the effective contribution of platen temperature to the heat-sink temperature. Note that heat sink temperature is merely one example of a temperature that may be used by the thermal history control algorithm. More generally, any temperature within the thermal printer may be used for the same purpose.
Referring to
The method 1600 identifies a platen correction factor (step 1610). Examples of techniques by which the platen correction factor may be estimated will be described below. The method 1600 identifies the modified heat sink temperature based on the original heat sink temperature and the platen correction factor (Equation 20) (step 1612). The THC algorithm is used to identify an input energy based on the desired density and the modified heat sink temperature (step 1614). The input energy is provided to the print head 1008 (step 1616).
Referring to
E′(D)=E(D)+Sp(D)(Tp−Tpc) Equation 21
More specifically, the method 1620 identifies a desired density to be printed (step 1622) and the temperature of the heat sink 1006 (step 1624). The thermal history control algorithm is used to identify an initial input energy based on the desired density and the heat sink temperature (step 1626).
Then, for each color (step 1628), the method 1620 identifies a platen temperature sensitivity for the current color (step 1630). Examples of ways of which different platen temperature sensitivities may be identified for different colors will be described below. The method 1620 identifies a modified input energy based on the original input energy (from step 1626) and the platen temperature sensitivity using Equation 21 (step 1632).
The method 1620 provides the modified input energy to the print head for the current color (step 1634). Steps 1630-1634 are repeated for the remaining colors (step 1636).
Referring to
The second method is conceptually harder but easier to practice. In this method, the data are collected by varying the platen temperature in addition to all the factors affecting the thermal history in the printer 1002. The THC parameters, such as sensitivity to the heat sink temperature, are now coupled with the platen correction parameters, such as fp, or platen temperature sensitivity, which controls the sensitivity to platen temperature. The estimation of platen correction parameters is performed simultaneously with the rest of THC parameters. These two methods will now be described in more detail.
According to a first embodiment 1700 of the first method for estimating fp, the parameter estimation process is divided into two steps. In the first step, the print density data are collected by varying all factors that affect thermal history in the printer 1002, except that the platen temperature is kept fixed at Tpc. These data are used to determine all the THC parameters (step 1702). In the second step, a plurality of different values of fp are tried (step 1704). For each value of fp, the heat sink temperature is modified based on the value of fp Equation 20 (step 1706). A constant-density image is printed, with thermal history control using the modified heat sink temperature to compensate for all thermal history effects (step 1708). The resulting printed densities are measured (step 1710). Steps 1706-1710 are repeated for all desired values of fp (step 1712). The value of fp which resulted in a printed image with densities that are closest to constant is selected (step 1714). If none of the tried values result in good compensation, an intermediate value may be chosen by interpolation between the tried values.
Referring to the method 1720 of
In Equation 22, Se(D) and Γ(D) are the effective sensitivity and gamma curve respectively employed by the THC algorithm at density D, as described in more detail in U.S. patent application Ser. No. 11/332,530, filed on Jun. 13, 2006, entitled, “Printer Thermal Response Calibration System.” Note that fp is independent of print density even though each of its constituent factors are functions of density. If the correction model accurately describes the observations, these density dependencies will automatically cancel out to yield a value independent of density.
According to the second method 1750 (
The calibration data are collected by applying a constant energy to the print elements for N>>1 pixels (step 1752) and then measuring the print density as a function of applied energy, heat sink temperature, and the platen temperature (step 1754). Steps 1752 and 1754 may be repeated for a variety of energies to produce measurements for a variety of densities. For the THC model, it can be shown that the energy to print a density D is given by Equation 23.
E(D)=Γ−1(D)+Se(D)(Th−TΓ) Equation 23
In Equation 23, the TΓ denotes the heat sink temperature at which Γ(∩) is measured and Se is the sensitivity to the heat sink temperature, known as “effective sensitivity.” Both Γ(∩) and Se are parameters of the media model of THC that need to be estimated from the data. For the derivation of Equation 23 from the media and thermal models of THC, refer to U.S. patent application Ser. No. 11/332,530, filed on Jun. 13, 2006, entitled, “Printer Thermal Response Calibration System.”
Substituting the modified heat sink temperature of Equation 20 into Equation 23, we obtain Equation 24.
E(D)=C(D)+Se(D)Th+Sp(D)(Tp−Tpc) Equation 24
In Equation 24, Sp denotes the sensitivity to platen temperature, given by Equation 25 and C(D) is given by Equation 26.
Sp(D)=fpSe(D) Equation 25
C(D)=Γ−1(D)−Se(D)TΓ. Equation 26
Equation 24 is a linear equation for any density D that relates the energy to the heat sink and platen temperature. The coefficients C, Se and Sp may be estimated by a multi linear regression that solves Equation 24 in a least squares sense for the measured data points (step 1756). Let M measurements be made at each density. In the following treatment, the density dependence of the coefficients will sometimes be suppressed for notational simplicity. Let {Em, Thm, Tpm}, m=1, . . . , M, denote the set of M measured data points with each triplet comprising the energy required to print a particular density at the measured heat sink and platen temperature. Then Equation 24, evaluated at each of the M data points, can be written as a set of M equations in a vector-matrix notation as given by Equation 27 and Equation 28.
The least squares estimate of the coefficients are given by Equation 29.
Using Equation 25, we obtain the estimate of fp and/or the platen temperature sensitivity (step 1758). (Note that step 1630 of method 1620 may identify the platen temperature sensitivity using the estimate from Equation 29.) In the first method of estimating fp, Equation 30 or Equation 31 may be used to obtain the estimate of fp.
Note that, in general, fp will be a function of density since the estimated sensitivities to heat sink and platen temperature are both functions of density. However, if the correction model given by Equation 20 is valid, the density dependence of both the sensitivities should cancel each other to yield a density independent fp. In practice, due to noise and model mismatch errors, fp will typically be a function of density. To obtain a density independent estimate to use in Equation 20, we use a density weighted average, as given by Equation 31.
In Equation 31, w(D) assign weights to the different densities. In this manner, the correction is made more accurate for some densities than others.
Embodiments of the present invention have a variety of advantages. In general, conventional thermal printing techniques do not explicitly take into account the effects of platen temperature on print density. As a result, such techniques tend to produce artifacts caused by changes in platen temperature which are not otherwise corrected for by conventional thermal history control. Embodiments of the present invention reduce or eliminate such artifacts by explicitly compensating for the effects of changes in platen temperature.
Furthermore, embodiments of the present invention include techniques for using a model of platen temperature to predict platen temperature based on input energies and observable data. As a result, platen temperature compensation may be performed even in the absence of platen temperature readings from a sensor, thereby eliminating the cost, size, and design complexity that would be incurred by the addition of such a sensor to the thermal printer. This benefit is particularly significant in the context of small consumer printers, for which maintaining a low cost is a high priority. Furthermore, the techniques disclosed herein are flexible enough to be used in conjunction with either predicted or actual platen temperatures.
It is to be understood that although the invention has been described above in terms of particular embodiments, the foregoing embodiments are provided as illustrative only, and do not limit or define the scope of the invention. Various other embodiments, including but not limited to the following, are also within the scope of the claims. For example, elements and components described herein may be further divided into additional components or joined together to form fewer components for performing the same functions.
The techniques described above may be implemented, for example, in hardware, software, firmware, or any combination thereof. The techniques described above may be implemented in one or more computer programs executing on a programmable computer including a processor, a storage medium readable by the processor (including, for example, volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. Program code may be applied to input entered using the input device to perform the functions described and to generate output. The output may be provided to one or more output devices.
Each computer program within the scope of the claims below may be implemented in any programming language, such as assembly language, machine language, a high-level procedural programming language, or an object-oriented programming language. The programming language may, for example, be a compiled or interpreted programming language.
Each such computer program may be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a computer processor. Method steps of the invention may be performed by a computer processor executing a program tangibly embodied on a computer-readable medium to perform functions of the invention by operating on input and generating output. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, the processor receives instructions and data from a read-only memory and/or a random access memory. Storage devices suitable for tangibly embodying computer program instructions include, for example, all forms of non-volatile memory, such as semiconductor memory devices, including EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROMs. Any of the foregoing may be supplemented by, or incorporated in, specially-designed ASICs (application-specific integrated circuits) or FPGAs (Field-Programmable Gate Arrays). A computer can generally also receive programs and data from a storage medium such as an internal disk (not shown) or a removable disk. These elements will also be found in a conventional desktop or workstation computer as well as other computers suitable for executing computer programs implementing the methods described herein, which may be used in conjunction with any digital print engine or marking engine, display monitor, or other raster output device capable of producing color or gray scale pixels on paper, film, display screen, or other output medium.
Number | Name | Date | Kind |
---|---|---|---|
4467335 | Schmidt et al. | Aug 1984 | A |
5051756 | Nomura et al. | Sep 1991 | A |
5220350 | Fujii | Jun 1993 | A |
5310989 | Russell et al. | May 1994 | A |
5553951 | Simpson et al. | Sep 1996 | A |
5869010 | Langer | Feb 1999 | A |
6134808 | Yapel et al. | Oct 2000 | A |
6186207 | Berghauser et al. | Feb 2001 | B1 |
6312879 | Slusarek et al. | Nov 2001 | B1 |
6413708 | Slusarek et al. | Jul 2002 | B1 |
6426179 | Slusarek et al. | Jul 2002 | B1 |
6431771 | Nagai et al. | Aug 2002 | B2 |
6440618 | Slusarek et al. | Aug 2002 | B1 |
6506528 | Owczarczyk et al. | Jan 2003 | B1 |
6506546 | Owozarczyk et al. | Jan 2003 | B1 |
6509393 | Malhotra | Jan 2003 | B2 |
6534226 | Owczarczyk et al. | Mar 2003 | B1 |
6537712 | Slusarek et al. | Mar 2003 | B1 |
6597385 | Verdyck | Jul 2003 | B2 |
6756192 | Slusarek et al. | Jun 2004 | B1 |
6759187 | Slusarek et al. | Jul 2004 | B1 |
6790569 | Yang et al. | Sep 2004 | B2 |
7112398 | Slusarek et al. | Sep 2006 | B2 |
7295224 | Busch et al. | Nov 2007 | B2 |
20020018944 | Irving et al. | Feb 2002 | A1 |
20020018967 | Irving et al. | Feb 2002 | A1 |
20020025498 | Yang et al. | Feb 2002 | A1 |
20030058326 | Araki et al. | Mar 2003 | A1 |
20030129552 | Slusarek et al. | Jul 2003 | A1 |
20040142255 | Slusarek et al. | Jul 2004 | A1 |
20040165054 | Saquib et al. | Aug 2004 | A1 |
20080136891 | Takano et al. | Jun 2008 | A1 |
Number | Date | Country |
---|---|---|
2004-142212 | May 2004 | JP |
2005246694 | Sep 2005 | JP |
Number | Date | Country | |
---|---|---|---|
20090175310 A1 | Jul 2009 | US |