WO1983000571A1 - Adaptive pulsing motor control for positioning system - Google Patents

Adaptive pulsing motor control for positioning system Download PDF

Info

Publication number
WO1983000571A1
WO1983000571A1 PCT/US1982/001050 US8201050W WO8300571A1 WO 1983000571 A1 WO1983000571 A1 WO 1983000571A1 US 8201050 W US8201050 W US 8201050W WO 8300571 A1 WO8300571 A1 WO 8300571A1
Authority
WO
WIPO (PCT)
Prior art keywords
motor
driven element
destination
duty cycle
period
Prior art date
Application number
PCT/US1982/001050
Other languages
French (fr)
Inventor
Inc. Unisen
James S. Sweeney, Jr.
Original Assignee
Unisen Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Unisen Inc filed Critical Unisen Inc
Priority to BR8207812A priority Critical patent/BR8207812A/en
Publication of WO1983000571A1 publication Critical patent/WO1983000571A1/en

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4142Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by the use of a microprocessor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/416Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control of velocity, acceleration or deceleration
    • G05B19/4163Adaptive control of feed or cutting velocity

Definitions

  • This invention relates to an adaptive pulsing system for controlling a motor which moves a device to a desired position.
  • the invention is useful wherever precise position control is desired, and is particularly useful if it is required that the final position always be approached from the same direction. This requirement is found in systems for which the position information is derived from measurement of lead screw rotation, since slack in the driving mechanism can lead to an error in measurement.
  • Application S/N 173,274 discloses a method of making a terminal approach to a destination by sending to the motor a series of short pulses of varying width. After sending an initial pulse to the motor having a predetermined -width (duration) , a short delay is observed; and then the position of the driven element is compared to its previous, or "target,” position. If the driven element * has not been moved past the target position, the motor pulse width in increased by a predetermined increment; and the longer pulse is used to
  • variable duration pulse -width i.e. , a variable length delay after turning the motor on
  • a multiple-axis control system ordinarily is implemented by "time-sharing" th central processor among the axes, which are independently approaching destination positions. If one axis were to appropriate the processor for an indefinite period, while another axis was making a high-speed approach, there -would b s substantial likelihood that the latter axis would overshoo its mark. Another conflict could occur if two or more axes ⁇ were in the final adaptive approach procedure, and if each were to add its pulse-on delay time to the others' pulse-off delay time.
  • the pulse width for each axis could increase -without limit, without altering the "duty cycle," i.e. , the ratio of "on” time to the total on “on” time plus “off” time While the system of S/N 173,274 could be redesigned to permi time-sharing, the changes would be complex and costly.
  • control * apparatus and method of the present invention has proved to be even more accurate than the prior systems, and to be more rapid in approaching the destination position, because (a) the pulsing zone provides "coarse” and “fine” adaptive responses based on remaining distance and (b) "slipping back" of the driven element is more effectively countered.
  • Another benefit of the present system is greater adaptability to the frictional differences which may be encountered in different positions of the driven element. In other words, there is greater certainty that motion will occur at some point during each pulsing cycle.
  • the present invention is a synchronous pulsing system, which varies the energy exerted during a predetermined motor "on” period.
  • the motor "on” portion of each cycle is a predetermined “window,” or period, of time; and the motor “off” portion of each cycle is also a predetermined period of time, the two periods having a ratio which depends on the type of machine being operated.
  • a "nudging” technique is used during final approach to move the driven element by providing initially a lesser amount of energy during the period of one "on” window, and gradually increasing the amount of energy during each successive "on” window, until forward movement is detected. Then the cycle begins again with the lesser amount of energy (which has a value designed to ensure against overshoot) .
  • the duration of the actuation period ("on" window) is constant, but the driving energy is varied within the "on” window.
  • This variation preferably is accomplished by varying the duty cycle of the motor.
  • the preferred way of causing the duty cycle variation is to provide motor driving pulses whose width is varied to alter the ratio of "on” and "off” ti e within the "on” window.
  • the motor driving pulses within the window are started at a low duty cycle, and their duty cycle is increased incrementally from "on" window to "on” window until forward motion is detected, after which the sequence is repeated.
  • Figure 1 is a diagrammatic showing of a control system for a multi-axis machine
  • Figure 2 is a diagrammatic showing of the control circuitry for one axis of the system of Figure 1 ;
  • Figure 3 is a flow, or logic, diagram which summarizes the operation of the final stage of the positioning system under the control of the microprocessor; and Figure 4 is a pulse diagram showing the sequence and duration of driving pulses in the system.
  • FIG. 1 shows the general system, which preferably is microcomputer controlled.
  • a central processor (CPU) 12 is programmed to provide the desired sequencing of events and is in electronic communication, via bus 14 (which includes data, address and control signals), with a read-only (or program) memory 16, a read/write memory 18, an interface/control 20 for the first axis, and an interface/control 22 for the second axis.
  • the CPU 12 also is connected by a bus 24 to a keyboard 26 and to displays 28.
  • the read/write memory stores program variables and sequences of positions; and the keyboard is used for entry of destination positions.
  • the fundamental frequency utilized by the clock of CPU 12 may be established by a crystal 30.
  • Each axis of the system has a variable duty-cycle circuit -which controls motor speed, and two signal inputs which control direction and dynamic braking.
  • the two signal inputs from the CPU 12 to the first axis are leads Al and Bl ; and the two signal inputs from the CPU 12 to the second axis are leads A2 and B2.
  • the signal inputs from the CPU on these lines establish the ratio of the on window period to the off period during the final approach phase.
  • Figure 2 provides a diagram of the control circuit for each axis of the system.
  • the end result is controlled motion and precise destination-positioning of a driven element symbolically shown at 32, which may represent any of numerous elements which require. precise positioning.
  • a driven element symbolically shown at 32, which may represent any of numerous elements which require. precise positioning.
  • the intended uses of the present invention are positioning of the lens and film planes of cameras, of the chases of step-and- repeat machines, or of the tables of drilling machines or milling machines. While the present invention is particularly useful in multi-axis systems, it is also applicable to single-axis systems. Although most uses will favor final destination approach, or "settling in,” from one direction only; it is entirely practicable to provide final approach from both directions, as is desirable in step-and- repeat machines.
  • a lead screw 34 which may be rotated by an electric motor 36 operatively connected to the lead screw by a gear belt 38.
  • an electric motor and specifically a permanent-magnet DC motor, is preferred.
  • the position of the driven element may be conveniently sensed for feedback to the control electronics by a shaft encoder 40 (preferably an incremental encoder) , which may be operatively connected to the lead screw 34 by a gear belt 42.
  • the position signals from the shaft encoder 40 are conveyed by lines 44 and 46 to a position decoding circuit 48, which accumulates a count representing the position of the driven element 32, and which is in communication with ' CPU 12 via bus 14.
  • the conceptual basis of the control portion of each axis of the system is a combination of (a) a predetermined time ratio of on time to off time -wit (b) means for varying the energy during the on time. This energy variation is used in the final stage of the settling- in motion to provide a gradually increasing "nudging" effort which begins its cycle from lower to higher energy after eac detected forward motion.
  • the variation of energy within the period, or "window,” of on time may be accomplished in various ways.
  • the preferred approach, which is disclosed in this application, is variation of the duty cycle by varying the pulse widths o on and off pulses during the constant periods of the successive on windows. (Because the on window time remains constant, increasing the on pulse -width is accompanied by a decrease of the off pulse width, and vice versa. ) Instead o duty cycle variation to vary the effective energy during the on -window period, the voltage level could be varied from one on -window to the next. But such a system would be more complicated and more difficult to control precisely.
  • the control portion of the system includes four control lines from the CPU 12. In addition to the A and B lines, previously mentioned, a reset line 50 and a clock line 52 ar required.
  • the reset line 50 is connected to a counter and t a flip-flop 54.
  • the counter is an 8-bit counter provided by combining two 4-bit counters 56 and 58, each communicating with CPU 12 via bus 14.
  • the reset line 50 is connected to the preset enable inputs of each of the counters 56 and 58 , and to the reset input of flip-flop 54.
  • the clock line 52 is connected to the clock inputs of each of the counters 56 and 58.
  • the carry in of counter 56 is grounded, and the carry out of counter 56 is connected to the carry in of counter 58.
  • the direction control lines A and B are connected to AND gates 60 and 52, respectively.
  • the carry out of the 8-bit counter is an input via line 64 to an OR gate 66, whose output is connected by line 68 to the clock input of flip- flop 54.
  • the Q output of flip-flop 54 is tied to its Data (D) input.
  • the Q output of flip-flop 54 is an input via line 70 to both AND gates 60 and 62, and also to OR gate 56.
  • the two AND gates 60 and 62 provide controlling signals to the motor 36 through the intermediary of a suitable motor drive circuit, which operates according to the logic of this truth table:
  • motor 36 will run in the forward direction if 24V is supplied to lead 72 via Darlington 74, and ground is supplied to lead 76 via Darlington 78.
  • the motor will run in reverse when lead 76 receives 24V from Darlington 80 and lead 72 is grounded via Darlington 82.
  • Dynamic braking is accomplished if both leads are shorted together to ground via Darlingtons 78 and 82. If all Darlingtons are off, the motor is in an off state.
  • Transistors 84 through 102 provide the logical interfacing between the AND gates 60 and 62 and the
  • Transistor 90 also turns on transistor 92.
  • the output of AND gate 62 is 0, so that transistor 94 is off, causing transistors 96 and 98 to be on, and transistors 100, 102 and Darlington 82 to be off. Since both transistors 92 and 98 are on, Darlington 74 is turned on, supplying 24VDC to motor lead 72, thereby causing motor 36 to move in the forward direction.
  • the following is a table of transistor states as a function of the states of the A and B lines.
  • circuitry may be used in controlling the motion of motor 36, but the disclosed circuitry is particularly simple, cost-ef ective and rugged for fractional horsepower motors operating in the region of 24 volts.
  • the circuitry which determines the amount of energy applied during the period of the on window also may be selected from a number of options.
  • the arrangement disclosed is considered relatively cost-effective.
  • the counters 56 and 58 are CMOS 4-bit presettable binary counters
  • the flip-flop 54 is a D-type flip-flop.
  • the purpose of the circuit is to provide a pulse train whose duty cycle is proportional to an 8-bit value provided by the CPU 12.
  • the counter is ' run in its "up" mode so that, upon counting up to its full count of 255, it generates a carry- out pulse on its CO pin and starts counting up again from zero. In the configuration shown in the drawing, the count increments at the clock frequency.
  • the Q output of flip-flop 54 is tied to the D input so that at each clock transition the Q output changes state.
  • the gate 66 ORs together the CO output of the counter and the Q output of the flip-flop so that, once the flip-flop has set its Q output to 1, no further transition can occur on its CLK input until after a reset.
  • the clock signal is generated by the computer for various purposes; it is 400 kHz as it leaves the CPU, and is divided down to give the lower frequency.
  • the reset signal is generated once every 256 clock cycles (at half the display refresh rate); it resets the flip-flop and presets the counter to the 8-bit value present on the data bus. The computer sees this as "writing" the value to the counter, as if it were a location in memory.
  • the A and B signals provide direction and on/off logic.
  • a 1 When a signal is present on A or B and while a 1 is present at the Q output of the flip-flop, a 1 -will be present at the output of one of the two AND gates, and current will flow through the motor.
  • the CPU 12 In establishing the overall relation of on window time to off time of the motor, i.e. , the percentage of total time during which the on window permits motor actuating energy to be exerted, the CPU 12 is controlling the true or false signal on either line A or line B to the motor control circuit. If the axis under control is moving in the forward direction, the line on 'which a true, or positive, signal appears during the on window period is line A.
  • the motor is off for 128 clock periods, then on for 128 clock periods — a duty cycle of 50%.
  • the motor is off for 192, on for 64, a 25% duty cycle.
  • the electronic position control system of Figure 2 is, as previously stated, for one axis only. Each axis requires it own control system, i.e. , an additional motor, lead screw, encoder, position decoding circuit, reset line, motor drive circuit, and direction control lines.
  • the clock signal may be common to all axes. If a multi-axis system is used, the CPU 12 coordinates actuation of the axes, and prevents any conflicting demands from occurring.
  • the control system described above permits a high degree of flexibility in operating motor 36 to move the driven .element 32 to its desired, or destination, position. In general, it has proved desirable to initially cause rapid, continuous movement of the motor and driven element until the latter reaches a position within a certain distance from its destination.
  • the driven element If it is then far enough from the destination for the fast speed phase to be used 'without likelihood of an overshoot, the driven element is moved forward at high speed until that condition is no longer true, whereupon it is braked to a very low speed.
  • a slower approach speed can easily be provided as an intermediate stage of continuous motion; but this stage has not proved to be necessary in test operations.
  • the driven element is next driven at slower speed, using the fractional distance approach system of Application S/N 62,416, until the terminal neighborhood is reached.
  • the terminal neighborhood is a distance of about .004 inch.
  • the position of the driven element is first measured and stored in memory as a target position. If the distance to the .final destination is greater than 0.001 inch, an initial duty cycle of 60% is chosen. If the distance is less than 0.001 inch, the initial duty cycle is 40%, which under most circumstances is not quite sufficient to move the driven element in the prototype device.
  • the motor is turned on in the forward direction for five milliseconds, then turned off. For the rest of a fifty millisecond period, the central processor attends to other tasks, including control of another axis (or axes). Then it returns to the pulsing procedure for the axis in question, and checks the current value of the position of the driven element.
  • this position is forward of the target position, which is the last attained position, the initial value is again used for the next pulse, and the current position becomes the target. If no motion is sensed, the duty cycle is increased by 6.25%, whereas, if the driven element has slipped backwards, an increase of 12.5% is used. This cycle is repeated until forward motion occurs, increasing the energy in increments b increasing the duty cycle during the five millisecond "on" period. If the duty cycle has reached 100% without forward motion, a slipping back may have occurred, and a new target (the attained position) will be selected.
  • the resolution of the position-sensing circuit is 0.0000625 inch.
  • the computer has been able to position with no detectible error, or overshoot, on at least half of all trials .
  • a clock frequency of 100 kHz and a reset frequency of 390 Hz is in use.
  • the motors hum a the reset frequency when the duty cycle is below 90%.
  • the initial choice was 1562 Hz, but this -was perceived as an unpleasant whine.
  • a new frequency was therefore chosen to provide a more acceptable sound.
  • Figure 3 discloses a logic flow chart used in controlling the experimental apparatus. As shown startin with- the entry symbol, the initial logic step in each axis- control sequence is an input/output block 110, which represents a subroutine from -which control is returned to th illustrated logic system when an absence of lead screw motio is indicated.
  • control is relinquishe from the illustrated logic system to the time-sharing period utilized by the other axes. .'hen control is returned to the illustrated axis, the present position of the driven element is checked.
  • decision block 114 it is determined whether the driven element has reached its destination position. If the answer is "yes,” the normal path is to "exit.” However, in some situations , it may be pre erred to follow the dashed line back to the top of the chart, which would have the effect of causing the apparatus to maintain its position in spite of any external forces tending to alter its position.
  • the duty cycle sequencing will start at 60%, as shown by process block 126. If the position is in the inner zone, the duty cycle sequencing v;ill start at 40%, as shown by process block 128.
  • the 40% duty cycle value 'which is both an approximate value and a somewhat arbitrary one, has been chosen to provide an amount of effort slightly below that normally required to cause forward movement of the driven e1ement.
  • the duty cycle is set at the initial value (either 40% or 60% depending on position) , and the motor is turned on at clock 132.
  • a fixed delay provides a period, or "window,” of on time. This delay is shown as approximately 5 ms , or 10% of the total on-plus-off period of approximately 50 ms , which is the period from one "triggering" to the next.
  • the percentage of on time to total time in each on/off period is chosen to meet the requirements of the apparatus which is being positioned. But, a predetermined ratio is initially- established, and it remains the same.
  • the motor turns off, as shown by block 136.
  • "attention" of the CPU 12 is transferred to the other axis, or axes, of the apparatus.
  • the current position of the driven element (on the axis shown in the figure) is repetitively determined.
  • the logic flow moves to decision block 142, -which determines whether or not the driven element has moved past the target (which, as stated, preferably was set at the actual position reached by the driven element).
  • the loop is repeated, beginning with a new target setting at block 120 (the new target being the new position attained by the driven element, forward of its previous position) . If decision block 142 indicates' that the driven element has not moved forward from the target position, a determination is made at decision block 144 whether it has slipped back from the target position.
  • decision block 142 indicates' that the driven element has not moved forward from the target position
  • decision block 144 whether it has slipped back from the target position.
  • the unusual flexibility of the present control system comes into play because different increments of duty cycle increase are used, depending on the answer to the question whether the position has slipped back. If the driven element has slipped back, the chart at block 146 shews a 12.5% increase of the duty cycle, 'which would bring it to 52.5% if it had been 40% during the period of- the preceding on window 7 .
  • the chart at block 148 shows a 6.25% increase of the duty cycle, -which would bring it to 46.25% if it had been 40% during the period of the preceding on window, to 52.5% if it had been 46.25% during the period of the preceding on window, and so on.
  • the next duty cycle percentage is determined by adding the most recent duty cycle value to the increment-of-increase value. The percentages of duty cycle increase are chosen to suit the requirements of the apparatus, selecting binary values from those available in the 8-bit counter.
  • the new, increased duty cycle is then returned through the loop to block 130, where the increased duty cycle is set, after which the motor is turned on again for the same on period, or "windo , " of 5 ms . 'when the total period of 50 ms has passed, a determination is made at block 142 whether the driven element has moved forward from the target position. If it still has not moved forward, another increment of duty cycle increase (either 6.25% or 12.5%) is added at block 150, and the motor triggering is repeated.
  • Block 152 indicates that different strategies need to be adopted if the duty cycle reaches 100% without moving the driven element forward of the target position.
  • One possibility is to reset the target at the then current position, as indicated by the solid line looping back to block 120.
  • Another possibility is to get out of the pulsing loop, as indicated by the dashed line looping back to block 110.
  • Figures 4A, 4B and 4C provide additional clarification by diagramming the motor driving pulses created by the pulse forming circuit. Each of the three pulse diagrams is scaled on a time, or duration, basis; but the three scales are widely different in magnitude.
  • Figure A shows . the timing of signals received at AND gate 50. The clock pulses count to 256, as shown on the first line.
  • the reset pulse at flip-flop 54 coincides with the 255th clock pulse, as shown on the second line.
  • the pulses on line A (which create the on 'windows in the forward direction) and the pulses at Q of flip-flop 54 both appear a AND gate 60.
  • the period uring which the signal on line A i positive depends on the on 'window duration, -which varies fro 100% during continuous operation of the motor to whatever value is selected as the desired on-to-off ratio during the adaptive pulsing mode used for final approach.
  • the third line in Figure 4A shows an arbitrarily selected pulse length on line A; and the fourth line shows an example of the pulse width at the Q output of the flip-flop.
  • the example chosen is a high duty cycle value, approximately 96%, because Q, in the illustration, remains positive from the 10th clock pulse to the 256th clock pulse.
  • the duty cycle is varied by changing the number of the clock pulse cycle on which preset occurs, thereby changing the point at which Q output goes from negative to positive. If Q is caused to go from negative to positive at the 128th clock pulse, the duty cycle of the motor during each on window period (while that preset value continues) will be 50%.
  • Figure 4B shows sample pulse trains during continuous operation of the motor. If maximum speed is desired, the driving pulses shown on the first line are used, providing approximately 98% of available motor energy. If a somewhat lower-speed, but continuous, motor energization is desired, a lower duty cycle may be used, such as the approximately 60% duty cycle shown on the second line.
  • the millisecond scale of Figure 4B shows that the duty cycle is identical in each time segment of 2.56 ms.
  • Figure 4C shows how the adaptive pulsing concept works in the final approach. Generally, it is preferred to have different duty cycle values in an outer zone and an inner zone, although this refinement is not necessary.
  • the outer pulsing zone may cover the distance between .004 inch and .001 inch from destination.
  • the inner, or near, pulsing zone may cover the final .001 inch.
  • the adaptive pulsing entry at .004 inch has been used because it is convenient to use the faster approach mode shov.-n in Application S/N 62,416 to bring the driven element to this point, without any danger of overshoot.
  • the first line of Figure 4C shows a 60% duty cycle used for adaptive pulsing in the outer zone.
  • the on window period has been selected as 10% of the total on/off period, or cycle. This value can be changed, but it has been very successful in experimental apparatus. Obviously the on time percentage must be low enough not to interfere with the time-sharing requirements of other axes. As seen from the time scale in Figure 4C , the on window is 5.12 ms, and the total period, or cycle, is 51.2 ms , the motor being unable to receive electrical energy during 90% of the cycle.
  • the first effort to move the driven element forward in the outer zone receives a 60% duty cycle. If forward motion does not occur, the next duty cycle, as shown, in 66.25%. I forward motion does occur as a result of this second "nudge," the duty cycle reverts back to 60%, as shown.
  • a first duty cycle "nudge" of 40% is usually found to be desirable. This is preferably chosen as a value which will ordinarily not cause forward motion to occur. Until -such motion does occur, each successive on window will, as shown, receive a duty cycle -which is higher than the previous one by an increment of 5.25%. So the duty cycle will rise, in each successive on window, from 40% to 46.25% to 52.5%, and so on until forward movement occurs.

Abstract

An adaptive motor pulsing apparatus (36) for a driven element (32) positioning system which divides the available time between recurring motor (36) on periods and motor (36) off periods, and which also varies the duty cycle of the motor (36) during successive on periods in order to provide precise positioning control. The final approach uses a "nudging" technique which increases the duty cycle by increments until forward motion of the driven element (32) is detected.

Description

ADAPTIVE PULSING MOTOR CONTROL FOR POSITIONING SYSTEM
Background of the Invention This invention relates to an adaptive pulsing system for controlling a motor which moves a device to a desired position. The invention is useful wherever precise position control is desired, and is particularly useful if it is required that the final position always be approached from the same direction. This requirement is found in systems for which the position information is derived from measurement of lead screw rotation, since slack in the driving mechanism can lead to an error in measurement.
In Sweeney et al . Application S/N 62,4-16, filed July 31, 1979, titled "Digital Motor Control for Positioning System," a control apparatus and method are disclosed which provide a significant advance in solving the problem of unidirectional approach to a destination position. The system of that application uses a method of repeatedly traversing a fraction of the distance remaining to the destination, until the destination is reached. This system has proven itself highly successful , but it has been found that greater accuracy is attainable through a different method, described in Sweeney Application S/N 173,274, filed July 29, 1980, and titled "Adaptive Pulsing Motor Control for Positioning System."
Application S/N 173,274 discloses a method of making a terminal approach to a destination by sending to the motor a series of short pulses of varying width. After sending an initial pulse to the motor having a predetermined -width (duration) , a short delay is observed; and then the position of the driven element is compared to its previous, or "target," position. If the driven element* has not been moved past the target position, the motor pulse width in increased by a predetermined increment; and the longer pulse is used to
Figure imgf000003_0001
energize the motor. This procedure is repealed, gradually increasing the pulse width, until the driven element moves past the target position. This method has been applied in a digital positioning system for industrial guillotine-type cutters which is installed as a retrofit for older machines. Its adaptive nature allows attainment of exceptional positioning accuracy even on machines with gross mechanical defects .
Although the system just described has proven very effective and accurate, there are advantages to be gained by using the system disclosed in the present application.
The use of a variable duration pulse -width, i.e. , a variable length delay after turning the motor on, has deficiencies when applied to a multiple-axis control system. Such a system ordinarily is implemented by "time-sharing" th central processor among the axes, which are independently approaching destination positions. If one axis were to appropriate the processor for an indefinite period, while another axis was making a high-speed approach, there -would b s substantial likelihood that the latter axis would overshoo its mark. Another conflict could occur if two or more axes were in the final adaptive approach procedure, and if each were to add its pulse-on delay time to the others' pulse-off delay time. The pulse width for each axis could increase -without limit, without altering the "duty cycle," i.e. , the ratio of "on" time to the total on "on" time plus "off" time While the system of S/N 173,274 could be redesigned to permi time-sharing, the changes would be complex and costly.
Another deficiency in the system of that application is the constraint on the method of varying pulse width caused b the dual-voltage design of the motor drive circuit, which provides a high DC voltage to the motor for fast travel, and a low DC voltage for slow travel . - > ~
Additionally, the control* apparatus and method of the present invention has proved to be even more accurate than the prior systems, and to be more rapid in approaching the destination position, because (a) the pulsing zone provides "coarse" and "fine" adaptive responses based on remaining distance and (b) "slipping back" of the driven element is more effectively countered.
Another benefit of the present system is greater adaptability to the frictional differences which may be encountered in different positions of the driven element. In other words, there is greater certainty that motion will occur at some point during each pulsing cycle.
Summary of the Invention The present invention is a synchronous pulsing system, which varies the energy exerted during a predetermined motor "on" period. In other words, the motor "on" portion of each cycle is a predetermined "window," or period, of time; and the motor "off" portion of each cycle is also a predetermined period of time, the two periods having a ratio which depends on the type of machine being operated. Within the "on" window, a "nudging" technique is used during final approach to move the driven element by providing initially a lesser amount of energy during the period of one "on" window, and gradually increasing the amount of energy during each successive "on" window, until forward movement is detected. Then the cycle begins again with the lesser amount of energy (which has a value designed to ensure against overshoot) .
Thus, the duration of the actuation period ("on" window) is constant, but the driving energy is varied within the "on" window. This variation preferably is accomplished by varying the duty cycle of the motor. And the preferred way of causing the duty cycle variation is to provide motor driving pulses whose width is varied to alter the ratio of "on" and "off" ti e within the "on" window. For final destination approach, the motor driving pulses within the window are started at a low duty cycle, and their duty cycle is increased incrementally from "on" window to "on" window until forward motion is detected, after which the sequence is repeated.
Brief Description of the Drawings
Figure 1 is a diagrammatic showing of a control system for a multi-axis machine; Figure 2 is a diagrammatic showing of the control circuitry for one axis of the system of Figure 1 ;
Figure 3 is a flow, or logic, diagram which summarizes the operation of the final stage of the positioning system under the control of the microprocessor; and Figure 4 is a pulse diagram showing the sequence and duration of driving pulses in the system.
Detailed Description of Preferred Embodiment
Figure 1 shows the general system, which preferably is microcomputer controlled. A central processor (CPU) 12 is programmed to provide the desired sequencing of events and is in electronic communication, via bus 14 (which includes data, address and control signals), with a read-only (or program) memory 16, a read/write memory 18, an interface/control 20 for the first axis, and an interface/control 22 for the second axis. The CPU 12 also is connected by a bus 24 to a keyboard 26 and to displays 28. The read/write memory stores program variables and sequences of positions; and the keyboard is used for entry of destination positions. The fundamental frequency utilized by the clock of CPU 12 may be established by a crystal 30.
. Each axis of the system has a variable duty-cycle circuit -which controls motor speed, and two signal inputs which control direction and dynamic braking. In Figure 1, the two signal inputs from the CPU 12 to the first axis are leads Al and Bl ; and the two signal inputs from the CPU 12 to the second axis are leads A2 and B2. The signal inputs from the CPU on these lines establish the ratio of the on window period to the off period during the final approach phase.
Figure 2 provides a diagram of the control circuit for each axis of the system. The end result is controlled motion and precise destination-positioning of a driven element symbolically shown at 32, which may represent any of numerous elements which require. precise positioning. Among the intended uses of the present invention are positioning of the lens and film planes of cameras, of the chases of step-and- repeat machines, or of the tables of drilling machines or milling machines. While the present invention is particularly useful in multi-axis systems, it is also applicable to single-axis systems. Although most uses will favor final destination approach, or "settling in," from one direction only; it is entirely practicable to provide final approach from both directions, as is desirable in step-and- repeat machines.
It is generally considered convenient to move the driven element 32 by means of" a lead screw 34, which may be rotated by an electric motor 36 operatively connected to the lead screw by a gear belt 38. Obviously numerous other drive systems could be substituted. It is possible that a motor driven by other than electric power could be used. However, an electric motor, and specifically a permanent-magnet DC motor, is preferred.
The position of the driven element may be conveniently sensed for feedback to the control electronics by a shaft encoder 40 (preferably an incremental encoder) , which may be operatively connected to the lead screw 34 by a gear belt 42. The position signals from the shaft encoder 40 are conveyed by lines 44 and 46 to a position decoding circuit 48, which accumulates a count representing the position of the driven element 32, and which is in communication with 'CPU 12 via bus 14. As previously stated, the conceptual basis of the control portion of each axis of the system is a combination of (a) a predetermined time ratio of on time to off time -wit (b) means for varying the energy during the on time. This energy variation is used in the final stage of the settling- in motion to provide a gradually increasing "nudging" effort which begins its cycle from lower to higher energy after eac detected forward motion.
The variation of energy within the period, or "window," of on time may be accomplished in various ways. The preferred approach, which is disclosed in this application, is variation of the duty cycle by varying the pulse widths o on and off pulses during the constant periods of the successive on windows. (Because the on window time remains constant, increasing the on pulse -width is accompanied by a decrease of the off pulse width, and vice versa. ) Instead o duty cycle variation to vary the effective energy during the on -window period, the voltage level could be varied from one on -window to the next. But such a system would be more complicated and more difficult to control precisely.
Furthermore, other ways of varying the duty cycle within the on window period could be used, such as pulse frequency variation. However, such an arrangement would be less cost- effective, requiring more components than the system disclosed herein.
Accomplishing the duty cycle variation by varying the widths of the pulses during the on window periods can be accomplished in -other ways than disclosed below, but the following arrangement has operated very satisfactorily. The control portion of the system includes four control lines from the CPU 12. In addition to the A and B lines, previously mentioned, a reset line 50 and a clock line 52 ar required. The reset line 50 is connected to a counter and t a flip-flop 54. The counter is an 8-bit counter provided by combining two 4-bit counters 56 and 58, each communicating with CPU 12 via bus 14. The reset line 50 is connected to the preset enable inputs of each of the counters 56 and 58 , and to the reset input of flip-flop 54. The clock line 52 is connected to the clock inputs of each of the counters 56 and 58. The carry in of counter 56 is grounded, and the carry out of counter 56 is connected to the carry in of counter 58. The direction control lines A and B are connected to AND gates 60 and 52, respectively. The carry out of the 8-bit counter is an input via line 64 to an OR gate 66, whose output is connected by line 68 to the clock input of flip- flop 54. The Q output of flip-flop 54 is tied to its Data (D) input. The Q output of flip-flop 54 is an input via line 70 to both AND gates 60 and 62, and also to OR gate 56. The two AND gates 60 and 62 provide controlling signals to the motor 36 through the intermediary of a suitable motor drive circuit, which operates according to the logic of this truth table:
A=0 A=l
B=0 off forward B=l reverse braking
As shown in Figure 2, motor 36 will run in the forward direction if 24V is supplied to lead 72 via Darlington 74, and ground is supplied to lead 76 via Darlington 78. The motor will run in reverse when lead 76 receives 24V from Darlington 80 and lead 72 is grounded via Darlington 82. Dynamic braking is accomplished if both leads are shorted together to ground via Darlingtons 78 and 82. If all Darlingtons are off, the motor is in an off state. Transistors 84 through 102 provide the logical interfacing between the AND gates 60 and 62 and the
Darlingtons. Consider the case in which A=l , B=0 , and the Q output of flip-flop 54 is 1. The output of AND gate 60 is 1, turning on transistor 84, which then turns off transistors 86 and 88. Turning transistor 86 ' off activates transistor 90,
- -which turns on Darlington 78, providing ground to motor lead 76. Transistor 90 also turns on transistor 92. The output of AND gate 62 is 0, so that transistor 94 is off, causing transistors 96 and 98 to be on, and transistors 100, 102 and Darlington 82 to be off. Since both transistors 92 and 98 are on, Darlington 74 is turned on, supplying 24VDC to motor lead 72, thereby causing motor 36 to move in the forward direction.
It will be seen from the symmetry of the circuit that, when B=l and A=0, Darlingtons 80 and 82 -will be turned on, and the motor will run in the reverse direction.
The following is a table of transistor states as a function of the states of the A and B lines.
A=0 A=l B=0 B=l 84 off 84 on 94 off 94 on
86 on 86 off 96 on 96 off
88 on 88 off 98 on 98 off
90 off 90 on 100 off 100 on
92 off 92 on 102 off 102 on 78 off 78 on 82 off 82 on
Darlington 80 is on if 102 and 88 are on (A=0, B=l ) ; Darlington 74 is on if 92 and 98 are on (A=l , B=0).
Other electronic circuitry may be used in controlling the motion of motor 36, but the disclosed circuitry is particularly simple, cost-ef ective and rugged for fractional horsepower motors operating in the region of 24 volts.
The circuitry which determines the amount of energy applied during the period of the on window also may be selected from a number of options. The arrangement disclosed is considered relatively cost-effective. In the experimental system, the counters 56 and 58 are CMOS 4-bit presettable binary counters, and the flip-flop 54 is a D-type flip-flop. The purpose of the circuit is to provide a pulse train whose duty cycle is proportional to an 8-bit value provided by the CPU 12. The counter is 'run in its "up" mode so that, upon counting up to its full count of 255, it generates a carry- out pulse on its CO pin and starts counting up again from zero. In the configuration shown in the drawing, the count increments at the clock frequency. As shown, the Q output of flip-flop 54 is tied to the D input so that at each clock transition the Q output changes state. The gate 66 ORs together the CO output of the counter and the Q output of the flip-flop so that, once the flip-flop has set its Q output to 1, no further transition can occur on its CLK input until after a reset. The clock signal is generated by the computer for various purposes; it is 400 kHz as it leaves the CPU, and is divided down to give the lower frequency. The reset signal is generated once every 256 clock cycles (at half the display refresh rate); it resets the flip-flop and presets the counter to the 8-bit value present on the data bus. The computer sees this as "writing" the value to the counter, as if it were a location in memory.
The A and B signals provide direction and on/off logic. When a signal is present on A or B and while a 1 is present at the Q output of the flip-flop, a 1 -will be present at the output of one of the two AND gates, and current will flow through the motor. In establishing the overall relation of on window time to off time of the motor, i.e. , the percentage of total time during which the on window permits motor actuating energy to be exerted, the CPU 12 is controlling the true or false signal on either line A or line B to the motor control circuit. If the axis under control is moving in the forward direction, the line on 'which a true, or positive, signal appears during the on window period is line A. The sequence of operations is as follows: the RESET signal resets the flip-flop to the off state (Q=0, Q=l) and presets the counter to the value output from the computer. The counter counts from its preset value to 255, then generates a carry-out pulse, which triggers the flip-flop to its on state (Q=l). If a 1 is present on A (or 3), then a 1 will be present at the output of AND gate 60 (or 62) , and the motor circuit will operate. If the preset value is 255, the motor will be off during one clock period, after which the flip-flop will be triggered, turning the motor on (assuming A or B is present). The motor remains on for the remaining 255 clock periods and is turned off at the next reset. This gives a 99.6% duty cycle, which is the maximum attainable. If the preset value is 128, the motor is off for 128 clock periods, then on for 128 clock periods — a duty cycle of 50%. At a preset value of 64, the motor is off for 192, on for 64, a 25% duty cycle.
The electronic position control system of Figure 2 is, as previously stated, for one axis only. Each axis requires it own control system, i.e. , an additional motor, lead screw, encoder, position decoding circuit, reset line, motor drive circuit, and direction control lines. The clock signal may be common to all axes. If a multi-axis system is used, the CPU 12 coordinates actuation of the axes, and prevents any conflicting demands from occurring. The control system described above permits a high degree of flexibility in operating motor 36 to move the driven .element 32 to its desired, or destination, position. In general, it has proved desirable to initially cause rapid, continuous movement of the motor and driven element until the latter reaches a position within a certain distance from its destination. Then a fractional distance approach system of the type disclosed in Application S/N 62,416, which provides relatively rapid motion with minimal overshoot risk, may conveniently be used to control the motor until the driven element is ready for the final approach. The final approach phase, 'which is capable of extreme accuracy, is provided by the control system disclosed in this application, which is considered an improvement over the final approach phase disclosed in Application S/N 173,274. The following description of the overall operation uses illustrative values which have proved successful in experimental situations. Such values may, of course, be varied substantially, as long as they remain -within the operational requirements of a given apparatus. If the driven element is beyond the destination, it is driven at high speed in the reverse direction past the destination, and braked to a halt. If it is then far enough from the destination for the fast speed phase to be used 'without likelihood of an overshoot, the driven element is moved forward at high speed until that condition is no longer true, whereupon it is braked to a very low speed. By reducing the duty cycle, a slower approach speed can easily be provided as an intermediate stage of continuous motion; but this stage has not proved to be necessary in test operations.
The driven element is next driven at slower speed, using the fractional distance approach system of Application S/N 62,416, until the terminal neighborhood is reached. In a prototype machine embodying the invention, the terminal neighborhood is a distance of about .004 inch.
In the final phase, the position of the driven element is first measured and stored in memory as a target position. If the distance to the .final destination is greater than 0.001 inch, an initial duty cycle of 60% is chosen. If the distance is less than 0.001 inch, the initial duty cycle is 40%, which under most circumstances is not quite sufficient to move the driven element in the prototype device. The motor is turned on in the forward direction for five milliseconds, then turned off. For the rest of a fifty millisecond period, the central processor attends to other tasks, including control of another axis (or axes). Then it returns to the pulsing procedure for the axis in question, and checks the current value of the position of the driven element. If this position is forward of the target position, which is the last attained position, the initial value is again used for the next pulse, and the current position becomes the target. If no motion is sensed, the duty cycle is increased by 6.25%, whereas, if the driven element has slipped backwards, an increase of 12.5% is used. This cycle is repeated until forward motion occurs, increasing the energy in increments b increasing the duty cycle during the five millisecond "on" period. If the duty cycle has reached 100% without forward motion, a slipping back may have occurred, and a new target (the attained position) will be selected.
On the prototype installation, which is a two-axis drilling machine, the resolution of the position-sensing circuit is 0.0000625 inch. Using the procedure described above, the computer has been able to position with no detectible error, or overshoot, on at least half of all trials .
In the prototype version, a clock frequency of 100 kHz and a reset frequency of 390 Hz is in use. The motors hum a the reset frequency when the duty cycle is below 90%. The initial choice was 1562 Hz, but this -was perceived as an unpleasant whine. A new frequency was therefore chosen to provide a more acceptable sound.
Operation will be further clarified by referring to Figures 3 and 4. Figure 3 discloses a logic flow chart used in controlling the experimental apparatus. As shown startin with- the entry symbol, the initial logic step in each axis- control sequence is an input/output block 110, which represents a subroutine from -which control is returned to th illustrated logic system when an absence of lead screw motio is indicated.
Then, in input/output block 112, control is relinquishe from the illustrated logic system to the time-sharing period utilized by the other axes. .'hen control is returned to the illustrated axis, the present position of the driven element is checked. At decision block 114, it is determined whether the driven element has reached its destination position. If the answer is "yes," the normal path is to "exit." However, in some situations , it may be pre erred to follow the dashed line back to the top of the chart, which would have the effect of causing the apparatus to maintain its position in spite of any external forces tending to alter its position. Such an automatic position-maintaining loop would not be desirable in an apparatus such as a drilling machine -where the effect might be to break the drill if drilling had begun. If destination has not been reached at decision block 114, it is next determined at decision block 116 whether the driven element is in -the final approach, or pulsing zone. If it is not in that zone, an approach procedure will be carried out. as shown by block 118. If the driven element is in the pulsing zone, the next step, as indicated by process block
120, is establishing an interim target position, which is the same as the present position of the driven element. It will be recognized that this procedure is similar to the "nudging" procedure disclosed in Application S/N 173,274, wherein the final approach exerts the minimum effort required to caused forward motion of the driven element. This procedure prevents overshoot, while permitting small increments of motion which reach the destination position with extreme accuracy. Decision block 122 again determines whether the driven element is at destination. If it is, the logic flow returns to the top of the chart and reaches "stop" block 110. This permits the system to exit from the pulsing loop which begins with target-setting block 120. As previously stated, it appears desirable to utilize the great flexibility of the present control system by providing alternative duty cycle minimums, depending on the remaining* distance from the destination. As indicated by decision block 124, if the position is within the outer zone, the duty cycle sequencing will start at 60%, as shown by process block 126. If the position is in the inner zone, the duty cycle sequencing v;ill start at 40%, as shown by process block 128. The 40% duty cycle value, 'which is both an approximate value and a somewhat arbitrary one, has been chosen to provide an amount of effort slightly below that normally required to cause forward movement of the driven e1ement.
As shown by process block 130, the duty cycle is set at the initial value (either 40% or 60% depending on position) , and the motor is turned on at clock 132. In accordance with block 134, a fixed delay provides a period, or "window," of on time. This delay is shown as approximately 5 ms , or 10% of the total on-plus-off period of approximately 50 ms , which is the period from one "triggering" to the next. The percentage of on time to total time in each on/off period is chosen to meet the requirements of the apparatus which is being positioned. But, a predetermined ratio is initially- established, and it remains the same.
After the 5 ms on period, symbolized by block 134, the motor turns off, as shown by block 136. At this point, as shown by block 138, "attention" of the CPU 12 is transferred to the other axis, or axes, of the apparatus. During the off period the current position of the driven element (on the axis shown in the figure) is repetitively determined. After the full trigger-to-trigger period (which was selected as 50 ms) has passed, as indicated by decision block 140, the logic flow moves to decision block 142, -which determines whether or not the driven element has moved past the target (which, as stated, preferably was set at the actual position reached by the driven element). If the target has been passed, the loop is repeated, beginning with a new target setting at block 120 (the new target being the new position attained by the driven element, forward of its previous position) . If decision block 142 indicates' that the driven element has not moved forward from the target position, a determination is made at decision block 144 whether it has slipped back from the target position. Here again, the unusual flexibility of the present control system comes into play because different increments of duty cycle increase are used, depending on the answer to the question whether the position has slipped back. If the driven element has slipped back, the chart at block 146 shews a 12.5% increase of the duty cycle, 'which would bring it to 52.5% if it had been 40% during the period of- the preceding on window7. If the driven element has neither slipped back nor moved forward, the chart at block 148 shows a 6.25% increase of the duty cycle, -which would bring it to 46.25% if it had been 40% during the period of the preceding on window, to 52.5% if it had been 46.25% during the period of the preceding on window, and so on. As shown at process block 150, the next duty cycle percentage is determined by adding the most recent duty cycle value to the increment-of-increase value. The percentages of duty cycle increase are chosen to suit the requirements of the apparatus, selecting binary values from those available in the 8-bit counter. The new, increased duty cycle is then returned through the loop to block 130, where the increased duty cycle is set, after which the motor is turned on again for the same on period, or "windo , " of 5 ms . 'when the total period of 50 ms has passed, a determination is made at block 142 whether the driven element has moved forward from the target position. If it still has not moved forward, another increment of duty cycle increase (either 6.25% or 12.5%) is added at block 150, and the motor triggering is repeated.
Block 152 indicates that different strategies need to be adopted if the duty cycle reaches 100% without moving the driven element forward of the target position. One possibility is to reset the target at the then current position, as indicated by the solid line looping back to block 120. Another possibility is to get out of the pulsing loop, as indicated by the dashed line looping back to block 110. Figures 4A, 4B and 4C provide additional clarification by diagramming the motor driving pulses created by the pulse forming circuit. Each of the three pulse diagrams is scaled on a time, or duration, basis; but the three scales are widely different in magnitude. Figure A shows . the timing of signals received at AND gate 50. The clock pulses count to 256, as shown on the first line. The reset pulse at flip-flop 54 coincides with the 255th clock pulse, as shown on the second line. The pulses on line A (which create the on 'windows in the forward direction) and the pulses at Q of flip-flop 54 both appear a AND gate 60. The period uring which the signal on line A i positive depends on the on 'window duration, -which varies fro 100% during continuous operation of the motor to whatever value is selected as the desired on-to-off ratio during the adaptive pulsing mode used for final approach. The third line in Figure 4A shows an arbitrarily selected pulse length on line A; and the fourth line shows an example of the pulse width at the Q output of the flip-flop. The example chosen is a high duty cycle value, approximately 96%, because Q, in the illustration, remains positive from the 10th clock pulse to the 256th clock pulse. As previously explained, the duty cycle is varied by changing the number of the clock pulse cycle on which preset occurs, thereby changing the point at which Q output goes from negative to positive. If Q is caused to go from negative to positive at the 128th clock pulse, the duty cycle of the motor during each on window period (while that preset value continues) will be 50%.
The last line on Figure 4A shows the output pulses of AND "gate 60. Driving energy to the motor is supplied during the positive pulses which occur when, and only when, both Q 1 I -
and A are positive. The short positive pulse near the right end of the line indicates that line A has gone negative, which 'would occur at the end of the continuous motion phase of motor operation, after which the next phase of the settling-in motion is initiated.
Figure 4B shows sample pulse trains during continuous operation of the motor. If maximum speed is desired, the driving pulses shown on the first line are used, providing approximately 98% of available motor energy. If a somewhat lower-speed, but continuous, motor energization is desired, a lower duty cycle may be used, such as the approximately 60% duty cycle shown on the second line. The millisecond scale of Figure 4B shows that the duty cycle is identical in each time segment of 2.56 ms. The primary benefit of the present invention is illustrated in Figure 4C , which shows how the adaptive pulsing concept works in the final approach. Generally, it is preferred to have different duty cycle values in an outer zone and an inner zone, although this refinement is not necessary. For example, the outer pulsing zone may cover the distance between .004 inch and .001 inch from destination. And the inner, or near, pulsing zone may cover the final .001 inch. (The adaptive pulsing entry at .004 inch has been used because it is convenient to use the faster approach mode shov.-n in Application S/N 62,416 to bring the driven element to this point, without any danger of overshoot. )
The first line of Figure 4C shows a 60% duty cycle used for adaptive pulsing in the outer zone. The on window period has been selected as 10% of the total on/off period, or cycle. This value can be changed, but it has been very successful in experimental apparatus. Obviously the on time percentage must be low enough not to interfere with the time-sharing requirements of other axes. As seen from the time scale in Figure 4C , the on window is 5.12 ms, and the total period, or cycle, is 51.2 ms , the motor being unable to receive electrical energy during 90% of the cycle.
The first effort to move the driven element forward in the outer zone receives a 60% duty cycle. If forward motion does not occur, the next duty cycle, as shown, in 66.25%. I forward motion does occur as a result of this second "nudge," the duty cycle reverts back to 60%, as shown.
Within the near zone, a first duty cycle "nudge" of 40% is usually found to be desirable. This is preferably chosen as a value which will ordinarily not cause forward motion to occur. Until -such motion does occur, each successive on window will, as shown, receive a duty cycle -which is higher than the previous one by an increment of 5.25%. So the duty cycle will rise, in each successive on window, from 40% to 46.25% to 52.5%, and so on until forward movement occurs.
As will be readily understood, this very "careful" procedure, which involves the use of only enough energy to cause detectible forward motion, will provide extremely accurate positioning of the driven element.
The following claims are intended not only to cover the specific embodiments disclosed, but also to cover the inventive concepts explained herein with the maximum breadth and comprehensiveness permitted by the prior art.

Claims

What is claimed is:
1. A destination-finding control system for a motor which moves a driven element, comprising: means for establishing a substantially constant ratio of the motor-energy-receiving portion of a recurring motor on- off cycle to the total motor on-off cycle; and means for varying the amount of driving energy received by the motor during the motor-energy-receiving portion of the total motor-on-off cycle.
2. A destination-finding control system for a motor which moves a driven element, comprising: means for establishing a substantially constant ratio of on window time to total time, during which on window time the motor may receive driving energy; and means for varying the amount of driving energy received by the motor during the on window time.
3. The destination-finding control system of Claim 1 or Claim 2 wherein the means for varying the amount of driving energy received by the motor is an on-off motor energizing means v.'hich varies the energy by varying the duty cycle of the motor.
4. The destination-finding control system of Claim 3 wherein the approach to the destination is controlled by means which cause the duty cycle of the motor to increase in successive increments until forward motion of the driven element occurs. 5. In a positioning system apparatus for moving a driven element precisely to a destination, in combination with a motor which moves the driven element in response to sequential on-off driving signals, and which is capable of exerting variable amounts of moving effort on the driven element depending on the duration cf the driving signals, a motor-effort-varying apparatus comprising: means for providing an on window period which is a substantially constant percentage of the total on-plus-off period of each motor driving cycle, the motor being unable to receive driving effort during the off period; and means for varying the amount of motor driving effort received by the motor during each on window period.
5. The apparatus of Claim 5 which also comprises: means for measuring the position of the driven element and indicating its distance from its destination.
7. The apparatus of Claim 6 -which also comprises: means for moving the driven element to the neighborhood of its destination with a continuous on window period of the motor driving cycle.
8. The apparatus of any of Claims 5, 6 or 7 wherein the means for varying the amount of motor driving effort during each on window period causes such variation by changing the duty cycle of the motor.
9. The apparatus of Claim 8 wherein the destination- finding portion of the apparatus comprises: means for setting a target before each on window period; means for establishing a first lower duty cycle value operative during the next on window period; means for determining whether motion past the target has occurred after such' on window period; means for raising the duty cycle value of the next on window period by a given increment after an on window period when such motion has not occurred; and means for returning the value of the duty cycle period to its first lower value after an on window period when such motion has occurred.
10. The apparatus of Claim 9 v.'hich also includes: means for automatically causing the duty cycle value operative during the next on window period to be a smaller value if the driven element is in an inner zone nearest the destination or a larger value if the driven element is in an outer zone beyond the inner zone.
1 1 - The apparatus of Claim 9 which also includes: means for automatically raising each duty cycle value by a greater increment if the driven element has slipped back than the increment of increase if it has remained stationary.
12 - τhe apparatus of Claim 10 which also includes: means for automatically raising each duty cycle value by a greater increment if the driven element has slipped back than the increment of increase if it has remained stationary.
13- τh(≡ apparatus of Claim δ wherein the duty cycle of the motor is varied by changing the percentage of motor on time to motor off time.
14. The apparatus of Claim 9 wherein the duty cycle of the motor is varied by changing the percentage of motor on time to motor off time.
15. The apparatus of Claim 8 'which comprises electronic clocking means to regulate both the on window percentage of total time and the duty cycle percentage of the motor. - 7 -
16. The apparatus of Claim 9 which comprises electronic clocking means to regulate both the on window percentage of total time and the duty cycle percentage of the motor.
17. The apparatus of any of Claims 5, 6 or 7 'wherein th motor is a direct current electric motor.
18. The apparatus of Claim 8 wherein the motor is a direct current electric motor.
19. The apparatus of Claim 9 wherein the motor is a direct current electric motor.
20. For use with a positioning system for moving a driven element precisely to a destination, which has a motor to move the driven element in response to driving pulses and which is capable of exerting variable amounts of moving effort on the driven element depending on the duration of th driving pulses, that method of controlling movement of the motor v.'hich comprises: measuring substantially continuously the position of th driven element and it distance from the destination; causing the motor to move the driven element to the neighborhood of the destination relatively quickly by exerting larger amounts of moving effort thereon; establishing a ratio of on window period to off period once the driven element has reached the neighborhood of the destination; providing a first lower amount of moving effort during the first on window period; determining -whether said effort has moved the driver, element toward the destination; providing increasing amounts of moving effort during successive on window periods, each having an incrementally higher value than the previous one, until the driven element has moved toward the destination; and beginning another sequence starting with the first lower amount of moving effort during the next on window period after each measured movement of the driven element toward the destination.
21. The method of Claim 20 wherein the amount of moving effort is varied by changing the duty cycle of the motor.
22. The method of Claim 20 or Claim 21 wherein the ratio of the on window period to the off period is no greater than 1: 1.
23. The method of Claim 20 or Claim 21 which also includes the following steps: when the driven element has reached the neighborhood of the destination, determining whether it is in an inner zone or an outer zone with respect to the destination; and providing a lesser first amount of moving effort during the first on window period if the driven element is in the inner zone or a greater amount if the driven element is in the outer zone.
24. The method of Claim 20 or Claim 21 which also includes the following steps: determining whether the driven element, if it has not been moved toward the destination during the preceding on window period, has slipped back; and providing a greater increment of increase in the amount of moving effort during the next on window period if the driven element has slipped back than if it has remained stationary. AMENDED CLAIMS
[received by the International Bureau on 21 January 1983 (21.01.83): original claims 6, 7. 10 to 19 and 22 to 24 cancelled; remaining claims renumbered]
5. In a positioning system apparatus for moving a driven element precisely to a destination, in combination with a motor which moves the driven element in response to sequential on-off driving signals , and which is capable of exerting variable amounts of moving effort on the driven element depending on the duration of the driving signals, a motor-effort-varying apparatus comprising: means for providing an on window period which is a substantially constant percentage of the total on-plus-off period of each motor driving cycle, the motor being unable to receive driving effort during the off period; and means for varying the amount of motor driving effort received by the motor during each on window period.
5. The apparatus of Claim 5 wherein the means for varying the amount of motor driving effort during each on window period causes such variation by changing the duty cycle of the motor.
7. The apparatus of Claim 6 wherein the destination- finding portion of the apparatus comprises: means for setting a target before each on window period; means for establishing a first lower duty cycle value operative during the next on window period; means for determining whether motion past the target has occurred after such on window period; means for raising the duty cycle value of the next on window period by a given increment after an on window period when such motion has not occurred; and means for returning the value of the duty cycle period to its first lower value after an on window period when such motion has occurred. 8. For use with a positioning system for moving a driven element precisely to a destination, which has a motor to move the driven element in response to driving pulses and which is capable of exerting variable amounts of moving effort on the driven element depending on the duration of the driving pulses, that method of controlling movement of the motor which comprises: measuring substantially continuously the position of the driven element and it distance from the destination: causing the motor to move the driven element to the neighborhood of the destination relatively quickly by exerting larger amounts of moving effort thereon; establishing a ratio of on window period to off period once the driven element has reached the neighborhood of the destination; providing a first lower amount of moving effort during the first on window period; determining whether said effort has moved the driven element toward the destination; providing increasing amounts of moving effort during successive on window periods, each having an incrementally higher value than the previous one, until the driven element has moved toward the destination; and beginning another sequence starting with the first lower amount of moving effort during the next on window* period after each measured movement of the driven element toward the destination.
9. ' The method of Claim 8 wherein the amount of moving effort is varied by changing the duty cycle of the motor.
-BU REΛT
PCT/US1982/001050 1981-08-04 1982-07-28 Adaptive pulsing motor control for positioning system WO1983000571A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
BR8207812A BR8207812A (en) 1981-08-04 1982-07-28 ADAPTIVE PULSANT ENGINE CONTROL FOR POSITIONING SYSTEM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US28992281A 1981-08-04 1981-08-04
US289,922810804 1981-08-04

Publications (1)

Publication Number Publication Date
WO1983000571A1 true WO1983000571A1 (en) 1983-02-17

Family

ID=23113752

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1982/001050 WO1983000571A1 (en) 1981-08-04 1982-07-28 Adaptive pulsing motor control for positioning system

Country Status (5)

Country Link
EP (1) EP0085098A4 (en)
JP (1) JPS58501248A (en)
AU (1) AU553773B2 (en)
BR (1) BR8207812A (en)
WO (1) WO1983000571A1 (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3411057A (en) * 1964-11-18 1968-11-12 Bendix Corp Digital fine and coarse system with pulse width torquer
US3458786A (en) * 1966-07-11 1969-07-29 Ibm Movable element positioning system with coarse and fine incremental control
US3493827A (en) * 1966-05-09 1970-02-03 Telehoist Ltd Digital coarse and fine servocontrol system
US4258301A (en) * 1977-10-21 1981-03-24 Ricoh Company, Ltd. Servo motor apparatus
US4263537A (en) * 1979-02-05 1981-04-21 Olympia Werke Ag Controlled positioning of a motor shaft
US4295082A (en) * 1979-03-09 1981-10-13 Futaba Denshi Kogyo K.K. Pulse width modulated servo circuit
US4312033A (en) * 1979-07-31 1982-01-19 Sweeney James S Digital motor control for positioning system
US4353019A (en) * 1980-07-29 1982-10-05 Unisen, Inc. Adaptive pulsing motor control for positioning system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4126818A (en) * 1976-07-27 1978-11-21 Taylor William W Hybrid stepping motor unit
US4203063A (en) * 1977-08-29 1980-05-13 Rca Corporation Movement detecting apparatus and method

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3411057A (en) * 1964-11-18 1968-11-12 Bendix Corp Digital fine and coarse system with pulse width torquer
US3493827A (en) * 1966-05-09 1970-02-03 Telehoist Ltd Digital coarse and fine servocontrol system
US3458786A (en) * 1966-07-11 1969-07-29 Ibm Movable element positioning system with coarse and fine incremental control
US4258301A (en) * 1977-10-21 1981-03-24 Ricoh Company, Ltd. Servo motor apparatus
US4263537A (en) * 1979-02-05 1981-04-21 Olympia Werke Ag Controlled positioning of a motor shaft
US4295082A (en) * 1979-03-09 1981-10-13 Futaba Denshi Kogyo K.K. Pulse width modulated servo circuit
US4312033A (en) * 1979-07-31 1982-01-19 Sweeney James S Digital motor control for positioning system
US4353019A (en) * 1980-07-29 1982-10-05 Unisen, Inc. Adaptive pulsing motor control for positioning system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP0085098A4 *

Also Published As

Publication number Publication date
JPS58501248A (en) 1983-07-28
AU553773B2 (en) 1986-07-24
EP0085098A4 (en) 1985-09-02
EP0085098A1 (en) 1983-08-10
AU8900782A (en) 1983-02-22
BR8207812A (en) 1983-07-19

Similar Documents

Publication Publication Date Title
US4353019A (en) Adaptive pulsing motor control for positioning system
US4312033A (en) Digital motor control for positioning system
US4571530A (en) Adaptive pulsing motor control for positioning system
US4468601A (en) Stepper motor control
JPS62140863A (en) Printing-head control system
US4042863A (en) Incrementally controllable motor drive system
JP2629077B2 (en) Automatic calibration system for lamp voltage generator
US3760252A (en) Damping of a step servo motor using one step anticipation logic
AU553773B2 (en) Adaptive pulsing motor control for positioning system
US4810946A (en) Adaptive pulsing motor control for positioning system
GB1129191A (en) Improvements in or relating to control systems
GB2024465A (en) Automatic control
US4543517A (en) Electronic position and velocity control system with cold start compensation
EP0247338A2 (en) Mechanism for positioning an output member
KR100219850B1 (en) Position control apparatus and method for plc inverter communication
RU1810975C (en) Reversible positional electric drive
JP2603167B2 (en) Picture cam converter
US3825841A (en) Digital system including a pulse counter for selectively interconnecting a source of energy and a plurality of energizeable elements
SU372544A1 (en) SOFTWARE CONTROL DEVICE
SU1552323A1 (en) Dc digit pulse electric drive
SU147419A1 (en) Device for kinematic software control of metal-cutting machines
SU515230A1 (en) Device for controlling direct current drive
SU1425003A1 (en) Thread cutting device
SU1495745A1 (en) Program regulator
KR820001953B1 (en) A positioning device for an industrial robot

Legal Events

Date Code Title Description
AK Designated states

Designated state(s): AU BR JP

AL Designated countries for regional patents

Designated state(s): AT BE CH DE FR GB NL SE

WWP Wipo information: published in national office

Ref document number: 1982902767

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1982902767

Country of ref document: EP

COP Corrected version of pamphlet
WWW Wipo information: withdrawn in national office

Ref document number: 1982902767

Country of ref document: EP