## introduction

I want to see exactly how we get offset under P-only control, and how PI control eliminates the offset. I’m going to use Example 3 again… I’m going to look at P and PI control… and I’m going to use the Tyreus-Luyben (“T-L”) tuning rules, which we’ve seen before.

When I started this, I was wondering about two things:

• Is the control effort nonzero when we have offset?
• We don’t always have offset under P-only control, do we?

I can’t say I’ve become an expert in offset, but I’m a little more comfortable with it. Now what I’d like to know is why the control effort goes to zero when we do not have offset – but that’s a question still looking for an answer.

Let me tell you up front what we will find:

• With P-only control, we may have offset: the output will not tend to the set point.
• In that case, the use of PI-control will eliminate offset.
• But if our plant (G) has a pole of any order at the origin, then P-only control does not lead to offset.
• In that case, you could imagine that the plant itself includes integral control.

## Control Theory – Example 3: PI, PD, and PID

There’s something I forgot to do when I looked at PID tuning: I meant to look at the Bode plots for the controllers, literally to see what they do individually. In addition, I’m going to mention real derivative control; I’ve long known that the simple PID includes “ideal” derivative control, but I only just realized just how unrealistic it is.

It’s probably just as well that this end up in a separate post.

Let’s just dive in to Bode plots.

## PID with Ziegler-Nichols rules

Recall our plant… first the definition, then the resulting transfer function.

We found, by looking at the gain margin for the open loop Bode plot of the plant that the ultimate gain and ultimate period were 10 and $2 \pi\$:

## Control Theory: Example 3 – Ziegler-Nichols and Tyreus-Luyben Tuning Rules

Edit 21 Jan 2013: added “Example 3” to the title.

## Introduction

I’m going to jump right in and imagine that we have a known plant which we wish to control using P, PI, or PID. I’m going to assume that you have some idea what those are. We’ve seen proportional (P) control, where the control signal is proportional to the error. Integral control has a signal which is proportional to the integral of the error, and derivative control a signal which is proportional to the rate of change (the derivative) of the error. Proportional control is always used in conjunction with integral, hence PI. Although derivative control can be used with only proportional, in process control we generally use both integral and proportional with it, hence PID. We’ll talk more about them in subsequent posts, but for now I want to show you two ways to get the required parameters. They may not always be very good values, but they’ll be better than in the ballpark. At the very least, they are good starting values for further investigation.

Oh, I am aware that Mathematica® version 9 has new capabilities for tuning controllers – but let me write about what I know, using version 8.

My plant is a 3rd-order transfer function… as usual, rules are a convenient way to specify things:

## Review

Let us recall Example 1. Carstens’ final solution was to take K =.032, so that the plant and the parameters were… and the open loop transfer function was:

The corner frequency (the breakpont) is still 4 rad/sec. Here’s the open-loop Bode plot.
Read the rest of this entry »

## review: K = 1

Let us resume Example 1. We started with the following transfer function, for which I arbitrarily assumed K = 1 and that the given factor of 100 was part of the plant G. There are two poles at -4, and 0.

… which had the following open loop Bode plot
Read the rest of this entry »

## Introduction

Everyone under the sun seems to have their own way of organizing control theory. I may very well end up – I hope I end up – with a few different conceptual approaches for myself. But to begin with, I’m going to just start with examples, so that I’ve got a lot of material to try organizing. If you’re new to control theory, my beginning may seem rather chaotic. Sorry.

It is also my intention to stay with classical control theory for quite a while… I’ll move to state space after I’m comfortable with SISO – single input, single output – and the pre-state-space methodologies.

This first example does one positive thing: it illustrates the effect of proportional control.

It also does a few things that are not quite positive: that is, it raises a few questions. I’m more than a little glad it’s not perfectly straight-forward. Let me not keep secrets:

• Carstens’ first real design problem, later in the book, suggests that this solution is not an acceptable real-world design.
• Tuning rules such as Ziegler-Nichols, which require that the system be brought to the edge of instability, cannot be applied.
• Minimizing the obvious measures of error do not agree with his solution – although his looks pretty standard to me.

My point is not that his solution is incorrect, but that it’s sort of incomplete. It’s a student exercise. Let me rephrase that: I’m delighted to know if the solution to an exercise really is a real-world solution, regardless of whether it is or is not… just so I know which.

Let me start by grabbing a drawing from an earlier post.
Read the rest of this entry »

## Control Theory – Simple Bode Plots

Minor edits 10/28/12: replaced “poles -1/tau” by “poles s = -1/tau” and at least one -1/tau by the absolute value of -1/tau.

We’re going to be looking at multiple Bode plots in one image. Despite everything I’ve shown you, it seems impossible to set both the color and the thickness. I believe this is a bug.

Here’s what happens if I try. (This happens to be a second-order system.)

So, we lost the color spec in the phase plots. I’ve tried a few other possibilities, but they don’t work either.
Read the rest of this entry »
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 0, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 1, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0, "katex": 0, "math-container": 0, "wp-katex-eq": 0, "align": 0, "equation": 0, "x-ck12": 0, "texerror": 0, "math_score": 0.7551014423370361, "perplexity": 851.8978625519412}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "plain"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "warc_path": "s3://commoncrawl/crawl-data/CC-MAIN-2018-30/segments/1531676596336.96/warc/CC-MAIN-20180723110342-20180723130342-00000.warc.gz"}