At 04:16 PM 11/24/99 +1300, you wrote: >Hi, has anyone got, or can they point me to, info on torque control >of DC motors ? > >I've got a 1/2HP 12V DC motor, PWM (10kHz) speed-controlled by >an IRF151 to ground. The F84 has 8 pushbuttons for Stop, Full and >6 fixed speeds, which works OK, but the customer's needs have >changed and would like better speed regulation under a now variable >load. You can use a sample-hold to read the back EMF from the motor during the time the IRF151 is off. This voltage is proportional to the motor speed - essentially the motor acts as a generator during this time. I'm assuming the motor is a permanent magnet type. The sample-hold can be a 4066 analog switch, a capacitor and an opamp configured as a voltage follower or non-inverting amplifier. Be sure to use a series resistor and a 15V zener across the input to the 4066 or it won't last long. Load the voltage with 1K or so and sample a few microseconds after the transistor turns off to reduce pickup of transients. Then lowpass filter the voltage and amplify it so you can read it with a DAC. Use that to control the PWM. The lowpass filter can just be a resistor and a cap, 10K and .1uF might do for a start. I used this with a 12V 1/4HP motor with 1KHz PWM and the results were quite good, the motor speed stayed constant around 2% over the full range of loads. A possibly simpler way would be to use a toothed disk mounted to the motor shaft with a slotted photosensor on the edge, you could read the time between pulses and use that to adjust the PWM. Or if that's not practical, you could mount a tiny magnet to some rotating part such as a pulley (often nonmagnetic) and use a hall effect sensor to pick up the time between rotations. This will work up to around 15,000 rpm. Radio Shack sells small cobalt-samarium magnets (about 1/8" diameter), these should work OK. Digi-Key has a variety of Hall-effect sensors, pick a sensitive one so you don't have to place the sensor too close to the rotating part. Maris