Scene-1: The Cause
I was using a small MiniCraft drill machine for drilling holes into my home made PCBs and also for some cutting activity with some attachments. The problem that I had was that when I bought the drill it didn't come with any sort of controller. I used to use it with direct connection to battery.It was difficult to every time remove the drill once it got stuck, because there was no way to reverse.
Scene-2: The Idea
So one fine Sunday I thought of building this drill controller.The basic concept was that I have to build a controller circuit for :
- Speed Control; so that if there is any delicate job to be done then I can start slowly and increase the speed as and when reuired.
- Direction Control; for when the drill would get stuck/jammed I could reverse easily by the push of button.
- It should have a Power ON-OFF control.
- And finally everything should fit into a Compact box and all the controls should be user friendly and easily accessible. (don't want any tricky controls when you are handling a high speed sharp tool right :D )
Scene-3: Component Selection
To achieve this I thought of a simple idea which is to use motor-driver IC for reversing the direction and controlling the speed and a microcontroller to control the motor-driver.
I initially thought of using relays to control the direction, but then it could have become bulky and speed control would anyhow raise the need of some linear components.
Finally I ended up with L293D, which has 4 individual PUSH-PULL driver and every two of them can be paired to form a H-Bridge channel. It has a current capacity of 600mA per channel with in SOA (Safe Operating Area), beyond which it would require a heatsink (which I don't intend to provide, lack of space).
So I coupled 2 channels which would effectively double the current capacity now to 1.2A.
The goal was to control the direction of the motor by Input signals of L293D and speed by providing PWM to L293D input. Both of which would be from a simple low cost microcontroller, and nowadays we can pick up a cheap arduino-pro mini clone for around 200 INR, which is relatively cheap.
The advantage of using a pro-mini kind of board is that all the essential circuity for the microcontroller like clock, power are already present on board and it is quite sleek to fit into my box, and why not go for a pro-micro-328p board for 200 INR when a DIP atmega328p would cost 150 INR.
For speed control I used a 10k POT generally available in market.
I also used two tactile switches:
- For toggling direction.
- For turning it ON or OFF.
Other components used are a couple of leds, resistors, a plastic knob for POT and a DC barrel Jack.
Scene-4: Realization and Testing
The schematic of the circuit is shown below:
I have added a mechanism to detect Over-current, by which I can prevent L293D from Over-heating, if the motor really gets jammed.
Since it is a brushed motor if the rotor gets stuck then current starts continuously flowing from the same part of the coil which eventually heats-up the armature and reduces its life, and also the Motor-driver can get damaged because of high-current flow, remember the peak limit is 1.2A even when both channels are combined.
So for that I used a shunt resistor of 0.08Ohm and used to measure the voltage drop across it using ADC of atmega328p. So when voltage across it reaches 96mV (1.2A x 0.08Ohm) then we should disable the L293D in the program.
I also added a functionality to prevent transients which is called Soft-start (mostly used for powering high-current loads), which is basically slowly increasing speed (using PWM) during POWER-UP instead of instantly supplying full power.
All these and other features are present in the program.
Click the link below to get the design files (schematic) and program for it.
Code and Schematic
I have written the program using Atmel Studio, however it can be easily adapted for use with Arduino.
The programming is almost complete however there are a few glitches which I am not getting time to resolve (documented in the Readme file). Feel free to make any changes and customize according to your needs.
Scene-END: Result
Below is the result of what I built :)The demo can be seen in the video below :
CAUTION: DO NOT PLAY WITH HIGH-VOLTAGE AND CURRENT. USE EXTREME CAUTION WHILE HANDLING POWER TOOLS.
DISCLAIMER: ALL THE INFORMATION PROVIDED IN HERE IS AS IS, WITHOUT ANY WARRANTY. THE AUTHOR IS NOT LIABLE FOR ANY LOSS WHAT SO EVER ARISING FROM THE USE OF THIS INFORMATION. USE AT YOUR OWN RISK.