Upgrades, upgrades, upgrades. It seems like I’ve never stopped adding things to my shapeoko 2! I do believe I am nearly done after this set of upgrades though…
Over the last month I almost completely rebuilt and re-wired my shapeoko to square everything up and to add in a few improvements. The things I’ve added/done this round include:
-Rebuild and Rewire
-Limit Switches (and hard limits)
-Installed a trim router for the spindle
REBUILD AND REWIRE
I decided to take apart much of my shapeoko to re-square and re-wire it recently because I was getting a lot of binding of movement after I had installed it in the enclosure. It was pretty much impossible to re-square within my old enclosure design because access to certain bolts was HORRIBLE. I’ll go into this in the enclosure re-design section though.
Once I decided to rebuild the structure, I decided I should also clean up the wiring everywhere too. My original wiring was a mix of shielded and un-shielded wires and was generally pretty sloppy. Every connection was also just twisted ends heat shrunk together. My new solution to avoid that: terminal blocks, terminal blocks everywhere. I used at least one terminal block on each motor mount plate to connect the motor wires to their respective wire runs. This also simplified connection of the dual y-axis motors greatly because now they could be adjusted at screw terminals instead of being stuck soldered the way they were. I also added two blocks on the X-axis motor plate: one for the x motor and one for the z motor.
I installed a 6 ft long power extension cable onto the x-axis motor mount plate for plugging in the spindle. All the wires coming from the spindle were bundled together (steppers, end stops, wall power) and then wrapped up with black spiral cable wrap. This bundle was routed upwards toward the z-axis motor and then in an arc over to the y-axis motor plates. From there the y-axis stepper wires and x-axis end stop wires were added to the bundle and then pointed up for a smaller arc back to the rear end plates. The bundles of cables give enough rigidity to keep the arc formed but still allow smooth travel. The wires from the far side y-axis motor and x-axis end stop were routed across the x-axis rails by stuffing them into the channels of the rail extrusion. This keeps them out of the way but still accessible.
After all the re-wiring was done, all the stepper wires were continuous. The limit switch wires are soldered in parallel with their same axis mate wherever was most convenient, then routed as one single + and ground pair for each axis. The limit switch wires all go back to a terminal block mounted on the rear right end plate where all the grounds meet up. From there all the limits are broke out into a 4 conductor wire then connect to the screw shield.
The only thing I added to the structure of the machine during this phase was some printed maker slide joiners. I got the idea from a identically named item on thingiverse (which I actually use on my work bed). The ones already available join the extrusions right up to each other though, and the default shapeoko 2 spacers on the x-axis does NOT force the maker slides up against each other. I used my CAD model with the wheels “perfectly” aligned to trace the profile of the two inner slots on the maker slide. Once printed and hammered into the extrusion slots, the two x-axis rails stay perfectly spaced and level.
I only installed them in each end of the rails because I could not push them in any further without damaging the printed parts. There is some flex in the center of the combined rail, but that doesn’t often happen during operation. If I did this again, I would design some non-press fit spacers to go in the mid-span area that would get trapped once the press-in end pieces were installed. Here is a link to the .STL http://www.thingiverse.com/thing:503437 .
I just finished my enclosure the week previous, but there were some things I overlooked that needed immediate fixing.
The first problem was the access issue for tweaking the machine. Some bolts were impossible to easily reach for squaring of the machine. One such situation is below:
There were a couple other places like this that were hard to impossible to reach for easy tweaking. My shapeoko was having issues running smoothly at this point too, which prompted the rebuild and rewire above. I had already spent the time and money cutting the acrylic windows to shape and buying the aluminum extrusion, so I did not want to stray too far from that design. Luckily, I found that all the parts I had already worked out, just in a different permutation.
To make the enclosure and machine play together better I did a couple of things. The first was changing how the machine mounted to the frame of the enclosure. Before, it sat within the bottom of the frame and bolted on with aluminum corner brackets. This setup led to the access problems. My solution instead, was to pull in the bottom frame mounting members such that the extrusion of the shapeoko could rest on top of them. No new parts were needed, and everything still fit nicely. It actually turned out that the aluminum corner brackets were exactly the distance from outer frame-to inner frame for the bottom portion. This resulted in a more rigid bottom, a better aligned bottom and an ideal place for leveling feet to mount.
This enclosure re-design took place at the same time I was re-building and rewiring the shapeoko, so I built everything together from the ground up. Once the bottom of the frame was built, I added the shapeoko’s base and bed. This was accomplished with printed extrusion corners. Unlike the aluminum ones, these where designed to join extrusion that weren’t in the same plane. To ensure that they pull down the extrusions all the way onto each other, the holes are actually 9.75 mm from each edge to give an extra pull (center of slot for 20 mm extrusion is 10 mm). (http://www.thingiverse.com/thing:503471)
First the black extrusions from the shapeoko were attached, then the aluminum extrusion bed was attached. I built it upside down so that gravity was working in my favor when tightening the printed corners.
Another thing I added during this part was the leveling feet. In some of the above pictures and CAD models you can see them already. I printed out mounts that took advantage of the three extrusion sections in each corner. They also had nut traps for M8 nuts. I bought 4 leveling feet from amazon (http://amzn.com/B008LTY1W0) that had M8 threads on them. I used one nut/bolt in each of the extrusions to secure the mounts to the frame. (see above pictures for installation).
After that I just kept building up the shapeoko on the new frame and then assembled the enclosure again just like it was before. I did not take any new pictures of the enclosure after the shapeoko rebuild was complete.
Ahhh limit switches. This was a project long in the making (took my shapeoko down for this job over 2 months ago!). I tried a couple different solutions for this part. I started out with super-mini limit switches (like the ones used in computer mice buttons), but they were difficult to solder to and required somewhat expensive #00 nuts and bolts. I also tried to solder up my own perfboard with the filter circuit on it, but that did not work out so well either. In the end, I went with standard reprap style limit switches (http://amzn.com/B0087ZFBUO) and a protoscrewshield kit from sparkfun (https://www.sparkfun.com/products/9729).
In order to attach limit switches to grbl, you need to solder in headers to the grblshield or use some kind of screwshield to access those pins. The first thing I tried was soldering headers into the grblshield, but at the time, I was using the wrong size of soldering iron and the connections proved to be very sloppy. I decided on the protoscrewshield from sparkfun because I would gain the benefit of screw terminals for every pin, AND could include the filtering capacitors for each limit pin.
I had to do a couple tricky things to get the screw shield working with the uno and grblshield. First, the pcb of the shield hit the DC barrel power jack on the uno, so I chomped off a small piece of the board to allow room for it to fit. The second issue was that the default pass through headers of the screw shield did not fit the grblshield. Two of the pins were left out.
Luckily, the stackable headers for the analog pins of the arduino are not used by the grblshield, so I cut off two of those and used them in the spots that did need stackable headers. For the analog pins, I soldered in normal headers so that the screw terminals of the shield still work for those pins. On the underside of the screw shield, I added the little black spacers from standard headers to make sure the screw shield sat level on the arduino.
In the “proto” area of the screw shield, I added three .1 microfarad capacitors between the limit pins and ground to filter out noise in the line.
To actually mount the switches, I designed and printed a small mount that uses the extrusion slots in maker slide to mount and adjust. Only one M5 bolt is used to secure it, and two small tabs keep it from turning. This design allowed the switches to all be adjusted very easily. (http://www.thingiverse.com/thing:503552)
I used zip ties to attach each switch to the mounts. They do shift a little bit under force but they usually trigger before that becomes a problem. I laid out the switches as shown in the following pictures:
All of them activate reliably. The only one that could have any problems is the Z max switch, as it requires the v-wheel to hit the switch. I have had no problems yet with any false trips or crashes. Also of note is that the endstops for each axis are wired in parallel as per shapeoko instructions and then connected to the appropriate pins on the screw shield (9, 10 and 11 I think?). All my endstop wires are routed right next to unshielded stepper wire cables and a wall power line and there have been no problems with accidental triggers.
TRIM ROUTER SPINDLE UPGRADE
Up until this point I had been using a dremel 300 as my spindle. It worked pretty well, but the mounts for it were not the best since the body of the dremel was not cylindrical. Other reasons I wanted to switch spindles included: The desire for a more powerful spindle, a 1/4″ collet and the ability to use my dremel for normal dremel things.
The trim router I chose was from Harbor freight (http://www.harborfreight.com/14-in-trim-router-61626.html). I got this on sale for $21 and also picked up a speed controller for it (http://www.harborfreight.com/router-speed-control-43060.html). This router has some better stats compared to the dremel and it also has a 1/4″ collet! The body of it is also a nice cylinder, meaning mounting would be significantly easier. I designed the mount to hold the cylindrical body and to also hold a 1″ PVC pipe for a vacuum tube. (http://www.thingiverse.com/thing:503637 – mount and .step of the router).
The only problem with this upgrade was that all my bits are for 1/8″ collets. I don’t own any 1/4″ bits just yet, but in the mean time, I purchased a collet adapter to make all my bits work. I purchased a 1/4″ – 1/8″ adapter from here: http://www.mlcswoodworking.com/shopsite_sc/store/html/smarthtml/pages/bushing_ball_bearings.html . It was a little fiddly to get it to play nice with the trim router collet, but once I did it has been working fine since.
I am pretty happy with the state of my shapeoko right now. Everything is running nicely. The new spindle is a good bit louder than the dremel, but the performance is better. My enclosure is also not quite finished yet. I have yet to put a bottom on it. I plan on cutting the bottom from 1/4″ plywood, just like the back of the enclosure. The extrusion nuts are already in the bottom of the frame, I just need to buy the wood and drill the holes. I think the open bottom may be a decent source of the noise. A good portion of the cutting debris is finding its way out through the bottom too.
The only other upgrades I have planned now is a relay for the spindle (which I already have), a mounted vacuum, and possibly a DIY drag chain. But for now, I can get back to actually making stuff! (or finishing my Rostock mini).