Update on plasma use case success, albeit post processing gcode

This thread is related to Feature Request: per-cut focus touch off for plasma cutting w/THC

I have finally completed my Mill Right Mega V Plasma build today (yesterday) and spent the day running the system through some paces. I experimented a lot with the probe code needed to touch off the torch to the cut surface in order to set the Initial Torch Height or sometimes called the Pierce Height. The gcode process involves saving my LB generated gcode to a file and post processing the file using a VIM macro, performing search and replace. I’m going to run more tests tomorrow using some prior laser design LB files I have, running without actually firing the torch but just observing the movements, thus saving the making of potentially a pile of scrap. I did like the results I got today with fine tuning the initial probe and retract code; it seemed to prove out the process.

It’ll be great though when LB actually puts in the probe touch off code :slight_smile: I hope this feature request is on the short list. :slight_smile:

Here’s my test file and probe code:
MegaV test pattern.gc.txt (5.1 KB)

take care,
Lou

Hope all goes well… :+1:

update: I’m happy to report a successful CNC plasma cut job on my new CNC build ! I used LB to design and gen the gcode in GRBL-M3 device mode. I saved the gcode and post processed it as described in the above post of this thread. Then I sent the gcode to my CNC system using UGS. It worked end to end, no issues. I debugged and mitigated many EMI and RFI issues to get to the point of success and reliability, but it was worth it. Many thanks to many folks that offered advice.

For those interested, please read about all of this, including pics and videos, on the MillRight CNC forum here: https://millrightcnc.proboards.com/thread/3323/plasma-mega-set
See the posts near the end of the referenced thread.

I will continue to use LB for design and code gen in my plasma use case, it’s just too awesome not to. The ease of use factor in design for minor engineer drawings to especially with text and graphics is extremely powerful. I just wish there was a plasma mode of control and burn.

If LB does add plasma feature, I recommend the begin cut (M3) and end cut (M5) user gcode blocks we discussed earlier this year in the LB referenced thread; the code blocks being edited and stored in layers. The amount of fine tuning that will be on going in the plasma system I see continuing, and code blocks provide full user control on those plasma M3 and M5 events. For instance, movement delay after starting the arc is critical, and must also be synchronized with a movement delay in the THC.

Here are my first project code files and the VIM macro to post process.
I welcome any discussion.
hello world2.gc.txt (31.4 KB) hello world.lbrn2 (43.7 KB) plasmapp.vim.txt (798 Bytes)

Cheers,
Lou

1 Like

update: Still having great success with LB on my MillRight Mega V Plasma machine. Yesterday I had a need to use the “Start Here” feature of LB (find it as a button in the Cut Preview window). It worked great ! Saved me from an otherwise disappointing case of scrap metal.

I have used Start From cut settings of Current Position and Absolute Coordinates, but work fine, but in the latter case, remember to code a G90 at the end of the torch touch off (pre M3) and torch retract (post M5) commands. I use the LDCrestore keyword in my VIM macro to mark those locations, since at a minimum I do a global replace to plug in the cut speed (Fnnnn) setting, it’s altered during pre and post Z moves of the torch. Absolute Coords mode also allows direct editing of the gcode file as another means of resuming a cut after a collision or cut malfunction. Only when I want to use an origin other than bottom left do I use Start From: Current Position.

I’m still fine tuning the torch touch off routine, and have at least one more condition to solve, that being Torch Height Controller (THC) induced error in the Z axis that accumulates in jobs with >20 or so cuts; I sometimes get a soft limit error thrown by grbl controller when in fact the Z is physically safely within those limits. I will experiment with less retract distance, perhaps 10-15mm rather than 20mm. The condition is also an indicator that my THC monitor voltage is too low, thus the THC is only issuing Z up commands and the cumulative error is always positive.

Here’s the latest torch touch off and retract gcode, this was a case of Absolute Coords job gen-

=======================================
;begin safe retract and ready for probing next cut ITH
M5
G21 G91
G1 Z20 F800 (fast retract to safe height)
G1 g90 f2000 (restore feed rate, move mode, and units as needed)
;end safe retract and ready ITH

G0XY absolute coord move to next cut start position…

;begin probe for PH and ITH. THT=9.5mm
G21 G91 (metric and relative)
G38.2 Z-33.5 F800 (probe fast from safe retract, 24mm+THT)
G1 Z11.5 (fast retract 2mm+THT)
G38.2 Z-13.5 F400 (slow probe max -2mm -last retract)
G1 Z12.5 F800 (fast retract to Pierce Height PH, 3mm+THT, 150%-200% of ITH)
M3
G4 P1.25 (pierce delay, be sure to make THC delay => this+1.5)
G1 Z-1.5 (transition from PH to ITH of 1.5mm usually)
G1 g90 f2000 (restore feed rate, move mode, and units as needed)
;end probe ITH

=======================================

Cheers,
Lou

update: I had to add a grbl delay (G4 P0.75) in the M5/retract code block after each cut, the delay is 0.75 seconds and allows for the two mechanical plasma trigger relay reaction times (1 in grbl controller box and 1 in plasma cutter) plus the THC reaction and transition time once the arc shuts off. The THC reaction time includes time for it’s internal relay to switch the Z dir and step lines back to the CNC grbl controller. The symptom which you’ll see without the retract delay is that after 25 or so cuts (with torch probe touch offs), the cumulative Z error from lost Z steps during retract will cause a soft limit error on Z retract eventually. At that point, the LB Start From Here feature was very useful to allow me to resume the cut from the point of error, after I re-homed the machine of course.

Here is the code for both torch probe touch off/M3 and the M5/retract .

= = = = = = = = =
;begin probe for Pierce Height (PH) and Initial Torch Height (ITH)
; Torch Probe Travel TPT=9.2mm
G21 G91 (metric and relative)
G38.2 Z-30 F800 (probe fast from safe retract, 20mm+TPT rnd)
G1 Z8 (fast retract off probe switch)
G38.2 Z-10 F400 (slow probe -2mm+retract)
G1 Z9.2 F800 (fast retract to TPT)
G1 Z3.7 (retract to Pierce Height PH, 150%-225% of ITH)
M3 (light it up)
G4 P1.25 (pierce delay, make THC delay => this+1.2)
G1 Z-2.1 (transition from PH to ITH)
G1 f2200 (restore feed rate, move mode, and units as needed)
;end probe ITH

G1X0.9Y-1.79… cut moves.

;begin safe retract and ready for probing next cut ITH
M5 (put it out)
G4 P0.75 (wait for THC to give Z control back to CNC)
G21 G91
G1 Z15 F800 (fast retract to safe height)
G1 f2200 (restore feed rate, move mode, and units as needed)
;end safe retract and ready ITH
= = = = = =

btw - here is my youtube channel which documents the custom build with video, all instructional.

and here is another link into the MillRight Mega V forum which gives additional instruction on much of the custom build details: https://millrightcnc.proboards.com/thread/3563/plasma-router-custom-build-frame

cheers,
Lou

update: So even though the M5 retract delay of 0.75 secs was added to mitigate the THC Z error, it was not a complete fix; it only fixes the gross error due to lost Z steps while THC transitioned control back to grbl. The THC Z control movements during a plasma cut will still compound when the THC set arc voltage is either too low or too high, which will always be the case by at least the precision of the THC set voltage function, which is 1 volt in my case. So the fix for that is to get precise in that setting, and to understand the symptom and apply change in the correct direction.

In order to understand the problem, see this diagram I created to demonstrate it.
Plasma THC Z error diagram.lbrn (124.0 KB)

Net: when the THC voltage is set to high, then grbl’s view of Z is that it’s getting more negative (lower) after each cut. That is because the probe command will have a longer stroke each time by the amount THC moves Z positive (up) trying to achieve the set voltage. That error accumulates until you get a -Z Soft Limit alarm on a probe command (torch touch-off).
Conversely, when the THC voltage is set to low, then the opposite occurs, until you eventually get a +Z Soft Limit alarm on a M5 retract attempt.

What I have found works well to determine the right THC arc voltage is to test cut 150mm straight line with the THC control delay set high enough (9.9 secs in my case) such that it will not take over Z control during the cut, thus you can monitor the arc voltage, long enough, on the THC DRO to get a good read of the value; it remains fairly stable during the straight line cut, with the torch Z being static and already at the ITH.

Now, if you do get a Z Soft Limit alarm or have any other job cut interruption, LBs Start Here feature is the fix in order to resume your cut and avoid making scarp metal :slight_smile: I’ve used it several times already, each time very successful :slight_smile: Great feature.

Cheers,
Lou

update: Here is the latest torch touch off and retract code I’m using to plasma cut. I’ve run several different jobs with it and all worked fine cutting 14ga mild steel. I can use the same variable parameters of PH, ITH, Pierce delay on mild steel 18ga. to 10ga. I have found. All other parameters/values in the code blocks are basically constants for my CNC. When I cut thicker material > 10ga, then perhaps I’ll have to adjust some of the variable parameters, as those will likely change due to torch tip size changing, plasma amps, and PSI. For the 18-10ga material, I’m using 30A (.8mm) and 40A (.9mm) tips, on a Tecmo machine torch PTM60, with a PrimeWeld Cut60 plasma cutter. On material larger than 10ga, I plan to use a 60A (1.1mm) tip.

I’m also using unshielded tips. I tried a couple of times to use a machine shield and tips but kept having Z/torch move collisions with surface dross blown out of the pierce hole. The interference is very slight, perhaps .2mm or less, but any interference (the slightest force lateral or axial) with my torch will move it off the magnetic mount, it’s becoming my latest and remaining issue. However this is a double edged sword, because you want the mount to give way on interference, but it seems there should be some tolerance/resistance to something as minor as a brush with molten dross. The tip when used with any shield is recessed about .8mm, and this distance is a component of the ITH/TH when cutting, so that means the shield is only .7mm from the cutting surface in the case of a 1.5mm ITH/TH. So for now, the best fix is to use unshielded tips, giving me a full 1.5mm ITH/TH during the cut, and I’ll stick with the magnetic mount as is.

Suggestion: I mention all this because I read that some CNC plasma systems use a lateral XY move while transitioning Z from PH to ITH, and thus it makes those systems less likely to collide with pierce hole surface dross, which also extends torch tip consumable life. So LB may consider such a provision when implementing the plasma support. If implementing a user code block as I’ve suggested previously, that could pose a problem, but perhaps an LB keyword can be used in the code block for this transition move and the keyword replaced at runtime. This implementation would also allow for piercing to take place while XY was moving (if so desired in user block code), which would further eliminate dross interference and extend consumable life. :slight_smile:

TIP: The kerf on the 40A tip, cutting 14ga, @35amps @60psi, at 1.5mm ITH/TH, the kerf width is 1.5mm. You can easily measure kerf by cutting a small rectangle programmed with zero kerf offset, then measure either the inside or outside rectangle of the cut and the difference between that measurement and the designed dimension of the rectangle is the kerf width.

Suggestion: if/when LB may implement plasma support, the Start Here feature is great. I use it a lot, and I’m getting lucky in that the restart of the plasma torch is usually in a corner in my interrupt or collision cases, the condition being EMI/RFI caused gcode send is interrupted by knocking out my communications channel and thus grbl continues to run only the few commands in it’s buffer, which usually means it quits at a corner. In the case of collision, its usually pierce hole dross collision. In either case, I can edit the shape in LB to start at a different node and even truncate the shape so I don’t travel down an open kerf, that’s not healthy for torch consumables also. So my suggestion is to implement the lead-in cut on Start Here conditions if it’s already programmed on the layer. :wink:

latest code:

;begin probe for Pierce Height (PH) and Initial Torch Height (ITH)
; Torch Probe Travel TPT=9.2mm
G21 G91 (metric and relative)
G38.2 Z-30 F800 (probe fast from safe retract, 20mm+TPT rnd)
G1 Z8 (fast retract off probe switch)
G38.2 Z-10 F400 (slow probe -2mm+retract)
G1 Z9.2 F800 (fast retract to TPT)
G1 Z3.2 (retract to Pierce Height PH, 150%-225% of ITH)
M3 (light it up)
G4 P1.0 (pierce delay, make THC delay => this+2.0)
G1 Z-1.7 (transition from PH to ITH)
G1 f2350 (restore feed rate, move mode, and units as needed)
;end probe ITH

G1XnnnYnnn cut shape…

;begin safe retract and ready for probing next cut ITH
M5 (put it out)
G4 P0.75 (wait for THC to give Z control back to CNC)
G21 G91
G1 Z10 F800 (fast retract to safe height)
G1 f2350 (restore feed rate, move mode, and units as needed)
;end safe retract and ready ITH

latest files:
plasmapp.vim.txt (1.1 KB)
garden hose holder.nc.txt (28.6 KB)
garden hose caddie.lbrn (150.9 KB)

Cheers,
Lou