grblHAL / core

grblHAL core code and master Wiki
Other
320 stars 84 forks source link

Limit- and Probe-Switch (with $5 $6 configuration) and documentation ".../markdown/settings.md" #201

Open ghost opened 1 year ago

ghost commented 1 year ago

Hi grblHAL users and developers,

I am reaching out to you, in order to get some clarification/confirmation with regards to the limit and probe pins. I came along the following using the RP2040, but I do have the feeling ... this effects other MCUs as well, or at least I would like to understand the other implementations/configurations. (With the goal in mind of having a common basis for every MCU)

On my endeavour to replace my Atmega328 CNC board by a Raspberry Pi Pico CNC Shield, I observed the circumstance that I with the default settings for $5 (=0) and $6 (=0) the limit switches and probe were not working correctly with my 3-axis CNC router.

With $5=7 and $6=1 been set my grblHAL based board works fine. The pins get connected to ground (0V), when limit is reached or the probe touches the surface ... and grblHAL triggers the corresponding actions.

What irritates me is the fact, that the configuration of the grblHAL (RP2040 board) is different to the grbl configuration (Atmega328 board). In addition, the documentation I found were not clear what the bits set to "0" means "1".

Thank you very much for paying attention to my thoughts and concern.

Kind regards

DD

PS: I had to rewrite my posting, after I recognized my reference to the outdated "https://github.com/terjeio/grblHAL" branch. However, by doing some additional duckduckgoing, I found out that at least the pull-up/down resistor configuration in not effected by $5 & $6. (https://github.com/gnea/grbl/issues/179)

=== $HELP SETTINGS === : $4: Invert stepper enable pin(s) as axismask Inverts the stepper driver enable signals. Most drivers uses active low enable requiring inversion. NOTE: If the stepper drivers shares the same enable signal only X is used.

$5: Invert limit pins as axismask Inverts the axis limit input signals.

$6: Invert probe pin as boolean Inverts the probe input pin signal. :

=== https://github.com/grblHAL/core/wiki/First-Run-Grbl-Settings#limit-switches === : Limit Switches

While these are unlikely to interfere with first tests, they too are NC inputs to encourage good anti-EMI practice. There are similar options to the above shown input controls. The bit fields in the $5 Grbl Setting are assigned as

X Limit - Bit 0 (+1)
Y Limit - Bit 1 (+2)
Z Limit - Bit 2 (+4)
and so on

To invert Limit Pins on a 5 Axis machines, one enters $5=31 (1+2+4+8+16) in a terminal application talking directly to grblHAL :