Abstract:
A method of controlling a media-advance drive motor of a printer in a manner that preserves accuracy in the incremental advances of print media between printing swaths, while optimizing throughput and accounting for variations in printer system response characteristics. A printer control algorithm commences each media-advance step by accelerating the media-advance drive motor to a maximum velocity. The motor is thereafter decelerated by controlling the drive voltage to the motor as needed to conform to a predetermined decaying velocity versus position function that is representative of a specimen system. The velocity versus position function is correlated to the required media position so that a media-advance motor following that function will arrive at a zero velocity at the precise instant that the media arrives at the position representing the end of its incremental advance.

Description:
TECHNICAL FIELD 
     This invention relates to methods and apparatus for rapid and accurate advancement of print media. 
     BACKGROUND AND SUMMARY OF THE INVENTION 
     Ink-jet printers of interest here include at least one print cartridge that contains ink within a reservoir. The reservoir is connected to a printhead that is mounted to the body of the cartridge. The printhead is controlled for ejecting minute drops of ink from the printhead to a sheet of print medium, such as paper, that is advanced through the printer. 
     The printer includes a carriage for holding the print cartridge. The carriage is scanned across the width of the paper, and the ejection of the drops onto the paper is controlled to form a swath of an image with each scan. The height of the printed swath (as measured in the direction the media is advanced) is fixed for a particular printhead. 
     Between carriage scans, the media is advanced so that the next swath of the image may be printed. In most cases, the base of the just-printed swath must be precisely aligned with the top of the next-printed swath so that a continuous image may be printed on the paper. Alternatively, the paper may be advanced by less that a full swath height to effect “shingling” type of printing. In any event, inaccurate media advances between scans of the carriage result in print quality artifacts known as banding. 
     The prevention of banding artifacts thus calls for precise control of the advancing media in discrete steps between printed swaths. The demand for accuracy in advancing media becomes greater as printhead development leads to higher and higher resolutions, thereby reducing the tolerances permitted in advancing the media. 
     The speed with which the print media is moved through a printer is an important design consideration called “throughput.” Throughput is usually measured in the number of sheets of printed media moved through the printer each minute. A high throughput is always desirable. 
     The time required for media advance between printed swaths is a large component of the overall time required for the printing task. Moreover, printhead development has and likely will provide increasingly large swath heights so that the media must be advanced a relatively larger distance between swaths, preferably without a reduction in throughput. Thus, the designer must balance the requirements for accurate media advance with the design goal of providing the highest throughput possible. 
     The tolerances permitted in media advance are so small that variations in system performance must be considered even within the same printer families, where otherwise identical drive motors and associated media-advance mechanisms are specified. For example, the friction characteristics of media-advance mechanisms (gears, feed rollers, etc.) in one printer will not precisely match those of another, otherwise identical printer. The same is true for the characteristics of the motor that drives the media-advance mechanisms. For convenience, these system frictions and motor characteristics will be hereafter collectively referred to as system response characteristics, which, as noted, vary at least to some degree from printer to printer. 
     The speed with which the printer is operated can exacerbate variations in system response characteristics. Thus, aggressively driving the media advance mechanisms to achieve the highest possible throughput would lead to, for example, banding artifacts in printers having relatively poor system response characteristics. 
     In the past, printer control systems have been designed to account for variations in system response characteristics so that all printers meet the media advance tolerances. One approach to this is to drive the media advance system conservatively so that acceleration and deceleration rates, as well as maximum velocities, can be achieved by worst-case systems (that is, systems with the poorest system response characteristics). It will be appreciated that this lowest-common-denominator approach inhibits the media-advance performance of systems that have average and above-average system response characteristics. 
     In other approaches, the conservative, worst-case drive approach is reserved for the end of the media advance step. That is, the media is advanced aggressively (rapidly) in a first stage for a majority of the incremental advance distance, but then slowed during a second (“final approach”) stage as the media moves into the proper position. Because of the large position errors that can arise during the first stage, the duration of the second stage is relatively long (despite the fact that the distance moved is small) in order to enable correction of the largest position errors. In this approach, therefore, throughput and media position accuracy is enhanced over what went before, although there remains room for improvement in throughput. The present invention provides that improvement. 
     The present invention is directed to a method of controlling a media-advance drive motor in a manner that preserves accuracy in the incremental advances of print media between printing swaths, while optimizing throughput and accounting for variations in printer system response characteristics. 
     The invention is primarily embodied in a printer control algorithm that commences each media advance step with a stage that accelerates the media-advance drive motor to its highest velocity. That is, the drive motor acceleration is not restricted to a predetermined acceleration curve, as may be provided with prior approaches to accommodate the worst-case systems as discussed above. 
     In the present invention, the printer&#39;s processor requirements are reduced during this first stage since the applied motor voltage does not have to be computed during acceleration, as would be the case if the motor were driven to match a predetermined acceleration curve. 
     This initial acceleration stage of the algorithm eliminates performance penalties that would otherwise apply to systems that can accelerate faster than “worst case” systems. Also, the drive motor is operated more efficiently because it is quickly brought up to an efficient operating range, thereby resulting in a cooler operating temperature and longer motor life. 
     Upon completion of the acceleration stage, the drive voltage is reduced to zero so that the motor decelerates. During this deceleration stage, the motor velocity is monitored and the drive voltage is adjusted from zero as needed to conform to a predetermined decaying velocity versus position function that is representative of a specimen system. The velocity versus position function is correlated to the required media position so that a media-advance motor following that function will arrive at a zero velocity at the precise instant that the media arrives at the position corresponding to the end of its incremental advance. 
     In one preferred embodiment, reference is made to the predetermined velocity versus position function for the purpose of selecting the instant when the deceleration stage should begin. The velocity versus position function is recorded in the printer firmware as a look-up table or equivalent equation. 
     Inasmuch as the decelerating motor generally follows a natural deceleration curve, the servo control effort for keeping the motor velocity on that curve is minimal. Thus, the motor can readily transition to a fully stopped mode because there will be little applied voltage at that time, which, as noted, corresponds to the desired or target position of the media. 
     Other advantages and features of the present invention will become clear upon review of the following portions of this specification and the drawings. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a perspective view of carriage, print cartridge, and media-advance components of an inkjet printer of the general type to which the present invention may be adapted. 
     FIG. 2 is a block diagram of a printer controller and associated components for which the present invention may be adapted. 
     FIG. 3 is a graph illustrating the behavior of different media-advance drive motors operated in accord with the present invention. 
     FIG. 4 is a flow diagram for describing process steps undertaken in carrying out method of the present invention. 
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
     FIG. 1 depicts media-advance and print cartridge mechanisms used in a typical ink-jet printer  10  and for which the present invention may be adapted. The system includes a feed roller  12  that rotates about an axis  14  to advance, incrementally, paper  15  in a paper-advance direction shown by arrow  17 . Other printable media (transparencies, photo media, etc.) may be used as well as paper. 
     The printer includes a carriage  16  that supports one or more print cartridges  18  (two shown in FIG.  1 : a multicolor ink cartridge and a black ink cartridge). The carriage  16  is supported by a carriage support rod  20  and controlled to scan back and forth across the paper  15  along the rod  20  in a direction perpendicular to the paper-advance direction  17 . 
     As the carriage  16  is scanned across the paper  15 , a swath of an image or text is printed to the underlying paper. That is, the print cartridges  18  are controlled to print a swath of information. A printed swath is illustrated by the space between the parallel dashed lines labeled “S 1 ” in the figure. In the figure, the carriage  16  is shown at the location it will reach after completing movement across the paper from left to right in printing swath S 1 . 
     After the swath S 1  is printed, the media-advance mechanisms  24  are operated to advance the paper  15  by one swath height (measured parallel to the paper-advance direction  17 ) so that the next swath S 2  may be printed by the cartridges  18  as the carriage is scanned across the paper  15 . Swath S 2  is shown in the figure prior to being printed by the pens as the carriage makes a return scan, right to left in FIG.  1 ). 
     A DC drive motor  22  that is connected via gears to the feed roller  12  controls the paper advance movement. It is pointed out that any of a variety of mechanisms may be employed for linking the motor  22  and feed roller for controlled advance of the paper. Only two gears are shown here for the sake of simplicity. 
     As noted above, the paper advance mechanisms must be controlled in a manner that rapidly advances the paper  15  in a precise increment from a first position (where, for example, swath S 1  may be printed) to a second position (where, for example, S 2  may be printed). FIG. 2 depicts a block diagram of a printer controller for carrying out the present invention. 
     In particular, the printer controller  30  includes a multipurpose microprocessor  32 , which, for the purposes of simplicity, is described here in connection only with its paper advance tasks. That processor includes associated memory  34  that is pre-programmed to carry out the method of the present invention as explained below. The printer controller  30  is provided with conventional clocking components  36  with which, among other things, certain velocities may be calculated as described more below. 
     Whenever a printing task is undertaken and, in particular, whenever the print media  15  needs to be advanced by one discrete increment, the microprocessor  32  provides via motor driver  3   8  signals that are suitable for driving the motor  22 . In this regard, the signals may be in the form of a drive voltage placed across the input terminals of the motor. The resulting current rotates the motor shaft and connected gears and feed roller  12 . 
     The microprocessor is apprised by the printer firmware (memory  34 ) of the distance that that paper must be advanced after each swath is printed. The motor motion (which is correlated to the paper advance distance) is monitored by microprocessor  32  via an analog, rotary encoder  40  that is associated with the rotating drive shaft of the motor. Suitably conditioned feedback signals are provided to the microprocessor  32  so that, in conjunction with the system clock information, the microprocessor can instantaneously calculate the motor velocity and paper position. 
     In accordance with the present invention, the paper-advance motor  22  is controlled as follows to carry out the precise and rapid media advance features summarized above. 
     As a first stage of this control, the motor  22  is driven via the application of a constant drive voltage. In a preferred embodiment, the constant voltage enables the motor to accelerate as fast as it can. In an alternative embodiment, a constant voltage less than this maximum-acceleration voltage may be selected. In any event, no acceleration curve is imposed, which is to say that no servo control of the motor is undertaken during this full-acceleration stage. 
     The feedback information from the rotary encoder  40  is monitored so that the microprocessor is continuously apprised (at a very high sampling rate) of the instantaneous velocity of the motor. As noted, however, this monitoring is not employed for controlling or otherwise limiting the motor acceleration during this stage. 
     The second stage of this control method adjusts the drive voltage applied to the motor  22  so that the motor decelerates to zero velocity. Moreover, this deceleration stage of the motor is controlled so that the motor velocity follows a predetermined, decaying velocity versus position function that is correlated with the paper position such that the paper will move precisely into the second or “target” position (to enable thereafter the printing of swath S 2 ) when the motor reaches the zero-velocity end of the pre-programmed function. 
     The pre-programmed, decaying velocity versus position function can be considered as an exponentially diminishing curve, such as is graphically represented by the solid line  42  in FIG.  3 . The graphically depicted deceleration function  42  represents the behavior of a specimen motor (that is, a motor having the same design specifications as the motor  22  used in the printer) as it decelerates following the switch from a full drive voltage to zero voltage. This function information is recorded in advance (as by testing at least one, but preferably several, identical motors) in the printer memory  34 . The function may be stored in the form of a look-up table (LUT) or equivalent equation. 
     The controller  30  associates the deceleration function  42  with the position of the print media. That is, a zero-velocity point V 0  in the function  42  is correlated to the target position P 2  of the print media. Thus, at any point along this curve  42  there is a pre-established position error P e  that identifies the distance from the target location P 2 . It will be appreciated, therefore, that a paper-advance motor that is controlled to follow the deceleration curve  42  will move the print media into its proper target position P 2  just as the motor reaches the zero-velocity point in the function. The second stage of one preferred control method of the present invention controls the printer motor  22  in just that fashion, as described more fully below. 
     The combination of the first and second stages of the control method of the present invention can be described with particular reference to FIG.  3  and the flow chart of FIG.  4 . The long-dashed-line curve  44  in FIG. 3 represents the response of the drive motor  22  as it is driven via the application of the first-stage constant voltage as described above (step  50 , FIG.  4 ). The motor accelerates from an initial velocity of zero (as the paper is secured in position P 1  during the printing of the first swath S 1 ) to its maximum velocity. 
     In accordance with the present invention, the drive voltage applied to the motor  22  is switched to zero at the instant the motor acceleration curve  44  intersects the predetermined deceleration function  42 . In this regard, the microprocessor  32  continuously monitors the motor velocity and calculates the position error, which is the distance of the paper from position P 2 . The paper position error is matched with a previously stored (as in a look-up table) position error P e  of the deceleration function  42  (steps  52 ,  54  in FIG.  4 ). 
     If the actual motor velocity for the monitored position error of the paper is below the deceleration function velocity associated with that position, the motor will continue to accelerate. Once the motor velocity equals or exceeds that deceleration function velocity, the drive voltage applied to the motor  22  is switched to zero as mentioned above. 
     Put another way, as soon as the monitored motor acceleration curve  44  intersects the curve  42  of the deceleration function, the acceleration stage or period is concluded, and the control method shifts to the second, deceleration stage of the method. For the acceleration curve  44  of an average or typical motor, this intersection is shown at point X T  in FIG.  3 . This stage commences with changing to zero the drive voltage that is applied to the motor (step  56 , FIG.  4 ). Thereafter, the motor velocity is controlled to follow the deceleration function (step  58 , FIG.  4 ). 
     It is noteworthy here that some motors may accelerate relatively quickly to their maximum velocity. An example of this is shown in the acceleration curve  60  in FIG.  3 . The acceleration curve for such a motor will intersect the deceleration curve  42  at a different location (X F  in FIG. 3, a higher velocity) than that X T  of a typical motor. Similarly, the acceleration curve  62  for a slower than typical accelerating motor will intersect the deceleration curve  42  at yet a different location (X S  in FIG. 3, lower velocity) that X T  of a typical motor. Irrespective of where the particular motor acceleration curve intersects the deceleration function curve  42 , the motor velocity is thereafter controlled to follow that function. 
     It is contemplated that some system constraints (such as noise levels) may require that the motor velocity never exceed a maximum V M  level, even though the motor may be capable of accelerating to a higher level before intersecting the deceleration function as discussed above. In such an instance, that maximum velocity of the motor may be maintained at a constant level for an intermediate stage until the position error and velocity corresponding to that constant-velocity motor intersect to commence the deceleration stage as noted above. 
     This intermediate stage can be considered with reference to the dotted line  66  in FIG.  3 . When this optional stage is implemented, the motor velocity will be controlled to stop accelerating when the motor&#39;s velocity reaches V M . (Note that some slow-acceleration motors, such as that represented by curve  62 , may intersect the deceleration function curve before reaching the established maximum velocity V M .) Once the maximum velocity is reached, the motor velocity is thereafter maintained as near as possible to the maximum, following that curve  66  until intersecting, at X M , the deceleration function  42 . 
     Once the motor velocity (following constant velocity curve  66 ) intersects the deceleration function curve, the control method then switches to the deceleration stage mentioned above and summarized next in connection with a motor that presents a typical acceleration curve  44 . As noted above, minimal control effort is required to ensure that the actual motor velocity tracks the deceleration function  42 . For instance, if at a sampled error position P e1  the actual motor velocity (shown by point  144  in FIG. 3) is greater than that of the deceleration function  42  by an amount V e1 , the controller&#39;s microprocessor  32  drives the motor with a (small) voltage suitable for reducing the motor velocity by an amount sufficient to match that of the deceleration curve at that error position. 
     Similarly, if at a sampled error position P e2  the actual motor velocity (shown as point  244 ) is less than that of the deceleration function by an amount V e2 , the controller&#39;s microprocessor  32  drives the motor with voltage suitable for increasing the motor velocity by an amount sufficient to match that of the deceleration curve at that error position. 
     The adjustments ensure that the system is gradually decelerated and the motor is transitioned to a zero velocity as the paper moves into the target position. 
     It is noted that the specimen motor may be selected to be one that is known to decelerate less rapidly than the printer motors to be controlled. As a result, any required voltage adjustments as discussed above will be made via a positive applied voltage. 
     Although preferred and alternative embodiments of the present invention have been described, it will be appreciated by one of ordinary skill that the spirit and scope of the invention is not limited to those embodiments, but extends to the various modifications and equivalents as defined in the appended claims.