Computer-based control system especially for a motor

Abstract: A control system has a detecting block (12) for obtaining a detected signal corresponding to a controlled variable of a controlled system, and a controlling block (13) for supplying the controlled system with a control signal according to the detected signal. The controlling block includes an error signal producing block for producing an error signal from the detected signal at intervals of a detecting period of time, a memorizing block for storing a plurality of memorized values corresponding to the error signal, and a control signal producing block for producing the control signal by mixing the error signal with one or more of the memorized values. The memorizing block renews the memorized values sequentially and periodically at intervals of a renewing cycle period of time proportional to the detecting period, each with a mixed value computed from the error signal and one or more of the memorized values having been renewed at intervals of L renewing cycle periods, where L is an integer at least equal to 2. The controlling block also includes an operation selecting block for selecting a control operation, and a position detecting block for detecting a physical movement of the controlled system. The position detecting block obtains a stored position of the memorized value corresponding to a physical position of the controlled system so as to utilize the memorized values promptly and correctly when the operation selecting block selects the control operation using the memorizing block.

Description: This invention relates to a control system, and more particularly, to a control system required to have a good robustness to disturbances, such as a control system for a motor. In conventional control systems, a PI controller (Proportional-Integral controller) has been widely used in order to improve the robustness to disturbances, or to suppress influences of disturbances. Recently, the PI controller can provide a digital control using a microprocessor. For example, a digital PI controller using a microprocessor for controlling the speed of a DC motor is disclosed in "Digital Control Systems", chapter 14, section 14.4, pp 689-694, written by Benjamin C. Kou and published as Holt-Saunders International Editions. A control system of this general type is shown in DE-A-3219253. A sewing machine motor is controlled by a system in which the motor speed is compared with a nominal speed to obtain a difference signal. Successive difference signals are integrated to obtain a control signal which is fed back to the motor. The PI controller, whether analog or digital, can improve the robustness to disturbances more at a lower frequency. However, the recent requirement to improve the robustness to disturbances has become more and more severe in some applications. For example, a control system for controlling the speed of a capstan motor in a video tape recorder requires a highly improved robustness to torque disturbances, because the size and the inertia of the capstan motor have been greatly minimized in recent years. It is an object of the present invention to provide a control system improved so as to get a steady state of an improved robustness to disturbances promptly. It is another object of the present invention to provide a control system for a motor improved so as to get a steady state of an improved robustness to torque disturbances promptly. These objects are achieved according to the present invention by providing a control system comprising: a detecting means producing a detected signal value corresponding to a controlled variable of a controlled system produced by the revolution of a rotating actuator; said control system characterised in that it further comprises: an error signal producing means producing an error signal on the basis of the detected signal value at intervals of time proportional to the period of rotation of the actuator; a memorising means for storing a plurality of memorised values sequentially memorised at intervals of time proportional to the period of rotation of the actuator and for renewing each of the plurality of memorised values sequentially at intervals proportional to N.L times the period of rotation of the actuator by a first combined value which is obtained by combining a value proportional to the present error signal or a value derived from a linear combination of successive precedent values of the error signal with a value comprising a set of N previously memorised values each spaced by intervals of time proportional to L times the period of rotation of the actuator where N is an integer including 1, and L is an integer at least equal to 2, L being equal to or multiple of the number of periods of the detecting means signal per revolution of the rotational actuator; a control signal producing means for producing a control signal on the basis of a second combined value which is obtained by combining a value proportional to the present error signal with the previously calculated value comprising a set of N of previously memorised values; each spaced by intervals of time proportional to L times the period of rotation of the actuator and supplying said control signal so as to control the controlled variable of said controlled system; an operation selecting means for selecting on the basis of the value of said error signal either a control operation using said memorising means or another control operation not using said memorising means, and a position detecting means for detecting a physical movement position of said controlled system and for obtaining the position in the memorising means of the stored memorised value corresponding to the physical position of said controlled system so as to initialise the memorising means when said operation selecting means selects the control operation using said memorising means. These and other objects, features, and advantages of the present invention will become more apparent from the following detailed description taken with the accompanying drawings in which: FIG. 1 is a basic block diagram of a control system for controlling the speed of a motor; FIG.2 is a circuit diagram of a speed detector usable in the control system shown in FIG.1; FIG.3 is a circuit diagram of a position detector usable in the control system shown in FIG.1; FIG.4 shows waveforms of signals for explaining the operation of the position detector shown in FIG.3; FIG.5 is a flow diagram of the operation of the microprocessor which represents an embodiment of a control system according to the present invention with the combination of FIG.1, FIG.2, FIG.3, and FIG.5; FIG.6 is another flow diagram of the operation of the microprocessor which represents an embodiment of a control system according to the present invention with the combination of FIG.1, FIG.2, FIG.3, and FIG.6; FIG.7 is another basic block diagram of a control system for controlling the speed of a motor; FIG.8 is still another flow diagram of the operation of the microprocessor which represents an embodiment of a control system according to the present invention with the combination of FIG.7, FIG.2, FIG.3, and FIG.8; FIG.9 is further another flow diagram of the operation of the microprocessor which represents an embodiment of a control system according to the present invention with the combination of FIG.7, FIG.2, FIG.3, and FIG.9. Referring now to FIG. 1. which shows a schematic construction of an embodiment of the present invention, a controlled system 11 has a DC motor 11A to be controlled and a driver 11B supplying the DC motor 11A with a current Im (a power). The DC motor 11A is controlled so as to rotate a load 11C (a torque disturbance source) at an aimed speed. A detecting block 12 has a sensor 12A and a speed detector 12B. The sensor 12A produces two sensed signals Aa and Ab, each of which has a frequency equal to Pa times the rotational frequency fm [Hz] of the DC motor 11A, where Pa is an integer at least equal to 2. In this case, Pa is equal to 512. The sensor 12A is arranged so that the phases of the sensed signals Aa and Ab are different from each other by 90 degrees. The sensed signal Aa follows the sensed signal Ab when the DC motor 11A rotates clockwise, and the sensed signal Aa precedes the sensed signal Ab when the DC motor 11A rotates counterclockwise. The speed detector 12B obtains a detected signal Bb and a flag signal Fq at every one or half period (detecting period) of the sensed signal Aa. The detected signal Bb is a digital or coded signal with a digital number showing the one or half period of the sensed signal Aa, that is, the speed of the DC motor 11A. The flag signal Fq is set to be "H" (a high voltage) at every timing when the speed detector 12B obtains a new detected code or value. The detail construction and operation of the speed detector 12B will be described later. A controlling block 13 has a microprocessor 13A, a memory 13B including RAM (random access memory) and ROM (read only memory), a D/A converter 13C, an operation selector 13D, and a position detector 13E. The microprocessor 13A selects and executes control operations according to a select signal Jc produced by the operation selector 13D. The select signal Jc is a digital or coded signal which selects operations of the microprocessor 13A. The microprocessor 13A mainly inputs the detected signal Bb and supplies the driver 11B of the controlled system 11 with a control signal Cs according to the detected signal Bb. The position detector 13E detects a physical movement of the DC motor 11A by using the sensed signals Aa and Ab, and produces a position signal Id which is a digital or coded signal with a digital number showing a the rotational position of the DC motor 11A. The detail operations of the microprocessor 13A and the position detector 13E will be described later. The driver 11B supplies the DC motor 11A with the current Im corresponding to the control signal Cs so as to generate a generated torque proportional to the control signal Cs. Thus, a control loop (a speed control loop of the DC motor 11A) can be formed by the controlled system 11 (the DC motor 11A) and the driver 11B), the detecting block 12 (the sensor 12A and the speed detector 12B) and the controlling block 13 (the microprocessor 13A, the memory 13B and the D/A converter 13C), so that the controlled variable of the controlled system 11 (the speed of the DC motor 11A) is controlled at an aimed value (an aimed speed). A construction of the speed detector 12B shown in FIG. 2 will be explained in detail hereinbelow. A shaper 31 compares the sensed signal Aa with a predetermined voltage and produces a shaped signal Gg having a squared waveform. The shaped signal Gg is applied to an input terminal of an AND circuit 33 and a trigger input terminal CK of a D-type flip-flop 35. A clock pulse signal Cp produced by an oscillator 32 and an overflow signal Ww of a counter 34 are respectively applied to the other input terminals of the AND circuit 33. The oscillator 32 has a crystal oscillator and a frequency divisor, for example, and it produces the clock pulse signal Cp with a frequency about 1 MHz, much higher than the frequency of the shaped signal Gg. The counter 34 has a 12 bit length and it counts up the output pulse Hh of the AND circuit 33. The overflow signal Ww of the counter 34 is "H" when the content of the counter 34 remains below a predetermined value, and turns "L" when the content of the counter 34 becomes equal to or over the predetermined value, where "H" and "L" mean a high voltage (5V) and a low voltage (0V), respectively. As the data input terminal of the D-type flip-flop 35 is connected to "H", the flag signal Fq, the output signal of the D-type flip-flop 35, becomes "H" at every timing of the falling edges of the shaped signal Gg. A reset signal Rr from the controlling block 13 can reset the contents of the counter 34 and the D-type flip-flop 35 to be Bb="LLLL LLLL LLLL" and Fq="L". The operation of the speed detector 12B shown in FIG.2 will be explained hereinbelow. Assume that the contents of the counter 34 and the D-type flip-flop 35 are reset, or at their initial conditions, and that the shaped signal Gg is "L". After the shaped signal Gg changes from "L" to "H", the counter 34 counts up the output pulse Hh of the AND circuit 33 which is the clock pulse signal Cp from the oscillator 32. At the time when the shaped signal Gg changes from "H" to "L", the output signal Hh of the AND circuit 33 becomes "L" and the counter 34 holds the content until the next change of the shaped signal Gg. The held content of the counter 34 is the digital or coded number proportional to the half period of the sensed signal Aa, which is inversely proportional to the speed of the DC motor 11A. The flag signal Fq changes from "L" to "H" at a falling edge of the shaped signal Gg. The controlling block 13 inputs the detected signal Bb, the held content of the counter 34, after checking the flag signal Fq being "H". Then, the controlling block 13 resets the contents of the counter 34 and the D-type flip-flop 35 by making the reset signal Rr "H" for a short time. The counter 34 and the D-type flip-flop 35 become the initial conditions to prepare for the next detection. Besides, the held content of the counter 34 can be a large value, when the speed of the DC motor 11A is very low during the starting or accelerating time. A construction of the position detector 13E shown in FIG.3 will be explained in detail hereinbelow with the waveform diagram shown in FIG.4. The sensed signals Aa and Ab from the sensor 12A are applied to shapers 41 and 42 as input signals Ca and Cb, respectively. That is, Ca=Aa and Cb=Ab. The shaper 41 compares the sensed signal Aa with a predetermined voltage and produces a shaped signal Fa having a squared waveform. The shaper 42 compares the sensed signal Ab with another predetermined voltage and produces another shaped signal Fb having a squared waveform. Because of the phase difference between the sensed signals Aa and Ab, the shaped signals Fa and Fb also have a phase difference of 90 degrees (1/4 period of the signal Fa) therebetween. That is, the shaped signal Fa follows the shaped signal Fb when the DC motor 11A rotates clockwise, and the shaped signal Fa proceeds the shaped signal Fb when the DC motor 11A rotates counterclockwise. FIG.4 shows waveforms of the signals when the DC motor 11A rotates clockwise. An edge detector 44 produces a pulse signal Ed from the shaped signal Fa. Each of the pulses of the pulse signal Ed occurs at each of the timings of the rising and falling edges of the shaped signal Fa. Each pulse of the pulse signal Ed has a predetermined short width. A direction detector 43 inputs the shaped signals Fa and Fb and produces a direction signal Dr which indicates the rotational direction of the DC motor 11a. The direction detector 43 detects the direction of the DC motor 11A by checking the voltage ("L" or "H") of the shaped signal Fb at the timings of the rising and falling edges of the shaped signal Fa. In the case that the shaped signal Fb is "H" at the timing of the rising edge of the shaped signal Fa and "L" at the timing of the falling edge of the shaped signal Fa, the direction detector 43 makes the direction signal Dr "H". In the case that the shaped signal Fb is "L" at the timing of the rising edge of the shaped signal Fa and "H" at the timing of the falling edge of the shaped signal Fa, the direction detector 43 makes the direction signal Dr "L". Thus, the direction signal Dr is "H" when the DC motor 11A rotates clockwise, and "L" when the DC motor 11A rotates counterclockwise. A cyclic up-down counter 45 produces the position signal Id from the direction signal Dr and the pulse signal Ed. The cyclic up-down counter 45 counts up the pulses of the pulse signal Ed when the direction signal Dr is "H", and counts down the pulses of the pulse signal Ed when the direction signal Dr is "L". The cyclic up-down counter 45 counts cyclicly, or endlessly, when the DC motor 11A rotates continuously. Since the cyclic up-down counter 45 is triggered at every falling edge of the pulse signal Ed and the direction detector 43 produces new direction signal Dr at every rising edge of the pulse signal Ed, the content of the cyclic up-down counter 45 always corresponds to the rotational position of the DC motor 11A even though the DC motor 11A changes the rotational direction. Since the cycle of the cyclic up-down counter 45 is 2Pa, double of Pa (Pa is the detecting cycles/revolution of the speed detector 12B), the content of the cyclic up-down counter 45 except the LSB is outputted as the position Id. In this case, the cyclic up-down counter 45 is a 10 bit up-down counter which has 1024 states, and the position signal Id is the upper 9 bits of the 10 bit up-down counter except the LSB. Thus, the position signal Id indicates 512 positions per one revolution of the DC motor 11A. The operation of the microprocessor 13A will be explained in detail hereinbelow, referring to FIG.5 which shows a flow diagram of the operation of the microprocessor 13A. It is noted that a register name in the RAM of the memory 13B and a content stored in it are designated by a same label hereinbelow. The microprocessor 13A executes the following tasks according to instructions stored in the ROM of the memory 13B: [AN ERROR SIGNAL PRODUCING BLOCK 5A] (5A-1) The flag signal Fq is checked until it becomes "H". That is, the microprocessor 13A is triggered so as to execute the following procedure at the timing when the speed detector 12B obtains a new detected code corresponding to the current speed of the DC motor 11A. (5A-2) The detected signal Bb, the held content of the counter 34, is inputted and changed to a digital or coded value S. Then, the contents of the counter 34 and the D-type flip-flop 35 are reset by making the reset signal Rr "H" for a very short time. (5A-3) A difference value Eo is computed between the detected value S and a predetermined value Sref corresponding to the aimed speed. That is, Eo=Sref-S. Then, an error signal E is obtained by multiplying the difference value Eo with a predetermined positive value R. That is, E=REo. New values of the error signal E are detected at intervals of the detecting period of time equal to the period of the sensed signal Aa. [A CONTROL SIGNAL PRODUCING BLOCK 5B] (5B-1) An output signal Y is obtaining by mixing the error signal E with a composite value V which is produced in a composing block 5Db in a memorizing block 5D, described later, at a ratio of 1:D, where D is a positive real at most equal to 1.5 and at least equal to 0.25. (5B-2) The output signal Y is outputted to the D/A converter 13C as the control signal Cs. [AN INITIAL POSITION DETECTING BLOCK 5C] (5C-1) The absolute value of the difference value, |Eo|, is compared with a predetermined positive value Ex. When |Eo|<Ex which means that the speed of the DC motor 11A is substantially equal to the aimed speed, the operation of the microprocessor 13A goes to the memorizing block 5D so that the control operation using the memorizing block 5D is executed. When |Eo|>Ex or |Eo|=Ex which means that the speed of the DC motor 11A is far from the aimed speed, the operation of the microprocessor 13A goes to (5C-2). (5C-2) The position signal Id from the position detector 13E is inputted and stored in a register. The value of the position signal Id is also named as Id. (5C-3) A count variable I is replaced by Id, and the composite value V is replaced by 0. That is, I=Id and V=0. Then, the operation of the microprocessor 13A goes to an operation selecting block 5E. [A MEMORIZING BLOCK 5D] The memorizing block 5D comprises a renewing block 5Da and the composing block 5Db. 〈A RENEWING BLOCK 5Da〉 (5Da-1) The count variable I is incremented with a modulo number NL, where L is an integer equal to Pa or an integral multiple of Pa (preferably L=Pa) and N is a positive integer including 1. That is, 'I=I+1 (MOD NL)' means 'I=I+1 and I=0 if I=NL', because A with a modulo B means the remainder of A/B. Thus, the count variable I varies from 0 to NL-1 and increments the number in a circular form at every detecting timing of the speed detector 12B. In this case, L=Pa=512. (5Da-2) A memorized value M[I], stored at an address (a stored position) corresponding to the count variable I in the RAM of the memory 13B, is renewed by a mixed value of the error signal E and the composite value V at a ratio of 1:1. That is, M[I]=E+V. The renewed memorized value M[I] is held until the next renewing time of M[I], that is, the NL renewing cycle periods later. As the result of this, the NL memorized values M[0] to M[NL-1] are obtained, and the NL memorized values are sequentially and periodically renewed at intervals of the renewing cycle period equal to the detecting period of the speed detector 12B. 〈THE COMPOSING BLOCK 5Db〉 (5Db-1) An operation of 'J=I+1 (MOD NL)' is executed to obtain an integer J proceeding the count variable I by 1. (5Db-2) The composite value V of the composing block 5Db is computed by combining linearly a set of N memorized values M[J-nL (MOD NL)] (n=1,...,N) with positive coefficients Wn (n=1,...,N) from n=1 to n=N, where the N memorized values M[J-nL (MOD NL)] (n=1,...,N) have been renewed at intervals of L renewing cycle periods. That is, where 0 < Wn < 2/N (n=1,...,N) (2) Preferably, Wn = 1/N (n=1,...,N) (4) so as to make the computation of the composite value V easier. Notice that the set of N memorized values here for computing the composite value V can be only one memorized value, which is substituted as the composite value V. Notice also that the composite value V of Eq.(1), computed here, will be used in the control signal producing block 5B and the renewing block 5Da at the next detected timing. So, the composing block 5Db computes the composite value V for future use, and the count variable I at the next detected timing will be equal to J at this timing. [AN OPERATION SELECTING BLOCK 5E] (5E-1) The select signal Jc from the operation selector 13D is inputted and stored in a register. The value of the select signal Jc is also named as Jc. (5E-2) Jc is compared with a predetermined value Js. When Jc=Js which means that the control operation using the error signal producing block 5A, the control signal producing block 5B, the initial position detecting block 5C, and the memorizing block 5D is selected for controlling the speed of the DC motor 11A, the operation of the microprocessor 13A goes back to the error signal producing block 5A. When Jc>Js or Jc< Js which means that another control operation not using the memorizing block 5D is selected, the operation of the microprocessor 13A goes to (5E-3). (5E-3) The microprocessor 13A executes an operation corresponding to the select signal Jc. Then. the operation of the microprocessor 13A goes back to (5E-1) for reselecting the operation. The control system of the embodiment of the present invention, shown by the combination of FIG.1, FIG. 2, FIG. 3, and FIG.5, has an excellent robustness to disturbances when the microprocessor 13A executes the control operation using the error signal producing block 5A, the control signal producing block 5B, and the memorizing block 5D. Further, the control system of the embodiment of the present invention has a quick response to get a steady state of the excellent robustness to disturbances by providing the position detector 13E and the initial position detecting block 5C, which is explained in detail hereinbelow. In the case of the control system for controlling a capstan motor in a video cassette recorder, for example, there are many control operations not using the memorizing block 5D, such as a cue operation, a review operation, a forward slow operation, a reverse slow operation, or a stop operation. The DC motor 11A may be rotated in these control operations. The position detector 13E always detects the physical movement (the rotation) of the DC motor 11A and obtains the position signal Id, the value of which always corresponds to the physical position (the rotational position) of the DC motor 11A. When the selecting signal Jc is changed to Js, the DC motor 11A begins to rotate and acccelerate the speed to the aimed speed. Since the absolute value of the difference value |Eo| is larger than Ex during the starting or accelerating time, the initial position detecting block 5C substitutes the count variable I with the position signal Id from the position detector 13E. The count variable I indicates the address (the stored position) of the memorized value M[I] in the memorizing block 5D. Since the length of the L renewing cycle periods is equal to the one revolution period or an integral multiple of the one revolution period of the DC motor 11A, the stored position of the memorized value corresponding to the rotational position of the DC motor 11A is obtained promptly and correctly as soon as the absolute value of the difference value |Eo| becomes smaller than Ex. It is found that the DC motor 11A and the load 11C produces torque disturbances having a period of time equal to the one revolution period of the DC motor 11A and that the torque disturbances generated by the DC motor 11A and the load 11C are dominant in the torque disturbances which disturb the speed of the DC motor 11A. That is, the dominant torque disturbances generated by the DC motor 11A and the load 11C are thought to be synchronized by the rotation of the DC motor 11A. It is also found that the memorizing block 5D holds, as the memorized values M[I] (I=0,1,...,NL-1), the values corresponding to the dominant torque disturbances once the control operation using the memorizing block 5D is executed. Since the control system of the present invention has the position detector 13E and the initial position detecting block 5C, the memorizing block 5D can produce promptly and correctly the composite value V in the composing block 5Db by using the memorized value corresponding to the rotational position of the DC motor 11A. The composite value V is used in the control signal producing block 5B so as to suppress the influence of the dominant torque disturbances generated by the DC motor 11A and the load 11C. Thus, the control system of the embodiment of the present invention by the combination of FIG.1, FIG.2, FIG.3, and FIG.5 has a quick response to get a steady state of the excellent robustness to disturbances once the control operation using the memorizing block 5D is executed. FIG.6 shows another flow diagram of the operation of the microprocessor 13A in the controlling block 13, which represents another embodiment of the present invention by the combination of FIG.1, FIG.2, FIG.3, and FIG.6. The flow diagram of FIG.6 will be explained hereinbelow. [AN ERROR SIGNAL PRODUCING BLOCK 6A] (6A-1) The flag signal Fq is checked until it becomes "H". That is, the microprocessor 13A is triggered so as to execute the following procedure at the timing when the speed detector 12B obtains a new detected code corresponding to the current speed of the DC motor 11A. (6A-2) The detected signal Bb, the held content of the counter 34, is inputted and changed to a digital or coded value S. Then, the contents of the counter 34 and the D-type flip-flop 35 are reset by making the reset signal Rr "H" for a very short time. (6A-3) A difference value Eo is computed between the detected value S and a predetermined value Sref corresponding to an aimed speed. That is, Eo=Sref-S. Then, an error signal E is obtained by multiplying the difference value Eo with a predetermined positive value R. That is, E=REo. New values of the error signal E are detected at intervals of the detecting period equal to the period of the sensed signal Aa. [A CONTROL SIGNAL PRODUCING BLOCK 6B] (6B-1) An output signal Y is obtaining by mixing the error signal E with a composite value V which is produced in a composing block 6Db in a memorizing block 6D, described later, at a ratio of 1:D, where D is a positive real at most equal to 1.5 and at least equal to 0.25. (6B-2) The output signal Y is outputted to the D/A converter 13C as the control signal Cs. [AN INITIAL POSITION DETECTING BLOCK 6C] (6C-1) The absolute value of the difference value, |Eo|, is compared with a predetermined positive value Ex. When |Eo|<Ex which means that the speed of the DC motor 11A is substantially equal to the aimed speed, the operation of the microprocessor 13A goes to the memorizing block 6D so that a control operation using the memorizing block 6D is executed. When |Eo|>Ex or |Eo|=Ex which means that the speed of the DC motor 11A is far from the aimed speed, the operation of the microprocessor 13A goes to (6C-2). (6C-2) The position signal Id from the position detector 13E is inputted and stored in a register. The value of the position signal Id is also named as Id. (6C-3) An operation of 'Ib=QUO(Id/Q)' is executed so that a second count variable Ib is replaced by the quotient of (Id/Q), where Q is an integer at least equal to 2 and preferably a divisor of Pa. In this case, Q=4. Another operation of 'Ia=REM(Id/Q)' is executed so that a first count variable Ia is replaced by the remainder of (Id/Q). The composite value V is replaced by 0. The values of registers F[m] (m=1,2,....,2Q) are replaced by 0. Then, the operation of the microprocessor 13A goes to an operation selecting block 6E. [A MEMORIZING BLOCK 6D] The memorizing block 6D comprises a selecting task block 6Da, the composing block 6Db, a filtered error signal producing block 6Dc and a renewing block 6Dd. 〈A SELECTING TASK BLOCK 6Da〉 (6Da-1) The error signal E at this timing is stored in a register F[Q-Ia]. That is, F[Q-Ia]=E. (6Da-2) The first count variable Ia is incremented with a modulo number Q. That is, 'Ia=Ia+1 (MOD Q)' means 'Ia=Ia+1 and Ia=0 if Ia=Q'. Thus, the first count variable Ia varies from 0 to Q-1 and increments the number in a circular form at every detecting timing of the speed detector 12B. (6Da-3) The first count variable Ia is compared with 0. When Ia=0, the operation of the microprocessor 13A goes to the composing block 6Db so as to execute the composing block 6Db, the filtered error signal producing block 6Dc, and the renewing block 6Dd. When Ia>0 or Ia<0, that is, Ia is from 1 to Q-1, the operation of the microprocessor 13A goes to the operation selecting block 6E. 〈A COMPOSING BLOCK 6Db〉 (6Db-1) The second count variable Ib is incremented with a modulo number NL, where L is an integer at least equal to 2 and substantially equal to Pa/Q or an integral multiple of Pa/Q (preferably L=Pa/Q) and N is an positive integer including 1. That, is 'Ib=Ib+1 (MOD NL)' means 'Ib=Ib+1 and Ib=0 if Ib=NL'. Thus, the second count variable Ib varies from 0 to NL-1 and increments the number in a circular form at every Q detecting timings of the speed detector 12B. In this case, L=Pa/Q=128. (6Db-2) Another integer J is replaced by Ib. That is, J=Ib. (6Db-3) The composite value V is computed by combining linearly a set of N memorized values M[J-nL (MOD NL)] (n=1,...,N) with positive coefficients Wn (n=1,...,N) from n=1 to n=N, where the N memorized values M[J-nL (MOD NL)] (n=1,...,N) have been renewed at intervals of L renewing cycle periods. That is, the composite value V is computed by Eqs.(1), (2), (3), and (4). 〈A FILTERED ERROR SIGNAL PRODUCING BLOCK 6Dc〉 (6Dc-1) A filtered error signal Ec is computed by combining linearly a plurality of values F[m] (m=1,2,....,Fd) which are values of the error signal E sequentially with respect to the timings obtained, where Fd is a positive integer at least equal to 2 and at most equal to 2Q. That is, where the coefficients Bm are positive and have the following relationships: B m =B Fd-m (m=1,2,...,Fd/2) (6) After the computation of the filtered error signal Ec, the values F[m] (m=1,2,...,Q) are transferred to the registers F[Q+m] (m=1,2,...,Q), respectively. Notice that the values F[m] (m=1,2,...,2Q) at the computing timing of the filtered signal Ec are those of the error signal E sequentially with respect to the timings obtained. Notice also that the filtered error signal producing block 6Dc with the relationships of Eq.(5) to Eq.(7) has a low-pass digital filter characteristics which has a gain substantially equal to 1 at a lower frequency region and a reduced gain much smaller than 1 at a higher frequency region. 〈A RENEWING BLOCK 6Dd〉 (6Dd-1) A memorized value M[Ib], stored at the address (the stored position) corresponding to the second count variable Ib in the RAM of the memory 13B, is renewed by a mixed value of the filtered error signal Ec and the composite value V at a ratio of 1:1. That is, M[Ib]=Ec+V. The renewed memorized value M[Ib] is held until the next renewing time of M[Ib], that is, the NL renewing cycles later. As the result of this, the NL memorized values M[0] to M[NL-1] are obtained, and the NL memorized values are sequentially and periodically renewed at intervals of the renewing cycle period equal to Q times the detecting period. After the execution of the task of the renewing block 6Dd, the operation of the microprocessor 13A goes to the operation selecting block 6E. [AN OPERATION SELECTING BLOCK 6E] (6E-1) The select signal Jc from the operation selector 13D is inputted and stored in a register. The value of the select signal Jc is also named as Jc. (6E-2) Jc is compared with a predetermined value Js. When Jc=Js which means that the control operation using the error signal producing block 6A, the control signal producing block 6B, the initial position detecting block 6C, and the memorizing block 6D is selected for controlling the speed of the DC motor 11A, the operation of the microprocessor 13A goes back to the error signal producing block 6A. When Jc>Js or Jc< Js which means that another control operation not using the memorizing block 6D is selected, the operation of the microprocessor 13A goes to (6E-3). (6E-3) The microprocessor 13A executes an operation corresponding to the selecting signal Jc. Then, the operation of the microprocessor 13A goes back to (6E-1) for reselecting the operation. The control system of the embodiment of the present invention, shown by the combination of FIG.1, FIG.2, FIG.3, and FIG.6, uses comparably a small size of RAM and has an excellent robustness to disturbances when the microprocessor 13A executes the control operation using the error signal producing block 6A, the control signal producing block 6B, and the memorizing block 6D. Further, the control system of the embodiment of the present invention by the combination of FIG.1, FIG.2, FIG.3, and FIG.6 has a quick response to get a steady state of the excellent robustness to disturbances by providing the position detector 13E and the initial position detecting block 6C. The reason for this is the same as that of the embodiment by the combination of FIG.1, FIG.2, FIG.3, and FIG.5 explained before except the number L being equal to Pa/Q or an integral multiple of Pa/Q. FIG.7 shows another schematic construction of an embodiment of the present invention. This construction is the same as that shown in FIG.1 except for a brushless motor 11D, a driver 11E, and a position detector 13F. The same parts as those in FIG.1 are denoted by the same reference numerals. The controlled system 11 has the brushless motor 11D to be controlled and the driver 11E supplying the brushless motor 11D with three phase currents Da, Db, and Dc. The brushless motor 11D is controlled so as to rotate the load 11C (a torque disturbance source) at an aimed speed. The brushless motor 11D has position sensors which produces three phase position sensor signals Ha, Hb, and Hc corresponding to the rotation of the brushless motor 11D. The driver 11E distributes the three phase currents Da, Db, and Dc according to the three phase position sensor signals Ha, Hb, and Hc. The magnitudes of the currents Da, Db, and Dc are proportional to the control signal Cs so as to generate a generated torque proportional to the control signal Cs. A winding voltage balancing circuit for brushless DC motor, shown in U.S. patent No. 4,494,053, is usable as the driver 11E for driving the brushless motor 11D. The position sensor signals Ha, Hb, and Hc have a frequency equal to Rg times the rotational frequency fm [Hz] of the brushless motor 11D, where Rg is an integer including 1 and much less than Pa. Rg is related to the number of the magnetic poles of the brushless motor 11D. In this case, Rg is equal to 4. The position sensors of the brushless motor 11D are arranged so that the phases of the position sensor signals Ha, Hb, and Hc are different from each other by 120 degrees. The position sensor signal Ha follows the position sensor signal Hb when the brushless motor 11D rotates clockwise, and proceeds the position sensor signal Hb when the brushless motor 11D rotates counterclockwise. The detecting block 12 has the sensor 12A and the speed detector 12B. The sensor 12A produces the sensed signal Aa which has a frequency equal to Pa times the rotational frequency fm [Hz] of the brushless motor 11D, where Pa is an integer at least equal to 2 and preferably equal to an integral multiple of Rg. In this case, Pa is equal to 512 which is 128 times Rg. The speed detector 12B obtains the detected signal Bb and the flag signal Fq at every one or half period (detecting period) of the sensed signal Aa. The detected signal Bb is a digital or coded signal with a digital number corresponding to the one or half period of the sensed signal Aa, that is, the speed of the brushless motor 11D. The flag signal Fq is set to be "H" ( a high voltage) at every timing when the speed detector 12B obtains a new detected code or value. The detail construction of the speed detector 12B is the same as that of FIG.2. The controlling block 13 has the microprocessor 13A, the memory 13B including RAM and ROM, the D/A converter 13C, the operation selector 13D, and the position detector 13F. The microprocessor 13A selects and executes control operations according to the select signal Jc from the operation selector 13D. The microprocessor 13A mainly inputs the detected signal Bb and supplies the driver 11E of the controlled system 11 with the control signal Cs according to the detected signal Bb. The position detector 13F detects the physical movement (the rotation) of the brushless motor 11D by using the position sensor signals Ha and Hb, and it produces a position signal Id which is a digital or coded signal with a digital number corresponding to the physical position (the rotational position) of the brushless motor 11D. The detail operation of the microprocessor 13A and the position detector 13F will be described later. Thus, a control loop (a speed control loop of the brushless motor 11D) can be formed by the controlled system 11 (the brushless motor 11D and the driver 11E), the detecting block 12 (the sensor 12A and the speed detector 12B) and the controlling block 13 (the microprocessor 13A, the memory 13B and the D/A converter 13C), so that the controlled variable of the controlled system 11 (the speed of the brushless motor 11D) is controlled at the aimed value (the aimed speed). The construction of the position detector shown in FIG.3 can be used as the position detector 13F, which will explained in detail hereinbelow. The position sensor signals Ha and Hb are applied to the shapers 41 and 42 as the input signals Ca and Cb, respectively. That is, Ca=Ha and Cb=Hb. The shaper 41 compares the position sensor signal Ha with a predetermined voltage and produces the shaped signal Fa. The shaper 42 compares the position sensor signal Hb with a predetermined voltage and produces the shaped signal Fb. Because the position sensor signals Ha and Hb have different phases by 120 degrees (1/3 period of the position sensor signal Ha), the shaped signals Fa and Fb also have the phase difference of 120 degrees. That is, the shaped signal Fa follows the shaped signal Fb when the brushless motor 11D rotates clockwise, and proceeds the shaped signal Fb when the brushless motor 11D rotates counterclockwise. The edge detector 44 produces the pulse signal Ed from the shaped signal Fa. Each of the pulses of the pulse signal Ed occurs at each of the timings of the rising and falling edges of the shaped signal Fa. Each pulse of the pulse signal Ed has a predetermined short width. The direction detector 43 inputs the shaped signals Fa and Fb and produces the direction signal Dr which indicates the rotational direction of the brushless motor 11D. The direction signal Dr is "H" when the brushless motor 11D rotates clockwise, and "L" when the brushless motor 11D rotates counterclockwise. The cyclic up-down counter 45 produces the position signal Id from the direction signal Dr and the pulse signal Ed. The cyclic up-down counter 45 counts up the pulses of the pulse signal Ed when the direction signal Dr is "H", and counts down the pulses of the pulse signal Ed when the direction signal Dr is "L". The content of the cyclic up-down counter 45 always corresponds to the rotational position of the brushless motor 11D. Since the cycle of the cyclic up-down counter 45 is 2Rg, double of Rg (Rg is the cycles/revolution of the position sensor signal Ha), the content of the cyclic up-down counter 45 except the LSB is outputted as the position signal Id of the position detector 13F. In this case, the cyclic up-down counter 45 is a 3 bit up-down counter which has 8 states, and the position signal Id is the upper 2 bits of the 3 bit up-down counter 45 except the LSB. Thus, the position signal Id indicates 4 positions per one revolution of the brushless motor 11D. FIG.8 shows another flow diagram of the operation of the microprocessor 13A in the controlling block 13, which represents another embodiment of the present invention by the combination of FIG.7, FIG.2, FIG.3, and FIG.8. The flow diagram of FIG.8 will be explained hereinbelow. [AN ERROR SIGNAL PRODUCING BLOCK 8A] (8A-1) The flag signal Fq is checked until it becomes "H". That is, the microprocessor 13A is triggered so as to execute the following procedure at the timing when the speed detector 12B obtains a new detected code corresponding to the current speed of the brushless motor 11D. (8A-2) The detected signal Bb, the held content of the counter 34, is inputted and changed to a digital or coded value S. Then, the contents of the counter 34 and the D-type flip-flop 35 are reset by making the reset signal Rr "H" for a very short time. (8A-3) A difference value Eo is computed between the detected value S and a predetermined value Sref corresponding to the aimed speed. That is, Eo=Sref-S. Then, an error signal E is obtained by multiplying the difference value Eo with a predetermined positive value R. That is, E=REo. New values of the error signal E are detected at intervals of the detecting period of time equal to the period of the sensed signal Aa. [A CONTROL SIGNAL PRODUCING BLOCK 8B] (8B-1) An output signal Y is obtaining by mixing the error signal E with a composite value V produced in a composing block 8Db in a memorizing block 8D, described later, at a ratio of 1:D, where D is a positive real at most equal to 1.5 and at least equal to 0.25. (8B-2) The output signal Y is outputted to the D/A converter 13C as the control signal Cs. [AN INITIAL POSITION DETECTING BLOCK 8C] The initial position detecting block 8C comprises an error checking block 8Ca and an initial position setting block 8Cb. 〈AN ERROR CHECKING BLOCK 8Ca〉 (8Ca-1) The absolute value of the difference value, |Eo|, is compared with a predetermined positive value Ex. When |Eo|<Ex which means that the speed of the brushless motor 11D is substantially equal to the aimed speed, the operation of the microprocessor 13A goes to the initial position setting block 8Cb so as to obtain the stored position of the memorized value corresponding to the rotational position of the brushless motor 11D before the control operation using the memorizing block 8D is executed. When |Eo|>Ex or |Eo|=Ex which means that the speed of the brushless motor 11D is far from the aimed speed, the operation of the microprocessor 13A goes to (8Ca-2). (8Ca-2) The position signal Id from the position detector 13F is inputted and stored in a register. The value of the position signal Id is also named as Id. (8Ca-3) A variable Io is replaced by Id, the composite value V is replaced by 0, and a variable Ga is replaced by 0. That is, Io=Id, V=0, and Ga=0. Then, the operation of the microprocessor 13A goes to an operation selecting block 8E. 〈AN INITIAL POSITION SETTING BLOCK 8Cb〉 (8Cb-1) The variable Ga is compared with 1. When Ga=1, the operation of the microprocessor 13A goes to the memorizing block 8D. When Ga<1 or Ga>1, the operation of the microprocessor 13A goes to (8Cb-2). (8Cb-2) The position signal Id from the position detector 13F is inputted and compared with the variable Io. When Id=Io which means that the present value Id of the position signal is the same as the old value Io, the operation of the microprocessor 13A goes to the operation selecting block 8E. When Id>Io or Id<Io which means the present value Id of the position signal is changed from the old value Io, the operation of the microprocessor 13A goes to (8Cb-3). (8Cb-3) A count variable I is replaced equal by AdId (I=AdId), where Ad is a positive integer substantially equal to Pa/Rg. In this case, Ad=Pa/Rg=128. A variable Ig is replaced by 'I+Ma (MOD NL)', where N and L will be explained later and Ma is an integer at least equal to 2. The variable Ig proceeds the count variable I by Ma. The variable Gb is replaced by 1 (Ga=1), and a variable Gb is replaced by 0 (Gb=0). Then, the operation of the microprocessor 13A goes to the operation selecting block 8E. [A MEMORIZING BLOCK 8D] The memorizing block 8D comprises a renewing block 8Da and the composing block 8Db. 〈A RENEWING BLOCK 8Da〉 (8Da-1) The count variable I is incremented with a modulo number NL, where L is an integer equal to Pa or an integral multiple of Pa (preferably L=Pa) and N is a positive integer including 1. That is, 'I=I+1 (MOD NL)' means 'I=I+1 and I=0 if I=NL'. Thus, the count variable I varies from 0 to NL-1 and increments the number in a circular form at every detecting timing of the speed detector 12B. In this case, L=Pa=512. (8Da-2) The variable Gb is compared with 1. When Gb=1, the operation of the microprocessor 13A goes to (8Da-3) so as to renew the memorized value stored at the address corresponding to the count variable I. When Gb<1 or Gb>1, the count variable I is compared with Ig. When I=Ig, the variable Gb is replaced by 1 (Gb=1). Then, the operation of the microprocessor 13A goes to the composing block 8Db. When I<Ig or I>Ig, the operation of the microprocessor 13A goes to the composing block 8Db. Notice that none of the memorized value is renewed when I<Ig and I=Ig. (8Da-3) A memorized value M[I], stored at the address (the stored position) corresponding to the count variable I in the RAM of the memory 13B, is renewed by a mixed value of the error signal E and the composite value V at a ratio of 1:1. That is, M[I]=E+V. The renewed memorized value M[I] is held until the next renewing time of M[I], that is, the NL renewing cycle periods later. As the result of this, the NL memorized values M[0] to M[NL-1] are obtained, and the NL memorized values are sequentially and periodically renewed at intervals of the renewing cycle period equal to the detecting period of the speed detector 12B. 〈THE COMPOSING BLOCK 8Db〉 (8Db-1) An operation of 'J=I+1 (MOD NL)' is executed to obtain an integer J proceeding the count variable I by 1. (8Db-2) The composite value V of the composing block 8Db is computed by combining linearly a set of N memorized values M[J-nL (MOD NL)] (n=1,...,N) with positive coefficients Wn (n=1,...,N) from n=1 to n=N, where the N memorized values M[J-nL (MOD NL)] (n=1,...,N) have been renewed at intervals of L renewing cycle periods. That is, the composite value V is computed by the Eqs. (1), (2), (3), and (4). [AN OPERATION SELECTING BLOCK 8E] (8E-1) The select signal Jc from the operation selector 13D is inputted and stored in a register. The value of the select signal Jc is also named as Jc. (8E-2) Jc is compared with a predetermined value Js. When Jc=Js which means that the control operation using the error signal producing block 8A, the control signal producing block 8B. the initial position detecting block 8C, and the memorizing block 8D is selected for controlling the speed of the brushless motor 11D, the operation of the microprocessor 13A goes back to the error signal producing block 8A. When Jc>Js or Jc< Js which means that another control operation not using the memorizing block 8D is selected, the operation of the microprocessor 13A goes to (8E-3). (8E-3) The microprocessor 13A executes an operation corresponding to the select signal Jc. Then, the operation of the microprocessor 13A goes back to (8E-1) for reselecting the operation. The control system of the embodiment of the present invention, shown by the combination of FIG.7, FIG.2, FIG.3, and FIG.8, has an excellent robustness to disturbances when the microprocessor 13A executes the control operation using the error signal producing block 8A, the control signal producing block 8B, and the memorizing block 8D. Further, the control system of the embodiment of the present invention has a quick response to get a steady state of the excellent robustness to disturbances by providing the position detector 13F and the initial position detecting block 8C, which is explained in detail hereinbelow. The position detector 13F always detects the physical movement (the rotation) of the brushless motor 11D and obtains the position signal Id, the value of which always corresponds to the physical position (the rotational position) of the brushless motor 11D. When the select signal Jc is changed to Js, the brushless motor 11D begins to rotate and accelerate the speed to the aimed speed. Since the absolute value of difference value |Eo| is larger than Ex during the starting or accelerating time, the error checking block 8Ca in the initial position detecting block 8C substitutes the variable Io with the position signal Id from the position detector 13F. When |Eo| becomes smaller than Ex, the initial position setting block 8Cb in the initial position detecting block 8C finds a rotational position where the position signal Id from the position detector 13F changes by comparing the position signal Id with the variable Io, and it replaces the count variable I with AdId corresponding to the new position signal Id. The count variable I indicates the address (the stored position) of the memorized value M[I] in the memorizing block 8D. Since the length of the L renewing cycle periods is equal to the one revolution period or an integral multiple of the one revolution period of the brushless motor 11D, the stored position of the memorized value corresponding to the rotational position of the brushless motor 11D is obtained promptly and correctly as soon as |Eo| becomes smaller than Ex. The memorizing block 8D can produce promptly and correctly the composite value V in the composing block 8Db by using the memorized value corresponding to the rotational position of the brushless motor 11D. The composite value V is used in the control signal producing block 8B so as to suppress the influence of the dominant torque disturbances generated by the brushless motor 11D and the load 11C. Thus, the control system of the embodiment of the present invention by the combination of FIG.7, FIG.2, FIG.3, and FIG.8 has a quick response to get a steady state of the excellent robustness to disturbances once the control operation using the memorizing block 8D is executed. Notice that since the count variable I is initially set with a value corresponding to the rotational position of the brushless motor 11D by finding the timing at which the position signal Id (the content of the cyclic up-down counter 45) changes, the initial position setting block 8Cb can set the correct or accurate value of the count variable I which corresponds to the rotational position of the brushless motor 11D, though the position detecting cycles/revolution of the position detector 13F, Rg, is much less than the speed detecting cycles/revolution of the speed detector 12B, Pa. The response of the control system of the embodiment of the present invention by the combination of FIG.7, FIG.2, FIG.3, and FIG.8 is further improved by using the composite value V corresponding to the memorized values before the renewing block 8Ca begins to renew the memorized values, which is explained in detail hereinbelow. The initial position setting block 8Cb obtains the variable Ig proceeding the count variable I by Ma when |Eo| becomes smaller than Ex. The composing block 8Db produces the composite value V from the memorized values, while the renewing block 8Da does not renew the memorized values and holds them until the count variable I becomes to proceed Ig by 1. Since the composite value V is used for producing the control signal Cs in the control signal producing block 8B, the fluctuation of the speed of the brushless motor 11D is reduced by the composite value V. Thus, the error signal E is already reduced before the renewing block 8Da begins to renew the memorized values. As the result of this, the control system of the embodiment of the present invention by the combination of FIG.7, FIG.2, FIG.3, and FIG.8 reaches to a steady state as soon as the renewing block 8Da begins to renew the memorized values. For comparing the responses, consider the control system that begins to renew the memorized values as soon as |Eo| becomes smaller than Ex, such as the control system of the embodiment of the present invention by the combination of FIG.1, FIG.2, FIG.3, and FIG.5. The error signal E is comparably large in a short time after |Eo| becomes smaller than Ex, because of the following reasons. The first reason is that Ex is large enough to cover the fluctuation of |Eo| in a steady state. The second reason is that a short response time is necessary for reducing the error signal E by using the composite value V corresponding to the memorized values. Since the memorized value stored at the address corresponding to the count variable I is renewed by a mixed value of the error signal E and one or more of the memorized values, the memorized values renewed in the short time after |Eo| becomes smaller than Ex have comparably large values, which are held until the next renewing timings, about the L renewing cycle periods later. The composing block 8Db produces a comparably large composite value V by using the comparably large memorized values at the L renewing cycle periods later. Since the control signal Cs contains the comparably large composite value V, the speed of the brushless motor 11D is disturbed by the comparably large composite value V, and the error signal E becomes somewhat large. In this manner, the influence of the large error signal E in the short time after |Eo| becomes smaller than Ex remains in the memorized values for a considerably long time, if the memorized values are renewed as soon as |Eo| becomes smaller than Ex. FIG. 9 shows another flow diagram of the operation of the microprocessor 13A in the controlling block 13, which represents another embodiment of the present invention by the combination of FIG.7, FIG.2, FIG.3, and FIG.9. The flow diagram of FIG.9 will be explained hereinbelow. [AN ERROR SIGNAL PRODUCING BLOCK 9A] (9A-1) The flag signal Fq is checked until it becomes "H". That is, the microprocessor 13A is triggered so as to execute the following procedure at the timing when the speed detector 12B obtains a new detected code corresponding to the current speed of the brushless motor 11D. (9A-2) The detected signal Bb, the held content of the counter 34, is inputted and changed to a digital or coded value S. Then, the contents of the counter 34 and the D-type flip-flop 35 are reset by making the reset signal Rr "H" for a very short time. (9A-3) A difference value Eo is computed between the detected value S and a predetermined value Sref corresponding to the aimed speed. That is, Eo=Sref-S. Then, an error signal E is obtained by multiplying the difference value Eo with a predetermined positive value R. That is, E=REo. New value of the error signal E is detected at intervals of the detecting period equal to the period of the sensed signal Aa. [A CONTROL SIGNAL PRODUCING BLOCK 9B] (9B-1) An output signal Y is obtained by mixing the error signal E with a composite value V produced in a composing block 9Db in a memorizing block 9D, described later, at a ratio of 1:D, where D is a positive real at most equal to 1.5 and at least equal to 0.25. (9B-2) The output signal Y is outputted to the D/A converter 13C as the control signal Cs. [AN INITIAL POSITION DETECTING BLOCK 9C] The initial position detecting block 9C comprises an error checking block 9Ca and an initial position setting block 9Cb. 〈AN ERROR CHECKING BLOCK 9Ca〉 (9Ca-1) The absolute value of the difference value, |Eo|, is compared with a predetermined positive value Ex. When |Eo|<Ex which means that the speed of the brushless motor 11D is substantially equal to the aimed speed, the operation of the microprocessor 13A goes to the initial position setting block 9Cb so as to obtain the stored position of the memorized value corresponding to the rotational position of the brushless motor 11D before the control operation using the memorizing block 9D is executed. When |Eo|>Ex or |Eo|=Ex which means that the speed of the brushless motor 11D is far from the aimed speed, the operation of the microprocessor 13A goes to (9Ca-2). (9Ca-2) The position signal Id of the position detector 13F is inputted and stored in a register. The value of the position signal Id is also named as Id. (9Ca-3) A variable Io is replaced by Id, the composite value V is replaced by 0, and a variable Ga is replaced by 0. That is, Io=Id, V=0, and Ga=0. Then the operation of the microprocessor 13A goes to an operation selecting block 9E. 〈AN INITIAL POSITION SETTING BLOCK 9Cb〉 (9Cb-1) The variable Ga is compared with 1. When Ga=1, the operation of the microprocessor 13A goes to the memorizing block 9D. When Ga<1 or Ga>1, the operation of the microprocessor 13A goes to (9Cb-2). (9Cb-2) The position signal Id of the position detector 13F is inputted and compared with the variable Io. When Id=Io which means that the present value Id of the position signal is the same as the old value Io, the operation of the microprocessor 13A goes to the operation selecting block 9E. When Id>Io or Id<Io which means the present value Id of the position signal is changed from the old value Io, the operation of the microprocessor 13A goes to (9Cb-3). (9Cb-3) A second count variable Ib is replaced by AgId (Ib=AgId), where Ag is a positive integer substantially equal to (Pa/Rg)/Q and Q is an integer at least equal to 2 and preferably a divisor of Pa/Rg. In this case, Q=4 and Ag=(Pa/Rg)/Q=32. A variable Ig is replaced by 'Ib+Ma (MOD NL)', where N and L will be explained later and Ma is an integer at least equal to 2. The variable Ig proceeds the second count variable Ib by Ma. A first count variable Ia is replaced by 0 (Ia=0). The variable Ga is replaced by 1 (Ga=1), and a variable Gb is replaced by 0 (Gb=0). Then, the operation of the microprocessor 13A goes to the operation selecting block 9E. [A MEMORIZING BLOCK 9D] The memorizing block 9D comprises a selecting task block 9Da, the composing block 9Db, a filtered error signal producing block 9Dc and a renewing block 9Dd. 〈A SELECTING TASK BLOCK 9Da〉 (9Da-1) The error signal E at this timing is stored in a register F[Q-Ia]. That is, F[Q-Ia]=E. (9Da-2) The first count variable Ia is incremented with a modulo number Q. That is, 'Ia=Ia+1 (MOD Q)' means 'Ia=Ia+1 and Ia=0 if Ia=Q'. Thus, the first count variable Ia varies from 0 to Q-1 and increments the number in a circular form at every detecting timing of the speed detector 12B. (9Da-3) The first count variable Ia is compared with 0. When Ia=0, the operation of the microprocessor 13A goes to the composing block 9Db so as to execute the composing block 9Db, the filtered error signal producing block 9Dc, and the renewing block 9Dd. When Ia>0 or Ia<0, that is, Ia is from 1 to Q-1, the operation of the microprocessor 13A goes to the operation selecting block 9E. 〈A COMPOSING BLOCK 9Db〉 (9Db-1) The second count variable Ib is incremented with a modulo number NL, where L is an integer at least equal to 2 and substantially equal to Pa/Q or an integral multiple of Pa/Q (preferably L=Pa/Q) and N is an positive integer including 1. That is, 'Ib=Ib+1 (MOD NL)' means 'Ib=Ib+1 and Ib=0 if Ib=NL'. Thus, the second count variable Ib varies from 0 to NL-1 and increments the number in a circular form at every Q detecting timings of the speed detector 12B. In this case, L=Pa/Q=128. (9Db-2) Another integer J is replaced by Ib. That is, J=Ib. (9Db-3) The composite value V is computed by combining linearly a set of N memorized values M[J-nL (MOD NL)] (n=1,...,N) with positive coefficients Wn (n=1,...,N) from n=1 to n=N, where the N memorized values M[J-nL (MOD NL)] (n=1,...,N) have been renewed at intervals of L renewing cycle periods. That is, the composite value V is computed by Eqs.(1), (2), (3), and (4). 〈A FILTERED ERROR SIGNAL PRODUCING BLOCK 9Dc〉 (9Dc-1) A filtered error signal Ec is computed by combining linearly a plurality of values F[m] (m=1,2,....,Fd) which are values of the error signal E sequentially with respect to the timings obtained, where Fd is a positive integer at least equal to 2 and at most equal to 2Q. That is, the filtered error signal Ec is computed by Eqs. (5), (6), and (7). After the computation of the filtered error signal Ec, the values F[m] (m=1,2,...,Q) are transferred to the registers F[Q+m] (m=1,2,...,Q), respectively. Notice that the values F[m] (m=1,2,...,2Q) at the computing timing of the filtered signal Ec are those of the error signal E sequentially with respect to the timings obtained. Notice also that the filtered error signal producing block 9Dc with the relationships of Eq.(5) to Eq.(7) has a low-pass digital filter characteristics which has a gain substantially equal to 1 at a relatively lower frequency including DC region and a reduced gain much smaller than 1 at a relatively higher frequency region. 〈A RENEWING BLOCK 9Dd〉 (9Db-1) The variable Gb is compared with 1. When Gb=1, the operation of the microprocessor 13A goes to (9Dd-2) so as to renew the memorized value stored at the address corresponding to the second count variable Ib. When Gb<1 or Gb>1, the second count variable Ib is compared with Ig. When Ib=Ig, the variable Gb is replaced by 1 (Gb=1). Then, the operation of the microprocessor 13A goes to the operation selecting block 9E. When Ib<Ig or Ib>Ig, the operation of the microprocessor 13A goes to the operation selecting block 9E. Notice that none of the memorized values is renewed when Ib<Ig and Ib=Ig. (9Db-2) A memorized value M[Ib], stored at the address (the stored position) corresponding to the second count variable Ib in the RAM of the memory 13B, is renewed by a mixed value of the filtered error signal Ec and the composite value V at a ratio of 1:1. That is, M[Ib]=Ec+V. The renewed memorized value M[Ib] is held until the next renewing time of M[Ib], that is, the NL renewing cycle periods later. As the result of this, the NL memorized values M[0] to M[NL-1] are obtained, and the NL memorized values are sequentially and periodically renewed at intervals of the renewing cycle period equal to Q times the detecting period. After the execution of the task of the renewing block 9Dd, the operation of the microprocessor 13A goes to the operation selecting block 9E. [AN OPERATION SELECTING BLOCK 9E] (9E-1) The select signal Jc from the operation selector 13D is inputted and stored in a register. The value of the select signal Jc is also named as Jc. (9E-2) Jc is compared with a predetermined value Js. When Jc=Js which means that the control operation using the error signal producing block 9A, the control signal producing block 9B, the initial position detecting block 9C, and the memorizing block 9D is selected for controlling the speed of the brushless motor 11D, the operation of the microprocessor 13A goes back to the error signal producing block 9A. When Jc>Js or Jc< Js which means that another control operation not using the memorizing block 9D is selected, the operation of the microprocessor 13A goes to (9E-3). (9E-3) The microprocessor 13A executes an operation corresponding to the select signal Jc. After the execution, the operation of the microprocessor 13A goes back to (9E-1) for reselecting the operation. The control system of the embodiment of the present invention shown by the combination of FIG.7, FIG.2, FIG.3, and FIG.9 uses comparably a small size of RAM and has an excellent robustness to disturbances when the microprocessor 13A executes the control operation using the error signal producing block 9A, the control signal producing block 9B, and the memorizing block 9D. Further, the control system of the embodiment of the present invention has a quick response to get a steady state of the excellent robustness to disturbances by providing the position detector 13F and the initial position detecting block 9C, which is explained in detail hereinbelow. The position detector 13F always detects the physical movement (the rotation) of the brushless motor 11D and obtains the position signal Id, the value of which always corresponds to the physical position (the rotational position) of the brushless motor 11D. When the selecting signal Jc is changed to Js, the brushless motor 11D begins to rotate and accelerate the speed to the aimed speed. Since the absolute value of the difference value |Eo| is larger than Ex during the starting or accelerating time, the error checking block 9Ca in the initial position detecting block 9C substitutes the variable Io with the position signal Id from the position detector 13F. When |Eo| becomes smaller than Ex. the initial position setting block 9Cb in the initial position detecting block 9C finds a rotational position where the position signal Id from the position detector 13F changes by comparing the position signal Id with the variable Io, and it replaces the count variables Ia with Ib with 0 and AgId corresponding to the new position signal Id, respectively. The second count variable Ib indicates the address (the stored position) of the memorized value M[Ib] in the memorizing block 9D. Since the length of the L renewing cycle periods is equal to the one revolution period or an integral multiple of the one revolution period of the brushless motor 11D, the stored position of the memorized value corresponding to the rotational position of the brushless motor 11D is obtained promptly and correctly as soon as |Eo| becomes smaller than Ex. The memorizing block 9D can produce promptly and correctly the composite value V in the composing block 9Db by using the memorized value corresponding to the rotational position of the brushless motor 11D. The composite value V is used in the control signal producing block 9B so as to suppress the influence of the dominant torque disturbances generated by the brushless motor 11D and the load 11C. Thus, the control system of the embodiment of the present invention by the combination of FIG.7, FIG.2, FIG.3, and FIG.9 has a quick response to get a steady state of the excellent robustness to disturbances once the control operation using the memorizing block 9D is executed. Notice that since the count variables Ia and Ib are initially set with values corresponding to the rotational position of the brushless motor 11D by finding the timing at which the position signal Id (the content of the cyclic up-down counter 45) changes, the initial position setting block 9Cb can set the correct or accurate values of the count variables Ia and Ib which correspond to the rotational position of the brushless motor 11D, though the position detecting cycles/revolution of the position detector 13F, Rg, is much less than the speed detecting cycles/revolution of the speed detector 12B, Pa. The response of the control system of the embodiment of the present invention by the combination of FIG.7, FIG.2, FIG.3, and FIG.9 is further improved by using the composite value V corresponding to the memorized values before the renewing block 9Dd begins to renew the memorized values, which will be explained in detail hereinbelow. The initial position setting block 9Cb obtains the variable Ig proceeding the second count variable Ib by Ma when |Eo| becomes smaller than Ex. The composing block 9Db produces the composite value V from the memorized values, while the renewing block 9Dd does not renew the memorized values but holds them until the second count variable Ib becomes to proceed Ig by 1. Since the composite value V is used for producing the control signal Cs in the control signal producing block 9B, the fluctuation of the speed of the brushless motor 11D is reduced by the composite value V. Thus, the error signal E and the filtered error signal Ec are already reduced before the renewing block 9Dd begins to renew the memorized values. As the result of this, the control system of the embodiment of the present invention by the combination of FIG.7, FIG.2, FIG.3, and FIG.9 reaches to a steady state as soon as the renewing block 9Dd begins to renew the memorized values. Notice that the values in the registers F[m] (m=1,2,...,2Q) for computing the filtered error signal Ec can be prepared before the renewing block 9Dd begins to renew the memorized values. For comparing the responses, consider the control system that begins to renew the memorized values as soon as |Eo| becomes smaller than Ex, such as the control system of the embodiment of the present invention by the combination of FIG.1, FIG. 2, FIG.3, and FIG.6. The error signal E is comparably large in a short time after |Eo| becomes smaller than Ex, because of the following reasons. The first reason is that Ex is large enough to cover the fluctuation of |Eo| in a steady state. The second reason is that a short response time is necessary for reducing the error signal E by using the composite value V corresponding to the memorized values. The values in the registers F[m] (m=1,2,...,2Q) for computing the filtered error signal Ec are not prepared before the renewing block begins to renew the memorized values. Since the memorized value stored at the address corresponding to the second count variable Ib is renewed by a mixed value of the filtered error signal Ec and one or more of the memorized values, the memorized values renewed in the short time after |Eo| becomes smaller than Ex have comparably large values or irregular values, which are held until the next renewing timings, about the L renewing cycle periods later. The composing block 9Db produces a comparably large composite value V by using the comparably large memorized values at the L renewing cycle periods later. Since the control signal Cs contains the comparably large composite value V, the speed of the brushless motor 11D is disturbed by the comparably large composite value V, and the error signal E becomes somewhat large. In this manner, the influence of the large error signal E in the short time after |Eo| becomes smaller than Ex remains in the memorized values for a considerably long time, if the memorized values are renewed as soon as |Eo| becomes smaller than Ex. Specific embodiments of the present invention have been described hereinabove with reference to the accompanying drawings. Besides, the error signal can be a signal composed with a speed error and a phase error of a motor so as to control not only the speed but also the phase of the motor, when the control system for a motor has a phase detector as well as a speed detector.

Claims: A control system (11,12,13) comprising: a detecting means (12) producing a detected signal value (Bb) corresponding to a controlled variable of a controlled system produced by the revolution of a rotating actuator (11A; 11D); said control system characterised in that it further comprises: an error signal producing means (5A-3; 6A-3; 8A-3; 9A-3) producing an error signal (Eo) on the basis of the detected signal value (Bb) at intervals of time proportional to the period of rotation of the actuator; a memorising means (5D; 6D; 8D; 9D) for storing a plurality of memorised values (M[I]; M[Ib] sequentially memorised at intervals of time proportional to the period of rotation of the actuator and for renewing each of the plurality of memorised values sequentially at intervals proportional to N.L times the period of rotation of the actuator by a first combined value (E+V) which is obtained by combining a value (E) proportional to the present error signal (Eo) or a value (Ec) derived from a linear combination of successive precedent values of the error signal (Eo) with a value V comprising a set of N previously memorised values (M[I]; M[Ib]) each spaced by intervals of time proportional to L times the period of rotation of the actuator where N is an integer including 1, and L is an integer at least equal to 2, L being equal to or multiple of the number of periods (Pa) of the detecting means signal per revolution of the rotational actuator (11A; 11D); a control signal producing means (5B-1; 6B-1; 8B-1; 9B-1) for producing a control signal (Y) on the basis of a second combined value (E + D.V) which is obtained by combining a value (E) proportional to the present error signal (Eo) with the previously calculated value V comprising a set of N of previously memorised values (M[I]; M[Ib] each spaced by intervals of time proportional to L times the period of rotation of the actuator and supplying said control signal (Y) so as to control the controlled variable of said controlled system; an operation selecting means (5C; 6C; 8C; 9C) for selecting on the basis of the value of said error signal (Eo) either a control operation using said memorising means (5D;6D;8D;9D) or another control operation (5C;6C;8C;9C) not using said memorising means, and a position detecting means (13E) for detecting a physical movement position of said controlled system and for obtaining the position in the memorising means of the stored memorised value (M[I]; M[Ib]) corresponding to the physical position (Id) of said controlled system so as to initialise the memorising means when said operation selecting means (5C;6C;8C;9C) selects the control operation using said memorising means. A control system as claimed in claim 1, further comprising an operation selecting means (5E;6E;8E;9E) for selecting on the basis of the value of a select signal (Jc) either said control system operation (5A,B,C,D,E; 6A,B,C,D,E; 8A,B,C,D,E; 9A,B,C,D,E) or another operation (5E-3; 6E-3; 8E-3; 9E-3) not using said control system operation. A control system as claimed in claim 1 or 2, wherein said controlled system includes a rotating motor (11A), and said position detecting means detects a rotational position of said motor. A control system as claimed in claim 1,2 or 3, wherein said position detecting means includes a cyclic up-down counter (45) which counts up or down according to the rotation direction of said motor, and the content of said cyclic up-down counter corresponds to the rotational position of said motor. A control system as claimed in claim 4, wherein said position detecting means (13E) detects the position of the memorised value corresponding to the rotational position of said motor by finding a timing at which the content of said cyclic up-down counter changes. A control system as claimed in claim 3,4 or 5, wherein said motor is a brushless motor having multiphase position sensors, and said position detecting means detects a rotational position of said brushless motor by using output signals of said position sensors. A control system as claimed in claim 6 in which the value V is only used in the calculation of the control signal (Y) when the error signal (Eo) is smaller than a predetermined value (Ex), and the commencement of the periodical renewal of the memorised values (M[I]; M[Ib]) is delayed with respect to the determination that the error signal is below the predetermined value. A control system as claimed in any preceding claim, wherein said memorising means (5D; 6D; 8D; 9D) includes: a composing means (5Db; 6Db; 8Db; 9Db) for producing one or more of said values V each being at least a linear combination of the set of memorised values (M[I]; M[Ib]); and a renewing means (5Da; 6Dd; 8Da; 9Dd) for renewing the memorised values by the first combined value (E + V; Ec + V). A control system as claimed in claim 8, wherein said composing means (5Db; 6Db; 8Db; 9Db) computes periodically at least one linear combination of a set of N memorised values having been renewed at said intervals with coefficients having a same sign, where N is an integer at least equal to 2. A control system as claimed in any preceding claim, wherein the renewing cycle period of said memorising means is equal to Q times the detecting period of said error signal producing means, where Q is an integer at least equal to 2. A control system as claimed in claim 10, wherein said memorising means includes: a filtered error signal producing means (6Dc; 9Dc) for filtering the error signals according to a low-pass filter characteristic whereby to produce filtered error signals; and wherein said filtered error signals are used in the renewal of the memorised values (M[I]; M[Ib]). A control system as claimed in claim 11, wherein said filtered error signal producing means derives the filtered error signals from a linear combination of successive values of the error signal (Eo).

Inventors: GOTOU MAKOTO, UEDA EIJI, GOTOU, MAKOTO, UEDA, EIJI
Applicants: MATSUSHITA ELECTRIC IND CO LTD, MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.
Application year: 1988
Main classification: H02P7
IPC codes: H02P6, H02P23