Yep, more upgrades for my shapeoko 2. The big ones in this post are the drag chains and 300W DC Spindle, but to add those two things in correctly I had to disassemble much of the machine. Luckily, my winter break from school extended through this week, so I was able to power through the re-build and get it all back together. It took me probably 5-6 hours a day for 4 days to get everything the way I wanted.
DRAG CHAINS AND RE-WIRE
Installing drag chains on my shapeoko 2 was something that I had wanted to do for a very long time. My wiring job was very very ugly when I first assembled my shapeoko, got better when I did a re-build and re-wire during enclosure installation and now is probably the best it will get.
Before adding the drag chains, all the wires were just bundled together using spiral wire wrap and then routed upwards to give slack and allow for movement. This worked pretty well, but over time the upwards bias started to fall over and get in the way. Still, it worked OK. Once in December though, while homing, the bundle of wires caught on the x-motor and caused the machine to skip steps. I had already ordered the drag chain by then, but it showed me that I needed to be careful about the wires until then.
I decided to go with 20×15 mm drag chain sourced from Amazon. The exact one I purchased was http://amzn.com/B00FH6ZMZ0 . This size managed to be a close fit within the bounds of my enclosure while still being able to contain all of my wires. I purchased qty 2 of 1 m length chains to make sure I had plenty of links and end connectors for both axes. After installation, I probably have close to 1 m worth of links leftover, but it doesn’t hurt to have extra.
There are not very many easily apparent ways to install a drag chain onto a shapeoko 2. Inventables strategy for chains is to use small metal angle brackets, but I both didn’t see that before I made my designs, and would not have wanted to do it that way anyways. What I ended up doing was making some shelves and plates to receive the chain ends and also offer tie down points for wire management. I fired up SolidWorks and got to designing.
The X-carriage drag chain mount is installed on the back of the Z-axis makerslide and also contains terminal blocks for the X-motor, Z-motor, Z limits and DC spindle. All of those wires go into the blocks then end up on the underside of the plate, then into the drag chain. Made of 1/8″ clear acrylic.
The termination point of the x-axis drag chain is a small shelf like assembly. It mounts on the back of the x-axis makerslide and has two sets of slots for routing cables the correct way after exiting the drag chain. Made of 1/8″ clear acrylic.
The drag chain mount for the Y carriage mounts on the top of the x-axis makerslide. This positioning interferes with the belt clips for the x-axis, so I just incorporated the belt clip into the mount. This end becomes the fixed end for the x-axis belt and I tension it on the other side. Made of 1/8″ clear acrylic.
Finally, the Y-axis drag chain terminates in a small plate that is attached to the frame of the enclosure. More tie down slots are present to handle all of the cables coming out of the chain. This one is made out of 1/4″ Birch plywood.
While contemplating the drag chain mounts and seeing how I was going to be cleaning up the terminal block mounting on the X-carriage, I decided to clean up the terminal block mounts on the Y-carriages as well. One Y-carriage only has one terminal block, and the other had two blocks, so I made two designs with the same profile, but different hole patterns. (In retrospect, a single design with all the holes for both sides would have worked as well). I made these out of 1/4″ Birch Plywood.
After spending a couple hours on the design stuff, I exported the parts to be cut as .DXF’s and then loaded them into my current CAM program of choice: estlCAM.
For the 1/8″ acrylic parts, I used a 1/16″ 2-Flute Square End Mill with a feed rate of 15 IPM, step down of .031″, and the max spindle speed of my trim router (somewhere around 27000 rpm).
For the 1/4″ plywood parts, I used a 1/8″ 2-Flute Square End mill with a feed rate of 30 IPM, step down of .063″ and the max spindle speed again (~27000 rpm).
Everything came out fine except for a problem with over-plunging on the z-axis when I cut out the terminal block mounts. I was cutting out all of the 1/4″ ply parts at once, and when it began to cut the profiles it decided to plunge the depth of the material BEFORE starting to even step down. The result? It cut out the entire profile in one pass. I was really surprised that the machine was able to do that, but it did. It cut out one in this fashion and it got popped out of the way on its own luckily. When it was doing the second profile in this same manor, the part began to come loose near the end of its profile, so I e-stopped and then trimmed it in the basement with a band saw.
I also painted the wood parts flat black with spray paint to better match the carriage plates. Installation and proper wiring of these new terminal blocks required dis-assembly of the machine (which I had to do anyways).
Installation of the X carriage mount also required dis-assembly. I had previously had the z-axis rail lowered to give my spindle better reach, but that was also old news as I was moving to the DC spindle. To install the X carriage mount, I took off the z-axis rails and then put in 4 additional t-slot nuts. Those four nuts have matching holes in the mount and then the whole rail assembly is added back to the x-carriage assembly.
Installing the y-axis drag chain termination was definitely the biggest pain of this whole rebuild. It only takes two t-slot nuts to anchor it, but the rail that the nuts needed to be installed in was possible the most difficult one to access on my whole machine. I needed to remove the bottom of my enclosure and 4 other connections to be able to install the nuts. Next time I’m buying post-assembly insertion nuts.
While I had the bottom of my enclosure removed, I took the liberty of spraying it flat black instead of leaving it as unfinished plywood. The bottom is equally annoying to install due to the need to line up all 8 nuts in the extrusion prior to putting it on, and then being blind as to where the nuts are if they shift at all.
After that fiasco, I moved onto finishing up the gantry assembly. I installed the Y-carriage drag chain mounts in the top of the x-axis extrusion, and then began the dreaded task of wire management.
Coming through the x-carriage drag chain were four different cables: X-motor, Z-motor, Z limits and Spindle Power. All of those minus Z limits continued on as continuous wires to the controller, so they had to be routed and ready to go into the y-axis drag chain. The Z limit wires went into the limit switch terminal block.
A lot of the wiring mess is hidden underneath the terminal block mount. I used all the tie down points as best I could to route the cables and then they all enter the drag chain together.
One limit switch and one of the Y motors was still on the incorrect side of the gantry to go into the drag chain, so these wires were routed across the gantry by pushing them into the bottom of the x-axis rails. The stepper cable was large enough that friction alone holds it in, but the limit wires were too small for this. I used a trick I learned in the shop at my co-op to keep these wires in. The tiny green pieces pictured are parts of a zip tie chopped up, folded in half and then pushed into the extrusion. Once they’re in, they expand again and hold the wire up in the slot.
Next was installing the gantry onto the y-axis rails and installing the Y-axis drag chain. This also involved wiring the limit switch terminal and y-motors. These two cables were added to the other 3 coming from the X-axis drag chain and all shoved into the Y-axis drag chain. It was quite a tight fit getting 5 of these cables into the drag chain, but they did all fit.
Another one of my goals for this rebuild was to maximize build area as much as possible. To that end, the y-axis belts are put through the end plates in the back (you can see this above) to allow the carriage to move all the way until it would hit the end plates. On the front end, I trimmed the belt clips to get rid of the interference which is usually present with the V-wheels. To do the trimming, I clamped the clip in my bench vise and just cut along the top of the vise with a hacksaw. I cleaned up the corners with a file.
Everything was very tight as far as interference goes. The X-axis drag chain termination point just barely clears the rear end plate, but it does.
The Y-axis drag chain also barely makes it into the enclosure. There is about 10 mm of clearance between the edge of the drag chain and the wall of the enclosure.
The drag chain on the Y-axis just happened to fit in and line up with a space left in the bottom frame of the enclosure. As a result, much of it is out of the way even more than I designed for.
Limit Switch Placement
During my rebuild I also switched up the mounting of my limit switches. Previously, I had been using 3D printed mounts that went into the extrusions on each axis. This mounting method worked OK, but I lost travel in each axis because it would interfere with the motion of each carriage.
Instead, during this rebuild I moved the y-axis limit switches from being rail mounted, to being carriage mounted. The carriage plates have slots already cut into them to mount a standard switch, and mounting them here gives the most possible travel in the Y direction. To mount them, I tapped M3x.5 threads into the existing mounting holes. The holes on my switches measured 2.4 mm, which was very close to the recommended drill size for tapping M3x.5 threads. Once started, the threads formed easily and are quite strong. So strong in fact, that I found my switches stopped working if tightened too much.
For the X-axis, rail mounted limit switches were still permissible, since the travel in this axis is already limited by other factors. For these mounts, I switched to a new design that I came up with originally for all the axes. The mount has four holes that are sized for an M3 tap, allowing you to mount the switch in any orientation. The length of the mount is the distance between the rails on makerslide, so it will not rotate and part of the width is slimmed down to allow V-wheel clearance for the +Z placement.
Here is the thingiverse link: http://www.thingiverse.com/thing:627397
Repeat image below, but you can see where I mounted the X-axis limit switches here.
For the Z axis limit switches, I used another of the new acrylic mounting plates for the -Z, and as I talked about in my z-clearance mod post, the +Z limit is attached to the bearing plate.
DC SPINDLE INSTALLATION
During this rebuild I also installed a 300W DC spindle with an ER-11a collet. The goal here was to get a quieter operating machine and to get more control over the spindle. It was really killing me running the harbor freight trim router for more than an hour or so, even with hearing protection and the enclosure.
Using the sound meter lite app for android, I recorded a sound level of 103 dB with the harbor freight trim router running at 100%. That is with the enclosure door closed. After installing the DC spindle, I recorded a sound level of 98 dB at 100% speed. 5 dB might seem like much, but because decibels are logarithmic, a 5 dB difference is nearly 4 times quieter. The difference is very notable, and I do not plan on wearing hearing protection during operation anymore.
I ordered my DC spindle and spindle speed controller from Amazon. (http://amzn.com/B00MN7WERA and http://amzn.com/B00HUQY9HC , respectively). The spindle looks and measures exactly the same size as the one that Inventables sells as their “quiet cut” spindle. Likewise for the speed controller, though the speed adjustment potentiometer on the controller I received is NOT a panel mountable knob like the Inventables one, just a trim pot mounted on the board. I also ordered a 350W 48V power supply to run the spindle (http://amzn.com/B005CLBZRO).
The first spindle I received was a dud. When I powered it on before installation, there was a VERY noticeable wobble in the spindle shaft already. I promptly returned it to amazon for a refund and purchased a replacement. I am very happy that the replacement does not have the horrible wobble that the first one did.
To mount the spindle, I had to re-arrange the z-carriage slightly. I was worried that the spindle would not have enough reach, so I swapped the location of the delrin nut and the top spindle mount to make the carriage move down further and to make the spindle mount lower.
Speaking of the spindle mount, I reworked the mount I designed for the Harbor freight trim router to fit the DC spindle. The main difference was diameter of the body, so the design change was very easy. I used 1/2″ HDPE again and cut it out with my trim router before dis-assembly. Just like the last one, I made a hole jig for the mounting holes and drilled those by hand with a cordless drill.
Here is the thingiverse link: http://www.thingiverse.com/thing:627385
Initially, I installed the spindle speed controller in PWM mode, that is, to receive spindle speed commands from the computer, but electronics issues kept me from getting that to work correctly. I followed the GRBL github instructions on modifying the parameters in the GRBL code to allow for this, but every time I sent a spindle speed command near the top end of the limit, the controller would just shut off. With my RPM range set from 0-12000, the spindle would turn off with any command over 8500-ish RPM. I tried increasing my range to see if I could ever send a 12000 RPM command, and it required me to go up to a 0-17000 RPM range before a 12000 RPM command would actually work.
I probed around the PWM terminals while doing these tests and I noticed that the 8500 RPM command corresponded to ~3.2V, so I thought maybe it was a logic level issue, since arduino PWM works on 5V logic. However, after adding a simple resistor based voltage divider, the problem persisted. I’ve talked about it with my brother, who also has the same (or at least very similar) controller. Unfortunately, neither of us have come up with a solution or reason to why it behaves like this just yet and there appears to be no data sheet for this controller anywhere.
In the end I settled for switching it back to pot controlled speed and just set the pot to maximum speed. To gain back on/off control, I added in a relay module from sparkfun that I’ve had sitting around for ages. Now I at least have on/off control of the spindle.
Electronics Mounting and Wire Management
The last part of this post will be for how I cleaned up the wires on the back of my machine where everything attaches to the electronics control boards and power supplies.
All of the electronics for the machine are mounted to the back of the enclosure. The back of the enclosure is simply a piece of 1/4″ plywood with holes drilled in it all over the place for wires and boards and what not.
The Enclosed power supply is butted up against the bottom corner of the extrusion of the frame, and bolted in from the other side of the wall. Likewise for the spindle speed controller and arduino. The brick style power supply is zip tied in two places to keep it secure.
The brick power supply is jumpered into the blocks of the enclosed power supply so they both are powered by only one plug. This plug also runs up to the emergency stop and on/off button near the front of the machine. This way, if I e-stop the machine, everything turns off. (props to my brother for suggesting this method of wiring). The on/off switch and e-stop are wired in series, so really only one of them is needed, but with this configuration, I do not have to use the e-stop to power on and off my machine every time.
This rebuild took me much longer than I thought, but my machine looks super clean now. I am a little disappointed about the speed controller not taking PWM commands correctly, but I will try to sort that out at another time. All in all, I am very pleased with how the drag chains look and function and I am ecstatic that the DC spindle is quieter than my old trim router.