acceleration curves

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

Re: acceleration curves

Postby ger21 » Sat Oct 07, 2017 1:39 pm

Basically I was wondering to CNC drive, do you think such a change could be done within the planner?


If they already plan on adding proper S-Curve accel, why waste time on something that may only be marginally better. I think that the faster the accel gets, the less this method would help. So it may only really be helpful at the lower end of the acceleration.

I'm hoping the new router I'm building will be capable of 1G accel, which would be extremely violent with most currently available "hobby" controls. When I started designing the machine several years ago, I was thinking that proper S Curve acceleration would be available by now.

I'm used to running large Italian routers in my day job, with extremely high acceleration rates, that are incredibly smooth. It can get up to about 20-25m/min in about 200mm.
Gerry
UCCNC 2017 Screenset - http://www.thecncwoodworker.com/2017.html
ger21
 
Posts: 1143
Joined: Sat Sep 03, 2016 2:17 am

Re: acceleration curves

Postby Robertspark » Sat Oct 07, 2017 3:23 pm

ger21 wrote:If they already plan on adding proper S-Curve accel, why waste time on something that may only be marginally better.


Whilst it may only be marginally better it may be quicker to implement and its effects from the mathermatics appear to be able to minimise the jerk, or at least provide some degree of smoothing of the acceleration profile.

My maths may all be totally wrong {and I am dealing with big steps (20/mm or 508/inch), and it did surprise me that the smaller your steps the bigger the jolt, because you've got to get more steps down in a shorter space of time...

ger21 wrote:
I'm used to running large Italian routers in my day job, with extremely high acceleration rates, that are incredibly smooth. It can get up to about 20-25m/min in about 200mm.


I don't think that's 1G, 25m/min = 416.66 mm / sec

Its about = ~ 0.434 m /s/s accel (~0.04 G)

1G (9.81m/s/s) would require the acceleration to happen from zero to 25m / min in about 8.8mm!

but again my math could be out as I'm multitasking now
Rob
Einstein ― “If you can't explain it to a six year old, you don't understand it yourself”
...working my way through the 1000+ ways things don't work to find the one that does
UC400eth, UC300eth, UCCNC v1.2106, Neuron Lite
UCCNC v1.2105 Macro Manual
Robertspark
 
Posts: 978
Joined: Sat Sep 03, 2016 4:27 pm
Location: Nr Liverpool, England

Re: acceleration curves

Postby cncdrive » Sat Oct 07, 2017 3:48 pm

Hi Rob,

I'm currently busy and don't have much time to type, but I quickly googled for motion profiles and I found a nice article which worth to read:
https://www.pmdcorp.com/resources/artic ... l-profiles

And basicly how we planned to implement the s-curve acceleration and decceleration is that we will add one more parameter, the S and if the S is set 0 then the profile is trapezoidal (it is then just like how it works currently) and if the S is not null then it will be s-curve. The value of the S parameter will set how parabolic the trapez will become, the more the S the more round and parabolic it will be and the less the jerk, but the slower the execution, because S-curve profiling makes the total execution time longer while it makes the jerk less and so the motion "smoother". So, the idea is to make the S adjustable/tunable, because it has advantage and also disadvantage and the midway should be found and tuned for the machines just like it is with the acceleration and the velocity parameters.
cncdrive
Site Admin
 
Posts: 2260
Joined: Tue Aug 12, 2014 11:17 pm

Re: acceleration curves

Postby Robertspark » Sat Oct 07, 2017 3:54 pm

Thanks Balazs, much appreciated :)

I'm always learning + want to learn :) :roll:
Rob
Einstein ― “If you can't explain it to a six year old, you don't understand it yourself”
...working my way through the 1000+ ways things don't work to find the one that does
UC400eth, UC300eth, UCCNC v1.2106, Neuron Lite
UCCNC v1.2105 Macro Manual
Robertspark
 
Posts: 978
Joined: Sat Sep 03, 2016 4:27 pm
Location: Nr Liverpool, England

Re: acceleration curves

Postby 1JUMPER10 » Wed Oct 11, 2017 6:36 am

The technical level of this topic is a bit above my understanding. But there is a Jerk limit setting in the firmware of my servos. I know what it does and I've left it set near it's minimum value because I wanted the trajectory planner in UCCNC to smooth the motion. Leave the servos out of that aspect of motion control. It might not have enough effect to change a trapezoidal acceleration profile to an S curve. I know in the servo manual that this setting can be set so high that it will result in rounded corners on square shapes. Just a thought...
1JUMPER10
 
Posts: 48
Joined: Tue Oct 04, 2016 1:54 am

Re: acceleration curves

Postby Robertspark » Wed Oct 11, 2017 6:50 am

By setting the jerk setting low it is likely to have the maximum corrective effect , so it won't round corners, setting the number high is likely to be the same as operating without scurve acceleration.... Because you've allowed a greater amount of jerk
Rob
Einstein ― “If you can't explain it to a six year old, you don't understand it yourself”
...working my way through the 1000+ ways things don't work to find the one that does
UC400eth, UC300eth, UCCNC v1.2106, Neuron Lite
UCCNC v1.2105 Macro Manual
Robertspark
 
Posts: 978
Joined: Sat Sep 03, 2016 4:27 pm
Location: Nr Liverpool, England

Re: acceleration curves

Postby ger21 » Wed Oct 11, 2017 10:33 am

But there is a Jerk limit setting in the firmware of my servos.


Are you sure this has any effect when using step/direction signals? If the drive is "overriding" the step/direction signals, I would think that you'd have position errors.
Gerry
UCCNC 2017 Screenset - http://www.thecncwoodworker.com/2017.html
ger21
 
Posts: 1143
Joined: Sat Sep 03, 2016 2:17 am

Re: acceleration curves

Postby ger21 » Wed Oct 11, 2017 10:42 am

I don't think that's 1G, 25m/min = 416.66 mm / sec

Its about = ~ 0.434 m /s/s accel (~0.04 G)

1G (9.81m/s/s) would require the acceleration to happen from zero to 25m / min in about 8.8mm!


I was going by memory when I said 200mm, and was being conservative. While running the machine the last few days, it's pretty obvious that it accelerates to full speed in less than 20mm. I'm just going by eye, so it's impossible to tell exactly how fast it accelerates. My point was just how smooth it accelerates, with no perceptible jerk.
Gerry
UCCNC 2017 Screenset - http://www.thecncwoodworker.com/2017.html
ger21
 
Posts: 1143
Joined: Sat Sep 03, 2016 2:17 am

Re: acceleration curves

Postby Robertspark » Wed Oct 11, 2017 10:57 am

It will be interesting to see what (+ when) it gets implemented in uccnc.

And how much an improvement it will make.
Rob
Einstein ― “If you can't explain it to a six year old, you don't understand it yourself”
...working my way through the 1000+ ways things don't work to find the one that does
UC400eth, UC300eth, UCCNC v1.2106, Neuron Lite
UCCNC v1.2105 Macro Manual
Robertspark
 
Posts: 978
Joined: Sat Sep 03, 2016 4:27 pm
Location: Nr Liverpool, England

Re: acceleration curves

Postby 1JUMPER10 » Wed Oct 11, 2017 5:01 pm

ger21 wrote:
But there is a Jerk limit setting in the firmware of my servos.


Are you sure this has any effect when using step/direction signals? If the drive is "overriding" the step/direction signals, I would think that you'd have position errors.


From the manual:" RAS (regressive Auto-Spline) jerk limit. Higher values result in smoother, more gradual transitions between move segments of differing acceleration; however, overall move time is increased."

The units for the settings are in mili-seconds if that tells you anything. Theres an "off" setting then selectable values starting at about 16ms up to a couple hundred I think.

From experience I have experimented with higher values just to see what they do and it seems like it makes the movements more fluid. And it seems like this would result in positional errors but Teknic says it doesnt, it just gives the servo more time to execute the commands. Probably somewhat like a buffer. Teknic did say that you have to have the values set the same in ALL the servo's or you will get oblong circles etc. I use the 16ms value because I like the crisper response.

I read the description of the Constant velocity settings in the UCCNC manual where you can specify your acceptable amount of error for lines and corners for the trajectory planner. The settings available there seem like they do the same thing that the servo would do. Or at least have the same effect.
1JUMPER10
 
Posts: 48
Joined: Tue Oct 04, 2016 1:54 am

PreviousNext

Return to General discussion about the UCCNC software

Who is online

Users browsing this forum: Bing [Bot] and 3 guests