CNC Shield V3 Problem with Endstop Voltage Toggle of Pins

Hi there,

I built an MPCNC with the CNC Shield V3 and the Adruino Uno.

Everything works so far, but today I wired my endstop pins for X, Y and Z. These are labeled ENDSTOP PINS.

The switches are normally open. When the axis hits the switch, the circuit is closed. This is signaled to the Estelcam.

Following problem:

No switch has triggered, but the triggers in the software flash sporadically in the millisecond range. So I can’t do that either
So the pin would tooggle.

What options do I have now?
Put a capacitor between GND and Z+ X+ Y+?

I thank you.

Oh yes, I also want to switch the relay for the frequency converter via Z+. I haven’t implemented that yet. First of all it has to work.

Thank you

Raini

Update:
Attached is a wiring view of how I wired the pins, I hope they should be the right ones? There are + and - plug-in boards for each axis. Is it correct?
And the Z+ pin is the digital one for the relay.

I had noise on my end stop pins, and slipping some ceramic capacitors into the connectors between the signal and ground wires completely solved my issue.

Two things to be aware of.

  1. While the CNC shield shows two end stops per axis, they get mixed down to one pin per axis on the UNO, so the + and - signal pins for each axis are actually electronically identical.
  2. This means that if you’re running grbl 1.1 that the pins marked Z+ and Z - are both really connected to the Uno SpindleEnable pin, and SpinEn is where you want to connect your Z end stop(s).

Hi,

First of all thanks for your quick answer.

I have now ordered the appropriate ceramic capacitors and will use them between the signal and grounding GND and see what happens. I report.

I use Estelcam as CNC software that programs the Uno from home. Here I can take the following programming models: - GRBL all, GRBL 8.0 without PWM, GRBL 0.9 to 1.1 with PWM.

If I understand your 2nd statement correctly, would I have double revival on GRBL 1.1? Which version would I need then so that I can use both Limitswitche and SpinEN?

Thank you in advance

Raini

This should work fine if you’re using a relay to turn the spindle on and off. You can also use it if you have a PWM-capable spindle - it will serve a both enable and PWM on a single pin.

The silk screening on the CNC Shield V3.00 is from before grbl implemented PWM controls. To get PWM to work, they have to swap 2 pins so the PWM can be variable. This is already done in grbl 1.1 pin mapping files, but the printing on the board doesn’t ever get changed.

Z limit switch will plug in to the pin with SpinEn printed on the shield.
SpinEn (relay) signal will plug into Z+ or Z- (they’re electronically the same signal).

Hi there,

here’s an update. I set my board to Estelcam with GRBL 0.9 to 1.1 with PWM.

The ceramic capacitors have also been delivered today.
I have now introduced this into the circuit for the X Y Z limit switches.
So perfect, the disturbances are gone! I was able to do a reference run.

I pinned the limit switch connections to X+ Y+ on the CNC Sield V3. I have the Z+
placed on the mislabeled SpinEN. Now that’s okay.

I tested the relay for Z+ and Z-, it is the same signal. The Realis
now shifts perfectly.

Now to the next problem:
I have a PWM signal converter (I can also post the type if you like) it has an input for a PWM PIN.
On which PIN can I find the PWM signal on the CNC Shield V3?

Thank you Raini

In my configuration, SpnEn does both on/off and PWM on a 0-5v dc scale. If I remember correctly, the grbl config file has options for one or two pins, and I chose single pin for both. I don’t have a VFD, so can’t reverse spindle rotation, which is what the SpnDir pin is for.

Looking at the grbl github, looks as though they’ve juggled pins again with the latest release v1.1h (August 2019), moving spindle enable and coolant pins around to allow for an auto-squaring option on X or Y.

I’ll need to be more careful about telling folks how to interpret the silk screening on older boards when using newer grbl versions!

I had an explanation error in my last text:
If I plug the relay to Z+ and Z- I see that the LED on the relay goes on depending on the spindle ON OFF button being pressed,
however, the relay does not switch. I measured this.

I have now done the following:
The voltage measured (PWM PIN) of Z+ GND is 3.8 volts DC after I pressed Spindle Run in the Estelcam. At stop 0 volts.
The relay is on SPIN DIR here it also switches the connection when the Estelcam spindle starts, I hear it click and I measured it.
The end stop for the Z axis is on the SPINEN pins. This goes here, the labeling on the board is wrong.

Maybe my PWM voltage converter is defective. This time always 10.38 volts. When I press Spindle RUN. I can regulate
but there nothing. Even if I turn the potentiometer.

I ordert a new PWM Converter.

Hold you up to date.

I’m really thankful for every tip.

1 Like

You may need to adjust your available spindle RPM’s in the grbl configuration. $30 sets the max speed in RPM, $31 sets the minimum. The duty cycle is then adjusted to map between these two extremes. It’s possible the default max isn’t enough to get your actual spindle turning.

Hello,

I’m back today with good feedback. I found the mistake.
My PWN to volt converter had a defect. I have the Z+ and the pin underneath it
attached to my oziloscope. After I was in Estelcam at the speed
different speeds of the spindle I saw that the flanks/gates in the PWM
change signal.

I then replaced the PWM Voltage Converter. Now I see also at the end of the Voltage
Converters that the voltage ranges from 0 to 10 volts depending on the speed.
The next step is to connect my FU first.

Info attached I still put my taser on GND and SLC this works now too!.

Is there a way to switch an “additional relay” to the already existing FU relay?
Are you aware of any connections? For example, that I could run a lubrication?

Thank you Raini

You can run a relay off the CooEn (coolant enable) connection with the default firmware configuration. With a small config.h tweak to (re)assign a second pin, you can get a second coolant option so you can have “flood” and “mist” coolant options. I’ve got my K40 laser configured that way to allow for software control of air assist on/off. I was going to use the second connection to turn the coolant pump on/off as well, but was convinced that having the coolant pump running any time the laser was powered up was a better idea. On the MPCNC, I’m planning to eventually use “Mist coolant” for a vacuum hold-down, and “Flood coolant” for air to either blow out aluminum chips or as laser air assist (if I mount a diode laser).

Generally, the commands are:

  • M7 - Coolant (mist) on
  • M8 - Flood Coolant on
  • M9 - All coolant off

I have not found a way to turn off one style of coolant but not the other.

Hi, everyone,

I just got back to tinkering with my CNC. Now I can report the following with the CNC Shield V3 and Estelcam. I connected the 2nd relay to the switching pin of the CooEn slot. I was then able to freely configure this via Estelcam! It’s going ok.

Now I have to ask a question that really interests me. It’s about the “emergency stop of the machine”.

I got a suitable emergency stop switch for this purpose. Where do I connect it to ESTOP?

So the PWM converter would no longer have to deliver any volts to the FU and the relays go from on to off.

How did you solve it?

Thank you in advance :slight_smile:

I put a switch in the main power cord and kill everything. Not elegant but everything stops.:smiley:

As I understand things, the “e-stop” connection on the board is a reset button, so won’t permanently stop the machine, particularly of you’ve got a “nomally on” relay connected for some reason.

Grbl supports hardware cycle start, cycle pause, and cycle cancel buttons, and these are broken out on the CNC shield, but I don’t know if estlcam supports them. On my grbl setup it was trivial to add momentary pushbuttons to get an immediate pause.

When it comes to emergency stop, I have also put that big red mushroom button in the main A/C power line, which feeds everything else (relays for A/C accessories, DC power supply for Ardunio and steppers, AC for the spindle). Hitting it kills absolutely everything, no questions asked.

That reminds me that I have to move the Raspberry Pi to be on that same power bus, otherwise the Arduino will still have 5v power through that USB connection. At the moment, the Pi is powered off the 3D printer power supply, but I haven’t been using either of them very much recently.