G38.x and acceleration (not stopping)

More
03 Jun 2016 17:34 #75449 by arhi
dunno what happened to my last reply, might be that I forgot to click submit :( .. was a long one :(...

[
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 :( but hey, it is what it is I'll work around it :D

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 :D

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

More
03 Jun 2016 18:07 - 03 Jun 2016 18:11 #75453 by Rick G

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.

More
03 Jun 2016 19:30 #75459 by arhi

When you increase acceleration you must also increase the stepgen_maxaccel.


forgot about that one :D ... but, hm, I have only 4 analog outputs, can't setup 6 values :( ..

Keep in mind too that a stepper torque can drop off rapidly as the rpm increases.


yes of course

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.

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 ..

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.

More
03 Jun 2016 19:34 #75461 by andypugh

forgot about that one :D ... 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.

More
03 Jun 2016 19:57 #75463 by arhi
wohoo that's cool

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

More
03 Jun 2016 20:28 #75467 by arhi
fibured out scale, but stepgen.x.maxaccel is "parameter" and not a "pin" so I'm having troubles doing the
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.

More
03 Jun 2016 20:55 #75468 by andypugh

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.122 seconds
Powered by Kunena Forum