Z-Axis don't work - gshield don't light the led

I have just completed the construction of the x-carve and everything assembled on declaration.
when I turn on the power switch the LED lights on the shield for the x and y axis put on, also the blue LED.
But the the z-axis doesn’t work and no LED is on.

With a voltage tester, I have now testing the cabling. When I connect the cable to the gshield between all four cables have a passage.
In the X and Y axes is not the case.
What can be wrong?
Is the shield faulty?

Best Regards

I am sorry I need more info…

are you getting any info from your arduinos serial monitor?

make sure the Shield is aligned and pressed in correctly?

becareful connecting the main 24volt positive and negative you will damage the Shield if you do it wrong. but I expect you know this already.
Your Picture called “axis2” seems to have grown a rats nest around the 24v dc terminals, is it usual to have 3 pairs connected here?

I hope this helps and you get life into your machine soon :smile:

Otherwise Your connections look good and done with a skilled hand

regards Neal

Hello Neal,

To the picture Axis2:
Yes thats right, here must be all cables from the Gnd for the Limit switches.
But they don’t fit in, so i put 3 cables in and at the end i soldered the grounds for the limit switches.

How can I read out the Arduino Serial Monitor from the Mac?

Regards Claus

not sure about where on the macintosh but the Serial monitor is in the [Arduino user interface][1]

I was just looking at this youtube video about how to install my Shield and the guy in the video uses a Mac

[youtube link using macintosh][2]

if you purchased your shield from Inventables then GRBL should be already installed so just use the video as info to find the Serial Monitor…

regards Neal
[1]: https://www.arduino.cc/
[2]: https://www.youtube.com/watch?v=lIK0azYyc_c

Most likely a wiring problem on the Z axis The wires look good on the gShield, but check your wiring on the terminal blocks for the Z-axis. Look for loose wires, a short between terminal positions (even one strand can cause problems).

If you don’t find a wiring problem, then (just as a test) move the wires from the Z-axis to the X-axis and the wires from the X-axis to the Z-axis at the gShield connectors.

Turn things back on and report the results here.

Hello Neal,
hello Larry,

I`ve checked all cables twice. the connections seems to be right.

Now i installed the Arduino software an i checked the Staus monitor.

It getting me this out…

<Alarm,MPos:0.000,0.000,0.000,WPo<Alarm,MPos:0.000,0.00<Alarm,MPos:0.000,0.000,0.000,WPos:-0<Alarm,MPos:0.000,0.000,0.000,WPos:-0.240,316.20.000,WPos:-0.240,316.280,-3.140>
<Alarm,MPos:0.000,0.000,0.000,WPos:-000,0.000,0.000,WPos:-0.240,316.280,-3.140>
<Alarm,MPos:0.000,0.000,0.000,WPos:-0.240,316.280,-3.140>
00,0.000,WPos:-0.240,316.280,-3.140>
<Alarm,MPos:0.000,0.000,0.000,WPos:-0.240,316.280,-3.140>
-3.140>
>
40>
0,0.000,0.000,WPos:-0.240,316.280,-3.140>
<Alarm,M0>
<Alarm,MPos:0.000,0.000,0.000,WPos:-0<Alarm,MPos:0.000,0.000,0.000,W<Alarm,MPos:0.000,0.000,0.0.280,-3.140>
,316.280,-3.140>
000,0.000,WPos:-0.240,316.280,-3.140>
6.280,-3.140>
arm,MPos:0.000,0.000,0.000,WPos:-0.240,316.280,-0,-3.140>
<Alarm,MPos:0.000,0.000,0.000,WPos:-0,WPos:-0.240,316.280,-3.140>
0.000,0.000,0.000,WPos<A-3.140>
<Alarm,MPos.000,WPos:-0.240,316.280,<Alarm,MPos:0.000,0.000,0.000,WPos:-0.240,316.280,-3.140>
<Alarm,MPos:0.000,0.000,0.000,WPos:-0.240,316.28<Alarm,MPos000,WPos:-0.240,316.280,-3.140>
:-0.240,316.280,-3.140>
3.140>
<Alarm,MPos:0.000,0.000,0.000,WPos:-0.240,316.<Alarm,MPos:0.000,0.000,0.000,WPos:-0.240,316.280,-3.140>
0,0.000,WPos:-0.240,316.280,-3.140>
<Alarm,MPos:0.000,0.0000,arm,MPos:0.000,0.000,0.000,WPos:-0.240,316.280,-<Alarm,MPos:0.000,0.000,0.000,WPos:-0.240,316.280,-3.140>
0>
40>
os:0.000,0.000,0.000,WPos:-0.240,316.280,-3.140>0,316.280,-3.140>

s:-0.240,316.280,-3.140>
<Alar0.000,0.000,0.000,WPos:-0.240,316.280,-3.140>
.000,WPos:-0.240,316.280,-3.140>
<Alarm,MPos:0.000,0.000,0.000,WPos:-0.240,31<Alarm,MPos:0.0:-0.240,316.280,-3.140>
<Alarm,MPos:0.000,0.000,0.000,WPos:-0.240,316.280,-3.140>
<Alarm,MPos:0.000,0.000,0.000,WPos:-0.240,316.280,-3.140>
<Alarm,MPos:0.000,0.000,0.000,WPos:-0.240,316.<Alarm,MPos:000,WPos:-0.240,316.280,-3.140>
0.000,0.000,0.000,WPos:-0.240,316.280,-3.140>
:0.000,0.000,0.000,WPos:-0.240,316.280,-3.140>
<Alarm,MPos:0.000,0.000,0.000,WPos:-0.240,316.280,-3.140>
WPos:-0.240,316.280,-3.140>
<<Alarm,MPos:0.000,0.000,0.000,WPos:-0.240,316.280,-3.140>
<Alarm,MPos:0.000,0.000,0.000,WPos:-0.240,316.280,-3.140>
<Alarm,MPos:0.000,0.000,0.0.000,WPos:-0.240,316.280,-3.140>s:0.000,0.000,0.000,WPos:-0.240,316.280,-3.140>
316.280,-3.140>
<Alarm,MPos:0.000,0.000,0-0.240,316.280,-3.140>
<Alar<Alarm,MPos:0.000,0.000,0.000,WPos:-0.240,316.280,-3.140>
 mm)
$12=0.002 (arc tolerance, mm)
$13=0 (report inches, bool)
$20=0 (soft limits, bool)
$21=0 (hard limits, bool)
$22=1 (homing cycle, bool25.000 (homing feed, mm/min)
$25=750.000 (homing seek, mm/min)
$26=250 (homing debounce, msec), step/mm)
$101=40.000 (y, step/mm)
$102=188.976 (z, step/mm)
$110=8000.000 (x max rate, mm/min)
$111=8000.000 (y max rate, mm/min)
$112=500.000 (z max rate, mm/min)
$120=500.000 (x accel, mm/sec^2)
$121=500.000 (y accel, mm/sec^2)
$122=50.000 (z accel, mm/sec^2)
$130=790.000 (x max travel, mm)
$131=790.000 (y max travel, mm)
$132=100.000 (z max travel, mm)
ok
<Alarm,MPos:0.000,0.000,0.000,WPos:-0.240,316.280,-3.140>
<le delay, msec)
$2=0 (step port invert mask:000=0 (step enable invert, bool)
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=3 (status report mask:00000011)
$11=0.020 (junmits, bool)
$21=0 (hard limits, bool)
$22=1 (homing cycle, bool)
$23=3 (homing dir invert mask:00000011)
$24=25.000 (homing feed, mm/min)
$25=750.000 (homing seek, mm/min)
$26=250 (homing debounce, msec)
$27=1.000 (homing pull-off, mm)
$100=40.000 (x, step/mm)
$101=40.000 (y, step/mm)
$102=188.976 (z, step/mm)
$110=8000.000 mm/min)
$112=500.000 (z max rate, mm/min)
$120=500.000 (x accel, mm/sec^2)
$121=500.000 (y accel, mm/sec^2)
$122=50.000 (z accel, mm/sec^2)
$130=790.000 (x max travel, mm)
$131=790.000 (y max travel, mm)
$132=100.000 (z max travel, mm)
ok
<Alarm,MPos:0.000,0.000,0.000,WPos:-0.240000,0.000,0.000,WPos:-0.240,316.280,-3.140>
<Alarm,MPos:0.000,0.000,0.000,WPos:-0.240,3<Alarm,MPos:0.000,0.000,0.000,WPos:-0.240,3<Alarm,MPos:0.000,0.000,0.000,W<Alarm,MPos:0.000,0.000,0.000,WPos:<Alarm,MPos:0.000,0.000,0.000,WPos:-0.240,<Alarm,MPos:0.000<Alarm,MPos:0.000,0.000,0.000,WPos:-0.240,<Alarm,MPos:0.0.280,146.858>
[0.9j.20150717:]
ok
<Alarm,MPos:0.000,0.000,149.99,WPos:-0.240,316.280,146.858>
,149.998,WPos:-0.240,316.280,146.858>
<Alarm,MPos:0.000,0.000,149.996.280,146.858>
s:-0.240,316.280,146.858>
6.280,146.858>
<Alarm,MPos:0.000,0.000,149.99<Alarm,MPos:0.000,0.000,149.998,WPo<Alarm<Alarm,MPos:00,0.000,149.998,WPos:-0.240,316.280,146.858>
<Alarm,MPos:0.000,0.280,146.858>
:-0.240,316.280,146.858>
<Alarm,MP<Alarm,MPos:0.000,0.000<Alarm,MPos:0.000,0.000,149.998,WPos:-0.240,316.2,316.280,146.858>
<Alarm,MPos:0.000,0.000,149.998,WPos:-0.240,316.280,146.858>
os:0.000,0.000,149.998,WPos:-0.240,316.280,146.8000,149.998,WPos:-0.240,316.280,146.858>

When ich change the shield wire between Y and X. Nothing change.

And now it seems so that nothing is working.
The Mac getting me out: Homing Failed, make sure there are no obstructions.

Unplug the connector with the homing switches and the spindle control.

In the serial monitor, enter the $$ command when connected to the Arduino and post the results here.

Should have changed x and z.

In the serial monitor make sure that your baud rate is 115200 and at the bottom you have “newline” selected for end of line.

Hello Larry,

now i have change the gshield connections between x and z.

than i go in easel an machine configuration.
when now the wind is open, where i can step manually the motor from the y axis is working.
but the X Axis now not.

It seems so that the shield on the Y ist not working…

Ok, put the wiring back right. And try the things in my last post.

The Monitor brings out this

Grbl 0.9j ['$' for help]
['$H'|'$X' to unlock]
$0=10 (step pulse, usec)
$1=255 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=3 (dir port invert mask:00000011)
$4=0 (step enable invert, bool)
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=3 (status report mask:00000011)
$11=0.020 (junction deviation, mm)
$12=0.002 (arc tolerance, mm)
$13=0 (report inches, bool)
$20=0 (soft limits, bool)
$21=0 (hard limits, bool)
$22=1 (homing cycle, bool)
$23=3 (homing dir invert mask:00000011)
$24=25.000 (homing feed, mm/min)
$25=750.000 (homing seek, mm/min)
$26=250 (homing debounce, msec)
$27=1.000 (homing pull-off, mm)
$100=40.000 (x, step/mm)
$101=40.000 (y, step/mm)
$102=188.976 (z, step/mm)
$110=8000.000 (x max rate, mm/min)
$111=8000.000 (y max rate, mm/min)
$112=500.000 (z max rate, mm/min)
$120=500.000 (x accel, mm/sec^2)
$121=500.000 (y accel, mm/sec^2)
$122=50.000 (z accel, mm/sec^2)
$130=790.000 (x max travel, mm)
$131=790.000 (y max travel, mm)
$132=100.000 (z max travel, mm)
ok

Ok, that looks good. Change the status report mask to 19 ( $10=19), plug the homing switch connector back on and issue a status command ( ? ).

You should get a report back with the sequence LIM=000 or something like that. Let me know what that is.

Ok, the monitor is now:

Grbl 0.9j ['$' for help]
['$H'|'$X' to unlock]
$0=10 (step pulse, usec)
$1=255 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=3 (dir port invert mask:00000011)
$4=0 (step enable invert, bool)
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=19 (status report mask:00010011)
$11=0.020 (junction deviation, mm)
$12=0.002 (arc tolerance, mm)
$13=0 (report inches, bool)
$20=0 (soft limits, bool)
$21=0 (hard limits, bool)
$22=1 (homing cycle, bool)
$23=3 (homing dir invert mask:00000011)
$24=25.000 (homing feed, mm/min)
$25=750.000 (homing seek, mm/min)
$26=250 (homing debounce, msec)
$27=1.000 (homing pull-off, mm)
$100=40.000 (x, step/mm)
$101=40.000 (y, step/mm)
$102=188.976 (z, step/mm)
$110=8000.000 (x max rate, mm/min)
$111=8000.000 (y max rate, mm/min)
$112=500.000 (z max rate, mm/min)
$120=500.000 (x accel, mm/sec^2)
$121=500.000 (y accel, mm/sec^2)
$122=50.000 (z accel, mm/sec^2)
$130=790.000 (x max travel, mm)
$131=790.000 (y max travel, mm)
$132=100.000 (z max travel, mm)
ok
<Alarm,MPos:0.000,0.000,0.000,WPos:-0.240,316.280,-3.140,Lim:000>
ok

Now, test your homing switches.

As each switch is tripped the LIM readout will change. The order is ZYX. So, LIM=010 means that the Y homing switch is tripped.

Manualy check each switch. Hold the switch closed and issue a ? command and see if grbl sees the switch tripped. Do this for each switch.

Ok.
They seems to be worked…

First i tested Y, then Z, than X.

<Alarm,MPos:0.000,0.000,0.000,WPos:-0.240,316.280,-3.140,Lim:010>
ok
<Alarm,MPos:0.000,0.000,0.000,WPos:-0.240,316.280,-3.140,Lim:001>
ok
<Alarm,MPos:0.000,0.000,0.000,WPos:-0.240,316.280,-3.140,Lim:100>

Did you make a mistake in your typing if you did Y,Z,X it should have been 010 100 001

Ah! Yes, i Have mak Y, Z, X and it put me out: 010, 100, 001
Sorry!

Ok, at this point I think you have a bad gShield. You should get in touch with Inventables for a replacement.

Just to make sure, check that none of your pins on the gShield are bent and that all pins plug into the Arduino properly.

Thanks Larry and Neal,

i have bought this machine in UK. I will wright to inventables…

Regards
Claus

Ok. Especially during your testing I would recommend that you set soft limits ($20=1). Since you can’t home the machine you can do a $X and it will unlock the alarm and you can move the machine around to test it some. You won’t be able to use Z, but you can do a lot with just x and y.

Any testing/calibration you do will not change when you get the new gShield.

Ah! OK.
Can i do (via the monitor) an homing position for the x an y?
Or can i check if the limit switches are working during the X or the Y axis is in motion?
Because when i change the position (X100 or Y100 the axis is in motion, but when i press the limit switch the motion ist still there…