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.
* 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
* Hot Glue gun!
* Drill, Saw, Screws (machine and wood), Screw Driver
Step 1: Setting Up the Home-made Encoder
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
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
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
Step 5: Setup of the UController and Arduino Code
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.