CNC Mill >
I finally decided that enough was enough, and added real depth probing to my CNC mill. The BeagleBone has plenty of inputs to support it (I even have a spare with a pull-up resistor pre-soldered), and since copper-clad board is conductive (along with my spindle and tools), it was really easy to add a few wires, tweak the configuration, and have it working.
So now I can tell the machine to depth-probe a chunk of copper-clad board, then compensate the PCB's milling depth based on those heights. This isn't entirely automatic (you need to run the depth-probing gcode, then run a converter script to modify your gcode, THEN run the PCB milling gcode), but it's pretty painless. And the results are pretty darn good- I just milled a board, and things overall appear to be pretty darn even. There was one edge that seems to be cut too shallow, though. Maybe an aluminum chip got under there or something... there are certainly enough of them around.
I even improved my code to be slightly more flexible, and stuck it up on Github in case somebody stumbles on this page and finds it useful.
There would be pictures here but all there is to see is a couple of wires, which I didn't deem worthy of an image.
Keywords to help people find this: PCB milling, depth probing, depth compensation, linuxcnc
Big news... big chunks of aluminum! I finally got the plates (and channel... and other chunks) needed to upgrade my machine yet again. The plates are 3/8", which I think should be enough to eliminate vibrations and resist bending. They certainly FEEL hefty enough.
Anyway, the big pieces will form the base, sides, and back of the updated machine, while the channel you can see buried under the long thin pieces will be the gantry. Those smaller pieces are to be basically the glue to hold everything together.
Now I just need to get back into the shop with the big mill for several hours.
I finished installing the Gecko Drives, and my CNC mill is back up and running. As usual, I'd also say it's better than ever.
Two upgrades (since it was last running) make it better: First, it's now being controlled by a BeagleBone Black, which means real real-time stepping thanks to a dedicated real-time unit. No more software jitter! Less notable, but still exciting features are the use of a recent OS (Debian 7.4 instead of Ubuntu 10.04) and lower power consumption. No idea how relevant the PC's consumption was in light of the multiple amps going through the steppers, but now it's under 10 watts (for the computer, at any rate).
The second improvement is the stepper drivers. The Gecko Drives are so much better (at least in the 5 minutes of testing/playing I've done) than the previous cheapo board I was using! They have improved resolution (nominally, at least; 10 microsteps per full step vs 2 for the old board) and run quieter, smoother, and faster. Plus they hopefully won't blow up. I think they're worth the investment.
To aid them in not blowing up, I've "borrowed" a heatsink from an old Pentium II CPU. It's the perfect size to attach all three Geckos and should provide more than adequate heatsinking, especially since I'm running the drivers below the current specified as requiring additional heatsinking. Better to be safe than have another (much more expensive) driver blow up!
Pictures will show up whenever I get my hands on a decent camera.
My stepper driver board's Y axis had a little issue... it exploded:
I can't say I even know what went wrong (I wasn't even milling at the time- just testing out using a BeagleBone Black to drive the signals). My steppers seem OK, though, so I'm assuming that it's a case of "buy cheap stuff, and it'll blow up". I'm sure that's a thing. In any case, I've got some Gecko Drives that I'm getting installed (pictures... sometime). Hopefully they'll be overall better. And not explode.
I had to do a revision of the "mystery board" from last week, so I made a video. As before, this video is pretty poor quality, since the camera refuses to focus properly.
The biggest thing to see in the video is the speed at which milling can be done- 13 inches/minute in this case. It could probably go faster, but I haven't tried that yet.
I still have some aluminum milling to do, but need to finish up the GCode for that before I can act on it.
For my definition of "better", at any rate.
Firstly, the mill is assembled again! Assembled is generally better than disassembled.
Also, the new X axis leadscrew is finally installed, and the stepper mounted. Better still, they're exceedingly close to perfectly aligned. This is thanks in part to the little piece of angle aluminum with the green screws through it. It was much easier to get things aligned when referencing to the plane that the screw is already in. It's not the thickest of materials, but the screws don't tend to see much load in my applications, so it should be fine. In any case, it should be easy to reinforce should the need arise.
Also, having a tool perpendicular to the workpiece is generally considered "better" (unless you have more axes, I suppose). I've done some more work on getting everything as perpendicular as possible (I've already noted my work on getting the Z axis slide perpendicular; this time I adjusted the spindle mount on the slide), with some pleasing results:
Despite the swirls you can see in the images above, the result is incredibly smooth. There's a little swarf on there yet, but no ridges I can feel due to misalignment. Better still, the tooling marks seem consistent around the whole circle, meaning the tool probably isn't off-kilter, and thus digging in on one side or the other (as can be seen in previous operations).
There are two other things to see in the pictures above. Firstly, that the circles aren't concentric like you might expect. This was due mostly to my laziness. You can see in the image on the right that the workpiece is only clamped down on one side... not conducive to staying in place, especially when tearing into aluminum at 20 inches/minute. Cutting around the circles was fine, but each cut inward to start the next pass moved the workpiece a bit. The other thing to notice is the snazzy new 1/4" end mill. I finally got a 1/4" collet, and obviously had to have an end mill to go with it. It certainly makes the chips fly... I really need a skirt around the toolhead or something. In any case, it works quite well.
That's all I've got. you would think I would have gotten more done over an entire week (spring break) than that, but getting things aligned is a painstaking process. And, of course, it just wouldn't be spring break without homework to do. I did have a video of the cuts shown above, but lost it. That'll teach me for being overly-zealous in keeping the camera memory card clean and saving things to /tmp... I'm sure there will be more opportunities in the future.
This week mostly looks like more destruction.
That is, of course, not entirely true- I finished a new stepper mount (effectively identical to the one shown in the previous post) for the X axis, and tried to get it installed. It turns out the sides of my machine aren't entirely perpendicular to the X axis, so aligning it has proved to be a challenge. This is the technique I've been using- trying to reflect a laser back at its origin:
That's a laser level clamped to the X axis. You can also see the rather unexciting stepper mounting plate. Perhaps more exciting is the "mirror" I'm using to reflect the laser. Yes, that is a silicon wafer. Evidently that's easier to find than an actual mirror around here.
After unsuccessfully trying to shim the mounting plate into the correct plane, I think what we'll end up doing is is put some epoxy putty between the plate and the side of the machine, screw the plate down to perpendicular, then let it harden. At that point we should be able to screw everything down nice and tight while still having it be perpendicular.
As a side note, a bunch of tedious work isn't shown here- getting the leadnut on the X axis carriage aligned with the direction of motion. I didn't take a picture firstly because it looks pretty much the same as the Y axis (which I evidently didn't take a good picture of either... oops. This is about the best I can do- you can (barely) see it in the upper left), and secondly because it was already mounted at the time it occurred to me to get a picture. It seemed like too much work to take it apart again.
Most prominently the new table is bolted down. Furthermore, the T-slot table is bolted on top of that, so I can actually resume milling stuff:
You can see the front and back views (note the lovely metal roofing screws holding the back plate on- classy!) above. I've even gone so far as to level the table, since it had been remounted. It turns out it had shifted quite a bit- the outside slots haven't even been touched (they will be if I ever need to mill something that requires support that wide). Leveling took much less time with the new spindle than previously!
The new Y axis is incredibly smooth- the leadscrew is aligned just perfectly (well, pretty close at any rate), so it turns with negligible resistance. Unfortunately, somehow (despite CNCing the pattern and holes), the stepper is not perfectly aligned with the leadscrew shaft, so I'm still using the old rubber tubing coupling. On the up side, it works just fine for low-torque applications.
Always a favorite feature on axes: limit switches! Yes, I have limit switches installed on my Y axis still, except this time they're done better, with no wires trailing along the sides of the machine. They're hidden under the right side of the table- with "right" as shown in the left image above. They'd be on the left of the right-hand image.Just imagine they exist between the two images. In case you lack imagination:
There's an extra aluminum rail that runs along the bottom of the table. The switches trigger when they run off the end of it, which is good, since I don't want my table crashing into my stepper.
Finally, a little work on the Z axis. During the course of all this other work, it became apparent that the Z axis wasn't perpendicular to the XY plane- maybe a quarter inch of Y-dimension travel over the course of the Z axis, which is kind of a lot.. The simple solution was to shim the bottom of the Z axis to force it out a bit. Conveniently enough, a couple washers made it pretty darn close to perpendicular (at least as far as I can tell with my improvised right angle- aka, the old table).
It's shimmed out maybe 0.125" (I think the washers were ~0.128", but close enough). I didn't really do any tests to see if it gives a nicer finish, or cuts nicer PCB traces, but at least it appears to be much more square.
As far as replacing the axis goes, I'm so far quite satisfied. I have yet to check how close to perfectly aligned the Y axis is since bolting it down, but it at least looks good (though I realistically probably couldn't see the difference between 85° and 90°, much less 90° and 90.1°). At a minimum, it slides so much better than the previous iteration (remember how that was shimmed up to prevent it from wobbling- ie, had LOTS of friction?). I can now do rapid moves around twice as fast- actually faster, though not consistently. And by that I mean that 0-42 inches/minute works just fine, 42-66 inches/minute is kind of sketchy, then 72 inches/minute is fine again. Go figure- I've read that harmonics can creep into steppers/leadscrews and cause problems, so maybe that's the issue. In any case, I don't need to move that fast, so I just limited it to 42 inches/minute peak.
The X axis is coming up next for replacement! Or maybe getting the Y axis stepper properly aligned with the leadscrew... one of those two, in all likelihood.
1-10 of 46