Jump to content

Draft:Take-back-half controller

From Wikipedia, the free encyclopedia


A Take-back-half controller is a feedback loop used to manage processes that are required to maintain a constant variable, frequently temperature or speed. It works based on integrating the difference between the measured variable and its setpoint in which it is desired to be at, while trying to minimize oscillation by decreasing the integral value every time that the sign of the error changes, dividing the integral term by 2 and adding a setpoint value which dynamically changes every time that the sign of the error swaps.

Pseudocode

[edit]
previous_error := 0
integral := 0
tbh := 0
kH := 0
loop:
  error := setpoint - measured_value
  integral := integral + error
  if not (sgn(error) == sgn(previous_error)):
    integral := (integral + tbh) / 2
    tbh = integral
  previous_error = error
  output := kH * integral

In this implementation kH is the singular tuning factor, directly multiplying the value, which is one of the major advantages of the Take-back-half algorithm, where tbh is the setpoint, which is automatically tuned at runtime, despite the algorithm's much simpler usage than other control algorithms such as PID, it has multiple problems that it frequently does better in, such as flywheel speed control.

References

[edit]

Christopher Samuel Harper (2011) "Application of the Take-Back-Half algorithm to voltage source converter current control" - Mississippi State University