LinuxCNC S-Curve Accelerations

More
02 Jan 2022 13:50 #230550 by Grotius
Hi,

Just finished a template, where so far as i can see all scenario's are implemented for a traditional lineair curve.
This is a output that happens within 1 gcode line.

This includes :
  • User changes max velocity during program run.
  • Target velocity can not be reached by input displacement. 
  • Curve up, curve down, curve steady.
  • Curve respects max velocity.
Now i can try to apply the the scurve algo to this working demo.

code
video
The following user(s) said Thank You: Darium

Please Log in or Create an account to join the conversation.

More
03 Jan 2022 11:08 #230644 by Grotius
Hi,

I just tested the scurve on top of the traditional linair curve impementation.
It works.

For using the gain value, time periods are different. I have to code this in the next "final" step.
Using the gain value can speed up the machine acc, dcc stages.

So far so good !

code
video
The following user(s) said Thank You: Bari, Darium

Please Log in or Create an account to join the conversation.

More
03 Jan 2022 13:11 #230648 by Grotius
The "final" step is coded, and it worked!
The 4 pictures containing different gain value's, are showing the difference in machine acc, dcc and traject time outputs

code
picture


 
The following user(s) said Thank You: Darium

Please Log in or Create an account to join the conversation.

More
04 Jan 2022 15:12 #230771 by Grotius
Hi,

I tested the algo in hal-core. It runs ok.

video
The following user(s) said Thank You: bkt, Lcvette, Darium

Please Log in or Create an account to join the conversation.

More
13 Jan 2022 17:48 - 13 Jan 2022 19:58 #231684 by bkt
Replied by bkt on topic LinuxCNC S-Curve Accelerations
write on wrong place ... sorry
Last edit: 13 Jan 2022 19:58 by bkt.

Please Log in or Create an account to join the conversation.

More
10 Feb 2022 02:25 #234448 by ViktorS
I thought I might shime in with some experience with how atleast some comercial cnc's handles this acceleration profile (Mazak Integrex and Cincinnati Arrow).

My Cincinnati Arrow has Siemens 2100e controller with die & mold package, which means S curve accelerations among other things.
This is a regular 3 axis vmc so no super advanced planning required. When doing moves that requires spindle sync, ie. rigid tapping or feed-per-tooth, it reverts back to trapezoidal acceleration profile. It will also use trapezoidal profile for jogging and handwheel.

The Integrex does not have true S curve profile but not trapezoidal either, rather something in between. This is a 5 axis millturn btw.
But this machine will also revert back to trapezoidal acceleration when doing rigid tapping and also thread turning or hobbing.
It will not use trapezoidal for feed-per-revolution feedrate, and thank god for that as a lot of turning involves 90 degree direction changes.

The point is that for lathes and mills an S curve sync'ed spindle is not really used in any situation. Trying to do rigid tapping when moving on the last bit of that S profile would probably stall the spindle during such a move.

Now of course linuxCNC probably have uses for S curve synced spindle far beyond what I can see, but when it comes to milling or turning it seems that is not required. In fact both above machines have a modal G code to activate S profile (and some advanced lookahead) separately from standard trapezoidal.

Other than that, thank you for pushing this forward! It's a really crucial feature.
The following user(s) said Thank You: Lcvette, Darium

Please Log in or Create an account to join the conversation.

More
12 Apr 2022 14:59 #240051 by TheRoslyak
hi arvidb
I haven't been on the forum for a long time.
I wanted to know if it was possible to solve the problem that I understood on forum.linuxcnc.org/38-general-linuxcnc-q...elerations?start=210

Please Log in or Create an account to join the conversation.

More
12 Apr 2022 19:06 - 12 Apr 2022 19:08 #240072 by rodw
Replied by rodw on topic LinuxCNC S-Curve Accelerations
If you are referring to installing ethercat, yes its solved by using a repository containing IgH Etherlabmaster maintained by them
I wrote a Sticky on it in the Ethercat section on how to do this.
forum.linuxcnc.org/ethercat/45336-etherc...-how-to-step-by-step
Everything else uses an obsolate version of the IgH source code on Mercurial when their repositories have moved to gitlab
Next on the agenda is a custom homing module for cia402 ethercat drives. 

I would suggest building linuxcnc on Debian Bullseye from source and follow that sticky using these instructions
www.qtpyvcp.com/install/bullseye.html
 
Last edit: 12 Apr 2022 19:08 by rodw.

Please Log in or Create an account to join the conversation.

More
13 Apr 2022 07:44 #240116 by arvidb

hi arvidb
I haven't been on the forum for a long time.
I wanted to know if it was possible to solve the problem that I understood on forum.linuxcnc.org/38-general-linuxcnc-q...elerations?start=210

Hi TheRoslyak,

The integration of my jerk limited jog planner is not done yet, no. I'm still working on it now and then, when I can find enough time and energy. I did get some significant preparatory patches into master recently. Lots of work still left to do though. Untangling the innards of motmod enough to enable modular jog planning is a large undertaking, and that's pretty much what I'm doing.

Please Log in or Create an account to join the conversation.

More
28 Oct 2022 15:58 #255308 by abs32

Hi,

Now i can try to apply the the scurve algo to this working demo.

code
video
[/list]


Colleague, all the Githab links you cited above are dead, I can't download anything. Please share information about the current state of things.
I would like to implement the s-curve feature in my LinuxCNC2.8 example and would appreciate any help, guidance, instructions, links, etc.

Please Log in or Create an account to join the conversation.

Time to create page: 0.622 seconds
Powered by Kunena Forum