The present invention relates to a printing medium conveying apparatus and printing medium conveying method implemented in an imaging apparatus such as an inkjet printer. More specifically, the present invention relates to a motor controlling method, a motor controlling apparatus, a printer using such motor controlling method and apparatus, and a computer program and a computer system for realizing such motor controlling method and apparatus.
A system for realizing positioning operations through speed feedback control using a speed profile is widely used in a printing medium conveying apparatus of an inkjet printer and other applications related to other technical fields. However, in a case where positioning operations are performed based on a speed profile, when deviations occur with respect to the speed profile, variations may be created with respect to the actual distance traveled. Also, a substantial deviation with respect to the speed profile may result in substantial undershoot and overshoot to thereby cause oscillation and instability in the positioning operations.
It is noted that motor drive controlling techniques using a speed profile are disclosed in Japanese Laid-Open Patent Publication No. 2001-224189, Japanese Laid-Open Patent Publication No. 2001-169584, and Japanese Laid-Open Patent Publication No. 2003-348878, for example.
In the case of controlling a motor through a motor controlling scheme using a speed profile, when the drive load of the motor is not considered upon driving the motor to achieve a certain target profile, the time required for the motor to reach a predetermined rotation speed may vary depending on the drive load of the motor. Specifically, when the drive load of the motor is relatively light, the motor may reach the predetermined rotation speed in a relatively short period of time; on the other hand, when the drive load of the motor is heavy, a relatively long period of time may be required for the motor to reach the predetermined rotation speed.
According to an aspect of the present invention, a motor controlling method is provided for accurately controlling a motor even when the drive load of the motor fluctuates and enabling the motor to reach a target position in a relatively short period of time. According to another aspect of the present invention, a motor controlling apparatus that is capable of executing such a motor controlling method is provided. According to another aspect of the present invention, a computer program contained in a computer-readable medium that is executed by a computer to perform such a motor controlling method is provided.
According to one specific embodiment of the present invention, a printing medium conveying apparatus that is configured to move a printing medium in a sub scanning direction is provided, the apparatus including:
a control unit that includes a speed profile and is configured to control the moving of the printing medium through feedback control using the speed profile;
wherein the speed profile includes an accelerating region, a constant speed region, a decelerating region, a constant low speed region, and a stopping operations region;
the speed profile is switched from the accelerating region to the constant speed region according to speed information; and
the speed profile is switched between the constant speed region, the decelerating region, the constant low speed region, and the stopping operations region according to a current distance from a target position.
According to another specific embodiment of the present invention, a printing medium conveying method for moving a printing medium in a sub scanning direction is provided, the method comprising the steps of:
controlling the moving of the printing medium through feedback control using a speed profile, which speed profile includes an accelerating region, a constant speed region, a decelerating region, a constant low speed region, and a stopping operations region;
switching the speed profile from the accelerating region to the constant speed region according to speed information; and
switching the speed profile between the constant speed region, the decelerating region, the constant low speed region, and the stopping operations region according to a current distance from a target position.
According to another specific embodiment of the present invention, a computer-readable medium containing a printing medium conveying program run on a computer for moving a printing medium in a sub scanning direction is provided, the program being executed by the computer to perform the printing medium conveying method according to an embodiment of the present invention.
In a preferred embodiment of the present invention, a profile of the decelerating region is determined by a function of the current distance from the target position.
In another preferred embodiment of the present invention, a target speed for decelerating from a first speed V1 to a second speed V2 in the decelerating region is determined by a function of an encoder pulse count value Pr, which function is expressed as:
Vt=(Pr×(V1−V2)/(P1−P2)−(P1×(V1−V2)/(P1−P2)−V1))/(Lp)
wherein P1 denotes a count value at the first speed V1, P2 denotes a count value at the second speed V2, and Lp denotes an encoder pulse resolution.
According to an aspect of the present invention, in switching a speed profile to control the moving and stopping of a printing medium, by determining the speed profile based on the current distance from a target position (i.e., the difference between a target stopping position count value corresponding to the number of edges of an encoder pulse to be counted from the start of the moving operation and the current position count value) particularly in a decelerating region of the speed profile, the amount of deceleration may be reduced as the current position comes closer to the target position so that the change in the target speed upon switching from the decelerating region to a constant low speed region may be reduced and deviations in speed may be prevented upon shifting to a constant speed phase after deceleration.
According to another aspect of the present invention, since the speed is determined based on a difference with respect to a target value, a target speed in the vicinity of a target position may be reduced to a low speed so that deviations may be prevented and stable stopping operations may be realized.
Other objects, features and advantages of the present invention will become more apparent from the following detailed description when read in conjunction with the accompanying drawings.
In the following, preferred embodiments of the present invention are described with reference to the accompanying drawings.
In the case of controlling a motor by starting a rotating operation of the motor in response to a motor drive start signal, and setting a target angle or a target distance for the rotation angle of the motor, the peripheral traveling distance of a drive roller arranged in the motor, or the traveling distance of a belt arranged in the drive roller, for example, the motor may be driven to a target position through detecting the rotation degree or the traveled distance of the motor by an encoder arranged at a drive shaft of the motor or a driven shaft that is driven by the motor via a decelerating mechanism, for example, and feeding back an amount of change in the rotation degree or the traveled distance to the motor.
According to the present example, the controller 8 is configured to control the speed of the motor 4 by controlling switching between an accelerating profile 8a, a constant speed profile 8b, a first decelerating profile 8c, a constant low speed profile 8d, and a second decelerating profile 8e according to conditions for switching from an accelerating region (a), to a constant speed region (b), a first decelerating region (c), a constant low speed region (d), and a second decelerating region (e) of the speed profile shown in
According to the present example, a count value speed information determining unit 8g is configured to execute switching between the profiles 8a-8e based on the degree of rotation of the drive pulley 1 obtained from the counter 7 via an interface 8f. In the present example, profile switching based on a count value is realized by determining whether to perform switching based on the relevant count value, and determining speed information based on the sampling period of count data in the count value speed information determining unit 8g and a difference value of the count value.
According to the present example, the belt 3 may be moved to a target position by obtaining a corresponding target position for each speed profile, calculating the drive torque of the motor 4 according to its speed by a PI (proportional-integral) controller 8h, and rotating the motor 4 via a motor interface 8i.
According to the present example, given that the speed in the constant speed region (b) is denoted as V1, the speed V1 is set as a target speed in the accelerating region (a). It is noted that a speed V0 in the accelerating region (a) may be calculated from the number of pulses within a sampling period obtained by the rotation of the encoder 5. Given that the number of pulses within the sampling period is denoted as Pc, the sampling period is denoted as Ts, and the resolution of the encoder pulse (based on rotation of the drive shaft) is denoted as Lp, the speed V0 may be calculated based on the following formula:
V0=Pc×Lp/Ts
It is noted that speed control is performed in the accelerating region (a) with the target speed set to V1 until the condition V0=V1 is satisfied. Switching from the accelerating region (a) to the constant speed region (b) is performed when the condition V0=V1 is satisfied.
In the constant speed region (b), speed control is performed with the target speed set to V1.
It is noted that switching from the constant speed region (b) to the decelerating region (c) is determined based on a difference between a target position (target count value of encoder pulse counted from the start) and a current count value counted from the start. That is, given that the target count value is denoted as Pt, the current count value is denoted as Pr, an a corresponding target position for the constant speed region (b) is denoted as P1, switching from the constant speed region (b) to the decelerating region (c) is performed when the following condition is satisfied:
P1=Pt−Pr
In the decelerating region (c), deceleration from the speed V1 to a speed V2 is realized. In this case, a target speed Vt in the decelerating region (c) may be calculated from a function of the encoder pulse number count value Pr as is expressed below:
Vt=(Pr×(V1−V2)/(P1−P2)−(P1×(V1−V2)/(P1−P2)−V1))/(Lp)
It is noted that P1 denotes a value obtained by subtracting the current count value from the target count value for switching from the constant speed region (b) to the decelerating region (c), P2 denotes a value obtained by subtracting the current count value from a target count value for switching from the decelerating region (c) to the constant low speed region (d), and Lp denotes the resolution of the encoder pulse (based on rotation of the drive shaft).
Given that the target count value is denoted as Pt, and the current count value is denoted as Pr, switching from the decelerating region (c) to the constant low speed region (d) is performed when the following condition is satisfied:
P2=Pt−Pr
In the decelerating region (d), speed control is performed with the target speed set to V2.
It is noted that switching from the constant low speed region (d) to the decelerating region (e) is determined based on a difference between a target position (target count value of encoder pulse counted from the start) and a current count value counted from the start. That is, given that the target count value is denoted as Pt, the current count value is denoted as Pr, and a corresponding target position for the constant low speed region (d) is denoted as P3, switching from the constant low speed region (d) to the decelerating region (e) is performed when the following condition is satisfied:
P3=Pt−Pr
In the decelerating region (e), the speed is decelerated from the speed V2 to a near halt. In this case, a target speed Vt in the decelerating region (e) may be calculated from a function of the encoder pulse number count value Pr as is expressed below:
Vt=(Pr×(V2)/(P3)−(P1×(V2)/(P3)))/(Lp)
It is noted that P3 denotes a value obtained by subtracting the current count value from the target count value for switching from the constant low speed region (d) to the decelerating region (e), and Lp denotes the resolution of the encoder pulse (based on rotation of the drive shaft).
Switching from the decelerating region (e) to the stopping operations region (f) is determined based on the difference between a target position (target count value of encoder pulse counted from the start) and the current count value counted from the start. Given that the target value is denoted as Pt, the current count number is denoted as Pr, and a corresponding target position for the decelerating region (e) is denoted as P4, switching from the decelerating region (e) to the stopping operations region (f) is performed when the following condition is satisfied:
P4=Pt−Pr
In the stopping operations region (f), positioning operations such as position feedback control and adjustment of a motor drive command value based on the difference between the target position and the current count number in open loop are performed to realize positioning at the target position.
As can be appreciated from the above descriptions, according to the present example, positioning to a target position may be realized by determining a target speed value for each speed profile (region) and switching the target speed value based on the encoder pulse count value.
It is noted that a speed profile used in an embodiment of the present invention does not necessarily have to include the second decelerating region (e) and the stopping operations region (f) included in the speed profile shown in
Also, it is noted that by using the speed profile as is described above to perform positioning control, stable stopping operations may be realized even when fluctuation occurs in the load of the drive shaft and the decelerating state of the drive shaft is changed as a result, for example,
According to the present example, a speed profile with respect to a relevant mechanism may be generated through simulation provided that the characteristics of the relevant mechanism are known and the load conditions are substantially fixed, and test operations may be performed using the generated speed profile to obtain a suitable speed profile for the relevant mechanism. However, in the present example changes in speed characteristics owing to variations in the load conditions may not be tolerated, for example, and in such a case, the movement of the drive shaft of the drive pulley 1 may not be in conformity with the speed profile of
Particularly, with respect to the decelerating region (c), when a speed profile based on time is used and the load of the relevant mechanism is different from the expected value, deviations may occur with respect to the speed profile in the decelerating region (c) as is illustrated in
Also, it is noted that in a case where the relevant mechanism is not provided with adequate rigidity, the relevant mechanism may be a vibrating system and when the mechanism resonance frequency is low, an oscillating state may be created.
Further, since the speed is controlled by time according to the present example, when the speed is not adequately decelerated with respect to the target position, the time during which a motor is driven at a speed higher than the relevant target speed may be longer, and thereby, the actual distance traveled may be increased and the motor may be driven past the target position to thereby cause oscillation, for example.
According to an embodiment of the present invention, a speed profile is generated according to a target position using the formulae described above in which position and speed are arranged to have a linear relationship (position-speed profile: speed profile based on the distance from the target position). In this case, the speed profile is configured so that the target speed is decreased upon nearing the target position, and in turn, the speed controlled by the speed profile is decreased upon nearing the target position. Accordingly, the amount of positional change is reduced and the change in the target speed of the speed profile is reduced in such a case. Specifically, referring to
As is shown in
It is noted that at point T2 in
It is noted that embodiments within the scope of the present invention include a printing medium conveying apparatus, a printing medium conveying method, and a printing medium conveying program contained in a computer readable-medium. The printing medium conveying program may be contained in any computer-readable medium for carrying or having computer-executable instructions or data structures stored thereon. Such a computer-readable medium can be any available medium which can be accessed by a general purpose or a special purpose computer. By way of example, and not limitation, such a computer-readable medium can comprise a physical storage medium such as a RAM, a ROM, an EEPROM, a CD-ROM, other optical disk storage devices, other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. Such a medium may include a wireless carrier signal, for example. When information is transferred or provided over a network or other communications connection (either hardwired, wireless, or combinations thereof) to a computer, the computer properly views the connection as a computer-readable medium. Thus, any such connection is properly termed a computer-readable medium. Combinations of the above should also be included within the scope of the computer-readable medium. Computer-executable instructions comprise, for example, instructions and data which cause a general purpose computer, a special purpose computer, or a processing device to perform a certain function or a group of functions.
Although the present invention is shown and described with respect to certain preferred embodiments, it is obvious that equivalents and modifications will occur to others skilled in the art upon reading and understanding the specification. The present invention includes all such equivalents and modifications, and is limited only by the scope of the claims.
The present application is based on and claims the benefit of the earlier filing date of Japanese Patent Application No. 2005-071210 filed on Mar. 14, 2005, and Japanese Patent Application No. 2005-265070 filed on Sep. 13, 2005, the entire contents of which are hereby incorporated by reference.
Number | Date | Country | Kind |
---|---|---|---|
2005-071210 | Mar 2005 | JP | national |
2005-265070 | Sep 2005 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP2006/304529 | 3/2/2006 | WO | 00 | 10/18/2006 |