autotune

Purpose:

Initiate tuning of a specified PID loop using the Ziegler-Nichols method (closed loop version – with relay caused oscillations). Note that the length of time to autotune is dependent on the period of oscillation of the system. Ten to twenty oscillations will be required…sometimes more if the system is not well behaved.

If results are not achieved after some time period use the ‘abort_autotune’ command to terminate the autotune session.

When completed, the control task prints many items, including:
       Ultimate gain
       Number of cycles
       Period for cycles

New gains will be suggested but not implemented.

IMPORTANT: Before starting, make sure the controller output is near the midpoint of allowed values.

Enter:

autotune <controller>

Where:

controller

  • Specify the number of the controller for which autotune is performed ONLY IF running the old ctrl_task
  • Specify the loop name if running the new user_ctrl_task
  • Specify the controller name if running the new eng_ctrl_task. These must be spelled exactly though capitalization is not important.
    DYNO
    DYNO2
    THROTTLE

Example:

autotune   fuel_cooling
This command starts the autotuning session for the fuel cooling user loop when running the new user control task.

abort_autotune fuel_cooling
This command terminates the autotuning session and returns the controller to the PID control mode.

autotune Dyno
This command starts the autotuning session for the dyno when using the new ctrl_task.

autotune 0
This command starts the autotuning session for controller 0 when using the old ctrl_task.

Notes:

 

See Also:

Autotuning PID Loops, abort_autotune