Shapeoko 3 #677 build log (Dust enclosure w/ a 'silent' fan)

RoguePirin
Posts: 216
Joined: Wed Sep 02, 2015 3:22 pm
Location: Illinois, USA

Earth Grounding a Dewalt DWP611 (110V)

Post by RoguePirin » Fri Jan 29, 2016 4:55 am

I started modifying my DWP611 for the SuperPID, but halfway through, I decided to replace the current power cord with an earth-grounding power cord. I figured that, as long as I had the router taken apart, now was as good a time as any. I posted my work over on this thread: Earth Grounding a Dewalt DWP611 (110V).

All in all, it turned out great. The only noticeable change is the earth grounding wire sticking out under where the cord enters the housing:
38-NewGroundWireOutside.jpg
38-NewGroundWireOutside.jpg (58.32 KiB) Viewed 3658 times
Shapeoko 3 #677, Nyloc nuts, ¾" HDPE base with t-nuts, Dewalt 611 w/Super PIDv2

RoguePirin
Posts: 216
Joined: Wed Sep 02, 2015 3:22 pm
Location: Illinois, USA

SuperPID Router Modifications

Post by RoguePirin » Sun Jan 31, 2016 3:46 am

I am going to use a SuperPID closed-loop speed controller to control the RPMs of my WDP611. In order for that to work, 2 modifications have to be made to the DWP611 router:
  1. Bypass the speed controller dial (and soft start up)
  2. Provide some mechanism for the SuperPID's optical sensor to measure the actual RPMs
To bypass the speed controller on the DWP611, the SuperPID folks provided the following picture, which circles the 2 wires that must be disconnected and spliced together:
39-SuperPIDBypassInstructions.jpg
39-SuperPIDBypassInstructions.jpg (62.73 KiB) Viewed 3635 times
I cut the quick-disconnect connectors off the 2 indicated wires and crimped them together (the red bar in the photo below). It was pretty easy to tuck the wires back into the DWP611 housing after that:
40-BypassThrysitor.jpg
40-BypassThrysitor.jpg (92.55 KiB) Viewed 3635 times
The optical sensor on the Super-PID uses a reflective optical infra-red sensor that is simply pointed at the router output shaft and detects a spot of white paint on the shaft. I used regular white-out correction fluid and painted/brushed half of the black disc at the top of the spindle shaft white. Note that there are 24 vertical copper bands just below the disc on the router shaft, so I counted 12 of them to know when I had half of the disc painted. Also note that this is the exact opposite side from the crimped wires. Tucking in the wires on the other side blocks the view to the disc on the router shaft.
41-PaintedWheel.jpg
41-PaintedWheel.jpg (82.46 KiB) Viewed 3635 times
Last edited by RoguePirin on Sun Jan 31, 2016 4:02 am, edited 2 times in total.
Shapeoko 3 #677, Nyloc nuts, ¾" HDPE base with t-nuts, Dewalt 611 w/Super PIDv2

RoguePirin
Posts: 216
Joined: Wed Sep 02, 2015 3:22 pm
Location: Illinois, USA

SuperPID Router Modifications - Continued

Post by RoguePirin » Sun Jan 31, 2016 3:57 am

The remaining piece left for the SuperPID optical sensor was to install the provided guide tube inside the router, so that the sensor wire can be specifically positioned and held in place. The folks at SuperPID provided the following guidance photo:
42-GuideTubeInstructions.jpg
42-GuideTubeInstructions.jpg (59.29 KiB) Viewed 3633 times
I followed suit and mounted my tube as follows:
43-GuideTubeInstalled.jpg
43-GuideTubeInstalled.jpg (88.64 KiB) Viewed 3633 times
Note that the guide tube provided is almost twice as long as I needed for the DWP611. I cut it short enough to be out of the way when I put the case cover back on. I originally used silicone caulk (the bathroom stuff) to hold the tube to the router housing (right next to the painted disc), but that hold was tenuous and broke with minimal pressure. I ended up using epoxy to hold it in place. The copper wire is just some 22AWG sold core wire I had lying around.

Once that was firmly in place, I measured the location of the tube hole in relation to the router housing. Following the same measurements, I drilled a 6mm hole in the router top and then put it all back together. You can see in the photo below that the hole mostly lines up with the tube and I am able to see the white disc through the hole. I routed the SuperPID sensor through the tube and ran a quick test. The readings are spot on. Once I am ready to take the next step, I will silicone caulk the sensor inside the tube (I don't want to use epoxy just in case I ever have to take this apart in the future).
44-SuperPID-RouterClosedUp.jpg
44-SuperPID-RouterClosedUp.jpg (79.94 KiB) Viewed 3633 times
Shapeoko 3 #677, Nyloc nuts, ¾" HDPE base with t-nuts, Dewalt 611 w/Super PIDv2

RoguePirin
Posts: 216
Joined: Wed Sep 02, 2015 3:22 pm
Location: Illinois, USA

SuperPID Enclosure

Post by RoguePirin » Tue Feb 16, 2016 3:10 am

It's been a slow month for my build, but I got a good start on the enclosure for my Super-PID.

Quick aside: One of the reasons I really want a CNC machine is that I don't have any stationary power tools (table saw, drill press, etc.); all I have are a few hand tools. Needless to say, my carpenter skills are lacking, so be prepared for a "good-enough" enclosure below :oops: .

The enclosure for the Super-PID will be a little multi-purposed. In addition to housing the Super-PID, I decided to add power switches for the dust extractor fan and the dust enclosure LED lights. In this photo, you can see several things related to the Super-PID:
  • the outlet that I will plug the Dewalt DWP611 into, labeled "Router" (controlled via the Super-PID)
  • the green LED (circled in red) which is the 5V wall wart that will power the Super-PID
  • the vent holes (circled in yellow) for the Super-PID
  • the four white posts sticking out that I will secure the Super-PID circuit board to
  • the black, white, and green wires that are dedicated power from the wall to the Super-PID to the router.
  • note that the entire opening in the front will be covered with a 1/4" acrylic sheet. I have not attached it yet, because I need to drill mounting holes for the speed control potentiometer and a few switches I want to govern "user vs. PC" control mode and an override switch to turn the router on without the PC connected.
45-SuperPIDEnclosure-Router.jpg
45-SuperPIDEnclosure-Router.jpg (78 KiB) Viewed 3581 times
Moving on to the front of the enclosure, you see the switches on the left side. All 3 of these switches are on a separate power cable than the router wires seen in the previous photo. The switch labeled "Super.PID" will turn on and off the 5V wall wart secured inside (circled in red). The 2 switches labeled "Light" and "Fan" control power to an outlet in the back of the enclosure. I plan to plug in the dust extractor fan and the dust enclosure LED lights into these outlets.
46-SuperPIDEnclosure-Front2.jpg
46-SuperPIDEnclosure-Front2.jpg (76.83 KiB) Viewed 3581 times
The back shows the aforementioned outlets for the fan and light, as well as the two power cords that feed the enclosure. The cord on the left is dedicated just to controlling the router through the Super-PID while the cord on the right is for the rest of the enclosure switches.
47-SuperPIDEnclosure-Back.jpg
47-SuperPIDEnclosure-Back.jpg (70.1 KiB) Viewed 3581 times
Lastly, the bottom of the enclosure has about 2" of wood sticking out the sides. I plan to secure the Super-PID enclosure to the top of the dust enclosure with screws through these side pieces.
Shapeoko 3 #677, Nyloc nuts, ¾" HDPE base with t-nuts, Dewalt 611 w/Super PIDv2

RoguePirin
Posts: 216
Joined: Wed Sep 02, 2015 3:22 pm
Location: Illinois, USA

SuperPID Enclosure - Continued

Post by RoguePirin » Thu May 12, 2016 2:45 am

I got my SuperPID board mounted, along with the manual RPM potentiometer and some switches.

For the ROUTER POWER, if the switch is set to ON, the input is shorted to ground and the router is powered on; in the OFF/PC position, the power is driven by the signal from the Carbide Motion Controller board (Pin 17 [D13]). If the signal is messed up from the Carbide Motion board and I need to kill power to the router, I can just turn off the Super.PID switch.

For the SPEED CONTROL, if the switch is set to MANUAL, the SuperPID is put into K-Mode (knob mode), which is a non-linear scaling of speed that matches the print out that I have around the black knob. It also connects the black knob/potentiometer to the speed input on the SuperPID. When the switch is set to PC, the SuperPID is put into linear mode, and the speed input is connected to the PWM output of the Carbide Motion Controller board (Pin 15 [D11]). This way, the speed will be set by the M3 grbl command.
48-SuperPIDEnclosure-Panel.jpg
48-SuperPIDEnclosure-Panel.jpg (85.24 KiB) Viewed 3421 times
Shapeoko 3 #677, Nyloc nuts, ¾" HDPE base with t-nuts, Dewalt 611 w/Super PIDv2

RoguePirin
Posts: 216
Joined: Wed Sep 02, 2015 3:22 pm
Location: Illinois, USA

grbl changes for SuperPID

Post by RoguePirin » Tue May 24, 2016 12:50 am

In order to be able to control the SuperPID using g-code, I had to recompile grbl and upload it to the SO3 Carbide Motion Controller. To compile and upload, I just followed the Arduino IDE section of the grbl directions; it was very straight forward.

I made the following code changes:
To: grbl.h

Code: Select all

#define GRBL_VERSION_BUILD "20160317.1"
I downloaded the March 17, 2016 release of the grbl code (version 0.9j) and then appended a ".1" to the build version so that I knew it was a customized build.

To config.h

Code: Select all

// Default settings. Used when resetting EEPROM. Change to desired name in defaults.h
#define DEFAULTS_SHAPEOKO_3
I set the configuration to use the Shapeoko 3 defaults (instead of the DEFAULTS_GENERIC that comes pre-defined)

Code: Select all

#define LIMITS_TWO_SWITCHES_ON_AXES
This is normally commented out, but I commented it back in because I will have 2 limits on each axis (needed since the Carbide Motion controller only has one limit switch input for each axis). These extra limit switches give me more than homing, they give me hard stops, both near and far, for each axis. This is not necessary for the SuperPID, but it is for my setup.

Code: Select all

#define INVERT_SPINDLE_ENABLE_PIN // Default disabled. Uncomment to enable.
#define USE_SPINDLE_DIR_AS_ENABLE_PIN // Default disabled. Uncomment to enable.
I commented both of these back in.
INVERT_SPINDLE_ENABLE_PIN inverts the spindle enable pin from low-disabled/high-enabled to low-enabled/high-disabled. This is necessary because the SuperPID expects low (0) as the enable signal for the router.
USE_SPINDLE_DIR_AS_ENABLE_PIN allows me to connect the enable signal to pin 17 [D13] of the Arduino Uno on the Carbide Motion board to the SuperPID enable signal input.

Code: Select all

#define SPINDLE_MAX_RPM 30000.0 // Max spindle RPM. This value is equal to 100% duty cycle on the PWM.
#define SPINDLE_MIN_RPM 0.0    // Min spindle RPM. This value is equal to (1/256) duty cycle on the PWM.
I set the SPINDLE_MAX_RPM to 30,000, which is what the SuperPID documentation says it desires (instead of 1000 that comes pre-defined). SPINDLE_MIN_RPM was already 0, but I included it here to denote that SuperPID also expects 0 as the minimum.
Note that this defines the range for the PWM signal that comes from pin 15 [D11] of the Arduino Uno on the Carbide Motion board.

After making the changes to just these 2 files, I connected my SO3 and compiled and uploaded the new code. To verify that it loaded, I connected to the SO3 and send the $I command, which returns the build version. I was able to get back the build info [0.9j.20160317.1:]. This let me know that my custom build was loaded.

I am uploading the 2 files that I changed in case it is useful to anyone (remove the .txt extension on each file). Not that these are specific to build 20160317 of grbl 0.9j; if you end up making these changes to a different version of the grbl source code, you will probably want to use these as a reference of what to change, but don't copy them over the source files from your other version.
config.h.txt
(28.32 KiB) Downloaded 111 times
grbl.h.txt
(1.58 KiB) Downloaded 86 times
Shapeoko 3 #677, Nyloc nuts, ¾" HDPE base with t-nuts, Dewalt 611 w/Super PIDv2

RoguePirin
Posts: 216
Joined: Wed Sep 02, 2015 3:22 pm
Location: Illinois, USA

SuperPID Router Modifications - Continued

Post by RoguePirin » Tue May 31, 2016 2:05 am

My last step in modifying the router to work with the SuperPID was to mount the Optical Sensor cable inside the router. It had to be within a few mm of the rotating disc that I painted white. I inserted the sensor cable all the way in, until it stopped, and then I pulled back a tiny bit. With the SuperPID turn on, and set to sensor mode, I rotated the collet to make sure the sensor was being properly read. The SuperPID alternately showed minimal bars and then almost full bars; all good. With this test complete, I pulled the wire out a bit more and then covered the cable/router housing in silicone caulk (the bathroom stuff). Once done, I pushed the wire back in, hoping that some of the caulk would slide into the router housing. Finally, with the cable in its final position, I once again covered the cable/router housing in silicone caulk.

I forgot to take pictures of all of this, but I hope the description is clear. Here is a photo of the router with SuperPID cable once it is mounted into the SO3:
49-SuperPID-Sensor-Mounted.jpg
49-SuperPID-Sensor-Mounted.jpg (56.11 KiB) Viewed 3338 times
It is turned this way because I purchased a dust shoe from Improbable Constructs, and this is how it works out in order for the dust port to be facing forward.

I fired up bCNC and sent commands to the CarbideMotion controller to start the spindle at 500 RPM (M3 S500). The spindle started up and set the speed. I then sent the M5 command to stop the spindle and the spindle stopped. I played around with a few other speeds, and everything worked perfectly...
Shapeoko 3 #677, Nyloc nuts, ¾" HDPE base with t-nuts, Dewalt 611 w/Super PIDv2

RoguePirin
Posts: 216
Joined: Wed Sep 02, 2015 3:22 pm
Location: Illinois, USA

USB Disconnect

Post by RoguePirin » Tue May 31, 2016 2:12 am

...until it didn't. :(

As I was trying to calibrate my machine for belt stretch, I kept getting a USB disconnect. It actually didn't matter if the spindle was running or not. I ran the spindle, drilled a hole, moved the spindle on the X-Axis, drilled a second hole, and stopped the spindle without error. But as I was trying to move the spindle along the Y-Axis (with the spindle still stopped), the SO3 machine stopped responding. I had to reboot the SO3 and the PC to re-establish the connection. There were a few other scenarios that ended in a disconnect, but nothing was consistent (I wasn't even using a vacuum at this point). I have contacted support, and they are sending me a newer version of the CarbideMotion controller board.

I did find that if I disconnect the SuperPID from the CarbideMotion controller, I don't get any USB disconnects. As I am only connecting 3 wires (DIR, PWM, GND) between the 2 boards, I am not sure where the issue is coming from. Hopefully, the changes in the new controller board will resolve my issue.
Shapeoko 3 #677, Nyloc nuts, ¾" HDPE base with t-nuts, Dewalt 611 w/Super PIDv2

RoguePirin
Posts: 216
Joined: Wed Sep 02, 2015 3:22 pm
Location: Illinois, USA

Adding t-nut anchors to the base

Post by RoguePirin » Tue May 31, 2016 2:18 am

With the SuperPID disconnected from the CarbideMotion controller board, I was able to use the SuperPID in manual mode (I physically start/stop the router and I set the speed with the provided potentiometer). So, I created a pattern to drill holes in my baseboard at 2" intervals. These holes had to go through the 3/4" HDPE baseboard for the T-Nuts I plan to use, so I had to be sure to avoid the metal frame supports underneath. I measured and marked the frames on the baseboard with masking tape. Once I determined my hole pattern, I coded up some gcode. I ran a few "air cuts" to ensure that my calculations were correct, and then I set the SO3 loose:
50-Baseboard-Holes.jpg
50-Baseboard-Holes.jpg (76.09 KiB) Viewed 3339 times
Not bad :) Obviously, all these holes are within the cutting area of the SO3. I ended up drilling 4 more holes, spaced 2" out, on the left and right sides to provide a few more anchor points, just in case my work piece was as big as the cutting area.
Shapeoko 3 #677, Nyloc nuts, ¾" HDPE base with t-nuts, Dewalt 611 w/Super PIDv2

RoguePirin
Posts: 216
Joined: Wed Sep 02, 2015 3:22 pm
Location: Illinois, USA

Installing a 1/4" HDPE waste board

Post by RoguePirin » Tue May 31, 2016 2:26 am

After the holes in the base were drilled, I decided to move on to the 1/4" HDPE waste board. I mounted this up using my 4 extra holes, and ran the same hole pattern as the base (but with a depth of 0.27"). My base is marine grade StarBoard HDPE, but the waste board is generic cutting board HDPE. I had a lot of problems with the waste board. It kept melting and sticking to the mill bit. I was able to cut the base at 14,000 RPM just fine, but I ended up having to cut the waste board at 28,000 RPM. The waste board also made a horrible mess:
51-Wasteboard-Holes.jpg
51-Wasteboard-Holes.jpg (83.79 KiB) Viewed 3339 times
Shapeoko 3 #677, Nyloc nuts, ¾" HDPE base with t-nuts, Dewalt 611 w/Super PIDv2

Post Reply