DeWalt 611 Non-destruct Automatic Spindle Control

No it’s not your Dewalt RPM. You have to play with 24V DC output power by raising spindle RPM true software. That activates your relay.

Yeah, that’s what I’m talking about. rpm was set to 1 in easel. I tried 10000, 12000, and 15000 and it still does it. It runs fine for a few seconds then the relay starts resetting about once every 1.5-2 seconds. What setting should I be using in easel?

Under Machine tab, you’ll see Spindle Control Automatic, under that you can put 18000. If it doesn’t stay you may have to go true machine setup one more time to put Automatic.

Tried 18k and 20k and I still get it. I just flip the logic switch to ON and it does the same thing. It looks like the fans on the power supply and controller cut off also. I measured voltage and it jumps all over the place while running. Not sure if it’s an issue with the relay or something in the PS.

I disconnected the relay unit and turned the switch to on and it comes up right at 24v. I’m going to suspect something wrong with the relay…

Okay, I figured out what I was doing wrong. I misunderstood the Normally On outlets on the unit and was thinking ‘always on’. I had my xcarve power supply plugged in there. As a result every time the relay would try to turn on the router it was turning off the power supply. When the capacitors in the power supply ran down it would release the relay, turning power back on. This is where my surging was coming from.

To clarify, you can’t plug your controller into that relay power strip.

2 Likes

Now that I’ve just upgraded from the 24DC spindle to a Dewalt 611, this thread is exactly what I was looking for. Ordered on Amazon, the controller is currently at about $18.

1 Like

Anyone know of a way of getting this shipped to Canada (vancouver) ?

Bought the box and just did the rewire! Took 1 minute and works like a charm!
Great upgrade for about $20.00

It appears to me that the problem people have been having with the motor speed setting when using this external relay is that the GRBL board pin is trying to do Pulse Width Modulation (PWM) speed control on the pin instead of just on/off. So by setting the spindle speed high you are trying to get the PWM cycle time as close as possible to 100% and if you don’t you are sending small gaps where the input to the relay might switch off or even worse chop the power to the router.

Has anyone looked at the GRBL source code to see how hard it would be to hack that pin into just being an on/off instead of PWM? The hardware can certainly do it, it’s just a matter of changing the firmware, then there would be no issue with setting the speed.

I’ll try to take a look at the GRBL source code over the weekend. It really should be a fairly simple change though I’m not familiar with the code. It’d also be a waste to add hardware to this if it can be changed in software.

I looked at the code and I found the issue faster than I thought I would. Here’s what’s going on.

Like several other systems for the Arduino (3D printing and drone control systems) the GRBL software is expected to be configured for your particular hardware and that’s done by making changes in the file config.h in the source code. Then you’d use the Arduino IDE to compile and write this code to your Arduino - in this case Inventables shipped the Arduino’s already flashed so you probably haven’t done this, but it’s common practice.

Inventables initially shipped with the 24V spindle by default which does have variable spindle control via software, so the code they wrote to the Arduino has this enabled. Then when they switched to the Dewalt as the default they didn’t change the config, but the only people who would care would be the folks in this thread trying to use a relay to switch the spindle power - oops.

The Inventables fork of GRBL is here. If you select the “download zip file” option on that page you will have the GRBL source code to be written to the Arduino. In grbl/config.h on or near line 238 you will see a line:

#define VARIABLE_SPINDLE // Default enabled. Comment to disable.

You can also see this file right on github here

All you have to do is comment out that line (put // in front of it), recompile in the Arduino IDE and flash it to your X-Carve’s Arduino and I’m 99.9% sure this will fix once and for all the issues people have been having with setting the spindle speed in this thread. The spindle will then be on/off only. See below, you’ll also have to swap two connections.

I personally think this change should be made in the firmware shipped preinstalled by Inventables now that the Dewalt is the norm, but it’s a relatively easy fix.

Good catch, yes it looks like you’d have to swap the pins after making this change. But I think it’s still more correct and easy to do.

It would have to be one of those choice points in their instructions where the cabling is different depending on what you ordered. To their credit they handle this really well.

It’s also worth noting that flashing the firmware would clear any settings you’ve changed, so you should dump settings ($$$) first if you enabled soft limits or changed steps/mm or anything else so you can set those settings again.

Tonight I compiled with the VARIABLE_SPINDLE directive commented out and swapped the Z limit switch wire, didn’t get to try the relay yet. I will mention that if you follow the instructions to compile the code yourself, make sure to change the code either before you install it as a library, or edit the file in the library directory, not where you got it from. If you change the code where you unpacked it to after you installed it as a library you won’t get your changes compiled - guess how I know this… All fine now though, the Z limit switch is working and I’ll try the spindle control soon.

I haven’t done that wiring yet, but would think that wiring it to the secondary connector on the PSU would provide a safety switch.

Just bought the same relay from Amazon. I’ve got it wired directly to the GND and Pin11 on the Arduino. Gnd goes to the - side of the relay and Pin11 goes to the positive side.

When I type in S12000 (or any other number) then M3, nothing happens.

Will this work directly from the Arduino like this?

Found out something interesting. The grbl firmware used with the Arduino/grbl board is currently version 0.9. I’ve got an X-Controller on order and asked Inventables whether the source was the same. It turns out that the X-Controller is using the Edge release v1.0c which has new features which directly interest this discussion:

New ‘$’ Grbl settings for max and min spindle rpm. Allows for tweaking
the PWM output to more closely match true spindle rpm. When max rpm is
set to zero or less than min rpm, the PWM pin D11 will act like a simple
enable on/off output.

This means that the PWM driving a relay issue is configurable without modifying the config.h file in grbl and swapping any pins.

Does anyone know how I can get my hands on one of these IoTs relays. Amazon says it can’t ship to me and I love the idea of automatically turning on and off my Dewalt and my vacum. Any help would be much appreciated