Washing controls have used power inverters to control motor speeds for years. Variable-speed control enables a significant simplification of the mechanical system by replacing a clutch and gearbox with a belt drive. Washers in North American commonly use a three-phase induction motor with tachometer feedback. The drive typically uses slip torque control during the washing cycle and field weakening for high-speed spinning. Compared to drives that do not provide field weakening, this simple mechanical system enables a higher spin speed that extracts more water from the clothes, which reduces the energy the dryer consumes.

To gain further energy savings, appliance engineers are now introducing laundry algorithms that minimize the hot water that the washing cycle consumes. However, the new algorithms require a higher dynamic response from the drive train so manufacturers seek to replace the belt-drive system with direct-drive permanent-magnet (PM) motors.

Compared to a three-phase induction motor, a direct-drive PM motor uses a larger number of motor poles to generate higher torque at lower speeds for the same power input. The ratio of the drum speed to the motor electrical frequency remains almost the same, but instead of stepping down the motor speed using, for example, a 10-to-1 pulley ratio, increasing the motor-pole count by a factor of 10 achieves the same effect.

Induction motors require a relatively large number of slots per pole and a small air gap that makes it difficult to build motors with high pole counts. PM motors provide much more construction flexibility and are the best choice for the direct drive. **Fig. 1** shows a direct-drive motor with an external rotor that connects directly to the washer drum. Concentrated stator windings make it possible to design the motor with a “pancake” construction that easily fits into the washing machine's available space.

Though PM ac motors provide advantages over induction motors for washer applications, one critical issue to solve is rotor position sensing. Transformer action generates the rotor field in the induction motor, so the field is always synchronous to the stator current. However, the motor-drive circuit must measure the rotor position in the PM machine to synchronize the stator current with the rotor field. Given the rotor position, it is possible to drive the PM ac motor efficiently because the drive circuit can align the stator current to the optimum angle relative to the rotor field.

In the direct-drive motor shown in **Fig. 1**, Hall Effect sensors detect the rotor-magnet position. However, designs that eliminate these sensors alleviate the reliability issues that result from mounting the sensor electronics assembly within the motor housing.

One popular sensorless algorithm measures the rotor-flux position based on the stator winding's back EMF. This algorithm is suitable when driving the PM motor in six-step mode with rectangular winding currents. The algorithm is easy to implement but produces high torque ripple because of delays in current commutation due to the winding inductance.

One of the major drawbacks of this scheme is that the torque ripple causes unacceptably high acoustic-noise levels in the direct-drive motor, as the rotor acts like a loud speaker. Another important problem with the back-EMF-sensing algorithm is that it does not allow high-speed field weakening, which is required for high-speed spinning.

### Sensorless Control

A sensorless control algorithm can use motor-winding-current measurements to indirectly determine the rotor-flux position. This algorithm allows for sinusoidal currents to drive the motor. These sinusoidal waveforms produce low torque ripple, which minimizes the acoustic noise. The control method also easily provides for field-weakening operation for high-speed spinning.

Typically, sensorless control algorithms determine the rotor-flux position based on the winding's back EMF — an indirect measurement that derives from the motor circuit model. The advantage of this approach is that it is applicable when sinusoidal-current waveforms drive the motor, which produce smooth, glitch-free torque.

The control diagram in **Fig. 2** describes the field-oriented-control (FOC) algorithm for the permanent magnet synchronous motor (PMSM). A feature of this algorithm is that it transforms the three-phase ac currents in the stator windings into a rotating reference frame where they appear as two dc-current components representing the stator current's torque and flux components.

The reference transformations occur in two stages. The first stage calculates the equivalent stator currents in a two-phase machine model. The second performs a vector rotation to calculate the stator currents' effect in a reference frame synchronous with the rotor shaft.

The two-phase stator-current model forms the basis for the rotor-flux-estimation algorithm, which is defined as:

where ψ_{R} is the rotor flux.

As shown in **Fig. 3**, the inputs are the stator voltages (v_{α} and v_{β}) that the drive system provides and the stator-current measurements (i_{α} and i_{β}). Calculations for the winding voltage's back-EMF components use the stator-current measurements as input. Integration of the back-EMF components produces two rotor-flux components that are sine and cosine functions of the rotor angle.

The second stage in the rotor-angle estimator is a phase-locked loop that forces the sine and cosine of the angle estimate to track the sine and cosine rotor-flux functions, respectively. This approach has the advantage of delivering both rotor-angle and velocity estimates, and is independent of the rotor-flux magnitude.

The controller performs the current-control loop calculations within the rotating reference frame and compensates for the winding resistance, inductance and back-EMF magnitude. The input to the torque current loop comes from the outer velocity-control loop that compensates for the mechanical load's dynamics. The field-weakening controller sets the flux-current loop input to zero at low speeds to maximize the output torque.

At the motor's base speed, the back EMF due to the PM flux reaches the dc bus voltage. At this speed, drives without field weakening would be unable to further increase the motor speed because, with the back EMF equal to the dc bus voltage, there is no excess voltage available with which to drive additional current.

However, the field-weakening controller can provide a negative input to buck a fraction of the PM flux that couples to the winding. This allows the field-weakening controller to set motor speeds beyond the base speed. The advantage of the sensorless FOC implementation is that it delivers smooth torque with good dynamic control — without the use of any position sensors.

### Algorithm Implementation

The hardware platform for the washing-machine controller consists of a digital control IC and an integrated power module, as appears in the application circuit in **Fig. 4**. An embedded 16-bit motion-control engine (MCE) implements the sensorless control algorithm that performs all of the control calculations using hardware macro blocks.

There is an independent 8-bit microcontroller for the application software that communicates with the MCE using shared memory. The MCE connects directly to the motor-control peripherals that interface to the inverter power module that drives the motor.

The PWM unit calculates the duty-cycle timing of the power transistors to control the voltage applied to each phase of the motor while the analog-to-digital converter (ADC) samples the motor currents flowing in the dc-link shunt resistor. The high-voltage IC (HVIC), gate-drive circuit interfaces between the 3.3-V logic-level outputs of the digital control IC and the power transistors. The HVIC also includes inverter-protection features such as overcurrent shutdown that also use feedback information from the dc-link shunt.

The digital implementation of the FOC algorithm that appears in **Fig. 5** has the same basic structure as that in **Fig. 2**, with an outer velocity loop and two inner current loops for controlling the motor torque and flux. The other control functions include the rotor-angle estimation, field weakening for high-speed operation and the phase-current reconstruction block. Practical implementations need additional functions such as those that the startup-sequencer and fault-detection blocks provide.

Each control-loop compensator has a proportional-plus-integral (PI) block with a limiting function at its output. The output of the velocity loop, which is the reference input to the torque loop, is limited so that the controller does not drive too much current into the motor. The controller limits the current-loop outputs to a voltage range that the power inverter can deliver. An output from each limit block halts the integration upon reaching the limit, to prevent unwanted integrator windup while the controller is saturated.

The vector-rotation block (e^{jθ}) transforms the current-loop outputs to ac quantities in the stator-reference frame. The two-phase stator-reference voltages directly feed the space-vector PWM block that controls the voltages to the motor since the modulation algorithm has an embedded two- to three-phase transformation.

The most difficult part of the rotor-angle-estimator implementation is in the low-speed range. The flux-estimator algorithm's integrators have a low frequency cutoff to avoid saturation due to dc offsets. At start up, the back EMF is zero and so the motor must start without position feedback.

The first stage of the startup algorithm parks the rotor in known position by driving dc currents into the stator windings. In the second stage, the rotor flux estimator is in open-loop mode, and the estimator's angular velocity output signal increases at a constant rate. In this mode the torque-reference current is a constant value to deliver a torque that will accelerate the motor at the rate equal to the angular velocity output of the rotor-flux estimator.

If the motor torque is greater than that which the system requires to match the estimator acceleration, the rotor will advance in phase and move out of optimum alignment. However, since the motor torque function is a cosine function of this alignment, the rotor angle advances until the motor torque exactly matches the target value.

At 5% of the rated velocity, by which point a measurable level of back EMF develops, the estimator switches into the closed-loop mode. The feedback loops are then controlled by the estimated angle and estimated speed signals from the rotor-flux estimator.

### Implementation Issues

Designers must face several practical considerations when implementing the control algorithm in fixed-point hardware. The most important decision is the selection of control-variable scaling, which must allow a good dynamic signal range while avoiding calculation overflow. The resolution of the digital-to-analog interface circuits could define the control-variable scaling, but this does not ensure numerical stability of the control-loop functions. Fixed control-variable scaling simplifies the design of the control-loop functions with the minor additional complexity of the feedback-gain scaling.

Since velocity is a user input, its scaling requires the highest resolution. To define the velocity scaling for a 16-bit platform, the maximum operating drive speed is set to equal +16383(˜2^{14}), which allows 1 bit of headroom in case of overshoot.

The velocity value that the rotor-angle estimator calculates is the change in rotor-angle count in every control-loop cycle. The scaling of this value depends on the loop sample rate, the number of motor poles and the maximum rotor-angle count. The feedback-gain scaling is then the ratio of 16384 to the angle-estimator output at the maximum operating speed.

Similarly, the current-variable scaling is defined by setting the name-plate-rated motor current equal to +4095 (˜2^{12}) counts. This allows sufficient headroom for the current controller to operate the motor in short-term overload. The gain of the current-feedback circuits depends on the current-sense resistor values, the buffer amplifiers' gains, and the ADC's input range and resolution. The current-sense resistor is also useful for protection.

The value selected should trip the power inverter before the motor current reaches its demagnetization limit. The buffer amplifier's gain defines the operating range of current-control loop since the ADC will saturate when the input signal is out of range. The resolution of the vector-rotation block, which requires all inputs to be in the 11-bit-plus sign range, sets the voltage scaling in the case of this hardware implementation.

The actual voltage scaling is a function of the maximum voltage count and the dc-bus voltage. However, the dc-bus voltage can change with either input ac voltage or the load, and so a bus-voltage measurement contributes to the scaling calculation.

### Control Algorithm Tuning

The final stage in the control algorithm design is in the calculation of the feedback-gain parameters. The process usually involves an element of trial and error, but there are design tools that provide close-to-optimum values. Pole-zero placement is a well-known technique that works well with systems such as the current-control loop, whose parameters are given to easy measurement.

The system model of the current controller in **Fig. 6** illustrates the technique. Gain elements, which the selection of voltage and current scaling define, model the PWM-inverter and current-feedback circuits. A continuous-time-domain model simplifies the figure, but a sampled-data model only requires some additional scaling of the integrator-gain parameter.

As shown in **Fig. 6**, the PI-controller gains are calculated in three stages. First, to reduce the order of the loop, select the ratio of the PI compensator gains so that its zero cancels the pole in the motor-winding model. Next, select the integral gain so that the closed-loop bandwidth matches the target specifications. Finally, scale the integral-gain parameter by half of the sample period to calculate the gain in the digital implementation.

The calculation of gain parameters for the current loop is straightforward, but the next section describes some of the tools for tuning the velocity loop when driving the type of complex load found in washing-machine applications.

### Simplifying Drive Commissioning

The washing-machine design platform includes a digital IC with the control algorithm already embedded (**Fig. 7**). The MCE implements the algorithm in hardware based on parameters and variables that the shared-memory area stores. One of the available design tools is a spreadsheet that calculates the controller constants that match the motor parameters and system specifications.

The second tool is MCEDesigner, which transmits the controller constants from a PC to an interface program running on the embedded 8051 microcontroller. The 8051 copies the parameters to the block of shared memory before the MCE starts running the motor.

Another important function of the 8051 interface software is to capture trace data from the MCE, which gives the user access to all the control-system variables. MCEDesigner also generates speed profiles that allow users to evaluate drive performance in the washer application. The combination of an embedded motor control algorithm and easy-to-use evaluation tools simplifies the evaluation of direct-drive motors for washer applications.