Consider a DC motor, being switched by a H bridge that is controlled by a PI current regulator. As long as the error (SetCurrent-Current) is positive everything is good. However, when this goes negative we have a problem as you couldn't set a negative duty cycle. How is this solved in practice? Using the other transistors to reverse the current? I tried using solely an I regulator which off course works kind of, but as expected performs very poor. Maybe it could be solved by ignoring the P part when we overshoot the setpoint?