Newbee Help Limit switches set of alarm but won't show change in setup wizard

I’ve just built a CNC 3 axis assembly with limit switches at both ends of each axis. I’m new to Grbl and UGS so please bear with me on this. I go into the setup wizard and get up to the limit switch section and don’t seem to get a response when I activate any of the limit switches. What I do get, is an alarm trigger with any of the switches. I’ve tried several if not all combinations of limit switches inversion, soft limits on/off, hard limits on/off, with no joy. I have even used two different methods of limit switch wiring. Parallel with N/O contacts and series with N/C contacts. I have also used pull up resistors and filter capacitors to reduce noise. I have measured the pins 9/10/12 to see a solid change of state when switches are activated. I know just seeing the alarm pretty much tells me the Arduino is sensing the switches but…, It appears that I’m missing something probably simple with my software settings. Has anyone else had this sort of issue with the setup wizard? Is there a way to go through the process without the setup wizard? Thanks in advance for any help

What machine?

Have you tried any other sender?

Please share your Grbl settings and current wiring for limit switches.

Thanks for the quick response!
The limit switches are wired in parallel using NO to COM, one at each end of travel for each axis six total. This build is on an old Zenworks laminate frame that’s been sitting around for about eight years. I’m using three stepper motors with controllers that came as a set. I have not tried another sender but do welcome any suggestions since I’m new to CNC build options. I have good control over the travel of all axis using the jogger in UGS. The settings at this moment are as follows… Thanks much!

*** Connecting to jserialcomm://COM4:115200
Grbl 0.9j [‘$’ for help]
Grbl 0.9j [‘$’ for help]
<Idle,MPos:0.000,0.000,0.000,WPos:0.000,0.000,0.000>
*** Fetching device status

?
<Idle,MPos:0.000,0.000,0.000,WPos:0.000,0.000,0.000>
ok
$I
[0.9j.20160726:]
ok
$$
$0 = 10 (step pulse, usec)
$1 = 25 (step idle delay, msec)
$2 = 0 (step port invert mask:00000000)
$3 = 4 (dir port invert mask:00000100)
$4 = 0 (step enable invert, bool)
$5 = 1 (limit pins invert, bool)
$6 = 0 (probe pin invert, bool)
$10 = 3 (status report mask:00000011)
$11 = 0.010 (junction deviation, mm)
$12 = 0.002 (arc tolerance, mm)
$13 = 0 (report inches, bool)
$20 = 0 (soft limits, bool)
$21 = 1 (hard limits, bool)
$22 = 0 (homing cycle, bool)
$23 = 4 (homing dir invert mask:00000100)
$24 = 25.000 (homing feed, mm/min)
$25 = 500.000 (homing seek, mm/min)
$26 = 250 (homing debounce, msec)
$27 = 1.000 (homing pull-off, mm)
$100 = 250.000 (x, step/mm)
$101 = 250.000 (y, step/mm)
$102 = 250.000 (z, step/mm)
$110 = 500.000 (x max rate, mm/min)
$111 = 500.000 (y max rate, mm/min)
$112 = 500.000 (z max rate, mm/min)
$120 = 10.000 (x accel, mm/sec^2)
$121 = 10.000 (y accel, mm/sec^2)
$122 = 10.000 (z accel, mm/sec^2)
$130 = 200.000 (x max travel, mm)
$131 = 200.000 (y max travel, mm)
$132 = 200.000 (z max travel, mm)
ok

What alarm are you seeing?
You said you could jog without issue? I think $5 should be 0 with NO switches connected to GND and your limit pins.

Sorry it took so long, my time allotments for this are limited. I set $5 to 0 and was going to test it and ended up getting the standard shut down alarm as I was in the past but this time I got it when just sitting idle or if I moved the X axis with no deliberate trigger. I disconnected all of the limit switches from the Arduino and the errors stopped. I surmised that there was noise from the switches or harness, so I built the optocoupler method from the Grbl wiki limit switch page directly on my shield. I did this insuring the output of the optocouplers remained at a solid 5V unless actuated and dropped to a soft 10-20 mV when actuated. The false alarms discontinued at this point. Now I went through the setup wizard and when I got to the setup limit switches page when I actuate any switch the machine goes into alarm mode. the first error code shows in the console as

An error was detected while sending ‘$X’: ALARM: Hard limit. Streaming has been paused.
GrblFeedbackMessage{message=‘[Reset to continue]’, distanceMode=‘null’, units=‘null’}
[Reset to continue]

any other time after reset the console shows

An unexpected error was detected: ALARM: Hard limit
GrblFeedbackMessage{message=‘[Reset to continue]’, distanceMode=‘null’, units=‘null’}
[Reset to continue]

If I reset then backup a page in the setup wizard it shows the prior code.

I know at a point (earlier) I found a setting to disable the limits, but that didn’t work out for any benefit. I think I tried to move on to the homing process and ended up cutting the power to the motors when it ignored the Z axis switch.

It seems to me that the code for the setup wizard would have a provision to prevent the errors from triggering during the limit switch test process as well as the homing process. Here is a fresh copy of the settings.

$$
$0 = 10 (step pulse, usec)
$1 = 25 (step idle delay, msec)
$2 = 0 (step port invert mask:00000000)
$3 = 4 (dir port invert mask:00000100)
$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.010 (junction deviation, mm)
$12 = 0.002 (arc tolerance, mm)
$13 = 0 (report inches, bool)
$20 = 0 (soft limits, bool)
$21 = 1 (hard limits, bool)
$22 = 0 (homing cycle, bool)
$23 = 4 (homing dir invert mask:00000100)
$24 = 25.000 (homing feed, mm/min)
$25 = 500.000 (homing seek, mm/min)
$26 = 250 (homing debounce, msec)
$27 = 1.000 (homing pull-off, mm)
$100 = 250.000 (x, step/mm)
$101 = 250.000 (y, step/mm)
$102 = 250.000 (z, step/mm)
$110 = 500.000 (x max rate, mm/min)
$111 = 500.000 (y max rate, mm/min)
$112 = 500.000 (z max rate, mm/min)
$120 = 10.000 (x accel, mm/sec^2)
$121 = 10.000 (y accel, mm/sec^2)
$122 = 10.000 (z accel, mm/sec^2)
$130 = 200.000 (x max travel, mm)
$131 = 200.000 (y max travel, mm)
$132 = 200.000 (z max travel, mm)

Hopefully you might see something I’m missing, I’m pretty good with the hardware and electronics, but I’m not so well versed with the programming code.

Thanks for the help!

What’s the point of the wizard?

A couple of things:
You’re using a version of Grbl that’s almost a decade old. Can you upgrade to 1.1? When you do, you’ll lose your EEPROM settings, so you’ll need to re-enter those. Your current settings look pretty default… Have you changed those?
$22 is your homing setting. You want that enabled.

Have you considered gSender as your UI? It’s a more modern and well developed program.

I upgraded my Grbl to 1.1 and replaced all of the library files and still experience the same alarm issue. If I turn off the hard limits the alarm never triggers and the homing crashes.

So I thought…, I’m not vested in UGS, so maybe I’ll give gSender a try on your suggestion so I downloaded it and went through the installation process as administrator. When I went to start the program I got the following error
image
(not sure is pasting directly from the clipboard works on this forum, but this will serve as a test)

This is a windows 7 pro machine. I’ll do some searching on solutions for that error