5i25 + 7i85s +....
Problem solved, if you tell my my idea is ok... So:
I disabled FERROR.
As i understand: MIN_FERROR calculates the Maximum Error in combination with TRAJ - ACCELERATION.
Goog or bad Idea?
To your Questions:
Is LinuxCNC using the encoder or a step-generator to drive joint.N.motor-pos-fb ?
Atm i use the Encoder to gain experiance, but not joint.Nmotor-pos-fb. I use:
net x-pos-fb <= hm2_5i25.0.encoder.00.position
#net x-pos-fb <= hm2_5i25.0.stepgen.00.position-fb
net x-pos-fb => pid.x.feedback
net x-pos-fb => axis.0.motor-pos-fb
Is your stepgen_maxaccel bigger than the joint accel limit? (it needs to be, to give a bit of headroom)
MAX_ACCELERATION = 800
STEPGEN_MAXACCEL = 1000
Are you using encoder feedback to close the position loop?
If so, loop tuning will be quite different than the local stepgen tuning
So, not just a more sensible PID tuning?
Please Log in or Create an account to join the conversation.
You are now using encoder feedback to close the position loop
this requires very different tuning than closing the local steogen loop
At the minimum P must be lower since there will now be a significant delay
between setting a stepgen velocity and the resultant position change
I would suggest that you plot the ferror vs velocity on halscope to be able to
tune the control loop
Please Log in or Create an account to join the conversation.
MIN-FERROR calculates FERROR with TRAJ - ACCELERATION.
And i found something more. If i give more "load" on the Servo it doesnt happen that often.
So maybe overshoot?
Please Log in or Create an account to join the conversation.
It is OK to disable it on your DRO-only config, but make sure that there is no way to even accidentally turn on the servos in that config.
F_ERROR and MIN_F_ERROR are used at high and low speeds respectively, I don't think that [TRAJ]ACCELERATION is part of the calculation, but MAX_VELOCITY might be.
Can you remind me what LinuxCNC version and kinematics module you are using?
Please Log in or Create an account to join the conversation.
And i found something more. If i give more "load" on the Servo it doesnt happen that often.
So maybe overshoot?
This isn't something you need to speculate about, but rather something you can measure (with HALScope)
But yes if you still have your 1000 P term from the local stepgen tuning, its pretty much guaranteed to oscillate/overshoot
Please Log in or Create an account to join the conversation.
All fine, im still in test mode, with the servo mounted on a Table
![;) ;)](/media/kunena/emoticons/wink.png)
Even on the Machine my endswitches are direktly hooked to the drives main power plus brake resistor.
Youre right, its Velocity, not Acceleration, to work with FERROR im sorry, was just reading to quick!
Ok, before i waste more of your time, ill better dive deeper into Hallscope and tuning.
Otherwise ill go from one problem into the next one...
See:... G00 X1000 leads to 999.970. Typing x1000 againt, it wont move the last 0.030.... (stepgen also as encoder)
My Version is 2.7.0
Kinematics should be standard XYZ trivkins. Well i didnt set anything special atleast.
Please Log in or Create an account to join the conversation.
COMMANDED also as ACTUAL position moves from 0 to 999.97x and 1000 to 0.02x
If it also has something to do with PID i guess ill figure it out.
[edit]
Im just stupid... -> unconected pid.x.feedback accidently. All fine now.
Please Log in or Create an account to join the conversation.
The steps at a MESA setup are not precalculatet from position to position like in a stepper configuration.
Its a totally different way of movement.
I dont know, why i didnt realized that before.
Please Log in or Create an account to join the conversation.
is hidden in the driver when you use position mode.
Please Log in or Create an account to join the conversation.
It would be the same, if Axis sends Coordinates and MESA calculates the Step/Dir sequence.
The MESA card isnt able to know how many Steps are needed.
Axis just sends velocity and acceleration informations and recalculates it (PID) by the Feedback from the MESA card.
In Steppermode there is a perfeckt stable set of Step/Dir signals for a calculated move.
20 repeats and 20 times the same.
Im in a hard decision now... I compared my Servos in
- steppermode on LPT with 8.000steps/rev.
- and Servomode on MESA
-> Steppermode is way more accurat. And the Hardware PID inside the Drive does the rest.
-> Servomode gives me about 10 times more Speed.
Its like: digital is digital ... analog is analog.
Please Log in or Create an account to join the conversation.