Questions tagged [pid-controller]

A proportional-integral-derivative controller (PID controller) is a control loop feedback mechanism (controller) widely used in industrial control systems.

A proportional-integral-derivative controller (PID controller) is a control loop feedback mechanism (controller) widely used in industrial control systems. A PID controller calculates an "error" value as the difference between a measured process variable and a desired setpoint. The controller attempts to minimize the error by adjusting the process control outputs.

The PID controller algorithm involves three separate constant parameters, and is accordingly sometimes called three-term control: the proportional, the integral and derivative values, denoted P, I, and D. Simply put, these values can be interpreted in terms of time: P depends on the present error, I on the accumulation of past errors, and D is a prediction of future errors, based on current rate of change. The weighted sum of these three actions is used to adjust the process via a control element such as the position of a control valve, a damper, or the power supplied to a heating element.

In the absence of knowledge of the underlying process, a PID controller has historically been considered to be the best controller. By tuning the three parameters in the PID controller algorithm, the controller can provide control action designed for specific process requirements. The response of the controller can be described in terms of the responsiveness of the controller to an error, the degree to which the controller overshoots the setpoint, and the degree of system oscillation. Note that the use of the PID algorithm for control does not guarantee optimal control of the system or system stability.

Some applications may require using only one or two actions to provide the appropriate system control. This is achieved by setting the other parameters to zero. A PID controller will be called a PI, PD, P or I controller in the absence of the respective control actions. PI controllers are fairly common, since derivative action is sensitive to measurement noise, whereas the absence of an integral term may prevent the system from reaching its target value due to the control action.

170 questions
1
vote
1 answer

Differential part of PID and its low pass filter- time domain

I programmed PID in MATLAB: classdef PID < handle properties Kp = 0 Ki = 0 Kd = 0 SetPoint = 1 Dt = 0.01 end properties (Access = private) IState = 0 PreErr = 0 end …
Anthony
  • 3,595
  • 2
  • 29
  • 38
1
vote
1 answer

How to program a PID control of one variable with two variable inputs?

I am trying to design a PID control (or perhaps just PI), for a system which uses evaporative cooling. The product starts very hot and is cooled with water, which is what I am attempting to control. With evaporative cooling, if too much water is…
Beutler
  • 83
  • 1
  • 8
1
vote
0 answers

PID Tuning Line Following Robot

I am working in a line following robot and I'm trying to implement a PID control loop, but i don't know how to tune it effectively. I have two sensors, with the black line in the middle of them. I'm calculating the error with the intensity of…
Bertone
  • 21
  • 2
1
vote
1 answer

PID tuning method for high stability and minimal to no overshoot

I'm trying to use a PID to control temperature, but I have 2 problems: the system cannot oscillate +/- 0.005C; and I need little to no overshoot. I'm testing/learning trying to control temperature using a light bulb and a class a pt-100 because the…
user169808
  • 503
  • 1
  • 6
  • 27
1
vote
1 answer

Is it possible to implement a PID controller in Simscape (branch of Simulink)?

I am trying to implement a PID controller in a Simscape circuit model but the system doesn't seem to like my format. I am using the PID controller block from Simulink and implementing it within Simscape using the convert from source to Simulink…
1
vote
1 answer

PID Integrator component

I'm trying to understand PIDs and there is just one thing in the general equation that I can't figure out, that is what does the Tau in the integration mean? in the pdf equation 10.1 there is ki * integral[ e(tau) dtau ] but it doesn't say that it…
user169808
  • 503
  • 1
  • 6
  • 27
1
vote
1 answer

Can I implement PID control directly on velocity along axis for a quadcopter

I am making an automated quadcopter: no radio transmitter-receiver and the quacopter flies on its own with pre-programmed orders. All most all quadcopter implement PID on throttle/yaw/pitch/roll as these 4 axes are directly on an remote controller.…
Light
  • 87
  • 7
1
vote
2 answers

Laview PID.vi continues when event case is False

I'm looking for a way to disable the PID.vi from running in Labview when the event case container is false. The program controls motor position to maintain constant tension on a cable using target force and actual force as the input parameters. The…
1
vote
1 answer

Manually pid design on Matlab

Good morning. I am trying to design a PD controller manually and i wanted to be able to have a plot with parameters on which i can change their values live and see their result on plot. I want to emphasize again that i want to do the design by…
ysig
  • 447
  • 4
  • 18
1
vote
1 answer

Control theory implemented in C++

I am doing Android programming using Java-Eclipse Luna on Windows 8.1, also, I am using native environment (C++). As a next step in my project, I have to control a mobile robot by building an app in Android. My question is, are there any…
M.A.
  • 169
  • 1
  • 1
  • 18
1
vote
1 answer

Arduino stops working after several seconds

I'm trying to build a PID controller for a Segway type vehicle. I run the code and it will stop working after a few seconds. I am using a sparkfun 9d0f IMU with an Arduino uno. I'm guessing there's an overflow somewhere or an endless loop. Any…
tomcat671
  • 11
  • 2
1
vote
1 answer

bumpless transfer for a family of PIDs

I have a family of PID controllers (around 100), each designed based on an operating point. During implementation, I am using interpolation. However, still the transfer is not bumpless. How do we implement a family of PIDs with bumpless transfer?
user3489173
  • 45
  • 1
  • 9
1
vote
1 answer

PID gains from the transfer function of a plant

I am trying to calculate gains ( Kp, Ki, Kd ) of a PID controller. I have to improve the response of a plant. I already have the Transfer function of the plant. I was wondering if matlab has some command for calculation of controller gains ( kp ki…
sukhvir
  • 5,265
  • 6
  • 41
  • 43
1
vote
1 answer

Simulink PID 3 output signals block

I'm following a Simulink tutorial with PID controller. Where can I find the following block?
Daniel Koczuła
  • 1,034
  • 3
  • 15
  • 29
1
vote
1 answer

PID tuning in Simulink Matlab , Some explanation in simple terms required

What happens behind the scene when the PID block in the Matlab Simulink is tuning and linearising the plant, designing the controller and so on ?
AAI
  • 290
  • 1
  • 3
  • 20