Skip to main content

Upgrading a CNC Plasma Cutting Machine - Part 3


CAD/CAM workflow and first cut of sheet steel

The first post in this series saw the improvement of safety and motion control of our plasma cutting machine, with new components and wiring of the control cabinet, and Machinekit running on a BeagleBone Black. With this configured and fine-tuning of the X and Y axes completed in the second post, we can now turn our attention to cutting some mild steel sheet.

Plasma cutting basics


Plasma cutting image from Wikipedia

The cutting of metal with a plasma torch happens in several steps. Upon initial firing, a high voltage spark, along with limited DC current produces a pilot arc in the head of the torch, which then projects from the end of the torch. If close enough to the sheet metal, the arc transfers between the torch and the sheet. This arc immediately heats the sheet metal and may take some time before it pierces all the way through the material, particularly with thicker sheet stock. Once the arc has pierced the sheet, it has reached full strength and can be moved across the material.

This initial firing and piercing process is covered in detail on the Hypertherm website.

Parameters to be taken into consideration when CNC plasma cutting include:

  • Current of the plasma arc – this is set on the plasma power unit
  • Cut height – the distance from the cutting head to the surface of the material
  • Pierce time delay – pause to wait for arc to fully pierce material
  • Feed rate – the speed that the cutting torch moves across the material

These vary depending on the thickness and type of material to be cut, with examples typically provided by the manufacturer. Below are some figures from the Hypertherm Powermax45 system manual:

Material type Material thickness (mm) Cut height (mm) Torch current (A) Feed rate (mm/min) Pierce delay (s)
Mild steel 0.5 1.5 30 9150 0
Mild steel 1.5 1.5 30 5650 0.2
Mild steel 3.4 1.5 45 3550 0.4
Mild steel 9.5 1.5 45 510 0.9

Since the power supply provides constant current, the total energy delivered by the torch depends on the cut height, as a greater height requires a larger voltage to 'jump' the gap. The arc voltage will vary accordingly, up to a maximum 'open circuit' voltage. In the case of the Hypertherm Powermax45, this is 275 VDC.

From design to cutting: implementing the basics


Taking the above into account we can set about generating files for test cuts. First, a simple design was drawn up in CAD software and exported as a .dxf. Next, this was imported into CAM software, in this case a package called CamBam. This will allow conversion of the drawing into instructions to control the machine, 'G-code'.

More information on using CAD and CAM software can be found in earlier posts, where we generate G-code to control a CNC milling machine.


The fundamental parameters from above can be easily defined within CamBam. Other G-code instructions can also be added as required. For example, when the plasma arc first strikes and pierces the metal sheet, it can create a hole larger than the rest of the cut width. To prevent this from affecting the shape of the final profiled part, it is possible to perform this initial pierce away from the actual toolpath, before moving the torch to the correct start point. This is known as 'lead in'.


The image above shows use of the lead in function within CamBam. This creates an additional toolpath that will be included in the G-code upon export. Other custom machine or process-specific functions may not appear within the menus of the CAM software, but can be defined in a 'post processor'.

Post processors can be configured inside CAM software or as a standalone program, but this is best done once machine configuration is completed and thoroughly tested. Since we are still adding features to, and improving the capabilities of our plasma cutting machine, it didn't make sense to invest time in configuring a post processor at this point.

Instead, the G-code was exported from CamBam and manually edited with a text editor. Here, a G-code reference guide is useful.


The following was taken into account whilst editing the G-code manually:

  • Our controller currently supports two axes of motion with feedback: X and Y. The Z axis is adjusted manually. Therefore all G-code references to the Z axis need to be removed, otherwise Machinekit will not load the file.
  • We can add a pause of specific duration to allow the torch to pierce the material by adding a 'dwell' command, 'G4', followed by a time parameter. For a dwell of 0.2s, this looks like: 'G4 P0.2'.
  • Use of the G64 command to specify how much the machine may deviate from the tool path. We used a value of 0.01, further reading on this is both interesting and advised.
  • Use of M5 and M3 to ensure the plasma torch is turned off and on at the correct times (these are spindle control – the method we are using to control the plasma torch.

First cut


Once the G-code had been edited it was loaded into Machinekit. The X and Y axes were homed and touched off, before the Z axis was manually set to the correct cutting height for 1mm thick steel sheet, which according to the Hypertherm cut chart is 1.5mm.

The job was run and successfully profiled a rectangle from the sheet. Looking at the photo above, the varying heat stress and edge finish are apparent, but not bad for the first cut.

Following the adjustment of parameters and several more test cuts, a more complex design was loaded into CamBam, exported and manually edited before running:

This job included multiple pierces and cut paths close to one another, resulting in increased warping of the sheet material due to heating. At one point the torch catches on the sheet stock and causes it to move, resulting in the remaining cuts to be offset.


Further Improvements

Catching the torch on the workpiece is clearly far from desirable and may be addressed by integrating accurate positioning control of the Z axis in Machinekit. This could be achieved by either adding an encoder to the existing DC motor that moves the Z axis up and down, or by replacing it with a stepper motor.

Firstly, this will allow for the initial pierce height to differ from the cutting height, thereby reducing the heat stress on the material as well as prolonging the life of torch consumables.

Secondly, it will allow for implementation of torch height control (THC). With this, a target arc voltage is configured and the actual voltage measured via the plasma control interface. These are then used to determine a correction and raise or lower the torch accordingly. This runs in a loop, with torch height being adjusted whenever the measured arc voltage is out of tolerance.

The cut height is very important and should ideally be kept constant across each cut. This will ensure the best possible finish, whilst avoiding crashing the torch into the sheet stock.

In the next post we will take a look at adding accurate Z-axis positioning and torch height control within Machinekit.

maker, hacker, doer
DesignSpark Electrical Logolinkedin