Hello Guest it is December 06, 2019, 01:50:07 PM

Author Topic: Block Processing Speed for Mach3 with DSPMC  (Read 9952 times)

0 Members and 1 Guest are viewing this topic.

Offline piv

*
  •  91 91
    • View Profile
Re: Block Processing Speed for Mach3 with DSPMC
« Reply #10 on: January 16, 2010, 09:47:27 AM »
Thanks Mike,

Hopefully my DSPMC will be here in about a week.

Offline piv

*
  •  91 91
    • View Profile
Re: Block Processing Speed for Mach3 with DSPMC
« Reply #11 on: February 02, 2010, 04:48:48 AM »
Ive got my DSPMC hooked up to a linear motor and Mach3.  It all looks pretty good.  Ive run a few tests and it looks like Mach3 will process about 170 blocks per sec in CV mode with 50 to 200 lines of look ahead on my 3 year old single core 1.6GHz laptop. The good thing is it doesnt get "data starvation", it just slows the feedrate down so it feeds smoothly at whatever speed it can read the file at.  Some other controllers just feed fast and then come to a dead stop when they run out of data and then go jerky jerky as they then read the code one line at a time (even if it is at 250 or 1000 blocks per sec), until they get to a slow part of the program and the look ahead can catch up again.  So yes it is OK if the CAM output is good, but its not real good for working with bad CAM files at high speed.

Heres my 2c worth on how it might be made better for a servo system. Basically simplify the trajectroy planner so it does less work and can process every block faster. Dont worry too much about the acceleration or jerk and corner blending, the servo tuning will look after that to a certain extent. Use the corner angle to decide if it should go to exact stop or stay in continuous feed. Only do linear interpolation on the segments with no corner blending. Check the accelerations (average acceleration as dumb as (Vfinal-Vstart)/period over a period (of say 10ms) and alter the feed rate if the average acceleration is above a certain value. Of course this method would be useless for stepper systems.  But what I am talking about here is fast servo systems. Most servos have a time constant of at least 1 to 10ms so there is no point in getting too fussed about things in a shorter time frame.  The problem is that its real hard with CAM systems to get them to put out sensible code and the easiest way is to process the blocks fast.

In the ideal world Mach3 would feed the required axis accelerations into the DSPMC and then the DSPMC could use that as feed forward in its control.  If it did this, it would be truly first class.  But I guess I am dreaming.

I havent tried Tempest yet as I think the issues are related to the complexity of the trajectory planning slowing things down.

Offline piv

*
  •  91 91
    • View Profile
Re: Block Processing Speed for Mach3 with DSPMC
« Reply #12 on: February 07, 2010, 03:08:33 AM »
Rufi from Vital Systems and I are going to put something together for testing.