G38.x and acceleration (not stopping)
- arhi
-
Topic Author
- Offline
- Senior Member
-
Less
More
- Posts: 54
- Thank you received: 4
03 Jun 2016 17:34 #75449
by arhi
Replied by arhi on topic G38.x and acceleration (not stopping)
dunno what happened to my last reply, might be that I forgot to click submit
.. was a long one
...
how come? if I want to move 100 steps per second feed rate and I say Xstep/sec/sec acceleration it will start slow and ramp up to a full speed after a while and then when it arrives at desired feed rate I will have 100Hz going into step pin of a driver right? So what if I start with 100Hz, so I go from 0 to 100 steps/second "immediately", that's infinite acceleration isn't it, and every single machine I have in da house will run with this 100Hz from standstil without a problem ,... ? it won't start if I bring it 1kHz but with 100Hz it will .. or if that's too much, completely irrelevant, let's go 10Hz .. same thing .. goes from 1 to 10steps/sec "immediately" so /0sec = infinite
now most apps I used so far allow you to setup a rampup data for your motors (acceleration, deceleration..) or to "turn it off" so you move always at constant speed ... looks like emc does not support the "no acceleration" concept at all .. weird
but hey, it is what it is I'll work around it 
now looks like linuxcnc do not like high acceleration values, editing from MDI works, the values are changed and this will help out for sure, thanks a bunch for help all of you... anyhow I see that when I set accel to high value I get "joint 0 following error" .. need to figure out few other things, I get some error while program is running that documentation stats is due to jitter but I let machine run the latency measurement for 48 hours and it won't go over 3500, I put 50000 as BASE_whatever and I still get this error ?!?!? anyhow probably i messed something out will check that out and open a new topic bugging you for that if I don't solve it myself with google


[
Infinite acceleration is not really possible, always going to be limited by the machine.
how come? if I want to move 100 steps per second feed rate and I say Xstep/sec/sec acceleration it will start slow and ramp up to a full speed after a while and then when it arrives at desired feed rate I will have 100Hz going into step pin of a driver right? So what if I start with 100Hz, so I go from 0 to 100 steps/second "immediately", that's infinite acceleration isn't it, and every single machine I have in da house will run with this 100Hz from standstil without a problem ,... ? it won't start if I bring it 1kHz but with 100Hz it will .. or if that's too much, completely irrelevant, let's go 10Hz .. same thing .. goes from 1 to 10steps/sec "immediately" so /0sec = infinite
now most apps I used so far allow you to setup a rampup data for your motors (acceleration, deceleration..) or to "turn it off" so you move always at constant speed ... looks like emc does not support the "no acceleration" concept at all .. weird


now looks like linuxcnc do not like high acceleration values, editing from MDI works, the values are changed and this will help out for sure, thanks a bunch for help all of you... anyhow I see that when I set accel to high value I get "joint 0 following error" .. need to figure out few other things, I get some error while program is running that documentation stats is due to jitter but I let machine run the latency measurement for 48 hours and it won't go over 3500, I put 50000 as BASE_whatever and I still get this error ?!?!? anyhow probably i messed something out will check that out and open a new topic bugging you for that if I don't solve it myself with google

Please Log in or Create an account to join the conversation.
- Rick G
-
- Offline
- Junior Member
-
Less
More
- Posts: 26
- Thank you received: 155
03 Jun 2016 18:07 - 03 Jun 2016 18:11 #75453
by Rick G
When you increase acceleration you must also increase the stepgen_maxaccel.
STEPGEN_MAXACCEL = 21.0 - Acceleration limit for the step generator. This should be 1% to 10% larger than the axis MAX_ACCELERATION. This value improves the tuning of stepgenās "position loop". If you have added backlash compensation to an axis then this should be 1.5 to 2 times greater than MAX_ACCELERATION.
Keep in mind too that a stepper torque can drop off rapidly as the rpm increases.
If you are using software step generating and you edit your files for a faster rate than your computer can output then you will receive an error.
Rick G
Replied by Rick G on topic G38.x and acceleration (not stopping)
when I set accel to high value I get "joint 0 following error" .. need to figure out few other things
When you increase acceleration you must also increase the stepgen_maxaccel.
STEPGEN_MAXACCEL = 21.0 - Acceleration limit for the step generator. This should be 1% to 10% larger than the axis MAX_ACCELERATION. This value improves the tuning of stepgenās "position loop". If you have added backlash compensation to an axis then this should be 1.5 to 2 times greater than MAX_ACCELERATION.
Keep in mind too that a stepper torque can drop off rapidly as the rpm increases.
If you are using software step generating and you edit your files for a faster rate than your computer can output then you will receive an error.
Rick G
Last edit: 03 Jun 2016 18:11 by Rick G.
Please Log in or Create an account to join the conversation.
- arhi
-
Topic Author
- Offline
- Senior Member
-
Less
More
- Posts: 54
- Thank you received: 4
03 Jun 2016 19:30 #75459
by arhi
forgot about that one
... but, hm, I have only 4 analog outputs, can't setup 6 values
..
yes of course
anyhow more then enough data now to play with this so .. will see how it goes ..
Replied by arhi on topic G38.x and acceleration (not stopping)
When you increase acceleration you must also increase the stepgen_maxaccel.
forgot about that one


Keep in mind too that a stepper torque can drop off rapidly as the rpm increases.
yes of course
LPT port on this linuxcnc, thinking about purchasing some mesa cards but want to see if linuxcnc can do what I want before I decide to invest in that path as maybe investing in better firmware for what I already run for printing to use those for milling too might be way to go if I can't figure out how to transfer myself to linuxcnc ..If you are using software step generating and you edit your files for a faster rate than your computer can output then you will receive an error.
anyhow more then enough data now to play with this so .. will see how it goes ..
Please Log in or Create an account to join the conversation.
- andypugh
-
- Offline
- Moderator
-
Less
More
- Posts: 23279
- Thank you received: 4933
03 Jun 2016 19:34 #75461
by andypugh
You can have more:
linuxcnc.org/docs/2.7/html/man/man9/motion.9.html
See the "num_aio" parameter.
Or you could drive the two accels from the same net, passing the stepgen one through a scale function.
linuxcnc.org/docs/2.7/html/man/man9/scale.9.html
Replied by andypugh on topic G38.x and acceleration (not stopping)
forgot about that one
... but, hm, I have only 4 analog outputs, can't setup 6 values
..
You can have more:
linuxcnc.org/docs/2.7/html/man/man9/motion.9.html
See the "num_aio" parameter.
Or you could drive the two accels from the same net, passing the stepgen one through a scale function.
linuxcnc.org/docs/2.7/html/man/man9/scale.9.html
Please Log in or Create an account to join the conversation.
- arhi
-
Topic Author
- Offline
- Senior Member
-
Less
More
- Posts: 54
- Thank you received: 4
03 Jun 2016 19:57 #75463
by arhi
Replied by arhi on topic G38.x and acceleration (not stopping)
wohoo that's cool
Please Log in or Create an account to join the conversation.
- arhi
-
Topic Author
- Offline
- Senior Member
-
Less
More
- Posts: 54
- Thank you received: 4
03 Jun 2016 20:28 #75467
by arhi
Replied by arhi on topic G38.x and acceleration (not stopping)
fibured out scale, but stepgen.x.maxaccel is "parameter" and not a "pin" so I'm having troubles doing the
so only to do some setp in mcode that would change it .. or there's a way to link output of scale to parameter?
attm my hal looks like
net X-maxxacel scale.0.out => stepgen.0.maxaccel
so only to do some setp in mcode that would change it .. or there's a way to link output of scale to parameter?
attm my hal looks like
sets spindle-at-speed true
loadrt scale count=3
addf scale.0 servo-thread
addf scale.1 servo-thread
addf scale.2 servo-thread
setp scale.0.gain 1.200
setp scale.1.gain 1.200
setp scale.2.gain 1.200
net X-accel motion.analog-out-00 => ini.0.max_acceleration scale.0.in
# this one won't run, stepgen.0.maxaccel not a pin :(
#net X-maxxacel scale.0.out => stepgen.0.maxaccel
net Y-accel motion.analog-out-01 => ini.1.max_acceleration
net Z-accel motion.analog-out-02 => ini.2.max_acceleration
Please Log in or Create an account to join the conversation.
- andypugh
-
- Offline
- Moderator
-
Less
More
- Posts: 23279
- Thank you received: 4933
03 Jun 2016 20:55 #75468
by andypugh
Ah, sorry, no. I may have sent you on the wrong track again.
Parameters can only be set by the "setp" command, they can't be part of a net.
So, perhaps the way to do this is with a custom M-code:
linuxcnc.org/docs/2.7/html/gcode/m-code.html#mcode:m100-m199
Replied by andypugh on topic G38.x and acceleration (not stopping)
so only to do some setp in mcode that would change it .. or there's a way to link output of scale to parameter?
Ah, sorry, no. I may have sent you on the wrong track again.
Parameters can only be set by the "setp" command, they can't be part of a net.
So, perhaps the way to do this is with a custom M-code:
linuxcnc.org/docs/2.7/html/gcode/m-code.html#mcode:m100-m199
Please Log in or Create an account to join the conversation.
Time to create page: 0.065 seconds