Controlling Hand Drill With Roboduino / Arduino to Spool Solder

39K6413

Intro: Controlling Hand Drill With Roboduino / Arduino to Spool Solder

This will explain how we re-purposed a hand drill to re-spool solder using a roboduino (arduino compatible), two servos, and a DIY encoder.  While one could use TRIACs to play with the AC power going into the drill, just using a servo to control the throttle is simple and avoids the pesky high voltage.

Hand drills are pretty strong, hopefully this instructable will help others integrate it into other projects,... maybe some guitar pickup winders...

We also talk about using home made optical encoders, which can be used for all sorts of robot applications.

Video:

http://store.curiousinventor.com/blog/controllering_hand_drill_arduino_spool_solder/

Ingredients:

* Hand Drill
* Arduino Code
* uController, arduino / roboduino, something to control servos
* (2) servos, one for throttle, one to guide the solder (we used HS-311s)
* (3) Flanged Bearings These are nice because the bearing can swivel in the flange, eliminating the need for precise alignment
* Various metal shafts--you can get hardened precision shafts from mcmaster, which fit exactly into the bearings. Getting a precisely sized, hardened shaft is more important if there are actual loads in the system (not here!) since the bearings will wear out otherwise. Don't try to hack saw these babies--you'll just be grinding down the teeth. Dremel required. A 1/2" shaft was used for the bearings and a 1/4" shaft to fit into the drill chuck.
* Shaft Coupling - this is the key to avoiding any hard-to-do precision setup.  If you look at the pic, the drill is off angle from the encoder shaft, but the rubber webbing in the shaft coupler makes this a non-issue.  It also converts between the different shaft sizes.
* Double Sided Tape - this worked great to hold the drill in place
* Laser Printer to make encoder wheel and an opto interrupter to count the ticks as it turns.
* Masking tape to increase the shaft size to hold the solder spools
* LCD Screen, Female-Female wires, bread board, angle brackets, wood


Tools:

* Hot Glue gun!
* Drill, Saw, Screws (machine and wood), Screw Driver
* Dremel

STEP 1: Setting Up the Home-made Encoder

The encoder wheel tells the uController how fast the drill is spinning, which the uController then uses to regulate the speed, deliver the right amount of solder, and control how fast the guide servo sweeps the solder back and forth on the target spool.

The black U-shaped piece is an opto interrupter, which basically has a beam that gets broken by the encoder wheel.  This triggers an interrupt on the roboduino, triggering a function that keeps track of the current speed and number of rotations.

We used this online encoder wheel generator to print out home-made optical encoder wheels on a laser printer.  We taped two wheels together with double sided tape to make sure the black parts were opaque enough.

When the sensor sees the light, it turns on and shorts the arduino input to ground.  When it's off, the 10k resistor pulls the line high.

STEP 2: Mounting the Drill, Bearings and Shafts

To hold the drill in place, we just traced an outline and screwed in some chunks of wood around the perimeter.  Add some double sided tape to get a snug fit.

We use the angle brackets to hold the bearing flange mounts in place. The great thing about these flange mounts is that the bearing can swivel (ball joint style) inside 10-15 degrees before you tighten them down.  So we get everything roughly in place, make sure the shafts can spin, and then tighten the flange mounts down.

We use a 1/4" shaft in the drill chuck and a 1/2" shaft in the bearings.  A 1/4" shaft was used because the drill chuck only accommodates 3/8" shafts.

We first tried just wrapping tape around the two shafts to make a couple that matched the ghettoness of the rest of the setup, but that failed horribly after only a few runs.  The "spider" coupling from mcmaster provides a backlash free way to connect two different sized shafts that have some angle and axial misalignment.  You buy the end pieces and the middle piece separately to fit your shaft sizes... less than $10 overall.

Since there are relatively no loads in this system compared to the 1000 lb capability of these bearings, the solder spool is only supported by a single bearing.  One thing we were worried about was the Feeder spool continuing to spin after the Target spool stopped.  As it happens, there's just enough friction in the bearing to stop the Feeder spool, but not so much that the solder wire breaks.

STEP 3: Servo Thottle Control on the Drill

While you could use TRIACs and things to properly control the AC voltage going to the drill, we just used a servo to press the trigger.  This drill is a variable speed, so controlling the trigger position allows control over the speed.

The key here is making sure the push rod (in our case, some scrap pcb) has enough freedom to rotate.

The screws proved to be a cheap, but effective guideway for the push rod.

The HS-311servo was plenty strong to push and hold the trigger, although it is helped by the linkage design a little.  As the trigger is pushed further in, the mechanical advantage increases so the servo doesn't have to work as hard.

The speed is regulated mostly by a lookup table.  We experimented to find out what servo settings led to what speeds, and then entered all the data into a table so the speed could be adjusted from 0 to 100.  For any control buffs out there, a little integral control was added on top to home in on the desired speed.

STEP 4: Tape Up the Shafts So the Spools Fit Snuggly

Simple masking tap was used to increase the shaft sizes to match the solder spools. This had the added effect of gently holding the spools in place, although a small screw driver is used as a wedge to hold the target spool in place.

STEP 5: Setup of the UController and Arduino Code

We used a roboduino because it has ready-to-go headers for servos.

Check out the arduino code we used.

The drill speed is controlled via a lookup table, and if the measured speed is a little off, it keeps changing the throttle to fine tune.  In control-person-speak, we've got lookup-table based feedforward + Feedback Integral Control.  The noise in the system makes Derivative control unwieldy.

The LCD screen and buttons provide an interface that lets you choose how fast the drill goes, how many turns, start/stop, and a bunch of other parameters in a big ol state machine.

The servo that guides the solder onto the target spool is electronically geared to the overall speed, so if the drill goes slower, the guiding servo moves slower, also.

STEP 6: Spool It Up!

To spool, just thread the solder in the spool, clamp it on and hit go!

13 Comments

i like your design, it would fit well with my needs but separate question.

Where do you get your spools?

Love the diy optical encoders. I use optical encoders all the time. I've used them on a robot that I got first place in the world for programming.
can i get your program ?
can i use arduino dumeilanove for the controller ? i'm newbie
I have seen couplings made out of hose and hose clamps and they actually worked out pretty decent. Just depends on what you are doing. They will give you the ghetto look you are going for as well! keep up the good work.
just might use this for stripping and rewinding fishing reels!
I just checked the link on our site, and I was able to download Solder_spooler_v3_pde.zip

Are you looking at the link in the 2nd paragraph of the blog entry?

I'm sorry, but we prefer to keep code links on our site.
Thanks for replying....I deleted my comment, but I think the problem was your website was not responding, or a problem with my Internet. I am now able to download the code from the link on your site.

Thanks again!
Very sorry, but I checked and couldn't find any circuits. Hopefully the code will give you some clues.
I make chainmaille as a hobby and as such I wind a lot of coils (that look like long springs) using mostly stainless 316 welding wire. Dou you think that this could be configured to wind coils like that?
I think you could leave out the servo that moves the wire and instead have a servo/motor that pushes the spool and the "feeder" along some rails.
You would insert the wire into a hole in a metal rod and then wind the wire on the rod instead of a spool.
A great project and instructable. No doubt some may find a way to adapt this to their needs. To that end cold rolled round stock from the local machine shop should be good enough for  shafts in most low load applications. For lthe same applications brass or delrin bushings on Oak wooden block may work well enough, even using the Oak itself as the bearing might work. Lovejoy couplings work well  for coupling shafts, but care should be used in alignment in applications than will run a lot. In time misalignment will wear out the spider and put wear on the metal parts that will wear out the replacement spider even faster. That has been my experiance in maitaining oil field equipment that use them for several years. I see this was picked up by Hackaday. So far positive comments there. As of yet no comments deririding instructables and the arduino. Your control method reminds me of the control method ladyda use to  control the heat of an electric skillet used for solder reflow in SMD circuit board assembly.  She too thought 120 VAC,  high voltage, too pesky to work with. Comfort levels vary :)
Seems like this could be popular with wind turbine builders who need to make sets of coils each with a set number of turns... would magnet wire be too fragile for this application?  If the "firmware" allows you to set the speed, I'd guess it's just a matter of experimenting to find how quickly you can run the machine without breaking your wire.
No doubt that this would be very adaptable to winding coils from magnet wire, but I don't see the DIYer making 1 or 2 turbines going through the effort. Most wire coils need to be removed from the bobbin to be used.  Anyone requiring a volume of coils may decide to contract that work out to a motor rewind shop.
I'd guess the magnet wire would be fine... it doesn't take a lot to break the .02 lead solder, and the machine only breaks it occasionally at the fastest speeds.