Printer and method of resetting it

Abstract: A printer comprises means for storing printer status information in non-volatile memory means (62), and control means (61, 80) responsive to an external reset signal (Vrst) as well as to a power-on reset signal for reading the stored status information and for effecting an initialization process based on the status information. Reset signal processing means (70) are provided to detect an external reset signal (Vrst) and to output, in response to it, an external reset indicating signal (V0) and an internal reset signal (Vr) time delayed with respect to said external reset indicating signal (V0). The control means is responsive to said external reset indicating signal (V0) for writing said status information to said non-volatile memory means (62) and responsive to said internal reset signal (Vr) for performing said initialization process.

Description: The present invention relates to a printer and to a method of resetting the printer. Printers and other types of information processing devices typically implement a specific initialization process when a reset signal is applied. The reset signal can be a power-on reset signal, which is generated when the power supply to the printer is turned on, or an reset signal received through an interface from a host computer, for example. With a power-on reset, the power switch has typically been turned off at some point prior to being turned on. In many more recent printers, the power supply is not interrupted immediately when the power switch is turned off, but instead is interrupted after waiting a predetermined delay period. The printer also typically performs a particular process during this delay period (simply called a "shutdown process" below). This shutdown process can include, for example, initializing certain mechanical parts, such as moving the print head to a retracted position, and backing up processed data or maintenance data such as certain counter and time values. See, for example, JP-A-56-124977, JP-A-61-233819, JP-A-2-93811, JP-A-4-288274, and JP-A-7-261888 (corresponding to GB 2 295 040 A). Such shutdown processes enable processed information or states stored when the power switch was turned off to be reflected in printer operation when the power switch is turned on again. When an external reset signal is applied from a host computer or other connected device, however, the reset operation is executed immediately to reinitialize the printing apparatus. As a result, the shutdown process implemented when the power switch is turned off cannot be executed. Some of the problems associated with this reset method when applied in an ink jet printer are described below. Ink jet printers, which print by ejecting ink from an ink jet head onto a print medium, require regular maintenance, that is, cleaning the ink jet head nozzles, in order to sustain reliable ink jet head operation. Such regular cleaning is needed to prevent such problems as clogged nozzles resulting from ink drying and becoming viscous inside the nozzles. This cleaning process is generally managed based on a timer and is implemented with different levels depending on how much time has passed since the last cleaning operation, and ink jet head capping. This means that storing this timer value when the power is turned off enables the next cleaning operation to be more appropriately performed. It is also possible to record such counter values as an ink end counter, which is indicative of how much ink remains, and a print pass counter, which is indicative of the print volume and can be used as a guide to mechanical parts wear. These counters are used as a guide to maintenance requirements, including parts replacement. When POS printers, network printers, and other printing devices that are controlled by a host computer are remotely located, full remote control of printing device operation must be possible. This includes the ability to control, by means of an external reset signal, execution of an initialization process that is essentially the same as the initialization process performed in response to an internal reset signal as is generated when the power switch is turned on. An external reset signal can, however, be issued at various times, including when the host computer is turned on, when the operating system boots up, when an application boots up, and when an application starts printing. As a result, multiple reset signals can be sent to the printer at relatively short intervals depending upon the computer type, application, and printer driver. In such cases as the above, conventional printers do not have the opportunity to store the counter values, time information, and other maintenance information, and this information is therefore lost. Cleaning and parts replacement may therefore not occur as needed, and problems with print quality and printer breakdown may result. Loss of print quality has therefore been prevented by performing the head cleaning process at a high (worst-case) level every time an external reset signal is received. In most case, however, this consumes more ink than is really necessary, and thus increases the operating cost of the printer. The number of expended ink cartridges also increases, which is obviously not desirable in terms of resource conservation and environmental protection. It is therefore an object of the present invention to provide a printer capable of performing a process equivalent to the power-on reset operation when an external reset signal is applied to it. Another object of the invention is to provide a method of resetting such printer, which allows to save printer status data even if an external reset signal is received. These objects are achieved with a printer as claimed in claim 1 and a method as claimed in claim 16, respectively. Preferred embodiments of the invention are subject-matter of the dependent claims. When a printer according to the present invention receives an external reset signal, it first stores specific printer status information. Subsequently, with a sufficient time delay after receipt of the external reset signal, performs a reset operation, which is the same or similar to that performed in response to a power-on reset signal. The present invention is particularly suitable for an ink jet printer requiring ink jet head cleaning. In such case the reset operation includes reading the stored status information to select the most appropriate cleaning process level based on the stored information, and then performing the selected cleaning process. These and other objects and features of the present invention will be readily understood from the following detailed description of a preferred embodiment thereof with reference to the accompanying drawings, in which like parts are designated by like reference numerals and in which: Fig. 1 is a schematic perspective view of the basic structure of a printer according to a preferred embodiment of the present invention; Fig. 2 is a schematic sectional view through the printing position in the printer; Fig. 3 is a schematic illustration of various positions of the ink jet head of the printer; Fig. 4 is a block diagram of a control system in the printer; Fig. 5 is a flow chart illustrating generation of an internal reset signal in response to an external reset signal; Fig. 6 - 8 are a flow charts illustrating a process of ink jet head cleaning; Fig. 9 is a timing chart used to describe the operation of the control system when cleaning history information is written normally to memory; Fig. 10 shows timing charts used to describe the operation when cleaning history information is (A) not or (B) insufficiently written to memory; and Fig. 11 is a flow chart illustrating an operation whereby different cleaning levels are used when the head nozzles are not capped. The basic structure of a preferred embodiment of an the present invention will first be described below with reference to Fig. 1 and Fig. 2. Fig. 1 is a perspective view of an ink jet printer while Fig. 2 is sectional view at a printing position of the printer. The printer shown may be used as a stand-alone printer or as the printing unit of any type of printing apparatus including the printing unit in combination with other components. In both cases the printer shown will be mounted in some housing. Because the present invention does not impose any particular restrictions on such housing, a housing is neither shown nor explained any further. Printer 1 according to the present embodiment is a serial printer which prints by means of an ink jet head 2 and ink tank 3 mounted on a box-like carriage 4, which travels bidirectionally in a line scanning direction for printing. The ink jet head 2 and ink tank 3 are typically a cartridge which can be loaded into and removed from the carriage 4 by opening a top cover 41 of the carriage. So that it can move bidirectionally on a linear path lengthwise to a frame 5, the carriage 4 is supported such that one side thereof can slide freely on a guide shaft 6 and the opposite side can slide freely on the top of a guide plate 7. Both the guide shaft 6 and guide plate 7 are disposed between right and left side walls 5a and 5b of the frame 5. A drive pulley 8a is mounted at one end of the front wall 5c of the frame 5, and a driven pulley 8b is mounted at the other end. A carriage motor 8d is mounted at the front wall 5c of the frame 5 and connected to the drive pulley 8a. A timing belt 8c connects the two pulleys 8a and 8b, and is also connected to the front of the carriage 4. As a result, when the drive pulley 8a is turned by the carriage motor 8d, the drive pulley 8a drives the timing belt 8c, and the carriage 4 is moved by the timing belt 8c along the guide shaft 6. An automatic paper feeding mechanism 10 for supplying a cut sheet form 100 is provided in front of the frame 5. The automatic paper feeding mechanism 10 comprises a cassette 11, a feed roller 12, a power transfer mechanism 13, and a paper path 14. The cassette 11 holds a plurality of cut sheet forms 100. The feed roller 12 feeds the cut sheet forms 100, one sheet at a time, from the cassette 11 into the paper path 14. The power transfer mechanism 13 (indicated by double dotted lines in the figure) transfers drive power to the feed roller 12. The paper path 14 guides the cut sheet form 100 from the cassette 11 to a position from which a cut sheet transport mechanism 20 inside the frame 5 can further transport the form to a printing position. The power transfer mechanism 13 therefore comprises a clutch mechanism whereby the power transfer mechanism 13 is held in an off (disconnected) state during normal printing operations, switches to an on (connected) state only when necessary, and thereby transfers drive power to the feed roller 12 as needed. The cut sheet transport mechanism 20 in the frame 5 comprises a cut sheet insertion opening 23, which is defined by a pair of upper and lower guide plates 21 and 22. When a cut sheet form 100 is fed by the automatic paper feeding mechanism 10 to the cut sheet insertion opening 23, it is then grasped by a transport roller 24. The transport roller 24 then transports the cut sheet form 100 through a transportation path defined by a guide plate 25, which is mounted opposite to the ink jet head 2. The cut sheet form 100 is then carried by another transport roller 26 through and out of a paper exit 27 at the back of the frame. A transportation motor 28 mounted at the back side of the frame 5 powers the cut sheet transport mechanism 20. Torque from the transportation motor 28 is transferred through a gear set to a transportation roller shaft 29, and then by the transportation roller shaft 29 and another gear set on the opposite end to another transportation roller shaft 32. The carriage 4 is thus driven bidirectionally through a predetermined printing area so that the ink jet head 2 mounted on the carriage 4 prints on the surface of the cut sheet form 100 transported to the printing position as described above. In printer 1 according to the present embodiment of the invention, the carriage 4 can also move outside the printing area to a position near the side wall 5a of the frame 5. The area outside the printing area includes a home position for the ink jet head 2, a cleaning position whereat ink jet head 2 cleaning is performed, and a cut sheet form supply position whereat the automatic paper feeding mechanism 10 is driven to supply a form to the printing position. A head capping mechanism 51, intake pump mechanism 52, and clutch mechanism 53 are disposed between the frame side wall 5a and the guide plate 25 defining the printing position. The head capping mechanism 51 serves to cap the nozzles of the ink jet head 2. The intake pump mechanism 52 is used for suctioning and collecting waste ink from the ink jet head 2 and head capping mechanism 51. The clutch mechanism 53 is used for connecting and disconnecting the power transfer mechanism 13 of the automatic paper feeding mechanism 10. The positions whereat the carriage 4, and thus the ink jet head 2, stops moving, and the operations performed at each of those positions, are shown in Fig. 3 and described below. It should be noted that carriage 4 movement can be detected by various known means, including a photosensor or a mechanical microswitch, and the carriage 4 can be stopped at each position based on the returned detection signals. As shown in Fig. 3, the carriage 4 has a plurality of stopping positions arranged in sequence from the edge of the printing area A toward the side wall 5a of the frame 5. The stopping positions shown in Fig. 3 and described below are the pump power shut-off position P, the preeject or flushing position F, the evacuation intake position K, the home position HP, and the pump power-on position R. Pump power shut-off position P This is the position at which drive power from the transportation motor 28 is switched from the intake pump mechanism 52 to the cut sheet transport mechanism 20 to stop intake pump mechanism 52 operation. Flushing position F This is the position at which all nozzles of the ink jet head 2 are flushed by a preliminary ink ejection operation. Flushing ejects ink of which the viscosity has increased ("high viscosity ink" below) from any unused nozzles, for example. The ink jet head 2 nozzles are located opposite to the head capping mechanism 51 in this position, and ink droplets flushed from the nozzles are captured by the head capping mechanism 51. Evacuation intake position K The ink jet head 2 nozzles are capped by the head capping mechanism 51 in this position. This is where the intake pump mechanism 52 evacuates captured ink from the head capping mechanism 51. Home position HP This is the default position for the carriage 4, that is, this is where the carriage 4 is positioned after the power is turned on. The ink jet head 2 is also covered by the head capping mechanism 51 in this position. Capping the nozzles prevents such problems as an increase of the viscosity of the ink as a result of evaporation of an ink solvent from inside the nozzles, and ink meniscus retraction. A cut-sheet form is supplied to the printing position after the carriage 4 is returned to the home position HP. Pump power-on position R This is the position at which drive power from the transportation motor 28 is switched from the cut sheet transport mechanism 20 to the intake pump mechanism 52 to enable intake pump mechanism 52 operation. It is to be noted that when the carriage has moved to pump power-on position R and drive power switched as indicated, the drive power stays switched to the intake pump mechanism 52 when the carriage returns. When the carriage then moves in the direction toward printing area A the drive power is switched back to the transportation motor 28 as the carriage passes pump power shut-off position P . It should be noted that the ink jet head 2 is capped by the head capping mechanism 51 throughout the range from the evacuation intake position K to the pump power-on position R. As indicated in Fig. 3, this is referred to as the "capping area" below. The operation performed at each of the above-described stopping positions is controlled by a control device, typically comprising a CPU. A block diagram of a control system of printer 1 according to the present embodiment is shown in Fig. 4. As shown in Fig. 4, the printer 1 comprises a printing mechanism 90, the control device (CPU) 61, and a reset signal processing unit 70. The printing mechanism 90 includes a mechanism for moving the carriage 4, on which the ink jet head 2 is mounted as described above, to a specific position. The CPU 61 controls the printing mechanism 90 and an ink system 80 described below. The reset signal processing unit 70 handles resetting the printer 1 based on an external reset signal Vrst received from a host computer 65. When a reset signal Vrst is received, the reset signal processing unit 70 supplies an external reset indicating signal V0 to the CPU 61 to notify the CPU 61 that an external reset signal was received. After waiting a specific delay period T3 from receipt of the reset signal Vrst, the reset signal processing unit 70 then generates an internal reset signal Vr and applies it to the CPU 61 to reset the CPU 61. The control system of printer 1 further comprises a non-volatile memory (non-volatile RAM) 62, a real-time clock (RTC) 63, a working memory (RAM) 66, and a ROM 67 for storing a control program. The non-volatile RAM 62 is typically an EEPROM or other non-volatile rewritable memory device for storing printer status information after the CPU 61 recognizes the external reset indicating signal V0. This printer status information includes at least a cleaning history. The RTC 63 is a clock device whereby a current time value can be obtained. When the reset signal processing unit 70 thus receives a reset signal Vrst from the host computer 65, which is connected to the printer 1 by an interface cable or other device enabling printer-host communication, it sequentially outputs an external reset indicating signal V0 and internal reset signal Vr. The CPU 61 is connected to working RAM 66, non-volatile RAM 62, ROM 67, and RTC 63. When the CPU 61 detects the signal V0, it loads the program described below from ROM 67 to working RAM 66 to control the printer 1 based on the status history read from the non-volatile RAM 62. Based on the information read from ROM 67 and non-volatile RAM 62, the CPU 61 instructs the ink system 80 to perform one of plural cleaning operations, which differ by the amount of ink consumption. In the present embodiment there are five ink consumption or cleaning levels defined as: cleaning level 1 (TCL1), cleaning level 2 (TCL2), cleaning level 3 (TCL3), flushing F, and dummy cleaning. The amount of ink consumed increases in the following sequence: dummy cleaning, flushing F, TCL1, TCL2, TCL3. No ink is consumed in the dummy cleaning process. The cleaning processes performed at cleaning levels TCL1, TCL2, and TCL3 include: a process for suctioning ink from the nozzles to remove high viscosity ink and bubbles from the ink path; a so-called wiping process in which the head surface is cleaned by wiping with a rubber blade; and a so-called rubbing process in which the head surface is wiped with a sponge as may be further required. The specific content of, and conditions for selecting, each of these cleaning levels are described briefly below. Cleaning level TCL1 If, based on cleaning history information read from the non-volatile RAM 62, less than 96 hours have elapsed since the ink jet head 2 was last cleaned at cleaning level TCL1 or greater, and 15 hours or more have elapsed since the ink jet head 2 was set to a stand-by mode, that is, since the ink jet head 2 was uncapped, cleaning level TCL1 is selected. At TCL1, all ink inside an ink ejection chamber of the ink jet head 2 is suctioned, and a known amount of ink is therefore consumed. For purposes of comparison, ink consumption at this cleaning level TCL1 has a (relative) volume of 1. Cleaning level TCL2 Cleaning level TCL2 is selected if 96 hours or more and less than 168 hours have elapsed since the last cleaning operation at cleaning level TCL1. This is again decided based on the cleaning history read from non-volatile RAM 62. The TCL2 level cleaning process suctions all ink from inside the head unit. Ink consumption has a volume of 8 in this case. Cleaning level TCL3 Cleaning level TCL3 is selected if 168 hours or more have elapsed since the last cleaning operation at cleaning level TCL1. This is also decided based on the cleaning history read from non-volatile RAM 62. The TCL3 level cleaning process suctions all ink from inside the ink path. Ink consumption has a volume of 40 in this case. This cleaning process consumes the most ink in printer 1. Flushing F The flushing F process is selected if less than 15 hours have elapsed since the ink jet head 2 was uncapped. The flushing F process pumps the nozzles 40 to 1000 times to simply eject ink from and near the nozzles. Ink consumption has a volume of 0.0025 to 0.06 in this case. Dummy cleaning After flushing F, dummy cleaning wipes the head surface, caps the head, and evacuates captured ink, but does not by itself consume ink. In a preferred embodiment of the invention, this dummy cleaning can be enabled and disabled by means of a DIP switch 91. In an exemplary printer 1, the printing mechanism 90 is also initialized as part of these cleaning processes. This initialization includes moving the carriage 4 to the home position HP. As also shown in Fig. 4, the reset signal processing unit 70 comprises a reset detector 71, a reset delay timer 72, and a reset signal generator 73. When the reset detector 71 detects the external reset signal Vrst among the signals from the host computer 65, it outputs the external reset indicating signal V0. The reset delay timer 72 outputs a delayed reset signal V1 after waiting a specific delay period from input of the external reset indicating signal V0. When the reset signal generator 73 receives the delayed reset signal V1, it sends the internal reset signal Vr to the CPU 61. This internal reset signal Vr causes the CPU 61 to perform the same initialization process performed when the power switch of the printer 1 is turned on. Applying the internal reset signal Vr to the CPU 61 thus causes an initialization process including initializing the printing mechanism 90, and initialization of the program and data cleanup in the working RAM 66. Fig. 5 is a flow chart of the process from receiving the external reset signal Vrst from the host computer to the output of the internal reset signal Vr to the CPU 61. As shown in Fig. 5, when the reset detector 71 detects the external reset signal Vrst (step ST21), it outputs the external reset indicating signal V0 (step ST22). Triggered by signal V0, the reset delay timer 72 then starts (step ST23). When a predetermined period has passed, reset delay timer 72 outputs the delayed reset signal V1 (step ST24) to the reset signal generator 73. The reset signal generator 73 then sends the internal reset signal Vr to the CPU 61 (step ST25). The reset detector 71 outputs the external reset indicating signal V0 to the reset delay timer 72 and to the CPU 61. As noted above, signal V0 triggers reset delay timer 72 operation. During this preset delay period after the reset delay timer 72 is triggered, the internal reset signal Vr is not supplied from the reset signal generator 73 to the CPU 61. Note that this preset delay period is 100 ms in an exemplary embodiment of the invention. The external reset indicating signal V0, however, is applied to the CPU 61 at the same time it is sent to the reset delay timer 72. As a result, the CPU 61 knows that an external reset signal Vrst as been received from the host computer 65. The CPU 61 thus has a grace period between when it receives the external reset indicating signal V0 (knows that a reset signal Vrst has been received) and when the internal reset signal Vr is output. This grace period is used for the CPU 61 to record certain information in the non-volatile RAM 62, including for example, printer status information and that an external reset signal Vrst was received. Printer status information includes, for example, the following: status information relating to mechanical components, including the carriage position and ink cartridge presence; current time; an ink end counter value indicative of how much ink remains; and information relating to the cleaning process performed during the last reset operation. It will be obvious to one with ordinary skill in the art that the CPU 61 can store printer status information in the non-volatile RAM 62 independently of any timing referenced to this external reset indicating signal V0, including, for example, periodically at a predetermined time interval or after a cleaning process. In this case, the time each cleaning process was performed can be recorded or each cleaning level, or can be recorded for only specific cleaning levels. For example, the time could be recorded only when cleaning at cleaning level TCL1 or above (TCL2, TCL3) is performed. Status information recorded at a regular interval can also include, for example, the time when the nozzles were uncapped, and a print pass counter indicative of the print volume. If an external reset signal Vrst is detected during status information recording at a specific interval or after a cleaning process is completed, it is still possible to finish recording the status information in the grace period before the internal reset signal Vr is received. Figs. 6 to 8 are flow charts used below to describe the cleaning processes of printer 1 according to the preferred embodiment of the present invention. Referring to Fig. 6, when the CPU 61 detects the external reset indicating signal V0 is applied from reset detector 71 (step ST1), it reads the current time from the RTC 63 as the reset time (step ST2), and then writes the printer status information to non-volatile RAM 62 (step ST3). When the internal reset signal Vr is then detected, the printer is reset according to the same reset procedure performed when the power switch is turned on. As a result of this an initialization process is performed. In the first step in this process, ST5, the CPU 61 reads the current time from RTC 63. Then it reads the printer status information from non-volatile RAM 62 (step ST6). Referring to Fig. 7, CPU 61 then determines whether the required information is recorded in non-volatile RAM 62 (step ST7). If the CPU 61 is not functioning normally for some reason, or the status information could not be written to the non-volatile RAM 62 due to some problem, the procedure branches to step ST14. The TCL3 level cleaning process is then performed (step ST14) as described above, and printing occurs in step ST15. If the required information was successfully read (ST7 returns YES), inspection information is checked, that is, a checksum operation is performed, (step ST8). The result of the checksum operation is then evaluated (step ST9). If because of some problem data writing to non-volatile RAM 62 could not be completed within the delay period generated by the reset delay timer 72, or there is an error in the history data, (ST9 = NO), control moves to step ST13. At step ST13 the cleaning history is checked for any block in which the inspection information is normal (in which no error is detected), and an appropriate cleaning level is selected. For example, if the time or level of the last cleaning operation is not recorded, or if some of the information is valid but the level of the last cleaning operation is not known, cleaning level TCL3 is selected and performed. When the selected cleaning process is completed, printing occurs in step ST15. If all checksum values are normal and step ST9 returns YES, the interval between the reset time at which the last signal V0 was input and the time at which the current signal V0 was input is compared with a specific value X (step ST10). Note that this interval is indicated as (t2 - t9) in Fig. 9. If this reset interval is less than X, for example, is several seconds, it is assumed that the user is purposefully instructing a full reset operation, that is, wishes an initialization level, i.e., TCL3 level cleaning process to be performed. The procedure therefore branches to ST12, and a TCL3 level cleaning process is performed. Printing then occurs in step ST15. If the reset interval is sufficiently long ((t10 - t2) in Fig. 9) in ST10, an appropriate cleaning level is selected in step ST11. Printing then occurs in step ST15. A process for selecting an appropriate cleaning level in step ST11 is shown in Fig. 8. The interval between the time of the last cleaning operation read from non-volatile RAM 62, and the time of the last reset read that had been read from the RTC 63 after resetting, and the interval between the rest time read from the non-volatile RAM 62, and the time of the last reset, are first calculated in step ST31. These calculated intervals are then used to determine whether a condition 1 is fulfilled, that is, whether the time elapsed since cleaning at cleaning level TCL1 or greater is less than 96 hours, and the ink jet head has been uncapped for less than 15 hours. If condition 1 is fulfilled, the procedure branches to step ST37. The carriage 4 is then moved to the flushing position F, and the ink jet head 2 is cleaned using the flushing process (step ST37). The status of the dummy cleaning DIP switch 91 is then detected in step ST38. If and only if dummy cleaning is enabled, the dummy cleaning process is also performed (step ST39) before printing (step ST15). If dummy cleaning is not enabled, printing (step ST15) begins after flushing is finished. If condition 1 is not met in step ST31, it is determined whether a condition 2 is fulfilled, that is, if less than 96 hours have elapsed since a cleaning operation at cleaning level TCL1 or greater, and the ink jet head has been uncapped for 15 hours or more (step ST32). If condition 2 is met, the ink jet head is cleaned at cleaning level TCL1, that is, the cleaning level with the next to least ink consumption (step ST36). Printing then begins after TCL1 cleaning is completed (step ST15). If condition 2 is not met in step ST32, it is determined whether a condition 3 is fulfilled, that is, if between 96 and 168 hours have elapsed since a cleaning operation at cleaning level TCL1 or greater (step ST33). If condition 3 is met, the ink jet head is cleaned at cleaning level TCL2, that is, the cleaning level with the second highest ink consumption (step ST35). Printing then begins after TCL2 cleaning is completed (step ST15). If condition 3 is not met in step ST33, that is, more than 168 hours have elapsed since a cleaning operation at cleaning level TCL1 or greater, the ink jet head is cleaned at cleaning level TCL3, that is, the cleaning level with the highest ink consumption (step ST34). Printing then begins after TCL3 cleaning is completed (step ST15). Fig. 9 is a timing chart of the operation when the cleaning history information is written correctly to the non-volatile RAM 62. When the reset detector 71 detects an external reset signal Vrst at time t0, it outputs external reset indicating signal V0 to CPU 61 and reset delay timer 72 at time t1. This signal V0 triggers CPU 61 to read time t2 as the reset time, and store the printer status information in non-volatile RAM 62 at time t3. When reset delay timer 72 times out after counting delay period T3, it supplies delayed reset signal V1 to reset signal generator 73. When the operation is normal, writing to non-volatile RAM 62 can be accomplished within delay period T3. When the delayed reset signal V1 is input to reset signal generator 73, it outputs the internal reset signal Vr to CPU 61 at time t5. This internal reset signal Vr causes the CPU 61 to reset. In the initialization process after being reset, the CPU 61 reads current time t6 from RTC 63, and then reads the required information from non-volatile RAM 62 at time t7. The appropriate cleaning level is then selected based on the read information. Timing charts of the operation when the cleaning history information is not written or not correctly written to the non-volatile RAM 62 are shown in Figs. 10(A) and 10(B), respectively. As described above, cleaning at cleaning level TCL3 is performed in step ST14 (Fig. 7) when it is determined in step ST7 that the information read from non-volatile RAM 62 is not appropriate, that is, that the CPU 61 was not functioning normally or that the cleaning history information was not written correctly to the non-volatile RAM 62 for some reason. Fig. 10(A) is a timing chart for a sequence in which internal reset signal Vr is output without the rest time being read from RTC 63 and without cleaning history information having been written to non-volatile RAM 62. The cleaning history information blocks indicated by the checksum operation to be normal are detected, and an appropriate cleaning process is selected, in step ST13 (Fig. 7) as described above when in ST9 it is determined that writing the history information could not be completed within delay period T3, or there is an error in part of the information. Fig. 10(B) is a flow chart of an operation for this case. In this case, information is read from RTC 63 and non-volatile RAM 62 in the same manner as when the information stored in non-volatile RAM 62 is normal. A further cleaning level is provided in the present invention to handle those cases in which the ink jet head 2 nozzles are not capped when a subsequent reset signal is received. This makes it possible to separately control the cleaning process based on whether the nozzles are capped or are not capped when reset signals are successively received. Compared with when the nozzles are capped, the viscosity of ink in the nozzles is typically higher when the nozzles are uncapped immediately before a reset command is received. This makes it preferable to provide another cleaning level in addition to the normal cleaning levels for use in such cases. A cleaning level for use when the nozzles are not capped when a reset is requested, referred to below as uncapped cleaning, can be provided by, for example, increasing the number of wiping or rubbing operations, or changing the selection conditions for one or more normal cleaning levels. In the present embodiment, for example, cleaning levels for uncapped cleaning are achieved by shortening the interval from the last cleaning operation at cleaning level TCL1 or above. Fig. 11 is a flow chart of a control process for this case. Note that this flow chart includes a step for printer initialization when the power switch is turned on. When a reset signal is sent to the CPU 61, the printing mechanism 90 is initialized (step ST41). In step ST42, it is determined whether the reset signal is an internal reset signal Vr generated in response to an external reset signal Vrst, or is a reset signal generated because the power switch was turned on. As noted above, this determination can be made by reading the status information stored in the non-volatile RAM 62. If the reset signal is a power-on generated signal, the procedure advances to step ST43 for cleaning process selection. This selection chooses flushing or cleaning levels 1 to 3 (TCL1 - TCL3) based on the status information from non-volatile RAM 62 and the conditional evaluations described with reference to the flow chart in Fig. 8. The selected cleaning operation is then performed in step ST44. However, if the reset signal sent to the CPU 61 is generated in response to an external reset signal Vrst (step ST42 returns YES), it is determined whether cleaning for uncapped nozzle is required (step ST45). This determination can be made based on the time elapsed from the power-on time of the last reset. For example, if the elapsed time is more than one second, it can be determined that uncapped cleaning is needed. The appropriate cleaning level meeting specific cleaning conditions defined for when the head is not capped can then be selected (step ST46), and the selected cleaning operation performed (step ST47). These cleaning levels can be the same as the regular cleaning levels described above while simply changing the selection conditions. For example, cleaning level TCL1 may be selected for uncapped cleaning when the time since the last cleaning operation at TCL1 or greater is less than 12 hours; TCL2 may be selected when the elapsed time is between 12 and 84 hours; and TCL3 may be selected when the elapsed time is 84 hours or more. Note that as in step ST43, the elapsed time can be calculated by referencing the information stored in non-volatile RAM 62. When an external reset signal Vrst is received by printer 1 of the preferred embodiment of the present invention as described above, an external reset indicating signal V0 is first applied to the CPU 61 and then an internal reset signal Vr is applied after a predetermined delay period. As a result, the CPU 61 has a chance to write the status of the printer 1 at the time the external reset indicating signal V0 was received, as well as the past cleaning history to non-volatile RAM 62 before the printer 1 is reset. This enables the information stored in non-volatile RAM 62 to be referenced during the initialization process following printer 1 resetting so that the ink jet head 2 can be cleaned using a cleaning level appropriate to the condition of ink in the head. It is therefore possible to perform a cleaning process appropriate to the interval between reset signals when an external reset signal Vrst is sent by the host computer 65 at short intervals. It is therefore possible to avoid cleaning the ink jet head at the initialization level, that is, at cleaning level TCL3 in the above description, every time an external reset signal is received. Consumption of unnecessary large amounts of ink can thus be prevented. It should be noted that the external reset indicating signal V0 can be a signal applied to the Non Maskable Interrupt (NMI) pin of the CPU 61. The internal reset signal Vr can also be a signal forcibly applied to the reset RST pin of the CPU 61. In addition, cleaning at the initialization level is forced in a printer 1 according to the present embodiment when the interval between reset times is less than a predetermined time X. This makes it possible to accommodate successive reset signals output purposefully by the user or due to an error. When all or just part of the history information could not be written to the non-volatile RAM 62 within the allotted delay period, a printer 1 according to the present embodiment can still determine or estimate the appropriate cleaning level based on whatever history information is valid by individually checking the validity of each history information unit or block. It is therefore possible to reduce ink consumption as much as possible, while also avoiding loss of print quality due to deficient cleaning, because the appropriate cleaning level is determined based only on history information detected to be valid. After the flushing process printer 1 according to the present embodiment can perform a dummy cleaning process that is substantially the same as the initialization level cleaning process but without consuming any ink. The user can thus be made clearly aware that the printer 1 received and executed reset signal Vrst even though initialization level cleaning is not actually performed. The user can thus be prevented from worrying unnecessarily that head cleaning was not performed. Whether this dummy cleaning process is performed or not can be controlled by means of a preferably externally accessible DIP switch 91 on the printer 1. The user can thus choose to enable the dummy cleaning process or not. While non-volatile RAM is used for storing history information in a preferred embodiment of the present invention, a hard disk or other type of non-volatile storage device can be used. Furthermore, while a DIP switch is used for enabling and disabling the dummy cleaning process, the invention is not limited thereto. A control command sent from the host computer, for example, can also be used. In a preferred embodiment of the invention the cleaning level used after a reset operation is determined by reading information stored in non-volatile RAM 62, and referencing the ink jet head standby time and time elapsed since the last cleaning operation at cleaning level TCL1 or above. It will obviously be possible, however, to reference other status information to conditionally select the appropriate cleaning level. The cleaning level can be conditionally selected, for example, based on a print pass counter indicative of the print volume, and the time elapsed since the last cleaning operation at cleaning level TCL1 or above. If a reset operation is effected during cleaning, it is alternatively possible to reference information about the cleaning operation in progress when the reset was effected, and perform a cleaning operation of the same level or higher. In addition, it is not always necessary to obtain the reset time in a printer according to the invention, and this step can be specifically omitted when there is little chance of successive external reset signals. On the other hand, when there is a chance of frequent external reset signals being generated by the software applications, for example, reading the time from the RTC 63 is unnecessary immediately after resetting. In this case, it is sufficient to read the time from the RTC 63 when reading data from the non-volatile RAM 62. While the elapsed time from the last cleaning operation is determined by reading the current time from the RTC 63, the current time is not always necessary as long as the time since the last cleaning operation can be determined. For example, the elapsed time can be determined by having the control device restart an RTC or other clock device after each cleaning operation to measure the time between cleaning operations. The present invention has been described as recording to non-volatile memory information related to the cleaning process in progress when a reset is effected during cleaning. When the next cleaning operation is selected, however, it is also possible to select a cleaning level of the same or stronger level, and thereby prevent a loss of print quality and other associated problems resulting from an insufficient cleaning process being selected. A printer and control method for resetting the printer according to the present invention can thus perform a process identical to the power-on reset operation, when a reset is requested from a host computer. That is, when a reset signal is received, various pieces of printer status information are written to a non-volatile memory and a hardware reset is then performed to assure operational reliability. After the reset, the information written to non-volatile memory is then read to perform the appropriate process. It is therefore possible for head cleaning, parts replacement, and other maintenance tasks to be appropriately performed, and thus achieve a high reliability printing apparatus.

Claims: A printer comprising: power switch means; input means for receiving an external print data and control signal including an external reset signal (Vrst); non-volatile memory means (62) for storing printer status information; control means (61, 80) for controlling printer operation, including writing printer status information to and reading printer status information from said non-volatile memory means and for effecting an initialization process based on the read status information, and reset means (61, 70) responsive to said external reset signal (Vrst) as well as to said power switch means being turned on for causing said control means (61, 80) to perform said initialization process; characterized in that said reset means (61, 70) comprises reset signal processing means (70) responsive to said external reset signal (Vrst) for applying an external reset indicating signal (V0) to the control means (61, 80), for generating an internal reset signal (Vr) time delayed with respect to said external reset indicating signal (V0) and for applying said internal reset signal to the control means, the control means being responsive to said external reset indicating signal (V0) for writing said status information to said non-volatile memory means (62) and being responsive to said internal reset signal (Vr) for effecting said initialization process. The printer as set forth in claim 1, wherein said printer status information includes information that an external reset signal (Vrst) was received. The printer as set forth in claim 1 or 2 further comprising an ink jet head (2), wherein said control means (61, 80) includes an ink jet head cleaning mechanism (80) adapted to perform one of a plurality of cleaning processes selected depending on said status information read from said non-volatile memory means (62). The printer as set forth in claim 3, wherein said plurality of cleaning processes include an initialization level cleaning process (TCL3) in which a certain amount of ink is ejected from the ink jet head (2), and a dummy cleaning process, which is substantially the same as said initialization level cleaning process but in which no ink is ejected from the ink jet head. The printer as set forth in claim 4, further comprising means for selectively enabling or disabling the dummy cleaning process. The printer as set forth in any one of claims 3 to 5, wherein said status information includes the time at which a certain one (TCL1) of said plurality of cleaning processes was performed, and the control means (61, 80) includes means for calculating the time difference between the current time and the time said certain cleaning process was last performed, and for selecting one of said plurality of cleaning processes based on the calculated time difference. The printer as set forth in claim 6, wherein said status information includes the time at which the external reset indicating signal (V0) was applied, this time being used as said current time for calculating said time difference. The printer as set forth in any one of claims 3 to 6 further comprising a capping mechanism (51) for capping the nozzles of said ink jet head (2) during rest periods, said status information including the time at which the ink jet head is uncapped. The printer as set forth in any one of claims 3 to 8, wherein said control means (61, 80) comprises detection means to detect whether said non-volatile memory means (62) has said status information stored therein and, if so, whether the read status information is valid, said control means being adapted to select a predetermined one (TCL3) of said plurality of cleaning processes in response to said detection means detecting that said status information is not stored or the stored status information is invalid. The printer as set forth in claim 9, wherein said status information is composed of a plurality of status information units and validation information for each unit, said detection means is means for detecting for each status information unit whether it is valid or not, based on said validation information, and said control means (61, 80) is adapted to select an appropriate one of said plurality of cleaning processes in response to status information units detected to be valid, if any. The printer as set forth in claim 10, wherein said control means (61, 80) is adapted, to select said predetermined cleaning process (TCL3) when a predetermined one of said status information units is detected to be invalid. The printer as set forth in any one of claims 3 to 11, wherein the control means (61, 80) is adapted to write said status information to said non-volatile memory means (62) periodically at a given time interval. The printer as set forth in claim 12, wherein said status information includes the time period elapsed since the ink jet head (2) was uncapped. The printer as set forth in claim 12 or 13, wherein said status information includes a print pass counter indicative of the printing volume. The printer as set forth in any one of claims 3 to 14, wherein the control means (61, 80) is adapted to write, after each cleaning process, the time of the cleaning process to said non-volatile memory means (62). A method of resetting a printer having non-volatile memory means (62) for storing printer status information therein, said method comprising the steps of (a) generating an internal reset signal (Vr), (b) reading said status information in response to said internal reset signal, and (c) effecting an initialization process based on the read status information, and is characterized by the further steps of (d) detecting receipt of an external reset signal (Vsrt) applied to the printer, (e) generating, in response to step (d) an external reset indicating signal (V0) and said internal reset signal (Vr), the internal reset signal (Vr) being time delayed with respect to said external reset signal (Vrst) and said external reset indicating signal (V0), and (f) writing, in response to said external reset indicating signal (V0) and before generation of said internal reset signal (Vr) said status information to said non-volatile memory means (62). The method as set forth in claim 16, wherein said status information includes information that an external reset signal (Vrst) was received. The method as set forth in claim 16 or 17 for an ink jet printer having an ink jet head (2), wherein step (c) includes (c1) selected one of a plurality of cleaning processes depending on said status information read in step (b), and (c2) applying the selected cleaning process to the ink jet head (2). The method as set forth in claim 18, wherein said plurality of cleaning processes include an initialization level cleaning process (TCL3) in which a certain amount of ink is ejected from the ink jet head (2), and a dummy cleaning process, which is substantially the same as said initialization level cleaning process but in which no ink is ejected from the ink jet head. The method as set forth in claim 19 further comprising the step of selectively enabling or disabling said dummy cleaning process. The method as set forth in claim 18, 19 or 20, wherein said status information includes the time at which a certain one (TCL1) of said plurality of cleaning processes was performed, and wherein step (c1) comprises calculating the time difference between the current time and the time said certain cleaning process was last performed, and selecting one of said plurality of cleaning processes based on the calculated time difference. The method as set forth in claim 21, wherein said status information includes the time at which the external reset indicating signal (V0) was generated this time being used as said current time for calculating said time difference. The method as set forth in any one of claims 16 to 22 for a printer further having capping mechanism (51) for capping the nozzles of said ink jet head (2) during rest periods, wherein said status information includes the time at which the ink jet head is uncapped. The method as set forth in any one of claims 18 to 23, wherein step (b) comprises detecting whether said non-volatile memory means (62) has said status information stored therein and, if so, whether the read status information is valid, and step (c1) comprises selecting a predetermined one (TCL3) of said plurality of cleaning processes in response to step (b) revealing that said status information is not stored or the stored status information is invalid. The method as set forth in claim 24, wherein said status information is composed of a plurality of status information units and validation information for each unit, step (b) includes detecting for each status information unit whether it is valid or not, based on said validation information, and step (c1) includes selecting an appropriate one of said plurality of cleaning processes in response to status information units detected to be valid, if any. The method as set forth in claim 25, wherein step (c1) includes selecting said predetermined cleaning process (TCL3) when a predetermined one of said status information units is detected to be invalid.

Inventors: KAWASE YUJI, MOCHIZUKI HIDETAKE, TERADAIRA MITSUAKI, KAWASE, YUJI, MOCHIZUKI, HIDETAKE, TERADAIRA, MITSUAKI
Applicants: SEIKO EPSON CORP, SEIKO EPSON CORPORATION
Application year: 1998
Main classification: B41J2
IPC codes: B41J29