svētd., 2024. g. 8. dec., plkst. 23:52 — lietotājs Viesturs Lācis (<viesturs.la...@gmail.com>) rakstīja: > > I would like to ask for more details on how exactly to implement this. > Since now the pid input is position, adding limit3 does not make sense > as I would not control the jerk. I need to change the pid input to > velocity. Does it mean that it will change from closing position loop > to closing velocity loop? And I will have to redo pid tuning? >
I am trying to introduce limit3 component before PID input. With all the holidays and other matters inbetween I have been stuck on this for a while. What I have in HAL file at the moment: net motor.00.vel-fb hm2_5i24.0.encoder.00.velocity => pid.0.feedback net emcmot.00.vel-cmd-raw joint.0.vel-cmd net emcmot.00.vel-cmd-raw limit.0.in net emcmot.00.vel-cmd-lim limit.0.out net emcmot.00.vel-cmd-lim pid.0.command net motor.00.command pid.0.output net motor.00.command bldc.0.value The thing I do not understand at all is how to approach PID tuning. At the moment I have set P=20 and all the rest to 0 and I get oscillations indicating that the value is too big, but the actual velocity is totally different from commanded. If I try to jog, motor does not slow down when button is released, I have to jog in opposite direction to reduce actual velocity, motor drifts until ferror limit is reached. It seems that it is no use of usual approach with starting with P parameter which almost immediately gives more or less control over the motor (increase P until vibration starts, reduce a bit and move to D). I would appreciate any advice on how to tackle this one. Viesturs _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users