коротки из мануала:
подробности: http://www.linuxcnc.org/docs/html/man/m ... pid.9.htmlat_pid has a built in auto tune mode. It works by setting up a limit cycle to characterize the process. From this, Pgain/Igain/Dgain or Pgain/Igain/FF1 can be determined using Ziegler-Nichols. When using FF1, scaling must be set so that output is in user units per second.
During auto tuning, the command input should not change. The limit cycle is setup around the commanded position. No initial tuning values are required to start auto tuning. Only tune-cycles, tune-effort and tune-mode need be set before starting auto tuning. When auto tuning completes, the tuning parameters will be set. If running from LinuxCNC, the FERROR setting for the axis being tuned may need to be loosened up as it must be larger than the limit cycle amplitude in order to avoid a following error.
To perform auto tuning, take the following steps. Move the axis to be tuned, to somewhere near the center of it’s travel. Set tune-cycles (the default value should be fine in most cases) and tune-mode. Set tune-effort to a small value. Set enable to true. Set tune-mode to true. Set tune-start to true. If no oscillation occurs, or the oscillation is too small, slowly increase tune-effort. Auto tuning can be aborted at any time by setting enable or tune-mode to false.
п.с. поиск по этому сайту по слову "at_pid" не работает, поэтому извиняйте, если тема уже была!

