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)
#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
#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