6.111 Motors

Slide 1

Many of you will want to use motors in your project. Projects are much more appealing if they do something other than sit and blink lights. Motion is eye catching, whether it be a moving car, a pointing device, a robot, or something else.

Slide 2

Often, it is easy to move something; we simply generate a force in the desired direction. However, it is hard to control the actual amount moved or the velocity of movement. For the moment, we will concentrate on controlling position, though a similar approach can be used for controlling velocity, etc.

The use of negative feedback is a powerful method for controlling a variable. We measure the variable and subtract it from the desired value and use the resulting difference as an error signal to drive the system towards the desired value.

We see a block diagram of a negative feedback servo system along with its transfer function. To be useful, we require the transfer function to be stable. That is, the zeros of the denominator must be in the left half plane. If some zeros are on the j omega axis, the system will oscillate. If they are close to the j omega axis, then there will be a lot of ringing for a step change in the input position, x. We design such a servo system by controlling the position of the dominant poles and zeros, that is, those closest to the j omega axis.

A desirable characteristic of this negative feedback system is that the output, y, settles down to the input, x, after a little while. This design goal is reached by putting an integrator into H(s).

Slide 3

Perhaps unfortunately, we do not have control of all parts of the servo. The system dynamics, resulting from the masses, springs, and losses of the system, are often beyond our control. Some people actually tune these parameters, such as changing the springs or shock absorbers used in a car, but most of us digital designers are stuck with what we get.

We can, however, control the characteristics of a large amount of the servo system as indicated by the dotted area of the block diagram. Earlier, analog circuits (and even mechanical systems) were used to implement servo systems. We will implement our servo systems digitally within our FPGA. We must be aware of the fact that digital implementations can have significant delays; indeed, these delays can sometimes be stochastic.

Slide 4

There are many different ways to measure the position of something.

There are two main analog ways to measure position.

A variable resistor can be used. This resistor can be linear or rotary and it can vary linearly or logarithmically with position. This is a very simple method. The accuracy is determined by the potentiometer. The noise of the resulting signal is influenced by the power supply noise. Naturally, one should include a calibration step.

Another method is termed a resolver. Two sinusoidal signals are produced and are used as input to a system which then calculates the position. The resolver cosine and sine signals can be realized magnetically. This puts little load on the system being measured. Resolvers are not often used in 6.111 projects.

Slide 5

A common digital way of measuring position is to use an LED, a photo sensor, and a sensing ring.

When the transparent part of the sensing ring allows the light from the source (usually an LED), the photo sensor detects the light. The accuracy of the angular position determination depends on the extent of the transparent sector. This arrangement is only good for determining a small number of positions, usually one.

Slide 6

To measure many absolute positions, we can use a number of sensing rings in parallel. Notice that the clear area of each sensor occupies half the angular rotation. These are arranged so that the sensing photo sensor outputs form a binary number in a Gray code. Small amounts of noise or jitter in angular position only result in a single bit change.

We usually think of the resolution of the encoder, which for N bits requires the log to the base 2 of N. However, we could multiply this by an appropriate gear ratio.

Slide 7

A two-phase encoder is a scheme to have a high resolution with only two rings. Each ring has equal bands of transparent and opaque sectors. The two photo sensor outputs count in a Gray code. This count is either up or down depending on the direction of rotation.

Slide 8

Here is a circuit used with a two-phase encoder. The clock for the up/down counter is the AND of the two photo sensor outputs, and the latch determines whether the counter counts UP or DOWN.

Slide 9

Waveforms for the circuit are shown on this slide. The counter operates on the positive (or rising) edge. Which edge is determined by the direction of rotation. This rotation direction also determines when the up/down control signal is set or reset so that this control signal changes on the falling edge of the clock.

Slide 10

Another way of making a two-phase encoder is to use a single ring but have two photo sensors displaced from each other by half a band. Another ring can be added to the wheel along with a sensor to determine the "home" position.

Slide 11

A DC motor is common, largely because it is simple and cheap. It is the drive motor used with remote control cars, etc. A simple model of a resistor in series with a voltage source is quite adequate. The voltage source is proportional to the rotational speed. The torque is given by the same proportionality coefficient times the current.

Slide 12

We can specify the amount of torque by setting the current. Then the speed can be measured and negative feedback can be used to attain the desired speed.

Alternately we could use the strategy "full speed ahead" and apply a current and stop when reaching the desired position.

Slide 13

Stepper motors can behave "digitally" so they are very popular with us digital designers. They almost always have a permanent magnet rotor and rotate a fixed amount per "step".

Slide 14

There are two styles of windings for the stator or stationary part. The unipolar or bifilar winding is easier to drive than the bipolar winding but it is less efficient. Efficiency usually doesn't matter much for 6.111 projects.

Slide 15

Here is a circuit for driving bipolar windings. Note that driving the upper transistors is a bit tricky. Don't forget diodes are required when driving inductive loads!

Slide 16

You need only half as many transistors for driving a bifilar winding. This is even easier as we can use stepper motor drivers which have four transistors in a single package. It is easier to drive the individual transistors. Again, don't forget the diodes and, yes, the amount of current drive required for most stepper motors is large. Don't use your 5 volt digital power supply - use a separate power supply to produce the stepper motor drive currents.

Slide 17

A nice thing about stepper motors is that they can run in either direction. (So can most other motors.) Here are strategies for driving either bipolar or unipolar windings.

Slide 18

Stepper motor dynamics are important. A motor won't step if the load is too big. The time taken per step is a function of the rotational speed. The longest time per step is when the motor is stationary. To go at the maximum speed, we can start slowly and ramp up the step rate as the speed increases and then ramp down the step rate before we get to the stopping place.

Repeating an earlier admonition, don't use your 5 volt digital power supply - use a separate power supply to produce the stepper motor drive currents. You really don't want the motor drive noise coupled into your digital circuit.