Re: [Emc-users] wondering what the status is on S curve jerk control getting added into linuxcnc

2020-07-23 Thread andrew beck
Jon machine is going mint.  I don't currently have encoders connected back
to the control but I did.  The motors are tuned mint.  It's just the table
mass at the acceleration jumps a bit when moved.

I might just enable reducing feed rate at corners in fusion360 cam for now
if I can.

I want the acceleration for a faster machine (top speed is only 8mm/min).
And acceleration is only 500mm/s squared. So I don't want to go any slower
in general.   I just want nicer cornering like a okuma machine

Regards

Andrew

On Fri, Jul 24, 2020, 3:44 AM Jon Elson  wrote:

> On 07/23/2020 12:00 AM, andrew beck wrote:
> > Yes I'm not worried about servo following error spikes.  But I'm shaking
> my
> > whole machine to death.  As the acceleration is instantly on.  In
> contrast
> > a friend's okuma can go at 40m/min without shaking.  Which is amazing to
> > watch.  They are both similar size
> >
> >
> Well, do you have encoders on this machine that read back to
> LinuxCNC?  if so, you can graph the velocity of the axes and
> see if the servo is operating with stable response, or if
> you have oscillations.  You may have the MAX_ACCELERATION
> parameter in the .ini file set too high.
>
> Jon
>
>
> ___
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users
>

___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] wondering what the status is on S curve jerk control getting added into linuxcnc

2020-07-23 Thread Nicklas SB Karlsson
> On Thursday 23 July 2020 13:34:48 Nicklas SB Karlsson wrote:
> 
> > > On Thursday 23 July 2020 07:53:45 andy pugh wrote:
> > > > On Thu, 23 Jul 2020 at 12:47, Nicklas SB Karlsson
> > > >
> > > >  wrote:
> > > > > > I wonder what effect could be had by rate-limiting the PID
> > > > > > output to the motors?
> > > > >
> > > > > Integrator should ideally have anti-windup.
> > > >
> > > > Anti-windup is a little different.
> > > >
> > > > I was actually thinking about experimenting with a limit3 HAL
> > > > component between the PID and the PWM.
> > >
> > > But that s/b bypassable for rigid tapping as it will increase the
> > > following error. Put it in front of the PID. I use it there to
> > > profile the spindle turnaround rates to something the Z can follow
> > > w/o throwing a Z following error.
> >
> > Yes in fron of PID, ideally in trajectory planner. I expect a limit3
> > could describe rather well what an electric motor ideally is able to
> > follow though a limit4 with variable limits would be perfect, then is
> > of course then imperfections is and how good control loop is so I
> > would guess limit3 is rather good.
> >
> And where is this limit4? No man page yet in an early this morning build 
> of master.

No it does not exist and maybe never need to because of other imperfections.


___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] wondering what the status is on S curve jerk control getting added into linuxcnc

2020-07-23 Thread Gene Heskett
On Thursday 23 July 2020 13:34:48 Nicklas SB Karlsson wrote:

> > On Thursday 23 July 2020 07:53:45 andy pugh wrote:
> > > On Thu, 23 Jul 2020 at 12:47, Nicklas SB Karlsson
> > >
> > >  wrote:
> > > > > I wonder what effect could be had by rate-limiting the PID
> > > > > output to the motors?
> > > >
> > > > Integrator should ideally have anti-windup.
> > >
> > > Anti-windup is a little different.
> > >
> > > I was actually thinking about experimenting with a limit3 HAL
> > > component between the PID and the PWM.
> >
> > But that s/b bypassable for rigid tapping as it will increase the
> > following error. Put it in front of the PID. I use it there to
> > profile the spindle turnaround rates to something the Z can follow
> > w/o throwing a Z following error.
>
> Yes in fron of PID, ideally in trajectory planner. I expect a limit3
> could describe rather well what an electric motor ideally is able to
> follow though a limit4 with variable limits would be perfect, then is
> of course then imperfections is and how good control loop is so I
> would guess limit3 is rather good.
>
And where is this limit4? No man page yet in an early this morning build 
of master.
>
> Nicklas SB Karlsson
>
>
> ___
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users


Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
If we desire respect for the law, we must first make the law respectable.
 - Louis D. Brandeis
Genes Web page 


___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] wondering what the status is on S curve jerk control getting added into linuxcnc

2020-07-23 Thread andy pugh
On Thu, 23 Jul 2020 at 18:30, Nicklas SB Karlsson
 wrote:

> Limit3 function is what trajector planner must follow if acceleration is 
> allowed to change instantly, if jerk could be changed instantly it had to 
> follw a limit4 function
...
> In doubt Limit3 function is useful in between PID and PWM.

The reason I suggested Limit3 after the PID is because we don't have a
Limit4. The output of the PID is offset by by 1 or 2 orders[1] of
differentiation.

With a torque-mode drive it would actually be the second term that you
would need to adjust in an after-the-pid setup.
With a velocity mode drive, then you would limit the third term to
limit the machine jerk.

[1] Or levels. I don't know what the right word is, and Google just
takes me to introductory calculus texts.

-- 
atp
"A motorcycle is a bicycle with a pandemonium attachment and is
designed for the especial use of mechanical geniuses, daredevils and
lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1912


___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] wondering what the status is on S curve jerk control getting added into linuxcnc

2020-07-23 Thread Nicklas SB Karlsson
> On Thursday 23 July 2020 07:53:45 andy pugh wrote:
> 
> > On Thu, 23 Jul 2020 at 12:47, Nicklas SB Karlsson
> >
> >  wrote:
> > > > I wonder what effect could be had by rate-limiting the PID output
> > > > to the motors?
> > >
> > > Integrator should ideally have anti-windup.
> >
> > Anti-windup is a little different.
> >
> > I was actually thinking about experimenting with a limit3 HAL
> > component between the PID and the PWM.
> 
> But that s/b bypassable for rigid tapping as it will increase the 
> following error. Put it in front of the PID. I use it there to profile 
> the spindle turnaround rates to something the Z can follow w/o throwing 
> a Z following error.

Yes in fron of PID, ideally in trajectory planner. I expect a limit3 could 
describe rather well what an electric motor ideally is able to follow though a 
limit4 with variable limits would be perfect, then is of course then 
imperfections is and how good control loop is so I would guess limit3 is rather 
good.


Nicklas SB Karlsson


___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] wondering what the status is on S curve jerk control getting added into linuxcnc

2020-07-23 Thread Nicklas SB Karlsson
> On Thu, 23 Jul 2020 at 12:47, Nicklas SB Karlsson
>  wrote:
> 
> > > I wonder what effect could be had by rate-limiting the PID output to
> > > the motors?
> >
> > Integrator should ideally have anti-windup.
> 
> Anti-windup is a little different.
> 
> I was actually thinking about experimenting with a limit3 HAL
> component between the PID and the PWM.

Limit3 function is what trajector planner must follow if acceleration is 
allowed to change instantly, if jerk could be changed instantly it had to follw 
a limit4 function. These limitations have an impact on then trajectory planner 
need to slow down to hit point or follow points exactly. Then there is a 
question about what is fast enough considered instant + other imperfections.

In doubt Limit3 function is useful in between PID and PWM.

A lead lag filter may be useful. Derivative D use to be noisy or very noisy so 
what where is a need to filter out high frequencies, average rate of change. 
Anti windup only make a difference then signal is limited, in practice it might 
this only happen if maximum speed is set a little bit high for g0 move.


Nicklas SB Karlsson


___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] wondering what the status is on S curve jerk control getting added into linuxcnc

2020-07-23 Thread Jon Elson

On 07/23/2020 12:00 AM, andrew beck wrote:

Yes I'm not worried about servo following error spikes.  But I'm shaking my
whole machine to death.  As the acceleration is instantly on.  In contrast
a friend's okuma can go at 40m/min without shaking.  Which is amazing to
watch.  They are both similar size


Well, do you have encoders on this machine that read back to 
LinuxCNC?  if so, you can graph the velocity of the axes and 
see if the servo is operating with stable response, or if 
you have oscillations.  You may have the MAX_ACCELERATION 
parameter in the .ini file set too high.


Jon


___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] wondering what the status is on S curve jerk control getting added into linuxcnc

2020-07-23 Thread Gene Heskett
On Thursday 23 July 2020 07:53:45 andy pugh wrote:

> On Thu, 23 Jul 2020 at 12:47, Nicklas SB Karlsson
>
>  wrote:
> > > I wonder what effect could be had by rate-limiting the PID output
> > > to the motors?
> >
> > Integrator should ideally have anti-windup.
>
> Anti-windup is a little different.
>
> I was actually thinking about experimenting with a limit3 HAL
> component between the PID and the PWM.

But that s/b bypassable for rigid tapping as it will increase the 
following error. Put it in front of the PID. I use it there to profile 
the spindle turnaround rates to something the Z can follow w/o throwing 
a Z following error.  Its more complex than that in the hal file, but 
thats the general idea. And I've not had good results while driving a 
vfd. Needs more thought there but a 40 lb chuck's inertia overrules most 
of my efforts.  The PMDC motors respond much better to that sort of 
control massaging.  Faster is the keyword I think. My thinking was that 
of a sine-squared control waveform with the peak accel at zero speed, 
therefore matching a steppers ability to keep up better.

Idea was stolen from one of the old analog tv VITS. That kit of signals 
allowed one to accurately tune a tv transmitter for optimum bandwidth 
while the girls were watching Days of our lives. Or whatever.

Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
If we desire respect for the law, we must first make the law respectable.
 - Louis D. Brandeis
Genes Web page 


___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] wondering what the status is on S curve jerk control getting added into linuxcnc

2020-07-23 Thread Andrew
чт, 23 лип. 2020 о 14:58 andy pugh  пише:


> I was actually thinking about experimenting with a limit3 HAL
> component between the PID and the PWM.
>

KFLOP has lowpass filter
http://dynomotion.com/Help/KMotionCNC/TrajectoryPlanner.htm

WBR,
Andrew

___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] wondering what the status is on S curve jerk control getting added into linuxcnc

2020-07-23 Thread andy pugh
On Thu, 23 Jul 2020 at 12:47, Nicklas SB Karlsson
 wrote:

> > I wonder what effect could be had by rate-limiting the PID output to
> > the motors?
>
> Integrator should ideally have anti-windup.

Anti-windup is a little different.

I was actually thinking about experimenting with a limit3 HAL
component between the PID and the PWM.

-- 
atp
"A motorcycle is a bicycle with a pandemonium attachment and is
designed for the especial use of mechanical geniuses, daredevils and
lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1912


___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] wondering what the status is on S curve jerk control getting added into linuxcnc

2020-07-23 Thread Nicklas SB Karlsson
> >   I have been noticing a bit of jumping around
> > when doing parallel finishing 3d passed on it at high speed.
> 
> I wonder what effect could be had by rate-limiting the PID output to
> the motors?

Integrator should ideally have anti-windup. Know about and how it should be 
implemented? Otherwise I could write down equations in discrete or z-transform 
form?

Implementation should be simple once case equations are written down but even 
though I studied quite many math courses at University I always need some time 
to get it correct.

> You would expect it to increase following-error (but possibly only
> along the path, where it has less effect on geometry)

Yes, this is because it limit rate of change also for small changes, pretty 
sure it also get non-linear. Not sure if it is a good idea but are sure 
anti-windup is a good idea.


Nicklas SB Karlsson


___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] wondering what the status is on S curve jerk control getting added into linuxcnc

2020-07-23 Thread andy pugh
On Wed, 22 Jul 2020 at 21:54, andrew beck  wrote:
>
>   I have been noticing a bit of jumping around
> when doing parallel finishing 3d passed on it at high speed.

I wonder what effect could be had by rate-limiting the PID output to
the motors?
You would expect it to increase following-error (but possibly only
along the path, where it has less effect on geometry)


-- 
atp
"A motorcycle is a bicycle with a pandemonium attachment and is
designed for the especial use of mechanical geniuses, daredevils and
lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1912


___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] wondering what the status is on S curve jerk control getting added into linuxcnc

2020-07-23 Thread dave engvall

A couple of sources:
http://www.mesanet.com/pdf/motion/softdmc.pdf  50 us cycle -:)

Some years ago a masters candidate in ME at UBC did her thesis on motion 
control with jerk limiting and sine wave accel. I used to have a copy of 
it but cannot find it.
IIRC is would be post 2005 and author's name was something like Silvia 
M(a)cFarland.
On the one axis motion controller what cycle time were you using and did 
faster cycle times smooth it any?


Dave

On 7/22/20 1:51 PM, andrew beck wrote:

hey guys

I have a relatively high speed machine (3kw motors 16mm pitch ballscrews)
  35mm linear rails, and weights 5.8 ton.  I think it used to go 20m/min
with the heidenhain control.  I have been noticing a bit of jumping around
when doing parallel finishing 3d passed on it at high speed.  and talked to
a couple of linuxcnc guys and found out that linuxcnc doesn't have any jerk
control.  just sending out a email here seeing what the current progress is
on that.

at high speed high precision linuxcnc definitely needs some work at some
stage.

apart from this I am completely happy with linuxcnc.  this would be a nice
thing to solve though.  and if someone with the right skills wanted to fix
it I would be happy as to chip in to pay something for the time.  as I run
a business in my machine shop where everything runs linuxcnc

in the mean time I will try to get around the issue by programming in cam

regards

Andrew

___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users




___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] wondering what the status is on S curve jerk control getting added into linuxcnc

2020-07-22 Thread andrew beck
Yes I'm not worried about servo following error spikes.  But I'm shaking my
whole machine to death.  As the acceleration is instantly on.  In contrast
a friend's okuma can go at 40m/min without shaking.  Which is amazing to
watch.  They are both similar size

On Thu, Jul 23, 2020, 9:42 AM Nicklas SB Karlsson <
nicklas.karlsso...@gmail.com> wrote:

> > hey guys
> >
> > I have a relatively high speed machine (3kw motors 16mm pitch ballscrews)
> >  35mm linear rails, and weights 5.8 ton.  I think it used to go 20m/min
> > with the heidenhain control.  I have been noticing a bit of jumping
> around
> > when doing parallel finishing 3d passed on it at high speed.  and talked
> to
> > a couple of linuxcnc guys and found out that linuxcnc doesn't have any
> jerk
> > control.  ...
>
> If I get it correct from electric motor equations it like this: Jerk could
> be controlled instantly. Available jerk in direction to increase speed
> decrease with speed while available jerk to decrease speed increase with
> speed and this is because of induced back-emf. I assumed a given constant
> magnetic flux inside motor otherwise decrease magnetic flux which may be
> possible in some cases will decrease back-emf and torque and may allow
> higher speed if voltage is a limitation, there is an optimal flux for best
> efficiency. Even though control algorithm is different it should apply for
> the common electric motors: DC, BLDC, PMSM 3-phase synchron motor,
> synchronous reluctance motor and ordinary 3-phase asynchronous induction
> motor.
>
> Not sure how good motion planner is. Read something about a PhD degree but
> are not sure it was for the motion planner in Linuxcnc.
>
> I wrote simpler motion controller, one axis with jerk limitation and had
> to spend quite much time make the corners fit perfectly at the same time it
> followed the limitation and hit target.
>
> > at high speed high precision linuxcnc definitely needs some work at some
> > stage.
>
> Improvements are of course always good. Maybe, but if high speed is used
> then moving thru air "G0 move" or rectracting while speed is lower then
> machining thru part lower precision is acceptable at higher speed.
> Integrator need som time to decrease error so it might be hard work to get
> both at once.
>
>
> Regards Nicklas SB Karlsson
>
>
> ___
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users
>

___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] wondering what the status is on S curve jerk control getting added into linuxcnc

2020-07-22 Thread Nicklas SB Karlsson
> hey guys
> 
> I have a relatively high speed machine (3kw motors 16mm pitch ballscrews)
>  35mm linear rails, and weights 5.8 ton.  I think it used to go 20m/min
> with the heidenhain control.  I have been noticing a bit of jumping around
> when doing parallel finishing 3d passed on it at high speed.  and talked to
> a couple of linuxcnc guys and found out that linuxcnc doesn't have any jerk
> control.  ...

If I get it correct from electric motor equations it like this: Jerk could be 
controlled instantly. Available jerk in direction to increase speed decrease 
with speed while available jerk to decrease speed increase with speed and this 
is because of induced back-emf. I assumed a given constant magnetic flux inside 
motor otherwise decrease magnetic flux which may be possible in some cases will 
decrease back-emf and torque and may allow higher speed if voltage is a 
limitation, there is an optimal flux for best efficiency. Even though control 
algorithm is different it should apply for the common electric motors: DC, 
BLDC, PMSM 3-phase synchron motor, synchronous reluctance motor and ordinary 
3-phase asynchronous induction motor.

Not sure how good motion planner is. Read something about a PhD degree but are 
not sure it was for the motion planner in Linuxcnc.

I wrote simpler motion controller, one axis with jerk limitation and had to 
spend quite much time make the corners fit perfectly at the same time it 
followed the limitation and hit target.

> at high speed high precision linuxcnc definitely needs some work at some
> stage.

Improvements are of course always good. Maybe, but if high speed is used then 
moving thru air "G0 move" or rectracting while speed is lower then machining 
thru part lower precision is acceptable at higher speed. Integrator need som 
time to decrease error so it might be hard work to get both at once.


Regards Nicklas SB Karlsson


___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


[Emc-users] wondering what the status is on S curve jerk control getting added into linuxcnc

2020-07-22 Thread andrew beck
hey guys

I have a relatively high speed machine (3kw motors 16mm pitch ballscrews)
 35mm linear rails, and weights 5.8 ton.  I think it used to go 20m/min
with the heidenhain control.  I have been noticing a bit of jumping around
when doing parallel finishing 3d passed on it at high speed.  and talked to
a couple of linuxcnc guys and found out that linuxcnc doesn't have any jerk
control.  just sending out a email here seeing what the current progress is
on that.

at high speed high precision linuxcnc definitely needs some work at some
stage.

apart from this I am completely happy with linuxcnc.  this would be a nice
thing to solve though.  and if someone with the right skills wanted to fix
it I would be happy as to chip in to pay something for the time.  as I run
a business in my machine shop where everything runs linuxcnc

in the mean time I will try to get around the issue by programming in cam

regards

Andrew

___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users