[FluidNC Issue#1519] Problem: PlasmaSpindle, M3 code does not change GPIO state, until there is no arc OK signal.

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

Issue #1519 | 状态: 已关闭 | 作者: mmt8284 | 创建时间: 2025-06-30


Wiki Search Terms

PlasmaSpindle

Controller Board

ESP32 DevKitC ESP-WROOM-32U

Machine Description

Only esp32 board. I have working setup that executes gcode without actual cutting but that’s not the case.
For recreating this problem only esp32 board is needed.

Input Circuits

https://crcit.net/c/f29ecf7ff51f4f9a8ecea863c68f276a

Configuration file

name: "ESP32 Dev Controller V4"
board: "ESP32 Dev Controller V4"

stepping: engine: RMT idle_ms: 255 dirdelayus: 1 pulse_us: 2 disabledelayus: 0 start: must_home: false

axes: sharedstepperdisable_pin: gpio.14:high x: stepspermm: 14.0097 maxratemmpermin: 6000 accelerationmmper_sec2: 100 maxtravelmm: 1330 soft_limits: true homing: cycle: 2 mpos_mm: 2 seekmmper_min: 1500 feedmmper_min: 800 positive_direction: true motor0: limitnegpin: gpio.4:low stepstick: direction_pin: gpio.25 step_pin: gpio.33 pulloff_mm: 10.0 motor1: null_motor:

y: stepspermm: 14.0097 maxratemmpermin: 6000 accelerationmmper_sec2: 100 maxtravelmm: 880 soft_limits: true homing: cycle: 2 mpos_mm: 10 seekmmper_min: 1500 feedmmper_min: 800 positive_direction: false motor0: limitnegpin: gpio.35:low stepstick: direction_pin: gpio.27 step_pin: gpio.26 pulloff_mm: 10.0 motor1: limitnegpin: gpio.34:low stepstick: direction_pin: gpio.18 step_pin: gpio.19 pulloff_mm: 10.0

z: stepspermm: 96.7741 maxratemmpermin: 1500 accelerationmmper_sec2: 30 maxtravelmm: 50 homing: cycle: 1 mpos_mm: 40 positive_direction: false seekmmper_min: 400 feedmmper_min: 200

motor0: limitnegpin: gpio.5:low stepstick: direction_pin: gpio.21 step_pin: gpio.22 pulloff_mm: 10 motor1: null_motor: probe: pin: gpio.17:low

PlasmaSpindle: enable_pin: gpio.13:high arcokpin: gpio.23:high arcwaitms: 3000 tool_num: 0

Startup Messages

[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 spiffs]
[MSG:INFO: Configuration file:test107.yml]
[MSG:INFO: Machine ESP32 Dev Controller V4]
[MSG:INFO: Board ESP32 Dev Controller V4]
[MSG:INFO: Stepping:RMT Pulse:2us Dsbl Delay:0us Dir Delay:1us Idle Delay:255ms]
[MSG:INFO: Axis count 3]
[MSG:INFO: Shared stepper disable gpio.14]
[MSG:INFO: Axis X (-1328.000,2.000)]
[MSG:INFO:   Motor0]
[MSG:INFO:     stepstick Step:gpio.33 Dir:gpio.25 Disable:NO_PIN]
[MSG:INFO:  X Neg Limit gpio.4:low]
[MSG:INFO:   Motor1]
[MSG:INFO: Axis Y (10.000,890.000)]
[MSG:INFO:   Motor0]
[MSG:INFO:     stepstick Step:gpio.26 Dir:gpio.27 Disable:NO_PIN]
[MSG:INFO:  Y Neg Limit gpio.35:low]
[MSG:INFO:   Motor1]
[MSG:INFO:     stepstick Step:gpio.19 Dir:gpio.18 Disable:NO_PIN]
[MSG:INFO:  Y2 Neg Limit gpio.34:low]
[MSG:INFO: Axis Z (40.000,90.000)]
[MSG:INFO:   Motor0]
[MSG:INFO:     stepstick Step:gpio.22 Dir:gpio.21 Disable:NO_PIN]
[MSG:INFO:  Z Neg Limit gpio.5:low]
[MSG:INFO:   Motor1]
[MSG:INFO: Kinematic system: Cartesian]
[MSG:INFO: STA SSID is not set]
[MSG:INFO: AP SSID FluidNC IP 192.168.0.1 mask 255.255.255.0 channel 1]
[MSG:INFO: AP started]
[MSG:INFO: WiFi on]
[MSG:INFO: Captive Portal Started]
[MSG:INFO: HTTP started on port 80]
[MSG:INFO: Telnet started on port 23]
[MSG:INFO: ArcOK gpio.23]
[MSG:INFO: PlasmaSpindle Ena:gpio.13:high Arc OK:gpio.23]
[MSG:INFO: Probe gpio.17:low]
ok

User Interface Software

No response

What happened?

Basically same problem, different setup. https://github.com/bdring/FluidNC/issues/1453)

From what I understand, when sending the M3 command, the state of GPIO.13 should change. This should trigger the relay, which, in turn, should allow the plasma to fire. After successfully igniting the arc (within the arcwaitms time), the plasma should return an ‘arc OK’ signal, and cutting should proceed.

The problem is that the M3 command doesn’t change the GPIO.13 signal until the ‘arc OK’ signal is returned, which is the wrong order and indicates a bug.

After changing the order and shorting the wires responsible for the ‘arc OK’ signal, and only then sending the M3 command, the plasma fires.

The ‘arc OK’ signal should be a response and a requirement to allow cutting, not to ignite the arc.

Please help me solve the problem.

GCode File

No response

Other Information

No response


评论 (3)

#1 – bdring 于 2025-06-30

Try this PR.

https://github.com/bdring/FluidNC/pull/1510

See this if you need help installing

http://wiki.fluidnc.com/en/installation#getting-firmware-from-github-actions


#2 – mmt8284 于 2025-07-02

Indeed, this works!
However, there’s a small problem: after the M3 command, the GPIO state changes and remains in that state even if the arc fails and ALARM:10 is triggered. To turn off the plasma, both the $X and M5 commands are required. It seems that the arc_ok signal is not working as intended.
Thank you for your response.


#3 – bdring 于 2025-07-02

On my test rig, if there is an alarm, the enable signal turns off, but the M3 mode stays active. You must do a reset to clear the state.

This is consistent with all FluidNC spindles.

See the last troubleshooting item on the wiki.

http://wiki.fluidnc.com/en/development/plasma#troubleshooting


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

喜欢 (0)