The present disclosure relates generally to a method for controlling an actuator, and more particularly to a method for adaptively controlling an actuator.
Various machines utilize actuators such as step motors, solenoids, and so forth to control numerous functions on the machine. For example, such actuators may be used to control hydraulic valves. There is a continuing need to increase the accuracy and response time of such actuators.
One attempt to increase the response time of a step motor is described in U.S. Pat. No. 6,984,956 (the '956 patent). The method disclosed in the '956 patent switches between micro-stepping and full-stepping configurations at certain stages along a predetermined path of the step motor. However, the method disclosed in the '956 patent assumes a constant trajectory and is not adaptable to trajectory changes made in the middle of the predetermined path.
In one aspect of the disclosure a method of controlling an actuator is disclosed. According to this method a controller calculates a first trajectory from a first position to a second position based on a first set of boundary conditions, and commands movement of the actuator based on the first trajectory. The controller then calculates a second trajectory from a third position to a fourth position based on a second set of boundary conditions, wherein the third position is between the first position and the second position. Before the actuator reaches the second position, the controller commands movement of the actuator based on the second trajectory.
An exemplary embodiment of a machine 10 is shown generally in
Referring to
In the depicted embodiment the valve 20 is a rotary servo spool valve, such as the device disclosed in U.S. patent application having Ser. No. 11/643,818 (the '818 application) filed by Kerckhove et al. on Dec. 22, 2006, which is incorporated herein by reference. In addition to the rotary spool 22, the depicted valve 20 includes a translatory spool 23. In practice the rotary spool 22 opens and closes ports that cause the translatory spool 23 to change position; the translatory spool 23, in turn, controls hydraulic flow to the implement 12. The interaction between the rotary spool 22 and the translatory spool 23 is discussed in greater detail in the '818 application.
The direction and rate of flow of hydraulic fluid through the valve 20 is affected by the angular position of the rotary spool 22, which is controlled by the step motor 24. The desired rate and direction of flow of hydraulic fluid through the valve 20 may be a function of a signal generated by an operator input device 28, which may be connected to the controller 26, or various other inputs.
According to an embodiment of the disclosure, the step motor 24 has two sets of windings, Winding A and Winding B, each of which may selectively generate magnetic fields in one of two opposite directions. Generally, a step motor 24 may be operated in either a full-stepping mode or a micro-stepping mode. In full-stepping mode the electrical currents through Winding A and Winding B repeat a sequence of four configurations. An example of such a full-stepping series of electrical current configurations is illustrated in Table 1 below. As used herein, the angle θ represents the polar angle in a plane IA over IB, where the possible electrical current configurations define a circle, as illustrated in
In full stepping mode a step motor 24 rotates by a predetermined angle for each step. Each step may be, for example, 1.8°, 0.9°, or numerous other step sizes. In the depicted embodiment, the step size is 1.8 degrees. Thus, when the bipolar step motor 24 is operated in a full-stepping mode, the rotor moves 1.8 degrees for each full step.
The bipolar step motor 24 may also be operated in a micro-stepping mode to increase resolution and to obtain smoother motion. In micro-stepping mode the four current configurations of the full-stepping mode are replaced by a sequence of, for example, eight, sixteen, thirty-two, sixty-four, or more current configuration. In an optimized micro-stepping mode the current in Winding A can be expressed as a sine curve, while the current in Winding B can be expressed as a cosine curve. Thus, for a maximum current of Imax, the current passing through Windings A and B, can be expressed as:
I
A
=I
max sin(θ)
I
B
=I
max cos(θ)
Applying the above equations, each step for θ will be (90/n) degrees, and each step for φ will be (1.8/n) degrees, where “n” is the number of micro-steps.
An example of a micro-stepping sequence, more specifically a so-called “half-stepping” sequence, having Imax=1 Amp, and eight electrical current configurations is illustrated in
Thus, according to the present embodiment having 1.8 degree full-steps, it will be understood that if a micro-stepping sequence having eight electrical current configurations is utilized, each micro-step will be ½ of 1.8 degrees, or 0.90 degrees. Similarly, if a micro-stepping sequence having sixteen electrical current configurations is utilized, each micro-step will be ¼ of 1.8 degrees, or 0.45 degrees.
With regard to the physical structure of the valve 20, the step motor 24 requires a certain amount of torque to rotate the spool 22 in order to overcome friction, inertia, a return spring 32, and/or various other forces acting on the step motor 24 and/or spool 22. The step motor 24 may lose its phase if the torque necessary to drive the spool 22 over the next step angle is higher than the torque that can be produced by the step motor 24. In such a situation, the step motor 24 may miss a step. If this occurs more than twice, the step motor 24 will become out of phase, i.e. the step motor 24 position will jump to the nearest position that matches the actual current configuration. In such a case the motor position will be four steps, or 7.2° off the commanded position. If this occurs in an open loop control system, the controller 26 will have an inaccurate perception of the step motor's 24 position. According to the present disclosure, this could result in improper positioning of the spool 22.
To avoid missing steps, the controller 26 according to the present disclosure may continuously estimate the torque required for the step motor 24 to turn the spool 22. The controller 26 may operate at a given frequency, such as 50 Hz, 100 Hz, 200 Hz, or numerous other frequencies. Thus, by “continuously estimate” it is meant that the controller 26 may estimate the torque required by the step motor 24 each cycle (e.g. 50 times per second for 50 Hz system, and so forth). Alternately, the controller 26 may estimate the torque required by the system regularly, but less than each cycle (e.g. 5 times per second regardless of the controller clock speed). Based at least in part on the estimated torque requirements, the controller 26 may limit the maximum step angle per time increment. In an application such as the hydraulic valve 20 depicted in
The controller 26 also estimates a current step motor 24 position and velocity (104). The step motor 24 velocity is estimated by dividing the last step angle by the time since the last step. If no step has been commanded for a certain amount of time, which may be a fraction of a second, the step motor 24 velocity may be determined to be zero. The step motor 24 position is estimated by summing all of the past commanded step angles since the last initialization of the algorithm.
As a function of the calculated reference trajectory 50 and the estimated motor position and motor velocity and given the controller clock time, the controller 26 determines the appropriate size of the next step (106). The size of the next step generally follows the reference trajectory 50, as illustrated in
The reference trajectory 50 calculated in procedure (102) is constrained by the maximum acceleration and deceleration of the stepper motor 24. The maximum acceleration and deceleration of the stepper motor 24 depend, at least in part, on the torque required to change the angular velocity of the stepper motor 24 with the load attached at its output shaft at a given position. The torque required to change the angular velocity of the stepper motor 24 and its load may depend, among other things, on the stepper motor 24 position due to such factors as the return spring 32 and friction.
The maximum acceleration and deceleration of the stepper motor 24 in a given position may vary based on the various characteristics of the hydraulic control system 18. As such it may be necessary to empirically determine the maximum acceleration and deceleration for a given hydraulic control system 18 at various positions along the path of the actuator.
Thus, if the maximum acceleration, maximum deceleration, and a sufficient set of boundary condition, which may include, for example, initial position (xo), initial velocity (vo), desired position (xf), and final velocity (vf), are known, a reference trajectory 50 (see
As illustrated in
Continuing the example discussed above and illustrated in
In operation, an operator of the machine 10 may command a desired function of the implement 12. This desired function may be achieved, at least in part, by moving a spool 22 within a valve 20 to a certain desired position. To move the spool 22 from its current position to the desired position as quickly and accurately as possible, the controller 26 will calculate a reference trajectory 50, as described above. The controller 26 will then calculate and command the next step, which will generally follow the reference trajectory 50, which may be a micro-step for relatively low velocities, or a full-step if the velocity is high.
However, before the spool 22 reaches the initial desired position, the operator may alter the command, and a new desired position may be requested. If this happens, at the controller's 26 next cycle, which will generally be a fraction of a second, the controller 26 will calculate an alternative reference trajectory 52 based on the current state of the hydraulic control system 18 and the new desired position. The controller 26 will then calculate and command the next step based on the alternate reference trajectory 52. According to an embodiment of the disclosure, the controller 26 may calculate a reference trajectory 50 and corresponding next step size each time cycle, regardless of any change in the boundary conditions. In this manner, the hydraulic control system 18 can adapt to changes in operator and/or other inputs, and can provide improved response time and accuracy. Furthermore, the system 18 can minimize the risk that the step motor 24 will miss steps.
It will be apparent to those skilled in the art that various modifications and variations can be made to the disclosed hydraulic control system 18 without departing from the scope or spirit of the disclosure. In particular, all the considerations regarding the optimized trajectory may be applied to linear motion, so torque would be replaced by force, angle would be replaced by distance, and so forth. Additionally, other embodiments of the disclosed hydraulic control system 18 will be apparent to those skilled in the art from consideration of the specification and practice of the apparatus and method disclosed herein. It is intended that the specification and examples be considered as exemplary only.