While making my mini table saw I bought a 12 V motor speed controller module from eBay. Fair enough, I thought ... that was an easier and straight forward solution. But then I decided to make my own.
I did some hunting around on the interweb and found a pretty good starting point in Circuits Today, but then, I needed to make some modification and tweaking of the circuit. I wanted to add in a toggle switch, a DC power socket and a 2 pin screw terminal into the design to make it easier to make and use.
There were some other minor alterations that I made to the design as I went, for convenience and to meet my specific needs.
I also want to point out that this circuit is not simply a motor speed controller, but a PWM controller. On the one hand, that means that it can do a lot more than just vary the speed of a DC motor. This circuit will output a 12 volt current with a varying duty cycle. It can be used as 12 V DC:
- Motor Speed Controller;
- LED Dimmer;
- Heat controller for a Polystyrene Hot Wire cutter;
- voltage controller for an electrolytic etcher; and
The applications for this circuit are limited only by its 12 V DC nature. How you apply that is up to your imagination and experimentation. For instance, I'm thinking of using this circuit to make a vibrating platform for agitating my PCB production acid bath ...
Parts you will need
All parts were purchased from eBay.
- 1 x 0.01 uF ceramic capacitor
- 1 x 0.1 uF ceramic capacitor
- 2 x 1N4001 rectifier diodes
- 1 x 1N4004 rectifier diodes
- 1 x IRF530 100 V 14 A TO-200AB MOSFET
- 1 x TO-220 heat sink
- 1 x 2 pin screw terminal
- 1 x DC Barrel Jack (female)
- 1 x 100 ohm resistor
- 1 x 1k ohm resistor
- 1 x SPDT toggle switch
- 1 x NE555 timer IC
- 1 x 8 pin DIL socket
- 1 x 100k ohm potentiometer
- 1 x 70 x 100 single sided PCB
- some connection wire
All of this cost me around $2.90 AUD
Step 1: The Circuit PDF
These PDF provide you with the printable circuit board for producing the NE555 PWM controller.
- C1 - 0.01 uF
- C2 - 0.1 uF
- D1 and D2 - 1N4001
- D3 - 1N4004
- R1 - 100 ohm
- R2 - 1K ohm
Take care with the orientation of the 555 timer and note the notch location. All other parts are pretty clearly indicated on the board.
There are 3 jumpers on the board. From GND to C1, from pin 7 of the 555 to D1 and from GND to the IRF530 Source pin.
The switch (top left) is not labelled in the PCB view, however, it is pretty straight forward. Also, there is a through hole below the IRF530, this is for the post of your heat sink.
As I want to connect the potentiometer and the switch through an enclosure, I've broken them out via wires soldered into the board. Feel free to mount this however you like ;)
When you connect your motor to the screw post, test the motor direction before committing yourself to the orientation. The motor will run in either direction, the choice is yours.
Step 2: Motor Bracket
I looked around on the interweb for suitable motor brackets and they were all either too expensive or took too long to arrive. I've got 15 of these suckers that I want to mount in various tools and projects ... so I needed to make something extraordinarily cheap and durable.
My solution was to simply cut up some angle aluminium and drill holes in it to fit my motors.
One angle piece has a hole for the axle and a threaded hole for a grub screw to hold the motor in place. At the back, there is another angle piece with a hole drilled through it for the rear axle mount. The two angle pieces are screwed together via yet another threaded hole. I've also drilled holes through the base so that the bracket can be mounted wherever I need to mount it (depending on the project!).
The biggest hassles with this method are:
- having the right size angle aluminium stock
- cutting the angle aluminium to fit between the motor connection points
- cutting the threaded holes ... I'm using a 2mm drill bit to make M3 holes
- grinding down the M3 bolts so that they sit flush
Anyway, making the brackets doesn't take long and, because it's aluminium, it is durable, light and cheap.
Well ... on to the next project!
punisher_1211 made it!