Electronically commutated motor
Granted 10 Dec 2013 · 1 office action
Assignee: Ebm-Papst Mulfingen Gmbh & Co. KG
Law firm: Law firm · Log in to unlock
Attorney: Attorney · Log in to unlock
Inventors: Arno Karwath, Gerald Hogg · Examiner: Erick Glass · AU 2837 · TC 2800
Life of the application
8 dated eventsAbstract
The invention relates to a method for operating an electronically commutated motor ( 10 ) that comprises a rotor ( 12 ), a stator ( 14 ) having a multi-strand winding arrangement ( 16 ) for whose energization a power stage ( 18 ) is provided, a first lead ( 30 ) and a second lead ( 32 ) for connecting the power stage ( 18 ) to a voltage source ( 24 ), and a first controller. A first signal (U — 34 ; U — 38 ) is sensed, which signal characterizes a current (I_IN; I_IN′; I_M; I_M′) flowing through at least one of the leads ( 30; 32 ); the first controller generates at least one clocked signal (PWM) and outputs it to the power stage ( 18 ) in order to influence the first value, permitted current. The invention also relates to a corresponding motor ( 10 ).
Description
16 parts›CROSS-REFERENCE TO RELATED APPLICATIONS
The present application is a section 371 of PCT/EP08/09797, filed 20 Nov. 2008, which in turn claims priority from our German application DE 10 2007 063 259.4, filed 18 Dec. 2007, the entire content of which is hereby incorporated by reference.
›FIELD OF THE INVENTION
The invention relates to an electronically commutated motor, in particular for driving a fan.
›BACKGROUND
In the telecommunications sector in particular, the line-conducted emissions emitted from a fan can result in disruptions that are perceptible, for example, as troublesome noise during telephone calls. The telecommunications sector therefore requires fans having a low level of low-frequency line-conducted emissions. This is advantageous for standard motors as well.
›SUMMARY OF THE INVENTION
An object is therefore to make available a novel low-emission electronically commutated motor (ECM).
This object is achieved by a method which employs several controllers to smooth fluctuations in motor current by adjustment of the duty ratio of a Pulse Width Modulation (PWM) driving signal for the power stage. Such a method and an electric motor of this kind decrease fluctuations in the average current consumed by the power stage. This also has a positive effect on the line-conducted emissions. Fewer current peaks occur because of the current controller, and as a result the power supply section can be better utilized by the customer.
›BRIEF FIGURE DESCRIPTION
Further details and advantageous refinements of the invention are evident from the exemplifying embodiments, in no way to be understood as a limitation of the invention, that are described below and depicted in the drawings, in which:
FIG. 1 schematically depicts an electronically commutated motor;
FIG. 2 is a current flow diagram for a six-step commutation in the forward direction;
FIG. 3 is a current flow diagram for a twelve-step commutation in the forward direction;
FIG. 4 depicts the current flowing through the winding arrangement and the power stage;
FIG. 5 is a current flow diagram for a twelve-step commutation in the reverse direction;
FIG. 6 is a measurement diagram for the current at a current measurement element;
FIG. 7 is an idealized depiction of the current from FIG. 6 ;
FIG. 8 is a controller diagram for a cascade controller;
FIG. 9 is a measurement diagram of the input current of a fan with input current average value control;
FIG. 10 is a measurement diagram of the line-conducted emissions for the fan of FIG. 9 ;
FIG. 11 is a measurement diagram of the input current of a fan without input current average value control;
FIG. 12 is a measurement diagram of the input current of a fan with input current average value control, at higher power;
FIG. 13 is a measurement diagram of the line-conducted emissions for the fan of FIG. 12 ;
FIG. 14 is a measurement diagram of the input current of a fan without input current average value control, at higher power;
FIG. 15 is a measurement diagram of the line-conducted emissions for the fan of FIG. 14 ;
FIG. 16 schematically depicts the routines executing in a microprocessor;
FIG. 17 shows a measurement arrangement for the induced voltage in the context of a sensorless commutation operation;
FIG. 18 depicts generation of a Pulse Width Modulation (PWM) signal having a centrally arranged pulse;
FIG. 19 is a flow chart for overall control of the electronically commutated motor;
FIG. 20 is a flow chart for a main program;
FIG. 21 is a flow chart for a Low_ISR interrupt routine;
FIG. 22 is a flow chart for a High_ISR interrupt routine;
FIG. 23 shows a measurement of the input current and the voltage at a current measurement element;
FIG. 24 shows a pi (π) filter for reducing the line-conducted emissions; and
FIG. 25 is a current flow diagram for a twelve-step commutation with ramped shutdown of the power stage.
›DETAILED DESCRIPTION · 1 of 11
FIG. 1 shows an electric motor 10 having a rotor 12 and a stator 14 , which comprises a winding arrangement 16 having three strands 48 , 58 , 68 , and a power stage 18 . Power stage 18 is connected, via an upper lead 30 and a lower lead 32 (GND), to a DC link circuit 20 having a link circuit capacitor 22 .
A link circuit voltage U_ZK is present at link circuit capacitor 22 , and the latter is connected, via an optional polarity protection diode 26 , to a DC voltage source 24 having a voltage U_B.
A microprocessor or microcontroller, hereinafter called microcontroller μC 23 , is likewise connected to DC link circuit 20 , and serves to control motor 10 .
Power stage 18 serves for current flow through winding arrangement 16 , and has three bridge arms 40 , 50 , 60 having three upper switches 41 , 51 , 61 that connect upper lead 30 to three terminal nodes 45 , 55 , 65 for winding arrangement 16 , and having three lower switches 42 , 52 , 62 that connect the three terminal nodes 45 , 55 , 65 to a common bottom node 34 that in turn is connected via a current measuring resistor 36 to lower lead 32 (GND). The upper and lower switches are, for example, n-channel MOSFETS, model IRFR3710Z, of the International Rectifier company.
Switches 41 , 51 , 61 , 42 , 52 , 62 are n-channel MOSFETs (Metal Oxide Semiconductor Field Effect Transistors), and associated with each of them are respective recovery diodes 46 , 56 , 66 , 47 , 57 , 67 to allow a current flow oppositely to the normal current direction that may occur.
Terminal nodes 45 , 55 , 65 are connected to winding arrangement 16 , which is connected as a delta circuit; other configurations, such as star circuits, are also possible.
Rotor 12 , which interacts with winding arrangement 16 , is embodied with four poles (other numbers of poles are also possible), and associated with said rotor are three rotational position sensors (e.g. Hall elements) 71 , 72 , 73 whose output signals are delivered to inputs 230 of μC 23 in order to determine the rotational position of rotor 12 . Sensorless commutation, as described in FIG. 16 and FIG. 17 , is alternatively also possible.
A resistor 37 is connected to bottom node 34 and to a node 38 that is in turn connected via a capacitor 39 to lower lead 32 and additionally to input 231 of μC 23 . RC element 37 , 39 is connected as a low-pass filter, and filters out interference.
μC 23 is connected via an output 241 to switch 41 , via an output 251 to switch 51 , via an output 261 to switch 61 , via an output 242 to switch 42 , via an output 252 to switch 52 , and via an output 262 to switch 62 . μC 23 can thus control the commutation of power stage 18 .
Commutation
FIG. 2 shows one possibility for commutating power stage 18 using so-called six-step commutation.
The diagram shows the driving of switches 41 , 42 , 51 , 52 , 61 , 62 over one electrical revolution (360° el.), i.e. over one complete commutation cycle. For a four-pole motor, the electrical period begins again after half a mechanical revolution (180° mech.), since these two rotor positions are magnetically equivalent, and cannot be distinguished. In the angle range from 0° el. to 60° el., lower switch 42 is always closed, and upper switch 51 is driven with a clocked signal PWM having a predetermined duty cycle TV in order to generate a current through strand 48 . A clocked signal is a signal that switches back and forth between at least two states such as, for example, HIGH and LOW. Lower switch 52 is driven with the inverse signal /PWM of switch 51 , so that when upper switch 51 is switched off, current looping through node 55 , strand 48 , node 45 , switch 42 , and switch 52 back to node 55 becomes possible, since otherwise the current would flow through recovery diode 57 , which would result in higher losses. The term “active current looping” is used when the corresponding lower switch is driven with the inverse signal /PWM, and “passive current looping” when current looping occurs through the recovery diode.
After 60° el., current delivery through switch 51 is terminated, and the clocked signal having a predetermined duty cycle TV is applied to switch 61 . Correspondingly, the inverse clocked signal /PWM of switch 61 is applied to lower switch 62 . After 120° el., lower switch 42 is switched off and lower switch 52 is instead switched on, so that current can now flow through switch 61 , winding arrangement 16 , and lower switch 52 . Commutation is continued in accordance with the diagram until the initial state is reached again after 360° el. Because of the six commutation states ( 0 , 2 , 4 , 6 , 8 , 10 ), this type of commutation is referred to as six-step commutation.
FIG. 3 shows an advantageous possibility—so-called twelve-step commutation—for commutating power stage 18 . The driving signals for switches 41 , 42 , 51 , 52 , 61 , and 62 are once again depicted over an angle range of 360° el.
FIG. 4 is a simplified depiction of winding arrangement 16 and of power stage 18 , for the range from 0° el. to 30° el. according to FIG. 3 .
Between 0° el. and 30° el., both lower switch 42 and lower switch 62 are switched on, and upper switch 51 is being driven with a clocked signal PWM having a predetermined duty cycle TV, and lower switch 52 with the inverse signal /PWM of switch 51 . In the state “switch 51 on and switch 52 off,” a current I_on flows from upper lead 30 through switch 51 on the one hand through strand 48 , switch 42 , and measuring resistor 36 to lower lead 32 , and on the other hand through strand 58 , switch 62 , and measuring resistor 36 to lower lead 32 ; the corresponding current flow I_on and the corresponding switch positions are depicted as solid lines.
When switch 51 is switched off by clocked signal PWM and switch 52 is switched on by the inverse clocked signal /PWM, however, current can no longer flow out of DC link circuit 30 , 32 because of the inductance of strands 48 , 58 , but a current continues to flow through the latter, and two current loops I_off are produced, one proceeding through strand 48 , switch 42 , and switch 52 back to strand 48 , and the other through strand 58 , switch 62 , and switch 52 back to strand 58 . The corresponding current flows I_off and the corresponding switch positions of switches 51 and 52 are depicted with dashed lines. If power stage 18 is driven with passive current looping or if a delay is necessary between the switching off of upper switch 51 and the switching on of lower switch 52 , current I_off flows through recovery diode 56 .
›DETAILED DESCRIPTION · 2 of 11
After 30° el., lower switch is switched off so that only lower switch 42 now remains permanently switched on. This means that the entire current I_on must flow through strand 48 and lower switch 42 , through which hitherto only approximately half the current I_on has flowed. Because the current in a strand cannot (because of the latter's inductance) be increased immediately, whenever a change takes place in the current flow through the strands of power stage 16 , a current gap occurs that leads to a fluctuation in input current I_in. Because, in the context of the twelve-step commutation operation shown in FIG. 3 , half the total current is always already flowing through a different strand upon switchover, the current gap is smaller than in the case of six-step commutation, in which prior to commutation the current is always flowing entirely through a first strand and after commutation entirely through a second strand, so that the current through the first strand must be reduced from the full current level to zero.
After 60° el., in addition to upper switch 51 , upper switch 61 is driven with the clocked signal PWM, and both lower switch 52 and lower switch 62 are driven with the inverse clocked signal /PWM.
After 90° el., upper switch 51 is then completely switched off, so that only upper switch 61 is now being driven with the clocked signal PWM. Commutation is then continued in accordance with the diagram. Unlike in FIG. 2 , an overlapping region is therefore respectively provided during commutation for both for the lower switches and for the upper switches, or a second upper or lower switch is switched on before a first upper or lower switch, respectively, is switched off. Because a total of twelve commutation steps are performed, and there are twelve states 0 through 11 , this is referred to as twelve-step commutation. Those states that are identical in the case of six-step commutation according to FIG. 2 and twelve-step commutation according to FIG. 3 have been labeled with the same even state numbers 0 , 2 , 4 , 6 , 8 , 10 . Those states that occur only in twelve-step commutation according to FIG. 3 have been labeled with the odd state numbers 1 , 3 , 5 , 7 , 9 , and 11 .
It is difficult (or, with some types of motor, impossible) to start up motor 10 using twelve-step commutation, and it is therefore preferred to start using six-step commutation, and change over to twelve-step commutation after startup and once a predetermined minimum rotation speed has been reached.
Twelve-step commutation, or commutation with overlapping switching on and off of the transistors, is not possible with a one-strand motor, and the latter therefore always has, as a matter of principle, large current gaps during commutation as compared with a three-strand motor.
FIG. 5 likewise shows a diagram for a twelve-step commutation operation, but for the opposite rotation direction. A schematic circuit diagram of power stage 16 , with switch positions, is shown at the top for the even-numbered states 0 , 2 , 4 , 6 , 8 , 10 . The strands of the power stage are labeled A, B, C, and the upper switches are labeled H (HIGH) and the lower switches L (LOW). Thus HA=41, HB=51, HC=61, LA=42, LB=52, LC=62. These designations will be used hereinafter with the same meanings.
Current Measurement
FIG. 6 shows a measurement diagram of voltage U_ 34 at bottom node 34 and voltage U_ 38 at node 38 ( FIG. 1 ), measured in the context of a current flow in accordance with FIG. 3 in the range from 0° el. to 30° el. As with the other measurement diagrams, the scale is indicated at the edge.
During time period T_I_on between times t_ 81 and t_ 82 , upper switch 51 is switched on and lower switches 42 and 62 are likewise switched on (“S-I_on” state), as they are in the entire rotation angle range between 0° el. and 30° el. A current I_on as shown in FIG. 4 flows from upper lead 30 through upper switch 51 , winding arrangement 16 , and lower switches 42 and 62 to bottom node 34 , and from there through current measuring resistor 36 to lower lead 32 . Current I_on produces a corresponding voltage U_ 34 at measuring resistor 36 , which voltage can be evaluated in the form of voltages U_ 34 and U_ 38 , respectively.
At time t_ 82 , upper switch 51 is switched off and lower switch 52 is switched on (“S-I_off” state), and what results therefrom during the time period T_I_off is current looping within power stage 18 with the currents I_off according to FIG. 4 , which looping current continues to drive the motor. A current I_M no longer flows, however, between upper lead 30 , power stage 18 , measuring resistor 36 , and lower lead 31 , and voltages U_ 34 and thus also U_ 38 correspondingly drop to 0 V.
At time t_ 83 , upper switch 51 is switched on again and voltages U_ 34 and U_ 38 rise again because of the rising current I_on.
At time t_ 81 it is evident that voltage U_ 34 has peaks, which result in particular from the switching operation. RC element 37 , 39 of FIG. 1 filters out these interference peaks, and the resulting signal U_ 38 can be evaluated more easily than signal U_ 34 at bottom node 34 . The two signals U_ 34 and U_ 38 map the present current I_M through leads 30 and 32 , respectively, and they rise as current I_M rises, and fall as current I_M falls.
The current through an inductance L having a resistance R rises over time t, for a predetermined voltage U, in accordance with
I=U/R (1 −e −Rt/L ) (1)
and thus approaches the value U/R. After the voltage source is switched off in a circuit having a resistance R, it drops back down again, starting from a current I 0 , in accordance with
I=I 0 e −tR/L (2).
As is evident in the case of signal U_ 34 , the current through winding arrangement 16 rises during the S-I_on state starting at time t_ 81 ; and during the S-I_off state, starting at time t_ 82 , in which the current through winding arrangement 16 is not mapped at measuring resistor 36 , the current then drops back slightly so that it is lower at time t_ 83 than at time t_ 82 .
›DETAILED DESCRIPTION · 3 of 11
Current Measurement—Approximation
FIG. 7 is a schematic depiction of voltage U_ 38 in idealized form. Voltage U_ 34 or U_ 38 rises, because of the inductance of winding arrangement 16 , in accordance with equation (1); if switch-on times T_I_on are sufficiently short, the rise between t_ 81 and t_ 82 , and t_ 83 and t_ 84 , can be regarded approximately as linear.
Average value 87 of voltages U_ 34 and U_ 38 , respectively, between times t_ 81 and t_ 82 can be ascertained approximately by measuring the voltage U_ 34 and U_ 38 , respectively, at a time t_ 81 ′ that is located centeredly between times t_ 81 and t_ 82 . With an approximately linear profile for voltages U_ 34 and U_ 38 , this measurement yields average value 87 of voltage U_ 38 between times t_ 81 and t_ 82 . This can be derived graphically, since the area of triangle 85 corresponds to the area of triangle 86 .
The following general equations apply:
I — 36= U — 34 /R — 36 (3)
and
I — 36= U — 38/ R — 36 (4)
given the ohmic resistance R_ 36 of resistor 36 , which is equal to, for example, 0.15 ohm. Because of the proportionality between current I_ 36 or I_M and voltage U_ 34 or U_ 38 , an average value of voltage U_ 34 or U_ 38 also correspondingly characterizes the average value of current I_ 36 or I_M, and a method is described below for ascertaining average value 88 of voltages U_ 34 and U_ 38 .
The averaged voltage U_ 87 between times t_ 81 and t_ 82 is equivalent to
U — 87= U — 38( t — 81)′ (5),
where U_ 38 (t_ 81 ′) is voltage U_ 38 at time t_ 81 ′, and voltage U_ 87 , for example in FIG. 6 , is U_ 87 =370 mV.
The corresponding current I_on_ave is equal to
I _on_ave= U — 87/ R — 36=370 mV/0.15 ohm=2.47 A (6).
The average current I_on_ave ascertained in this fashion also flows, approximately, during current looping in power stage 16 , and it could therefore be used, for example, to determine the torque proportional to the current through winding arrangement 16 , and also to determine the dissipated power generated in the power stage.
The current value I_on_ave does not, however, correspond to the total current consumed during one period (e.g. t_ 81 to t_ 83 ) of the clocked signal from DC link circuit 20 , since no current is consumed from DC link circuit 20 between times t_ 82 and t_ 83 .
The average voltage U_ 88 over the entire period t_ 81 to t_ 83 of voltage U_ 38 is obtained by multiplying the value I_on_ave by duty cycle TV of clocked signal U_ 38 or PWM, yielding
U — 88= U — 87* TV=U — 38( t _ 81 ′)* TV (7),
and the average current I_ave flowing through the DC link circuit is obtained as
I _ave= U — 87* TV/R — 36= I _ave_on* TV (8).
The duty cycle TV of a clocked signal is, in general,
TV=T _on/( T _on+ T _off) (9),
where T_on is the duration of the I_on pulse during one period of the clocked signal.
The duty cycle TV of a PWM signal having a period length T_PWM=T_on+T_off and a variable pulse duration T_on_PWM is
TV=T _on — PWM/T — PWM (10).
PWM signals having a constant or a variable period length T_PWM can be used. A constant period length T_PWM is used for the PWM signals in FIGS. 2 to 5 and FIG. 25 .
The average current value I_ave for current I_M flowing through DC link circuit 20 , and thus also voltage U_ 88 , can therefore be completely different, for the same average current value I_on_ave or average voltage value U_ 87 between times t_ 81 and t_ 82 , and thus for the same torque of motor 10 , as a function of duty cycle TV.
An average value determination using an analog RC low-pass filter was carried out as an experiment. In order to smooth the clocked voltage signal U_ 34 using the RC low-pass filter, the time constant tau=R*C must be very high. The consequence of this, however, is that effective control of input current I_M, I_IN is no longer possible. This can be explained by the fact that because of the high time constant of the RC low-pass filter, the past history of voltage signal U_ 34 plays too great a role in terms of control engineering.
In contrast to the solution in which an average value is calculated with an RC low-pass filter, here the average value U_ 88 of voltage U_ 38 is ascertained for each PWM period, or in general for a predetermined time span or period of the clocked signal, and it is in fact defined before the following PWM period begins and can therefore be used for good and fast control. It is also possible to ascertain a value characterizing the average value of the input current over multiple periods, e.g. over two, three, or four PWM periods, and a different weighting can, for example, be performed in each case, such that the average value of the PWM period presently being measured accounts for 70%, and the average value of the preceding PWM period for 30%. Alternatively, this can also be taken into consideration in the controller.
The value U_ 88 characterizing the average value of input current I_IN, I_M could also be ascertained by frequent A/D conversion of signal U_ 38 at short time intervals (with a high sampling frequency), in combination with a subsequent averaging of the measured values. This requires an extremely fast A/D converter, however, and such devices are usually expensive.
FIG. 8 is a controller diagram showing an average current value controller RGL_I_ave 90 that, via a lead 91 , outputs a clocked PWM signal to motor 10 or to its power stage as a control input. Motor 10 drives, for example, a load 11 in the form of a fan wheel. As a function of the clocked signal transferred via lead 91 , motor 10 consumes a current I(t) from a voltage source U_B, and said current is measured and delivered to an average current value ascertaining apparatus CALC_I_ave_i 92 which ascertains, in particular calculates, from current I(t) an average current value I_ave_i that corresponds to the average current flowing from voltage source U_B to motor 10 . A system deviation calculator 93 is connected to average current value controller 90 , and average current value I_ave_i is delivered to it as an actual value, and an average current value I_ave_s as a target value. A rotation speed controller RGL_n 95 is superimposed on average current value controller 90 , the control input of rotation speed controller 95 being delivered to system deviation calculator 93 as target value I_ave_s. This is referred to as a “cascade controller.” Also associated with rotation speed controller 95 is a system deviation calculator 96 to which are delivered on the one hand a target rotation speed value n_s and on the other hand an actual rotation speed value n_i, the latter being ascertained, for example, by a rotation speed ascertaining apparatus on motor 10 .
›DETAILED DESCRIPTION · 4 of 11
One special aspect of average current value controller 90 is that regulation to the average value of the current flowing into power stage 18 is carried out. This average value can differ, as a function of the clocked signal, from the current flowing in power stage 18 .
A further special aspect of average current value controller 90 is the fact that power stage 18 of motor 10 , or switches 41 , 51 , 61 , 42 , 52 , 62 of said stage, are used as setting element 18 for controller 90 in order to influence the value I_ave_i and to equalize the value I_ave_i with the value I_ave_s. The motor can thus be operated without an additional setting element in the input lead to the power stage of motor 10 .
FIG. 9 is a measurement diagram in which input current I_in 101 (see FIG. 1 ) is plotted over time t. FIG. 10 shows level 102 of the corresponding line-conducted emissions in dB, as well as limit value 103 in accordance with ETSI standard EN 300 132-2, hereinafter called the ETSI limit value and ETSI standard, plotted in each case (and for the subsequent measurement diagrams of line-conducted emissions as well) over a frequency range from 25 Hz to 20 kHz. The motor according to FIG. 9 and FIG. 10 operates with average current value control at U_B=48 V, a power consumption P=30 W, a rotation speed n=5000 min −1 , and free blowing. Because the line-conducted emissions are mainly determined by changes in the input current, average current value control results in low line-conducted emissions 102 , so that the latter are below the ETSI limit value 103 when the fan is operated with a power level P=30 W, and thus meets the ETSI standard. Input current I_in 101 has, in this context, an alternating component well below 200 mA.
FIG. 11 is a measurement diagram with input current I_IN 104 over time t, for a fan without average current value control that was operated with the following parameters: U_B=48 V, P=30 W, n=4000 min −1 , free blowing. The same fan as in FIG. 9 and FIG. 10 was used for this measurement, but the control input of the rotation speed controller was converted directly into a PWM duty cycle. It is clearly evident that, for the same power level, this fan has a considerably higher alternating component (approximately 1 A) in input current I_in 104 . This also results in considerably higher line-conducted emissions.
FIG. 12 is a measurement diagram in which input current I_in 105 is plotted against time t, and FIG. 13 shows the corresponding line-conducted emissions 106 and the ETSI limit value 107 in dB, plotted over a frequency range from 25 Hz to 20 kHz. The fan is once again one with average current value control, and it was operated with the following parameters: U_B=48 V, P=100 W, n=7700 min 1 , twelve-step commutation. With a power level of 100 W the ripple in input current I_in 105 is higher (as expected), but line-conducted emissions 106 are for the most part below standard curve 107 . Further steps may therefore be necessary in order to meet the ETSI standard.
FIG. 14 is a measurement diagram in which input current I_in 109 is plotted against time t, and FIG. 15 shows the corresponding line-conducted emissions 110 and ETSI limit value 111 in dB, plotted over a frequency range from 25 Hz to 20 kHz. For this measurement, the fan was operated without average current value control and with the following parameters: U_B=48 V, P=83 W, n=5550 min −1 , free blowing. The average value of input current 109 in this measurement is approx. 1.7 A, and the peak-to-peak value is 1.8 A. Input current 109 thus has very large fluctuations, and this results in a high level of line-conducted emissions 110 which much exceeds ETSI limit value 111 and therefore does not satisfy the ETSI standard. The fan exceeds ETSI limit value 111 by up to 24 dB.
It is evident from the measurement diagrams presented that a considerable reduction in line-conducted emissions can be achieved by average current value control.
FIG. 16 shows a schematic configuration of the program executing in μC 23 using a cascade controller 95 , 90 according to FIG. 8 .
An external device 278 , for example a computer, is connected via a data line 279 to an input/output unit I/O 274 of μC 23 . A target rotation speed n_s, for example, can be specified via computer 278 to the fan, and that speed is then stored in memory MEM 276 . An output of data via motor 10 to the computer can also occur. Target rotation speed value n_s can also be determined via an NTC resistor 277 and an A/D converter 275 in combination with a temperature/rotation speed characteristic curve (not shown). Target rotation speed value n_s is delivered to rotation speed controller RGL_n 95 as a target value.
In this exemplifying embodiment a sensorless commutation is carried out, and inputs 230 ′, 230 ″, 230 ′″ are connected via an evaluation apparatus 120 (depicted in FIG. 17 ) to terminal nodes 45 , 55 , 65 of winding arrangement 16 in order to ascertain, by way of an evaluation of the corresponding zero transitions of the induced voltage, the rotational position PHI of rotor 12 in the CALC_PHI routine 270 , and the present rotation speed n_i in the CALC_n_i routine 271 , these then being delivered to controller RGL_n 95 and to the COMMUT routine 280 . Alternatively, rotational position PHI and rotation speed n_i can be ascertained, as in FIG. 1 , with the aid of rotational position sensors 71 , 72 , 73 .
Rotation speed n_i is delivered to rotation speed controller 95 as an actual value, and said controller ascertains a control input I_ave_s for control purposes.
The average current value target value I_ave_s is delivered to average current value controller RGL_I_ave 90 as a target value, and an average current value I_ave_i as an actual value, and the controller calculates therefrom a duty cycle TV for commutation arrangement COMMUT 280 . Voltage U_ 38 characterizing current I_M in DC link circuit 20 is delivered via an input 231 to an A/D routine AD_I 272 that, for example at predetermined points in time, carries out an A/D conversion in order to generate a current value I_on. The value I_on, and a duty cycle TV′ outputted by the COMMUT routine and usually corresponding to duty cycle TV, are delivered to the CALC_I_ave_i routine 92 , and the CALC_I_ave routine 92 calculates, as a function of these values, the present average current value I_ave_i, which is delivered to average current value controller 90 as an actual value. Delivery of the duty cycle TV′ allows any change in duty cycle TV as a result of the COMMUT routine 280 to be taken into account.
›DETAILED DESCRIPTION · 5 of 11
The absolute value of current I_on or I_ave_i is not necessary in many application instances, for example, superimposed rotation speed control, and it is then possible to work directly with voltage values U_ 87 and U_ 88 from FIG. 7 .
The COMMUT routine 280 determines, as a function of rotational position PHI and duty cycle TV, which signals are outputted through outputs 241 , 251 , 261 , 242 , 252 , 262 to switches 41 , 51 , 61 , 42 , 52 , 62 (see FIG. 2 , FIG. 3 , and FIG. 5 ).
FIG. 17 shows a circuit for evaluating the signals at winding terminals 45 , 55 , 65 for carrying out a sensorless commutation. Terminal 45 is connected via a resistor 124 to a lead 121 , and the latter via a resistor 125 to GND 32 . Terminal 57 is connected via a resistor 126 to a lead 122 , and the latter via a resistor 127 to GND 32 . Terminal 65 is connected via a resistor 128 to a lead 123 , and the latter via a resistor 129 to GND 32 . Leads 121 , 122 , and 123 are connected to the positive inputs of comparators 131 , 132 , and 133 , respectively, and via respective resistors 134 , 135 , and 136 to a lead 130 .
Lead 130 is connected to the negative inputs of comparators 131 , 132 , and 133 . The open collector outputs of comparators 131 , 132 , and 133 are connected to inputs 230 ′, 230 ″, and 230 ′″, respectively, of μC 23 , and a respective pull-up resistor 137 , 138 , 139 is provided at each of the outputs.
Resistors 124 , 125 and 126 , 127 and 128 , 129 are implemented as voltage dividers, and divide the voltages at terminals 45 , 55 , 65 down in order to make possible processing using comparators 131 , 132 , 133 . The voltages at leads 121 , 122 , and 123 are combined via resistors 134 , 135 , and 136 into one common voltage U_ 130 (average value) that corresponds to the voltage at a virtual neutral point in a neutral point winding arrangement. In comparators 131 , 132 , and 133 , a comparison takes place between voltages U_ 121 , U_ 122 , and U_ 123 , and voltage U_ 130 . It is thus possible to read off, at inputs 230 ′, 230 ″, and 230 ′″ of μC 23 , whether voltages U_ 121 , U_ 122 , and U_ 123 , respectively, are greater or less than voltage U_ 130 , and the corresponding point in time of a change in the output signals of comparators 131 , 132 , and 133 can be ascertained by continuous monitoring or by an interrupt control system. FIG. 2 , FIG. 3 , and FIG. 5 indicate, by way of arrows 74 , the terminal node 45 , 55 , and 65 at which a change at inputs 230 ′, 230 ″, and 230 ′″, respectively, can be detected, and the direction in which that change is taking place.
Examples of values for the components used:
FIG. 18 shows a possible use of a PWM generator of a μC 23 in so-called center-aligned PWM mode, in which the pulse (S-I_on) is aligned at the center of the PWM period T_PWM.
In this exemplifying embodiment, the frequency of the PWM signal is 22 kHz, so that one PWM period T_PWM lasts 45 μs. During the first half (22.5 μs), a signal or value 140 is increased linearly with the aid of a PWM timer, and in the second half (22.5 μs) signal 140 is lowered linearly in the same fashion so that, after 45 μs, it has arrived again at zero. A second value 142 is used to determine the width of pulse 149 of the PWM signal. PWM signal 141 is always in the High state (Pulse or S-I_on) when signal 140 is greater than value 142 . If it is less, on the other hand, PWM signal 143 is then in the LOW state 148 , 150 (Pause, S-I_off 1 or S-I_off 2 ), as may be seen between times t_ 145 and t_ 146 .
The value 142 is lower between times t_ 146 and t_ 147 , and the consequence of this is that the pulse of PWM signal 143 becomes wider, and duty cycle TV thus becomes greater.
An advantage of this PWM mode is that some microprocessors, for example the PIC18F1330 of the MICROCHIP company, offer the capability, for example after half the PWM period T_PWM, of triggering an interrupt or calling an A/D conversion with a subsequent interrupt. The respective points in time are labeled 151 . As a result, the measurement of voltage U_ 34 or U_ 38 can be carried at the center of pulse 149 , as explained in the description of FIG. 6 and FIG. 7 , or at any other point in the PWM period.
In order to allow an updating of value 142 before the next PWM period begins, thus making possible a fast and good average current value controller, the necessary steps in μC 23 must be carried out within a time span of 22.5 μs. With the aforementioned μC, A/D conversion lasts 12.5 μs, and calling the interrupt routine after completion of the A/D conversion takes 2 μs, so that less than 8 μs remain for calculating the new value 142 . When using the PIC18F1330, which is clocked at 32 MHz, calculation of the new value 142 , including average current calculation, control, and updating of duty cycle TV, must occur using a maximum of 60 one-cycle instructions. In the present case, this was possible only using assembler programming; the result of the A/D conversion was limited to 8 bits, and the maximum value of duty cycle TV was likewise limited to 8 bits. With a higher-performance μC, on the other hand, for example a digital signal processor (DSP), dsPIC33FJ12MC201, these optimizations are not absolutely necessary.
FIG. 19 schematically depicts the steps executing in μC 23 .
PWM signal 143 is shown for the angle range from 0° el. to 60° el. with twelve-step commutation according to FIG. 3 , using a four-pole rotor and a rotation speed n=5556 rpm=92.59 revolutions per second. One complete revolution of the rotor thus requires 10.8 ms. With a four-pole rotor, one complete revolution of the rotor corresponds to 720° el., and 30° el. thus corresponds to a time of (30/720)*10.8 ms=450 μs.
The PWM frequency is equal to 22 kHz, and the PWM period length is thus T_PWM=45 μs. At the already relatively high rotation speed of 5556 rpm, approximately 9 to 10 PWM pulses are therefore present in the electrical angle range of 30° el. PWM signal 143 is generated, as in FIG. 18 , in center-aligned PWM mode, and after A/D conversion an LA interrupt is generated, thus calling a Low_ISR low-priority interrupt routine as shown in FIG. 21 . An LT interrupt (low-priority interrupt—Timer 0 ) generated every 100 μs by a Timer 0 timer is also depicted, and this also calls the Low_ISR low-priority interrupt routine as shown in FIG. 21 in order to create a time base for the main program ( FIG. 20 ).
›DETAILED DESCRIPTION · 6 of 11
Depicted above the LA and LT interrupt calls are the HT 1 and HCOMP interrupt calls for calling the High_ISR high-priority interrupt routine according to FIG. 22 . A determination is made, by way of the Timer 1 timer, of the respective points in time t_ 160 , t_ 161 , and t_ 162 at which a commutation is to take place, and the respective commutation is initiated by generation of an HT 1 interrupt of the Timer 1 timer. The zero transition of the induced voltage at the points labeled 74 in FIG. 3 , and in FIG. 19 at time t_ 163 , is additionally sensed with the aid of the HCOMP interrupt, which is generated by a predetermined change in the signal at the corresponding selected input 230 ′, 230 ″, 230 ′″ with the aid of the circuit according to FIG. 17 . Once the zero transition of induced voltage 165 is sensed at time t_ 163 , the present rotor position is known, and the time between the zero transition of induced voltage 165 and the next commutation at time t_ 162 , and thus also the “ignition advance” time, are defined by way of a time COM_TIME.
The cooperation between a normal current controller RGL_I_ave_ 1 and two special current controllers RGL_I_ave_ 2 and RGL_I_ave_ 3 is controlled via a so-called delay counter DELAY_CNT, for improved compensation for the current gaps after a commutation by switching-off of an upper or a lower switch.
Upon commutation at time t_ 160 (transition from state 10 to state 11 ), FIG. 3 shows that lower switch 42 is additionally switched on. Because the switching of an additional switch does not lead to a current gap, normal current controller RGL_I_ave_ 1 can be used without interruption before and after this commutation, and switch 42 is simply switched on additionally.
At time t_ 160 , in the High_ISR high-priority interrupt routine, the Timer 1 timer is set to a value BEMF_TIME, and after that time has elapsed, an HT 1 interrupt is triggered at time t_ 161 and the next commutation from state 11 to state 0 takes place. Because (as shown in FIG. 3 ) a zero transition of induced voltage 165 is always ascertained after 60° el, time BEMF_TIME is obtained, for example, by calculating half the time between two successive zero transitions 74 of induced voltage 165 , and that time is correspondingly calculated at time t_ 163 (CALC BEMF_TIME). Alternatively, the duration for 60° el. can also be calculated by adding the time lengths BEMF_TIME, T_MEAS, and COM_TIME at time t_ 162 .
In state 11 , a check is made at each LA interrupt as to whether the next commutation at time t_ 161 is imminent. If so, current controller RGL_I_ave_ 1 is disabled (DISABLE RGL_I) and LA interrupts are also disabled (DISABLE LA), since they are correspondingly no longer needed, and since the A/D converter can then be used for other purposes.
In the context of the commutation at time t_ 161 , lower switch 62 is switched off in the High_ISR interrupt routine (see FIG. 3 ), and this results in a current gap, since the current that is flowing through upper switch 51 , strand 48 , and lower switch 42 cannot, because of the inductance of the strand, be increased immediately in order to compensate. In order to keep current I_M as constant as possible after commutation, the PWM_TIMER PWM timer is restarted at commutation so that it is synchronized with the commutation.
In addition, the DELAY_CNT variable is set to a starting value DELAY_CNT_START of, for example, 4; the LA interrupt is enabled again (ENABLE LA); duty cycle TV is set, for the first PWM period (DELAY_CNT==4) to a value PWM_LOW previously calculated by controller RGL_I_ave_ 3 ; and current control is enabled again (ENABLE RGL_I). Control of the average current value I_ave can be considerably improved by carrying out a special control operation after this commutation, since the normal controller would be overwhelmed in terms of control engineering with the extreme change after commutation, and control would therefore be poorer.
At the LA interrupt occurring during the first PWM period (DELAY_CNT==4), a duty cycle TV_START for the second PWM period (DELAY_CNT==3) is specified in the Low_ISR interrupt routine to the normal current controller RGL_I_ave_ 1 in order to initialize it, and duty cycle TV is set to that value, duty cycle TV_START being specified by a starting value controller RGL_TV_START. The DELAY_CNT variable is lowered to three.
At the LA interrupt occurring during the second PWM period (DELAY_CNT==3), sensing of the zero transition of induced voltage 165 is started (BEMF_SENSE_START). The purpose of starting sensing after commutation is to prevent incorrect sensing of the zero transition of induced voltage 165 from taking place as a result of commutation interferences. Normal current controller RGL_I_ave_ 1 is called, in order to calculate the duty cycle for the third PWM period (DELAY_CNT==2), and special controller RGL_I_ave_ 3 is called, in order to control or improve the specified value PWM_LOW as a function of the present system deviation of the current controller. If the present system deviation I_ave_s−−I_ave_i is equal to zero, the current gap is being effectively controlled with the PWM_LOW duty cycle. A new starting value is thus available for the next commutation when a lower switch is switched off.
At the LA interrupt occurring during the fourth PWM period (DELAY_CNT==1), a controller for determining the starting value for duty cycle TV_START is implemented, and said controller calculates the starting value for initializing average current value controller RGL_I_ave_ 1 for the first PWM period.
At the zero transition of induced voltage 165 at time t_ 163 , the HCOMP interrupt is generated; and in the associated High_ISR interrupt routine, the present time t_COMP is stored (STORE t_COMP) so that at the next zero transition the time difference can be determined; the value BEMF_TIME for the time required for 30° el. can be calculated by calculating half the time length calculated (as indicated above) for 60° el. The value COM_TIME, for the time between the present zero transition at time t_ 163 and the next commutation t_ 162 , is calculated, and the Timer 1 timer is set accordingly. The ignition advance is also determined by way of COM_TIME, and in a simple exemplifying embodiment this time can be selected to be constant; the result of this is that a small ignition advance takes place at low rotation speeds, and a large advance at high speeds.
›DETAILED DESCRIPTION · 7 of 11
In the upper section a MOTSTATE motor variable having corresponding values ( 28 , 14 , 12 , 30 , and 22 ) is indicated, and the High_ISR interrupt routine stores the present state of the motor, using these state variables.
An advantage of this sensorless twelve-step commutation is that measurement of the zero transitions of the induced voltages is carried out, in the winding terminals 45 , 55 , and 65 predetermined by the respective angle region, only in six of the twelve commutation periods. When six-step commutation is used for startup, this makes possible a simpler program structure, and thus a more economical processor.
FIG. 20 shows the main program main( ), FIG. 21 the Low_ISR low-priority interrupt routine, and FIG. 22 , FIG. 22A , FIG. 22B , FIG. 22C , FIG. 22D , and FIG. 22E show the High_ISR high-priority interrupt routine, which together make possible a twelve-step commutation for an input-current-controlled sensorless fan.
The meanings of the symbols used in all the flow charts are:
=Allocate ==Compare for identity −=Decrement by a value of 1 N/NO No Y/YES Yes Comm. Commutation type 6S Six-step commutation 12S Twelve-step commutation DIR Rotation direction FW Forward (e.g. clockwise) rotation direction BW Backward (e.g. counterclockwise) rotation direction pos. Positive neg. Negative init. Initialize Comp. Comparator
The main program begins in step S 400 . In step S 402 , the μC is initialized, the Mainstate state variable of a state machine is set to a value of zero, the Timer 0 timer is initialized so that every millisecond it triggers an interrupt that is processed by the Low_ISR routine S 500 . The Timer 1 timer is initialized in such a way that when it overflows, an interrupt is triggered that is processed by the High_ISR interrupt routine S 600 . A DELAY_CNT_START variable is initialized to a value between 3 and 5, and this value is used as a starting value for a DELAY_CNT delay counter that determines the delay between an even-numbered commutation and the start of BEMF sensing.
The main loop begins in step S 404 , and the Maintimer timer is set to 100. This determines that the main loop will be cycled through every 100 ms as a function of the Timer 0 timer. Step S 406 checks whether Mainstate has a value of 2. If Yes, in step S 408 execution waits for ADC release of the A/D converter by current controller I_RGL, since the A/D converter of the μC is used for both tasks and thus cannot perform the tasks simultaneously. Execution then branches to step S 410 . If the response in step S 406 is No, execution branches directly to step S 410 . In step S 410 , a value CTRL_VAL is read in via the A/D converter; this value is specified, for example, by an external or integrated NTC resistor, a control voltage from 0 to 10 V, or an external PWM signal. In step S 412 link circuit voltage UZK is sensed with A/D converter ADC. In step S 414 , the target rotation speed n_s is calculated, for example by means of a temperature/rotation speed characteristic curve, from the value CTRL_VAL.
Step S 416 then checks the Mainstate state of the main program. If the Mainstate state is equal to 0 (target rotation speed n_s is so far equal to zero), execution then branches to step S 418 . Step S 420 checks whether the value UZK for the link circuit voltage is in the permitted range. If No, execution branches directly to step S 480 . If Yes, step S 422 then checks whether target rotation speed n_s is greater than zero. If No, execution branches to step S 480 . If Yes, the Timer 1 timer for startup of the motor is initialized in step S 424 . Duty cycle TV for the PWM signal is set for startup. Step S 428 defines that a six-step commutation is to be carried out for startup.
In step S 430 , the Startup variable is then set to 1, the Motstate state variable to 6, and the Mainstate state variable to 1. Execution then branches to step S 480 .
If, however, the Mainstate state in step S 416 is equal to 1 (“Startup” state), execution then branches to step S 440 . Step S 442 checks whether the startup rotation speed n_start has already been reached. If No, execution branches to step S 452 and the duty cycle TV of the PWM signal is increased. If Yes, execution branches to step S 444 , where the Startup value is set to zero. Twelve-step commutation is then enabled in step S 446 , the Mainstate state is set to 2 (“Control” state) in step S 448 , and current controller RGL_I_ave_ 1 is enabled in step S 450 . Execution then branches to step S 480 .
If the Mainstate state was equal to 2 in step S 416 (“Control” state), execution then branches to step S 460 . Step S 462 checks whether target rotation speed n_s is greater than a shutdown rotation speed n_stop. If No, in step S 468 the Mainstate state is set to 3 (“Shutdown” state) and execution branches to step S 480 . If Yes, execution branches to step S 464 , where rotation speed controller RGL_n ( 95 in FIG. 16 ) is executed. In the rotation speed controller, the system deviation is calculated from the difference between target rotation speed n_s and actual rotation speed n_i, and delivered to an I-controller (integral controller). The control input that is ascertained is limited if applicable, and then delivered to the current controller as target value I_ave_s.
In step S 466 , A/D conversion of voltage U_ 38 at the center of the PWM pulse is then enabled, and branching to S 480 occurs. The current controller of FIG. 21 is thus not enabled until the motor is running, since it functions poorly or not at all when the motor is stationary.
If the Mainstate state in step S 416 was equal to 3 (“Shutdown” state), execution then branches to step S 470 . In step S 472 , the Motstate state is set to 2, and the Mainstate state to zero. In step S 474 the current controller is then disabled, and execution branches to step S 480 . Step S 480 checks whether the Maintimer value has a value of zero, i.e. whether the Timer 0 timer, which decrements the Maintimer value by 1 every millisecond, has already been called a hundred times. If No, execution continues to wait and branches to step S 480 . If Yes, then 100 ms have elapsed since the last call of the main loop beginning in step S 404 , and execution branches back to step S 404 .
›DETAILED DESCRIPTION · 8 of 11
FIG. 21 shows the Low_ISR interrupt routine S 500 .
Step S 502 identifies the reason why interrupt routine S 500 was triggered. In the event of a triggering by the Timer 0 timer, execution branches to step S 504 , the Maintimer timer is decreased by 1 in step S 506 , and execution leaves the interrupt routine in step S 508 . The result is that the Maintimer value used to time the main program is decremented after every millisecond.
If, on the other hand, the interrupt was triggered after completion of a requested A/D conversion (initialized in step S 466 , FIG. 20 ), execution then branches from step S 502 to step S 510 , where the value I_on characterizing the present current is ascertained by A/D conversion. Step S 512 checks whether the DELAY_CNT delay counter has the value DELAY_CNT_START. If No, then in step S 516 the value I_ave_i is calculated from the measured current value I_on and the duty cycle TV′. The normal current controller RGL_I_ave_ 1 is then called in step S 518 , and in said controller the system deviation e 1 is calculated from target value I_ave_s and actual value I_ave_i, and delivered to an I-controller (or, for example, also to a P-(proportional) or P-I-(proportional-integral) controller). The control input is then limited as applicable, duty cycle TV for the PWM signal is updated, and execution branches to step S 520 .
If, on the other hand, the value DELAY_CNT was equal to the value DELAY_CNT_START in step S 512 (which is the case directly after a commutation from an odd-numbered state to an even-numbered state), execution then branches to step S 514 , where duty cycle TV is set to the starting value TV_START and execution then branches to step S 520 . In simpler microprocessors, program steps S 516 and S 518 must be written in the assembler for speed reasons.
Step S 520 checks the DELAY_CNT delay counter, and execution branches to one of steps S 522 , S 530 , S 550 , S 560 , or S 570 as a function of the check. Execution branches to step S 522 when the DELAY_CNT delay counter has the same value as DELAY_CNT_START. In step S 524 the DELAY_CNT value is decreased by 1 and execution then leaves the interrupt routine in step S 526 . At the next pass through the interrupt routine, the DELAY_CNT variable has the value DELAY_CNT_START minus 1, and execution branches to step 530 . In step S 532 , sensing of the induced BEMF (back electromagnetic force) voltage is started, and a determination is made of the zero transition (from + to − or vice versa, winding terminal 45 , 55 , or 65 [see FIG. 3 ]) at which an HCOMP interrupt is triggered. In step S 534 the DELAY_CNT variable is decreased by 1, and step S 536 then checks whether one of the upper switches 41 , 51 , 61 was switched off in the context of commutation from an odd-numbered state to an even-numbered state. If Yes, a controller RGL_I_ave_ 2 is called in step S 538 . This controller is one optimized for the current gap occurring after a commutation. The present system deviation e 1 of current controller RGL_I_ave_ 1 is used as system deviation e 2 , and this is delivered to an optimized I-controller. A limitation of control input PWM_HIGH then occurs as applicable, and said input is used after the next corresponding commutation as a control input for the first PWM period.
If, on the other hand, the response in step S 536 was NO, execution then branches to step S 540 where current controller RGL_I_ave_ 3 , which is optimized for controlling in the context of a current gap occurring after commutation from an odd-numbered state to an even-numbered state, with switch-off of one of the lower switches 42 , 52 , 62 , is called. The present system deviation e 1 of current controller RGL_I_ave_ 1 is used as system deviation e 3 , and this is delivered to an optimized I-controller.
The control input PWM_LOW is limited as applicable, and is used after the next corresponding commutation as a control input for the first PWM period. Execution then leaves the interrupt routine in step S 542 .
The next time routine S 500 is called, the DELAY_CNT variable is still greater than 1, and execution branches from step S 550 to step S 552 and the DELAY_CNT variable is decreased by 1. This produces a further delay. Execution then leaves the interrupt routine in step S 554 .
If the DELAY_CNT variable has a value of 1 at one of the subsequent calls, execution then branches from step S 520 to step S 560 , and in step S 562 a controller RGL_TV_START is then called, in which a starting value e 1 for current controller RGL_I_ave_ 1 S 518 is ascertained with the aid of a controller. For this, the difference between duty cycle TV and the previous starting value TV_START of the current controller is determined as a system deviation, and delivered to an I-controller. The resulting control input is then limited as applicable, and allocated to the TV_START variable. In step S 564 the DELAY_CNT variable is set to zero, and in step S 566 execution leaves the interrupt routine.
The next time interrupt routine S 500 is called, execution branches from step S 520 to step S 570 , since the DELAY_CNT variable has a value of zero. Step S 572 checks whether the next commutation is an even-numbered commutation. If No, execution immediately leaves the interrupt routine in step S 580 . If Yes, step S 574 checks whether the Timer 1 timer is about to overflow, for example, by checking whether the Timer 1 timer is greater than a predetermined value. If No, execution leaves the routine in step S 580 . If Yes, then in step S 576 current controller I_CTRL is disabled, and in step S 578 , the A/D converter for the main program is released so that with it, the value CTRL_VAL in step S 410 and then the value UZK for the link circuit voltage in step S 412 can be measured in the main program. No further current control takes place until the next commutation. This has only a minor influence on input current I_IN, I_M, since changes in the current shortly before commutation are minor. Execution then leaves the interrupt routine in step S 580 .
›DETAILED DESCRIPTION · 9 of 11
FIG. 22 shows the High_ISR interrupt routine S 600 for an input-current-average-value-controlled fan with sensorless twelve-step commutation and six-step commutation for startup, with forward and backward operation. Step S 602 checks the Motstate state variable, and as a function of its value execution branches to one of steps S 604 , S 610 , S 616 , S 640 , S 676 , S 700 , S 736 , S 760 , S 796 , S 830 , S 866 , S 890 , S 926 , S 950 , S 1000 , S 1020 , S 1040 , S 1060 , S 1080 , or S 1100 . If the Motstate state variable has a value of zero (“Fan off” state), execution branches from step S 604 to step S 606 , and all the power stage transistors 41 , 51 , 61 , 42 , 52 , 62 are switched off. Execution then leaves the interrupt routine in step S 608 .
If the Motstate state variable has a value of 2 (“Brake fan” state), execution branches from step S 610 to step S 612 , and the upper power stage transistors 41 , 51 , 61 are switched off. The lower power stage transistors 42 , 52 , 62 are then switched on in step S 614 in order to produce current looping in the lower portion of the power stage, and to decrease the current in stator arrangement 16 . Execution leaves the interrupt routine in step S 615 .
If the Motstate state variable has a value of 4 (“BEMF sensing A positive” state), execution branches from step S 616 to step S 618 , which checks whether a positive signal is present at the comparator at which the induced voltage is compared. If YES, branching to step S 620 occurs; if NO, branching to step S 634 . Step S 620 checks the rotation direction. If the rotation direction is forward, then in step S 622 the Motstate state variable is set to 34 and execution branches to step S 630 . If, on the other hand, the rotation direction is backward, execution branches to step S 624 . Step S 624 checks as to which type of commutation is to be carried out. In the case of a six-step commutation, the Motstate state variable is set to 36 in step S 626 . If a twelve-step commutation is to be performed, the Motstate state variable is set to 38 in step S 628 . Execution then branches to step S 630 , in which a calculation of the BEMF and COM times occurs; and execution leaves the interrupt routine in step S 632 . Step S 634 checks the value of the Startup variable. If the value is 1 (startup operation), then in step S 636 the Timer 1 timer for startup is initialized and execution then branches to step S 620 .
If, on the other hand, the value is zero, execution leaves the interrupt routine in step S 638 .
If the Motstate state variable has a value of 6 in step S 602 (“Start BEMF sensing A positive” state), execution branches to step S 640 and step S 642 then checks which type of commutation is to be carried out. For a six-step commutation, branching occurs to step S 644 and BEMF sensing A positive is started. The Motstate state variable is then set to 4 in step S 648 , and execution leaves the interrupt routine in step S 650 . If, however, the check in S 642 sets a twelve-step commutation, step S 646 then determines that this is an even-numbered commutation, i.e. a change from the odd-numbered state=3 to the even-numbered state=4. The rotation direction is then checked in step S 652 . If it is forward, the State variable is then set to 4 in step S 654 , and execution then branches to step S 660 . If, on the other hand, the rotation direction is backward, then in step S 656 the State variable is set to 10 and execution branches to step S 660 . Step S 660 prepares “BEMF sensing A positive”, i.e. defines that an HCOMP interrupt ( FIG. 19 ) is to be triggered when the output signal of comparator 131 ( FIG. 17 ) changes from LOW to HIGH. In step S 662 the Motstate state variable is set to 4. In step S 664 duty cycle TV is set to the value PWM_LOW (PWM_LA_LB_LC_AUS) of controller RGL_I_ave_ 3 ). In step S 666 , the PWM timer for output of the clocked signal to the power stage is then started with the new duty cycle TV. In step S 668 , the DELAY_CNT variable is set to the value DELAY_CNT_START in order to execute the corresponding steps, starting at step S 520 , in interrupt routine S 500 . In step S 670 the current controller is enabled, and execution then leaves the interrupt routine in step S 672 . The sequences in steps S 676 to S 950 function analogously for the remaining commutation steps, and are therefore not described individually.
If the Motstate state variable has a value of 28 in step S 602 , branching to step S 1000 (“Commutation” state 11 ) occurs. Step S 1002 checks how commutation is to be performed. For a six-step commutation, the State variable is set to zero in step S 1004 , and execution branches to step S 1008 .
For a twelve-step commutation, the State variable is set to 11 in step S 1006 , thereby modifying the current flow through power stage 16 according to FIG. 3 with no need to restart the clocked signal. Execution then branches to step S 1008 , where the rotation direction is ascertained. If forward, the Motstate state variable is set to 14 in step S 1010 , and if backward the Motstate state variable is set to 6 in step S 1012 . The Timer 1 timer is then loaded, in step S 1014 , with the BEMF time. Execution leaves the interrupt routine in step S 1016 . Steps S 1020 to S 1100 function analogously for the corresponding states, and are therefore not described again.
For illustration, the sequence according to FIG. 19 will be described briefly with reference to the High_ISR routine S 600 . At time t_ 160 , the High_ISR routine S 600 is called. The Motstate state is equal to 28, and branching occurs to step S 1000 . Because a twelve-step commutation is carried out in the forward direction, in step S 1006 the commutation state is set to State 11 (see FIG. 3 ) so that lower switch 42 is additionally switched on. The Motstate state variable is set to 14 in step S 1010 , and in step S 1014 the Timer 1 timer is set to the BEMF time until the next commutation. Execution then leaves the High_ISR routine.
›DETAILED DESCRIPTION · 10 of 11
The next Timer 1 interrupt follows at time t_ 161 , and in the High_ISR routine execution branches to step S 760 (Motstate=14). In step S 774 the commutation state is set to 0, with the result that (according to FIG. 3 ) the state of switch 62 is set from conductive (HIGH) to non-conductive (LOW). Because, according to FIG. 3 , the zero transition to be detected in the induced voltage in branch C takes place from negative to positive, sensing is correspondingly initialized in step S 780 so that an HCOMP interrupt ( FIG. 19 ) is triggered at such a transition. In step S 780 the Motstate state variable is then set to 12, in step S 784 the duty cycle for the first PWM period is set to the starting value PWM_LOW of controller RGL_I_ave_ 3 , in step S 786 the PWM timer is restarted, in step S 788 the DELAY_CNT counter is set to a value of 4, and in step S 790 current controller RGL_I_ave_ 1 is enabled. Execution leaves the routine in step S 792 .
At the change in induced voltage 165 at time t_ 163 , the High_ISR routine S 600 is once again called by the HCOMP interrupt, and execution branches to step S 736 (State=12). In step S 746 the Motstate state variable is set to 30, in step S 753 the time values BEMF Time and COM Time are calculated, and execution then leaves the routine in step S 754 .
At the subsequent Timer 1 interrupt, execution in the High_ISR routine S 600 branches to step S 1020 , and the next commutation occurs.
FIG. 23 shows a measurement of voltage U_ 34 at measuring resistor 36 ( FIG. 1 ), and input current I_IN ( FIG. 1 ) for an input-current-controlled fan with twelve-step commutation, U_B=48 V, power P=100 W, and rotation speed n=7700 min −1 .
At times t_ 170 and t_ 175 , a respective commutation takes place from an odd-numbered state (State 1 , 3 , 5 , 7 , 9 , 11 ) to an even-numbered state (State 0 , 2 , 4 , 6 , 8 , 10 ), and it is evident that at this high rotation speed, after the commutation operation, a duty cycle TV of 100% is specified respectively for two entire PWM periods in order to minimize the current gaps. At time t_ 176 a commutation takes place from an even-numbered state (State 0 , 2 , 4 , 6 , 8 , 10 ) to an odd-numbered state (State 1 , 3 , 5 , 7 , 9 , 11 ). Because an upper or a lower switch is additionally switched on in the context of this type of commutation, no current gap is created.
Input current I_IN is largely constant during time periods T_ 171 and T_ 173 , but after the commutation operations at times t_ 170 and t_ 175 it rises during a time T_ 172 . This can be referred to as an overshoot of input current I_IN. This overshoot is not sensed by measuring resistor 36 ( FIG. 1 ), since the additional current flows into link circuit capacitor 22 as current I_C ( FIG. 1 ). An improvement in control can be improved by an additional current measuring element for measuring the current I_C or I_C′ flowing into storage arrangement 22 , and by taking the measured values into consideration with regard to current control, if this is necessary for the electric motor's application.
FIG. 24 shows the use of a Pi filter between voltage source U_B and DC link circuit 20 . Electrolytic capacitor 22 stabilizes the DC link circuit as in FIG. 1 , and coil 21 and electrolytic capacitor 22 ′ form the Pi filter. The Pi filter is a bidirectional filter that damps the so-called differential mode proceeding from the motor.
Examples of values for the components:
A reduction in line-conducted emissions is achieved with the use of the Pi filter. Accommodating the additional components on a circuit board is, however, difficult in some cases for space reasons, and the resulting costs are higher than without a Pi filter.
FIG. 25 shows a further possibility for driving power stage 16 . This involves a twelve-step commutation in the forward direction. Unlike in FIG. 3 , the switching off of an upper or lower switch does not occur completely at the moment of commutation, but instead the corresponding switch is switched off slowly by decreasing the duty cycle, for example over an angle range of 30° el., from one PWM period to another.
For example, duty cycle TV* of driving signal PWM* is decreased, in ramped fashion in each case, in the range from 60° el. to 90° el. for switch HB, in the range from 180° el. to 210° el. for switch HC, and in the range from 300° el. to 330° el. for switch HA, in this case e.g. in steps of approximately TV*=70%, 52.5%, 35%, and 17.5%. The corresponding lower switches are driven with the inverse signal /PWM*.
The switching off of lower switches LA, LB, LC occurs similarly in ramped fashion, and duty cycle TV** of driving signal PWM**, which in the case of the lower, switched-on switches was consistently 100% switched on, is reduced in ramped fashion in the range 0° el. to 30° el. for switch LC, in the range from 120° el. to 150° el. for switch LA, and in the range from 240° el. to 270° el. for switch LB, in this case e.g. in steps TV**=90%, 67.5%, 45%, 22.5%.
This type of commutation with a “smooth shutdown” requires that the corresponding switches 41 , 51 , 61 , 42 , 52 , 62 , and the three bridge branches 40 , 50 , 60 of power stage 18 , be capable of being driven with different duty cycles TV, TV*, TV**.
In the case where the PWM signals are generated in a μC 23 , it is preferred to use a μC 23 in which the duty cycle at the corresponding outputs 241 , 251 , 261 , 242 , 252 , 262 is adjustable. Slow shutdown allows current controller RGL_I_ave 90 ( FIG. 8 ) to increase the current slowly in the corresponding second energized strand already before commutation, and control in the context of commutation with shutdown of an upper or lower switch is thereby greatly improved. A further advantage of this driving mode is that as compared with driving without “smooth shutdown,” windings 48 , 58 , 68 having more wire windings, and thus having a higher inductance, can be used, since the current in the corresponding second strand does not need to be built up suddenly. Since no current gap, or only a very small one, is created with this type of commutation, a motor ( 10 ) of this kind can be operated with only one current controller. Special compensation for the current gap, in particular, can be omitted.
›DETAILED DESCRIPTION · 11 of 11
Smooth shutdown can be brought about, for example, by counting the number of PWM periods for each 30°-el. time period in the Low_ISR interrupt routine ( FIG. 21 ) using a PWM_COUNTER, and then, for example in the case of the shutdown of switch HB in the range from 60° el. to 90° el., calculating for the commutation at 60° el. a value DELTA_TV from the present duty cycle TV and the PWM_COUNTER value, as follows:
DELTA — TV=TV/PWM _COUNTER.
It is then possible, for each PWM period in the corresponding call of the Low_ISR routine for current control, to decrease the duty cycle for the corresponding switch by the value DELTA_TV.
A linear ramp is thereby implemented.
The respective duty cycles TV and TV* of PWM signals PWM and PWM* of upper switches 41 , 51 , 61 differ in the angle ranges of States 1 , 5 , and 9 . When the PWM signals are generated in center-aligned mode, however, both PWM signals have a pulse in the context of a duty cycle greater than zero, and a measurement of voltage U_ 34 or U_ 38 at this point in time still yields a good approximation of average value U_ 37 87 of voltage U_ 38 during the pulse. In order to calculate average value U_ 88 for the entire PWM period, value U_ 87 is then, to a good approximation according to equation (7), multiplied by the duty cycle TV of the particular switch that is not being shut down in ramped fashion.
Examples of Possible Modifications
Numerous modifications are of course possible, within the scope of the invention. The current measuring resistor or current measuring element 36 can also be arranged in upper lead 30 , and can measure input current I_M there; care must be taken that none of the potentials corresponds to GND potential.
Current measuring element 36 can also be arranged outside DC link circuit 20 , i.e. in FIG. 1 to the left of link circuit capacitor 22 , in order to measure current I_IN or I_IN′. The advantage of this is that, in order to reduce the line-conducted emissions, it is precisely current I_IN or I_IN′ that should be as constant as possible. It is disadvantageous, however, that the link circuit capacitor serves as an energy reservoir, which results, in terms of control engineering, in a delay that degrades control via power stage 18 , used as a setting element.
The current flowing in power stage 16 can also be ascertained by measuring the currents flowing in the individual branches; the currents flowing in the strands during current looping must then not be taken into account computationally or by way of an electronic circuit.
Torque control is also possible with the motor, since the torque is proportional to the current through the winding. For this, the target current value I_ave_s corresponding to the desired torque is specified, and multiplication by duty cycle TV′ is omitted when calculating the actual current value I_ave_i in S 516 .
›Tables in the description — 2
| Resistors 124, 126, 128 | 22 kilohm |
| Resistors 125, 127, 129 | 10 kilohm |
| Resistors 134, 135, 136 | 10 kilohm |
| Resistors 137, 138, 139 | 33 kilohm |
| Comparators 131, 132, 133 | LM2901 |
| Capacitors 22, 22′ | 220 μF, max. 75 V |
| Coil 21 | 33 μH, max. 3 A. |
Claims as granted
18 claimsLog in to read the claims of this application.
Log in to unlockClassifications
8 codes- H02P1/46
- H02P3/18
- H02P6/00
- H02P23/00
Claim changes
SoonSee which claims were amended, added or cancelled during examination, with every added and removed word marked.
The published claims of this application are not paired with the granted ones in what we hold.
File wrapper
See the full prosecution history — every USPTO and applicant action on this file, in order.
Log in to unlockDocuments
Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.
Log in to unlockChain of title
See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.
Log in to unlock