# Kerf Crossing / Anti Dive

12 May 2019 07:21 - 12 May 2019 07:23 #133515 by phillc54
I have been giving a bit of thought to kerf crossing or anti dive or whatever else it is called and I am thinking that is should be related to cut velocity and also the maximum velocity that the Z axis is capable of so here is what I have been toying with.

These are just simplistic calculations to try explain my thoughts.

We know the length of each period in seconds:
`period = 0.001`

We select a value for the maximum angle we expect to encounter, say 45 degrees.
This should be the greater of 1 or [AXIS_Z]MAX_VELOCITY * [AXIS_Z]OFFSET_AV_RATIO / [TRAJ]MAX_LINEAR_VELOCITY
`ratio = 1`

We know the voltage change vs torch height. Rule of thumb here but this could be an entry for more exact calculation for those who have plotted their torch-height/voltage-change.
This would be in machine units:
```units-per-volt = 0.1 (metric)
units-per-volt = 0.004 (the other one)```

We check if the ratio is valid for the current velocity, if not then reduce it to suit:
```if axis-maximum-velocity < current-velocity
ratio = axis-maximum-velocity / current-velocity```

We can calculate the distance travelled for the period:
`distance-per-period = current-velocity * period`

We can then calculate what the maximum height change is that we could achieve for the period:
`maximum-error-height = distance-per-period * ratio`

Finally we can calculate what the maximum voltage change could be for the period:
`maximum-error-volts = distance-per-period * units-per-volt`

So any voltage change above this for a period should lock THC.

Does this seem reasonable or am I on the wrong track?

Cheers, Phill.
Last edit: 12 May 2019 07:23 by phillc54.

12 May 2019 07:45 #133525 by pl7i92
Replied by pl7i92 on topic Kerf Crossing / Anti Dive
interesting point
i will gove this a check as next week

but also on a G64 P0.3 it seams that the flow is quite good and the kerf is stable on edges

S-cutter Proma Thc

12 May 2019 11:07 #133547 by rodw
Replied by rodw on topic Kerf Crossing / Anti Dive
Phill, be careful with the period variable as it might be a system one in nanoseconds. The correct variable to use is fperiod which is calculated each servo cycle and is in seconds. Just check the halcompile docs.

Its my understanding that most THC's monitor the change in voltage over time. This results in big numbers (as volts per second) eg:
`(this_volts - last_volts)/ fperiod`

But this value is several orders of magnitude higher when crossing a void than when normal servoing for torch height control. So if you calculate a dV/dT moving average of the last n readings (n might be 10, 100 or 1000 - to be determined), you have a slowly fluctuating smoothed benchmark to compare the current dV/dT for this servo period. I have not done enough samples to detemine a suitable threshold. A 1 volt change in a servo period results in a dV/DT of 1000 volts per second.

This plot I did shows clearly what happens when the data is reviewed in this manner and you can see how clearly the kerf cross is delineated.

Note that this data is not in real time. I think there are 20 servo periods per tick on the horizontal axis. I really think this experiment needs to be repeated using halsampler and I think one cut will tell it all
##### Attachments:

12 May 2019 11:21 #133548 by phillc54
Replied by phillc54 on topic Kerf Crossing / Anti Dive

rodw wrote:
The correct variable to use is fperiod which is calculated each servo cycle and is in seconds

Rod,
Yes, I am aware of that, I use fperiod in the plasmac component. They are just simplistic calculations to explain my reasoning.

Cheers, Phill.

15 May 2019 08:25 #133824 by rodw
Replied by rodw on topic Kerf Crossing / Anti Dive
Phil, I really think your algorithim is a bit off the mark. Have you seen this patent?
Review FIG. 3 carefully and you'll see similarities to what I observed leading up to my dV/dT approach.

If you wanted to explore a velocity based approach, I think you need to come up with an angle of the material at maximum warpage (2-3 degrees but I have no idea) and then calculate the change in voltage that could occur at the cut speed if the material was on that slope at the generally accepted 10 volts per mm, the inverse of 0.1 mm/volt. But then you need to allow for natural voltage fluctuations as the anode spot moves from the top surface (shortest distance, lowest voltage) to the bottom of the material.

So you'd come up with a formula something like

height_change = sine(theta) * (distance travelled per fperiod)
volts_change_threshold = cut_volts + height_change * change in volts per mm + anode_spot_voltage_variance + safe_margin

Where:
theta = maximum angle from warpage
Change in volts/mm = 10 (7.53v is what I measured)
anode spot voltage variance might be = say 1.2 volts (or your guess of what the normal voltage variance per period is.)

16 May 2019 03:36 #133942
Wow Guys

You are months ahead of what I will be able to test shortly! I will need a new tut just to get it installed and configured let alone a new PP done.

Just a thought about the kerf crossing issue. I am not familiar with too many instances that one really wants to do chain cutting, maybe when cutting material that is over the pierce capability for your power supply which usually isn't common. The other thing I will point out is that when looping corners when cutting engineering work or leaving a cut with the correct length leadout you already are in a corner lock condition (usually) because the torch motion has slowed. I am finding with the Plasmac branch the default 90% of speed for the corner lock works fine. Just trying to save you all effort on corner conditions.

I believe that Rod's points are correct on the kerf crossing I tried to implement on my system. The voltage dV/dT is the start of the kerf crossing and is pretty good at detecting it. I did a hold time based on the velocity and kerf width from the cut parameters. Worked ok but I have really never needed it, the corner hold seems to catch all the times I would need a kerf crossing hold for now.

I am concerned about relying on the F[value from hal] (not the real code) to set the feed rate. As I recall this is only read at the start of the file before any motion. What if I change feed rates between cuts? Will this update correctly? Sorry I just don't know but do need to change feed rates between cuts on a work piece quite frequently.

John

16 May 2019 04:03 #133943 by phillc54
Replied by phillc54 on topic Kerf Crossing / Anti Dive
I think kerf crossing is going to be difficult for me to do until I get my machine working...
I shall keep persisting while I am receiving feedback.

John,
As long as you do the material change followed by the M66 P3 L3 Q1 then followed by the F word it will work correctly.
The M66 line ensures that the GUI has loaded the new material.
```M190 P1
M66 P3 L3 Q1
F#<_hal[plasmac.cut-feed-rate]>```
A couple of side effects are:
1: the Fword display in Gmoccapy works correctly.
2: if you have a tool loaded then issue a Fnnn that is less than 99.9% of the cut-feed-rate of the loaded material then THC will be locked out.

Number 2 happens because plasmac uses the value of cut-feed-rate rather than motion.requested-velocity, so it uses this value for the complete cut.

I am very wary of remapping existing codes after seeing some of the side effects.

Cheers, Phill
The following user(s) said Thank You: tommylight

16 May 2019 04:18 #133944 by rodw
Replied by rodw on topic Kerf Crossing / Anti Dive
Phil, I know how you feel. I have left kerf crossing alone for exactly the same reason. My intent was to use halscope to observe behavior for a while before settling on a technique.

What if I change feed rates between cuts? Will this update correctly?

John, in a sheetcam environment I'm guessing you might add some cutting rules on holes or arcs or the like. Could you use a feed override to slow the machine down instead of the F rate?

Really to change cutting speeds, you need to use another plasmac material. One thing that was cool to watch was the plasmac GUI being updated from my centre punch tool on a holes layer to the profile cutting tool on the M190.

I posted this on the plasmac thread, but I guess it really belongs here dv/dt and torch voltage during a kerf cross
##### Attachments:

16 May 2019 04:52 - 16 May 2019 04:55 #133945 by rodw
Replied by rodw on topic Kerf Crossing / Anti Dive
Actually drilled down into this again at a much higher resolution (same plot), 10 ms/per vertical division, 1 ms per white dot between them

The normal cut was around 3300 up to 4000 very occasionally. So setting a dV/dT threshold of 5000 would catch a kerf crossing in 2 milliseconds. It would be hard to get better than that. White line is roughly at that 5000 threshold

I'm not sure that the torch voltage approach would be any quicker and on the face of it, the 1 volt change required would be within normal expectations of a 1-2 volt cutting range.
##### Attachments:
Last edit: 16 May 2019 04:55 by rodw.
The following user(s) said Thank You: tommylight