My variable speed PCB Drill

        Back then, I used those small handheld drills with straight shank HSS bits. It works OK except for the occasional angled holes (from not holding it vertical). I often do Phenolic boards so they lasted just fine. When I started to use FR4 more often, I started to use more HSS bits. I tried Carbide bits I got surplus and they are so nice to use, unfortunately, they break easily. I usually break one for every 10-20 holes or so. It started to get costly so I needed to find better way.

        Using an adjustable powersupply as a variable speed control is fine. But you lose almost all torque when set down at low speed. PWM is said to maintain torque even at low speeds but I did not find this as the case. I still break bits with the variable powersupply method of speed control.

        The solution was a circuit I read about in the college library. Unfortunately, I didn't have a copy of the circuit which was all discrete and I couldn't remember what book it was. But I did remember how it did the speed control. It maintained the high torque even at low speeds without feedback from encoders or sensors connected to the output shaft.

        The method was to sample the current draw of the motor. The controller provides a regulated voltage to the motor. When the motor is loaded, it will start to increase its current draw and the speed decreases. The controller counteracts this by increasing the output voltage to maintain constant speed with the increased loading.

Here is the schematic of the drill speed controller

        It is basically a variable output voltage regulator based on the LM317 principle. The schematic shows a LM1084 (low dropout version of the LM317) because I'm using a 12V supply and the drill is 12V.

        Pads 1 and 2 are the powersupply inputs (pad1 = V+). Anywhere from 12V to 16V should be fine. Pads 3 and 4 go to the PCB drill (pad3 = out+). Pads 5 and 6 are wired to the panel mounted speed control pot which is a 5K linear pot. (increase in resistance = increase in speed)

        The circuit operates as follows: IC2 along with R5 and the sum of the pot setting + R4 and R9 set the no load voltage going to the motor. R4 sets the lowest output voltage with the control pot at minimum. IC1A monitors the voltage across the Shunt resistors R1 and R2 and amplifies this voltage through the ratio of R10 to R3 and trimmer R6.

        R6 is the feedback gain adjustment to ensure the controller does not oscillate due to the time constant of the motor inertia and winding resistance.

        IC1B is wired as a voltage follower to increase the output drive of the amplifier circuit. IC1A can probably supply enough current but there's already an extra op amp available from the dual package so why not use it?

        R7 and R8 sums the outputs of the two op amps to increase available drive current. LED1 is used to indicate when the controller is boosting the output and also to ensure 0V output when the op amp outputs go low as they are not rail-rail devices. Through these components, the op amps 'pull' the voltage up across R9 increasing the output voltage.

        Any op amp that can operate on single supply and the common mode voltage includes ground can be used in place of IC1. A cheap sub would be LM358. LM2904 will also work. LM317 can also be used in place of IC2 if low dropout is not necessary.

        Because IC2 will see very light loading most of the time and high current will only be drawn when drilling the PCB which only takes less than a second, I find that only a small heatsink is necessary. In my controller, the case was already enough that the regulator doesn't even get warm at all. If you decide to use this for another application where the high current draw will be continuous like in grinding operations, a bigger heatsink may be necessary.

        Diodes D1 and D2 (I used 1N4004) are used to protect IC2 from the motor back-EMF.

     Trimmer R6 adjustment: Start with the highest resistance and observe how the output speed WILL oscillate. The speed will not be constant but will speed up and slow down and the frequency of oscillation will depend on the motor characteristics. Reduce R6 until this oscillation stops. Try loading the motor and adjust if it still oscillates with various levels of loading. When the adjustment is right, The motor will maintain constant speed and high torque even when heavily loaded at low speed settings.

        Note that once adjusted, the controller will work optimally with only that type of motor. Changing the motor requires readjustment of trimmer R6.

Here is an image of the PCB layout I used. It is just a screen capture so use your favorite CAD program to make a PCB layout for the controller.

The controller mounted in an aluminum case.

Inside of the controller chassis.

My PCB drilling rig (pardon the mess).

        What I do after I put the carbide bit in the drill collet, I run the drill and feel it with my finger (to the shank, not the bit! Running your finger at the tip ensures you drill a hole into your finger as carbide bits are really sharp!) I then adjust the speed and stick with the least vibration that I can feel and then start drilling. Ever since I made the controller back in 2009, I never broke another carbide bit. I have used it with carbide bits as small as 0.6mm and it works like a charm.

Happy drilling!

        04 Oct 2011: New page showing my rebuilt PCB drill press: clicky here

Page created and copyright R.Quan © 30 Jan 2011.