A proportional–integral–derivative controller. Computes fuzzy output value based on an actual current input value and the desired value.

pid-controller

@/pid-controller

A proportional–integral–derivative controller. Computes fuzzy output value based on an actual current input value and the desired value.

INnumber

Current actual value. Usually provided by a feedback mechanism such as encoder, thermometer, or another sensor.

TARGnumber

Target, desired value. The final effect of `OUT` would make `IN` converge to `TARG` if coefficients set up correctly.

Kpnumber

P (proportional) factor. Set to 0 to disable, positive value to increase `OUT` if `IN` is less than `TARG`, negative value to inverse. Start with tweaking this coefficient first. Values in range (0.0, 2.0) usually give a decent result.

Kinumber

I (integral) factor. Set to 0 to disable. Non-zero value control a reaction to the accumulated error value.

Kdnumber

D (derivative) factor. Set to 0 to disable. Non-zero value control a reaction to the rate of error change.

UPDpulse

Triggers new computation, i.e. `OUT` update.

RSTpulse

Resets computed errors and rates. Leads to starting computation from scratch.

OUTnumber

Computed effect value. Usually sent to an actuator like motor, cooler, etc.