DIY CNC Plasma Controller

Plasma Cutters can be used to make some amazing products & projects. Upload some pictures of projects you've completed using your plasma cutter.
xnaron
2.5 Star Member
2.5 Star Member
Posts: 195
Joined: Sun Jun 28, 2020 2:23 pm

Re: DIY CNC Plasma Controller

Post by xnaron »

I am narrowing this issue down. I think it has something to do with the spindle delays that I removed from 1000ms to 0ms. I did a test with them set back to 1000ms and set to 10ms. When I set it back to the 1000ms delay it retracts as it should. When I set it to 10ms it does not retract at the very last cut. There must be something weird going on with UCCNC and timing especially since it isn't respecting the pauses. I am at a loss. I need to take a step back and think things through.




xnaron
2.5 Star Member
2.5 Star Member
Posts: 195
Joined: Sun Jun 28, 2020 2:23 pm

Re: DIY CNC Plasma Controller

Post by xnaron »

UCCNC wants ms for my pauses and my post processor is putting out seconds. I can adjust and retry.
xnaron
2.5 Star Member
2.5 Star Member
Posts: 195
Joined: Sun Jun 28, 2020 2:23 pm

Re: DIY CNC Plasma Controller

Post by xnaron »

Ok so my post processor isn't even outputting the pierce delay. I am going to search my threads because I think @robertspark posted his and I will start with that one. This is a pretty good blow by blow account of how I am solving this issue.
xnaron
2.5 Star Member
2.5 Star Member
Posts: 195
Joined: Sun Jun 28, 2020 2:23 pm

Re: DIY CNC Plasma Controller

Post by xnaron »

Post mortem. When I made some changes to my post processor within the last week I mistakenly commented out part of the pierce delay code. In addition to that the post processor was specifying the pierce and end delay as seconds. UCCNC needs it in ms. I haven't checked if there is a setting to switch it. The other mistake I had made was not setting the spindle delays to 0. They were set at 1000ms for on and off. This masked the issue with the seconds vs ms and the missing pierce delay. When I set those delays to zero I started experiencing the issues above. I ran another test and every thing seems ok now but it was a wild ride.
robertspark
4.5 Star Elite Contributing Member
4.5 Star Elite Contributing Member
Posts: 1815
Joined: Mon Jun 12, 2017 6:43 pm

Re: DIY CNC Plasma Controller

Post by robertspark »

you can change the delay in uccnc from msec to sec on the general settings tab there is a checbox
2020-08-13 07_53_11-Mail.png
robertspark
4.5 Star Elite Contributing Member
4.5 Star Elite Contributing Member
Posts: 1815
Joined: Mon Jun 12, 2017 6:43 pm

Re: DIY CNC Plasma Controller

Post by robertspark »

Its probably worth mentioning that for your tool T92 your pierce delay is set to zero (0)

https://www.hypertherm.com/Download?fil ... &zip=False

Fine Cut Mild Steel, 12G, should be 0.5 Sec
2020-08-13 08_24_50-Powermax65_85 Operator Manual (806650 revision 4).png
robertspark
4.5 Star Elite Contributing Member
4.5 Star Elite Contributing Member
Posts: 1815
Joined: Mon Jun 12, 2017 6:43 pm

Re: DIY CNC Plasma Controller

Post by robertspark »

I've got to do something else so this is work in progress (it may work / it may not):

Code: Select all

OperationFlag = 0

function OnAbout(event)
   ctrl = event:GetTextCtrl()
   ctrl:AppendText("UCCNC Plasma Post Processor\n")
   ctrl:AppendText("\n")
   ctrl:AppendText("Modal G-codes and coordinates\n")
   ctrl:AppendText("Comments enclosed with ( and )\n")
   ctrl:AppendText("M03/M05 turn the torch on/off\n")
   ctrl:AppendText("Incremental IJ\n")
   ctrl:AppendText("Designed for use with UCCNC and THC\n")
   ctrl:AppendText("    and a ToucOff Macro M1031\n")
   ctrl:AppendText("With G64 Kerf Width Compensation\n")
   ctrl:AppendText("Post variables:\n")
end

function OnInit()

   post.SetCommentChars ("()", "[]")  --make sure ( and ) characters do not appear in system text
   post.Text (" (Filename: ", fileName, ")\n")
   post.Text (" (Post processor: ", postName, ")\n")
   post.Text (" (Date: ", date, ")\n")
   if(scale == metric) then
      post.Text (" G21 (Units: Metric)\n") --metric mode
   else
      post.Text (" G20 (Units: Inches)\n") --inch mode
   end

   post.Text (" G17 G40 G49 G50 G64 G69\n G80 G90 G94\n M205 (THCON)\n F1\n S1\n")
  
   post.SetOptions(post.ARC_SEGMENTS) --break circles or arcs into quadrants
   bigArcs = 1 --stitch arc segments together
   minArcSize = 0.05 --arcs smaller than this are converted to moves
end

function OnNewLine()
   post.Text ("N")
   post.Number (lineNumber, "0000")
   lineNumber = lineNumber + 10
end

function OnFinish()
   post.Text (" G0 X0.0 Y0.0 \n")
   post.Text (" M05 M30\n")
   end

function OnRapid()
   if(math.hypot(endX-currentX , endY-currentY) < 0.001 and endZ < currentZ) then return end
   if(OperationFlag == 1) then
      post.Text (" (Operation: ", operationName, ")\n")
      OperationFlag = 0
   end
   post.ModalText (" G00")
   post.ModalNumber (" X", endX * scale, "0.0000")
   post.ModalNumber (" Y", endY * scale, "0.0000")
   post.ModalNumber (" Z", endZ * scale, "0.0000")
   post.Eol()
end

function OnMove()
   post.ModalText (" G01")
   post.ModalNumber (" X", endX * scale, "0.0000")
   post.ModalNumber (" Y", endY * scale, "0.0000")
   post.ModalNumber (" Z", endZ * scale, "0.0000")
   post.ModalNumber (" F", feedRate * scale, "0.0###")
   post.Eol()
end

function OnArc()
   if(arcAngle <0) then
      post.ModalText (" G03")
   else
      post.ModalText (" G02")
   end
   post.NonModalNumber (" X", endX * scale, "0.0000")
   post.NonModalNumber (" Y", endY * scale, "0.0000")
   post.ModalNumber (" Z", endZ * scale, "0.0000")
   post.Text (" I")
   post.Number ((arcCentreX - currentX) * scale, "0.0000")
   post.Text (" J")
   post.Number ((arcCentreY - currentY) * scale, "0.0000")
   post.ModalNumber (" F", feedRate * scale, "0.0###")
   post.Eol()
end

function OnPenDown()
   post.ModalText(" M1031 (TouchOff)")
   post.Eol()
   post.CancelModalNumbers()
   post.ModalText (" G00")
   post.ModalNumber (" Z", pierceHeight * scale, "0.0000")
   post.Eol()
   post.Text ("M03 (Torch Fire)")
   post.Eol()
   if (pierceDelay > 0) then
      post.Text (" G04 P")
      post.Number (pierceDelay,"0.000")
      post.Eol()
   end

end

function OnPenUp()
   post.Text (" M05 (Torch Off)")
   post.Eol()
   if (endDelay > 0) then
      post.Text (" G04 P")
      post.Number (endDelay,"0.000")
      post.Eol()
   end
end

function OnNewOperation()
   OperationFlag = 1
end

function OnComment()
  post.Text(" (",commentText,")\n")
end

function OnToolChange()
   post.Text (" M06 T")
   post.Number (tool, "0")
   post.Text ("  (", toolName, ")\n")
   post.Text (" G64 Q")   
   post.Number (toolDia * scale / 2, "0.000")
   post.Eol()
end

function OnNewPart()
   post.Text(" (Part: ",partName,")\n");
end

function OnDrill()
   OnRapid()
   OnPenDown()
   endZ = drillZ
   OnMove()
   OnPenUp()
   endZ = safeZ
   OnRapid()
end
sheetcam job file attached (path rules have been changed + added a pierce delay to T92)

I need to run it on a machine later (its just been run on the demo version of uccnc line by line etc)

I have changed M1031 a bit (I wouldn't change EVERYTHING at once or you won't know which bit is not working right).

Code: Select all

// M1031
// Plasma Touch Off Macro for Ohmic and Floating Head, using a relay  / optoisolator to isolate the ohmic probe input
// and allow for the use of an Ohmic probe offset AND floating head offset
// Requires Ohmic Probe Input, Floating Head, Isolation Relay  for Ohmic Probe to test which input is active.
// Robertspark 22/10/2016

// <><><><><><><> SETUP SECTION
string FloatOffset = "0.095"; //  Ohmic offset (in units)
string OhmicOffset = "0.0"; // Ohmic offset (in units)
string Probefeedrate = "10"; // probing feedrate (in units / minute)
string ProbeDist = "100";  // probing travel distance (in units)
int ProbeInputLED = 71; //  probe input , could change to port & pin LED ref (check LED number table) , i.e. port2/pin11 = LED #79
int OhmIsoPort = 1; // Ohmic probe Isolation optoisolator / relay  output PORT
int OhmIsoPin = 2; // Ohmic probe Isolation optoisolator / relay output PIN


// <><><><><><><><> MACRO SECTION

// INITIAL PROBE INPUT CHECK  (IF FAIL, STOP MACHINE, & REPORT ERROR IN STATUS BOX))
if(exec.GetLED(ProbeInputLED) == false)
{
   exec.Setoutpin(OhmIsoPort, OhmIsoPin); // enable (ohmic probe input optoisolator  / relay input)
   exec.Wait(100);
   // check probe input , if enabled (ohmic cap fault), disable ohmic optoisolator / relay & run probling routine to set offset to floating head
   if(exec.GetLED(ProbeInputLED) == true) // test probe input, if true, ohmic cap fault  / ohmic setting error.
   {
   exec.Codesync("M3"); // quick blast of the torch for airflow to see if it clears the water/ debris.
   exec.Wait(50);  // adjust time so it is fast enough to trigger airflow but try not to fire torch.
   exec.Codesync("M5");
   exec.Wait(100);
   
      if(exec.GetLED(ProbeInputLED) == true) // test probe input, if true, ohmic cap fault  / ohmic setting error.
		{
		exec.Clroutpin(OhmIsoPort, OhmIsoPin); // disable ohmic isolator / relay
		exec.Wait(100);
   
		exec.AddStatusmessage( "Check Ohmic Probe / Torch" );  // Send Ohmic Probe Error to status messagebox
    
		exec.Codesync("G31 Z-" + ProbeDist + " F" + Probefeedrate); //  run probe routine
		while(exec.IsMoving()){}
		exec.Wait(100);   
		exec.Codesync("G92 Z-" + FloatOffset); // allow for floating head offset
		exec.Wait(100);
		return;
		}
   }

   if(exec.GetLED(ProbeInputLED) == false) // test probe input, if false, all is well.
   {
 
    exec.Codesync("G31 Z-" + ProbeDist + " F" + Probefeedrate); //  run probe routine
    while(exec.IsMoving()){}
   
    exec.Clroutpin(OhmIsoPort, OhmIsoPin); // disable ohmic isolator / relay
    exec.Wait(100);
 
      if(exec.GetLED(ProbeInputLED) == true)
      {
      exec.Codesync("G92 Z-" + FloatOffset); // allow for floating head offset
	  exec.Wait(100);
      return;
      }
      if(exec.GetLED(ProbeInputLED) == false)
      {
      exec.Codesync("G92 Z-" + OhmicOffset); // allow for ohmic head offset
	  exec.Wait(100);	  
      return;      
      }
   }
}

// INITIAL PROBE INPUT CHECK  (IF FAIL, STOP MACHINE, & REPORT ERROR IN STATUS BOX))
if(exec.GetLED(ProbeInputLED) == true)
{
   exec.AddStatusmessage( "Touch Off Probe Error, Machine Stop" );  // Send Probe Error to status messagebox
   exec.Stop(); // stop / halt machine operation to inspect probe input and restart
   return;
}

// End of Macro

Attachments
stepper mount - rob edit.job.dxf
(65.25 KiB) Downloaded 64 times
xnaron
2.5 Star Member
2.5 Star Member
Posts: 195
Joined: Sun Jun 28, 2020 2:23 pm

Re: DIY CNC Plasma Controller

Post by xnaron »

robertspark wrote: Thu Aug 13, 2020 3:28 am Its probably worth mentioning that for your tool T92 your pierce delay is set to zero (0)

https://www.hypertherm.com/Download?fil ... &zip=False

Fine Cut Mild Steel, 12G, should be 0.5 Sec

2020-08-13 08_24_50-Powermax65_85 Operator Manual (806650 revision 4).png
Yeah I noticed that yesterday. It was set 500 at one point. I didn't intentionally set it to zero but have corrected it. The spindle delays that were set by default masked this error as well.
Last edited by xnaron on Thu Aug 13, 2020 11:21 am, edited 1 time in total.
xnaron
2.5 Star Member
2.5 Star Member
Posts: 195
Joined: Sun Jun 28, 2020 2:23 pm

Re: DIY CNC Plasma Controller

Post by xnaron »

Thank you for taking the time on the post processor and updated macro. I will test them in an iterative way today and post results and any changes I may need to make. Will also try the job with the updated rules. Thanks for the example.

On another note the enable/disable input in the stepper seems to be very fast when I have tested it with an output on the axbb-e. I set that output to the anti down.
xnaron
2.5 Star Member
2.5 Star Member
Posts: 195
Joined: Sun Jun 28, 2020 2:23 pm

Re: DIY CNC Plasma Controller

Post by xnaron »

I've implemented your post with one change (added a space in front of M3 in pendown) I haven't tried the new 1031 macro yet. I took your sheetcam job and modified it to work with 16gauge. I also added another layer called drills for the 4 small holes around the larger hole. I came across an interesting issue. The first of the 4 holes on the drill op the torch fires ok. The remaining 3 probe and the torch on button goes on (UCCNC display) for a split second but does not fire. (see video) I have tried this twice with same results. First hole fine and other 3 torch does not fire.

I am wondering if this is a torch on relay speed issue. I don't see any difference in the code sequence from the first hole to the other three. THC is on so it should wait for the arc ok signal.


The 4 drill ops start at N0130

Code: Select all

N0010 (Filename: stepper mount - rob edit 16g v7.tap)
N0020 (Post processor: UCCNC_M1031.scpost)
N0030 (Date: 13/08/2020)
N0040 G20 (Units: Inches)
N0050 G17 G40 G49 G50 G64 G69
N0060 G80 G90 G94
N0070 M205 (THCON)
N0080 F1
N0090 S1
N0100 (Part: stepper mount beefy v5)
N0110 M06 T103  (finecut 16g steel)
N0120 G64 Q0.023
N0130 (Operation: Drill, DRILL, T103: finecut 16g steel, 0 in Deep)
N0140 G00 X1.1675 Y1.4567 Z1.5000
N0150 M1031 (TouchOff)
N0160 G00 Z0.1500
N0170 M03 (Torch Fire)
N0180 G04 P0.400
N0190 G01 X1.1675 Y1.4567 Z0.0600 F150.0
N0200 M05 (Torch Off)
N0210 G04 P0.200
N0220 G00 Z1.5000
N0230 X2.3880
N0240 M1031 (TouchOff)
N0250 G00 Z0.1500
N0260 M03 (Torch Fire)
N0270 G04 P0.400
N0280 G01 X2.3880 Y1.4567 Z0.0600 F150.0
N0290 M05 (Torch Off)
N0300 G04 P0.200
N0310 G00 Z1.5000
N0320 X1.1675 Y0.2362
N0330 M1031 (TouchOff)
N0340 G00 Z0.1500
N0350 M03 (Torch Fire)
N0360 G04 P0.400
N0370 G01 X1.1675 Y0.2362 Z0.0600 F150.0
N0380 M05 (Torch Off)
N0390 G04 P0.200
N0400 G00 Z1.5000
N0410 X2.3880
N0420 M1031 (TouchOff)
N0430 G00 Z0.1500
N0440 M03 (Torch Fire)
N0450 G04 P0.400
N0460 G01 X2.3880 Y0.2362 Z0.0600 F150.0
N0470 M05 (Torch Off)
N0480 G04 P0.200
N0490 G00 Z1.5000
N0500 (Operation: Inside Offset, INTERIOR_PROFILES, T103: finecut 16g steel)
N0510 X1.4440 Y0.9425
N0520 M1031 (TouchOff)
N0530 G00 Z0.1500
N0540 M03 (Torch Fire)
N0550 G04 P0.400
N0560 G01 X1.4440 Y0.9425 Z0.0600 F150.0
N0570 M211 (On arcs)
N0580 G03 X1.3480 Y0.8465 I0.0000 J-0.0960 F187.5
N0590 X1.4739 Y0.5426 I0.4298 J-0.0000
N0600 X1.7778 Y0.4167 I0.3039 J0.3039
N0610 X2.0816 Y0.5426 I0.0000 J0.4298
N0620 X2.2075 Y0.8465 I-0.3039 J0.3039
N0630 X2.0816 Y1.1503 I-0.4298 J-0.0000
N0640 X1.7778 Y1.2762 I-0.3039 J-0.3039
N0650 X1.4739 Y1.1503 I0.0000 J-0.4298
N0660 X1.3480 Y0.8465 I0.3039 J-0.3039
N0670 X1.4440 Y0.7505 I0.0960 J0.0000
N0680 M212 (On arcs)
N0690 M05 (Torch Off)
N0700 G04 P0.200
N0710 G00 Z1.5000
N0720 X1.5810 Y2.1282
N0730 M1031 (TouchOff)
N0740 G00 Z0.1500
N0750 M03 (Torch Fire)
N0760 G04 P0.400
N0770 G01 X1.5810 Y2.1282 Z0.0600 F150.0
N0780 M211 (On arcs)
N0790 G03 X1.4807 Y2.0866 I-0.0294 J-0.0710 F187.5
N0800 G01
N0810 G03 X1.5045 Y2.0291 I0.0813 J0.0000
N0820 X1.5620 Y2.0053 I0.0575 J0.0575
N0830 X1.6195 Y2.0291 I0.0000 J0.0813
N0840 X1.6433 Y2.0866 I-0.0575 J0.0575
N0850 X1.6195 Y2.1441 I-0.0813 J0.0000
N0860 X1.5620 Y2.1679 I-0.0575 J-0.0575
N0870 X1.5045 Y2.1441 I-0.0000 J-0.0813
N0880 X1.4807 Y2.0866 I0.0575 J-0.0575
N0890 X1.5810 Y2.0451 I0.0710 J0.0294
N0900 M212 (On arcs)
N0910 M05 (Torch Off)
N0920 G04 P0.200
N0930 G00 Z1.5000
N0940 X1.1207 Y2.1078
N0950 M1031 (TouchOff)
N0960 G00 Z0.1500
N0970 M03 (Torch Fire)
N0980 G04 P0.400
N0990 G01 X1.1207 Y2.1078 Z0.0600 F150.0
N1000 M211 (On arcs)
N1010 G03 X1.0141 Y2.0866 I-0.0427 J-0.0639 F187.5
N1020 G01
N1030 G03 X1.0362 Y2.0333 I0.0754 J0.0000
N1040 X1.0896 Y2.0112 I0.0533 J0.0533
N1050 X1.1429 Y2.0333 I0.0000 J0.0754
N1060 X1.1650 Y2.0866 I-0.0533 J0.0533
N1070 X1.1429 Y2.1399 I-0.0754 J0.0000
N1080 X1.0896 Y2.1620 I-0.0533 J-0.0533
N1090 X1.0362 Y2.1399 I0.0000 J-0.0754
N1100 X1.0141 Y2.0866 I0.0533 J-0.0533
N1110 X1.1207 Y2.0654 I0.0639 J0.0427
N1120 M212 (On arcs)
N1130 M05 (Torch Off)
N1140 G04 P0.200
N1150 G00 Z1.5000
N1160 X0.2870 Y1.9230
N1170 M1031 (TouchOff)
N1180 G00 Z0.1500
N1190 M03 (Torch Fire)
N1200 G04 P0.400
N1210 G01 X0.2870 Y1.9230 Z0.0600 F150.0
N1220 M211 (On arcs)
N1230 G03 X0.1805 Y1.9018 I-0.0427 J-0.0639 F187.5
N1240 G01
N1250 G03 X0.2026 Y1.8484 I0.0754 J0.0000
N1260 X0.2559 Y1.8263 I0.0533 J0.0533
N1270 X0.3092 Y1.8484 I0.0000 J0.0754
N1280 X0.3313 Y1.9018 I-0.0533 J0.0533
N1290 X0.3092 Y1.9551 I-0.0754 J0.0000
N1300 X0.2559 Y1.9772 I-0.0533 J-0.0533
N1310 X0.2026 Y1.9551 I0.0000 J-0.0754
N1320 X0.1805 Y1.9018 I0.0533 J-0.0533
N1330 X0.2870 Y1.8806 I0.0639 J0.0427
N1340 M212 (On arcs)
N1350 M05 (Torch Off)
N1360 G04 P0.200
N1370 G00 Z1.5000
N1380 X2.2549 Y2.1386
N1390 M1031 (TouchOff)
N1400 G00 Z0.1500
N1410 M03 (Torch Fire)
N1420 G04 P0.400
N1430 G01 X2.2549 Y2.1386 Z0.0600 F150.0
N1440 M211 (On arcs)
N1450 G03 X2.1295 Y2.0866 I-0.0367 J-0.0887 F187.5
N1460 X2.1591 Y2.0152 I0.1010 J0.0000
N1470 X2.2305 Y1.9856 I0.0714 J0.0714
N1480 X2.3019 Y2.0152 I0.0000 J0.1010
N1490 X2.3315 Y2.0866 I-0.0714 J0.0714
N1500 X2.3019 Y2.1580 I-0.1010 J0.0000
N1510 X2.2305 Y2.1876 I-0.0714 J-0.0714
N1520 X2.1591 Y2.1580 I0.0000 J-0.1010
N1530 X2.1295 Y2.0866 I0.0714 J-0.0714
N1540 X2.2549 Y2.0347 I0.0887 J0.0367
N1550 M212 (On arcs)
N1560 M05 (Torch Off)
N1570 G04 P0.200
N1580 G00 Z1.5000
N1590 X2.2495 Y2.7187
N1600 M1031 (TouchOff)
N1610 G00 Z0.1500
N1620 M03 (Torch Fire)
N1630 G04 P0.400
N1640 G01 X2.2495 Y2.7187 Z0.0600 F150.0
N1650 M211 (On arcs)
N1660 G03 X2.1491 Y2.6772 I-0.0294 J-0.0710 F187.5
N1670 G01
N1680 G03 X2.1729 Y2.6197 I0.0813 J0.0000
N1690 X2.2304 Y2.5958 I0.0575 J0.0575
N1700 X2.2880 Y2.6197 I0.0000 J0.0813
N1710 X2.3118 Y2.6772 I-0.0575 J0.0575
N1720 X2.2880 Y2.7347 I-0.0813 J-0.0000
N1730 X2.2304 Y2.7585 I-0.0575 J-0.0575
N1740 X2.1729 Y2.7347 I-0.0000 J-0.0813
N1750 X2.1491 Y2.6772 I0.0575 J-0.0575
N1760 X2.2495 Y2.6356 I0.0710 J0.0294
N1770 M212 (On arcs)
N1780 M05 (Torch Off)
N1790 G04 P0.200
N1800 G00 Z1.5000
N1810 Y3.1912
N1820 M1031 (TouchOff)
N1830 G00 Z0.1500
N1840 M03 (Torch Fire)
N1850 G04 P0.400
N1860 G01 X2.2495 Y3.1912 Z0.0600 F150.0
N1870 M211 (On arcs)
N1880 G03 X2.1491 Y3.1496 I-0.0294 J-0.0710 F187.5
N1890 G01
N1900 G03 X2.1729 Y3.0921 I0.0813 J0.0000
N1910 X2.2304 Y3.0683 I0.0575 J0.0575
N1920 X2.2880 Y3.0921 I0.0000 J0.0813
N1930 X2.3118 Y3.1496 I-0.0575 J0.0575
N1940 X2.2880 Y3.2071 I-0.0813 J-0.0000
N1950 X2.2304 Y3.2309 I-0.0575 J-0.0575
N1960 X2.1729 Y3.2071 I-0.0000 J-0.0813
N1970 X2.1491 Y3.1496 I0.0575 J-0.0575
N1980 X2.2495 Y3.1080 I0.0710 J0.0294
N1990 M212 (On arcs)
N2000 M05 (Torch Off)
N2010 G04 P0.200
N2020 G00 Z1.5000
N2030 X3.1617 Y2.1282
N2040 M1031 (TouchOff)
N2050 G00 Z0.1500
N2060 M03 (Torch Fire)
N2070 G04 P0.400
N2080 G01 X3.1617 Y2.1282 Z0.0600 F150.0
N2090 M211 (On arcs)
N2100 G03 X3.0614 Y2.0866 I-0.0294 J-0.0710 F187.5
N2110 G01
N2120 G03 X3.0852 Y2.0291 I0.0813 J-0.0000
N2130 X3.1427 Y2.0053 I0.0575 J0.0575
N2140 X3.2002 Y2.0291 I0.0000 J0.0813
N2150 X3.2240 Y2.0866 I-0.0575 J0.0575
N2160 X3.2002 Y2.1441 I-0.0813 J0.0000
N2170 X3.1427 Y2.1679 I-0.0575 J-0.0575
N2180 X3.0852 Y2.1441 I0.0000 J-0.0813
N2190 X3.0614 Y2.0866 I0.0575 J-0.0575
N2200 X3.1617 Y2.0451 I0.0710 J0.0294
N2210 M212 (On arcs)
N2220 M05 (Torch Off)
N2230 G04 P0.200
N2240 G00 Z1.5000
N2250 X3.6584 Y2.1282
N2260 M1031 (TouchOff)
N2270 G00 Z0.1500
N2280 M03 (Torch Fire)
N2290 G04 P0.400
N2300 G01 X3.6584 Y2.1282 Z0.0600 F150.0
N2310 M211 (On arcs)
N2320 G03 X3.5580 Y2.0866 I-0.0294 J-0.0710 F187.5
N2330 G01
N2340 G03 X3.5819 Y2.0291 I0.0813 J-0.0000
N2350 X3.6394 Y2.0053 I0.0575 J0.0575
N2360 X3.6969 Y2.0291 I0.0000 J0.0813
N2370 X3.7207 Y2.0866 I-0.0575 J0.0575
N2380 X3.6969 Y2.1441 I-0.0813 J0.0000
N2390 X3.6394 Y2.1679 I-0.0575 J-0.0575
N2400 X3.5819 Y2.1441 I0.0000 J-0.0813
N2410 X3.5580 Y2.0866 I0.0575 J-0.0575
N2420 X3.6584 Y2.0451 I0.0710 J0.0294
N2430 M212 (On arcs)
N2440 M05 (Torch Off)
N2450 G04 P0.200
N2460 (Operation: Outside Offset, OUTER_PROFILES, T103: finecut 16g steel)
N2470 G00 Z1.5000
N2480 X0.6308 Y2.1100
N2490 M1031 (TouchOff)
N2500 G00 Z0.1500
N2510 M03 (Torch Fire)
N2520 G04 P0.400
N2530 G01 X0.6308 Y2.1100 Z0.0600 F150.0
N2540 M211 (On arcs)
N2550 G03 X0.5348 Y2.0140 I0.0000 J-0.0960 F187.5
N2560 G01
N2570 Y1.9140
N2580 M212 (On arcs)
N2590 Y1.6994 F250.0
N2600 M211 (On all corners)
N2610 Y1.4994
N2620 X0.7114
N2630 Y1.5394
N2640 M212 (On all corners)
N2650 Y2.0835
N2660 M211 (On arcs)
N2670 Y2.2835
N2680 G02 X0.9313 Y2.5033 I0.2199 J0.0000 F187.5
N2690 G01 X1.0313 F250.0
N2700 M212 (On arcs)
N2710 X1.6137
N2720 M211 (On all corners)
N2730 X1.8137
N2740 Y2.5433
N2750 M212 (On all corners)
N2760 Y3.0677
N2770 M211 (On arcs)
N2780 Y3.2677
N2790 G02 X1.8551 Y3.3675 I0.1411 J0.0000 F187.5
N2800 X1.9549 Y3.4088 I0.0998 J-0.0998
N2810 G01 X2.0549 F250.0
N2820 M212 (On arcs)
N2830 X2.3061
N2840 M211 (On arcs)
N2850 X2.5061
N2860 G02 X2.5490 Y3.4022 I0.0000 J-0.1411 F187.5
N2870 X2.5652 Y3.4088 I0.0162 J-0.0163
N2880 G01 X2.7878 F250.0
N2890 G02 X2.8017 Y3.4041 I0.0000 J-0.0230 F187.5
N2900 G01 X2.8812 Y3.3434 F250.0
N2910 M212 (On arcs)
N2920 X3.8239 Y2.6240
N2930 M211 (On arcs)
N2940 X3.9828 Y2.5027
N2950 G02 X3.9919 Y2.4844 I-0.0140 J-0.0183 F187.5
N2960 G01 Y2.3844 F250.0
N2970 M212 (On arcs)
N2980 Y1.8785
N2990 M211 (On arcs)
N3000 Y1.6785
N3010 G02 X3.9881 Y1.6658 I-0.0230 J0.0000 F187.5
N3020 G01 X3.9330 Y1.5823 F250.0
N3030 M212 (On arcs)
N3040 X2.9916 Y0.1543
N3050 M211 (On arcs)
N3060 X2.8815 Y-0.0127
N3070 G02 X2.8623 Y-0.0230 I-0.0192 J0.0127 F187.5
N3080 G01 X2.7623 F250.0
N3090 M212 (On arcs)
N3100 X0.6373
N3110 M211 (On arcs)
N3120 X0.4373
N3130 G02 X0.4181 Y-0.0127 I0.0000 J0.0230 F187.5
N3140 G01 X0.3631 Y0.0708 F250.0
N3150 M212 (On arcs)
N3160 X0.0909 Y0.4837
N3170 M211 (On arcs)
N3180 X-0.0192 Y0.6507
N3190 G02 X-0.0230 Y0.6633 I0.0192 J0.0127 F187.5
N3200 G01 Y0.7633 F250.0
N3210 M212 (On arcs)
N3220 Y1.8140
N3230 M211 (On arcs)
N3240 Y2.0140
N3250 G02 X0.0183 Y2.1138 I0.1411 J-0.0000 F187.5
N3260 X0.1181 Y2.1551 I0.0998 J-0.0998
N3270 G01 X0.3937 F250.0
N3280 G02 X0.5348 Y2.0140 I0.0000 J-0.1411 F187.5
N3290 G03 X0.6308 Y1.9180 I0.0960 J0.0000
N3300 M212 (On arcs)
N3310 M05 (Torch Off)
N3320 G04 P0.200
N3330 G00 Z1.5000
N3340 G0 X0.0 Y0.0 
N3350 M05 M30

Annotation 2020-08-13 160617.png
Annotation 2020-08-13 160644.png
User avatar
djreiswig
4.5 Star Elite Contributing Member
4.5 Star Elite Contributing Member
Posts: 1937
Joined: Thu Nov 19, 2015 10:02 pm
Location: SE Nebraska

Re: DIY CNC Plasma Controller

Post by djreiswig »

Your post purge air might be affecting the timing. Pause it after the first pierce and restart it after the air stops.
You might have to dry fire the torch at the beginning to get the air started and then lengthen the pierce time.
2014 Bulltear (StarLab) 4x8
C&CNC EtherCut
Mach3, SheetCam, Draftsight
Hypertherm PM65
Oxy/Acetylene Flame Torch
Pneumatic Plate Marker, Ohmic, 10 inch Rotary Chuck (in progress)
xnaron
2.5 Star Member
2.5 Star Member
Posts: 195
Joined: Sun Jun 28, 2020 2:23 pm

Re: DIY CNC Plasma Controller

Post by xnaron »

I did a test run of the 4 holes with a pierce delay set to 600ms and all 4 worked. I then set it back to 400ms pierce delay and ran it again and got the 1 out of 4 result.

I thought the way it was supposed to work with THC and ARC OK is that M3 would fire the torch and wait for the ARC OK then the pierce delay timer would start. This would not seem to be the case though with the drill op. I have confirmed my ARC OK works in UCCNC, On a normal cut with THC ON if the torch does not fire UCCNC will stop the gcode waiting for ARC OK.

Here is the video with 600ms pierce delay and all 4 holes getting "drilled". If you looks at the UCCNC screen you can see the dwell time starts before the arc ok signal lights. See arrows
Annotation 2020-08-13 164312.png
Last edited by xnaron on Thu Aug 13, 2020 6:43 pm, edited 4 times in total.
xnaron
2.5 Star Member
2.5 Star Member
Posts: 195
Joined: Sun Jun 28, 2020 2:23 pm

Re: DIY CNC Plasma Controller

Post by xnaron »

djreiswig wrote: Thu Aug 13, 2020 6:09 pm Your post purge air might be affecting the timing. Pause it after the first pierce and restart it after the air stops.
You might have to dry fire the torch at the beginning to get the air started and then lengthen the pierce time.

Can you explain more about the post purge air and how it would affect the timing. Plasma cutting is new to me and I haven't read about this before. Is this something to do with the timing in the plasma cutter?
User avatar
djreiswig
4.5 Star Elite Contributing Member
4.5 Star Elite Contributing Member
Posts: 1937
Joined: Thu Nov 19, 2015 10:02 pm
Location: SE Nebraska

Re: DIY CNC Plasma Controller

Post by djreiswig »

I'm not sure if that is your problem, but I know the guys that use short torch bursts to center punch marks to drill holes run into problems with the timing between the first punch with no purge air and subsequent punches where the post flow air is running. If I remember correctly the first pierce with no air flowing lasts longer than those with the air flowing before the pierce.
I don't center punch so I have not run into this, but I know there are posts about it mentioning firing the torch above the material to get the air flowing before running the code.
2014 Bulltear (StarLab) 4x8
C&CNC EtherCut
Mach3, SheetCam, Draftsight
Hypertherm PM65
Oxy/Acetylene Flame Torch
Pneumatic Plate Marker, Ohmic, 10 inch Rotary Chuck (in progress)
User avatar
acourtjester
6 Star Elite Contributing Member
6 Star Elite Contributing Member
Posts: 7784
Joined: Sat Jun 02, 2012 6:04 pm
Location: Pensacola, Fla

Re: DIY CNC Plasma Controller

Post by acourtjester »

I use the center punch function for marking drill holes, the air flow problem djreiswig talks about is the first pierce is longer and the rest are shorter. The only problem that has created is the first center punch may goes completely through the metal. I use a test pierce outside of any parts as the first pierce. And if you listen to the air flow it turns off just as the torch starts to fire the next pierce. I think the torch trigger stops the air flow so the electrode can make contact with the nozzle to start the next firing of the torch, remember these are blow back starts, if air is flowing there cannot be a blow back. This may be out there but maybe you air solenoid is the problem.
DIY 4X4 Plasma/Router Table
Hypertherm PM65 Machine Torch
Drag Knife and Scribe
Miller Mig welder
13" metal lathe
Small Mill
Everlast PowerTig 255 EXT
User avatar
djreiswig
4.5 Star Elite Contributing Member
4.5 Star Elite Contributing Member
Posts: 1937
Joined: Thu Nov 19, 2015 10:02 pm
Location: SE Nebraska

Re: DIY CNC Plasma Controller

Post by djreiswig »

That's what I was thinking. If the timing is set for the first mark to work correctly, then marks with the post flow running might have too short of timing causing it to not fire.
2014 Bulltear (StarLab) 4x8
C&CNC EtherCut
Mach3, SheetCam, Draftsight
Hypertherm PM65
Oxy/Acetylene Flame Torch
Pneumatic Plate Marker, Ohmic, 10 inch Rotary Chuck (in progress)
xnaron
2.5 Star Member
2.5 Star Member
Posts: 195
Joined: Sun Jun 28, 2020 2:23 pm

Re: DIY CNC Plasma Controller

Post by xnaron »

Interesting. Here is a test I did with pierce delay set to 400ms the first one does work and the remaining 3 do not. You can hear the air shut off as soon as the torch is triggered by UCCNC (you can watch the torch on button in the video). Also the dwell time starts counting before the ARC OK signal is received. From what I have read it should not start counting until ARC OK. I posted this info to UCCNC support forum but have not received a response yet.

robertspark
4.5 Star Elite Contributing Member
4.5 Star Elite Contributing Member
Posts: 1815
Joined: Mon Jun 12, 2017 6:43 pm

Re: DIY CNC Plasma Controller

Post by robertspark »

simple test....

define another pin for arcok that does not have an input defined and arcok is not active on the diagnostics screen provided thc is on when M3 is called it should fire the torch and just wait.... the torch may (should) go out as it should transfer to cutting but not transfer back (unless the machine is set for expanded metal which will transfer back to blowback start)
xnaron
2.5 Star Member
2.5 Star Member
Posts: 195
Joined: Sun Jun 28, 2020 2:23 pm

Re: DIY CNC Plasma Controller

Post by xnaron »

@robertspark

I did 2 videos to test ARC OK functionality with the dimples and with a simple line. The long and short of it is that the 400ms pierce delay "drills" do not wait for ARC OK. The lines do. There must be some timing code in play here within UCCNC.

In this video I run the drill code above with the ARC OK set to pin to a non used pin. The drill ops do not pause to wait for the ARC OK that does not come.






In this second video I do a line test to show that with longer duration cuts the ARC OK functionality does work. I cut a line with ARC OK set to the right pin. With it set to the wrong pin the torch fires an waits over the hole for the ARC OK signal that does not arrive. I need to stop it manually with the estop switch.

Their seems to be an issue with really short operations where ARC OK is not honored. Maybe I have something configured wrong?


robertspark
4.5 Star Elite Contributing Member
4.5 Star Elite Contributing Member
Posts: 1815
Joined: Mon Jun 12, 2017 6:43 pm

Re: DIY CNC Plasma Controller

Post by robertspark »

any debounce set for inputs?
(gen settings tab I think)
xnaron
2.5 Star Member
2.5 Star Member
Posts: 195
Joined: Sun Jun 28, 2020 2:23 pm

Re: DIY CNC Plasma Controller

Post by xnaron »

I have 30ms set for inputs. Pics of the config screens below.
20200814_130101.jpg
20200814_130044.jpg
20200814_130039.jpg
xnaron
2.5 Star Member
2.5 Star Member
Posts: 195
Joined: Sun Jun 28, 2020 2:23 pm

Re: DIY CNC Plasma Controller

Post by xnaron »

@robertspark - actually your dimple test program is a perfect example of the issue. See in the video with THC on with the increasing pierce delay you can see that the dwell timer starts with ARC OK. The ARC OK never lights (the plasma cutter is off for this test).

The other issue with the program is that it doesn't call the M1031 macro. Edit: For some reason, see pic, it was processing the lines for THC ON and the touch macro as comments. I hard coded the touch macro to M1031 and it started probing. The picture shows after I added the M#6 back (did not add the comment after it)


20200814_135714.jpg

Code: Select all

(PIERCE / DIMPLE SETTING TEST)
(distances in mm as shown)
(time in mSec as shown)

#1 = 0.6 (x spacing between pierces mm)
#2 = 0 (y spacing between pierces mm)
#3 = 100 (pierce time increment mSec)
#4 = 0 (start pierce time delay mSec)
#5 = 1000 (end pierce time delay mSec)
#6 = 1031 (touchoff macro number)
#7 = 0.150 (pierce / dimple height mm)
#8 = 205 (THC ON macro number)



#10 = [#5 - #4]
#10 = [#10 / #3]
#10 = [#10 + 1]

#11 = #1
#12 = #2

G90 G64
G92 X0 Y0  (set temp offset X&Y)
M#8 (THC ON)

M98 P2000 L#10

G0 X0 Y0
G92.1

M30



O2000 (sub-program to repeat)
M#6 (touchoff)
G0 Z#7 (retract to pierce height)
M3 (fire torch)
G4 P#4
M5 (torch off)
G0 Z1 (Z safe retract)

#4 = [#4 + #3]

G0 X#11 Y#12 (move to next pierce point)
#11 = [#11 + #1]
#12 = [#12 + #2]
M99

xnaron
2.5 Star Member
2.5 Star Member
Posts: 195
Joined: Sun Jun 28, 2020 2:23 pm

Re: DIY CNC Plasma Controller

Post by xnaron »

@robertspark You probably saw the thread I started for this on cncdrive.com forums. Maybe there is something up with the axbb-e firmware that is causing this. Looking at my last post on their forum http://www.forum.cncdrive.com/viewtopic ... 124#p21124 I show I have very similar gcode with different behaviors. I'd be interested to know if the pierce/dimple settings test works for you. You would need to adjust back to metric for it.
Dfabltd
1 Star Member
1 Star Member
Posts: 14
Joined: Sun Oct 27, 2019 2:47 am

Re: DIY CNC Plasma Controller

Post by Dfabltd »

Hi xnaron
I am also having some trouble with uccnc, If i lose arc ok signal during cutting the motion continues until end of that op
I also had the spindle delays all set to 1000ms which masked the problem on piercing
I have thc on, m3, torch fires and the machine takes off cutting regardless of arc ok signal
really at a loss as to whats happening , just been reading your thread and will try some things you have done and report back tomorrow
Im wondering is it a problem with the axbb
xnaron
2.5 Star Member
2.5 Star Member
Posts: 195
Joined: Sun Jun 28, 2020 2:23 pm

Re: DIY CNC Plasma Controller

Post by xnaron »

Dfabltd wrote: Mon Aug 17, 2020 3:44 pm Hi xnaron
I am also having some trouble with uccnc, If i lose arc ok signal during cutting the motion continues until end of that op
I also had the spindle delays all set to 1000ms which masked the problem on piercing
I have thc on, m3, torch fires and the machine takes off cutting regardless of arc ok signal
really at a loss as to whats happening , just been reading your thread and will try some things you have done and report back tomorrow
Im wondering is it a problem with the axbb
Yes there is definitely an issue. I sent a PM to cncdrive asking them to look at my thread on their forum and perhaps it was an axbb issue as you also reported the issue. It might help if you post on my thread there http://www.forum.cncdrive.com/viewtopic.php?f=4&t=2717 saying you also have the issue with your axbb.
Post Reply

Return to “CNC Plasma Cutter Project Picture Gallery”