

To maximize efficiency, the transistors are driven at a higher voltage than the microcontroller. Several design challenges include preventing shoot-through, implementingĪ snubber circuit, as well as open and closed loop (such as PID) controlĪn H-bridge circuit consists of four transistors (usually two PMOS’s and two NMOS’s). With pulse-width modulation (PWM) from a microcontroller to vary This will force the controller to reset the accumulated time term and the response in the first iteration will be purely proportional.Bi-directional motor control can be done using an H-bridge circuit

But, if you must pause the controller action, consider re-initializing the controller. If you are using it properly, then you should not have to stop the controller action. My first suggestion is don't pause the controller - let the PID do what it is supposed to do. Since the response of the integral portion of the controller is the proportional to the integral of the error over dt, the longer you pause the larger the response simply because because the the algorithm is performing a trapezoidal integration over dt. The time that you have paused will have a more significant impact on the integral term. The effect of a large accumulated time between calls will be to reduce the response of this term. The derivative output will kick in when there is a change in the process variable (use of the process variable prevents derivative kick). If you have "paused" calculation for some time, this will have an impact on the integral and derivative output.

Since you have not specified a dt, the PID algorithm uses the accumulated time between calls. In the VI itself, dt will be either 1) what you set it to, or 2) an accumulation of time based on a tick count stored in the VI (the default). If you take a closer look at the PID VI, you can see what is happening and why you might not get the response you expect. Also, the PID VIs are coded in G so you can simply open them to see how they operate. A great reference for understanding PIDs and how they are implemented in LabVIEW can be found here (not sure why it is archived).

What Yair said is not entirely true - the integral and derivative terms are indeed time dependent, but the proportional is not.
