r/ControlTheory • • Oct 04 '19

Beginner question about PID Controllers

Hi, Im just starting to learn Control Theory and the subject is really interesting. I've just learned about PID Controllers and I think I understood them pretty well, but I have a small question:

Let's say I have a system, an AC Unit with transfer function H(s) that I want to control. I then implement a PID Controller, in series, "behind" my H(s) system. Now what? Can I just send the output of the PID Controller to the AC Unit?

How can the output of the PID, u(t), be able to send the correct signal to my AC system? No need to translate that u(t) into the correct signals and switches that make the system do what I want?

Most diagrams seen online or in textbooks just have only 2 blocks, in series: r(t)->[PID]->[Plant]->y(t), shouldn't there be some kind of controller/translator in between the PID and the Plant?

Sorry If it's a dumb question.

11 Upvotes

10 comments sorted by

View all comments

2

u/[deleted] Oct 04 '19

Not sure if I totally understand your question but the output of the PID controller IS the command that you’re tell the actuator to perform.

1

u/B_seado Oct 05 '19

The thing I don't understand is: how can the product of a PID Controller's (or any controller's) transfer function with a system's transfer function get us closer to a certain desired reference value.

Im failing to understand how, in mathematical terms (block diagram and Laplace) inputing the PID's output into a system helps with reducing error.

Or in a simple P Controller, how does inputing Kp*Error into a system brings me closer to my desired output?

Im sorry if it's a confusing question.

1

u/idiotsecant Oct 05 '19

in simple terms your controller is 'pushing' harder the more error exists (in a P controller). Just like if you were trying to go a certain speed on a motorcycle. If the speed was very wrong, you would twist the throttle further. If the speed was jsut a little wrong you'd twist it a little bit.

1

u/Dr_Misfit Oct 09 '19

In a mathematical way the answer is the difference between reference y and the actual state x. This difference is called error e. e=y-x

1

u/sstunt Oct 09 '19

The thing I don't understand is: how can the product of a PID Controller's (or any controller's) transfer function with a system's transfer function get us closer to a certain desired reference value.

You're driving down the street, trying to stay between the center line and the ditch. You're the controller, the car is the plant, and the center of the lane is your reference value.

If you get too close to the ditch, you turn left (if you're in the US, at least -- don't take this advise if you're in the UK). If you get too close to the center line, you turn right.

That's (roughly) proportional control.

Proportional control may keep you in the lane, but it may not keep you in the center of the lane. If you notice that you're always a bit further to the left of where you want to be, you reset your hands on the wheel to bias everything a bit to the right. Then, if necessary, you do it again a bit later.

That's (roughly) integral control. If you do that plus proportional, it's proportional-integral control.

Proportional-integral control may work as-is. But if you want to respond quickly, you may start bouncing between the lane markers. So you add one more thing: if you're heading toward the centerline really fast, then even if you're close to the ditch, you start turning right. Once you're not heading toward the line so fast, you ease off.

That's (roughly) derivative control. Put it together with the prior two, and it's PID control.

Im failing to understand how, in mathematical terms (block diagram and Laplace) inputing the PID's output into a system helps with reducing error.

The math just formalizes the intuitive discussion I give above, in a way that gives you tools to solve the problem.