To create the illuminated text of the annunciator, I've painted one side of a piece of lexan and then milled the text into the paint. behind the lexan will be a piece of material to keep the individual LEDs from illuminating their neighboring indicators and then a PCB where the LEDs will be mounted. behind that I'll somehow attach the rest of the circuit in a sensible way.
Here's the design of the front panel, LED locations and the light fence:
From that I created some toolpaths with Vectric's excellent Cut2D software. Cut2D also lets you preview the piece being milled. The side that is being milled is the side with the black paint on it, hence the backwards lettering. The holes on the side will be used to attach the circuit board as well as attach the annunciator to the panel, once that's built.
Here's the light fence after milling into 1/4" pine:
After painting the lexan I let it dry overnight and milled it the next evening. I wasn't able to secure it to my table as well as I would have liked so mid way through the end mill got to close to the edge of the material and started freaking out. I need to head to rockler and buy some 1/4" tie down thing-a-majigs. In any case, it didn't turn out too bad. I can use this piece for testing.
As you can see, it didn't turn out that bad. There is quite a bit of chipping from the paint as you can see in this closeup of the back
BUT, it's not that bad. The paint can says you get full chip resistance after 7 days so I think I'll try again then. I have an 8 x 6" sheet that I painted. I may also try painting more layers on another sheet since a bit of light still shines through. I'm pretty pleased by the initial results though.
Next up, I'll work on the PCB that the LEDs will mount to.
Showing posts with label CNC. Show all posts
Showing posts with label CNC. Show all posts
Monday, September 27, 2010
Friday, September 24, 2010
Defeat! sort of...
Well, the completely DIY approach to the CNC machine build is dead in the water. It turned out to be too difficult to schedule time between myself and Tom to work on the project. In addition, Tom moved out and had a baby, go figure. Do not fret, however, since I went a different route and am now the proud owner of a CNC machine that works.
I decided on buying a fireball v90 kit from probotix.com. It contained all of the hardware bits to move a router in 3D space. I also purchased a mount for a Porter Cable 7310 Laminate trim router as well as the router itself. Here's a video of the build process.
After construction, I had the motors, the motor controller and the physical machine which is enough to start cutting, but I wanted to make sure I did it right so I installed home and limit switches. Since the computer doesn't get feedback as to the position of the machine it has to sync up with the hardware. it does this by moving an axis slowly towards the 0 direction until it hits a switch. once this switch is hit, the computer knows the machine is at a particular position. The limit switches are there as a 'just in case'. The computer, once homed, knows to slow down and stop the motors if they are getting close to the machine's physical limits. The switches are there in case something is out of sync and the machine hits a limit anyway.
In hindsight, I think I made the right choice in buying a kit. The kit only provided the mechanical components that needed to have very tight tolerances which would have been very difficult to produce the way Tom and I were going to do it. That's not to say it would have been impossible, but for the price I paid vs. the time it probably would have taken, I think I came out way ahead.
I decided on buying a fireball v90 kit from probotix.com. It contained all of the hardware bits to move a router in 3D space. I also purchased a mount for a Porter Cable 7310 Laminate trim router as well as the router itself. Here's a video of the build process.
After construction, I had the motors, the motor controller and the physical machine which is enough to start cutting, but I wanted to make sure I did it right so I installed home and limit switches. Since the computer doesn't get feedback as to the position of the machine it has to sync up with the hardware. it does this by moving an axis slowly towards the 0 direction until it hits a switch. once this switch is hit, the computer knows the machine is at a particular position. The limit switches are there as a 'just in case'. The computer, once homed, knows to slow down and stop the motors if they are getting close to the machine's physical limits. The switches are there in case something is out of sync and the machine hits a limit anyway.
In hindsight, I think I made the right choice in buying a kit. The kit only provided the mechanical components that needed to have very tight tolerances which would have been very difficult to produce the way Tom and I were going to do it. That's not to say it would have been impossible, but for the price I paid vs. the time it probably would have taken, I think I came out way ahead.
Tuesday, March 23, 2010
Making it move
Once all of the mechanical parts of the CNC machine are together, I'll need to make it move. Each of the 3 axes is attached to a nut. This nut is driven up and down the axis by a lead screw which spans the entire movement range of the axis. a stepper motor turns the lead screw in precise increments allowing the computer to control exactly where the cutting tool moves.
But Rick, what is a stepper motor? Regular DC motors spin when a current is applied to them, but there is no way to know how far it spins with the motor alone (sure you could attach some sort of rotary encoder, but then you'd have to carefully meter current to the motor which would change depending on the load applied and there is an easier way). There are two popular types of motors that you can turn precisely, Stepper and Servo. Servo motors are commonly used in RC vehicles and killer robots as they can take a position signal (usually a PWM signal) and turn to that degree of rotation. They cannot however, spin indefinitely. A stepper motor controller on the other hand, takes two binary signals, direction and step, and moves the motor the specified direction a set amount every time the step signal pulses. This means the stepper motor can turn as much as it wants in either direction, and knows how much it is spinning, but it doesn't have any sense of a zero position so it has no way of knowing where it is in it's rotation. To overcome this limitation, the CNC machine will need to zero itself when it starts up. This process is called homing and is accomplished by slowly moving each of the axes toward it's zero position until it hits a limit switch. At this point the controller software will know the physical position of the machine and has the ability to move each axis a precise amount, so it can keep track of where it is.
Unfortunately you can't just plug a stepper motor into your computer and expect it to work (well, you could probably get a really really small one to work, depending on how much current your parallel port can source). You must have an intermediary board which takes output from the computer and turns it into driving current for the stepper motors. There are two reasons for this. The first reason I just mentioned: current. The easiest way to communicate with a stepper motor is with the parallel port since it was originally designed to drive printers (which use stepper motors, hey look at that!). A parallel port can only produce a small amount of current as it's designed for signaling, not driving. So the driver board takes the signal from the computer and steps it up to be able to drive a big motor. The second reason to use a driver board is to have someone else deal with the complexity of driving the stepper motor coils. Instead of one coil like a normal DC motor, a stepper motor has a series of 2 or more coils. these are energized in certain orders to produce the incremental rotation. Check out Wikipedia's article on stepper motors for a more detailed explanation on their inner workings. The driver board I used is based around a stepper motor driver chip. You supply the chip with power, a direction signal and a step signal and it will create the correct pulses for the stepper motor. it also takes care of microstepping.
But Rick, what is a stepper motor? Regular DC motors spin when a current is applied to them, but there is no way to know how far it spins with the motor alone (sure you could attach some sort of rotary encoder, but then you'd have to carefully meter current to the motor which would change depending on the load applied and there is an easier way). There are two popular types of motors that you can turn precisely, Stepper and Servo. Servo motors are commonly used in RC vehicles and killer robots as they can take a position signal (usually a PWM signal) and turn to that degree of rotation. They cannot however, spin indefinitely. A stepper motor controller on the other hand, takes two binary signals, direction and step, and moves the motor the specified direction a set amount every time the step signal pulses. This means the stepper motor can turn as much as it wants in either direction, and knows how much it is spinning, but it doesn't have any sense of a zero position so it has no way of knowing where it is in it's rotation. To overcome this limitation, the CNC machine will need to zero itself when it starts up. This process is called homing and is accomplished by slowly moving each of the axes toward it's zero position until it hits a limit switch. At this point the controller software will know the physical position of the machine and has the ability to move each axis a precise amount, so it can keep track of where it is.
Unfortunately you can't just plug a stepper motor into your computer and expect it to work (well, you could probably get a really really small one to work, depending on how much current your parallel port can source). You must have an intermediary board which takes output from the computer and turns it into driving current for the stepper motors. There are two reasons for this. The first reason I just mentioned: current. The easiest way to communicate with a stepper motor is with the parallel port since it was originally designed to drive printers (which use stepper motors, hey look at that!). A parallel port can only produce a small amount of current as it's designed for signaling, not driving. So the driver board takes the signal from the computer and steps it up to be able to drive a big motor. The second reason to use a driver board is to have someone else deal with the complexity of driving the stepper motor coils. Instead of one coil like a normal DC motor, a stepper motor has a series of 2 or more coils. these are energized in certain orders to produce the incremental rotation. Check out Wikipedia's article on stepper motors for a more detailed explanation on their inner workings. The driver board I used is based around a stepper motor driver chip. You supply the chip with power, a direction signal and a step signal and it will create the correct pulses for the stepper motor. it also takes care of microstepping.
I bought a driver board kit from hobbycnc.com. It comes with 3 stepper motors, a PCB, all of the components to be soldered to the PCB, parts for the power supply and a bunch of other odds and ends. All you need to get is a case and a transformer for your voltage. Here's a picture of the semi finished product:
I foolishly purchased a steel case to put everything in without thinking of how much of a pain in the ass it will be to cut holes in the front panel for all of the connectors. Live and learn. Hopefully the CNC machine will be strong enough to mill the front panel of it's own controller box. in the mean time, there will be wires all over the place.
The motor controller also connects to the computer that will ultimately control the whole machine. I was lucky enough to find a computer in a box in our apartment (I think it was the old hardware from my server) a few weeks before embarking on this project. The hardware is nothing special, plenty powerful enough to run the control software. I used the Ubuntu 8.04 release of EMC2. The control software translates a special kind of machine code called G-Code into physical movement instructions for the machine. I've only begun looking into generating and using G-Code, so expect more details later.
So, to recap, Computer takes special code and turns it into direction and step pulses for each of the 3 axes which it sends to the motor controller box via a parallel port. the motor controller takes those signals and energizes the appropriate coils of the stepper motors attached to each axis which turns a screw, which moves a nut that is attached to a part of the machine which in turn, moves the cutting tool. Simple.
Sunday, March 21, 2010
Intro to my CNC build
Hello everyone! I'm finally getting around to creating a way to show people my projects and what better way to start than with an intro to the CNC machine I've been working on.
I (along with Tom my downstairs neighbor) am building a 3-axis CNC milling machine. CNC stands for Computed Numerically Controlled, it's a fancy way to say "Computer Controlled" and a milling machine is a machine that cuts a solid chunk of material into some sort of finished piece. This could be as simple as drilling a few holes in a piece of wood, or as complex as machining the precise blades of a turbocharger (and much more complex things that I can't think of off of the top of my head). The end result of this project will be a router (or Dremel tool) that can be controlled in 3D space by a computer.
We'll be building a gantry style CNC machine which is well suited for cutting softer materials like wood, foam and plastic and is relatively easy to build at this scale. We're shooting for a cut area of around 2.5 ft. x 1.5 ft. x 6 in. This site has the basic design of what we're looking to build and a lot of great details, like the linear bearing system. I used this build as a reference when creating the rough design of our machine.
Now, on to the pictures:
I (along with Tom my downstairs neighbor) am building a 3-axis CNC milling machine. CNC stands for Computed Numerically Controlled, it's a fancy way to say "Computer Controlled" and a milling machine is a machine that cuts a solid chunk of material into some sort of finished piece. This could be as simple as drilling a few holes in a piece of wood, or as complex as machining the precise blades of a turbocharger (and much more complex things that I can't think of off of the top of my head). The end result of this project will be a router (or Dremel tool) that can be controlled in 3D space by a computer.
We'll be building a gantry style CNC machine which is well suited for cutting softer materials like wood, foam and plastic and is relatively easy to build at this scale. We're shooting for a cut area of around 2.5 ft. x 1.5 ft. x 6 in. This site has the basic design of what we're looking to build and a lot of great details, like the linear bearing system. I used this build as a reference when creating the rough design of our machine.
Now, on to the pictures:
Here we have the grooves cut in the tabetop of the machine. The sets of grooves must be parallel to each other to ensure smooth operation. I think we got pretty close on this one, about 1/16 off at the very most.
Building the base. It's oriented upside down. You can see the metal brackets we used to secure it. This was done for simplicity. We also wood glued everything.
Clamping the grooves for the bottom rail. These also have to be parallel to each other so we cut them a little thin so we had room to adjust before gluing and screwing (hot).
Here we've attached the aluminum angle. the angle sits in the grooves to keep it straight and prevent it from bowing out when it's screwed in and force is applied to it. Tom had a poor man's drill press with a notch in the bottom that made drilling the aluminum much easier.
Here's the NEMA 23 mounting hole for the X-axis stepper motor. The stepper motor will turn a lead screw running down the axis which will have a nut attached to the gantry threaded on it. I'll explain in more depth how the drive system works later on.
Here we can see the orientation of the motor mount with the X-axis. We've also attached a chunk of wood along the axis to prevent the sides from flexing when a load is applied to the lead screw.
Building the base. It's oriented upside down. You can see the metal brackets we used to secure it. This was done for simplicity. We also wood glued everything.
Clamping the grooves for the bottom rail. These also have to be parallel to each other so we cut them a little thin so we had room to adjust before gluing and screwing (hot).
Here we've attached the aluminum angle. the angle sits in the grooves to keep it straight and prevent it from bowing out when it's screwed in and force is applied to it. Tom had a poor man's drill press with a notch in the bottom that made drilling the aluminum much easier.
Here's the NEMA 23 mounting hole for the X-axis stepper motor. The stepper motor will turn a lead screw running down the axis which will have a nut attached to the gantry threaded on it. I'll explain in more depth how the drive system works later on.
Here we can see the orientation of the motor mount with the X-axis. We've also attached a chunk of wood along the axis to prevent the sides from flexing when a load is applied to the lead screw.
That's all I've got for now. I'll do a post on the electronics soon since those are already finished. Please leave comments and questions, I know I'm probably leaving out a ton of details.
Subscribe to:
Posts (Atom)













