Hello Guest it is March 02, 2021, 06:57:11 PM

Author Topic: Mach3 and latest ESS Driver - threading now works!  (Read 3231 times)

0 Members and 1 Guest are viewing this topic.

Offline RICH

*
  • *
  •  7,419 7,419
    • View Profile
Re: Mach3 and latest ESS Driver - threading now works!
« Reply #10 on: August 09, 2019, 03:01:51 PM »
Roger,
Glad after 10 years that Andy was able to provide a type of electronic gearing.
No longer follow what's going on with Warp9 so my feed rate comment will not exactly apply to the ESS.

Would be curious as to what development procedure was used.

RICH

Offline rcaffin

*
  •  1,035 1,035
    • View Profile
Re: Mach3 and latest ESS Driver - threading now works!
« Reply #11 on: August 09, 2019, 05:35:26 PM »
Hi Rich

Oh, indeed: the electronic gearing provided with a hi-res encoder and the latest ESS driver make a world of difference. They change the whole ball game. My understanding is that this feature is available for both Mach3 and Mach4 now. However, for me it removes most any reasons for switching from Mach3 to Mach4, as Mach3 now does everything I want.

As for the development procedure - dunno. If you mean software development, you would have to ask Andy about that. My understanding is that you actually write the 'code' for the FPGA operations in a suitable language and then feed it through an FPGA compiler. The code won't look like a conventional program as the FPGA runs many things in parallel. Quite different from a von Neuman processor.

Cheers
Roger
Re: Mach3 and latest ESS Driver - threading now works!
« Reply #12 on: August 09, 2019, 06:04:47 PM »
Hi Roger,

Quote
My understanding is that this feature is available for both Mach3 and Mach4 now. However, for me it removes most any reasons for switching from Mach3 to Mach4, as Mach3 now does everything I want.

Mach3 enacts proportional only feedback whereas Mach4 offers genuine PID.

While PID control sounds good, and it is a marked improvement over what was, it is still a long way short of servo control.

Firstly there is the means that the ESS derives its speed updates...by timing between pulses. Thus you have a resolution/
refresh rate compromise to make. A regular servo gets its speed information not differentiating its input pulse stream,
aka timing between pulses, but by monitoring the feedback term of a high gain integrator loop. This achieves the same
result, namely providing an estimate of the differentiated input stream but with an order of magnitude better noise
performance, especially at low speeds.

Secondly because Mach uses only one channel of the encoder it has no sense of direction. The PID feedback loop controls
velocity only and has to wait for a speed update for the duration of the interval between pulses associated with the speed
measuring procedure. Therefore the resolution/refresh rate compromise is doubly fraught because is the same compromise
that determines the delay between a speed change and the estimate of that speed change being available to the feedback
controller.

Any delay between physical event and an estimate of that event to a control system counts VERY heavily against
its stability and bandwidth.

For this reason the spindle PID offered by the ESS is good, certainly much better than we've ever had before it still
pales into insignificance to the bandwidth and accuracy of a servo loop....and before you say but this is a spindle.....
remember Mach4 has out-of-band axes that can be driven independently of the coordinated axes but with exactly the
same tight control of a coordinated axis.

Craig
My wife left with my best friend...
     and I miss him!

Offline BR549

*
  •  6,944 6,944
    • View Profile
Re: Mach3 and latest ESS Driver - threading now works!
« Reply #13 on: August 09, 2019, 07:38:00 PM »
It would have been nice to have included both A&B channels of the encoder then it could do rigid tapping as well.

(;-) TP
Re: Mach3 and latest ESS Driver - threading now works!
« Reply #14 on: August 09, 2019, 08:30:53 PM »
Hi TP,
I think having both A,B and index channels for rigid tapping is effectively requiring the ESS to be a position mode
feedback controller.

Warp9 have steadfastly refused to dip their toes into that market.......just the support required alone would be a nightmare.

This solution offers a reasonably tight (approx. 50Hz bandwidth with Mach4 and probably 10-15Hz with Mach3) velocity mode
feedback control. This is without having to offer genuine servo type performance, ie bandwidths of hundreds of Hz.

With the superb and increasingly cheap AC servos on the market and Mach4 being able to run out-of-band axes and/or a
coordinated C axis, and able to swap to either mode under program control, what would be the advantage to Warp9 to
compete against that sort thing?

My understanding is that both the Hicon and the CSMIO/A both have the feedback control to enact servo type performance,
but even the cheapest is four-five times the price of an ESS. Of course Galill is the undisputed master of this sort of motion
control but at eye-watering prices.

My contention is that Warp9 have avoided the trap of offering such advanced features that would see the price inflate out of
the hobbyist market....particularly in view of the trend for AC servos and drives to become ever smarter and do all the required
extra 'fruity bits' without the ESS having to raise a sweat.

Craig
My wife left with my best friend...
     and I miss him!

Offline rcaffin

*
  •  1,035 1,035
    • View Profile
Re: Mach3 and latest ESS Driver - threading now works!
« Reply #15 on: August 09, 2019, 11:19:54 PM »
While PID control sounds good, and it is a marked improvement over what was, it is still a long way short of servo control.
It may be 'short' of full servo control, but with a 512 line encoder it is not very far from it, imho and from my observations so far.

Thus you have a resolution/refresh rate compromise to make.
True. Warp9 does try to suggest that the new driver gives you 'servo' control of the spindle: that would require Step/Dir signals rather than PWM. Buthaving done threading on hard steel with this new driver, and seen how good the thread is, I am not fussed.
Now, if you want rigid tapping with the mill spindle - that is a different matter. Me, I use a single-turn thread mill for this, and so far have gone up to M24x1.5 threads.

because Mach uses only one channel of the encoder it has no sense of direction.
But the ESS does know what direction it is spinning - from the M3 and M4 commands. I do not see this as being a problem of any sort.

Any delay between physical event and an estimate of that event to a control system counts VERY heavily against its stability and bandwidth.
Yup, true. I believe the FPGA in the ESS can handle pulse frequencies to over 100 kHz, and possible much higher. I think this is fast enough for a spindle.

We need to separate the control of the spindle RPM from the implementation of threading on the spindle. As I have pointed out in a previouys posting here, you do NOT need precise control of the spindle RPM to cut high-quality threads. The two things are very different, despite some apparent confusion from a previous era. The new driver is effectively a mechanic gearbox between the spindle and the Z axis, able to handle huge speed variations while cutting a lovely thread.

Actual RPM bandwidth on mach3 is not wonderful: the update rate in the software device driver inside the PC is only 10 Hz. But who cares if it can cut good threads?

Cost: ah yes. The new driver for the ESS is provided FREE to owners of the ESS. You cannot get much better than that!

Now, if we could get Artsoft and Warp9 to work together to produce Mach5 with an ESS*, with very different communication protocols between the two and leaving the old LPT port concept way behind, then you could have rigid tapping to the wazoo. I suspect Artsoft have some cost recovery to do with Mach4 first. Dunno what the cost would be though...

Cheers
Roger
Re: Mach3 and latest ESS Driver - threading now works!
« Reply #16 on: August 09, 2019, 11:56:56 PM »
Hi Roger,

Quote
I believe the FPGA in the ESS can handle pulse frequencies to over 100 kHz, and possible much higher. I think this is fast enough for a spindle.

I suspect that the internal frequencies of the FPGA are very much faster than that. The limitation is the means of measuring speed,
the delay between the speed being established and the time that speed is reported to the ESS. I think the ESS solution
would be inadequate for a position mode servo of several hundred Hz bandwidth but does a fine job for a velocity mode
spindle.

I think this is the good news....the ESS now has the capability to make threading a doable proposition for machines
that don't have hugely overpowered spindles. Warp9 should be congratulated for their effort.

I am less certain that progressing the ESS to a high bandwidth position mode controller is either viable or desirable. The cost of
those controllers that are capable of that performance are beyond my budget and I would be lost if Warp9 persued that
avenue. Additionally the ever increasing capability of servo/drives render the need for  motion controllers to do such a thing
moot.

Craig
My wife left with my best friend...
     and I miss him!

Offline rcaffin

*
  •  1,035 1,035
    • View Profile
Re: Mach3 and latest ESS Driver - threading now works!
« Reply #17 on: August 10, 2019, 12:24:36 AM »
Hi Craig

I am less certain that progressing the ESS to a high bandwidth position mode controller is either viable or desirable.
No argument from me: I agree completely.

I also agree that the FPGA in the ESS can probably get much better than 100 kHz, but I don't have any measured performance to quote. Iirc, it can handle Index pulses of 0.1 uS.

Cheers
Roger

Offline BR549

*
  •  6,944 6,944
    • View Profile
Re: Mach3 and latest ESS Driver - threading now works!
« Reply #18 on: August 10, 2019, 07:13:06 AM »
Hi Craig, WHY would they want to play in that market ?? Simple because other modern DIY controllers CAN do rigid tapping. It is simply axis following but you do need the 2nd channel of teh encoder to see WHEN teh spindle reverses.
Heck even teh old DOS based controllers were capable of doing it.

(;-) TP
Re: Mach3 and latest ESS Driver - threading now works!
« Reply #19 on: August 10, 2019, 10:25:35 AM »
Hi TP,

Quote
Simple because other modern DIY controllers CAN do rigid tapping

Name them and then price them.

Craig
My wife left with my best friend...
     and I miss him!