CNC – accessory design

I’m starting to be up against a time limit with the CNC again; if I want to get Halloween decorations cut for this year, I can start with the already-working machine, but everyone involved will be a lot happier if I can get just a few accessories installed, too.

To that end, I started the weekend by installing the extra chunk of hose to the ShopVac, and taping up the router foot to create a seal. The amount of airflow is not huge, but it’s net upward, instead of very much downward with just the router running. I’m hoping this will mean that the sawdust will tend not to get thrown all over the place, and perhaps some of it might even get sucked up. We’ll see.

With a working machine and the vacuum hooked up, I’m already probably ready to cut, but I decided to take another stab at getting the Super-PID installed, which will make the machine ready to cut plastic as well as wood.

The Super-PID installation is going to be quite complicated. There are 5 connections that need to go between the computer and the S-PID (3 for the VFD/Pot signals, plus “Enable” and “Tachometer”), along with several jumper connections (for 5v/0v), the RPM sensor, and the AC power. Once it gets all installed, there will be a significant amount of configuration that needs to happen in Mach3, too.

As usual, I’m stymied by connectors. I want the S-PID (which comes with screw terminal blocks) to have pluggable connectors, so that I can unhook it without having to use a screwdriver. But, do I use Molex? Servo pins? DB-9?

Long ago, when I’d originally installed the G540, I decided to install a DB-9 that was hooked up to the 4 G540 inputs and had individual ground connections for each; the idea was to hook these up as limit switches, so I wanted to be able to hook them up separately. What I have, though, is a DB-9 with 8 wires coming out of it (a perfect match to CAT-5), and with a little finagling, I can turn those 4 “ground” wires into a single ground wire, a +5v wire, the PWM output wire, and the enable output, with one wire attached to the home switches (you can hook them all together because of the way the homing protocol works in Mach3), another for the Tach input, with two spares for later use! Groovy.

So, hook up those 8 pins to a DB9-to-RJ45 adapter, build an ethernet cable of sufficient length, and finagle the G540 as above, and the PC side of things is done. However, a couple of further problems then crop up.

First, I need to figure out how to connect on the S-PID side. I can still use another DB-9, or put on an RJ-45 jack, or use servo ends… There are benefits and drawbacks to each of these, which I’ll detail later.

Second, Note that all 8 pins from the G540 are going off to be consumed by the S-PID. I still need to expose the limit switches (and the other 2 inputs, currently open), so now the S-PID is going to have to pass-through those pins in some way.

Third, I have to decide whether the S-PID should be at the “PC” end of the system, or at the “router” end (or perhaps somewhere in between). I need to bring 5VDC, 100VAC, and the sensor wires to it (as well as the limit switch wires), no matter where it is. Some of these cables can be more easily made longer or shorter than the others, but at the end, I just want to be able to connect or disconnect the S-PID without having to tear down the whole rig.

So, I needed to think about how to solve for these criteria.

Another underlying thought is that I need the thing to work 6 months from now when I’ve forgotten all the ins and outs of the design (I’d totally forgotten that I’d hooked up the DB-9 to the G540 for instance). So, since I’m using DB9-RJ45 connectors all over the place, if I use DB9, I need to be able to distinguish this cable from the motor cables. The connection also needs to be repeatable, so when I unplug it, I can’t plug it in backwards. I’m pretty well set on DB-9 connectors at this point, since the servo connectors can definitely get put in wrong, and I think Molex connectors are ugly. I’m beginning to understand the value of bus bars.

I had a burst of inspiration as I was staring at the router today; I realized that I could put the Super-PID in at least 2 different places on the gantry (one on the Y axis and one on the Z axis) that would allow me to have the S-PID LCD in a useful spot, but also minimize wire runs, especially ones that needed to move with the gantry. Putting the S-PID closer to the PC means that I’d need to “homerun” 5 cables (110VAC, RPM Sensor, and 3 home switches), but putting the S-PID on the gantry somewhere means I’d only have to run 2 (110VAC and the CAT-5 all-in-one cable), and the 3 home switches could be wired in such a way that they could all be part of the gantry, without extra wires going back to the PC. Nifty!

OK, put the S-PID on the gantry. Now I need to figure out how the all-in-one cable gets broken out. My current thought is to add it to the S-PID case itself (which of course needs to be built), although I could picture making an intermediary box that splits the cable out into “cable for the S-PID (5 pins)” and “cables for the other inputs (3 inputs)”. Nah, that seems too complicated. OK, just push it all to the S-PID and have 2 connector blocks; one for the all-in-one cable, and one for the home switches.

To differentiate the two (and because each home switch needs +5v and GND), I can use DB9 for the all-in-one connection (and I can decide on gender based on not confusing it with a motor cable end), and I can then break out the home switches into servo connections (they all go to a single input, ORed together, but each one needs its own 3-wire connection). I could put these on another DB-9 if I wanted, and make up a special RJ-45 with 3 tails coming out of it. For modularity’s sake, I think I’d rather have these as 3 cables.

Time to get wiring.

This entry was posted in Electronics, Making and tagged . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *