Motor control apparatus

Abstract: A motor control apparatus comprises a first pulse multiplier circuit for multiplying command pulses by a first factor, encoder circuit for detecting a position of a motor-driven object, a second pulse multiplier circuit for multiplying a detection pulse from the encoder circuit by a second factor, a deviation counter circuit for detecting a difference between output pulses of the first and second multipliers, a divider circuit for dividing an output signal of the deviation counter by the second factor, and driving source driven by the control apparatus in accordance with an output of the divider.

Description: BACKGROUND OF THE INVENTION This invention relates to an apparatus for controlling the position of a motor-driven object by driving the motor in accordance with the number of input command pulses. Apparatuses are known that control the position of a motor-driven object by driving the motor in accordance with the number of input command pulses. Fig. 7 shows a conventional motor control apparatus. The apparatus shown in Fig. 7 consists of three basic units, a position control unit 50, a speed control unit 70 and a current control unit 80. The position control unit 50 is supplied with command pulses that direct the motor to rotate either clockwise or counterclockwise. The position control unit 50 comprises a first multiplier 51 that multiplies the input command pulses by a factor of G 1 , a second multiplier 65 that multiplies the feedback pulses from a rotary encoder 63 (to be described below) by a factor of G 2 , a deviation counter 52 that counts the difference between the numbers of command pulses and feedback pulses multiplied by the multipliers 51 and 65, respectively, a divider 53 with which the difference obtained by the counter 52 is divided by C, a digital/analog converter 54 that converts the output of the divider 53 to an analog command signal B, a feed-forward pulse generator 55 that generates feed-forward control pulses in response to the input command pulses, a frequency/voltage converter 56 that converts the generated feed-forward pulses to a voltage signal A representing the amount of feed-forward, and an adder 57 that adds the feed-forward signal A to the analog command signal B, producing the sum as a speed command signal. The multiplication factors of the multipliers 51 and 65, as well as the division factor of the divider 53 are preset by means of switches. The speed control unit 70 comprises a frequency/voltage converter 64 that converts a feedback signal from the rotary encoder 63 to a voltage signal, a subtractor 58 that outputs a signal representing the difference between the speed command signal and the value of voltage as obtained by conversion from the feedback signal through the frequency/voltage converter 64, and a speed detecting operational amplifier 59 that performs an arithmetic operation on the output signal from the subtractor 58, outputting the result as a current command signal. The current control unit 80 comprises: a current detecting operational amplifier and PWM section 61 that performs an arithmetic operation on the applied voltage on a motor 62 in response to the supplied current command signal and which converts the voltage to a corresponding duty; the motor 62 which is driven with the current detecting operational amplifier and PWM section 61; and the rotary encoder 63 which outputs a pulse signal in accordance with the rotating speed and position of the motor 62. The motor 62 drives a motor-driven object (not shown). As already mentioned, an output signal from the rotary encoder 63 is supplied to both the feedback pulse multiplier 65 and the frequency/voltage converter 64 as a feedback signal. The command pulse multiplier 51, feedback pulse multiplier 65, deviation counter 52, divider 53 and feed-forward pulse generator 55 in the position control unit 50 are composed as an application specific integrated circuit (ASIC) 60. Therefore, the operation of multiplying the command pulses and feedback pulses are both accomplished by hardware. Suppose here that input command pulses are supplied for directing the motor to rotate either clockwise or counterclockwise. The command pulses are fed to the feed-forward pulse generator 55 where feed-forward control pulses are generated; at the same time, the command pulses are fed to the pulse multiplier 51 where they are multiplied by a factor of G 1 . The detection pulses from the encoder 63 are fed to the pulse multiplier 65 where they are multiplied by a factor of G 2 . The command pulses multiplied by G 1 and the output of encoder 63 as multiplied by G 2 are fed to the deviation counter 52 for detecting the difference between the two inputs. The deviation counter 52 counts the difference between the numbers of command pulses and feedback pulses and outputs the result. The output signal from the deviation counter 52 is divided by C in the divider 53 and the result is that converted to a command signal B in the digital/analog converter 54. The feed-forward control pulses generated by the generator 55 are fed to the frequency/voltage converter 56 where they are converted to a voltage signal A representing the amount of feed-forward. This feed-forward signal A is added to the command signal B and the sum is delivered as a speed command signal. The speed command signal is fed to the operational amplifier 59 where an arithmetic operation is performed to obtain a current command signal. In response to this current command signal, the current detecting operational amplifier and PWM section 61 drives the motor 62. The rotating position and speed of the motor 62 are detected with the rotary encoder 63 and the detection signal is fed back to the deviation counter 52 while, at the same time, it is converted to a voltage signal in the frequency/voltage converter 64. The difference between the resulting voltage signal and the speed command signal is determined by the subtractor 58 and the resulting difference signal is fed to the operational amplifier 59 where an arithmetic operation is performed to produce an output current command signal. When the motor-driven object has reached the position indicated by the input command pulses, the output from the deviation counter 52 becomes zero, causing the motor 62 to stop with the motor-driven object being in registry with the target position. If command pulses of high frequency are fed in abruptly, the feed-forward flow including the feed-forward pulse generator 55 outputs a large speed command signal, whereby the motor 62 is immediately driven by a sufficient amount to insure that the motor-driven object is rapidly brought to the target position. A motor control apparatus of the type described above is reported by K. Sawai in "Small AC Servo Motor" in November extra issue of "Kikai Sekkei (Machine Design)", 1987. In this conventional motor control apparatus, the operations of multiplying command pulses and feedback pulses are both accomplished by hardware and this has presented the following problems: (1) The factor of multiplication G 1 of command pulses can only be selected from a narrow range of approximately 1 - 16 because of the limitations on the numbers of bits and switches; (2) similarly, the factor of multiplication G 2 of feedback pulses can be selected only discretely from a narrow range as 1, 2 or 4; (3) The amount of feed-forward is related to the multiplication factor G 1 for command pulses, so there can be the case where the time of response to an abrupt change in the number of command pulses can be satisfactorily shortened; and (4) The open-loop transfer function of the position control loop varies with the multiplication factor G 2 for feedback pulses, so a change in G 2 will affect the stability of the control operation. Prior art document US-A-4 556 956 discloses an adjustable gain controller for a steam turbine valve position control loop which includes an electronic operator, a proportional controller, a derivative controller and an integral controller. A steam flow condition error signal is amplified by the reciprocal of the valve's regulation value. The amplified error signal is supplied to the electronic operator and to the integral controller. The electronic operator includes means for initially selecting a value of A and n and generating a gain factor from a nonlinear gain characteristic function G utilizing those values in combination with the valve's regulation value and the normalized error signal. The electronic operator multiplies the amplified error signal by the gain factor and applies the resultant signal to the proportional controller and the derivative controller. The output signals from the proportional, derivative and integral controllers are summed together and that sum is input into an electrohydraulic valve actuator system. The electrohydraulic valve actuator directly positions the steam valve. Hydraulic and mechanical jitter is reduced by adjusting the values of A and n to reduce the jitter in the electrohydraulic valve actuator system. With the nonlinear gain characteristic function G = A + (1 - A) (E/REG) n at least one of 1/REG appears in a diagram, except for a condition n = 0, so that the factor REG is by no means eliminated. Thus, only under conditions n = 0, A = 0 and valve input = valve output, the influence of REG would be eliminated. However, document US-A-4 556 956 does not show a concept condition "n = 0 and A = 0". SUMMARY OF THE INVENTION The present invention has been accomplished under above mentioned circumstances and has as an object providing a motor control apparatus that is free from the aforementioned problems. To solve this object the present invention provides a motor control apparatus as specified in claim 1. Preferred embodiments of this motor control apparatus are described in the subclaims. In the motor control apparatus of the present invention the operations of multiplying command pulses and feedback pulses are both accomplished by software and this allows the apparatus to have the following advantages: (1) the multiplication factors for command pulses and feedback pulses can be selected from a broad range of, say, 1 - 9999; (2) the amount of feed-forward can be related to the multiplication factor for command pulses, so the time of response to an abrupt change in the number of command pulses can be adequately shortened; and (3) since the open-loop transfer function of the position control loop is prevented from varying with the multiplication factor for feedback pulses, one can ensure that a change in that multiplication factor will in no way affect the stability of the control operation. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram showing an embodiment of the motor control apparatus of the present invention; Fig. 2 is a graph showing the operation of the sampling unit in the apparatus of Fig. 1; Fig. 3 is a front view of the operating panel used in the apparatus of Fig. 1; Fig. 4 is a block diagram showing another embodiment of the motor control apparatus of the present invention; Fig. 5 is a flowchart showing the operation of the apparatus of Fig. 4; Fig. 6 is a block diagram that models the operation of the apparatus shown in Fig. 4; and Fig. 7 is a block diagram showing a conventional motor control apparatus. DESCRIPTION OF THE PREFERRED EMBODIMENTS The motor control apparatus of the present invention is described below with reference to one preferred embodiment as shown in Fig. 1 and 2. Referring first to Fig. 1, the motor control apparatus of the present invention comprises three basic units, a position control unit 10, a speed control unit 20 and a current control unit 30. A servo motor 25 contained in the current control unit 30 will drive a motor-driven object (not shown). The servo motor 25 has an encoder 26 for detecting the rotating position of the motor. One can detect the position of the motor-driven object counting the detection pulses from the encoder 26 with a feedback counter 27. The position control unit 10 is supplied with the count obtained by a command counter 11. Each of the command counter 11 and the feedback counter 27 is an up/down counter. The command counter 11 is so connected that it reads a count value +1 per input command pulse for rotation counterclockwise and -1 per input command pulse for rotation clockwise. The feedback counter 27 is so connected that it performs addition on the detection pulse from the rotary encoder 26 when the motor 25 has rotated counterclockwise and performs subtraction when the motor rotation is clockwise. The position control unit 10 has a first sampling section 12 that takes the difference of the output from command counter 11 at each time interval of T 1 seconds and a second sampling section 28 that takes the difference of the output from feedback counter 27 at each time interval of T 1 seconds. With the command counter 11 taken as an example, the sampling operation is described below with reference to Fig. 2. Write Cr(n) and Cr(n-1), respectively, for the present sampling value for the previous sampling taken T 1 in seconds before. Here, Cr(n)- Cr(n-1) may be defined as the difference at each time interval of T 1 seconds and its value is written as ΔCr(n). Depending on the gradient of the straight line shown in Fig. 2, the value of ΔCr(n) is either positive or negative or zero. A similar definition may be adopted for the feedback counter 28 and the equation ΔCf(n) = Cf(n-1) will hold. The position control unit 10 comprises: a first multiplier 13 that multiplies by a factor of G 1 the command pulses sampled at each time interval of T 1 seconds by the first sampling section 12; a second multiplier 29 that multiplies by a factor of G 2 the feedback pulses sampled at each time interval of T 1 seconds by the second sampling section 28; a subtractor 14 for determining the difference between the numbers of command pulses and feedback pulses as multiplied by the respective multipliers 13 and 29; a deviation counter 15 that counts the differential output from the subtractor 14; a first divider 16 that divides the deviation count from the counter 15 by G 2 ; a first computing means 17 that multiplies the output of the first divider 16 by a constant; a second divider 19 that divides by G 2 the command pulses as multiplied by a factor of G 1 in the multiplier 13; a second computing means 21 that multiplies the output of the second divider 19 by another constant to produce a feed-forward signal A; and an adder 18 that adds the feed-forward signal A to the command signal B, outputting the sum as a speed command signal. The speed control unit 20 comprises: a speed detecting section 31 that detects the speed of a motor 25 in response to the feedback signal of from the feedback counter 27; a computing means 32 with which the speed signal detected by the speed detecting section 31 is multiplied by a constant; a subtractor 22 that outputs a signal for the difference between the speed command signal and the feedback signal from the computing means 32; and a speed detecting operational amplifier 23 that performs an arithmetic operation on the output signal form subtractor 22, thereby outputting the result as a current command signal. In the embodiment under consideration, the speed detecting operational amplifier 23 combines with a current detecting operational amplifier and PWM section 24 (to be described just below) to make up a drive amplifier that will drive the motor 25. The current control unit 30 comprises: the current detecting operational amplifier and PWM section 24 which performs an arithmetic operation on the applied voltage on the motor 25 in response to the applied current command signal and which converts the voltage to a corresponding duty; the motor 25 which is driven with the current detecting operational amplifier and PWM section 24; and the rotary encoder 26 which outputs a pulse signal in accordance with the rotating speed and position of of the motor 25. The position control unit 10 and the speed control unit 20 can be composed of a microprocessor and its software can be designed in such a way that the multiplication factors G 1 and G 2 for the first and second multipliers 13 and 29, respectively, the respective values of the first and second divider 16 and 19, and the factors in association with the first and second computing means 17 and 21 can be preset both freely and finely. Fig. 3 shows an exemplary operating unit for setting those various parameters. The operating panel generally indicated by 40 has a parameter number indicator 41 which indicates the type of a selected parameter in terms of numeral, a parameter value indicator 42 which indicates the set value of the parameter, an UP button 43 for incrementing the numeric value, a DOWN button 44 for decrementing the numeric value, and a SET button 45 for registering the set numeric value. The operation of the embodiment under discussion will proceed as follows. First suppose that command pulses are entered. The command counter 11 counts the input command pulses and the first sampling section 12 outputs the difference ΔCr(n) of the count at each time interval of T 1 in seconds. The sampled value is multiplied by a factor of G 1 in the first pulse multiplier 13 to yield G 1 × ΔCr(n). Further, the second sampling section 28 outputs the difference at each time interval of T 1 in seconds of the feedback pulses that have been detected with the encoder 26 and which have been counted by the feedback counter 27, and the sampled value is multiplied by a factor of G 2 in the second pulse multiplier 29 to yield G 2 x ΔCf(n). The deviation counter 15 performs addition (or subtraction depending on sign) on the difference, G 1 × ΔCr(n) - G 2 × ΔCf(n), at each time interval of T 1 in seconds between the outputs from the first and second pulse multipliers 13 and 29. The count by the deviation counter 15 is divided by G 2 in the first divider 16 and it is further multiplied by a constant (Kpp) in the first computing means 17 to construct a command signal B. In response to this command signal B, the motor 25 is driven by means of the speed control unit 20 and the current control unit 30; when the output from the deviation counter 15 becomes zero, the command signal B also becomes zero, causing the motor 25 to stop. By the sequences of these steps, the motor-driven object (not shown) is controlled to the position associated with the input command pulses. Thus, the position control unit 10 will control the position or the motor-driven object by controlling the motor 25 in such a way that the deviation counter 15 will read the value "zero". Consider here the case where two command pulses are entered for directing the motor to rotate counterclockwise, with the factors of multiplication by the first and second pulse multipliers 13 and 29 being set to G 1 = 2 and G 2 = 4, respectively. Then, the deviation counter 15 will output 4(2 x 2) pulses. The output of the deviation counter 15 is divided by 4 in the first divider 16 to yield a single pulse, which in turn is multiplied by a constant (Kpp) in the first computing means to produce a command signal B which causes the motor 25 to rotate counterclockwise. As the motor 25 rotates counterclockwise, one pulse is fed into the feedback counter 27 for counting and thereafter multiplied by a factor of G 2 (=4) in the second pulse multiplier 29 to generate 4 pulses, which are subjected to subtraction in the deviation counter 15, whereupon said counter 15 will read the value "zero", causing the motor 25 to stop. In other words, the motor 25 will rotate by an amount that corresponds to the number of input command pulses times G 1 divided by G 2 . In the case under consideration, the result of this calculation is 2x1/4=1 and the motor 25 will rotate by an amount equivalent to one pulse. The operation for feed-forward control is described below. The first pulse multiplier 13 is followed by a branch feed-forward loop containing the second divider 19 and the second computing means 21. By passage through them, Signal A representing the amount of feed-forward is obtained in accordance with the formula G 1 × ΔOr(n) × Kff/G 2 and this signal A is added to the command signal B in the adder 19 to produce a speed command signal. Since the difference at each time interval of T 1 seconds is taken before the first pulse multiplier 13, the feed-forward signal A will become constant if the input command pulses to the command counter 11 have a constant frequency. If the frequency of the command pulses varies, the feed-forward signal A will also vary. Take, for example, the case of motor start-up where the rotational speed is increased from 0 to 3000 rpm. Since the frequency of the command pulses varies, the amount o feed-forward will make the transition from zero to a certain value, thereby increasing the value of speed command. As a result, the rotating position of the motor 25 and, hence, the position of the motor-driven object can be controlled rapidly in response to the change in command pulses, thereby making an effective contribution to improvement in the response time o the control apparatus. In the conventional motor control apparatus shown in Fig. 7, a branch feed-forward loop is provided at a stage preceding the first pulse multiplier 51 in order to avoid undue complexity in the configuration of an ASIC containing the position control unit 50 and other components. Under the circumstances, a change in the multiplication factor G 1 of the first pulse multiplier 51 will affect the ratio of feed-forward signal A to command signal B (A/B) and this has occasionally made it difficult to shorten the time of response to an abrupt change in the command pulses. In contrast, the position control unit 10 of the apparatus according to the embodiment under discussion is composed of software and, in this case, it is easy to provide a branch feed-forward loop at a stage following the first pulse multiplier 13. As a matter of fact, the first pulse multiplier 13 is followed by the branching of a feed-forward loop in the embodiment under consideration, and the motor control apparatus has a good response characteristic in that a change in the multiplication factor G 1 of the first pulse multiplier 13 will not affect the ratio of feed-forward signal A to command signal B. Composing the position control unit 10 of software has the added advantage that it is easy to provide not only the first divider 16 of the value 1/G 2 at a stage following the deviation counter 15 but also the second divider 19 of the value 1/G 2 within the feed-forward loop as in the embodiment shown in Fig. 1. By inserting the first and second dividers 16 and 19, the multiplication factor G 2 of the second pulse multiplier 29 will be related to 1/G 2 , or the value preset for each of the first and second dividers. As a result, a change in G 2 will in no way affect the ratio of the feed-forward signal A to the command signal (A/B) or the open-loop transfer function, thereby preventing the unwanted change in the position controllability of the motor-driven object that would otherwise occur in response to the change in G 2 . The multiplication factors G 1 and G 2 of the first and second pulse multipliers 13 and 29, as well as the constants Kpp and Kff of the first and second computing means 17 and 21 are set by manipulation with an operating section as shown in Fig. 3. Assume, for example, the case where G 1 is assigned parameter number one and G 2 , parameter number two; then, the operating panel 40 shown in Fig. 3 may be set in such a way that each of G 1 and G 2 can be selected from a broad range of 1 - 9999. If desired, parameter values of longer digits can be set by increasing the number of digits available in the parameter value indicator 42 but setting each G 1 and G 2 to 9999 will suffice for practical purposes. In addition, the number of operational bits for position control has to be increased in association with the values of G 1 and G 2 , so the range of setting the values of G 1 and G 2 should not exceed those which are satisfactory for practical applications. The microprocessor not only sets various parameters such as G 1 and G 2 but also performs control on the position of the motordriven object; therefore, parameters such as G 1 and G 2 can be freely used within the limits of software for position control. In the embodiment under discussion, there are provided the first computing means 17 which multiplies the output of the first divider 16 by a constant, as well as the second computing means 21 which multiplies the output of the second divider 19 by another constant. Such provision of the first and second computing means 17 and 21 for multiplying the outputs of the first and second dividers 16 and 19 by constants is effective in setting the response of the servo system to command pulses at a desired level. The order of providing the first divider 16 and the first computing means 17 may be reversed. Similarly, the order of providing the second divider 19 and the second computing means 21 may also be reversed. We now describe second embodiment of the motor control apparatus of the present invention with reference to Figs. 4 to 6. As shown in Fig. 4, a servo motor 95 as a drive source is adapted to drive a motor-driven object 99 via a pinion 98 that is rotatably driven by the rotating shaft of the motor. The servo motor 95 has an encoder 96 for detecting its rotating position and the position of the object 99 can be detected by counting the number of detection pulses from the encoder 96. The servo motor 95 is driven in response to input command pulses, which are first multiplied by a factor of G 1 in a pulse multiplier 91. The detection pulses from the encoder 96 are multiplied by a factor of G 2 in another pulse multiplier 97. The command pulses multiplied by G 1 and the output of encoder 96 which has been multiplied by G 2 are fed to a deviation counter 92 where the difference between the two inputs is detected. In the second embodiment of the present invention, a divider 93 is provided at a stage following the deviation counter 92 so that the deviation signal detected by the counter 92 is divided by G 2 . In response to the deviation signal divided by G 2 in the divider 93, the servo motor 95 is driven with the signal passing through a servo amplifier 94. When the difference between the command pulses multiplied by G 1 and the detection pulses from the encoder 96 which have been multiplied by G 2 becomes zero, the motor 95 stops rotating, with the motor-driven object 99 being in registry with the target position. The pulse multipliers 91 and 97 as well as the divider 93 can be composed of a microcomputer and the values of G 1 and G 2 can be set in a free and fine manner by designing appropriate microcomputer software. The operation of the apparatus according to the second embodiment of the present invention is described below with reference to Fig. 5. The values of G 1 and G 2 inherent in the pulse multipliers 91 and 97 and the divider 93 may be set as appropriate from the outside of the servo loop by, for example, manipulation with the operating unit shown in Fig. 3. First suppose that command pulses are applied to the system. The number of input command pulses is multiplied by G 1 in the pulse multiplier 91 and stored in a register R 1 (not shown) provided in the position control unit shown in Fig. 5. The number of position-related feedback pulses from the encoder 96 is multiplied by G 2 in the pulse multiplier 97 and stored in a register R 2 (not shown) also provided in the position control unit. The difference R 3 between the values of registers R 1 and R 2 is computed by the deviation counter 92 and added to the previous value of R 3 stored in a register R 3 (not shown) also provided in the position control unit. The sum is stored as a deviation in the register R 3 . The value of deviation R 3 is divided by G 2 in the divider 93 and the result is stored in a register R 4 (not shown) also provided in the position control unit. The value of register R 4 is delivered as an output to the servo amplifier 94 and the servo motor 95 is driven in accordance with the value of register R 4 . These steps of operation are repeated until the motor-driven object 99 is controlled to the position associated with the input command pulses. In a certain case such as where the motor-driven object is a moving table, very fine adjustments may be achieved by adopting a basic design such that the table is moved in 10-mm increments per 10 4 pulses. However, in practice, the precision of mechanical working on pinion and rack or other moving parts may be such that the motor-driven object is sometimes moved to a position slightly offset from the target position. In order to correct this offset, the command pulse rate or the position-related feedback pulse rate may be altered. In accordance with the conventional system shown in Fig. 7, the feedback pulse rate can be altered only discretely to take on such values as 1, 2 and 4 over a very narrow range, thereby making it difficult to achieve fine adjustments of the motor-driven object. Further, a change in the position-related feedback pulse rate can potentially cause variations in the loop gain, thereby instabilizing the servo system. In contrast, the second embodiment of the present invention is such that the amount of movement per pulse is set with G 1 /G 2 (the ratio between the multiplication factors of the command and feedback pulses) being selected for a very small change as exemplified by 999/1000, whereby the position of the motor-driven object can be finely adjusted. If desired, the amount of movement per pulse may be set to either a large or small value with G 1 /G 2 being selected for a great change as exemplified by 100/1 or 1/100. In short, the pulse rate for controlling the position of the motor-driven object can be varied over a broad range from a very small value to a large one. Further, in accordance with the present invention, the feedback pulses are multiplied by a factor of G 2 for computing the deviation from the command pulses and this effectively insures that the resolution by the encoder 96 will not deteriorate. As another advantage, the feedback pulses are multiplied by G 2 but, at the same time, the output of the deviation counter 92 is divided by G 2 in the divider 93 and, hence, the servo system will operate in a stable manner even if G 2 is set to any desired value. The reason for this advantage is described more specifically below. Fig. 6 is a block diagram that models the operation of a motor control apparatus according to the second embodiment of the present invention. In Fig. 6, X(s) denotes the command position, Y(s) denotes the output position, and Kp denotes the position-associated loop gain. The servo amplifier attains a more satisfactory frequency band than the deviation counter and is denoted by the block having gain x1. The transfer function P(s) of the position control loop under discussion may be expressed by: P(s) = Kp × 1 G 2 × 1 S 1 + (Kp × 1 G 2 × 1 S × G 2 By rearrangement of equation (1), we obtain P(s) = 1 S × Kp G 2 1 + 1 S × Kp The stability of the servo system can be evaluated by the magnitude of the denominator of the right side of equation (2). Substituting 1/G 2 into equation (1), G 2 is eliminated from the denominator of equation (2). This means that G 2 is negligible and the position control servo system will remain stable even if the value of G 2 is changed greatly. With the conventional motor control apparatus shown in Fig. 7, it is also desirable that the factor of multiplication G 2 by the second pulse multiplier 65 is related to the value 1/C of the divider 53 by the equation 1/D = 1/G 2 . With this relationship, G 2 x 1/G 2 is equal to unity and the open loop transfer function of position control remains unchanged with respect to G 2 , eliminating the problem that the controllability of the motor is affected by the change of G 2 . However, if one attempts to relate the multiplication factor G 2 of the second pulse multiplier 65 to the value 1/C of the divider 53 in a system like the conventional motor control apparatus shown in Fig. 7 which has the position control unit 50, etc. composed of an ASIC, the configuration of the ASIC will become so complicated as to increase the cost of the overall system. Under these circumstances, the second pulse multiplier 65 and the divider 53 in the conventional system have been configured as separate circuits so that their respective parameters G 2 and 1/C are set by means of switches. However, this conventional motor control apparatus has had the disadvantage that the position controllability of the motor-driven object will be affected by the change in the multiplication factor G 2 of the second pulse multiplier 65. In summary, the present invention offers the following advantages. First, G 1 /G 2 , or the ratio between the factors of multiplication of the command pulses and the feedback pulses from the encoder, can be set at any desired value over a broad range starting with a very small value and ending with a large value. As a result, the pulse rate for controlling the position of the motor-driven object can be varied over a broad range from a very small value to a large one. Second, the feedback pulses are multiplied by G 2 for computing the deviation from the command pulses and this effectively insures that the resolution by the encoder will not deteriorate. Further, the feedback pulses are multiplied by G 2 but, at the same time, the output of the deviation counter is divided by G 2 in the divider and, hence, the servo system will operate in a stable manner even if G 2 is set to any desired value. Third, the feed-forward loop is branched at a stage following the first pulse multiplier and it becomes possible to obtain a motor control apparatus that has a good response characteristic in that a change in the multiplication factor G 1 of the first pulse multiplier will not affect the ratio o the amount of feed-forward to a command signal. Fourthly, the first divider having the value 1/G 2 is provided at a stage following the deviation counter and, at the same time, the second divider having the value 1/G 2 is provided within the feed-forward loop. By inserting the first and second dividers in this way, the multiplication factor G 2 of the second pulse multiplier can be related to 1/G 2 , or the value preset for each of the first and second dividers. As a result, a change in G 2 will in no way affect the ratio of the amount of feed-forward to the command signal, thereby preventing the unwanted change in the position controllability of the motor-driven object that could otherwise occur in response to the change in G 2 .

Claims: A motor control apparatus comprising: a first pulse multiplier (13) for multiplying command pulses by a first factor (G1); an encoder (26) for detecting a position of a motor-driven object; a second pulse multiplier (29) for multiplying a detection pulse from said encoder (26) by a second factor (G2); and a deviation counter (14) for detecting a difference between output pulses of said first and second pulse multipliers (13, 29); a first divider (16); and a driving source (23, 24) for driving said object in accordance with an output of said divider (16), characterized in that: said first divider (16) divides an output signal of said deviation counter (14) by said second factor (G2). A motor control apparatus according to claim 1, characterized by comprising: a command counter (11) for counting said command pulses and outputting a counted value, wherein said first pulse multiplier (13) multiplies an output of said command counter (11) by the first factor; a feedback counter (27) for counting detection pulses of said encoder (26) and outputting a counted value, wherein said second pulse multiplier (29) multiplies said counted value signal of said feedback counter (27) by the second factor; a second divider (19) for dividing an output signal of said first pulse multiplier (13) by said second factor; and an adder (18) for adding said output signal of said first divider (16) to an output signal of said second divider (19) and for outputting a speed command, and a drive amplifier (22 to 24) for controlling a motor (25) connected to said motor-drive object in accordance with said added value. A motor control apparatus as claimed in claim 2, characterized by further comprising: first computing means (17) for multiplying said counted value of said first divider (16) by a first constant; and second computing means (21) for multiplying said output signal of said second divider (19) by a second constant. A motor control apparatus as claimed in claim 2 or 3, characterized by further comprising: first sampling means (12) for finding a difference of said counted value of said command counter (11) at each predetermined time interval; and second sampling means (28) for finding a difference of said counted value of said feedback counter (27) at each predetermined time interval. A motor control apparatus as claimed in any one of claims 2 to 4, characterized in that said drive amplifier includes: a subtractor (22) for outputting an output signal of a difference between said speed command and a feedback signal of said feedback counter (27); a speed detecting operational amplifier (23) for outputting a current command signal by performing an arithmetic operation on said output signal of said subtractor (22); and a current detecting operational amplifier and PWM section (24) for performing an arithmetic operation on an applied voltage for the motor (25) connected to said motor-driven object in accordance with said output current command signal, and converting an applied voltage to an output voltage with a duty corresponding to said applied voltage. A motor control apparatus as claimed in claim 5, characterized by further comprising: third computing means (32) for multiplying by a third constant said speed signal for said motor (25) connected to said motor driven object, said speed signal being detected by said feedback signal of said feedback counter (27) and for supplying a multiplied speed signal to said subtractor (22). A motor control apparatus as claimed in claim 6, characterized in that said speed detecting operational amplifier (23) receives a difference signal between said speed command signal and said multiplied speed signal, performs an arithmetic operation on said difference signal, and outputs said current command signal to said current detecting operational amplifier and PWM section (24). A motor control apparatus as claimed in claim 5, characterized in that said current detecting operational amplifier and PWM section (24) receives said current command signal from said speed detecting operation amplifier (23), performs an arithmetic operation on said applied voltage for said motor (25) connected to said motor-driven object in accordance with said input current command signal, converts said applied voltages to a corresponding duty, and supplies a converted signal to said motor (25) connected to said motor driven object.

Inventors: KATAGIRI TAKASHI, TAKEUCHI TSUNETO, KATAGIRI, TAKASHI, TAKEUCHI, TSUNETO, Katagiri, Takashi, c/o K. K. Sankyo Seiki, Takeuchi, Tsuneto, c/o K. K. Sankyo Seiki
Applicants: SANKYO SEIKI SEISAKUSHO KK, KABUSHIKI KAISHA SANKYO SEIKI SEISAKUSHO
Application year: 1992
Main classification: G05B19
IPC codes: G05B19