[FluidNC Issue#1498] Problem: gpio.02 on 6x NC not working with either homing_button_pin or as limit

未分类 bolang 4个月前 (10-14) 44次浏览

Issue #1498 | 状态: 已关闭 | 作者: joel-oo | 创建时间: 2025-05-13


Wiki Search Terms

homingbuttonpin
gpio.2

Controller Board

6x NC v 3.9.7

Machine Description

Gantry router with external DM542T stepper drivers, dual Y motors, NC limit switches on all axis. Spindle is a Bosch router controlled via solid state relay wired directly to io.4. Cycle start & feed hold are presently NO momentary contact switches.

Router.numbers-Electrical.pdf

!Image

Input Circuits


Configuration file

board: "FluidNC 6x CNC Controller"
name: "Router"
meta: "2025.05.13 05:35"

arctolerancemm: 0.002 junctiondeviationmm: 0.01 report_inches: false enableparkingoverride_control: false uselinenumbers: false planner_blocks: 16

not default

verbose_errors: true

start: must_home: true deactivate_parking: true

not default

check_limits: true

i2so: bck_pin: gpio.22 data_pin: gpio.21 ws_pin: gpio.17

stepping: engine: I2S_STREAM idle_ms: 255 pulse_us: 4 dirdelayus: 0 disabledelayus: 0 segments: 12

not default

axes: sharedstepperdisablepin: NOPIN sharedstepperresetpin: NOPIN homing_runs: 2

not default

x: stepspermm: 80.0 maxratemmpermin: 2400.0 accelerationmmper_sec2: 50.0 maxtravelmm: 1275.0 soft_limits: true homing: cycle: 2 allowsingleaxis: false positive_direction: false mpos_mm: 0.0 seekmmper_min: 600 feedmmper_min: 50 settle_ms: 250 seek_scaler: 1.1 feed_scaler: 1.1 # motor block 2 motor0: limitnegpin: NO_PIN limitpospin: NO_PIN limitallpin: gpio.34 hard_limits: true pulloff_mm: 5.0 standard_stepper: step_pin: I2SO.5 direction_pin: I2SO.4:low disable_pin: I2SO.7

y: stepspermm: 80.0 maxratemmpermin: 2400.0 accelerationmmper_sec2: 50.0 maxtravelmm: 1275.0 soft_limits: true homing: cycle: 2 allowsingleaxis: false positive_direction: false mpos_mm: 0.0 seekmmper_min: 600 feedmmper_min: 50 settle_ms: 250 seek_scaler: 1.1 feed_scaler: 1.1 # motor block 3 - left side (X home) motor0: limitnegpin: NO_PIN limitpospin: NO_PIN limitallpin: gpio.39 hard_limits: true pulloff_mm: 15.8 standard_stepper: step_pin: I2SO.10 direction_pin: I2SO.9:low disable_pin: I2SO.8 # motor block 4 - right side (X plus) motor1: limitnegpin: gpio.36 limitpospin: NO_PIN limitallpin: NO_PIN hard_limits: true pulloff_mm: 10.0 standard_stepper: step_pin: I2SO.13 direction_pin: I2SO.12:low disable_pin: I2SO.15

z: # steps/mm is 80% of X & Y stepspermm: 100.0 maxratemmpermin: 1920.0 accelerationmmper_sec2: 25.0 maxtravelmm: 115.0 soft_limits: true homing: cycle: 1 allowsingleaxis: false positive_direction: true mpos_mm: 0.0 seekmmper_min: 480 feedmmper_min: 40 settle_ms: 250 seek_scaler: 1.1 feed_scaler: 1.1 # motor block 1 motor0: limitnegpin: NO_PIN limitpospin: NO_PIN #35 limitallpin: gpio.35 hard_limits: true pulloff_mm: 5.0 standard_stepper: step_pin: I2SO.2 direction_pin: I2SO.1:low disable_pin: I2SO.0

control: safetydoorpin: NO_PIN resetpin: NOPIN estoppin: NOPIN # not default #** when wired w/ new sw remove ':low' 2 places below feedholdpin: gpio.33:low cyclestartpin: gpio.32:low #** fault_pin: gpio.26 homingbuttonpin: gpio.02

relay: directionpin: NOPIN output_pin: gpio.4 enablepin: NOPIN disablewiths0: false s0withdisable: true spinup_ms: 0 spindown_ms: 0 tool_num: 0 speed_map: 0=0.0% 0=100.0% 1=100.0% offonalarm: true

spi: miso_pin: gpio.19 mosi_pin: gpio.23 sck_pin: gpio.18 sdcard: cs_pin: gpio.5 carddetectpin: NO_PIN frequency_hz: 8000000

Startup Messages

Grbl 3.9 [FluidNC v3.9.7 (bt) '$' for help]
[MSG:INFO: uart_channel0 created]

[MSG:RST] [MSG:INFO: FluidNC v3.9.7 https://github.com/bdring/FluidNC] [MSG:INFO: Compiled with ESP32 SDK:v4.4.7-dirty] [MSG:INFO: Local filesystem type is littlefs] [MSG:INFO: Configuration file:router.yaml] [MSG:INFO: Machine Router] [MSG:INFO: Board FluidNC 6x CNC Controller] [MSG:INFO: I2SO BCK:gpio.22 WS:gpio.17 DATA:gpio.21Min Pulse:2us] [MSG:INFO: SPI SCK:gpio.18 MOSI:gpio.23 MISO:gpio.19] [MSG:INFO: SD Card cspin:gpio.5 detect:NOPIN freq:8000000] [MSG:INFO: Stepping:I2S_STREAM Pulse:4us Dsbl Delay:0us Dir Delay:0us Idle Delay:255ms] [MSG:INFO: Axis count 3] [MSG:INFO: Axis X (0.000,1275.000)] [MSG:INFO: Motor0] [MSG:INFO: standard_stepper Step:I2SO.5 Dir:I2SO.4:low Disable:I2SO.7] [MSG:INFO: All Limit gpio.34] [MSG:INFO: Axis Y (0.000,1275.000)] [MSG:INFO: Motor0] [MSG:INFO: standard_stepper Step:I2SO.10 Dir:I2SO.9:low Disable:I2SO.8] [MSG:INFO: All Limit gpio.39] [MSG:INFO: Motor1] [MSG:INFO: standard_stepper Step:I2SO.13 Dir:I2SO.12:low Disable:I2SO.15] [MSG:INFO: Neg Limit gpio.36] [MSG:INFO: Axis Z (-115.000,0.000)] [MSG:INFO: Motor0] [MSG:INFO: standard_stepper Step:I2SO.2 Dir:I2SO.1:low Disable:I2SO.0] [MSG:INFO: All Limit gpio.35] [MSG:INFO: feedholdpin gpio.33:low] [MSG:INFO: cyclestartpin gpio.32:low] [MSG:INFO: fault_pin gpio.26] [MSG:INFO: homingbuttonpin gpio.2] [MSG:INFO: Kinematic system: Cartesian] [MSG:INFO: BT Started with FluidNC] [MSG:INFO: Relay Spindle Ena:NOPIN Out:gpio.4 Dir:NOPIN]

Grbl 3.9 [FluidNC v3.9.7 (bt) '$' for help] [MSG:INFO: ALARM: Unhomed] ALARM:14

Grbl 3.9 [FluidNC v3.9.7 (bt) '$' for help]

User Interface Software

Fluid Web Installer / Chrome / MacBook Pro / USB

What happened?

When a NC switch is connected to gipo.02 the input seems to be ignored. This happens when gpio.02 is assigned to homingbuttonpin as well as limitallpin on the Z axis. The homebuttonpin function does work when assigned to a different gpio (in this case gpio.35). Voltages at the terminals for io.2 & associated ground are 0v when the NC switch is not pressed & 4.3v when pressed. When gpio.02 is assigned to limitallpin for the Z axis the calibrate page shows a grey “?” for the input.

GCode File

No response

Other Information

No response


评论 (6)

#1 – bdring 于 2025-05-13

I don’t use the calibration page on the Web Installer. It is a work in progress and may not be working correctly. It is not showing all of my limit switches.

You can always get the switch status by sending the ? character at the terminal.

– Are you sure you are using the correct pins on that switch.
– Have you verified that with a multimeter?
– Can you send a link to the switch documentation?


#2 – joel-oo 于 2025-05-13

Switches are from Amazon and have no documentation. Embossed next to terminals are C, NO, NC & I’m on C & NC. When a meter is placed on the first two screw terminals on the board (io.2 & associated ground) the voltage changes from 0 V when not pressed to 4.3 V when pressed. With the board unpowered and an ohm meter on the same two terminals I read 0.4 ohms when not pressed and open when pressed.

The ? command shows
when not pressed
and
when pressed

Although the calibration page may not be dependable when my Z limit is associated with gpio.35 it is green and turns red when the Z limit roller switch is pressed. When the Z limit is instead associated with gpio.2 I see the grey question mark and no change when the push button switch is pressed. Not perfect diagnostic but indicative of something different between 2 & 35.


#3 – bdring 于 2025-05-13

Remove one of the switch wires from the controller side. Then check the status.


#4 – bdring 于 2025-05-13

I am sorry, but I forgot that gpio.2 needs the pu: attribute. It is a strapping pin and would mess with the bootloader if there was an external pullup resistor.

That is mentioned on the wiki page. I added a little more to that page and added a schematic snippet.


#5 – joel-oo 于 2025-05-13

Adding :high:pu did it (:pu alone does not).

I had read about io2 & :pu so I chose to avoid the issue by not using that pin which worked up until the homing feature was added, I had run out of other pins, and forgotten about the requirement for :pu.

THANKS for the help.

Where’s the appropriate forum to raise an issue with documentation or functionality?
Where either I don’t understand something or the functionality doesn’t seem right or the documentation seems off. Nothing that rises to the level of not working but might be worth looking onto at some point.

Happy to open it here, discord, or keep it to myself – just don’t want to create extra work for you.


#6 – bdring 于 2025-05-13

That’s great to hear.

You can post it the help forum on Discord. You can also follow these instructions to edit the wiki yourself.

http://wiki.fluidnc.com/en/wiki_contributions


原始Issue: https://github.com/bdring/FluidNC/issues/1498

喜欢 (0)