Hello Guest it is July 17, 2019, 09:34:23 AM

Author Topic: Adding DRO to MachTurn  (Read 12065 times)

0 Members and 1 Guest are viewing this topic.

Offline RICH

  • *
  •  7,341 7,341
    • View Profile
Re: Adding DRO to MachTurn
« Reply #30 on: May 08, 2010, 05:43:34 PM »
I am just curious

Timing was in a sense a way of trying to mimich an encoder and was limited depending on the number of slots and spindle rpm. Additionaly the info recieved was manipulated for the DRO display and was influenced by the particular pc being used. I would need to look through all my testing notes to
give you more specifics. ( frankly i would rather just forget the issues  ;D)

The single index was proven to be very accurate.
But....if you want electronic gearing then more resolution  / an encoder will need to be used, but before that could happen there are program changes and testing required, and that may come about in the future ;).... future defined as whenever :D......


Offline Hood

  •  25,849 25,849
  • Carnoustie, Scotland
    • View Profile
Re: Adding DRO to MachTurn
« Reply #31 on: May 08, 2010, 06:10:28 PM »
Here is what Art had to say on the subject a few years back.

Hi Guys:

Just to help clear confusion..

The INDEX input takes a one per revolution pulse. IT then calculates the speed
of the spindle from that timing,
and during a thread, calcuates if the timing from rotation to rotation slows. If
for example, the average rotation is 350us
prior to the actual motion of the thread.. ( Average time per rotation is
calculated when the spindle is on and no motion
is in effect ), and during a thread the time of one rotation is found to be
400us, this means that the last rotation took 50us
longer than the standing average ( a 14.28% slowdown) , then the axis motion is
slowed by 14.28% during the next rotation,
this repeats from rotation to rotation to end up with as near a perfect average
time of axis vs spindle rotation speed.

When using the TIMING input instead of the INDEX input, the system looks for
multiple pulses, but in particular looks
for a pulse 50% wider than the others. This 50% wider pulse is then considered
the INDEX, and the system does the
rotation speed calculation only from that pulse for the spiindle speed display.
However, the other pulses are counted, and
the total rotation time is divided by the number of pulses. SO lets say you have
4 pulses, one of which is 50% wider than the
rest. Any threading will begin on the widest pulse as the trigger, but the time
from pulse to pulse will be calculated and
compared to the total average time of rotation divided by the number of pulses.
The system will slow down axis motion to
correct for deviations between the pulses.

So more pulses will not give you a faster DRO update of rotation speed, but in
theory will correct more often for slowed
down rotations. Its been proven however, to have no advantage in the thread.
While a mathmatically theoretical advantage
exists in the multiple slot theory, any advantage gained seems to be lost in the
disadvantage of additional complexity of the
correction. There are several reasons for this internally and in the required
timing and math. My suggestion is to use  INDEX
and not  TIMING as a result. KISS is an important principle here IMO.

The SS is being written to use the INDEX method of timing sync at first, it
will then branch to encoder sync which is much
more exact and allows for things such as stopping a spindle and having a thread
stop and continue when the spindle is restarted.
This really required only a much higher granularity of timing than the PP
driver. TO sync to a encoder in the PP woudl require
the ability to vary the interrupt timer on granularities smaller than the
available 40us ones ( in 25Khz mode). Since the SS has
a 4MHZ maximum granularity, its much more possible to vary timing in smaller
increments thus matching exactly ( pretty much) with the varying encoder count
to count time. It is this granularity issue that guides the threading design in
current Mach3, and forces the consideration as above. By all that I mean if the
system determines a motion must slow to match a spindle, the PP driver has only
the power to create a bresenhamed output timing based on 40us granularity, the
SS could use a sub microsecond timing variation which would be invisable to the
end drivers. Any such correction can be thought of as purposely added jitter to
the output stream, Jitter slows the output stream by the required percentage but
causes a phase shift on the drivers output, so it must be kept low and the PP
driver is limited to 40us pulse to pulse variablity, usually thats much lower
than a driver can effectively see in its resultant phase shift, but in the SS
the timing jitter should be able to be much much smaller and totally invisable
to the driver which is the sought after end effect for a perfect threading sync.
Jitter, often thought to be a problem in pulsing output, is actually used as a
benificial effect in Mach3, and the amount of jitter is tightly controlled to
take advantage of its good effects, and keep it low enough to minimise its
negative effects on the drivers phase timing stability. All digital based output
timing has jitter, its a matter of understanding it and using it effectively. In
threading , Mach3 uses a system of control very similar to Mariss's look forward
trajectory smoothing technique, but it was developed long before that.

End analysis: stay with INDEX when using a PP unless you have some inherent
reason for trying the TIMING input. The theoretical advantages dont outweigh the
mathmatical disadvantages.

Art ( just a user who knows a little bit about timing. :-) )
Re: Adding DRO to MachTurn
« Reply #32 on: May 09, 2010, 04:26:57 AM »
Clear as mud , but I did ask I suppose . I think I will definitely just stick to the index I think . I just love the way the software is trying to push it's boundaries and act like a "real" commercial controller . Its good stuff . I wonder if he will ever get around to using the Mac platform as well or if he'll just stick to pc's ?

Anyway thanks for the most comprehensive answers .
Re: Adding DRO to MachTurn
« Reply #33 on: February 20, 2017, 05:19:54 PM »
You can use one of the screen designers to add DROs, buttons etc to a screenset, I like Screen4 but others prefer Machscreen.

How does your turret actually work as you should be able to configure Mach to change the tools automatically instead of having to press a button.

Hi Hood, I have just restarted the conversion of my TCL160. I have read the post re the tool changer.
What is the latest macro for it's operation.
I'm using the standard Mach turn screen set.
Many thanks