A power supply of a device can be sized to support potential loads set to their maximum value with maximum time correlation. This can result in a very large and expensive power supply, capable of supporting pathologically large, unmanaged, corner-case loads continuously. Although such large power supplies do not need power management, their large capacity may result in inefficiencies under most operational conditions where the device encounters a fraction of its maximum load rating.
When printing long jobs (e.g., greater than a few pages of printing), a printer power supply risks using excessive power and damage to the power supply, due to the power supply heating up over time and becoming less efficient. In practice, a time between cut sheet print jobs allows for some cooling of the power supply. However, with continuous print jobs (e.g., roll or z-fold print media), the cooling period may not occur, resulting in a need to limit print speed to prevent the power supply from exceeding its design limits. A large capacity power supply can be used, but likely will spend a large majority of time operating inefficiently at a small fraction of its maximum load rating. Further, large capacity power supplies likely need power factor correction (PFC) circuits (further reducing switching efficiency) and large circuit components (transformers, transistors, bulk capacitors, diodes) that are expensive and consume a large carbon footprint.
To address such issues, examples described herein may selectively increase and decrease a print speed of a printer device intra-page according to a response curve, to cause printer power consumption over time to substantially track a power curve corresponding to a power output of a power supply. Thus, examples can maximize print speed without exceeding a peak power output and/or thermal limit of the power supply when printing according to the response curve. In this manner, examples described herein may use delivered ink data to adjust printer speed, allowing for smaller, more efficient power supplies while taking into account previous printer behavior and predicted future behavior, as well as acting on intra-page time scales to handle transients within a page (e.g., stripes of light and heavy print data). Further, examples can address power supplies having a plurality of power rails, e.g., to address a plurality of print heads dividing the total output of a power supply.
An example power supply may be associated with operating characteristics that are a function of time (e.g., capable of outputting 120 Watts for 1 second, 60 Watts for 1 hour, and so on), due to heating of the power supply or other time-based effects. If operated above this limit, issues can arise such as blown fuses, overheating, etc., that can lead to a failure of the system. The power supply can be associated with a power curve that varies with time, based on the output characteristics of the power supply during operation. Examples described herein can use one or more digital filters to provide a frequency response curve that tracks, i.e., closely or exactly matches, the actual power response curve of the power supply. Example approaches can adjust system print speeds to saturate the power response curve to maximize printer speeds without substantially exceeding the power response curve in a manner (e.g., for an extended time or magnitude) that might harm the power supply or printer. Thus, printer performance can match the actual power response capability of a printer power supply. The filter response curve can be dynamically created to mirror the power supply response curve by using the energy/printer data received at the printer (e.g., in the form of pixel data). A printer controller can generate and use a feedback loop to raise or lower the print speed dynamically intra-page, to operate the printer at or slightly below the power supply's maximum allowed power response curve. Thus, the printer can be operated at the maximum, safely allowable print speed for a given power supply that is sized efficiently and affordably for a given printer.
As used herein, printer devices and printer systems include scanning inkjet printers, page-wide array printers, 3D printers, and other technology. For example, printers can include one or more printheads, such as a page-wide array printer including an array of printheads that span a print media and/or a single printhead that spans the print media. 3D printing may include the deposition of consumable fluids or other consumable materials in a layer-wise additive manufacturing process. Consumables include consumable materials used, such as inks, powders, and so on. Printing on media can include covering a layer of powder-based build material.
The printer device 100 is to provide page-wide array printing. Accordingly, instead of moving/scanning a print head along a swath across a page, the printer device 100 can print using a fixed array of print head nozzles (not shown) that are stationary relative to the printer device 100, by moving the paper across the print head(s). Thus, the entire width of the page of the printer device 100 can serve as a swath, and the paper is advanced along that swath to provide relative movement between the print heads and paper for printing. In an example printer device 100, the page-wide array printing swath, based on relative motion between print heads and the paper, is on the order of 11 inches wide and can extend thousands of feet long or longer (e.g., by virtue of continuous feed printing using roll-fed media).
Printing by the printer device 100 can continue for minutes, hours, or longer during continuous feed printing. Roll-fed media does not involve cut sheet pages, and so does not provide a timing break between pages every few seconds during which the printer device 100 could have an opportunity to rest the power supply and perform a health check on the print heads. Furthermore, continuous feed printing does not use an input tray holding a finite number of pages that enables the printer to stop and rest during refills of the input tray.
Accordingly, the printer device 100 can be printing for long sustained periods, and the controller 110 can adjust and maximize the print speed 112, while avoiding issues such as overheating of the power supply in view of the extended printing and variations in print data density over time. The controller 110 can interpret data and perform adjustments continuously, avoiding inefficiencies that might arise based on using a discrete integer value print speed limit threshold. The controller 110 can identify the past print data 142, and the present and future print data 132, to identify how long a print job is, and for example slowly adjust the print speed 112 performance over time in a least invasive/limiting manner according to the response curve 120, to cause the power consumption of the printer to track and/or stay under the power curve 122 and prevent overheating of the power supply. Because the controller 110 can track the power curve 122 without needlessly slowing or pausing the printer device 100, the controller 110 is able to maximize print speed 112 and saturate the power curve 122, making the most of a given power supply while protecting it from overheating, even in demanding and lengthy continuous feed printing jobs using roll-fed media. The controller 110 does not need to pause printing in short bursts on a page-by-page basis to analyze/assess print data. Rather, the controller 110 can continuously analyze past/present/future print data 132, 142 in real-time on the fly while printing, and directly measure present power consumption (e.g., via a current meter and/or voltage meter) to ensure that printing demands remain within the power curve 122 and/or any other regulated specifications of the power supply (such as a peak power output 134 and/or thermal limit 144).
Generally, the controller 110 can adjust the print speed 112 to affect how much power is needed from a power supply, because the total energy needed during a print is fixed, and the power used varies directly with the print speed (and/or print quality and density of ink coverage used). The controller 110 can monitor a power supply error (e.g., how far the power supply is operating from its limit, based on a difference between the power curve 122 and the response curve 120), which can be fed back into determining the print speed 112 to ensure the power supply is being utilized at its maximum operating level. In an example, the controller 110 may use a modified/enhanced proportional-integral-derivative (PID) approach, which includes multiple enhancements. In general, a PID approach may include a proportional value (corresponding to a present error), an integral value (corresponding to an accumulation of past errors), and a derivative value (corresponding to a prediction of future errors based on a current rate of change). The enhanced PID approach of the present examples can include damping added to the response curve 120, to address and/or prevent potential undershooting of the power curve 122 (e.g., if the power used temporarily exceeds but is approaching the limit of the power curve 122). The enhanced PID approach also can include, in addition to the general PID terms, a second derivative (e.g., PIDD; see element 226 of
The enhanced PID approach used by the controller 110 can include two operational regimes, to consider 1) the past print data 142 and its effect on heating the power supply regarding a thermal limit 144, and 2) the present and future print data 132 to instantaneously ensure the power supply doesn't exceed the peak power output 134 by an excessive amount of time or magnitude. The controller 110 can then identify an appropriate print speed 112, based on the current print speed 112, the power that will be accumulated if the current print speed 112 is maintained, and by looking ahead at the future print data and how much ink/printing density will be involved. For example, the controller 110 can slow down the current print speed 112, to avoid speed oscillations and reduce the temperature of the power supply in view of an upcoming high-density region to be printed. Thus, the controller 110 can adjust the print speed 112 by slowing down or speeding up intra-page, based on multiple regimes to ensure a good user experience by avoiding speed oscillations and attempting to reach a steady state constant print speed associated with improved acoustics while maximizing print speed 112 and avoiding exceeding the capacity of the power supply.
The short-term energy data 130 and long-term energy data 140 are used by the controller 110 to generate the response curve 120, which is used to control the print speed 112. The short-term energy data 130 and long-term energy data 140 can be obtained from pixel data corresponding to past, present, and future print data 132, 142. For example, the controller 110 can refer to a densitometer to identify how many ink dots are fired, and correlate the amount of energy needed to fire each dot based on known calibration of the printer device 100. Such information, along with a turn-on energy of a print head pen, can be stored in identification bits in the pen of the print head of the printer device 100. The controller 110 thus can identify a profile of power needed over time for an arbitrary length of print data to predict needed power/energy data regarding the response curve 120 and power curve 122. The controller 110 also can directly measure based on a current sensor (not shown) in the printer device 100, such as a sense resistor to measure a voltage drop continuously to enable the controller 110 to develop a continuous time profile of power use measured in real time.
The controller 110 can increase or decrease the print speed 112 intra-page, according to closed-loop control. Furthermore, the controller 110 can adjust and/or adapt the print speed 112 during a pass along the swath of the printer device 100, unlike conventional printers that do not perform adjustments during a print head pass along a swath of the print head. The controller 110 also can perform small incremental adjustments to the print speed 112, e.g., one inch-per-second (IPS) changes in speed to avoid print quality (PQ) issues that may be associated with abrupt (e.g., 10 IPS and greater) changes in the print speed 112.
Intra-page adjustments to the print speed 112 can include adjustments made at increments smaller than a page. For example, a standard page length for an A4 printer is 11.7 inches. Thus, intra-page can include adjustments made when the print media advances along the swath of the printer device 100 for less than the length of a standard page for that printer device 100. In addition to making adjustments to the print speed 112, the controller 110 also can affect power consumption by changing a drop count/density of the printing, which may affect PQ if aggressive reduction in drop counts are made.
The power supply 202 can include a plurality of rails 203 for providing power. A rail can power a different portion of the printer system 200, such as a group of dies and/or print heads. For example, a print head (not shown) of the printer system 200 can include a plurality of dies (units of print head nozzles) that are powered by two rails 203 and arranged in a staggered formation, so that the paper path passes a first group of dies corresponding to a first power supply rail, and then a second group of dies (slightly offset from the first group of dies) corresponding to a second power supply rail. In an example, the power supply 202 can provide equal voltage output on the plurality of rails 203, such as 33 Volts on two or three rails. Rails may be protected by fuse(s), such as a 2.5 Amp fuse used on each rail. The use of a plurality of rails enables a given printer to consume well beyond 2.5 Amps total, while ensuring that each rail is independently fuse protected.
The response curve 220 can include a plurality of slopes 221, and can be affected by damping 224, short-term energy data 230, second derivative 226, and long-term energy data 240. The second derivative 226 can be used by the controller 210 to identify issue(s) associated with the plurality of slopes 221. For example, the controller 210 can monitor the second derivative 226 to identify that printing has stopped oscillating and somewhat normalized on a given speed within a small regime, indicating that the printer system 200 is likely printing the same print job repeatedly. Accordingly, the controller 210 can determine how fast the print speed 212 can be increased to handle the repeating job, and set the print speed 212 to that value (i.e., exit closed-loop mode and use direct control) if and/or until the second derivative 226 increases to a significant value again (i.e., exceeds a second derivative threshold). If the print data indicates dynamic data, and/or the second derivative 226 becomes significant enough to indicate the potential for oscillations, the controller 210 can revert back to a closed loop mode. The controller 210 can thereby maximize the print speed 212 based on the response curve 220, without overflowing the power curve 222. Such an approach, whereby the controller 210 can switch modes during a print job based on whether the print job is repetitive over time as indicated by the second derivative, further enhances performance (while improving acoustics/user experience and avoiding oscillations) and maximizes print speed 212, while avoiding exceeding the capabilities of the power supply 202.
The second derivative 226 can be obtained from a PID controller and can vary, depending on a given print job. In an example, the controller 210 can identify whether a value for the second derivative 226 has fallen below a threshold (or has fallen within a control window), and correspondingly identify that a transient period has passed such that the printer system 200 has reached a steady state condition. In an example, the controller 210 can perform such identification based on whether the absolute value of the second derivative is less than sigma, epsilon double prime, and so on. An example threshold or window for values of the second derivative of a given printer system 200 can be determined through experimentation, e.g., using exemplar printouts to identify suitable values that avoid undesirable oscillation and associated acoustic or other behavior issues, which can vary from printer to printer. Avoiding oscillation also has the potential to improve PQ, by avoiding a need to address ink dot effects associated with changing print speed 212 due to oscillation (constant speed is desirable in terms of maintaining highest print quality).
Thus, the controller 210 can monitor the second derivative 226 to determine when to switch between closed-loop control and open-loop control (e.g., switching to a direct-solve control) on the fly, e.g., when the print data is repetitive. This switching can be used at portions of the response curve 220 associated with a thermal regime, when the printer system 200 has been printing for a longer time period and thermal effects are important factors in maximizing print speed 212 without exceeding the thermal limit 244.
The printer system 200 does not rely on open loopiclosed loop regimes exclusively, because the printer system 200 can be in a steady-state closed loop mode, where printing has reached a steady state while still in a closed-loop solution, enabling improved control compared to a direct solution alone. When printing is no longer steady state, the controller 210 can switch back into a transient closed-loop mode.
The controller 210 can adjust print speed 212 asymmetrically, e.g., by increasing the print speed 212 more conservatively than decreasing the print speed 212. If the controller 210 identifies a need to slow down (e.g., based on a change in the response curve 220 in view of the current speed), the controller can adjust quickly. By contrast, if the controller identifies a need to speed up to maximize print speed 212, the controller can increase the print speed 212 cautiously. Such an approach avoids frequent speed changes, e.g., if the printer system 200 were to speed up and immediately slow down again. Thus, speeds for the printer system 200 can exhibit rise and fall times being asymmetrical, such that the fall times would be short/fast, and the rise times would be progressive/slow. The controller 210 can combine and/or exclude various features of damping 224, second derivative 226, and other features used in controlling print speed 212.
A densitometer can identify print data 310, and the controller can divide the print data 310 into two rails of data 320. The information is shown broken up into a grid, such as grids of 0.1 inch or 0.05 (where the increment is programmable and can vary for other example grids). The print data 310 represents an image where a box is converted into 64×64 pixels, which can be varied based on a given printer's characteristics such as dots per inch (DPI). The print data 310 can be summed into the two illustrated channels of data 320, which are four channels deep in color data (black, cyan, magenta, yellow). The data 320 is multiplied by the energy per color and summed to remove the color information, to provide the energy data 330. The energy data 330 can then be used by a controller to develop a response curve and control the print speed.
A printer system can thus perform energy data mark correction. Roll-fed printer media can be marked with timing marks/fiducials to enable the printer system to track the printer media movement and ensure that the ink is being printed in the right places. The controller can adjust 440 boundaries to align positions of print data/images to ensure that the densitometer data matches what is actually measured by the printer device, e.g., by inserting and removing spaces in the energy buffer data 460.
The data 460 is shown slightly offset between the two rails, which corresponds to a staggered offset arrangement of print heads divided between the two rails. The white gaps represent a boundary where image data is spaced farther apart, e.g., based on gaps/margins between images even if printed on continuous media.
The regridding 540 can use energy per unit length from the energy data 550, and based on the printer speed, measure power as a function of energy per unit time. To avoid aliasing issues from arbitrarily multiplying by print speed, interpolation may be used by the controller to some extent to ensure that the response curve stays the same size (with the same energy) when regridding to smooth out the results, avoiding issues from the densitometers limited resolution and potentially discontinuous increments. Thus, the regridding 540 takes some energy per unit length from the energy data 550 and converts it into power (energy per unit time) data 560, which depends on the print speed. In an example, each illustrated box in the data represents a 5 millisecond (ms) slice of the grid for every 15 ms at 20 Hertz (Hz) according to the timer 510.
A peak value of the power is stored 570 in a 5 point FIFO, based on the controller monitoring a maximum power among the grid of samples in the power data 560. The controller can consider a time into the future, and the past (as illustrated, one inch of printer swath) which can be used as a threshold 590.
The cascaded digital filter system 600 of
Multiple filter system 600 may be used. For example, a filter system 600 may correspond to a rail of a power supply, where the power supply includes a plurality of rails. Multiple filters can work in parallel to divide a problem into solvable smaller problems, by feeding the output of one filter into the next while performing signal processing to ensure that filters of short-term data do not feed output into filters for the long-term data, and vice versa. The power data 610 is shown with ten samples, which can be divided up to create a curve. The data can be used as error terms to perform a PID loop using the filters 620, 630 to update the max speed 650.
The filters 620, 630 are illustrated as infinite impulse response (IIR) Chebyshev and pink noise filters, although other types of filters may be used such as Bessel, butterworth, elliptic, and the like. The cascading filters 620, 630 are Nyquist limited to prevent rounding errors, by sampling information at a frequency that is over twice the frequency of the needed output. The first filters 620 (Chebychev filters) are to filter out the higher frequencies before decimating, to avoid aliasing. As illustrated, every 10th sample is used, and the phase of the sampling can be adjusted to maximize the phase response of the system. Thus, the cascading plurality of digital filters 620, 630 meet the Nyquist criterion for decimation. The second filters 630 are illustrated as pink noise filters, to adapt the filtered power to the power supply curve. The IIR pink noise filters are applied to the decimated data, to scale it to the desired power curve, to reduce the high frequency components to fit the power curve. Six pink noise filter blocks are shown, such that two different filters can be applied to each segment/slope of the three-segment sloping chart shown in
A single pink noise filter can be used in this regime, corresponding to a short time scale regarding present and future print data, to identify whether a peak power output of a power supply has been exceeded in the short term based on present and future print data (e.g., 1″ into the future). A controller can identify a fixed printer speed, such as 10 IPS or 20 IPS depending on printer mode and/or data spacing, and ratio that print speed by whatever print speed the printer is actually using, to identify how much power consumption is predicted. The maximum printer speed can then be updated accordingly. This enables the printer to predict for future needs based on printer data. As set forth above regarding the filters of
The power curve 910-940 can be determined by a controller based on the known break points 960, and the response curve 950 can be formed by a series of filters (e.g.,
The response curve 950 is shown sometimes falling below, and sometimes crossing above, the power curve 910-940. Thus, the response curve 950 can track the power curve 910-940 by staying within range of the power curve 910-940 (e.g., within on the order of ten percent or less). In an example, the response curve 950 for long-term printing can remain within 1% of the long-term power curve 930, 940, because the speed of the printer can be quantized from 20 to 19 IPS. In another example, for the short term power curve 910, the response curve 950 can remain within on the order of 5%. The controller attempts to cause the response curve 950 to track the power curve 910-940, but is allowed to violate exceed′ the power curve 910-940 (but typically only for a short period of time). The controller can use a modified PID approach (e.g., PIDD2) having different regimes corresponding to the different slopes of the power curve 910-940. The controller can determine, for a given point, a difference between the power curve 910-940 and the response curve 950, and use the difference to create an error term which is used as feedback on the print speed control. The power curve 910-940 can be obtained by pre-characterizing a given power supply, based on design specification to deliver a particular curve for that power supply. Thus, a different power supply would potentially result in a different appearance for the power curve 910-940, including different break points and/or slopes/regimes.
In the short term 910, which is shown extending up to on the order of one second in time, each of a plurality of power rails may be considered individually. Thus, each rail of a power supply may be characterized and print speed can be maximized to saturate the power curve for each rail while avoiding exceeding a peak power output for each rail in the short term. After the short term 910 (times of on the order of one second and greater), the rails are treated together/combined, to maximize print speed for the combined power curve of the rails while avoiding exceeding thermal issues for the power supply in the long term.
Two different long term power curves 930, 940 are shown representing the different effects that ambient temperatures can have on the power curve. Similarly, a power supply can use cooling to affect the power curve, such as a fan for active cooling to increase the power that the power supply could sustain over time before running into the thermal limit. Generally, the longer the print supply is used for printing, the lower the power curve 910-940 drops due to thermal heating over time. The response curve 950 is able to track the power curve 910-940 over time, even when the power supply is used to print continuously for hours or more.
Thus, the response curve 950 protects the power supply while maximizing print speeds across multiple regimes, including short-term, long-term, and a middle regime transitioning between the short-term and long-term (as represented by the plurality of different slopes in
Although a plurality of regimes/slopes are illustrated in
Referring to
Examples provided herein may be implemented in hardware, software, or a combination of both. Example systems can include a processor and memory resources for executing instructions stored in a tangible non-transitory medium (e.g., volatile memory, non-volatile memory, and/or computer readable media). Non-transitory computer-readable medium can be tangible and have computer-readable instructions stored thereon that are executable by a processor to implement examples according to the present disclosure.
An example system (e.g., including a controller of a printing device) can include and/or receive a tangible non-transitory computer-readable medium storing a set of computer-readable instructions (e.g., software, firmware, etc.) to execute the methods described above and below in the claims. For example, a system can execute instructions to direct a print speed engine to adjust print speed, wherein the print speed engine includes any combination of hardware and/or software to execute the instructions described herein. As used herein, the processor can include one or a plurality of processors such as in a parallel processing system. The memory can include memory addressable by the processor for execution of computer readable instructions. The computer readable medium can include volatile and/or non-volatile memory such as a random access memory (“RAM”), magnetic memory such as a hard disk, floppy disk, and/or tape memory, a solid state drive (“SSD”), flash memory, phase change memory, and so on.
Number | Name | Date | Kind |
---|---|---|---|
20130093813 | Davis et al. | Apr 2013 | A1 |
20140210894 | Koehler et al. | Jul 2014 | A1 |