MOTION CONTROL APPARATUS FOR INDUCTION MOTOR

Abstract: In a motion control apparatus for an induction motor, an inclination of acceleration/deceleration curve representing an increase/decrease per unit time in rotation speed of the induction motor is changed in accordance with the value of an angular frequency ωs corresponding to a slip speed of the induction motor.

Description: The present invention relates to a motion control apparatus for an induction motor and, more particularly, to a motion control apparatus for an induction motor, which utilizes a slip speed so as to suppress excessively quick acceleration and deceleration of the induction motor. An induction motor has been widely used in various applications as a constant speed motor together with a constant frequency power source by utilizing its features such as rigid structure, low cost, and the like. However, the induction motor is not used as a servo motor which requires quick acceleration and deceleration. Upon recent improvements of electronic devices, microcomputers, and software techniques, a vector control technique, that can change the frequency of a power source for driving the induction motor over a wide range, is realized, and the induction motor itself is also improved. As a result, the induction motor may be used as the servo motor. Such a variable frequency power source is operated by vector control described in, e.g., "New Drive Electronics, written by Naohiko Kamiyama, Denki Shoin" (to be referred to as literature 1 hereinafter). Conventional "slip-frequency vector control" described in Fig. 6.35 in the literature 1 will be described hereinafter. 6.2.4. Slip-frequency type vector control In the slip-frequency type vector control a flux-component current and a torque-component current are determined as values in secondary-flux coordinates, and these currents are converted into primary current values in stationary coordinates without detection of any secondary-flux vector. A slip frequency depending upon the flux-component and torque-component currents is calculated using a motor constant. The slip frequency thus calculated and a rotating speed are added together to determine a rotating speed of the secondary flux. A position determined through differentiation of the rotating speed of the secondary flux is used as an estimated position of the secondary flux in the coordinate conversion. A motor speed is supplied as a quantity of state of an induction motor to the control circuit in which it is added to the slip frequency. However, any quantity concerning the secondary flux is not supplied to the control circuit. The flux is not subject to any feedback control, but it is determined as directly calculated as a first order lead from a secondary flux command in such a manner as to compensate a first order lag response of the secondary flux with respect to the flux-component current. The slip-frequency type vector control is a kind of predictor control in which the flux vector is controlled through estimation by calculation. Also in the slip-frequency control, it was tried to control the flux and vector by relating the magnitude of the primary current with the slip frequency. However, the primary current was not handled as vector and only the magnitude of the current was controlled. When the induction motor is operated on a commercial power, the power factor changes while the motor is connected with a load, and the primary current shifts in phase. In the slip-frequency control, since the frequency of the primary current is controlled by a power inverter, the primary current will not shift in phase even when the motor is connected with no load or even at the torque output from the motor. Because the steady-state power factor must be equal in both the above-mentioned cases, the phase of voltage shifts eventually. The phase variation of the voltage can be regarded as the phase shift of flux. Because of this phase variation, the real slip frequency being the speed at which a secondary conductor interlinks the flux is different from the slip frequency provided by the control. Thus, the flux and torque incur complicate transient phenomena so that any control faster than the secondary time constant L2/R2 at which the phenomena are attenuated cannot be done. Namely, the consideration of the phase shift or the primary current due to the torque state is a development of the slip-frequency type vector control. In the torque control by supplying an exciting current at a frequency controlled with a slip frequency, the phase shift of a current developed by synthesis from the exciting current and a current having a 90-deg. difference from the exciting current is selected to be equal to the phase shift of current created by the induction motor in the steady state by giving a slip frequency. When the primary current varies in phase, a current which cancels such shift flows momentarily through the secondary conductor so that the induction motor can be shifted to a new steady state momentarily. The power inverter must not only control the frequency but the phase. The slip-frequency type vector control may be considered to be the above-mentioned concept in which the secondary flux is introduced taking account of the influence of leakage inductance and which is further extended to the change of the secondary flux. The basic configuration of the slip-frequency type vector controls is shown in Figure 6.35 (which is equal to the Figure 1 of this invention). The output from the speed control amplifier is handled as a torque command TM*. The torque command TM* is divided by a secondary flux command  * / 2 to provide a secondary q-axis current command -i2q*. This is further multiplied by L2/M by the scale-factor element to be a torque-component current command i1q*. Since no secondary flux has been detected, the above is the same as the flux-detection type vector control except for the division by the command ₂*. The flux-component current command i1d* is determined directly from the secondary flux command ₂*. For compensation of the follow-up of the secondary flux with the flux-component current with a first order lag, a sum i1d* of a current exciting a secondary flux resulted from multiplication of ₂* by 1/M and a current forcing a secondary flux proportional with a time change rate of ₂* is determined. In case the field system of direct-current motor is controlled, a voltage proportional with the change rate of field current develops across the field inductance. This voltage is necessary in a more quantity as forcing voltage than the steady-state voltage. The forcing current plays a same roll as the forcing voltage. To indirectly control the secondary flux in the slip-frequency type vector control, a forcing voltage has to be developed in the secondary winding. This forcing voltage is developed by supplying a forcing current to the secondary resistor. In the flux-detection type vector control, the forcing voltage is developed by the feedback control as in the control of the field current in the direct-current motor. A slip frequency command ω is calculated from ₂* and -i2q*. A speed ωr from the speed detector and ω are added together to determine a speed ω * / o of the secondary flux which is supplied to the vector oscillator which generates a unit vector ejϑ * / o indicative of a predicted position of the secondary flux. The primary current vector i1*(ϑ * / o) in the secondary-flux coordinates is determined depending upon the torque-component current and flux-component current command values. This primary current vector is multiplied by the unit vector ejϑ * / o in the vector multiplier and converted into a primary current vector i1* in the stationary coordinates. Further, it is converted into current commands iU*, iV* and iW* through the three-phase conversion. Thus, the power inverter is controlled by this current control loop. The slip-frequency type vector control needs an induction motor constant for calculation of a flux-component current and slip frequency. Unless the constant is correctly set, torques and secondary fluxes according to the respect commands will not result but they need not to be in strict accordance with the commands. A transient phenomenon will appear corresponding to an error in the constant, but the induction motor constant may be set for the error not to be any problem in practice. It will be necessary for an intended purpose to use for the factor 1/M of an exciting current for the secondary flux command a function for which the saturation of the induction motor is taken in account or to compensate the change of the secondary resistor due to any temperature change from the change of the terminal voltage, etc. The slip-frequency type vector control needs not any special induction motor, and can be made highly accurate only through the calculation in the control circuit. In the basic arrangement of slip-frequency vector control shown in Fig. 1, reference numeral 101 denotes a speed control amplifier; 102, a divider; 103, a constant setting device; 104, a vector analyzer; 105, a multiplier; 106, a converter; 107, a current control amplifier; 108, a power converter; 109, an induction motor; 111, a speed detector; 112, a differentiator; 113, 114, 115, and 116, constant setting devices; 117, a divider; 118, a vector oscillator; and 119, an adder. With this arrangement, a torque can be controlled in accordance with a change in instantaneous current that changes-over time. Even in slip-speed vector control having the basic arrangement as shown in Fig. 1, if this arrangement is applied to a servo motor without modification, excessively quick acceleration and deceleration occur, and an excessive current may flow. Even if a primary current of the induction motor is increased, its torque cannot be increased, i.e., a so-called stall state may occur. Known equations established by the induction motor are as follows by using motor constants L2, M, and R2, a torque TM (output from the speed control amplifier 101), a slip speed ω (output from the divider 117; ωs derived by ω is used in Fig. 2), an actual speed ωr, and a torque component current command i1q* (output from the constant setting device 103): The torque TM and the torque component current command i1q* (output from the constant setting device 103) have upper limits due to the capacity of the motor. If these upper values are assumed to be TM' and i1q', a limit value ₂' of  * / 2 is defined as follows: ₂' = (L2/M)(TM'/i1q') (3) In general, a motor output P o has the following relation with the torque TM and the speed ωr: P o = TMωr (4) The motor output P o also has an upper limit by the motor capacity. Assume that this upper limit is given as P o '. If a control range of ωr is widened, a limitation defined by TM ≦ P o '/ωr is required due to the limitation of the motor output P o . That is, if the value of the actual speed ωr is larger than a predetermined value (i.e., the actual speed ωr is higher than a speed represented by a deflection point in Fig. 6), TM' = P o '/ωr (5) A substitution of equation (5) into equation (3) yields: ₂' = ((L2/M)·(P o '/i1q'))(1/ωr) = A(1/ωr) for A = (L2/M)(P o '/i1q') (6) Substitutions of equations (5) and (6) into equation (2) yield: |ωs| = (R2/(A/ωr)²)(P o /ωr) = ((R2P o ')/A²)ωr (7) The |ωs| must be proportional to ωr when the speed ωr is higher than the value represented by the deflection point in Fig. 6. For this reason, the value |ωr| is supplied to a flux generator 36 through an A/D converter 32 so that  * / 2 can satisfy the relation shown in Fig. 6. As can be apparent from the above description, the relation in Fig. 6 is determined by the motor capacity. When an acceleration/deceleration operation is performed, the torque TM is required after the operation. In this case, ω is required on the basis of equation (2). When the ωr range is wide, |ωs| must be increased as in equation (7), and its limit ωs' is given such that slip torque characteristics of the induction motor are given as shown in Fig. 5 by the limitation of the output capacity of the power converter 108 in Figs. 1 and 2. An inequality must be established in Fig. 5. According to the present invention, ωs' and |ωs| determined by the motor characteristics are compared. If |ωs| > ωs', then the inclination of the acceleration/deceleration is set to zero or reduced so as to reduce the output P o and then TM, i.e., so as to establish inequality |ωs| ≦ ωs', thereby preventing the "stall" state. From US-A-4 499 414 a method of controlling an AC motor is known which exhibits a constant torque characteristic at a rotational speed N below a base speed Nb and a constant output characteristic at a rotational speed N above the base speed Nb, comprising the steps of finding a base speed N L after limiting the output power of the AC motor, N L being derived from the base speed Nb and ratio η between maximum output power Pmax₁ and maximum output power Pmax₂ before and after the output power of the AC is limited, respectively, rendering the slip frequency of the AC motor constant until the rotational speed N of the AC motor reaches the base speed N L , varying the slip frequency in inverse proportion to the rotational speed N for N between N L and Nb (N L <N<=Nb) , and varying the slip frequency in proportion to the rotational speed N for N above Nb(Nb<N), whereby the output power of the AC motor is rendered constant at a rotational speed N above N L . Summary of the Invention It is an object of the present invention to provide a motion control apparatus for an induction motor, which can be free from the above drawbacks. This object is solved by the features of independent claim 1. A motion control apparatus for an induction motor, according to the present invention, comprises a means for changing an inclination of an acceleration/deceleration curve indicating an increase/decrease per unit time in rotation speed of an induction motor, in accordance with a value of an angular frequency ωs corresponding to a slip speed of the induction motor. More particularly, the motion control apparatus comprises means for generating first serial pulses which command a change of the rotation position of the induction motor; means for generating second serial pulses which pick up a change of the rotation speed of the induction motor; droop counter means for accumulating the first and second serial pulses to continuously obtain a difference between an instructed position and an actual position detected; means for obtaining an actual speed on the basis of the second serial pulses; means responsive to the actual speed for reading out an allowable slip speed |ωs'| registered in advance; means for generating a torque instruction signal on the basis of an output of the droop counter means and the actual speed; means for continuously obtaining a slip speed |ωs| by using the torque instruction signal and the allowable slip speed |ωs'| read out from the read out means; means for comparing the |ωs'| and the |ωs|; and means for controlling the generating means of the first serial pulses such that, when |ωs'|≧|ωs|, the first serial pulses are generated in accordance with a inclination of a pre-selected acceleration/deceleration curve selected in advance, and, when |ωs'|<|ωs|, the first serial pulses are generated so as to decrease or nullify the inclination of the acceleration/deceleration curve. Brief Description of the Drawings Fig. 1 is a block diagram showing a basic arrangement of conventional slip-frequency vector control; Fig. 2 is a circuit diagram of a motion control apparatus for an induction motor, according to the present invention; Figs. 3 and 4 are diagrams for explaining two modes of the apparatus shown in Fig. 2; Fig. 5 is a graph showing an operating curve of the induction motor; Fig. 6 is a diagram for explaining speed control of the apparatus of the present invention; Figs. 7 and 8 are flow charts for explaining an operation of first and second modes of the apparatus shown in Fig. 2; and Figs. 9, 10, and 11, are flow charts for explaining a second mode of the apparatus shown in Fig. 2. Detailed Description of the Preferred Embodiment An embodiment of a motion control apparatus for an induction motor according to the present invention will now be described with reference to the accompanying drawings. Fig. 2 is a circuit diagram showing a motion control apparatus for an induction motor, according to the present invention. Note that the same reference numerals in Fig. 2 denote the same parts as in Fig. 1, and a detailed description thereof will be omitted. Referring to Fig. 2, a central processing unit (to be referred to as a CPU hereinafter) 55 comprising, e.g., a microcomputer, receives: a k-bit (k is an arbitrary constant) speed instruction S1, supplied from an external apparatus (not shown: for example, an NC apparatus) including an induction motor according to the present invention, for indicating, e.g., the rotation speed of the induction motor (e.g., 1,000 rpm), a control signal S2, supplied from the external apparatus, and various abnormality signals S3 from peripheral circuits (not shown). The control signal S2 includes a signal (slow-up/slow-down signal) capable of instructing whether or not a slow-up/slow-down operation, that can allow the rotation speed of the induction motor to be gradually increased or decreased, is performed, and a signal (rotation direction signal) capable of instructing whether the induction motor is rotated in the normal or reverse direction. The rotation speed of the output shaft of the induction motor 109 is detected by a pulse encoder 111A. An output ωr from the pulse encoder 111A is supplied to an absolute value circuit 35 through a synchronization direction discriminator 33 and an F/V (Frequency-to-Voltage) converter 34, and is converted to an actual speed |ωr|, and the actual speed |ωr| is input to the input terminal of a switch 53a of a switch circuit 53. As in the circuit shown in Fig. 1, a torque instruction is calculated from the actual angular velocity ωr, as the pulse encoder output, and an instructed angular velocity ω which is output of the D/A converter 16 in Fig. 2. The torque instruction is converted to an absolute value |ωs| through the divider 102, the constant setting devices 116 and 117 and an absolute value circuit 31, and the slip speed |ωs| is input to the input terminal of a switch 53b of the switch circuit 53. The input terminal of a switch 53c of the switch circuit 53 is connected to the slider terminal of a variable resistor 52. One end of the variable resistor 52 is connected to a terminal for supplying a reference voltage Vref, and the other end thereof is grounded. As will be described later, the variable resistor 52 controls an inclination of slow-up and slow-down operation curve of the rotation speed of the induction motor. The output terminals of the switches 53a, 53b, and 53c of the switch circuit 53 are commonly connected to an input terminal 54a of an A/D converter 54. A digital data output terminal 54b of the A/D converter 54 is connected to an input port 55a of the CPU 55. An output terminal 55b of the CPU 55 is connected to a control terminal 54c of the A/D converter 54, and an A/D conversion instruction is output therefrom. Output terminals 55c, 55d, and 55e are respectively connected to the switches 53a, 53b, and 53c of the switch circuit 53, so as to control them using switching signals. An output port 55f of the CPU 55 is connected to an input terminal 4a of a rate multiplier 4 which can convert the frequency of a reference clock to a predetermined frequency (to be described next). An input terminal 4b of the rate multiplier 4 is connected, to the output terminal of a reference clock generator 5 for generating the reference clock having a frequency of, e.g., 4 MHz. An output terminal 4c of the rate multiplier 4 is connected to a clock terminal CK of a D flip-flop 6. The Q output terminal or the D flip-flop 6, for improving a duty ratio, is connected to an input terminal 7a of a synchronization circuit 7 for obtaining a timing allowing a droop counter 15 to be normally operated. Input terminals 7b and 7c of the synchronization circuit 7 respectively receive pulses P1 and P2 from a synchronization pulse generator 8. These pulses P1 and P2 serve as synchronization signals for preventing "overlapping" with an output signal (±Pωr) from the synchronization direction discriminator 33 (to be described later). An output terminal 7d of the synchronization circuit 7 is connected to the first input terminals of 3-input NAND gates 11 and 12, respectively. The output terminals of the NAND gates 11 and 12 output serial pulses indicating an instructed speed Pωc for instructing the rotation speed of the induction motor (to be described later). The second input terminals of the 3-input NAND gates 11 and 12 are connected to an output terminal 55h of the CPU 55. The output terminal 55h outputs a signal as a stop means for controlling whether the operation of the induction motor is continued or stopped as will be described later. The third input terminals of the NAND gates 11 and 12 are connected to an output terminal 55i of the CPU 55 with or without passing through an inverter 17. The output terminals of the NAND gates 11 and 12 are respectively connected to one input terminals of negative logic OR gates 13 and 14. The output terminals of the OR gates 13 and 14 are connected to input terminals UP and DOWN of the droop counter 15. The droop counter 15 comprises a normal up-down counter, and calculates a difference between an instructed position of the rotor of the induction motor and its actual position. This difference corresponds to a "delay in position" of the rotor, and the "delay in position" serves as the above-mentioned speed instruction for instructing the rotation speed of the induction motor. The output terminal of the droop counter 15 is connected to the input terminal of a D/A converter 16. The output terminal of the D/A converter 16 is connected to an input terminal 101a of a speed control amplifier 101. More specifically, the speed control amplifier 101 receives the "delay in position" as an analog value. The output terminal of the speed control amplifier 101 is connected to a slip speed control apparatus of slip-frequency vector control type, as shown in Fig. 1. Two-phase pulse signals A and B whose phases are shifted by 90° are output from the output terminal of the pulse encoder 111A, and are input to an input terminal 33d of the synchronization direction discriminator 33. The synchronization direction discriminator 33 discriminates the rotation direction of the induction motor 109 in accordance with the two-phase pulse signals A and B, and supplies, to the F/V converter 34, a serial pulse signal ±Pωr indicating the actual speed ωr of the induction motor 109. The discriminator 33 also supplies the pulse signal ±Pωr to the other input terminals of the negative logic OR gates 13 and 14. The +Pωr signal is a signal representing the normal rotation of the induction motor 109, and the -Pωr signal is a signal representing the reverse rotation of the induction motor 109. Input terminals 33e and 33f of the synchronization direction discriminator 33 receive pulses P3 and P4 from the synchronization pulse generator 8. These pulses P3 and P4 cause the actual speed Pωr and the instructed speed Pωc not to overlap each other. The output terminal of the F/V converter 34 is connected to the input terminal of the absolute value circuit 35, an input terminal 101b of the speed control amplifier 101, and one input terminal of the adder 119. The output terminal of the A/D converter 32 is connected to the input terminal of a secondary magnetic flux generator 36 for energizing the induction motor 109. The generator 36 applies a secondary magnetic flux  * / 2 to the vector control circuit shown in Fig. 1. The output from the F/V converter 34 is added to the output (ω ) from the divider 117 to calculate the speed ω * / 0, and the speed ω * / 0 is applied to the vector oscillator 118. The operation mode of the motion control apparatus for the induction motor, having the arrangement as shown in Fig. 2, will be described with reference to Figs. 3 and 4. Fig. 3 is a diagram showing the first operation mode. A line P in Fig. 3 represents a case wherein the time interval of operation plotted along the abscissa is fixed to be 1 ms, and the rotation speed of the induction motor plotted along the ordinate is increased by 2 rpm during the unit time interval of 1 ms. In this case, after the lapse of 2 ms, the rotation speed reaches 4 rpm, and after the lapse of 3 ms, it reaches 6 rpm. In the case of the line P, the rotation speed of the induction motor is gradually increased at a constant rate of acceleration, and will not adversely influence an external portion due to an abrupt change. The line P determines an increase in rotation speed to be 2 rpm with respect to the unit time interval of 1 ms. For example, "n rpm (setting value)" (where n is an arbitrary constant) can be set with respect to 1 ms (fixed value). A line Q represents a case wherein n = 3 rpm. Contrary to the above, a line R represents a deceleration state wherein the rotation speed is decreased by 2 rpm after lapse of every 1 ms. That is, the line R represents a linear deceleration state contrary to the linear acceleration state described above. In case that the magnitude of increase or decrease with respect to the unit time interval causes an abrupt motion of the induction motor, the magnitude per unit time is reduced in stepwise, for example, 2 rpm/ms → 1 rpm/ms → 0.5 rpm/ms. The output shaft of the induction motor will not be abruptly moved with respect to the external portion. Therefore, a very smooth deceleration motion can be maintained. Fig. 4 shows the operation mode wherein the rotation speed plotted along the ordinate is fixed and the time interval plotted along the abscissa is variable. Referring to Fig. 4, a line S represents a case wherein the step of the rotation speed is fixed to be 1 rpm, and the time interval is variable in units of 1/2 ms. In this case, since a linear function can also be obtained, the rotation speed of the induction motor is gradually increased, and its output shaft will not apply a varied force to an external portion. In this mode, a line T represents a deceleration state. In case that the magnitude of the increase or decrease with respect to the unit time interval causes to force an impossible motion of the induction motor, the magnitude per unit time have to be reduced. In this case, the unit time interval is prolonged in stepwise, for example, 1/2 ms → 1 ms → 2 ms. According to this control operation, the output axis of the induction motor does not apply an abrupt motion to an external load, and, accordingly, a smooth acceleration or deceleration can be realized In order to determine the inclination of the lines P, Q, R, S, and T shown in Figs. 3 and 4, an interval (a speed change per unit time) of the ordinate (acceleration/deceleration value axis) and the abscissa (time base) can be determined in both the modes shown in Figs. 3 and 4. This interval can be determined by adjusting the variable resistor 52 in the circuit shown in Fig. 2. More specifically, the reference voltage Vref is voltage-divided, and the divided voltage is supplied to the CPU 55 through the switch 53c of the switch circuit 53 and the A/D converter 54. Then, the CPU 55 selects a value corresponding to the input voltage from a prestored data table and determines the interval. The operation of the first mode (Fig. 3) of the motion control apparatus for the induction motor, shown in Fig. 2, which is operated based on the principle described above, will be described with reference to Figs. 5, 6, 7, and 8. The known relationship between slip defined as ωs/ωo and torque of the induction motor is as shown in Fig. 5. More specifically, if the slip is "0", the torque is "0". As the slip increases, the torque is quickly increased. When the slip corresponding to a maximum torque Tm is given as Sm, if the slip increases exceeding Sm, the torque is gradually decreased. Therefore, as can be seen from Fig. 5, the rotation speed of the induction motor can be controlled during an interval from when the slip is "0" until it reaches the maximum value Sm. A practical control range is thus limited to a narrow range from the speed "0". When the slip speed exceeds the maximum value Sm, this causes a state wherein speed control is disabled, i.e., a step-out state, and the rotation speed of the induction motor cannot be controlled. More specifically, in order to perform speed control of the induction motor, the actual speed ωr of the induction motor is always monitored, and the slip speed ωs must be controlled to be smaller than ωox a given value (e.g., smaller than Sm in Fig. 5). For this purpose, the characteristic of the actual slip speed ωs with respect to the allowance or allowable value ωs' of the slip speed ωs shown in Fig. 6 can be stored in a memory (PROM) of the CPU 55, and the slip speed is controlled in accordance with this characteristic. As for the characteristic of the actual speed ωr with respect to the allowance ωs' of the slip speed ωs, a data table which can always provide, e.g., a slip speed ωs1 when the actual speed is ωr1, is prepared, and the slip speed ωs1 is set to fall in a control range (outside a stall area) of the torque curve shown in Fig. 5. Fig. 7 is a main flow chart, and Fig. 8 is a flow chart of an interruption that is performed at equal intervals during the execution of the main flow chart shown in Fig. 7. In the flow chart shown in Fig. 7, after the system is initialized in step 701, the reference voltage Vref is voltage-divided by the variable resistor 52. The divided voltage is supplied to the A/D converter 54 through the switch 53c of the switch circuit 53 (step 702). In step 703, the divided voltage is converted to a digital signal by the A/D converter 54, and the digital signal is supplied to the CPU 55 in step 704. In step 705, a speed change ωc per unit time corresponding to the input data is determined from the data table prepared in the CPU 55. More specifically, data for selecting a change ωc along the ordinate of Fig. 3 for determining the inclination of slow-up or slow-down operation curve of the rotation of the induction motor in accordance with the divided voltage from the variable resistor 52, is selected. In steps 706 and 707, the CPU 55 receives a speed instruction from an external apparatus and various status signals from peripheral circuits, and in step 708, the CPU 55 checks various abnormality signals. If an abnormal condition is detected, the flow advances to step 709 to perform abnormal condition processing, and the interruption is inhibited, so as not to perform processing disregarding the detected abnormal condition. In step 710, a stop signal is output to stop the rotation of the motor. If no abnormal condition is detected in step 708, the operations in steps 706 and 707 are repeated. While the operations in steps 706, 707, and 708 are repeated, the 1-ms interval interruption shown in Fig. 8 is performed. Referring to Fig. 8, the interruption triggers step 811. If the instructed speed is larger than the current speed, the operations in steps 802, 803, and 804 are performed. If the instructed speed is smaller than the present speed, the operations in steps 805, 806, 807, 808, and 809 are performed, so that a frequency corresponding to the present rotation speed (rpm) is calculated, and the calculated result is output to the rate multiplier 4 (step 810). In step 811, the switch circuit 53 selects the absolute value |ωr| of the actual speed, and the selected result is converted to a digital signal by the A/D converter 54 in step 812. In step 813, the digital signal is input to the CPU 55 as the absolute value of the actual speed. In step 814, since the graph having a characteristic of the actual speed ωr with respect to the allowable value ωs' of the slip speed, as shown in Fig. 6, is prestored in the PROM, the allowable value ωs' corresponding to the actual speed |ωr| is determined. In step 815, since the switch circuit 53 receives the slip speed |ωs| from the absolute value circuit 31, this value is converted to digital data by the A/D converter 54 in step 816, and the digital data is supplied to the CPU 55 in step 817. The CPU 55 simultaneously receives the allowable value ωs' of the slip speed, and the absolute value |ωs| thereof, and compares these values in step 818. If the allowable value ωs' of the slip speed is larger than or equal to the slip speed |ωs|, a continue signal is output in step 819 and rotation of the induction motor is continued. Thus, the process goes to step 801. In step 801, an instructed speed ω c ' is compared with a present speed ω c . If a coinidence is found therebetween, the flow jumps to step 810. If the instructed speed is larger than the current speed, the operations in steps 802, 803, and 804 are performed. If the instructed speed is smaller than the present speed, the operations in steps 805, 806, 807, 808, and 809 are performed, so that a frequency corresponding to the present rotation speed (rpm) is calculated, and the calculated result is output to the rate multiplier 4 (step 810). Contrary to this, if the slip speed |ωs| is larger than the allowable value ωs' of the slip speed, a suppression signal is output in step 820, and in step 810 a result of the calculation is sent to the rate multiplier 4. In this manner, excessively quick acceleration and deceleration of the induction motor can be suppressed. The operation in the second mode of the embodiment shown in Fig. 2, i.e., a case wherein the time interval plotted along the abscissa is variable, and a speed change per unit time output to the induction motor plotted along the ordinate is fixed, as shown in Fig. 4, will be described with reference to the flow charts of Figs. 7 and 8. In step 705, an interval of the interval interruption, for example, the number n of the interruptions to be carried out during the unit time of 1 ms is selected. When the interruptions are carried out n times per 1 ms, Fig. 8 shows a flow chart for 1/n ms interval interruption in stead of 1 ms interval interruption. Further, the speed change Δω c shown in Fig. 8 is fixed value, for example, 1 rpm. Other operations are same as that in the mode 1. Figs. 9, 10, and 11 are flow charts respectively showing the main routine, interval interruption for a slow-start/stop processing routine, and interval interruption for checking stall. In the slow-start/slow-stop processing routine and the stall checking routine, an interval interruption is performed for every n "s" or m "s". Note that n and m are arbitrary constants, n is determined by a method to be described later, and m is determined in advance. In Fig. 9, in step 902, when the slider terminal of the variable resistor 52 is moved, the reference voltage Vref is voltage-divided, and the divided voltage is supplied to the switch 53c of the switch circuit 53. As described above, the divided voltage of the reference voltage Vref is supplied from the switch 53c to the A/D converter 54 to be A/D converted (step 903), and the digital data is then supplied to the CPU 55 (step 904). In step 905, the digital data is input to the CPU 55, and a time per unit speed change, i.e., a time T(S) of the interval interruption, is determined from the data table prepared in the CPU 55. In step 906, initialization for the T(S) interval interruption is performed, thereby allowing the interval interruption. Subsequently, the CPU 55 receives the speed instruction signal and the rotation direction signal as a control signal (step 907). In step 908, the CPU 55 judges if the rotation direction signal is a reversal instruction with respect to the present rotation direction. If the reversal instruction is detected, this means that, for example, the motor currently rotating clockwise must be rotated counterclockwise, and the flow advances to step 909. In this case, a reversal flag is set, a reversal continuation flag is set, and the flow advances to step 911. If no reversal instruction is detected, the reversal flag is cleared in step 910, and the flow advances to step 911. In step 911, various status signals are input from the peripheral circuits, and it is checked in step 912 if an abnormal condition is detected, If no abnormal condition is detected, the operations in steps 907 to 911 are repeated. However, if an abnormal condition is detected, the same processing in the first mode is performed. The T(S) interval interruption processing will be described with reference to the flow chart shown in Fig. 10. If it is detected in step 101 that the reversal flag is cleared and if it is detected in step 102 that the reversal continuation flag is cleared, the speed instruction input to the CPU 55 is compared with data (R) output from the CPU 55 to the rate multiplier 4. If a coincidence is found therebetween, the flow jumps to "RETURN". If the speed instruction is larger than the data (R) output to the rate multiplier 4, the data (R) output to the rate multiplier 4 is incremented by one, and new data (R) is output to the rate multiplier 4 in step 105. Then, the flow jumps to "RETURN". If the speed instruction is smaller than the data (R) output to the rate multiplier 4, the data (R) is decremented by one to obtain new data (R) (step 106). If the reversal flag and the reversal continuation flag are set, the flow jumps from step 101 or 102 to step 104 to check if the speed is zero. If it is detected in step 104 that the speed is zero, the flow jumps to step 109, and the rotation direction signal is inverted, and the reversal continuation flag is cleared. Thereafter, the flow returns to the main routine. If it is detected in step 104 that the speed is not zero, data (R) output to the rate multiplier 4 is decremented by one, and is output again to the multiplier 4. It is checked in step 108 if the speed is zero. If it is detected in step 108 that the speed is zero, the flow advances to step 109, and the rotation direction signal is inverted. The reversal continuation flag is cleared in step 110, and the flow then returns to the main routine. If it is detected in step 108 that the speed is not zero, the flow immediately returns to the main routine. The stall checking interval interruption processing will be described with reference to the flow chart shown in Fig. 11. Referring to Fig. 11, the actual speed |ωr| input to the switch 53a of the switch circuit 53 is selected, is converted to a digital signal by the A/D converter 54, and the digital signal is supplied to the CPU 55 (steps 111, 112, and 113). In step 114, the slip allowance ωs' is output from the data table. The slip speed |ωs| is input to the switch 53b of the switch circuit 53, and is converted to a digital signal by the A/D converter 54. The digital signal is then supplied to the CPU 55 (steps 115, 116, and 117). In step 118, the slip speed |ωs| is compared with the allowance ωs' of the slip speed. If the allowance ωs' is larger than the slip speed |ωs|, the continuation signals S4 and S5 are output in step 120, and the flow returns to the main routine., If the slip speed |ωs| is larger than the allowance ωs', the suppression signal S4 or S5 is output to suppress the rotation of the induction motor, and the flow then returns to the main routine. In this manner, excessively quick acceleration and deceleration can be suppressed, and a stall state can also be prevented. According to the present invention, excessively quick acceleration and deceleration can be suppressed, and the induction motor can be used as a servo motor.

Claims: A motion control apparatus for an induction motor including an induction motor (109) and a vector-controlled inverter for supplying controlled energy to the induction motor, in which the frequency of said inverter being defined by a ωo derived from a sum of a slip speed ωs, calculated in the vector control, and a detected speed ωr, obtained by detecting revolution of the motor, characterized by means (4, 6, 7, 11, 12, 17) for generating first serial pulses having a period according to an instructed speed of said induction motor and commanding a change of a rotation position of said induction motor; means (111A, 33) for detecting the change of the rotation position and generating second serial pulses representing the detected change; droop counter means (15) for accumulating numbers of the first serial pulses and the second serial pulses to continuously obtain a difference between an actual position and an instructed position; means (34, 35) for obtaining an actual speed in proportion to an occurrence density of the second serial pulses; means (53, 54, 55) responsive to the actual speed for reading out an allowable slip speed |ωs'| predetermined in accordance with a characteristic of said induction motor; means (16, 101) for generating a torque instruction signal on the basis of a difference between an output of said droop counter means and the actual speed; means (102, 116, 117, 31) for continuously obtaining a slip speed |ωs| by using the torque instruction signal, the actual speed and constants in an equivalent circuit of said induction motor; means (55) for comparing the slip speed |ωs| and the allowable slip speed |ωs'|; and means (55) to control the generation of the first serial pulses such that when |ωs'|>=|ωs|, the first serial pulses are generated in accordance with an inclination of an acceleration/deceleration curve of the rotation selected in advance, and, when |ωs'|<|ωs|, the first serial pulses are generated so as to decrease the inclination of the acceleration/deceleration curve, thereby to control the motion including increment or decrement of the number of rotations of said induction motor with respect to a unit time interval. An apparatus according to claim 1, wherein the inclination of the acceleration/deceleration curve is limited in accordance with the value of the allowable angular frequency ωs', while in the acceleration/deceleration curve, a unit time interval is set constant and a change in rotation speed per unit time interval is variable. An apparatus according to claim 1, wherein the inclination of the acceleration/deceleration curve is limited in accordance with the value of the allowable angular frequency ωs', while in the acceleration/deceleration curve, a change in rotation speed per unit time interval is set constant and a unit time interval is variable.

Inventors: HINO, KIYOSHI NIPPON ELECTRIC INDUSTRY CO., LTD., KAITO, KOSUKE NIPPON ELECTRIC INDUSTRY CO., LTD., OKAMOTO, KIYOKAZU
Applicants: NEC CORPORATION
Application year: 1987
Main classification: H02P5
IPC codes: H02P21, H02P27, H02P29, H02P23