An inkjet printing system, as one example of a fluid ejection system, may include a printhead, an ink supply which supplies liquid ink to the printhead, and an electronic controller which controls the printhead. The printhead, as one example of a fluid ejection device, ejects drops of ink through a plurality of nozzles or orifices and toward a print medium, such as a sheet of paper, so as to print onto the print medium. In some examples, the orifices are arranged in at least one column or array such that properly sequenced ejection of ink from the orifices causes characters or other images to be printed upon the print medium as the printhead and the print medium are moved relative to each other.
In the following detailed description, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration specific examples in which the disclosure may be practiced. It is to be understood that other examples may be utilized and structural or logical changes may be made without departing from the scope of the present disclosure. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present disclosure is defined by the appended claims. It is to be understood that features of the various examples described herein may be combined, in part or whole, with each other, unless specifically noted otherwise.
Parameter shift characterization may be used to validate the integrity of a device to enable fluid ejection (e.g., a fluid ejection die). A fluid ejection system (e.g., a printer) may employ parameter shift characterization using a defined approach that may be configured for a specific device and/or printhead technology. This defined approach for a system may limit flexibility and compatibility with existing systems.
Accordingly, disclosed herein is an integrated circuit between a printer system and a fluid ejection die to emulate parameters of the fluid ejection die based on the temperature of the die. Each parameter may be initialized by measuring or inferring the temperature of the die and defining the parameter as a function based on temperature. After initialization, each parameter may be emulated based on measured or inferred temperature via a closed loop thermal control of the emulated parameter. The emulated parameter may be a voltage, a current, or a resistance.
Thermal tracking logic 102 determines a temperature of a fluid ejection die. In one example, thermal tracking logic 102 measures the temperature of the fluid ejection die. In another example, thermal tracking logic 102 estimates the temperature of the fluid ejection die based on a thermal model. The thermal model may estimate the temperature of the fluid ejection die based on influences such as thermal capacitance, warming power, ambient temperature, etc. of the fluid ejection die. The thermal model may be used to calculate a temperature increase when warming of the fluid ejection die is enabled and a temperature decrease when warming of the fluid ejection die is disabled.
Control logic 106 defines an emulated parameter of the fluid ejection die as a function of the temperature of the fluid ejection die. The emulated parameter may be, for example, a resistance, a voltage, or a current. The output interface 108 outputs the emulated parameter to a printer system based on the function and the temperature of the fluid ejection die.
Control logic 102 may include a microprocessor, an application-specific integrated circuit (ASIC), or other suitable logic circuitry for controlling the operation of integrated circuit 100. Output interface 108 may be a contact pad, a pin, a bump, a wire, or another suitable electrical interface for outputting an emulated parameter from control logic 106.
The temperature input interface 140 is electrically coupled to the thermal tracking logic 102. The control input interface 142 is electrically coupled to the control logic 106. Control logic 106 is electrically coupled to a control input of multiplexer 124 through a signal path 122. The first input interface 144 and the second input interface 146 are electrically coupled to inputs of the multiplexer 124. The output of the multiplexer 124 is electrically coupled to an input of control logic 106. Control logic 106 is electrically coupled to a control input of multiplexer 130 through a signal path 128, and to a first input and a second input of multiplexer 130 through signal paths 132 and 134, respectively. The output of the multiplexer 130 is electrically coupled to the output interface 108.
Temperature interface 140 may be used to measure the temperature of a fluid ejection die. Temperature interface 140 may be electrically coupled to an internal thermal sensing element of a fluid ejection die (e.g., a temperature sensing resistor, a temperature sensing diode stack, or another suitable integrated temperature sensing element) or electrically coupled to an external temperature sensor (e.g., a thermocouple) external to a fluid ejection die to measure the temperature of the fluid ejection die. Control interface 142 may be electrically coupled to a fluid ejection system (e.g., a printer) to receive control signals indicating which parameter is to be emulated. Input interfaces 144 and/or 146 may be used to measure a parameter of a fluid ejection die to be emulated.
Control logic 106 receives the control signal and may provide a signal on signal path 122 to multiplexer 124 to select the input interface 144 or 146 corresponding to the received control signal on control interface 142. The parameter on the selected input interface is then measured by control logic 106 through signal path 126. Control logic 106 may modify the measured parameter based on the temperature of the fluid ejection die and a desired temperature dependency (e.g., linear or nonlinear) to define the emulated parameter as a function of the temperature of the fluid ejection die.
Control logic 106 may pass emulated parameters to multiplexer 130 through signal paths 132 and 134. Control logic 106 may provide a signal on signal path 128 to multiplexer 130 to select the emulated parameter on signal path 132 or 134 corresponding to the received control signal on control interface 142. The selected emulated parameter is then passed to output interface 108. Thus, multiplexer 124 may select one of the plurality of input interfaces (i.e., 144 or 146) based on a control signal on the control interface 142. Multiplexer 130 may output one of a plurality of emulated parameters on the output interface 108 based on a control signal on the control interface 142.
The dedicated sense input interface 270 and the shared sense input interface 272 are electrically coupled to inputs of analog multiplexer 202. The output of analog multiplexer 202 is electrically coupled to the input of programmable gain amplifier 206 through a signal path 204. The output of programmable gain amplifier 206 is electrically coupled to the input of analog to digital converter 210 through a signal path 208. The output of analog to digital converter 210 is electrically coupled to an input of sensor/parameter input measurement control logic 232 through a signal path 212.
An output of sensor/parameter input measurement control logic 232 is electrically coupled to the input of current mode digital to analog converter 228 through a signal path 230. The output of current mode digital to analog converter 228 is electrically coupled to an input of analog multiplexer 214 through a signal path 216. Another output of sensor/parameter input measurement control logic 232 is electrically coupled to the input of transimpedance amplifier 222 and an input of voltage mode digital to analog converter 218 through a signal path 220. The output of voltage mode digital to analog converter 218 is electrically coupled to another input of analog multiplexer 214 through a signal path 216. The output of analog multiplexer 214 is electrically coupled to shared sense input interface 272. The output of transimpedance amplifier 222 is electrically coupled to an input of analog multiplexer 202 through a signal path 224.
Sensor/parameter input measurement control logic 232 is electrically coupled to sensor/parameter output multiplexer control logic 240 through a signal path 234. Control bus input interface 274 is electrically coupled to an input of thermal tracking logic 236 and an input of sensor/parameter output multiplexer control logic 240. Thermal sense input interface 276 is electrically coupled to an input of thermal tracking logic 236 and an input of analog multiplexer 254. An output of thermal tracking logic 236 is electrically coupled to an input of sensor/parameter output multiplexer control logic 240 through a signal path 238. Sensor/parameter output multiplexer control logic 240 is electrically coupled to the input of voltage mode digital to analog converter 244 through a signal path 242, the control input of analog multiplexer 254 through a signal path 252, and the input of voltage mode digital to analog converter 258 through a signal path 256. The output of voltage mode digital to analog converter 258 is electrically coupled to the dedicated sense output interface 278.
The output of voltage mode digital to analog converter 244 is electrically coupled to an input of analog multiplexer 254, a control input of digital potentiometer 248, and the input of transconductance amplifier 250 through a signal path 246. One side of digital potentiometer 248 is electrically coupled to a common or ground 247 and the other side of digital potentiometer 248 is electrically coupled to an input of analog multiplexer 254 through a signal path 249. The output of transconductance amplifier 250 is electrically coupled to an input of analog multiplexer 254 through a signal path 251. The output of analog multiplexer 254 is electrically coupled to the shared sense output interface 280.
Analog multiplexer 202 passes one of the voltage inputs from dedicated sense input interface 270, shared sense input interface 272, or transimpedance amplifier 222 to programmable gain amplifier 206. Programmable gain amplifier 206 may scale the output of analog multiplexer 202 to the input range of the analog to digital converter 210. Analog to digital converter 210 creates an output code that represents the input voltage. This code is passed to sensor/parameter input measurement control logic 232. In one example, analog to digital converter 210 is a 10 bit analog to digital converter. Sensor/parameter input measurement control logic 232 may pass the code from analog to digital converter 210 to sensor/parameter output multiplexer control logic 240.
A parameter to be emulated may be received for measurement on either the dedicated sense input interface 270 or the shared sense input interface 272. In this example, the dedicated sense input interface 270 has voltage measurement capability for voltage parameters, while the shared sense input interface 272 includes voltage, current, and resistance measurement capability for voltage parameters, current parameters, and resistance parameters. For voltage measurements, the voltage parameter received on dedicated sense input interface 207 or shared sense input interface 272 is passed to analog multiplexer 202 and converted to a code that represents the voltage parameter by analog to digital converter 210.
For current measurements, a voltage is applied to the shared sense input interface 272 via the voltage mode digital to analog converter 218 and the analog multiplexer 214. The current flowing from the voltage mode digital to analog converter 218 is converted to a voltage via the transimpedance amplifier 222. This voltage is then passed to analog multiplexer 202 and converted to a code that represents the current parameter by analog to digital converter 210. For resistance measurements, a current is applied to the shared sense input interface 272 via the current mode digital to analog converter 228 and the analog multiplexer 214. The resulting voltage on shared sense input interface 272 is passed to analog multiplexer 202 and converted to a code that represents the resistance parameter by analog to digital converter 210.
Thermal tracking logic 236 measures or estimates the temperature of the fluid ejection die based on the signals on the control bus input interface 274 and the thermal sense input interface 276. Thermal tracking logic 236 passes the measured or estimated temperature to sensor/parameter output multiplexer control logic 240. Sensor/parameter output multiplexer control logic 240 generates a code corresponding to an emulated parameter based on the measured or estimated temperature, the signal on the control bus input interface 274 indicating the parameter to be emulated, the measured parameter (i.e., for an adaptive system to be described below with reference to
The code corresponding to an emulated parameter may also be passed to voltage mode digital to analog converter 244, which converts the code to a voltage corresponding to the emulated parameter. In this case, the emulated parameter may be a voltage parameter, a current parameter, or a resistance parameter. Sensor/parameter output multiplexer control logic 240 controls analog multiplexer 254. In one example, analog multiplexer 254 passes the voltage corresponding to the emulated parameter on signal path 246 to shared sense output interface 280 to provide an emulated voltage parameter. In another example, analog multiplexer 254 passes a resistance from digital potentiometer 248, which is controlled by the voltage corresponding to the emulated parameter on signal path 246, to shared sense output interface 280 to provide an emulated resistance parameter. In another example, analog multiplexer 254 passes a current from the transconductance amplifier 250, which is set by the voltage corresponding to the emulated parameter on signal path 246, to shared sense output interface 280 to provide an emulated current parameter. In another example, analog multiplexer 254 passes the temperature signal on the thermal sense input interface 276 to the shared sense output interface 280 to provide a pass-through function for the temperature signal.
While sensor/parameter input measurement control logic 232, thermal tracking logic 236, and sensor/parameter output multiplexer control logic 240 are shown in
As illustrated in
At 408, method 400 determines whether the system is an adaptive system or a non-adaptive system. An non-adaptive system, for example, is a system where sense input interface 270 or 272 (
In response to determining that the system is an adaptive system, at 410 method 400 measures the parameter to be emulated. In response to determining that the system is not an adaptive system or after measuring the parameter at 410, at 412 method 400 defines the emulated parameter such that a DAC function equals a function of temperature (T), i.e., DAC=F(T). This completes the initialization of the parameter emulation.
The remaining portion of method 400 describes the thermal loop control. At 414, the DAC is set to the target code based on the measured temperature, i.e., DAC=F(T). At 416, method 400 determines whether the thermal sensor for the fluid ejection die is enabled. In response to the thermal sensor not being enabled, method 400 waits and continues to check whether the thermal sensor is enabled. Once the thermal sensor is enabled, at 418 method 400 measures the temperature of the fluid ejection die. At 414, method 400 sets the DAC to the target code based on the measured temperature. The thermal loop control of method 400 then repeats at 416.
The remaining portion of method 500 describes the thermal loop control. At 510, the DAC is set to the target code based on the estimated temperature, i.e., DAC=F(T). At 512, method 500 waits a thermal time delta. At 514, method 500 determines whether warming of the fluid ejection die is enabled or disabled. In response to warming not being enabled, at 516 method 500 decreases the estimated temperature according to a thermal model. Then at 510, method 500 sets the DAC to the target code based on the decreased estimated temperature. In response to warming being enabled, at 518 method 500 increases the estimated temperature according to the thermal model. Then at 510, method 500 sets the DAC to the target code based on the increased estimated temperature. The thermal loop control of method 500 then repeats at 512.
In one example, the first column 602 of contact pads includes six contact pads. The first column 602 of contact pads may include the following contact pads in order: a data contact pad 610, a clock contact pad 612, a logic power ground return contact pad 614, a multipurpose input/output contact pad 616, a first high voltage power supply contact pad 618, and a first high voltage power ground return contact pad 620. Therefore, the first column 602 of contact pads includes the data contact pad 610 at the top of the first column 602, the first high voltage power ground return contact pad 620 at the bottom of the first column 602, and the first high voltage power supply contact pad 618 directly above the first high voltage power ground return contact pad 620. While contact pads 610, 612, 614, 616, 618, and 620 are illustrated in a particular order, in other examples the contact pads may be arranged in a different order.
In one example, the second column 604 of contact pads includes six contact pads. The second column 604 of contact pads may include the following contact pads in order: a second high voltage power ground return contact pad 622, a second high voltage power supply contact pad 624, a logic reset contact pad 626, a logic power supply contact pad 628, a mode contact pad 630, and a fire contact pad 632. Therefore, the second column 604 of contact pads includes the second high voltage power ground return contact pad 622 at the top of the second column 604, the second high voltage power supply contact pad 624 directly below the second high voltage power ground return contact pad 622, and the fire contact pad 632 at the bottom of the second column 604. While contact pads 622, 624, 626, 628, 630, and 632 are illustrated in a particular order, in other examples the contact pads may be arranged in a different order.
Data contact pad 610 may be used to input serial data to die 600 for selecting fluid actuation devices, memory bits, thermal sensors, configuration modes (e.g. via a configuration register), etc. Data contact pad 610 may also be used to output serial data from die 600 for reading memory bits, configuration modes, status information (e.g., via a status register), etc. Clock contact pad 612 may be used to input a clock signal to die 600 to shift serial data on data contact pad 610 into the die or to shift serial data out of the die to data contact pad 610. Logic power ground return contact pad 614 provides a ground return path for logic power (e.g., about 0 V) supplied to die 600. In one example, logic power ground return contact pad 614 is electrically coupled to the semiconductor (e.g., silicon) substrate 640 of die 600. Multipurpose input/output contact pad 616 may be used for analog sensing and/or digital test modes of die 600. In one example, multipurpose input/output contact pad 616 may be electrically coupled to input interface 144 or 146 of
First high voltage power supply contact pad 618 and second high voltage power supply contact pad 624 may be used to supply high voltage (e.g., about 32 V) to die 600. First high voltage power ground return contact pad 620 and second high voltage power ground return contact pad 622 may be used to provide a power ground return (e.g., about 0 V) for the high voltage power supply. The high voltage power ground return contact pads 620 and 622 are not directly electrically connected to the semiconductor substrate 640 of die 600. The specific contact pad order with the high voltage power supply contact pads 618 and 624 and the high voltage power ground return contact pads 620 and 622 as the innermost contact pads may improve power delivery to die 600. Having the high voltage power ground return contact pads 620 and 622 at the bottom of the first column 602 and at the top of the second column 604, respectively, may improve reliability for manufacturing and may improve ink shorts protection.
Logic reset contact pad 626 may be used as a logic reset input to control the operating state of die 600. Logic power supply contact pad 628 may be used to supply logic power (e.g., between about 1.8 V and 15 V, such as 5.6 V) to die 600. Mode contact pad 630 may be used as a logic input to control access to enable/disable configuration modes (i.e., functional modes) of die 600. Fire contact pad 632 may be used as a logic input to latch loaded data from data contact pad 610 and to enable fluid actuation devices or memory elements of die 600.
Die 600 includes an elongate substrate 640 having a length 642 (along the Y axis), a thickness 644 (along the Z axis), and a width 646 (along the X axis). In one example, the length 642 is at least twenty times the width 646. The width 646 may be 1 mm or less and the thickness 644 may be less than 500 microns. The fluid actuation devices 608 (e.g., fluid actuation logic) and contact pads 610-632 are provided on the elongate substrate 640 and are arranged along the length 642 of the elongate substrate. Fluid actuation devices 608 have a swath length 652 less than the length 642 of the elongate substrate 640. In one example, the swath length 652 is at least 1.2 cm. The contact pads 610-632 may be electrically coupled to the fluid actuation logic. The first column 602 of contact pads may be arranged near a first longitudinal end 648 of the elongate substrate 640. The second column 604 of contact pads may be arranged near a second longitudinal end 650 of the elongate substrate 640 opposite to the first longitudinal end 648.
Printhead assembly 702 includes at least one printhead or fluid ejection die 600 previously described and illustrated with reference to
Ink supply assembly 710 supplies ink to printhead assembly 702 and includes a reservoir 712 for storing ink. As such, in one example, ink flows from reservoir 712 to printhead assembly 702. In one example, printhead assembly 702 and ink supply assembly 710 are housed together in an inkjet or fluid-jet print cartridge or pen. In another example, ink supply assembly 710 is separate from printhead assembly 702 and supplies ink to printhead assembly 702 through an interface connection 713, such as a supply tube and/or valve.
Carriage assembly 716 positions printhead assembly 702 relative to print media transport assembly 718, and print media transport assembly 718 positions print media 724 relative to printhead assembly 702. Thus, a print zone 726 is defined adjacent to nozzles 608 in an area between printhead assembly 702 and print media 724. In one example, printhead assembly 702 is a scanning type printhead assembly such that carriage assembly 716 moves printhead assembly 702 relative to print media transport assembly 718. In another example, printhead assembly 702 is a non-scanning type printhead assembly such that carriage assembly 716 fixes printhead assembly 702 at a prescribed position relative to print media transport assembly 718.
Service station assembly 704 provides for spitting, wiping, capping, and/or priming of printhead assembly 702 to maintain the functionality of printhead assembly 702 and, more specifically, nozzles 608. For example, service station assembly 704 may include a rubber blade or wiper which is periodically passed over printhead assembly 702 to wipe and clean nozzles 608 of excess ink. In addition, service station assembly 704 may include a cap that covers printhead assembly 702 to protect nozzles 608 from drying out during periods of non-use. In addition, service station assembly 704 may include a spittoon into which printhead assembly 702 ejects ink during spits to ensure that reservoir 712 maintains an appropriate level of pressure and fluidity, and to ensure that nozzles 608 do not clog or weep. Functions of service station assembly 704 may include relative motion between service station assembly 704 and printhead assembly 702.
Electronic controller 720 communicates with printhead assembly 702 through a communication path 703, service station assembly 704 through a communication path 705, carriage assembly 716 through a communication path 717, and print media transport assembly 718 through a communication path 719. In one example, when printhead assembly 702 is mounted in carriage assembly 716, electronic controller 720 and printhead assembly 702 may communicate via carriage assembly 716 through a communication path 701. Electronic controller 720 may also communicate with ink supply assembly 710 such that, in one implementation, a new (or used) ink supply may be detected.
Electronic controller 720 receives data 728 from a host system, such as a computer, and may include memory for temporarily storing data 728. Data 728 may be sent to fluid ejection system 700 along an electronic, infrared, optical or other information transfer path. Data 728 represent, for example, a document and/or file to be printed. As such, data 728 form a print job for fluid ejection system 700 and includes at least one print job command and/or command parameter.
In one example, electronic controller 720 provides control of printhead assembly 702 including timing control for ejection of ink drops from nozzles 608. As such, electronic controller 720 defines a pattern of ejected ink drops which form characters, symbols, and/or other graphics or images on print media 724. Timing control and, therefore, the pattern of ejected ink drops, is determined by the print job commands and/or command parameters. In one example, logic and drive circuitry forming a portion of electronic controller 720 is located on printhead assembly 702. In another example, logic and drive circuitry forming a portion of electronic controller 720 is located off printhead assembly 702.
Although specific examples have been illustrated and described herein, a variety of alternate and/or equivalent implementations may be substituted for the specific examples shown and described without departing from the scope of the present disclosure. This application is intended to cover any adaptations or variations of the specific examples discussed herein. Therefore, it is intended that this disclosure be limited only by the claims and the equivalents thereof.
This application is a Continuation Application of U.S. National Stage Application 16/772,978, filed Jun. 15, 2020, entitled “EMULATING PARAMETERS OF A FLUID EJECTION DIE”, which is a U.S. National Stage Application of PCT Application No. PCT/US2019/016832, filed Feb. 6, 2019, entitled “EMULATING PARAMETERS OF A FLUID EJECTION DIE”, both of which are incorporated herein.
Number | Date | Country | |
---|---|---|---|
Parent | 16772978 | Jun 2020 | US |
Child | 17863934 | US |