This disclosure relates generally to electric motors and, more particularly, to controlling speed of an electric motor.
A switched reluctance motor is an electrical motor that includes a rotor and a stator. Torque in a reluctance motor is produced by the tendency of the rotor to move to a position relative to the stator in which the reluctance of a magnetic circuit is minimized, i.e. a position in which the inductance of an energized stator winding is maximized. In a switched reluctance motor, circuitry is provided for detecting the angular position of the rotor and sequentially energizing phases of the stator windings as a function of rotor position.
Switched reluctance motors are doubly salient motors having poles on both the stator and the rotor, with windings only on the stator poles. The rotor of a switched reluctance motor does not include commutators or windings. In some cases, the rotor of a switched reluctance motor does not include permanent magnets. Switched reluctance motors have a variety of uses, including vacuum cleaners, for example.
Torque may be produced by energizing or applying current to the stator windings of the stator poles associated with a particular phase in a pre-determined sequence. The energization of the stator windings is typically synchronized with the rotational position of the rotor. A magnetic force of attraction results between the poles of the rotor and the energized stator poles associated with a particular phase, thereby causing the rotor poles to move into alignment with the energized stator poles.
In typical operation, each time a stator winding of the switched reluctance motor is energized, magnetic flux flows from the energized stator poles associated with a particular phase, across an air gap located between the stator poles and the rotor poles. Magnetic flux generated across the air gap between the rotor poles and the stator poles produces a magnetic field in the air gap that causes the rotor poles to move into alignment with the energized stator poles associated with a particular phase, thereby producing torque. The amount of magnetic flux and, therefore, the amount of torque generated by the switched reluctance motor is dependent upon many variables such as, for example, the magnetic properties of the material of the rotor poles and the stator poles, and the length of the air gap between the rotor poles and the stator poles.
The magnetic flux generated can be divided into a main torque-producing flux and leakage flux. The main flux is the flux that flows through the rotor poles and the excited stator poles. This main flux produces a torque on the rotor that will tend to align the rotor poles through which the flux passes with the excited stator poles. Leakage flux is undesirable in switched reluctance motors because it directly reduces torque production. More specifically, leakage flux causes the motor to produce a torque in a direction that is opposite to the direction of rotation of the rotor, also known as a braking torque. It is known that modifications to the rotor pole face may affect torque production in the switched reluctance motor.
Various embodiments of the present invention are illustrated by way of examples and not limitations in the accompanying figures, in which like references indicate similar elements, and in which:
In one embodiment, a method of controlling speed of a brushless, direct current (BLDC) motor based on dwell includes receiving an indication of a desired speed of the BLDC motor. The method also includes determining a dwell based on a magnitude of a voltage corresponding to the indication of the desired speed. The method further includes applying a pulse-width modulation (PWM) pulse having a pulse length corresponding to the determined dwell to a stator of the BLDC motor to adjust a rotational speed of a rotor of the BLDC motor to the desired speed.
In another embodiment, a system for controlling a speed of a switched reluctance (SR) motor based on dwell includes a stator of the SR motor communicatively coupled to a controller of the SR motor. The system also includes a rotor of the SR motor. The rotor is configured to rotate in response to pulse-width modulation (PWM) applied to poles of the stator. The controller includes a memory having computer-executable instructions stored thereon for controlling the speed of the SR motor based on dwell. The computer-executable instructions include instructions for receiving an indication of a desired speed of the SR motor. The computer-executable instructions also include instructions for determining a dwell based on a magnitude of a signal corresponding to the indication of the desired speed. The computer-executable instructions also include instructions for causing a pulse-width modulation (PWM) pulse to be applied to the stator of the SR motor to adjust the speed of the SR motor to the desired speed. The P pulse has a length corresponding to the determined dwell.
In yet another embodiment, a system for controlling a speed of a brushless, direct current (BLDC) motor based on dwell includes a controller in electrical communication with a plurality of stator poles of a stator of the BLDC motor. A memory is included in the controller. The memory has computer-executable instructions for controlling pulse-width modulation (PWM) pulses delivered to the plurality of stator poles. The computer-executable instructions include instructions for receiving an indication of a desired speed of the BLDC motor. The computer-executable instructions also include instructions for determining a dwell based on a magnitude of a signal corresponding to the indication of the desired speed. The computer-executable instructions also include instructions for determining, based on the determined dwell, a length of a PWM pulse to be applied to the plurality of stator poles. The computer-executable instructions further include instructions for communicating the length of the PWM pulse to the stator.
Referring to
The upper housing unit 12 may include a plurality of apertures 24 for receiving a plurality of fasteners 26 to secure the upper housing unit 12 to the stator 14 during assembly. It should be understood, however, that the upper housing unit 12 may be secured to the stator 14 in any other suitable manner such as, for example, by a clamp, a mounting bracket/flange, or the like.
Referring to
The stator 14 includes a stator core 28, a plurality of equally spaced stator poles 30, and stator windings 32 (
As shown in
The stator windings 32 are conventional and may be, for example, polyester-coated wires or magnetic wires prewound into coils and placed on a bobbin 39 (
Referring to
Each of the plurality of bobbins 39 may further include wire retainers 44 located at an upper portion of the back plate 40b of each of the plurality of bobbins 39. As shown in
Each of the prong structures 45 may further include an outer portion 50 and an inner portion 52 that is disposed within the outer portion 50. The outer portion 50 may be composed of a nonconductive material such as, for example, plastic. The inner portion 52, which may include the groove 46, may be composed of a conductive material such as, for example, metal. The conductive material of the inner portion 52 serves to provide an electrical connection between the conductive inner portion 52 and the end 48 of the stator winding 38 disposed on each of the plurality of bobbins 39.
Referring to
Referring to
After the upper housing unit 12 is mounted to the stator 14, the wire leads 56a-d disposed in the plurality of upper mounting elements 54 are electrically connected to the stator windings 32 disposed on the stator poles 30a-d. Because the wire leads 56a are electrically connected in parallel with the wire leads 56c, the stator windings 32 disposed on the stator poles 30a are electrically connected in parallel with the stator windings 32 disposed on the stator poles 30c to form one phase. Likewise, because the wire leads 56b are electrically connected in parallel with the wire leads 56d, the stator windings 32 disposed on the stator poles 30b are electrically connected in parallel with the stator windings 32 disposed on the stator poles 30d to form another phase.
Referring to
As shown in
It is known that magnetic flux generated across the air gap between an energized stator pole 30 and a rotor pole 62 of the motor 10 creates an attractive force between the energized stator pole 30 and the rotor pole 62. The amount of attractive force is dependent upon many variables such as, for example, the magnetic properties of the materials of the stator pole 30 and the rotor pole 62, and the size of the air gap between the energized stator pole 30 and the rotor pole 62. It is further known that the attractive force between the energized stator pole 30 and the rotor pole 62 increases as the magnetic reluctance (i.e., resistance) of the magnetic circuit formed by the energized stator pole 30 and the rotor pole 62 is reduced. In other words, the low permeability properties associated with the air gap of the magnetic circuit replaces the high permeability properties of the ferromagnetic material associated with the rotor core 60. Lowering the reluctance of the air gap between the energized stator pole 30 and the rotor pole 62 by reducing its size may, in turn, increase the flux densities in the air gap such that an angle of optimum torque generation is realized. Additionally, by replacing a portion of the air gap (i.e., a low permeability medium) with steel (i.e., a high permeability medium) and keeping the magnetic field strength the same, the flux density of the air gap between the energized stator pole 30 and the rotor pole 62 is increased in accordance with the following equation:
B=Hμ (Eq. 1)
where: B is the magnetic flux density;
H is the magnetic field strength; and
μis the permeability property.
Increasing flux density of the air gap (i.e., increasing the force) increases the torque of the rotor 16 in accordance with the following equation:
Torque=Force×Distance from Axis (Eq. 2)
Referring to
Referring to
Because the rotor 16 tends to rotate toward a position in which the air gap 80 is minimized and, therefore, inductance is maximized, the air gap 80 between the second portion 78b of the rotor pole face 78 and the stator pole face 38 (which is larger than the air gap 80 between the first portion 78a of the rotor pole face 78 and the stator pole face 38) ensures that the leading edge of the rotor pole face 78 is always attracted to the energized stator pole 30 during motor operation.
Additionally, the air gap 80 between the second portion 78b of the rotor pole face 78 and the stator pole face 38 (which is larger than the air gap 80 between the first portion 78a of the rotor pole face 78 and the stator pole face 38) ensures that the rotor 16 rotates in one direction only, i.e., the rotor 16 tends to rotate in the direction of the stepped or undercut portion. For example, if the stepped or undercut portion is located on the right side of the rotor pole face 78, the rotor 16 will tend to rotate to the right or in a clockwise direction. On the other hand, if the stepped or undercut portion is located on the left side of the rotor pole face 78, the rotor 16 will tend to rotate to the left or in a counter-clockwise direction.
Each of the rotor pole face 78 and the stator pole face 38 may define an arc, with the rotor pole face 78 being approximately twice as large as the stator pole face 38.
In accordance with one aspect of the present disclosure, a protrusion 82 may be located at a leading edge of the second portion 78b of the rotor pole face 78 that is remote from the first portion 78a of the rotor pole face 78. The protrusion 82 minimizes the air gap 80 at the edge of the second portion 78b of the rotor pole 62 for magnetic flux flow, thereby optimizing torque characteristics of the motor 10. The protrusion 82 is composed of the same or a similar material as the rest of the rotor 16, and includes a first side 84 and a second side 86. Each of the first side 84 and the second side 86 of the protrusion 82 tapers toward an end point 88 of the protrusion 82. As shown in
Referring to
Magnetic flux seeks the path of minimum reluctance. Therefore, because the rotor pole 62 is composed of a ferromagnetic material that has a lower reluctance than air, magnetic flux will more easily flow through the rotor pole 62 and the stator pole 30 than through the air gap 80.
The drive assembly 18 used to drive the motor 10 includes a control circuit 500, which is further described with respect to
The control circuit 500 includes a rectifier circuit 502 that converts an AC input voltage into an unregulated DC output voltage V1, which is fed to a headlight assembly 503 and to the stator windings 32 via a switching device 518, as discussed below. The DC output voltage V1 may also be fed to a voltage dropping circuit 504. The voltage dropping circuit 504 may provide a regulated voltage V2 to a headlight assembly driver 505 and to an opto-sensing assembly 508 which is electrically coupled to a micro-controller 512. The voltage dropping circuit 504 may also provide the regulated voltage V2 to a voltage regulator 506. The voltage regulator 506 may provide a voltage V3 to the micro-controller 512. The voltage dropping circuit 504 may also provide the regulated voltage V2 to a second voltage regulator 509. The second voltage regulator 509 may provide a voltage V4 to an LED driver 513 and an LED array 515 of an LED readout system 511, which will be described further below.
The headlight assembly driver 505 may control a headlight assembly switching device 507. The headlight assembly switching device 507 may be used to control the headlight assembly 503. The headlight assembly switching device 507 may be implemented by a number of electronic switching mechanisms, such as transistors, thyristors, etc.
The opto-sensing assembly 508 operates in conjunction with the slotted disk 71, which is rotatable with the rotor 16, to monitor the rotational speed of the motor 10. The opto-sensing assembly 508 generates a rotor position signal in response to rotation of the rotor 16. In some embodiments, the rotor position signal corresponds to rotation of the rotor 16, and more specifically, to rotation of each pole of the rotor 16. The rotor position signal may be sent to the micro-controller 512 and may be used by the micro-controller 512 to measure the speed of the rotor 16. The micro-controller 512 may include one or more of the commonly known components such as memory, a CPU, a plurality of registers, a plurality of timers, etc. The micro-controller 512 may also include a means to monitor temperature such as, for example, a built in thermistor and/or temperature controller.
The regulated voltage V2 generated by the voltage dropping circuit 504 may be input to a switching device driver 516 of a power module 514. The power module 514 may include the switching device driver 516 and the switching device 518. The switching device driver 516 may control the switching device 518, and may include one or more individual drivers based on a number of individual switches within the switching device 518. An example embodiment of the switching device driver 516 is described in greater detail below. The switching device driver 516 and the switching device 518 may be used to control the voltage input to the stator windings 32. The switching device 518 may be implemented by a number of electronic switching mechanisms, such as transistors, thyristors, etc. An implementation of the switching device 518 using insulated gate bipolar transistors (IGBTs) is illustrated in further detail below. The switching device 518 receives power V1 from the rectifier circuit 502 and provides the power to the stator windings 32 as per the control signals received from the switching device driver 516. The use of outputs from a switching device to control stator windings is well known to those of ordinary skill in the art, and therefore is not explained in further detail with respect to the outputs from the switching device 518 and the stator windings 32. Various components of the control circuit 500, and the operation thereof, are illustrated and explained in further detail below.
The rectifier circuit 502 may generate the unregulated DC output voltage V1, as shown in
The micro-controller 512 may be used to control the voltage input to the stator windings 32 via a power module, such as the power module 514. An exemplary implementation of the power module 514 is illustrated in
The power module 514 may include the switching device driver 516 and the switching device 518. The switching device 518 may include individual switches 562-568. As described above, the individual switches 562-568 may be any of the generally known electronic switching mechanisms, such as FETs, MOSFETs, other transistors, etc.
In an implementation of the control circuit 500, the turning on and off of the IGBTs 562-568 is controlled in a manner so as to allow sufficient time to drain the current generated in the stator windings 32 due to magnetic collapse of the stator windings 32. For example, for the first phase 590, instead of turning off the IGBTs 562 and 566 simultaneously, when the IGBT 562 is turned off, the IGBT 566 is kept on for a time period sufficient to allow dumping of the magnetic collapse induced current of the first phase 590 through the IGBT 566 to ground. Similarly, for the second phase 592, instead of turning off the IGBTs 564 and 568 simultaneously, when the IGBT 564 is turned off, the IGBT 568 is kept on for a time period sufficient to allow dumping of the magnetic collapse induced current of the second phase 592 through the IGBT 568 to ground.
As shown in
The rotor position signal output from the photo-transistor 604 is input to the micro-controller 512. The micro-controller 512 determines the time period for each rotation or partial rotation of the rotor 16, as discussed below, based on the rotor position signal output from the photo-transistor 604, and calculates the speed of the rotor 16 based on the determined period. For example, if the rotor 16 has two poles, the micro-controller 512 may determine the period of each partial rotation of the rotor based on the time between two occurrences of a particular level or state of the rotor position signal. In some embodiments, each time one of the rotor poles rotates past the opto-sensing assembly 508, the rotor position signal changes levels or states two times, i.e., once for each edge of the one of the lobes 73a or 73b which corresponds to the pole rotating past the opto-sensing assembly 508. Thus, in some embodiments, after a rotor pole rotates past the opto-sensing assembly 508, the rotor position signal will be at the same level or state that the rotor position signal was at before the rotor pole rotated past the opto-sensing assembly 508. Calculation of the speed of a rotor using a time period for each rotation of the rotor is conventional. Consequently, calculation of the speed of the rotor 16 is not further described.
In another embodiment, an optical switch assembly may be used, such as the optical switch assembly 613 illustrated in
Of course, the drive assembly 18 and control circuit 500 are not limited to the embodiments described herein. Other embodiments are possible and may be used in conjunction with the present disclosure.
Conventional switched reluctance motors utilizing a micro-controller to control the commutation of power provided to the stator windings perform the same start-up routine whenever power to the circuit is turned on. However, if the power to the motor is turned off when the rotor is rotating at a high rate of speed and then quickly cycled back on (i.e., rapid cycling), using the same start-up routine often causes damage to occur to the electrical components in the motor. Typically, it is the IGBTs in the circuit that are most susceptible of damage if the motor is not allowed to coast for a period of time until the rotational speed falls below a threshold speed. A running re-start routine is described below to detect such a rapid cycling of power and to allow the rotor to coast until the rotation speed falls below a threshold speed in order to prevent damaging the IGBTs.
As previously discussed, switched reluctance motor operation is based on a tendency of the rotor 16 to move to a position where an inductance of an energized phase of the stator winding(s) 32 is maximized. In other words, the rotor 16 will tend to move toward a position where the magnetic circuit is most complete. The rotor 16 has no commutator and no windings and is simply a stack of steel laminations with a plurality of opposed pole faces. It is however, necessary to know the rotor's 16 position in order to sequentially energize phases of the stator windings 32 with switched direct current (DC) to produce rotation and torque.
For proper operation of the motor 10, switching should be correctly synchronized to the angle of rotation of the rotor 16. The performance of a switched reluctance motor depends in part, on the accurate timing of phase energization with respect to rotor position. Detection of rotor positions in the present embodiment is sensed using a rotor position sensor in the form of the opto-sensing assembly or optical interrupter 508.
One manner in which an exemplary system may operate is described below in connection with
Referring to
Upon power on, program execution begins within the micro-controller 512 at a specific memory location. In essence, the hardware initialization includes a series of instructions that configure the micro-controller 512 by assigning and configuring I/O, locating the processor stack, configuring the number of interrupts, and starting a plurality of period timers. The variable initialization includes installing sane default values to a number of variables, one of which is a speed dependant correction variable.
The program may remain in a stand-by mode until a user-actuated power switch is activated (block 705). The function described by the block 705 is discussed in further detail with respect to
In some embodiments, one or both of the voltage regulators 506 or 509 have internal temperature monitoring capabilities, in addition to or instead of the monitoring of the temperature of the micro-controller 512 as described above. For example, one or both of the voltage regulators 506 or 509 may include a thermal protection device (not shown) that measures the temperature of the voltage regulator 506 or 509 and shuts down its output voltage whenever the temperature reaches a threshold level, such as 150° C.
In other embodiments, temperature monitoring is also or alternatively performed using a heat sink (not shown). In one embodiment, the heat sink may be disposed parallel to a printed circuit board on which the control circuit 500 is implemented. The heat sink may be suitably coupled to the micro-controller 512 such that the micro-controller 512 may implement temperature monitoring based on, for example, the temperature of the environment in which the heat sink is disposed.
If an over-temperature is not detected (block 758), the control code may remain in stand-by 752 until it is determined that the user power switch is activated (block 762). For example, the control code may receive a signal indicating that the user has activated the power switch. Upon activation of the power switch, the code may return to the block 706 of
Returning to
In operation, the micro-controller 512 may utilize different speed routines, for example, a slow mode and a fast mode. However, immediately after initialization, the micro-controller 512 will determine a rotational speed of the rotor 16 by polling the opto-sensing assembly 508 in order to determine if the running re-start routine is needed before activating the slow mode (block 712). If it is determined (block 714) that the rotor speed is greater than a pre-determined value S1, such as for example, 9191 RPM, the method 700 will jump to a running re-start mode which is utilized to prevent damage to the IGBTs 562-568 after a rapid cycling of current provided to the motor 10. The rapid cycling of power to motor 10 is essentially a quick off/on while the motor 10 is already spinning. Cycling the power above certain speeds may confuse the slow mode routine (described below) and possibly blow one or more of the IGBTs 562-568. Therefore, after a rapid cycling of power, the running re-start routine may be used to initiate a delay that allows the rotational speed of the rotor 16 to decrease to a point where the firing angles, as calculated by the micro-controller 512, are fixed.
From a running re-start routine, if it is determined (block 714) after power on that the speed is greater than 9191 RPM, a retry counter is set (block 716), for example. It should be noted that the retry counter may alternatively be set upon initialization, or may be set at another point in the running re-start routine. A pre-determined time delay, such as 500 ms, may then be initiated (block 720). The rotational speed of the rotor 16 is then re-sampled (block 722). If it is determined (block 724) that the rotational speed of the rotor 16 is still greater than the pre-determined threshold SI, the routine will then check (block 730) to determine the value of the retry counter.
If it is determined (block 730) that the retry counter is not greater than 1, then an error may be generated (block 732) and the system may be shut down. In other words, this would occur when the retry counter has counted down consecutively from 20 to 1. This would indicate that a pre-determined time period would have passed. If it is determined (block 730) that the retry counter is greater than 1, then the retry counter is decremented (block 734) and the routine returns to the function described by the block 720 where another delay is initiated.
If it is determined (block 724) that the rotational speed of the rotor 16 is within a first range, such as being less than the threshold S1, then the routine will jump to activate a first control mode, such as a slow mode routine (block 740). In other words, in the disclosed embodiment, the rotational speed of the rotor 16 continues to be re-sampled for a pre-determined time if the re-sampled rotational speed continues to exceed the threshold S1. Those of ordinary skill in the art will readily appreciate that alternative methods of checking to ensure that the rotational speed of the rotor 16 has decreased to a safe level before jumping to the slow mode routine can be implemented. For example, a longer delay may be implemented in which the need to utilize the retry counter may be eliminated. A variety of other techniques may also be utilized.
When the slow mode routine is activated (block 740), the micro-controller 512 provides pulse width modulation (PWM) to whichever phase of stator windings 32 is ahead of the rotor poles 62 during start up to avoid large current spikes as the rotor 16 comes up to speed. The rotor position is typically known at startup from the state of the signal from the opto-sensing assembly 508. Effectively, each current pulse supplied to the stator windings 32 is chopped into many short (duration) current pulses until the rotor speed reaches a pre-determined speed. At that point, full pulses are applied to the stator windings 32. Transitions of the signal from the opto-sensing assembly 508 (e.g., transitions of the signal from a state corresponding to a logical high value to a state corresponding to a logical low value, or vice versa) may be polled, triple debounced, and disabled for a minimum period of time after a previous transition in order to reduce the chances of noise on the output signal.
In slow mode, the current input is duty cycled to limit the maximum IGBT on time in all cases. Additionally, there are two unique commutation states that reflect the present state of the signal from the opto-sensing assembly 508. At any time during the slow-mode routine 740-748, if a power-off indication is received (e.g., a user-actuated power-off switch is activated), the code may return to stand-by mode (block 750 of
The wave form 804 illustrates the high side of phase ‘A’ and the wave form 806 illustrates the low side of phase ‘A’. The wave form 810 illustrates the high side of phase ‘B’ and the wave form 812 illustrates the low side of phase ‘B’. It is further illustrated that at the point 814, the power to the motor 10 is switched on. The pre-determined power on delay (block 706) in
Returning to
In
With regard to torque, the fast mode routine may include determining a slope 771 based on a maximum torque of the motor at a lower operating load and a maximum torque of the motor (within a current limit) at a higher operating load. The slope may be determined 771, for example, by obtaining empirical maximum torque data for the motor when it is optimally configured for various operating loads, e.g., configured so that a maximum power at a given load is realized by adjusting the phase advance to an optimum level for each of the various operating loads. The empirical data may be plotted on a graph of maximum torque based on operating load or on a graph of phase advance vs. period, and the slope may be determined or estimated from the graph. In some embodiments, an empirically-determined slope may be first determined and then the slope value may be adjusted. Of course, besides empirical plots, other embodiments for determining the slope 771 based on torque may be possible.
With regard to the current motor speed, the fast mode routine may include determining the current speed of the motor 772 based on signals from the opto-sensing assembly 508. For example, the fast mode routine may determine a period of rotor revolution by determining a time between encoder/sensor falling edges (e.g., the time between two adjacent encoder/sensor 510 transitions from high to low), which may correspond to a complete revolution of the rotor for a rotor with one pole, or to a partial revolution of a rotor with more than one pole. For example, for a rotor with two rotor poles, a period may correspond to a time of a half-revolution of the rotor, and for a rotor with three poles, a period may correspond to a time of a third of a complete revolution of the rotor. In some embodiments, the speed of the motor 772 may have already been determined (e.g., block 746 or block 785).
The fast mode routine may include determining a phase advance based on the slope and the period (block 775). The phase advance may indicate an amount of time to advance a subsequent phase firing, and may be determined for every period of the rotor. In one embodiment, the phase advance may be determined by a formula:
ADVANCE=MLA−((MLV−PERIOD)/m)
where ADVANCE is the determined phase advance, MLA is a maximum load optimum advance, MLV is a maximum load speed corresponding to the MLA, PERIOD is the determined period, and m is the determined slope. The MLA and MLV may be correlated for a given load, and may be determined, for example, based on one or more data points of the empirical torque data used to determine the slope. In this example, the MLA may be a phase advance value corresponding to a particular load where the power of the motor is optimized, and the MLV may be the speed of the motor corresponding to the MLA for that particular load.
In some embodiments, the ADVANCE and the MLA may be represented in units corresponding to a timer count value, and the MLV may be represented in units of revolutions per minute. Similar to the slope m, one or both of the MLA and the MLV may be determined empirically and/or a priori. In some embodiments, one or both of the MLA and the MLV may be adjustable. The determined phase advance may be applied (block 778) to a subsequent phase firing corresponding to a subsequent period so that the subsequent phase firing occurs earlier by a time of ADVANCE. Thus, for a rotor with more than one pole, the determined phase advance may be applied to a subsequent partial revolution of the rotor.
In some embodiments, one or more additional parameters to be applied to subsequent phase firings may be determined (block 775). For example, the PERIOD and ADVANCE values may be used to determine a desired positive torque zone size (PTZ_SIZE), a phase dwell (PHASE_DWELL), a phase dwell complement (PHASE_DWELL_C), an amount of time to perform a phase advance calculation (CALC_TIME), and a dwell remainder (DWELL_REMAINDER) of a subsequent period. These parameters are described in further detail below.
With regard to the desired positive torque zone size (PTZ_SIZE), the PTZ_SIZE parameter may indicate a percentage of a physical positive torque zone. As previously discussed, as a rotor rotates between two adjacent, energized stator poles, a first angular portion may cause the rotor to move in the desired direction of rotation due to positive torque (e.g., “physical positive torque zone”) and a second angular portion may influence the rotor in a direction opposite to the desired direction of rotation (e.g., “negative” or “braking” torque zone). Thus, the first angular portion or positive torque zone represents an angular portion of the rotor/stator radial relationship where if a phase of the stator is energized, a torque in the positive direction would be produced. For a switched-reluctance motor configured in conjunction with at least a portion of the disclosures herein, the actual physical positive torque zone was determined to be about 90-95% of the angle of rotation between two stator poles. Applying current to stator coils outside of the actual physical positive torque zone (e.g., during the remaining 5-10% of the angle of rotation) resulted in braking of the rotor.
The desired positive torque zone size (PTZ_SIZE) may be equivalent to the actual, physical torque zone, or the desired positive torque zone size may be determined to be a subset of the actual physical positive torque zone. In some embodiments, the PTZ_SIZE may be pre-determined. For example, if the motor has a greater maximum power than required for its application, the desired positive torque zone size PTZ_SIZE may be set to a level less than the actual physical positive torque zone. In some embodiments, different desired positive torque zone sizes may be determined for different desired speed and/or power levels of the motor. For example, for a desired HIGH speed of the motor, a corresponding desired positive torque zone size may be approximately 62% of the angle of rotation between two stator poles, and for a desired LOW speed, a corresponding desired positive torque zone size may be approximately 55%.
The actual speed of the motor may be controlled based on a dwell time (PHASE_DWELL) of each phase in an energized state. The dwell time PHASE_DWELL may correspond to the PERIOD that was previously determined (block 772) and to the desired positive torque zone size PTZ_SIZE. The dwell time may indicate an amount of time of energization for each PWM pulse. In just one possible example that includes a motor with two rotor poles and two stator pole pairs, the dwell time may be determined by taking a percentage of a half-period corresponding to the desired positive torque zone size, e.g.: PHASE_DWELL=(PERIOD/2)*PTZ_SIZE. One of ordinary skill in the art will easily note and appreciate that a relationship exists between desired positive torque zone size, dwell time and percent duty of the motor. In particular, the desired positive torque zone size influences the dwell time and thus the percent duty of the motor.
The phase dwell complement parameter PHASE_DWELL_C may indicate an amount of time without energization for a PWM pulse. For example, in the motor with two rotor poles and two stator pole pairs, PHASE_DWELL_C may be determined by PHASE_DWELL_C=(PERIOD/2)−PHASE_DWELL. However, some finite (and usually fixed) amount of time is needed during each period to perform phase advance calculations (CALC_TIME). Thus, a dwell remainder for each period during which a subsequent phase is not energized may be determined by the equation:
DWELL_REMAINDER=PHASE_DWELL−ADVANCE−CALC_TIME.
In embodiments where two or more different desired speed levels are possible, the desired speed of the motor 10 may be selected or determined in a variety of suitable ways. For example, a user may select the desired speed via a user interface, such as via a mechanical selector or an electronic selector. For example, the user interface may include a user-operated switch assembly such as the mechanical switch assembly 610 or the optical switch assembly 613, via which the user may select a speed setting corresponding to the desired speed. The micro-controller 512 may then receive an indication of the desired speed of the motor 10 via the mechanical switch assembly 610 or the optical switch assembly 613. For example, as one of ordinary skill in the art will appreciate from
It will be appreciated that the desired speed of the motor may, in some embodiments, be a desired speed setting of the motor because the actual motor speed varies with, for example, the load being driven by the motor 10. As a more particular example, when the motor 10 is used in a vacuum cleaner, different brush roll belts may be used within the vacuum cleaner and each different brush roll belt may result in a different effective load being driven by the motor 10. Thus, any reference herein to a desired speed of the motor may denote a desired speed setting of the motor, such as a HIGH speed setting, and an actual resulting motor speed corresponding to the desired speed (e.g., desired speed setting) may depend upon the load and/or other factors. As noted above, the speed of the motor may be controlled by a dwell time of each phase in an energized state, and thus an indication of a desired speed (e.g., desired speed setting) may be used to determine a dwell time, as discussed in greater detail below.
Turning now to
In one embodiment, the potentiometer 532 is connected between two pins of the micro-controller 512. For ease of explanation, the labeled pins in the partial pinout of
Additionally, an output terminal of the potentiometer 532 may be located at an end of a sliding contact 534 of the potentiometer 532, and may be connected to input pin PB4 of the micro-controller 512. For example, one of ordinary skill in the art will appreciate from
In some examples, a rotatable mechanical dial (not shown) may be communicatively coupled to the sliding contact 534. The user may rotate the dial to correspond to a desired speed of the motor 10, which may cause the position of the sliding contact 534 to change, which in turn may vary the output voltage of the potentiometer 532. Preferably, the dial is continuously rotatable through a particular range, and the output signal of the potentiometer 532 is therefore an analog signal, such as an analog voltage. In this manner, the user interface has an infinitely selectable speed selection between a maximum desired speed and a minimum desired speed, although as described below, the analog signal from the potentiometer 532 may later be converted to a digital signal in some embodiments for use in speed control. In some embodiments, instead of a rotatable mechanical dial, a continuous electronic selector may be communicatively coupled to the sliding contact 534, e.g., a touch-activated electronic representation of a slide bar or rotatable dial displayed on a user interface screen, or other continuous electronic selector.
In other embodiments, however, the dial may be rotatable through discrete positions instead so that the output signal provided from the potentiometer 532 to the micro-controller 512 is a digital signal, such as a digital voltage. For example, the dial may be coupled to a rotary switch that is configured to snap to one of several discrete positions instead of remaining between two discrete positions. In this manner, the user interface has discrete levels of speed selection. Of course, a user interface for providing an indication of a desired speed of a motor may be implemented in a number of other suitable ways, such as by using a slider, a three-way switch, push buttons, etc. In some embodiments, a discrete electronic selector may be included for providing selection of discrete desired speeds.
As shown in
The ADC 536 may be coupled to input pin PB4 of the micro-controller 512 in order to receive the output of the potentiometer 532. As described above, the output of the potentiometer 532 may be an analog signal indicative of the desired speed of the motor 10, such as an analog voltage. The ADC 536 may convert the analog signal from the potentiometer 532 to a corresponding digital signal, such as a corresponding digital voltage. The digital signal may then be provided from the ADC 536 to the CPU 540 in order to control the speed of the motor 10.
In embodiments where the method 900 is used to implement the function described by the block 775 and/or the function described by the block 778 of
In another example, the desired motor speed may be received (block 902) from the controller of the motor itself. For instance, the controller (e.g., the micro-controller 512) may determine the desired motor speed based on some dynamically determined criteria (such as an operating condition or a detected environmental condition) and may communicate the determined desired motor speed to be received (block 902). In some embodiments, the desired motor speed may be received (block 902) at one or more controller inputs, such as when another component or entity communicates the desired motor speed to the controller via the one or more controller inputs. For example, in a vacuum having two controllers or CPUs (e.g., one controller corresponding to a canister portion and one controller corresponding to ahead portion), a different controller or CPU (not shown) may communicate a desired motor speed to the controller 512.
In some embodiments, the desired motor speed may be received (block 902) or determined by accessing or reading a memory location. For example, the controller may read or access one or more desired motor speeds that were previously configured or stored in one or more memory locations. In another example, the controller may read or access one or more memory locations storing indications of a motor profile or motor usage requiring certain respective speed level or levels (e.g., speed level or levels corresponding to use of the motor with a wet/dry vacuum, upright vacuum, light-weight vacuum, heavy duty, or light duty, etc.). For example, the CPU 540 of the micro-controller 512 may read or access a memory such as the memory 538 to retrieve the one or more desired motor speeds and/or the one or more indications of a motor profile or motor usage. The indication of the desired motor speed may be received (block 902) from one or more of the above discussed sources, or from any suitable source.
Continuing with the method 900, a signal corresponding to the desired motor speed may be generated (block 905). In some embodiments, such as when the indication of the desired speed is received (block 902) via a user interface (e.g., a mechanical switch, a touch screen selection, a rotatable dial, a sliding indicator, etc.), the user-generated indication may be converted (block 905) into the generated signal. In some embodiments, the generated signal (block 905) corresponding to the desired motor speed may be a digital signal such as a digital voltage or other discrete electrical communication signal. In other embodiments, the generated signal (block 905) corresponding to the desired motor speed may be an analog signal such as an analog voltage. In embodiments where the received indication of the desired motor speed (block 902) is an analog voltage or signal (such as an analog voltage received from the potentiometer 532), the user interface may provide the analog voltage or signal to the ADC 536 and the analog voltage or signal may be converted (block 905) into a digital voltage or signal using the ADC 536. In some embodiments, the function described by the block 905 may be omitted, such as when the received indication of the desired motor speed (block 902) is equivalent to the signal corresponding to the desired motor speed (block 905). As one example, in the case of a dial rotatable through discrete positions in order to control the position of the sliding contact 534, the received indication of the desired motor speed (block 902) may be a digital voltage, and the function described by the block 905 may be omitted.
A desired or target dwell may be determined (block 908) based on the generated signal corresponding to the desired motor speed (block 905). For example, in embodiments where the signal corresponding to the desired motor speed is a digital voltage, the desired or target dwell may be determined (block 908) based on a magnitude of the digital voltage. Other embodiments that determine the desired or target dwell based on characteristics other than a magnitude of the signal corresponding to the desired motor speed may be possible.
In an exemplary embodiment, however, the desired or target dwell may be determined (block 908) based on a magnitude of a digital signal or voltage. In particular, the desired dwell may be determined based on a mapping of magnitudes of signals, such as magnitudes of voltages, to dwell values. The mapping may be stored so that it is accessible by the controller of the motor, in an embodiment. In some embodiments, the mapping may include a plurality of ranges of magnitudes of voltages, where each of one or more of the ranges (and in some cases, each of all of the plurality of ranges) is mapped to a different dwell value. A particular range of the plurality of ranges of magnitudes of digital voltages may include therein the magnitude of the generated signal (block 905), and the target dwell may be determined (block 908) by determining the dwell value corresponding to the particular range. In some embodiments, the mapping between dwell values and respective ranges may be stored in a memory, such as the memory 538, and may be accessed, for example, by the controller to determine the desired or target dwell.
Each of the ranges 1002-1008 may correspond to a different desired or target dwell value. For example, if the magnitude of the digital voltage corresponding to the desired motor speed is in the first range 1002, then the desired or target dwell may be determined to be 35% of the angle of rotation between two stator poles, which in at least some embodiments may be expressed as 35% of half of the PERIOD that was previously determined (block 772). If the magnitude of the digital voltage corresponding to the desired motor speed is in the second range 1004, then the desired or target dwell may be determined to be 55% of the angle of rotation between two stator poles. If the magnitude of the digital voltage corresponding to the desired motor speed is in the third range 1006, then the desired or target dwell may be determined to be 75% of the angle of rotation between two stator poles. If the magnitude of the digital voltage corresponding to the desired motor speed is in the fourth range 1008, then the desired or target dwell may be determined to be 95% of the angle of rotation between two stator poles.
According to an embodiment, the desired or target dwell of 95% of the angle of rotation between two stator poles may correspond to the actual physical positive torque zone of the motor 10, and therefore to a maximum speed of the motor 10. Moreover, as discussed above, the micro-controller 512 may be configured to run the motor 10 at maximum speed, i.e., with a dwell of 95%, in the absence of any implementation of speed selection. For example, in some embodiments, the micro-controller 512 will cause the motor 10 to operate with a dwell of 95% when the potentiometer 532 is not present, e.g., not connected to suitable pins of the micro-controller 512. In this manner, the micro-controller 512 may be configured to perform the methods 700 and 900 when the desired speed of the motor 10 is variable, and to perform the method 700 without performing the method 900 when there is only one option for the desired speed of the motor 10.
Of course, the mapping 1000 of
In some embodiments, the mode according to which the micro-controller operates may be changed by the addition or removal of a physical connector within a control circuit, such as the control circuit 500. For example, the physical connector may be an electrical jumper, such as the electrical jumper 542 of
In one embodiment, the second mode may correspond to operation of the motor at a lower current mode, such as at a mode where the motor is configured to run at a particular speed setting, at one of two speed settings, or at one of more than two speed settings. For example, the second mode may correspond to operation of the motor according to either a desired HIGH speed of the motor or a desired LOW speed of the motor, as further described below. In one embodiment, the operation of the motor according to the second mode may correspond to operation of an upright vacuum cleaner. In some embodiments, the jumper 542 may include the potentiometer 532, and the jumper 542 and the potentiometer 532 may therefore be added to or removed from the control circuit 500 jointly.
In some embodiments having a user interface such as the mechanical switch assembly 610 or the optical switch assembly 613, the desired or target dwell may be determined based on a speed setting selected using the user interface. For example, the mechanical switch assembly 610 or the optical switch assembly 613 may allow a user to select from among two speed settings. According to an embodiment of the mechanical switch assembly 610, the user may push (or “rock” or “toggle”) the mechanical switch 611 forward once to place the motor in a power on mode and select a first speed setting, and the user may push (or “rock” or “toggle”) the mechanical switch 611 forward a second time to select a second speed setting with the motor in the power on mode. The first speed setting may correspond to a desired HIGH speed of the motor, and the second speed setting may correspond to a desired LOW speed of the motor. In one embodiment, the desired HIGH speed of the motor may correspond to a desired dwell of approximately 62%, i.e., a dwell that corresponds to approximately 62% of the angle of rotation between two stator poles. The desired LOW speed of the motor may correspond to a desired dwell of approximately 55%, i.e., a dwell that corresponds to approximately 55% of the angle of rotation between two stator poles, in an embodiment.
In some embodiments where the micro-controller 512 operates in a first mode in the presence of a physical connector such as a jumper, and a second mode in the absence of the physical connector, the first mode may correspond to a stored mapping such as the mapping 1000, and the second mode may correspond to a mode with two speed settings selectable by a switch assembly, such as HIGH and LOW speed settings selectable by the mechanical switch assembly 610. In other embodiments, the second mode may correspond to a mode with more or less than two speed settings, and the speed setting(s) may be selectable in any suitable manner, such as via a touch screen display, a slider, etc.
In some embodiments, the first mode and the second mode may each correspond to different stored mappings, one of which may be, but need not be, the mapping 1000. In other embodiments, the first mode may correspond to a mode with two selectable speed settings, or more than two or less than two selectable speed settings, and the second mode may correspond to a stored mapping such as the mapping 1000. In other embodiments, both the first mode and the second mode may correspond to modes with two, more than two, or less than two selectable speed settings.
In another example, rather than discrete levels of mapping between target dwells and voltage ranges, the mapping may be more continuous, such as a smooth function. For instance, the mapping may be stored as computer-executable instructions for a function that are executed by the controller to determine the desired or target dwell. Such a function may be used, for example, in any of the above situations described with reference to example mappings such as the mapping 1000. For example, the desired or target dwell may be determined as a function of an indication of a desired speed of the motor, as a function of a digital signal corresponding to an indication of a desired speed of the motor, or as a function of any other suitable parameter.
Returning to
For example, the micro-controller 512 may determine (block 910) an amount of time of energization for the PWM pulse based on the PERIOD that was previously determined (block 772). In the example of a rotor having two poles, the PERIOD determined (block 772) corresponds to a half-revolution of the rotor and thus to a 180-degree angle of rotation. As will be recognized by one of ordinary skill in the art from the disclosure herein, the desired or target dwell value corresponds to a percentage of a quarter-revolution of the rotor when the rotor has two poles. Thus, to determine the amount of time of energization for a PWM pulse having the desired or target dwell value, the micro-controller 512 may determine a corresponding percentage of half of the PERIOD determined (block 772). For example, for a desired HIGH speed of the motor 10 having a corresponding desired dwell value of 62%, the amount of time of energization for a PWM pulse having a dwell of 62% may be determined to be (0.62)*(0.50)*PERIOD. In some embodiments, the time of energization for PWM pulses may be held constant while synchronizing the motor 10, in order to maintain a particular speed.
The determined length of the PWM pulse may be communicated (block 912), and the PWM pulse having the determined length may be applied to a stator (block 915). In one of many examples, the controller may communicate, to a stator, the length of the PWM pulse or communicate a signal corresponding to the length of the PWM pulse (block 912), and one or more PWM pulses having the determined length may be applied (block 915) to the stator so that one or more phases of the stator windings may be energized corresponding to the length of the PWM pulse, and, accordingly, the desired or target dwell may be effected in the one or more phases of the stator windings. For example, the micro-controller 512 may communicate (block 912) the length of the PWM pulse to the stator windings 32 via the switching device drivers 516 and the switching device 518, as described above with respect to the control circuit 500. As such, the effected dwell may adjust (e.g., increase) the speed of the rotor of the motor to the received indicated desired speed (block 902). More particularly, in some cases and as discussed above, the effected dwell may adjust the speed of the rotor to the desired speed setting, and the actual quantified speed of the rotor may vary with factors such as the load being driven by the motor.
In embodiments where the method 900 is used to implement the function described by the block 775 and/or the function described by the block 778 of
Wave forms illustrating an embodiment of the fast mode routine 770 are shown in
The waveform 1215 illustrates the amount of time during each period required to perform a calculation of the advance of a subsequent period (ADVANCE_CALC). Reference 1218 illustrates a period (PERIOD) or time between falling edges indicated by the opto-sensing assembly 508. Reference 1220 illustrates a determined advance (ADVANCE) of a subsequent Phase ‘B’ energization. Reference 1222 illustrates the dwell time (PHASE_DWELL) of the subsequent Phase ‘B’ energization, reference 1225 illustrates a dwell complement (PHASE_DWELL_C), and reference 1228 illustrates a dwell remainder (DWELL_REMAINDER).
In some embodiments, period timers may be used in conjunction with an interrupt routine upon receipt of an indication of a falling edge of a signal from the opto-sensing assembly 508. In the context of micro-controller design, an interrupt is an asynchronous event that causes an immediate transfer of user program flow from its current execution loop to an interrupt service routine (ISR). The purpose of interrupts is to provide a quick, deterministic response to an external event without the need for constant polling in the main foreground program routine. An ISR is just like a normal subroutine of processing instructions with one exception. That is, because the ISR may be called or invoked at almost any time, independent of the current foreground execution loop, special care should be take to ensure it does not adversely affect the main program.
In any event, the period timers may be 16 bit countdown timers, 8 bit countdown timers, or any suitable timers. The resolution of the timers corresponds to the crystal within the pulse generator 572, which may be approximately a 20 MHz crystal, a 10 MHz crystal, or any suitable crystal. As would be understood by one of ordinary skill in the art from the disclosure herein, suitable modifications may be made to the control circuit 500 (e.g., FIGS. 14 and 15A-15G) and/or the instructions stored in the memory of the micro-controller 512 and executed to perform the method 700, depending upon the period timers and crystal that are implemented. One of the period timers may be designated timer 1 (T1) and may be dedicated to the fixed-width PWM acceleration control. As the dedicated timer T1 resets corresponding to a falling edge of the signal from the opto-sensing assembly 508, fixed-width pulses may be synchronized with the changing periods of the motor.
In some embodiments, one of the timers may correspond to the fast mode or phase-advance acceleration routine. In some embodiments, such a single timer may be repeatedly used to coordinate various parameters for phase control during the fast mode. During fast mode, a sequencer may operate throughout the duration of a single period to sequentially load values determined by the fast mode routine (e.g., block 770) into the single timer. When a presently loaded value expires, a next value may be loaded into the single timer. Of course, other embodiments of one or more timers using other types of units and/or using other techniques for coordinating phase control during the fast mode may be contemplated and used in conjunction with the present disclosure, along with any suitable modifications to the control circuit 500 and/or the instructions stored in the memory of the micro-controller 512.
In another embodiment, an additional timer or other memory storage location (not illustrated) may be used to track an operational speed of the motor. For example, the additional timer or memory storage location may reflect whether or not a user has indicated a desired “HIGH” or “LOW” speed setting of the motor. The fast mode control routine may determine the desired positive torque zone size based on the value of the additional timer, and thus may affect the dwell time and the available torque produced by the motor based on the indicated speed setting. In some embodiments, the additional timer may be initialized to correspond to the desired “HIGH” speed setting at motor start-up.
The dashed line 1250 illustrates that without torque-based advance, phases were fired too early throughout the transition from slow mode to fast mode (reference 1255), i.e., in the area of negative torque, and thus braking was incurred. The solid line 1252 illustrates that with electronic, torque-based phase advance, the net positive sloping torque has been improved by a better handling of phase control. Here, the transition from slow mode to fast mode is demonstrated to be extremely efficient—almost a perfect step function (reference 1258). Additionally, as braking is significantly decreased, the fast mode code control with torque-based advance was observed to be much faster and audibly quieter.
As previously discussed, a threshold motor speed may be defined (e.g., S1 of
To illustrate,
As the motor accelerates, the period and the resulting desired dwell time decreases until the ideal, desired dwell time becomes shorter than the magnitude of a fixed-width PWM pulse (e.g., (0.64*yn)<x). At this speed and at greater speeds, phase-advance control may dominate the fixed-width PWM pulse control and may override fixed-width PWM control. Current spikes may no longer be a concern at these higher speeds, so each phase may be de-energized in correspondence with the phase-advance control. In this embodiment of the motor, the desired dwell time becomes shorter than the fixed-width PWM pulse at about 19,200 rpm.
Turning back to
The wave form 1408, showing the PWM applied to phase ‘A’ without employing the transition routine of
In order to alleviate the risk of saturation or malfunction of the IGBTs 562-568, the micro-controller 512 may execute a transition routine, such as the transition routine of
For example, a PWM pulse may be applied (block 1104) to the phase of the motor following the phase to which pulse width modulation was disabled (block 1102), before another determination of the speed of the motor 10 is made. For example, if a PWM pulse was disabled (block 1102) which would otherwise have been applied to phase A, a fixed-width PWM pulse may thereafter be applied to phase B (block 1104) before the next check of the speed of the motor 10. In another embodiment, the pre-determined threshold speed of the motor 10 may be low enough so that after the speed of the motor 10 drops below the pre-determined threshold, two or more fixed-width PWM pulses are applied to each phase during each period. Accordingly, implementing the function described by the block 1104 may first include applying a fixed-width PWM pulse to phase A that is not adjacent in time to the phase-advanced PWM pulse that was applied to phase A before the transition routine. Implementing the function described by the block 1104 may then include applying one or more fixed-width PWM pulses to phase B, as discussed above.
Continuing as to
In any event, it will be appreciated that the disabling 1102 of PWM upon detection of a transition from fast mode to slow mode provides increased protection against saturation and/or malfunction of the IGBTs 562-568. Because, as a result of the disabling 1102, the micro-controller 512 does not provide PWM to phase A of the stator windings 32, a full slow mode PWM pulse does not occur immediately after the falling edge of the signal from the opto-sensing assembly 508 at which it is determined that the speed of the motor has dropped below the threshold S1. As a result, and as may be seen from the wave form 1410, no such pulse is adjacent in time to an advance phase energization pulse applied while the motor is still in fast mode. Therefore, the aforementioned back-to-back high pulses do not occur during the transition from fast mode to slow mode, and the risk of saturation and/or malfunction of the IGBTs 562-568 is significantly reduced or even eliminated.
Although the forgoing text sets forth a detailed description of numerous different embodiments of the invention, it should be understood that the scope of the invention is defined by the words of the claims set forth at the end of this patent. The detailed description is to be construed as exemplary only and does not describe every possible embodiment of the invention because describing every possible embodiment would be impractical, if not impossible. Numerous alternative embodiments could be implemented, using either current technology or technology developed after the filing date of this patent, which would still fall within the scope of the claims defining the invention.
Thus, many modifications and variations may be made in the techniques and structures described and illustrated herein without departing from the spirit and scope of the present invention. Accordingly, it should be understood that the methods and apparatus described herein are illustrative only and are not limiting upon the scope of the invention.
The present application claims the benefit of U.S. Provisional Patent Application No. 61/442,598, entitled “SYSTEM AND METHOD OF CONTROLLING THE SPEED OF A MOTOR BASED ON DWELL,” filed on Feb. 14, 2011, the entire disclosure of which is hereby incorporated by reference herein for all purposes.
Number | Date | Country | |
---|---|---|---|
61442598 | Feb 2011 | US |