Close

Machine Assembly and Etch-A-Sketching

A project log for The Circuit Graver

Carve PCBs at home using a machine you build!

zakqwyzakqwy 09/30/2024 at 01:070 Comments

I built the machine! Or at least, the purely mechanical parts of the machine; electronics and electromechanics still to come:

It works! Well, a lot of things need dialing in, but this is a great start; those are probably ~0.2 mm trenches, give or take:

Most of the 3D printed parts came together well. The cracks of my CAD architecture are showing; big assemblies are complicated because you have to keep track of mating parts! That bit me when I checked alignment of the gantry to the gantry legs:

It's a bit tough to see in the image above, but the two holes closest to the top edge of the leg (left) and the gantry (right) are slightly offset. So I reprinted the gantry with fixed holes. Another crack appears: the X and Y axis gantries are identical, save the location of two holes that shift by a few millimeters. Bah.

Print orientation is often a compromise; in many cases, I want flexures to avoid crossing layers, which dictates the direction of individual prints and also pushed me to split the design into a few bolted-together parts. The frame comes together from seven parts: the gantry, the two gantry legs, the back plate, the base (or "y-axis gantry"), the front plate, and the X-axis motor mount:

I tried to be a bit clever with overlaps: the gantry sits on shelves on the two legs, which fit into blind sockets in the back plate. The base fits in a socket on the back plate too, and fits into the front plate:
The gantry legs, front plate, and back plate all host 608-size bearings for the lead screws, and include one axis of constraint relief via opposed parallel-beam flexures (the orthogonal axis is relieved on the lead screw nut carrier). So they get printed flat! And the two gantries are printed on their backs, so the linear guide rail mounts are the top layer of the print, which seemed to work well enough on the test jig.

A better 3D print designer, or maybe even me if I had more time, might make a few adjustments to reduce the need for support material during printing! Actually, I could probably turn it off for a lot of the smaller things, since I'm typically only bridging a few millimeters for e.g. nut retainer pockets. Alas, I'm in a hurry, so I spent a bit of time removing support material:

This was generally fine. A bit time-consuming, but simple enough with the right tools: a pair of sharp flat serrated needle-nose pliers, and a little screwdriver I wasn't afraid to bend up a bit. And sometimes the slugs of material popped out in a quite satisfying way.

I bought my MGN5 stuff on eBay; the listing I found included four rails with four carriages each. For the first tests of the gantry, I just moved two carriages from two rails onto the others, leaving me with two storage rails that I now needed. So I 3D printed little carriage holders, which seem good enough but are perhaps a bit looser than the black plastic factory storage rails that came with my MGN7 test jig hardware:

As before, I used the MGN5 carriage test indicator mount I 3D printed to align rail pairs to within ~+/- 10 um along ~80 mm of travel, give or take:

I tightened the bolts from below (my rail set is tapped) gradually, testing for parallel as I went until they felt pretty tight. I ran out of M2x20 mm bolts, so the Y-axis rails are a bit sparse. Oh well.

Once I was satisfied with rail alignment, I bolted the frame together. There do be some dragons here, probably related to print orientation and bed warping; after attaching the legs to the back plate and tightening the bolts, the gantry fit with a ~1.2 mm gap:

I frowned at the gap and decided it was probably fine, and tightened the remaining bolts until it disappeared. Then I assembled the four 3D printed parts of the Y axis: the PCB mounting plate, the locking arm, the locking arm backer plate, and the lead screw nut carrier/preloader:

I unbolted and removed the Z-axis assembly and installed another dial indicator holder, this one sized to bolt onto the Z-axis servo mounts. I installed a PCB blank (which fit nicely, the clamp works well!) and positioned the dial indicator so the arm sits on FR4:

I swept across the working plane and wrote down deviations:

Not terrible, but maybe not great. Pressure control, etc, but I'm shooting for tracks in that order of magnitude so flatter seems better. Shimming the PCB mount plate at the carriages is an option, but before trying this I rotated the PCB 180 degrees and ran the same sweep test:

So at least some of the error -- actually, right around half -- seems to be from the PCB blank. I could still shim one side by ~50 um or so, but I decided to press on and do some tests! I did a few cuts without lead screws installed, driving the X and Y axes by hand:

The curved ones were a bit chaotic and fun. The diagonal lines are interesting; I set the spindle to be reasonably straight, but any deviation would pull the X-axis along in that direction while I pulled the Y-axis along manually. I wasn't super thrilled with the cut quality, so I pulled the Z-axis off, removed the tool, and polished it up a bit on a diamond hone:

I made a grid of cuts after that which turned out a bit better:

Without any finishing work, I pulled the PCB out and beeped the regions:

Not terrible! 11 distinct nets; five short circuits all on the left-ish side. A shaky loupe photo shows that the orthogonal lines seem to be smearing copper across the gaps:

Fascinating. I scrubbed off the chips by gently sanding the board on some 320 grit paper; this reduced the shorts to 4. I suspect I'll need to add a back-and-forth operation when toolpathing or something, or maybe improve the cut edge further. I didn't dust off ImageJ this time, but my guess is the trenches are 0.15-0.20 mm, or 6-8 mils (the pads on the QFN are 0.2 mm wide):

I've been careful about fiberglass dust; this process doesn't kick it up in the air like milling, but I still wipe everything down with a damp paper towel and try to keep a clean work space. The fibers seen on the cut above are from a paper towel!

Still not etch-a-sketching, so I installed the bearings using the old blanking block and a C-clamp:

I installed the split collars, and preloaded the lead screws in compression against the support bearings by (gasp) driving the stage to one side and tightening one collar while the assembly was pushing against the preload flexure. I noticed a bit of a clunking, which came from the split collar set screws rubbing against the gantry! Ah yes, I remember this from the previous test. It doesn't happen when the end plates aren't installed, meaning the assembly has a tiny offset somewhere that I need to track down. For now (and maybe forever), I clearanced the gantries (see the mark!) with a knife and let the preload flexure take up the difference, which worked well enough:

The preload mechanism is great; it was easy to add a bit of preload to the lead screw nuts after assembly until everything ran smooth:

I used the lead screw preload test as one handle, and an extra flexure and some locking pliers as the other, and did some proper etch-a-sketch tests. These worked well, and showed off one of the next challenges: tearing up adjacent tracks:

Not surprising, and something I think I can fix with good toolpathing (maybe avoiding crossing lines? sounds annoying..). In any case, time to measure and order belts and start spinning some motors!

Discussions