Synchronous driving of the phase windings of a DC motor according to predefined digitized driving profiles permanently stored, the reading of which is synchronized with the rotor position for optimizing torque characteristics

Abstract: Synchronization of the phase switchings in driving a brushless motor with predefined excitation current profiles of substantially nonconstant value, is improved by continuously correcting the rotor position information detected by zero-cross detecting circuits with an updatable delay value. A switching delay counter (PDD) is started by the raw zero-cross pulse (FZC) to determine the generation of a corrected synchronization pulse (RZC). The delay counter is downloaded with a constantly updated value by monitoring the correction signal (SPEEDCONTROL) produced by a speed control loop (PLL) and by incrementing or decrementing the downloaded value in said counter to minimize said correction signal.

Description: The present invention relates to techniques for driving an electronically switched DC motor, commonly referred to as "brushless". Electronically switched DC motors are used in innumerable control and regulation applications adjustment and also as mass memory drive systems in the case of rotating supports such as hard disks, floppy disks, optical disks, CD-ROMs as well as in case of linear supports such as tape streamers and the like. Commonly these motors are polyphase motors in a "star" configuration. Quite common is the case of a motor having three phase windings connected in a star configuration and defining six different switching phases and a P number of poles. In this case, there will be a number 3*P of equilibrium points in a complete revolution of the rotor. In the present text, each excitation phase will be indicated according to a standard rotation by two capital letters. The first capital letter (for example, A, B or C) defines the winding through which the current conventionally flows from the respective supply terminal towards the star center (CT) and the second capital letter, preceded by the sign (!), designates the winding through which the current, conventionally coming from the star center (CT), flows toward the supply terminal of the relative winding. A scheme of excitation for the six phases A!B, A!C, B!C, B!A, C!A, C!B, refeared to the case of a three winding motor is shown in Fig. 1. These brushless motors are commonly driven using an integrated circuit whose output stage is represented by a polyphase full-wave bridge circuit, which in the case of a three-phase motor may employ six bipolar (BJT) or field effect transistors (MOS) power transistors. Commonly to the motor current is linearly controlled through a transconductance loop, as shown in Fig. 2, in the case of a control in a current mode. Of course it is also possible to drive the motor in a voltage mode. During a certain switching phase of the motor, the "sourcing" power transistor is forced into full conduction (that is to saturation in case of an MOS device) whereas the "sinking" power transistor operates as an element of transconductance, according to the scheme of Fig. 2, which refers to the use of MOS type power devices. With reference to Fig. 2, the motor current may be expressed as follows: Im otor = Vref Gv * Rs where Vref is the control voltage that may be supplied by a motor's speed control phase-locked loop (PLL) that regulates the speed of the motor. Gv is the voltage gain of the sensing amplifier while Rs is the current sensing resistor. In the prior art, the voltage Vref is regulated at a certain level by the control loop in order to regulate the current absorbed by the motor in maintaining a certain speed. Of course, the control loop acts on the Vref value by varying its instantaneous value about a certain mean value to compensate for instantaneous load-torque variations. For this reason, during each excitation phase, the motor current is regulated to a certain level, substantially to a constant level (± Imotor) as shown in the diagram of Fig. 3. As it can be noticed on Fig. 3, at any instant, one of the three phase windings of the motor is not excited. The switching to a next phase in the sequence, for instance from phase A!B to phase B!C, must be synchronized with the rotor position to obtain the maximum possible torque at the motor shaft. According to the prior art, this synchronization can be assured by employing appropriate sensors of the rotor position, such as for example, Hall effect sensors. As an alternative, which has become a common practice, the same result is obtained by detecting and processing back electromotive force (BEMF) signals, developing on the motor phase windings, due to the rotor rotation. The processing essentially consists in detecting the crossing of a predetermined level (zero crossing) by the BEMF signal which has a typically periodical waveform, relevant to the phase winding, that is momentarily not excited by a driving current, according to a detection diagram as shown in Fig. 4, for the A!B excitation phase. These systems, described in number of documents, generate a pulse at each zero crossing, that is used by the driving system to actuate a new phase switching. The case of a three phase winding, star-connected motor, defining six distinct switching phases for a complete revolution of the rotor, is shown in Fig. 5. The monitoring circuits of the respective BEMFS in the three windings of the motor and the relative circuitry recognition and processing of the zero crossing events, produces the logic pulse RZC, which is set at each zero crossing and reset following its assertion by the synchronization logic circuitry. In the example considered, it may be noticed that to obtain the maximum available torque, the next phase must be excited theoretically after 30 electrical degrees from the zero cross instance (set of RZC). Being the zero cross signal strictly correlated to the motor rotor position and being this relation time invariant, the delay between the instance of a zero cross and the optimum instant at which the new phase of motor driving should be switched, is time invariant as well. Therefore once defined, every phase is excited with this identical delay from the zero cross instant. EP-A-0 316 077 discloses a driving system for a sensorless DC motor with which the rotor position is detected by sensing the BEMF induced in the windings. A fixed delay of a certain number of electrical degrees is introduced before switching the subsequent phase. A dedicated circuit maintains fixed such a delay in electrical degrees upon the varying of the speed of the motor. The switching noise that is produced with the phase switchings is masked such not to interfere with the detection of zero cross events. EP-A-0 324 396 describes a driving system for a brushless DC motor wherein the phase switchings are synchronized on the base of an information on the rotor position derived from a generic position sensor. On the other hand, according to an advanced driving technique, it is foreseen to be forcing excitation currents in the motor windings, not of a substantially constant level, but with a certain profile, that can be digitalized and stored in digital form in a non volatile static memory, such as for instance an EPROM or EEPROM memory. The predefined profile can be grossly sinusoidal or generally resulting from a Fourier summation of harmonics of a fundamental frequency. Therefore, according to this new technique, which enable to optimize the motor torque characteristics, the current forced in the motor windings is not constant during each excitation phase, but it has a cyclic or alternate waveform. According to this technique, the complete current profile, having of course cyclic or alternate waveform, is stored in a number of sequences, as many as the number of switching phases, each sequence consisting of a number N of samples. Each sequence which according to that technique, substitutes the constant level of phase driving, is converted into an analog signal by a digital/analog converter which drives the output power stage, for instance a transconductance feedback stage of the type, as the one shown in Fig. 2. In practice, the converted profile provides the driving Vref signal to the respective power stage. Naturally, even according to this technique it is necessary to assure a perfect synchronization of phase switching with the rotor position, so that following each assertion of the RZC signal, a new sequence of N digital samples is read and converted, the value of each simple being stored as a digital datum (word) composed of a number n of bits. The fact that at each switching phase the level of the currents or of the current forced in the relevant motor phase windings is not constant but varies in intensity following the profile defined by the respective sequence of samples, causes in practice that there will not longer instants at which a certain phase winding of the motor be not excited (crossed by a current) and therefore such to enable an easy discrimination of the zero-cross event by part of the back electromotive force signal BMF induced on such momentarily non excited winding. This is due to the fact that, since the excitation current is no longer constant, the voltage detected at the ends of each motor phase winding is the sum of distinct contributions or terms, given by the following expression: Vd = L*dl/dt è R*I + BEMF where L is the winding inductance, R the resistance and I the instantaneous value of the current. Assuming that the profile of the current this is forced in the motor windings be sinusoidal or consisting of a Fourier series of harmonics of a base frequency, it is easy to check that the maximum torque is produced when the current (or the fundamental harmonic of the series) is perfectly in phase with the BEMF induced on the same winding. However, as already said, the signal Vd that is detected across a winding, due to the term L*dl/dt will be anticipated in respect of the BEMF term. This peculiaring of operation may be recognized in the diagrams of Fig. 6. Therefore, the zero-cross event, detected on the Vd signal as detected at the ends of each phase winding of the motor, occurs in advance if compared to the actual BEMF signal. The detection of a zero crossing event in the Vd signal produces in practice a "false" zero-cross pulse FZC, that anticipates the instant of really correct synchronization, identified in the diagrams as RZC (Real Zero Crosses). To ensure a perfect synchronization, it is necessary to assert the signal RZC, reflecting the actual rotor position, but the pure BEMF component of the monitored signal Vd cannot be directly read or discriminated, and this represents a problem. Therefore, a main objective of the present invention is that of providing a method and a system for reconstructing a correct synchronization information, that is to generate a synchronization pulse RZC, starting from a false synchronization information in the form of a FZC pulse, so to use the reconstructed RZC signal to synchronize the motor phase switching. Basically, the method of the invention consists in detecting zero-cross events of the monitored voltage Vd insisting on each phase winding, producing a logic pulse FZC of pseudo or false zero-cross at each zero-cross event; starting upon the assertion of said pulse FZC a switching delay timer that may be pre-loaded with a certain default value; monitoring the eventual increase or decrease of the driving current or voltage through the respective winding, produced by the rotation speed regulation loop of the motor (Vref in Fig. 2); increasing or decreasing accordingly said default delay value; updating the content of said timer to the minimum value that maintains the speed constant and checked, meaning by that, the minimum regulation voltage in case of a linear control or minimum digital value or duty-cycle value in case of a digital driving signal; generating a true or real zero-cross RZC pulse after a delay equivalent to the last updated value contained in said timer after each assertion of the FZC signal and employing this RZC signal to command the switching phase of the excitation. The different aspects and advantages of the invention will became clearer through the following description of some important embodiments and by making reference to the attached drawings, wherein: Figure 1 shows in a schematic manner the meaning of the phase notations used in this context; Figure 2 is a functional diagram of a transconductance control loop of the output current, according to a known technique, as already described; Figure 3 shows waveforms of the current through three phase windings, according to a known technique; Figure 4 shows the monitoring circuit of the BEMF signal on the phase winding of the motor, which is not excited in that phase; Figure 5 shows the relation existing between the characteristics of torque produced by motor with phase commutation synchronism; Figure 6 shows how the signal Vd detected on a phase winding of the motor anticipates the BEMF signal when driving the different phases with essentially non constant currents; Figure 7 is a functional block diagram of the system of the invention for generating a correct synchronization signal; Figures 8A and 8B show the characteristic of torque produced by the motor in a case of a phase switching perfectly synchronized with the rotor position or when the switching takes place out of synchronism; Figure 9 is the flow-chart of operation of the block DO. The system of the invention permits to generate a pulse representing a real zero-cross event by the BEMF signal induced in a phase winding of the motor starting from a zero-cross signal obtained by monitoring the Vd voltage monitored at the ends of the phase winding. The invention is effective when the power devices of the output stages that drive the phase windings of the motor work in a linear fashion (push-pull) as well as when these power devices work in the so-called PWM mode (Pulse Width Modulation). In this last case, it is necessary to adopt one of the known techniques to eliminate (filter) the PWM commutation noise. One of these techniques is the one that switches to linear working mode, a defined time before a new zero-cross event is detected and switches back to a PWM operation mode after the zero-cross event has been detected. The European Patent No. EP-0 429 412-B1 describes an alternative technique of digital filtering of the commutation noise. A fundamental requirement for the operation of the invented system is that the speed control loop be enabled. We will see later how the system works when the speed control loop is not in a locked condition, like during start-up of the motor. The block diagram of a system implemented according to the invention is shown in Fig. 7. The block MOTOR DRIVER indicates as a whole the driving circuits suitable to supply through the outputs OUT-A, OUT-B, and OUT-C, driving currents to the respective phase windings of the motor, according to a predefined profile, that is currents which generally do not have a constant value during each phase of commutation. The block FZCD (False Zero Cross Detector) represents any suitable circuit of monitoring, processing and detection of zero-cross events of the voltage present at the ends of the respective phase winding of the motor. In practice, this block FZCD satisfactorily be any known circuit, such as for instance a circuit as the one described in the European Patent no. EP-0 544 628-B1, or any other known circuit, equivalent thereto from a functional viewpoint. When a zero-cross instance occurs on whichever phase winding, as the windings are being cyclically selected by the same circuit, the logic signal FZC (False Zero Cross) is set. The setting of FZC signal is used to trigger the one shot counter PDD (Programmable Digital Delay) that starts counting clocked by the system's clock FSYSCLOCK. At the end of the count, the PDD counter generates (sets) the logic signal RZC which represents a so corrected zero-cross signal used to synchronize phase switching, that is to start the scanning of a new sequence of digital samples of the pre-loaded driving profile. The PDD block is down loaded through the parallel n-bit port LOADDATA, by the block ND (New Delay) containing the optimum delay value to be loaded in the PDD block (in practice the optimized delay between FZC and RZC signals such to enable a perfectly synchronized phase switching and therefore obtain the maximum torque at the motor's shaft). The ND block may consist in an "up/down" counter, whose content corresponds to the optimum delay value as updated by the system. At power up, this counter ND is loaded with a digital value contained in the n-bit DD register, which represents a default delay value stored in the DD register during system calibration. This default delay value is used as the phase switching delay during the start up routine of the motor and more generally during the periods when the motor speed control loop is not locked (that is not enabled). The DO (Delay Optimizer) block represents the core of the invented system. The description of its operation will be more easily understood by making some preliminary considerations. To maintain a programmed rotation speed Ωm, the motor needs to generate a given torque Tm. The generated torque Tm is a function of the excitation current Im according to the following equation: Tm = Km*lm where Km is the motor constant. If motor current profiles are synchronized at best, the flattest torque curve of the rotor position will be obtained, thus overall current absorption will be reduced. Fig. 8A shows this condition of operation in the already considered case of driving the distinct excitation phases with substantially constant currents but a similar behaviour may be observed also when excitation currents during each phase are not constant (or almost constant in view of the control exerted by the transconductance loop when operating in a current control mode), but follow a certain predefined profile (for instance, a sinusoidal profile). In both the cases, this worsening of the torque characteristics happens when phase switching is not well synchronized with the rotor position as shown in Fig. 8B. As it can be noticed in this case the torque characteristic presents an accentuated ripple, resulting in decrease of the average torque available at the motor's shaft and therefore in a proportional increase of current absorption as commanded by the speed control loop. In fact, to compensate this reduction of the torque at motor shaft, the current Im must increase in order to maintain the preestablished rotation speed. In these cases, the speed control loop PLL is enabled. The SPEEDCONTROL signal, generated by the speed control loop PLL increases its level if it is an analog signal or its duty-cycle if it is a digital signal, or its digital value if the signal is digitized on n bits. According to the system of the invention this control signal SPEEDCONTROL produces an increase or a decrease of the content of the ND counter such to reduce the SPEEDCONTROL signal to a minimum value for attaining the selected rotation speed. This function is performed by the block DO, by decrementing or incrementing (updating) the content of the ND counter, which in turn loads the DD register. Of course, at least at the beginning, a delay calibration has to be made in order to program the DD register whose content is used as default delay when the motor is operated in an open loop made of speed control. Calibration routines may be programmably performed at each system power-up or even at set intervals during operation in order to compensate possible variations of the governing parameter. The calibration strategy can be decided by the user. Fig. 9 shows the flow chart of the operation of the DO block. Of course, the block DO may be circuitally structured in any suitable way to provide for the functions described in the flow chart of Fig. 9. Should the SPEEDCONTROL signal be of the analog type, it will be digitized by an appropriate ADC in a n-bit datum. In the comparison between the (digital) signal SPEEDCONTROL with the REGMIN value contained in an appropriate internal register of the block DO, the latter may considers only n-1 or n-2 MSB; this to avoid false comparison results which could occur due to small corrections to the SPEEDCONTROL signal by the speed control loop.

Claims: A method of synchronously driving the phase windings of a brushless motor according to predefined digitized driving current or voltage profiles (OUT-A, OUT-B, OUT-C) having an essentially non constant level during each excitation phase, including monitoring back electromotive force (BEMF) signals induced on the phase windings of the motor and detecting the sequence of zero crossing events of said monitored signals producing a pulse (FZC) at each detected zero-cross event of a voltage V D , characterized in that it includes loading at power-up a certain default value stored in a memory buffer (ND) in a switching delay counter (PDD); starting by said pulse (FZC) said switching delay counter (PDD), loaded at power-up with said default value; monitoring a correction signal (SPEEDCONTROL) of the excitation current or voltage level of the relative phase winding of the motor generated by a speed control loop (PLL) and incrementing or decrementing accordingly said default delay value in an updatable storing buffer (ND) such to minimize the value of said correction signal (SPEEDCONTROL), in maintaining said speed under control; switching the excitation phases upon the lapsing of the value contained in said switching delay counter (PDD).

Inventors: MAIOCCHI GIUSEPPE, MAIOCCHI, GIUSEPPE
Applicants: ST MICROELECTRONICS SRL, STMICROELECTRONICS S.R.L.
Application year: 1996
Main classification: H02P6
IPC codes: H02P6