CNC plazma Microstep - retrofit

23 Mar 2018 12:03 #107751 by r4cv
Hi, I would like to share my problems and achievements with the conversion of my plasma.

with plasma cutting I have more than 20 years of experience, I know how it works.
only the iron remains from the original machine, the whole drive and the system will be new.

I have 3 axes with 4 motors. X1 X2 Y Z. I use AC servomotors with resolver, the servodriver emulates the encoder. I use speed control + -10V

the system is pidicnc + servocard + IO card.
The servo card has 4 analogue outputs, 4 encoder inputs and 1 AD converter. this all works well.
I use Gmoccapy1.5.5.4 as a GUI. the movement of the table is set and works well.

now I'm working on THC.
problem can be split up
-connecting the arc source (done)
-plate height measurement - probe (hardware is ready)
-checking the height of the burner during piercing and cutting: HW is ready, HAL file created

I have start with component offset. PID compare and arc.voltage (ADconvert input). PID output moves with Z motor as needed to have the arc of the required voltage. MUX2 is for switch from start height to cutting height.

after few problems:
I've added verification of setvolt and cutvolt signals (e.g. setvolt after start is 0)
I've added ON-OFF switch for THC and led (plasma.thc-led).
I've added led cnotrol of THC run correctly (THC is ON, setvolt and curvolt are OK)
If i switch THC OFF, heigh is not controlled by voltage, but after start drops down to the set height plasma.cut-gap.

with this HAL I have problem with SW limits. I dont now how I can set limits for LIMIT1.0
the real travel of Z-axis is min=-100, max=0
it is possible to make the limit AXIS_Z.MIN_limit + the home sw position?
If I start machine, the position of AXIS.Z.cmd=0. when is homed, AXIS.Z.cmd=e.g.40 (I started from a height of 40 under homeSW)
I need set min limit(-100+e.g.40) and max limit (0+e.g.40)

Please Log in or Create an account to join the conversation.

23 Mar 2018 13:27 #107753 by rodw
I might be wrong here but the way I think the Z axis setup works is that they are in absolute machine units and you use G92 to set the 0 height you want (eg 40mm above the lowest point). Thats working for me and it did my head in for a while too..

Please Log in or Create an account to join the conversation.

23 Mar 2018 16:52 #107758 by r4cv
In some cases, when cutting holes, the torch can watch the falling sheet.
Z travel si -100 to 0mm
thin sheet metal is in position -95mm
I cut the hole diam. 50mm and the rest falling down. arc burns, voltage increases, THC move down with torch.

I need stop this falling down in Z=-100. this -100 can be (Z G54 -95 +THC offset -5) but also (Z G54 -80 +THC offset -20)
it is possible to calculate this value for the limiter1?
Or I can make a limit switch in Z-100 position, but how works it?

Please Log in or Create an account to join the conversation.

23 Mar 2018 18:39 - 23 Mar 2018 18:40 #107763 by r4cv
Issue with limits solved:
pin axis.2.coarse-pos-cmd is positions in G54 when homed
pin axis.2.motor-pos-cmd is system variable count from start point

setp sum2.1.gain0 -1
setp sum2.1.gain1 1
net Z_pos_kor sum2.1.in0 axis.2.coarse-pos-cmd
net Zpos sum2.1.in1 axis.2.motor-pos-cmd
net Z_diff sum2.1.out sum2.2.in0 sum2.3.in0

setp sum2.2.gain0 1
setp sum2.2.gain1 1
setp sum2.2.in1 [AXIS_2]MIN_LIMIT
net min_kor sum2.2.out limit1.0.min

setp sum2.3.gain0 1
setp sum2.3.gain1 1
setp sum2.3.in1 [AXIS_2]MAX_LIMIT
net max_kor sum2.3.out limit1.0.max
Last edit: 23 Mar 2018 18:40 by r4cv.

Please Log in or Create an account to join the conversation.

23 Mar 2018 18:50 #107764 by islander261

It sounds like your THC is working exactly the way it is setup to run. Is this problem only with holes? There are several things you can do. The first is cut all holes with THC off, this usually done because of cutting holes at slower than normal torch speed. The second is to use a very short or no leadout, just a slight overburn. The third requires extra work, turn off the THC (height hold command like velocity anti dive or kerf crossing) )at the end of the cut before the leadout. With my old control system I used a combination of the first and second approaches and with my new LCNC system I use the third one. Personally I would not want to rely on dynamic soft limits to protect the torch. One thing I also did with my old system is to physically set the torch up so that the end of the shield was at the exact height of the slat tops with the Z axis at its lowest point this keeps the torch from being able to dive below the material being cut.

Just a side note here. My Z axis is configured like a milling machine. Machine Z zero is near the top of the Z travel (limit switch). When I probe the material surface I set the surface of the plate to work piece Z zero.


Please Log in or Create an account to join the conversation.

23 Mar 2018 18:59 #107765 by r4cv
I have no problem cutting holes.
this is just to explain the situation where THC can reach the limit.
but I've already solved the limits.

Please Log in or Create an account to join the conversation.

24 Mar 2018 20:38 #107783 by r4cv
next step today. plasma machine is (virtualy) coneted, work M3 to start and M5 to stop arc. I can start and stop plasma from gmoccapy too.

Probe input is set, and G38.2 work.
Now I need set procedure to find sheet metal and set right heigt of torch.

I need to turn ON probe - set one of the digi outputs =1.
check if it is turned on - check on of digi inputs
find sheet metal (G38.2 Z-100 F300)
reset the height G92 Z40 (different height of torch and probe)
turn off the probe - set digi output =0
check if it is off - check digi input
move the torch to the height set in gmoccapy (cutting_height)

how to do it? can anyone please help me?

Please Log in or Create an account to join the conversation.

24 Mar 2018 21:58 - 24 Mar 2018 22:08 #107784 by islander261

I use Gcode subroutines to probe and start cutting. Please find attached.


I can upload archive of all Glade, python and HAL files if you like, they are all works in progress and messy. I set all operational parameters from .ini or the GUI (Gmoccapy). Look for RodW's posts, his code is much cleaner than mine. Still 7i76e based.
Last edit: 24 Mar 2018 22:08 by islander261.

Please Log in or Create an account to join the conversation.

24 Mar 2018 22:31 #107786 by islander261

Please find attached a screen shot of my main GUI screen.


Please Log in or Create an account to join the conversation.

25 Mar 2018 00:01 - 25 Mar 2018 00:03 #107794 by rodw
The standard touchoff routine most people use is based on one done by BigJohnT (Imperial units)
o<touchoff> sub
(#1 pierce height, #2 pierce delay, #3 cut height)
G38.2 Z-1.75 (Probe to find the surface)
G0 Z[#5063 + 0.07] (Move to Probe Trip point + switch hysteresis)
G92 Z0 (Set Z zero)
G1 Z#1
M3 S1
M66 P0 L1 Q5 (Wait for Arc OK from Torch)
G4 P#2 (Pause for pierce delay)
Z#3 (goto cut height)
o<touchoff> endsub

You can extend this by probing away using G38.5 after G38.2 to take up switch hysteresis.If this subroutine fails, this will time out and the cut will proceed.

There was another one that was published on the forum that is a bit more sophisticated that retrys a few times and lifts the torch to change consumables if it fails which I've attached.

It took quite a while to understand what you are doing and it is very clever.You might wish to include my cornerlock component which is designed for the Gmocappy plasma screen.You will find it in this section.
I think you could add this by placing a MUX2 after the MUX4 output which selects your offset or 0 by the cornerlock output.

Also you may be interested in my torch sampling component that samples arc volts and sets target-volts to this as you enable THC.
You can enable this component from the plasma GUI autostart checkbox..

File Attachment:

File Name: touchoffretry.ngc
File Size:1 KB
Last edit: 25 Mar 2018 00:03 by rodw.

Please Log in or Create an account to join the conversation.

Moderators: snowgoer540
Time to create page: 0.172 seconds
Powered by Kunena Forum