A while back I caught a Hack a Daypost of Sandy Noble’s polargraph project. The artwork he produces with the machine is amazing. I found myself in the workshop a few months ago looking for a new project to work on and realized that I had enough spare parts laying around to take my own stab at creating one of the machines. The concept is pretty simple. A pen is suspended from two spools at the top of the machine and by turning the spools appropriately the pen can be made to travel across a sheet of paper in any pattern you want. All you really need to complete this project is something to mount everything on, a couple of stepper motors, an arduino and motor drivers (I had gecko drivers laying around, but a motor shield will do), and some way to hold the pen. The code that you need for the project can be found on Sandy’s site.
Here’s a couple of videos of my completed machine at work on it’s first real drawing:
And here are a few pictures of the project and some of the completed works.
The worst part about using the laser cutter is aligning the optics. It only takes the smallest misalignment to cause big problems in the quality of the output and after trying multiple times to realign the laser with only mediocre results I decided that something a little more drastic was in order. The culprit seemed to be the carriage that carries the flying optics. It was made before the mill was converted to CNC and several of it’s measurements were off. Since the mill has been upgraded I was pretty confident that it could produce a much more accurate part. The first thing to do was draw up the part in CAD/CAM. For this I tried CamBam. They have a free trial good for 40 sessions after which it will still work for small projects. I’m new to the CAD/CAM world and have heard horror stories about the learning curve on some of the software packages available. CamBam was quick and easy. In a few minutes I was drawing up my part and not long after that I had a gcode file generated and ready for the mill. The design went through a couple of iterations before I settled on one that I liked. The final version looked like this:
I did a sanity check on the gcode by starting with and “air run”. Once everything looked OK it was time to start cutting some metal! Here is a (horribly poorly shot) video of the spot drill operation. At the end of the video you should be able to hear the Z axis jogging up to the tool change position and if you could see the EMC screen you would notice it asking for the next tool.
Here are the first three versions of the carriage side-by-side for comparison. On the left is the first part that was done on the manual mill. Next is the first CNC version with no material left surrounding the optics mount. In the next version I left a ring around the optics mount. This greatly increased the strength and helped locate the optics on the carriage. The final version isn’t pictured here but the only difference was a deeper cut in the three pockets around the mounting holes. The only reason for the pockets is to help reduce weight and lower the inertia on the laser cutter’s X axis. The final version of the carriage ended up weighing less than the original while at the same time being stronger and WAY more accurate.
Here are a few pictures of the final version of the carriage installed on the laser cutter:
I recently invested in the Tormach Tooling System (TTS) for my CNCed SX3. So far I’m really impressed with the set. Tool changes couldn’t get much easier. One of the best things about the system is that the holders give each tool a very repeatable height. That means that I can account for height offsets in my program and have one less thing to worry about when it is time for a tool change. But I still didn’t have an easy way to locate the spindle in relation to my workpiece. For me, this was a manual process of edge finding repeated for each axis. There had to be a better way…
After doing a bit of research it seemed like a touch probe would solve my problem and, lucky me, there are a few people who have had success building their own. See here and here and here and here.
The operating principle of this type of probe is pretty simple. They consist of three conductive rods, mounted perpendicular to the probe tip, each resting in a pair of conductive balls. The balls are wired together such that a signal will pass through the assembly when the rods are each in contact with their respective balls. If any of the rods move and contact is lost with one or more balls then the circuit is broken and a detectable change in the signal occurs.
Make sense? Let’s build one!
Mine started off with a few inches of 12L14 2.25″ round rod.
This was turned in the lathe to produce two pieces. The first was a TTS style holder and the second a housing that will hold the touch probe assembly.
The probe was turned from black delrin and has three 0.125″ steel dowel pins pressed into the larger diameter. It is a good idea to use a rigid material for this part and you could probably do better then delrin. If you look for a better material remember that it must be non-conductive, the rods must be electrically isolated from each other or the probe will not work. At the end of the smaller diameter is a Renishaw styli. You can purchase the styli here for a reasonable price. A spring in the top of the probe puts pressure on the assembly and helps make sure that the steel dowel pins stay in contact with the bottom of the assembly.
The bottom of the assembly is again turned from black delrin and has six pockets machined in it to receive steel balls. There is also a trough milled around the perimeter providing a place to secure the wire that will be used to construct the circuit. A notch is taken from the edge of the plate to allow clearance for the 1/8″ stereo plug mounted in the touch probe’s housing.
After initial assembly I measured the runout of the probe tip and found it unacceptable. The ball plate originally was pressed into a pocket in the bottom of the housing. I enlarged the pocket nearly to the inside wall of the housing and then added three set screws around the perimeter of the housing allowing for some adjustment in the position of the ball plate. With these improvements I am able to reduce the runout to about 0.00025″ which should be more than enough for anything that I’m likely to do.
Here is the probe mounted in the mill, a standard audio cable carries the signal to the CNC control box.
Setting up EMC
This part is easy! You can use any any input-mode parallel port pin (10, 11, 12, 13, 15). I choose pin 13. One wire on the probe is supplied with +5V and the other is connected to pin 13 on the the parallel port (via a CNC4PC BOB). Then I added the following line to my hal file:
net probe parport.0.pin-13-in-not => motion.probe-input
That’s it! EMC will will now look to pin 13 for touch probe signal information.
Using the probe
Chris Radek has published some g-code routines on his site that got me up and running quick. I only had to make a couple of changes to account for the difference in probe ball diameter (his is 6mm, mine is 3mm).
Here is a video of the touch probe locating the top surface of a workpiece (a hunk of scrap to test with in this case). After locating the surface the probe tip moves to 0.2″ above the surface.
Here is a video of the touch probe locating the center of a circle. The probes uses a couple of rapid passes to roughly locate the center of the hole followed by a very slow approach to each located edge for a precise location. At the end of the program the probe tip is located in the center of the hole. On the screen (not shown) EMC2 displays the diameter for both X and Y axis.
That’s it! So far I’m really happy with the performance of the probe. Now I’m off to add probing steps to all my programs!
I don’t remember now when it was that I first discovered laser cutters, but I do know that since that time I have wanted one. But a decent machine costs big $$$ and it was always well out of reach. (You can get inexpensive machines from overseas if you can accept the compromises in quality and features.) Then I stumbled across www.buildlog.net… with so many awesome examples of home built machines I couldn’t resist the temptation to give it a shot myself.
Here’s an early version of the frame. Hardly any of this design made it to the final build, but it worked well to test the motor controllers and belt drives.
I decided to use AVRSMTD stepper motor drivers because the firmware is open source so I could make changes if needed. I only had to make very small changes to turn on the desired microstepping modes. The drivers have been working perfectly since. Here’s a pic.
This is the belt drive for the Y axis.
The X axis uses a nema 17 motor.
Here’s an early version of the flying optics.
This is the final version of the frame starting to get some skins and a new rolling cart for the machine to live on.
The motor drivers get a new home (and a MUCH larger heatsink!)
The laser cutter can function in two modes. It can “print” a raster image much like an ink jet printer by scanning the X axis quickly back and forth and slowly advancing the Y axis. When in this mode the laser will pulse quickly, only firing on the black portion of the image. Alternatively, it can follow the curves of a vector image. This mode is used mostly for cutting material.
Here is a video I took while dialing in the speed of the X axis in raster mode.
The skins are made out of light gauge steel panels bent at the edges and attached to the frame with screws.
Here you can see the mounted control panel. The system is driven by a DSP main board from LightObject.