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
0
votes
1 answer

Calculating heading value in a quad copter

I'm building an autonomous quad copter I'm trying to move the quad to a target GPS co-ordinate, I'm calculating the distance of the target using haversine formula, and now I want to calculate the heading. For example, I want the quad to turn to the…
hck3r
  • 189
  • 2
  • 15
0
votes
1 answer

PID controller, Issues with coding D part.

I am working on creating a PID controller for controlling a motor. I investigated using the PID library but i believe it doesn't suit my needs, as i need to control a motor in two directions using the same controller. I currently have the PI part…
0
votes
1 answer

Arduino PID relay output with ds1820 not behaving as expected

I'm attempting to use a ds1820 temperature probe with the PID library for relay output. I'm getting the temperature just fine from the probe, but I'd expect the relay output, in this case just print statements for on/off, to change when the…
Mark Brown
  • 914
  • 1
  • 11
  • 26
0
votes
1 answer

PID control action for AC reference of variable amplitude and frequency

i have seen example of controlling output dc voltage of DC to DC buck converter using PID controller. I want to implement DC to AC converter. I tried using PID controller. Since i am comparing output AC signal(continuously varying) with reference…
ashish
  • 1
  • 1
  • 5
0
votes
1 answer

PID working with sine wave as reference in simulink

I have seen example of controlling output dc voltage of DC to DC buck converter using PID controller. I want to implement DC to AC converter. I tried using PID controller. Since i am comparing output AC signal(continuously varying) with…
ashish
  • 1
  • 1
  • 5
0
votes
1 answer

PD controller, sweep all values of Kd and Kp that satisfy system stability

Is there a way in Matlab to take a transfer function, define H (closed loop system) and sweep all values of Kp and Kd that allow the system to be stable? clear all clc close all s = tf('s'); Gs = tf(0.001667,([1 12.04 20.52 0.8342])); H =…
user2924294
  • 37
  • 1
  • 10
0
votes
1 answer

My PID Controller in Java is not operating correctly

I was looking for an implementation of a PID controller in Java and I found this one: https://code.google.com/p/frcteam443/source/browse/trunk/2010_Post_Season/Geisebot/src/freelancelibj/PIDController.java?r=17 So, for what I could understand about…
PedroD
  • 5,670
  • 12
  • 46
  • 84
0
votes
1 answer

Raspberry Pi quadcopter thrashes at high speeds

I am attempting to build a raspberry pi based quadcopter. So far I have succeeded in interfacing with all the hardware, and I have written a PID controller that is fairly stable at low throttle. The problem is that at higher throttle the quadcopter…
0
votes
1 answer

How to perform different tasks from different classes in every cycle iteration?

I've some code which basically change speed of a motor controller and records the data, however I would like to add now another class to include a pid controller, I don't know (since I'm new with python programming), how to call this every iteration…
Juliana
  • 13
  • 1
  • 1
  • 4
0
votes
2 answers

PID controller for DC motor

I want to create a PID controller. As input, I have two csv files, one with my desired behavior I want to achieve and the other with the actual values of current and voltage of a DC motor. I can read the data on the csv files and then use a PID…
Juliana
  • 13
  • 1
  • 1
  • 4
0
votes
2 answers

Formula for PI-regulation Proportional Integral algorithm

I've been reading this website: http://www.csimn.com/CSI_pages/PIDforDummies.html and I'm confused about the proportional integral part. Here's what it says. Proportional control Here’s a diagram of the controller when we have enabled only P…
mberna
  • 313
  • 5
  • 18
0
votes
2 answers

matlab PID controller, SISO tools gives a "pid" with s^2 in the denominator

When I try to use the SISOtool in matlab, it gives me this equation for the PID controller 0.056301 * (1+1000s) s(1+4.2s) This means that the equation comes out to something with an S^2 in the denominator. Which is not the equation for a…
Jenia Ivanov
  • 2,485
  • 3
  • 41
  • 69
0
votes
1 answer

significance of output of a digital pid control loop

I am coding to make a Fuzzy PID controller for a PWM motor driver for controlling speed. The feedback is a square wave from the hall-effect encoder fixed to the motor shaft. My code can count the clock rising edges between two rising edges of the…
Souparno
  • 350
  • 1
  • 5
  • 18
0
votes
1 answer

PID control - value of process parameter based on PID result

I'm trying to implement a PID controller following http://en.wikipedia.org/wiki/PID_controller The mechanism I try to control works as follows: 1. I have an input variable which I can control. Typical values would be 0.5...10. 2. I have an output…
nickb
  • 882
  • 3
  • 8
  • 22
0
votes
0 answers

Bus error (Core Dumped)

I am trying to run a ROS node which subscribes data from a node and then calculates the PID controller output and publishes it on another topic.But I get a Bus, core dumped error after every 10 cycles...I am not sure why...Here is the code for…
Preity
  • 63
  • 2
  • 4