Introduction: 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
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.
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.
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.
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.
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!