Motor choice for semi-custom X-Carve?

I recently ordered the X-Carve 500mm kit sans a few parts I already have such as the driver board, power supply, and motors. I have a lot of parts from my work with reprap / 3d printing so I’d like to use some of my existing components. I am considering the following configuration for the motors:

NEMA 17 84 oz in (both X-axis motors, Z-axis motor)
NEMA 23 124 oz in (Y-axis motor)

I am curious if there is any reason why it wouldn’t make sense to use the NEMA 23 on the Y-axis? The Z-axis is a screw drive and the X-axis has 2 motors and more moving mass so it seems to balance out. I only have 2 of the NEMA 23 motors so I can’t use them for all of the drive motors, however the NEMA 17 motors I have worked very nicely for 3d printing (both axis and extruder drive) and I have 4 of those to spare. For control board I am planning to use the Arduino CNC board which uses “pololu” style stepper modules and has 4 of them (not certain if grbl supports step mirroring but I could have one driver per x-axis motor in that case). Also looking to set up relay control for spindle, shop vac, and air blast solenoid. I will probably post some project files / instructions for those when I have the machine in hand :smile:

Any help for a noob is appreciated!

X-carve uses one motor for Z, one motor for X, and two motors for Y.

The two motors on the Y axis are paralleled so each motor only gets half the current from the driver chip.

The last time I checked the Pololu stepper motor drivers can’t deliver enough current for a NEMA 17 and definitely would be a waste to put a NEMA 23 on the Pololu stepper driver offerings. This controller would be fine for a 3D printer, but not the X-carve.

I have a 500mm unit and I use NEMA 23 (140 oz-in) on all axes.

If you intend on using a trim router as your spindle you have a lot of mass to move around.

Having said that there are people using NEMA 17s for all axes on the 500mm unit and it works for them. Your NEMA 17s have slightly more torque than the ones Inventables sells.

Thanks for the quick response – it seems I mixed up X and Y axes. I’ll have to make sure I get that sorted out when I build the machine :smiley: In that case I would be using 2 of the NEMA 17 84 oz in motors for the Y axis and one NEMA 23 124 oz in motor for the X axis. It seems the only spindle offered in the current kits is the DeWalt 611 which is what I ordered.

The pololu modules I’m using are the following:

It uses a DRV8825 chip which is similar in performance to the DRV8818, though with some differences in functionality and pin assignment. They can handle significantly more current and much smaller microsteps compared to the more run-of-the-mill A4988 modules. Since the IC is larger it may also be able to dissipate heat better to the heatsink. In any case I’ll probably get all of the electronics wired up for some basic testing until my machine kit arrives. If for some reason my setup doesn’t have enough torque I can always get some more NEMA 23 motors and/or a different driver board.

I guess once my kit arrives and I get it built up I’ll post some documents and maybe a video outlining my experience with the hardware choice and configuration.

This chip is rated at about 1.5 amps per phase (Pololu is more realistic with their current ratings than the chip manufacturers). Which is ok for most NEMA 17s. Keep in mind that the Y motors are paralleled so that would mean that you are only providing about 0.75 amps per phase to the Y axis motors. I’ll be interested in your results, but my impression is that won’t be enough.

If you max out the driver on the NEMA 23 that might work ok. They are spec’d at 2.8 amps per phase. Right now I’m just testing out my machine and I’m running my NEMA 23s at 1.6 amps per phase. I’m not sure how that’s going to work when I actually start carving and put side loads on the spindle.

500mm x-carve here with 17s and the Makita router as a spindle. No problems yet!

@Larry the Arduino CNC has 4 stepper drivers so as long as grbl firmware can be configured to do step mirroring like reprap I should be able to run each Y-axis motor on its own driver. I will probably try to get the motors and board wired up tonight so I can play around with the firmware settings even if I don’t have the actual machine on-hand.

@TonyNo what kind of materials are you cutting? I am mainly interested in cutting Acetal plastic sheets and potentially urethane modeling foam / board for making molds – at least for my main project. Also may do some PCB etching for very basic PCB designs / test rigs and other materials for hobby / personal purposes (wood, aluminum, etc.)

On the Arduino Uno, grbl only supports three stepper drivers.

So far, just EVA foam, PVC foam, acrylic, MDF, maple, and engraving aluminum.

On the aluminum, my plan was to only hit 0.010", but things went wrong, and I went 1/8", or more, without issue. :laughing:

I can’t find any reference to grbl doing mirroring of stepper motors, so I don’t think that it does. However, if this is the controller that you have then the controller does the mirroring. Check the jumpers on the left side of the board, just above the power connections.

For what it’s worth… I use that exact board with four DRV8825 drivers, running four 270 oz-in NEMA 23 motors, and it’ll haul a six pound router around the table at over 150 IPM without even breaking a sweat. I haven’t had a single issue with it after running it for several months. Caveat Emptor, your mileage may vary, Do Not Taunt Happy Fun Ball, etc… :smile:

@LarryM good call – I didn’t realize what those jumpers were for before – I have an older revision of the board which has the terminals so close to the jumpers that the terminal block body is covering the silk screen. I did test it out and it works – the X and A motors go at the same time while the Y and Z only turn when commanded separately.

@TimothyHanson thanks for the feedback – good to know that the shield + 8825 drivers can handle big motors like that should the need arise.

I got grbl running on my electronics – also tested out the relay board with no load but I could hear the relays clicking on spindle enable etc. so that should be a useful feature. I should be getting my solenoid valve and loc lines in tomorrow so I should be able to build the air blast assembly well before the kit gets here :smiley:

I wanted to provide a follow-up for anyone else who may be looking into a similar solution. Over the past week or so I’ve had my machine running. So far the motors and drivers have been holding up great – I initially had a few issues with skipping on the X and Z axes but I had the current control at a very conservative level; I ramped up the driver current a bit and the issues stopped. I have been mostly doing test cutting in various materials (particle board, wood, MDF, UHWM, acetal, wax) and various size / flute type cutters ranging from 1/16 to 1/4. At one point it was doing about 150 in/min in wax with the 1/16" cutter – didn’t try to go higher than that as I don’t want to break my small cutters. The 8825 drivers have been great, I am running them with passive heatsink cooling (about 10mm x 10mm x 7mm aluminum heatsink) with 1/16 micro step. 1/32 is possible with these drivers but moving at high speeds caused the firmware to crash, most likely due to software issues with the high step rates. Another difference between mine and stock is I’m using 16-tooth GT2 pulleys. I had a bunch of them to spare and no 20-tooth left so I decided to just use them. Theoretically this should result in better acceleration / precision but possibly lower maximum speed since it requires more steps per mm.

For power supply I am using a Corsair CX430M ATX PC power supply with an ATX adapter board I designed a while back. As such the main power source is 12V. Since I’m using an AC spindle it just needs enough juice to power the stepper motors and relays so the 430W is more than adequate. Once I get an online store going I may sell some of the extra ATX adapter boards as I had around 25 made IIRC. They were designed for use with 3d printer hot end, heated bed and fan controls so they can move quite a bit of current at 12v (3x 5a terminals and 1x 30a terminal, all MOSFET switched). I am using some of the lower-power switched terminals to drive relays which turn the spindle (and eventually vacuum / air blast) on and off.

So to summarize:

  • The 84 oz in NEMA 17 motors I have on my 500mm machine seem to be more than adequate for my usage (cutting small parts from soft-medium material)
  • The Arduino CNC Shield and 8825 steppers work great with GRBL with minimal configuration. Low-pass filter capacitors help prevent false-positive limit switch trigger on starting the spindle. I am using 0.22uf caps across each limit switch line.
  • The 16-tooth pulleys work fine with the out-of-box kit. No special adjustment required other than the usual belt tensioning
  • Using relays to switch the spindle works great for the DWP611. I was worried that the small cheap 10A-rated relays might not play nice with the DWP611 on start-up but it seems to be working fine.