- Joined
- Jan 2, 2014
- Messages
- 8,852
Hi All!
My first attempt at a home-built Electrical-Discharge Machine was posted here:
http://www.hobby-machinist.com/threads/my-edm-project.41481/
It obviously did work, but was really just meant as a "proof of concept".
The short comings:
1) it had no vertical feed. Whenever the vibrating head had "cut" as deep as it could, I had to adjust the two pieces of angle iron that were clamped together to move the head down. Of course in doing so the entire thing also moved sideways and changed angles. So not only was it a two person job, it took multiple attempts to get the spindle realigned with the first hole.
2) the entire machine was energized to the discharge voltage
3) there was no control for angling the head to get into more awkward locations.
I considered just adding a lead-screw feed mechanism to the original design, but that would mean that I still need to "babysit" the machine and turn a feed handle when it stopped cutting. I would rather have one I could ignore for a while while it worked away.
I am currently working on EDMv2, it should overcome the problems above by:
1) using a stepper motor and lead screw arrangement for vertical feed.
2) having an insulator in the head so that only the chuck and tool are energized
3) using some extruded aluminum supports with t-slots to give better adjustment
All the stepper motor designs I found in my initial research (see part one linked above) used large single-purpose driver boards. I did not want to get into building a large circuit either on a bin-board or making my own PCB. Instead, I decided to use a small arduino board and pre-built motor driver board both from ebay. In the arduino code it is easy to instantiate a stepper motor and send up/down step commands.
link to arduino "pro-mini":
http://www.ebay.ca/itm/130977194597?_trksid=p2060353.m2749.l2649&ssPageName=STRK:MEBIDX:IT
a little USB programming dongle for it:
http://www.ebay.ca/itm/141150349286?_trksid=p2060353.m2749.l2649&ssPageName=STRK:MEBIDX:IT
link to stepper motor driver:
http://www.ebay.ca/itm/281551893660?_trksid=p2060353.m2749.l2649&ssPageName=STRK:MEBIDX:IT
The machine support arm will be built such that gross positioning is done manually with handles to lock parts in the t-slots.
When using the machine to remove a broken drill bit or tap only around 1 inch of total vertical feed is needed. Making a hex recess for an Allan key would need even less, maybe only 1/4 or 3/8 inch. Therefore an automatic feed range of only a few inches is required.
Using a stepper motor with 200 steps per revolution means I can have rotational steps as small as 1.8 deg.
Combine that with a lead-screw and we're talking about minuscule feed steps.
For a 1/2-13 lead screw one full rotation is 0.077 linear inch, so one motor step is 0.000382 inch!
For a 5/16-18 lead screw one full rotation is 0.056 linear inch, so one motor step is 0.000278 inch!
However, since the lead-screw mechanism is simply a piece of all-thread rod and a nut from the bin, I am under no delusions that the amount of slop would allow such tiny steps. In fact since the feed may be constantly switching direction(see below), backlash will likely be a major limit to minimum step size.
In the code for the arduino I will easily be able to control the minimum step size. It may turn out that I use say 10 stepper motor steps as the minimum step size for my vertical feed.
For controls I am planning to have one switch that chooses between automatic and manual mode.
In auto mode the processor will measure the discharge voltage and extend the head one step if the voltage is above a threshold. If the discharge voltage is below the threshold, then the head will be withdrawn one step from the work. The discharge voltage will be reduced thru a resistor divider, limited by some diode/zener circuit, and then finally capacitor filtered before being run into an arduino analog input for sensing.
In manual mode, another "centre-off" toggle switch will allow me to extend or retract the head for positioning the tool and work.
In either mode limit switches will set the end of travel in both directions. When these microswitches are operated, further movement in that direction will be disabled. If I have spare digital output pins of the arduino, I might hang an LED near each switch to indicate when it has been tripped.
All switches will be "debounced" in the arduino code to limit motor chatter due to mechanical contact bounce.
The power supply for the discharge voltage will initially be the same one I used before. However, having automatic vertical feed will allow me to run better A/B comparisons to try different voltages, discharge capacitors and even reverse polarity.
For the dielectric fluid I see no reason to move away from the distilled water that worked well in the first installment. I may however, add a filter and recirculating pump as I get further down the road.
Some parts are already complete: the insulator, a plastic slider block for the spindle, motor mount and lead screw. I have basically just started writing code for the arduino, and have a bunch of assembly and debug ahead.
-brino
My first attempt at a home-built Electrical-Discharge Machine was posted here:
http://www.hobby-machinist.com/threads/my-edm-project.41481/
It obviously did work, but was really just meant as a "proof of concept".
The short comings:
1) it had no vertical feed. Whenever the vibrating head had "cut" as deep as it could, I had to adjust the two pieces of angle iron that were clamped together to move the head down. Of course in doing so the entire thing also moved sideways and changed angles. So not only was it a two person job, it took multiple attempts to get the spindle realigned with the first hole.
2) the entire machine was energized to the discharge voltage
3) there was no control for angling the head to get into more awkward locations.
I considered just adding a lead-screw feed mechanism to the original design, but that would mean that I still need to "babysit" the machine and turn a feed handle when it stopped cutting. I would rather have one I could ignore for a while while it worked away.
I am currently working on EDMv2, it should overcome the problems above by:
1) using a stepper motor and lead screw arrangement for vertical feed.
2) having an insulator in the head so that only the chuck and tool are energized
3) using some extruded aluminum supports with t-slots to give better adjustment
All the stepper motor designs I found in my initial research (see part one linked above) used large single-purpose driver boards. I did not want to get into building a large circuit either on a bin-board or making my own PCB. Instead, I decided to use a small arduino board and pre-built motor driver board both from ebay. In the arduino code it is easy to instantiate a stepper motor and send up/down step commands.
link to arduino "pro-mini":
http://www.ebay.ca/itm/130977194597?_trksid=p2060353.m2749.l2649&ssPageName=STRK:MEBIDX:IT
a little USB programming dongle for it:
http://www.ebay.ca/itm/141150349286?_trksid=p2060353.m2749.l2649&ssPageName=STRK:MEBIDX:IT
link to stepper motor driver:
http://www.ebay.ca/itm/281551893660?_trksid=p2060353.m2749.l2649&ssPageName=STRK:MEBIDX:IT
The machine support arm will be built such that gross positioning is done manually with handles to lock parts in the t-slots.
When using the machine to remove a broken drill bit or tap only around 1 inch of total vertical feed is needed. Making a hex recess for an Allan key would need even less, maybe only 1/4 or 3/8 inch. Therefore an automatic feed range of only a few inches is required.
Using a stepper motor with 200 steps per revolution means I can have rotational steps as small as 1.8 deg.
Combine that with a lead-screw and we're talking about minuscule feed steps.
For a 1/2-13 lead screw one full rotation is 0.077 linear inch, so one motor step is 0.000382 inch!
For a 5/16-18 lead screw one full rotation is 0.056 linear inch, so one motor step is 0.000278 inch!
However, since the lead-screw mechanism is simply a piece of all-thread rod and a nut from the bin, I am under no delusions that the amount of slop would allow such tiny steps. In fact since the feed may be constantly switching direction(see below), backlash will likely be a major limit to minimum step size.
In the code for the arduino I will easily be able to control the minimum step size. It may turn out that I use say 10 stepper motor steps as the minimum step size for my vertical feed.
For controls I am planning to have one switch that chooses between automatic and manual mode.
In auto mode the processor will measure the discharge voltage and extend the head one step if the voltage is above a threshold. If the discharge voltage is below the threshold, then the head will be withdrawn one step from the work. The discharge voltage will be reduced thru a resistor divider, limited by some diode/zener circuit, and then finally capacitor filtered before being run into an arduino analog input for sensing.
In manual mode, another "centre-off" toggle switch will allow me to extend or retract the head for positioning the tool and work.
In either mode limit switches will set the end of travel in both directions. When these microswitches are operated, further movement in that direction will be disabled. If I have spare digital output pins of the arduino, I might hang an LED near each switch to indicate when it has been tripped.
All switches will be "debounced" in the arduino code to limit motor chatter due to mechanical contact bounce.
The power supply for the discharge voltage will initially be the same one I used before. However, having automatic vertical feed will allow me to run better A/B comparisons to try different voltages, discharge capacitors and even reverse polarity.
For the dielectric fluid I see no reason to move away from the distilled water that worked well in the first installment. I may however, add a filter and recirculating pump as I get further down the road.
Some parts are already complete: the insulator, a plastic slider block for the spindle, motor mount and lead screw. I have basically just started writing code for the arduino, and have a bunch of assembly and debug ahead.
-brino