The issue with high-frequency start ("HF start") on plasma cutters is that igniting the pilot arc creates an enormous amount of electromagnetic interference which causes problems for nearby electronics, in particular tending to disconnect the USB connection to your CNC motion controller. You can solve this by talking to the motion controller over WiFi.
This is my machine in its temporary location on the workbench:
If you still need to acquire a plasma cutter then I obviously recommend trying to get one with "blowback start" instead of "HF start" so that you don't have to worry about it. In acquiring a machine with HF start I made an error. But I got it to work anyway, so if you already have an HF start machine and you want to use it for CNC, you might be able to do the same thing.
I kind of wanted a CNC plasma cutter because I have recently spent lots of time and end mills making planar parts like this for my cyclecar at excruciatingly low feed rates and depths of cut:
So I started placing some bids on eBay and accidentally won a Parkside PPS 30 B2 for £80:
The seller stated that he bought it from Lidl on a whim but then realised it needed a compressor and he didn't have one.
If I had done my research I would not have bid on a machine without blowback start, but here we are.
So when it arrived I set it up on the garage floor and tried to run my 6040 CNC router while lighting the plasma arc.
As you might predict, I couldn't get it to work. Most of the time lighting the arc would disconnect UGS from Grbl.
But serendipitously I was running a test program that had a small number of very long and very slow movements, which meant I had several minutes of motion left in Grbl's buffer, and I noticed that even though UGS got disconnected from Grbl and was totally broken... Grbl was still moving the machine! It was still following my gcode perfectly.
So the issue isn't that the HF start actually prevents Grbl from working, it's just that it disconnects the USB serial connection.
Solution: use FluidNC on an ESP32 board and talk to it over WiFi. FluidNC is Grbl-compatible but suitable for more modern microcontrollers.
Charlie suggested talking to the controller over fibre optic, which would probably work even better than WiFi but is more faff to set up.
Annoyingly, ESP32 outputs are 3.3v instead of 5v. I made up a breakout board for an Arduino Nano ESP32 on a piece of stripboard with a 74HCT245 abused as a level-shifter on the outputs and this was sufficient to provide 5v output from 3.3v input, unsure how legit this is.
You can see my custom breakout board in here:
I initially experimented with some small stepper motors with A4988 drivers, left over from when I dismantled my i3 clone 3d printer, and I think these would have been fine. But I also had some spare Leadshine easy servos from the unfinished CNC mini mill project I bought years ago. I didn't think the Leadshine servos would work because I thought the interference would confuse the encoder input, but I tested them and they seemed fine. And they're more powerful and better so I used them.
But for a plasma cutter I really don't think fancy servos are necessary, the cutting load is basically zero, it's just a glorified pen plotter.
The Leadshine documentation says they need at least 18v, but I only had a 12v power supply lying around so I tried it and it seems fine.
I did subsequently connect the alarm output from the servo to an input on FluidNC and it kept falsely triggering every time the arc started (sigh) so I am running the servos without the alarm input. That's no worse a position than I would have been in using open-loop stepper motors anyway.
My motion platform is made out of box section steel and 3d printed parts:
With GT2 belts left over from the same 3d printer, and printed pulleys. The bigger of the two orange parts was a 36-hour print and used 700g of material, that's my biggest ever 3d print. All printed in ABS-GF on Bambu Studio "strength" setting.
The "linear rails" consist of 608 bearings riding directly on the steel box section. I didn't make any of them adjustable but I should have done because it has slightly more play in it than I would prefer. Again this would be nowhere near adequate for a router but for a plasma cutter I think it should be fine.
(The aluminium foil wrapped around the torch lead was a shielding experiment from before I was using FluidNC, it didn't help, I just haven't taken it off yet).
I need to get a larger water tray.
To fire the arc on the plasma cutter, it has a 2-pin GX16 connector which you normally connect to the torch trigger.
I connected it to a relay operated by FluidNC so that I can turn it on/off with M3/M5. (But note you need to give FluidNC a non-zero "spindle speed" else M3 won't do anything, so get used to "M3 S1").
So at this point I have a working CNC motion system, with an HF start plasma cutter that I can fire from CNC control. Time to cut something out?
Unfortunately I have no plasma cutting experience and (story of my life) it's harder than it looks.
I messed around with the air pressure, current setting, and feed rate, and I just couldn't get a clean cut in 4mm steel. That's disappointing because the machine documentation says it can cut through up to 12mm steel.
But I tried a piece of 3mm steel and my first test cuts worked a lot better, so I tried to cut out a heart shape. (I got ChatGPT to write the gcode for this).
It blew the fuse in the extension lead 3/4 of the way through because I foolishly had the compressor and plasma cutter plugged into the same one. D'oh!
I moved the compressor to a different extension lead and then it worked first time, albeit with a lot of slag on the underside of the cut:
I cleaned this off with the angle grinder and you can see that along one axis my machine is cutting nice straight sides but on the other axis it is quite badly bevelled:
I am going to replace the consumables in the torch when they arrive, and failing that I am going to make the torch clamp angle adjustable, and I expect I will be able to get rid of the bevel, but I don't know if the combination of the excessive bevel and the poor cutting performance are evidence that my machine is actually faulty. This may be the real reason it was sold on eBay after hardly any use.
I have subsequently had my 16 amp breaker trip a few times while cutting so I may want to either find a way to run the compressor on a different circuit or else upgrade the circuit I have.
These are the switches and lights on my control cabinet:
Though the "alarm" light is now surplus as the servo drives can no longer trigger it.
The "torch" light comes on when FluidNC is asking for the relay to turn on, but the relay doesn't actually turn on unless the switch is set to "enable". This is so I can ensure that even when I'm fumbling the gcode the torch can't light unexpectedly.
And btw I obviously don't have an emergency stop button on this machine, but I can still toggle the torch off, or switch the power off, and there's no world in which I'm running a plasma cutter unattended, so I'm not very worried about it.
I also don't have limit switches. I don't really understand why people bother putting limit switches on DIY machines (unless they have an automatic tool changer or whatever). What's the benefit to having a global coordinate system? You need to set up work coordinates for every job anyway. I don't have limit switches on any of my machines, but on this one in particular I expect limit switches would falsely trigger whenever the HF arc starts.
So what have we learnt about making CNC plasma cutters?
- you can use a HF start machine if you talk to the motion controller over WiFi
- you don't want any inputs to the microcontroller, including limit switches, emergency stop, alarm inputs, USB serial
- if you make linear rails out of box section and ball bearings then make some of them adjustable so that you can take out the play
- GT2 belts are adequate
- 3d-printed structure is adequate
- getting correct cutting parameters is not any easier than it is with milling unfortunately, so still lots to learn
- Leadshine easy servos appear to work with 12v supply even though the documentation says they need at least 18v
I made a custom gcode sender to talk to FluidNC because I wanted it to work differently to any existing ones and coding agents make software cheap, but I'm pretty sure UGS can talk over WiFi so it is not necessary to make your own sender.
If you make a CNC plasma cutter using information from this post then please email me and show me, I'd love to hear from you.