UCCNC Probing

Post anything you want to discuss with others about the software.

Re: UCCNC Probing

Postby ger21 » Tue Dec 13, 2016 1:01 am

It shouldn't, but it might? :lol:
Gerry
UCCNC 2022 Screenset - http://www.thecncwoodworker.com/2022.html
ger21
 
Posts: 2675
Joined: Sat Sep 03, 2016 2:17 am

Re: UCCNC Probing

Postby CT63 » Tue Dec 13, 2016 1:18 am

I found using Mach 3 (v0.062) that sometimes after the second slow speed tap Mach 3 would try to drive the tool bit into the work for no reason. I traced the problem to the line of code in the probing macros that retracts the tool to point of contact "in case of overshoot". I disabled this line of code in the macro and disabled the second (slow) tap line of code and lowered the initial probe rate to 5 ipm. Never happened again and never noticed a difference with cutting accuracy. In UCCNC I only use one probe tap. I'm cutting wood so being off a couple of thousands isn't a problem.
CT63
 
Posts: 120
Joined: Sat Sep 03, 2016 11:19 pm
Location: Connecticut, USA

Re: UCCNC Probing

Postby cncdrive » Tue Dec 13, 2016 10:16 am

Programmatically it does not matter, the probing generates an interrupt in the microcontroller and the probed coordinates are then saved in realtime (happens in less than 50 nanoseconds which is 0.00000005 seconds) and then the axis stops and the coordinates sent to the PC, so the user can read them out.

So, if you probe e.g. with 20000mm/min (not likely anone would probe that fast.) then still the travel on the worst case about 50nsec is 0.0000166666 millimeters which is 0.000000656 inches only. :)
cncdrive
Site Admin
 
Posts: 4727
Joined: Tue Aug 12, 2014 11:17 pm

Re: UCCNC Probing

Postby A_Camera » Tue Dec 13, 2016 11:30 am

cncdrive wrote:Programmatically it does not matter, the probing generates an interrupt in the microcontroller and the probed coordinates are then saved in realtime (happens in less than 50 nanoseconds which is 0.00000005 seconds) and then the axis stops and the coordinates sent to the PC, so the user can read them out.

So, if you probe e.g. with 20000mm/min (not likely anone would probe that fast.) then still the travel on the worst case about 50nsec is 0.0000166666 millimeters which is 0.000000656 inches only. :)

Hi Balázs,
Have you measured this? I mean, yes in theory that is the case, but is this really the case in reality? Also, I think in another post you said that you sample the inputs five times even for probing, so if that is the case than the movement is a whole lot more, :P namely 0.000083333 mm.

On the other hand... when I probe using the jog probing feature then at 10% speed, which in my case is 1000mm/min, I can feel my touch plate moving before the movement stops. Are you saving the actual touch value when the plate is touched or when the movement is stopped? I am sure there is a measurable difference, and the movement is definitely more than 0.000083333 mm, though I have not measured it, just felt with my finger and see actually that the DRO shows zero only if I probe with a LOT slower speed. The way I do it is that I am probing at a fairly high speed :lol: (50mm/min) and then after the stop I back off 0.2 mm and run a new probing at 3mm/min. Are you sure that probing speed does not matter for UCCNC? It definitely matters in Mach3, I measured that when I wrote my macro for probing.
A_Camera
 
Posts: 638
Joined: Tue Sep 20, 2016 11:37 am

Re: UCCNC Probing

Postby cncdrive » Tue Dec 13, 2016 11:53 am

I can't say anything about if it matters in Mach3 or not, I did not use it for a too long time now and I can't remember how this is handled in Mach3.

In the UCCNC as I wrote the probing input is not polled, but a software interrupt is generated on the 2 probe pins on the edge which is set to the active one.
The sofware interrupt means that the code exacution inside the microcontroller jumps to the interrupt service routine as soon as the microcontroller detects the set edge on the probe pin.
This is a hardware microcontroller feature and happens immediately without any delays, the only delay, the max. 50nsec is because the return address to return back after the interrupt has to be saved to the stack prior to doing anything else and then the coordinates are read, these takes upto 50nanoseconds with the 200MHz CPU frequency microcontroller in the UC300ETH, because one micro CPU cycle is 5nanosec and it can take upto 10 CPU cycles to do the mentioned things.
After these are saved the saved coordinates are sent back to the computer via the ethernet, so the user can access them.

It is another thing when and how the probe stops, that can be a problem if the probing is too fast, it does not influance the programmatic measurement accuracy though,
however ofcourse too fast probing could cause the switch to jump/prell and could cause the machine to shake and also the axis stops a bit further since it has to stop,
but again the probe coordinates are already saved when the axis stops, so these things are no more UC300ETH, but machine and sensor dependents.
cncdrive
Site Admin
 
Posts: 4727
Joined: Tue Aug 12, 2014 11:17 pm

Re: UCCNC Probing

Postby A_Camera » Tue Dec 13, 2016 12:24 pm

cncdrive wrote:I can't say anything about if it matters in Mach3 or not, I did not use it for a too long time now and I can't remember how this is handled in Mach3.

In the UCCNC as I wrote the probing input is not polled, but a software interrupt is generated on the 2 probe pins on the edge which is set to the active one.
The sofware interrupt means that the code exacution inside the microcontroller jumps to the interrupt service routine as soon as the microcontroller detects the set edge on the probe pin.
This is a hardware microcontroller feature and happens immediately without any delays, the only delay, the max. 50nsec is because the return address to return back after the interrupt has to be saved to the stack prior to doing anything else and then the coordinates are read, these takes upto 50nanoseconds with the 200MHz CPU frequency microcontroller in the UC300ETH, because one micro CPU cycle is 5nanosec and it can take upto 10 CPU cycles to do the mentioned things.
After these are saved the saved coordinates are sent back to the computer via the ethernet, so the user can access them.

It is another thing when and how the probe stops, that can be a problem if the probing is too fast, it does not influance the programmatic measurement accuracy though,
however ofcourse too fast probing could cause the switch to jump/prell and could cause the machine to shake and also the axis stops a bit further since it has to stop,
but again the probe coordinates are already saved when the axis stops, so these things are no more UC300ETH, but machine and sensor dependents.

OK, thanks.

BTW, I know what interrupt is... :)

...built my own computer in 1980... firmware, OS and everything was my own design ;) based on Rockwell 6502, and many 8 and 16 bit CPU and micro controller based things after that. Today I only use Microchip PICs or different model, depending on the target.
A_Camera
 
Posts: 638
Joined: Tue Sep 20, 2016 11:37 am

Re: UCCNC Probing

Postby ger21 » Tue Dec 13, 2016 2:56 pm

You do have to make sure that you get the coordinates from the vars, and not from the DRO's.
Gerry
UCCNC 2022 Screenset - http://www.thecncwoodworker.com/2022.html
ger21
 
Posts: 2675
Joined: Sat Sep 03, 2016 2:17 am

Re: UCCNC Probing

Postby beefy » Wed Dec 14, 2016 12:06 am

I just looked at the manual and read the description for G31 move.

The thing I was interested in was exactly WHEN the co-ordinates are recorded.

If the probe trips the coordinates at the trigger point are written into the variables #5061 to # 5066 (axes coordinates X to C in order) and the axis stops with deceleration.


That seems to say that no matter what the probing feedrate, it should not make any (noticeable) difference because the co-ordinates are recorded at the moment the probe trips.

AFTER that the probe axis will slow down to a stop.

So if I did a probe move at 10,000 mm/min I'm pretty sure the STOP position would be somewhat past the probe trip point due to the deceleration/slowdown, but as for the worst theoretical error for the recorded probe trip point:

10,000 mm/min = 167 mm/sec

167mm x 0.00000005 (50ns) = 0.00000835mm or 8.35 millionths of a mm :shock:

I have overrun mechanisms on my plasma table home switches. This allows me to get maximum accuracy from the switches but any overrun causes by deceleration does not break the switches, the spring loaded plunge mechanism just pushes in.

Keith.
beefy
 
Posts: 449
Joined: Mon Sep 05, 2016 10:34 am

Re: UCCNC Probing

Postby CT63 » Wed Dec 14, 2016 1:52 am

A_Camera wrote:Are you sure that probing speed does not matter for UCCNC? It definitely matters in Mach3, I measured that when I wrote my macro for probing.


I'm not even sure it matters in Mach 3 or could be something in the version of Mach 3 you are using. Mach 3 (ArtSoft) is notoriously known for fixing one problem and creating 3 more in the process. I know running Mach 3 Ver 0.62 it didn't make a difference in probing accuracy when I stopped using the second tap. I know a second tap doesn't make any difference in probing accuracy from the first tap in UCCNC.
CT63
 
Posts: 120
Joined: Sat Sep 03, 2016 11:19 pm
Location: Connecticut, USA

Re: UCCNC Probing

Postby A_Camera » Wed Dec 14, 2016 8:07 am

beefy wrote:I just looked at the manual and read the description for G31 move.

The thing I was interested in was exactly WHEN the co-ordinates are recorded.

If the probe trips the coordinates at the trigger point are written into the variables #5061 to # 5066 (axes coordinates X to C in order) and the axis stops with deceleration.


That seems to say that no matter what the probing feedrate, it should not make any (noticeable) difference because the co-ordinates are recorded at the moment the probe trips.

AFTER that the probe axis will slow down to a stop.

So if I did a probe move at 10,000 mm/min I'm pretty sure the STOP position would be somewhat past the probe trip point due to the deceleration/slowdown, but as for the worst theoretical error for the recorded probe trip point:

10,000 mm/min = 167 mm/sec

167mm x 0.00000005 (50ns) = 0.00000835mm or 8.35 millionths of a mm :shock:

I have overrun mechanisms on my plasma table home switches. This allows me to get maximum accuracy from the switches but any overrun causes by deceleration does not break the switches, the spring loaded plunge mechanism just pushes in.

Keith.

Yes, that's the way it should work. I have not checked yet if this is really the case, just noticed that I can feel the extra movement. Of course it doesn't matter if the trip point is recorded, just back to the trip point, set it to zero and that's it.
A_Camera
 
Posts: 638
Joined: Tue Sep 20, 2016 11:37 am

Next

Return to General discussion about the UCCNC software

Who is online

Users browsing this forum: No registered users and 2 guests