I have a 110v 5amp universal drill motor. I wish to design a motor
controller which will allow speed and direction control, and interface at
TTL to a PIC uC. I can run the motors in AC or DC. The motor is a series
or universal type which requires the polarity to be switched at the coils in
order to change direction. There are 4 wires going to the motor, 2 for the
stator and 2 for the rotor coils. Shorting either side of the coils will
change the motor's direction.
I have looked at crydom.com solid state relays to switch coil
polarities, but it would required 6 relays for each motor. ( running on DC
and PWM the relay ) I also have looked at using igbt/mosfet combo, but I
would still need to find a way to change polarity at the coils...
Can anyone point me to any designs/schematics/appnotes available
somwhere on the web to accomplish this?
Well, besides 110v DC or AC being exceeding dangerous, nowadays they hold
people liable for damages or injuries related to this too. It makes it
difficult for people to want to offer advice as to how to do this. Lawyers
I am not responsible if you injure or kill yourself in this endeavour, or
cause any damages.
Are you wanting to run the motor off of single phase AC or as a DC motor?
Are you wanting to use the motor as a series wound motor or a shunt wound
This motor isn't a compound wound motor is it?
If you are wanting to run the motor as a simple DC motor then a circuit like
this would work OK
Depending on the MOSFET supplied, you might have to change it out for a
higher voltage rated transistor.
Changing directions on a 110v DC motor under power is a spectacular
undertaking. makes for a spectacular parts explosion, smoke, or fireworks
too. For safety reasons, you would have to slow the motor down, stop the
motor, then reverse direction and power it back up. Otherwise the reaction
is like trying to jam your car into reverse at 60 mph, and you succeed.
Thus you need to program the MCU to never allow this condition to occur.
I am planning to use some www.irf.com IR2104 half bridge motor controllers
to drive N-channel MOSFETS at 130vdc for some motors I have. But I haven't
got around to it yet. But I have used the chips to build H bridge motor
controllers to run motors up to 48v and 120amps so far. The IR2104's are
rated up to 600 volts so they should work OK. The IR2104's higher voltage
cousin is rated up to 1200v. The IR2104's drive the IGBT modules quite well
I would use high speed optocouplers from the MCU to the motor controller
also. You need high speed optocouplers as the regular ones are too slow at
higher PWM frequencies. The main disadvantage that the IR2104 has is that
you cannot go to 100% duty cycle as the PWM pulses are used in the charge
pump circuit for the MOSFET gate voltage. Thus you can't go over 90% - 95%
duty cycle. But I haven't found that to be a problem for my purposes.
www.IRF.com happens to have a lot of nice MOSFETS to choose from too. I
would choose MOSFETS rated at 15-20 amps and atleast 200v max, preferable
250v. Plus you also want the ones with the lowest RDS rating you can get too
(helps to keep the heat down). Also choosing MOSFETS that have the insulated
mounting hole and backplate makes it a lot safer too.
Also, you build and test the controller using lower voltages and work your
way up to 110vDC carefully.
One thing to note is you have to use new parts from reputable dealers or
distributors, not the surplus market. Especially the capacitors have to be
new fresh parts, not parts that have sat on the shelf for years. I have run
into surplus parts that have turned out to be rejects that, instead of being
melted down, have wound up back in the supply channel. I have also ran into
parts that have been relabeled as different parts. So it's a buyer beware
scenario out there nowadays.
So when your building a high power motor controller, you definitely need to
know the parts are good.
Reliable speed and direction control needs more than switching
field coil polarity. This site might help:
It describes use of an encoder on the motor shaft to make any
permanent magnet dc motor into a servo motor. Your universal
motor can be used in the same way only difference being you
have electromagnetic field coils rather than permanent magnet
fields. The Renco brand encoders are excellent, inexpensive,
and can provide you with signals for position control, speed
control, torque control, and direction verification. Depending
on your application you might also wanted a gated index signal
that would allow you to register the motor shaft position at
When I built a low weight RC model airplane engine powered DC generator
using a permanent magnet dc motor I came across web sites that had
useful circuits on them that might also be useful to your effort to
adapt an electric drill motor to a servo application. (an excellent
project because mass produced electric drills have the step down
gearing for low speed high torque applications like powering robot
drive wheels, and they are relativily cheap). This site:
http://www.discovercircuits.com/P/pwm.htm has many PWM circuits
that you might want to try. By the way if you use the universal
motor in the shunt wound configuration but keep the field coils
on a separate circuit, and use DC for the rotor, you can operate it
like any PMDC motor. Increase the field coil current to increase
magnetic flux, and use any simple PWM circuit to power the rotor
for servo operation.
This reply is in addition to my other replies.
You didn't ask about them but rotary encoders
are the way to get reliable signals for speed,
torque, and direction control.
Since I work at a company that also makes encoders I
might as well inform you how to make cheap
encoders, rather than buy expensive ones.. Here are
some web sites that have the parts, and articles about
how to do it:
The first site sells cheap code disks with low resolution,
and simple slot sensors. Adequate for motor speed
control, torque control, direction sensing, and position
sensing when you use the optical sensor output to also
count a binary counter. You want to use the
quadrature output design. The 2 parts- the code disk
and sensor- can be bought for $10, and will provide
the necessary signals for a servo controller. The
code disk will need to attach to the motor shaft, so
you will need to drill your own center hole in the code
disk and glue it onto a hub with a center hole the shaft
diameter. Then either glue the hub to the shaft or use a
set screw. The second company makes code disks of
higher resolution and modular read head assemblies.
From them you can build your own rotary encoders
for less than $25. This design also outputs an index
with the quadrature signals thus allow you to register
motor position before counting up or down with a
binary counter. If you want to do even less expensive
go to these web sites:
Here you make your own code disks out of paper, and use
inexpensive optical sensors. Digikey has even cheaper slot
sensors that can be used. There are many variations
of these designs. In the commercial field high
resolution code disks putting out quadrant signals
can be divided down as well as counted allowing
varying resolutions depending on your application.
The circuits for the incremental are the simplest you
will find in encoders and should pose little problem
when building the servo.
Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here.
All logos and trade names are the property of their respective owners.