Diminutive, a small EDM prototype

For the last little bit I’ve been working on a small EDM prototype for use on large parts, pipe sections or for use in the field. While they do make and sell these things, the vast majority of them require the use of vibratory assistance, aren’t terribly accurate and are relatively low powered. I intend to make one that is accurate and could potentially be used as a ram EDM in a pinch. Also, I’d like it to be able to use copper and graphite electrodes so polarity reversal is necessary.

This is the linear drive of the small EDM. It has 8 inches of travel and is surprisingly rigid and play-free. I was going to use a gear motor on the top with a rotary encoder but since the loads are quite small a stepper should be OK, even at higher speeds.
This is the linear drive of the small EDM. It has 8 inches of travel and is surprisingly rigid and play-free. I was going to use a gear motor on the top with a rotary encoder but since the loads are quite small a stepper should be OK, even at higher speeds.

I’m currently trying to come up with ways to mount this guy on magnetic bases but also allow for small amounts of fine adjustment so that if there is a need for precision work, the unit can be dialed in. Right now the coupling is made of two pieces of steel. I’m going to replace one of them with nylon to reduce noise. I was going to use a spider coupler with rubber in between but I didn’t have one kicking around on the weekend when I was making it so I just made my own.

It's all made from 7075 aircraft aluminum. Pretty strong stuff. The movement was initially pretty stiff because the screw, which is just hot rolled, was a little bit out so I had to run it back and forth to wear in the brass acme nut. I may put two acme nuts into the travel block simply to take up play, as it stands though right now there is less tan .0003" of play, even with significant force applied.
It’s all made from 7075 aircraft aluminum. Pretty strong stuff. The movement was initially pretty stiff because the screw, which is just hot rolled, was a little bit out so I had to run it back and forth to wear in the brass acme nut. I may put two acme nuts into the travel block simply to take up play, as it stands though right now there is less tan .0003″ of play, even with significant force applied.

So next things next, the prototype electronics. Right now I’m simply going to use what I have laying around, so a TM1638 display, a cheap chinese stepper driver with a toshiba stepper driver and I opted for an Arduino to drive the motor. I will be making a full fledged PCB that will nicely fit in a box but I need to get the pulse generator and sensory circuits working first, then I can integrate them fully on to one PCB.

Just a rough testbed for the motion control and a simple interface. I would like this thing to be nice and easy to use.
Just a rough testbed for the motion control and a simple interface. I would like this thing to be nice and easy to use.

Well, anyways, I have quite a bit more work to do for this project. Even a single axis CNC can be a little more tricky since it’s doing more than simply positioning. A ram EDM is a dynamic machine that reacts to the sensory input to keep the cut running smoothly and with appropriate voltage and gap settings.

More later.

Quick post: JY-MCU TM1638 Drawing

Just figured I’d share a drawing I made of the JY-MCU 8 digit TM1638 display for whoever wants it. I love these displays and figured others might like them too.

tm1638 model

jy-mcu display tm1638

REMINDER: I did not include the headers on the front. I usually clip them off because they are useless when trying to fit them in a panel!

jy-mcu display tm1638 (in PDF format)

jy-mcu display tm1638 (zipped IGES / IGS file)

A goal challenged robot

I was thinking about cockroaches after seeing some sort of program on the subject. It brought me on to thinking about insect locomotion and the way complex moves are carried out by creatures without a central nervous system. It then started to occur to me that the reason that these creatures (or any other for that matter) function is that there are a great deal of stimuli. An insect’s leg, for instance, has thousands of sensory organs to determine touch, temperature an various other external events that aren’t processed anywhere centrally. The thought the occurred to me about the notion of how a nervous system might work. Hence my latest, yet ugly, creation. The Roboto v2.

Roboto V2. from the front
This is the robot from the front. Currently it has 6 ultrasonic range sensors. This was the best thing to test my idea.

I had a frame for a robot I had already assembled and really didn’t get anywhere with it until I had this idea. Basically the idea is to have a matrix of variables, in this case a 10×10 struct array. Sensors are ‘bound’ to certain segments of the matrix. The matrix elements also communicate with the adjacent nodes to relay positive or negative stimuli. These stimuli make their way to the motor controls which are bound to other matrix nodes, in my case, elements several nodes away on opposite sides of the grid. The values expressed in the node are translated into motor movement.

Roboto V2.0 from the top, A tremendous jumble of wires.

What I have right now is functioning better than I hoped. I made close proximity ‘painful’ and moving forward ‘pleasurable’. A close proximity on the side will cause pain on the same side. Currently the robot seems to find open areas but doesn’t stay in them. I did fudge some things which are.

  • Output to the motors is kind of jury-rigged to disallow stopping by ensuring that at least one wheel is at maximum motion based on a weighted average.
  • the sensory input is weighted at the nodes. This was needed simply to make it function correctly.
  • I have a constant ‘pleasure’ value plugged in to make the robot strive to move forward. otherwise it would probably just stay in one place.
Here’s a video of it in action, doesn’t do a lot but I think it’s neat because I can’t predict it’s reaction despite the fact that it’s perfectly logical.

Well, I’m going to try some other things and add more stimuli like IR sensors, compass, accelerometer and a gyro. We’ll see if I can get something interesting out of it. An in case anyone is wondering about the build here’s a point by point list of what I used.

  • Arduino Mega2560
  • A robot chassis that I bought off EBay. It’s not bad.
  • Built the motor driver board myself with an SN75441one and a 5A linear LDO reg.
  • 7.4v LiPo battery, 850mah for direct drive to the motors
  • A little cheap bread board
  • and LED-KEY module, based off the TM1638, very handy modules
  • lots of male to female wires!
Anyways, Let’s see how it goes.