{ "cells": [ { "cell_type": "markdown", "metadata": { "nbpages": { "level": 0, "link": "[](https://jckantor.github.io/CBE30338/05.04-Controller-Tuning-Rules-in-Frequency-Domain.html)", "section": "" } }, "source": [ "\n", "*This notebook contains material from [CBE30338](https://jckantor.github.io/CBE30338);\n", "content is available [on Github](https://github.com/jckantor/CBE30338.git).*\n" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 0, "link": "[](https://jckantor.github.io/CBE30338/05.04-Controller-Tuning-Rules-in-Frequency-Domain.html)", "section": "" } }, "source": [ "\n", "< [5.3 Creating Bode Plots](https://jckantor.github.io/CBE30338/05.03-Creating-Bode-Plots.html) | [Contents](toc.html) | [Tag Index](tag_index.html) | [5.5 Baroreflex as a Linear Control System](https://jckantor.github.io/CBE30338/05.05-Baroreflex-as-a-Linear-Control-System.html) >

\"Open

\"Download\"" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 1, "link": "[5.4 Controller Tuning Rules in Frequency Domain](https://jckantor.github.io/CBE30338/05.04-Controller-Tuning-Rules-in-Frequency-Domain.html#5.4-Controller-Tuning-Rules-in-Frequency-Domain)", "section": "5.4 Controller Tuning Rules in Frequency Domain" } }, "source": [ "# 5.4 Controller Tuning Rules in Frequency Domain\n", "\n", "Demonstrate the use of a Bode plot for controller tuning. The notebook uses the [Python Control Systems Library](https://github.com/python-control/python-control). " ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 2, "link": "[5.4.1 Closed-Loop Transfer Functions](https://jckantor.github.io/CBE30338/05.04-Controller-Tuning-Rules-in-Frequency-Domain.html#5.4.1-Closed-Loop-Transfer-Functions)", "section": "5.4.1 Closed-Loop Transfer Functions" } }, "source": [ "## 5.4.1 Closed-Loop Transfer Functions" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 3, "link": "[5.4.1.1 Process Transfer Functions](https://jckantor.github.io/CBE30338/05.04-Controller-Tuning-Rules-in-Frequency-Domain.html#5.4.1.1-Process-Transfer-Functions)", "section": "5.4.1.1 Process Transfer Functions" } }, "source": [ "### 5.4.1.1 Process Transfer Functions\n", "\n", "The process output $y$ is modeled as the output of a linear system described by the transfer function \n", "\n", "$$y = G_p(s)G_v(s) u + G_d(s) d$$\n", "\n", "where $G_p(s)$ is the process response to a manipulated variable, $G_v(s)$ is the transfer function of the actuator dynamics, and $G_d(s)$ is process response to a disturbance. The measured process output is given by\n", "\n", "$$y_m = G_m(s) y$$\n", "\n", "where $G_m(s)$ is the sensor transfer function. We assume the sensor has unit gain, i.e., $G_m(0) = 1$" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 3, "link": "[5.4.1.2 Control Transfer Functions](https://jckantor.github.io/CBE30338/05.04-Controller-Tuning-Rules-in-Frequency-Domain.html#5.4.1.2-Control-Transfer-Functions)", "section": "5.4.1.2 Control Transfer Functions" } }, "source": [ "### 5.4.1.2 Control Transfer Functions\n", "\n", "The controller generates a command $u$ in response to the reference input $r$ and measured process output $y_m$. This is modeled as\n", "\n", "$$u = G_r(s)r - G_y(s)y_m$$\n", "\n", "where $G_r(s)$ and $G_y(s)$ are the controller transfer functions. Textbook simulations often set $G_r(s) = G_y(s)$ for PID control. In practice, however, it is generally desireable to avoid excessive action in response to setpoint changes, so generally $G_r \\neq G_y$.\n", "\n", "Below we employ a parallel implementation of PID control for output feedback where\n", "\n", "$$G_y(s) = K_p\\left[ 1 + \\frac{1}{\\tau_Is} + \\frac{\\tau_D s}{\\alpha\\tau_Ds + 1}\\right]$$\n", "\n", "where parameter $\\alpha$ limits excessive derivative action. Typical values of $\\alpha$ are in the range 0.2 to 0.1.\n", "\n", "For the reference signal, $G_r(s)$ has the same general form but with additional parameters $\\beta$ and $\\gamma$\n", "\n", "$$G_r(s) = K_p\\left[ \\beta + \\frac{1}{\\tau_Is} + \\gamma\\frac{\\tau_D s}{\\alpha\\tau_Ds + 1}\\right]$$\n", "\n", "Commonly $\\gamma = 0$ to avoid derivative action on the reference signal. Parameter $\\beta$ is typically set to a value $0\\leq\\beta\\leq 1$ that balances prompt response to a setpoint against undue 'kicks' caused by sudden changes in setpoint." ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 3, "link": "[5.4.1.3 Closed Loop Transfer Functions](https://jckantor.github.io/CBE30338/05.04-Controller-Tuning-Rules-in-Frequency-Domain.html#5.4.1.3-Closed-Loop-Transfer-Functions)", "section": "5.4.1.3 Closed Loop Transfer Functions" } }, "source": [ "### 5.4.1.3 Closed Loop Transfer Functions\n", "\n", "The overall response of the closed-loop system is characterized by a set of four transfer functions relating the reference and disturbance inputs to the process output $y$ and the control command $u$.\n", "\n", "$$\\begin{align*}\n", "y & = H_{yr}(s)r + H_{yd}(s)d \\\\\n", "u & = H_{ur}(s)r + H_{ud}(s)d\n", "\\end{align*}\n", "$$\n", "\n", "The closed-loop transfer functions are given explicitly as \n", "\n", "$$H_{yr} = \\frac{G_pG_vG_r}{1 + G_pG_vG_yG_m}$$\n", "\n", "$$H_{yd} = \\frac{G_d}{1 + G_pG_vG_yG_m}$$\n", "\n", "$$H_{ur} = \\frac{G_r}{1 + G_yG_mG_pG_v}$$\n", "\n", "$$H_{ud} = -\\frac{G_yG_mG_d}{1 + G_yG_mG_pG_v}$$\n", "\n", "where the argument $s$ has been suppressed for brevity." ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 2, "link": "[5.4.2 Example](https://jckantor.github.io/CBE30338/05.04-Controller-Tuning-Rules-in-Frequency-Domain.html#5.4.2-Example)", "section": "5.4.2 Example" } }, "source": [ "## 5.4.2 Example\n", "\n", "We'll assume a process transfer function with time delay\n", "\n", "$$G_p(s) = \\frac{0.2}{s^2 + 1.5 s + 1}$$\n", "\n", "and a disturbance response\n", "\n", "$$G_d(s) = \\frac{1}{s + 1}$$\n", "\n", "and a measurement transfer function\n", "\n", "$$G_m(s) = e^{-s}$$\n", "\n", "We'll assume the dynamics of the actuator are negligible such that $G_v(s) = 1$. \n", "\n", "The Python Control Systems Library does not provide a specific representation for time delay. It does, however, provide a function `pade` for creating Pade approximations to time delay systems." ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 3, "link": "[5.4.2.1 Entering Process Transfer Functions](https://jckantor.github.io/CBE30338/05.04-Controller-Tuning-Rules-in-Frequency-Domain.html#5.4.2.1-Entering-Process-Transfer-Functions)", "section": "5.4.2.1 Entering Process Transfer Functions" } }, "source": [ "### 5.4.2.1 Entering Process Transfer Functions" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "nbpages": { "level": 3, "link": "[5.4.2.1 Entering Process Transfer Functions](https://jckantor.github.io/CBE30338/05.04-Controller-Tuning-Rules-in-Frequency-Domain.html#5.4.2.1-Entering-Process-Transfer-Functions)", "section": "5.4.2.1 Entering Process Transfer Functions" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Gp = \n", " 0.2\n", "---------------\n", "s^2 + 1.5 s + 1\n", "\n", "Gd = \n", " 1\n", "-----\n", "s + 1\n", "\n", "Gv = \n", "1\n", "-\n", "1\n", "\n", "Gm = \n", "-s^3 + 12 s^2 - 60 s + 120\n", "--------------------------\n", "s^3 + 12 s^2 + 60 s + 120\n", "\n" ] } ], "source": [ "%matplotlib inline\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from control.matlab import *\n", "\n", "Gp = tf([0.2],[1, 1.5, 1])\n", "print(\"Gp = \", Gp)\n", "\n", "Gd = tf([1],[1,1])\n", "print(\"Gd = \", Gd)\n", "\n", "Gv = tf([1],[1])\n", "print(\"Gv = \", Gv)\n", "\n", "(num,den) = pade(1.0,3)\n", "Gm = tf(num,den)\n", "print(\"Gm = \", Gm)" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 3, "link": "[5.4.2.2 Finding Cross-Over Frequency and Gain at Cross-Over](https://jckantor.github.io/CBE30338/05.04-Controller-Tuning-Rules-in-Frequency-Domain.html#5.4.2.2-Finding-Cross-Over-Frequency-and-Gain-at-Cross-Over)", "section": "5.4.2.2 Finding Cross-Over Frequency and Gain at Cross-Over" } }, "source": [ "### 5.4.2.2 Finding Cross-Over Frequency and Gain at Cross-Over" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "nbpages": { "level": 3, "link": "[5.4.2.2 Finding Cross-Over Frequency and Gain at Cross-Over](https://jckantor.github.io/CBE30338/05.04-Controller-Tuning-Rules-in-Frequency-Domain.html#5.4.2.2-Finding-Cross-Over-Frequency-and-Gain-at-Cross-Over)", "section": "5.4.2.2 Finding Cross-Over Frequency and Gain at Cross-Over" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nA5eBf4YcKJWJAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "w = np.logspace(-1,1)\n", "mag,phase,omega = bode(Gp*Gm*Gv,w)\n", "plt.tight_layout()\n", "\n", "# find the cross-over frequency and gain at cross-over\n", "wc = np.interp(-180.0,np.flipud(phase),np.flipud(omega))\n", "gc = np.interp(wc,omega,mag)\n", "\n", "# get the subplots axes\n", "ax1,ax2 = plt.gcf().axes\n", "\n", "# add features to the magnitude plot\n", "plt.sca(ax1)\n", "plt.plot([omega[0],omega[-1]],[gc,gc],'r--')\n", "[gmin,gmax] = plt.ylim()\n", "plt.plot([wc,wc],[gmin,gmax],'r--')\n", "plt.title(\"Gain at Crossover = {0:.3g}\".format(gc))\n", "\n", "# add features to the phase plot\n", "plt.sca(ax2)\n", "plt.plot([omega[0],omega[-1]],[-180,-180],'r--')\n", "[pmin,pmax] = plt.ylim()\n", "plt.plot([wc,wc],[pmin,pmax],'r--')\n", "plt.title(\"Crossover Frequency = {0:.3g}\".format(wc))" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 3, "link": "[5.4.2.3 Computing Ultimate Gain and Period](https://jckantor.github.io/CBE30338/05.04-Controller-Tuning-Rules-in-Frequency-Domain.html#5.4.2.3-Computing-Ultimate-Gain-and-Period)", "section": "5.4.2.3 Computing Ultimate Gain and Period" } }, "source": [ "### 5.4.2.3 Computing Ultimate Gain and Period\n", "\n", "The conventional tuning rules for process control are written in terms of an ultimate gain $K_{cu}$ and ultimate period $P_u$. These are the values obtained by an experiment or calculation where the gain of a proportional only controller is increased until a steady closed-loop oscillation is first observed. The corresponding proportional gain is $K_{cu}$, and the period of oscillation is $P_u$.\n", "\n", "These values may be computed from a Bode plot. The ultimate period corresponds to\n", "\n", "$$P_u = \\frac{2\\pi}{\\omega_c}$$\n", "\n", "where $\\omega_c$ is the cross-over frequency. The ultimate gain is then\n", "\n", "$$K_{cu} = \\frac{1}{G_p(\\omega_c)}$$\n", "\n", "where $G_p(\\omega_c)$ is the open-loop process gain at the cross-over frequency." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true, "nbpages": { "level": 3, "link": "[5.4.2.3 Computing Ultimate Gain and Period](https://jckantor.github.io/CBE30338/05.04-Controller-Tuning-Rules-in-Frequency-Domain.html#5.4.2.3-Computing-Ultimate-Gain-and-Period)", "section": "5.4.2.3 Computing Ultimate Gain and Period" } }, "outputs": [], "source": [ "Kcu = 1.0/gc\n", "Pu = 2.0*np.pi/wc" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 2, "link": "[5.4.3 Ziegler-Nichols Tuning Rules](https://jckantor.github.io/CBE30338/05.04-Controller-Tuning-Rules-in-Frequency-Domain.html#5.4.3-Ziegler-Nichols-Tuning-Rules)", "section": "5.4.3 Ziegler-Nichols Tuning Rules" } }, "source": [ "## 5.4.3 Ziegler-Nichols Tuning Rules\n", "\n", "| Control | $K_p$ | $\\tau_I$ | $\\tau_D$ |\n", "| :-----: | :---------: | :---------------: | :-------------: |\n", "| P | $0.5K_{cu}$ | $-$ | $-$ |\n", "| PI | $0.45K_{cu}$| $\\frac{P_u}{1.2}$ | $-$ |\n", "| PID | $0.6K_{cu}$ | $\\frac{P_u}{2}$ | $\\frac{P_u}{8}$ |" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "nbpages": { "level": 2, "link": "[5.4.3 Ziegler-Nichols Tuning Rules](https://jckantor.github.io/CBE30338/05.04-Controller-Tuning-Rules-in-Frequency-Domain.html#5.4.3-Ziegler-Nichols-Tuning-Rules)", "section": "5.4.3 Ziegler-Nichols Tuning Rules" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Ziegler-Nichols PID Tuning\n", "Kp = 5.97\n", "tauI = 2.48\n", "tauD = 0.621\n" ] } ], "source": [ "Kp = 0.6*Kcu\n", "tauI = Pu/2.0\n", "tauD = Pu/8.0\n", "\n", "print(\"Ziegler-Nichols PID Tuning\")\n", "print(\"Kp = {0:0.3g}\".format(Kp))\n", "print(\"tauI = {0:0.3g}\".format(tauI))\n", "print(\"tauD = {0:0.3g}\".format(tauD))" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 3, "link": "[5.4.3.1 Interactive Tuning of a PID Controller](https://jckantor.github.io/CBE30338/05.04-Controller-Tuning-Rules-in-Frequency-Domain.html#5.4.3.1-Interactive-Tuning-of-a-PID-Controller)", "section": "5.4.3.1 Interactive Tuning of a PID Controller" } }, "source": [ "### 5.4.3.1 Interactive Tuning of a PID Controller\n", "\n", "The following cell is initiated with the Ziegler-Nichols tuning for PID control. Interactive sliders can be adjusted to tune the controller for acceptable response." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "nbpages": { "level": 3, "link": "[5.4.3.1 Interactive Tuning of a PID Controller](https://jckantor.github.io/CBE30338/05.04-Controller-Tuning-Rules-in-Frequency-Domain.html#5.4.3.1-Interactive-Tuning-of-a-PID-Controller)", "section": "5.4.3.1 Interactive Tuning of a PID Controller" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nRK2+Olx/PRx2GIwbB3ffDb/+daoZlaUOHaB/fzjnnDTN7/334ayz4LPPYMiQlDDbcUe44QawNJ6k\n1qYsE1OSJEkqLUsvDZttlhIbpWziRLj//jQiRU3ttFNK1gwdmkbttEbjxqVC/T17wu23p7poH3wA\nZ59dWonKH/0IjjkGnnkmxTdsWCqmvvfeKUn1X/9lkkpS62FiSpIkqUKEEN4PIcxqtNWFEI4r1Pl3\n3hkefri0/1i+4w6oq0ujYjS3Cy+EtdZKP8uJE/OOpnC+/hp+/3tYc800qu+cc9KopOOPL/06Tqus\nkpKFTz0FH36Y6lFNnDg7STV4MNx4o9P9JJUvE1OSJEmVIwInAVXA8sAKwKWFOvmOO8KMGXDvvYU6\nY+Hdcgtsvjksv3zekZSmxRZLo96+/hqqq1MSr5zV1cFVV8Eaa6SpimedBe+9l0YjdemSd3QLb+WV\nU4Jt9OjZSaovv4S99kpJqp12siaVpPJTlqvySZIkaZH9J8b4RTFOvMoq0Lcv3HlnSmqUmvHj0wpo\nf/lL3pGUtlVXhVtvTavD/fGPKflRjkaPTsXFX3wxjS465xxYYYW8oyqchiTV73+fklS33w633ZZq\nUrVvn2pW/dd/pW3VVfOOtjTFmFZI/O672duUKel2xoz0fMPW8PqG++3bQ6dOTbeOHWff79Ilrcoo\naf5MTEmSJFWWE0IIpwAfAjcDw2OMBRsXs+OOcMEFMHMmtCuxnuZtt6UC7bvsknckpW/LLdPP8eij\nU72jQw/NO6IF98knaYreTTelROlTT8HGG+cdVXGtskr6WR19dEpSjRqVCrkfeywcdRT89Kew/faw\nxRawySblOVpsQdTVpRUVP/wQPv001eX68sumtw33J01KSahZs4oTSwjQtSt069by7ZJLznszuaVK\nUWLdBUmSJBXRn4FaYCLwC+Ac0pS+YwvVwMCBcMopaZTKhhsW6qyFUVMDgwalQu2av4aROIcfnqaJ\n7bpr3hG1bPp0uOiiNF2vc+c0dW/ffVMyspKsskr6mR1+eJrS98ADKUl1/fVw3nkpYdyvX0pS9e8P\nG2yQkiClLsZUW+ujj9Ln8qOPZm8Njz/5JCXFG7Rpk37fl10Wllkm3a66arpdaqmU+OncOd02bA2P\nO3RI5whh9tbwGFI706bN3qZPn31/6lT49ttUb++bb5refv45vP327Mdffw3ff9/8e27btmmiaqml\nWk5kNWxLLJHex2KLpa0cfgfq6tK/Q8M2Y0bz92fOTFtdXcv357VvTnMm/lp6HEL6mcxva9duwV63\nIOdo02b2FsLc9+e1r9yYmJIkSSpjIYRhwPEtvCQCP4kxvhVjvLjR/ldDCN8DV4QQ/hBjnFGIeDbc\nMP1R9+ijpZWYeu89ePrpNIpGCyaEVAx9wgTYc8/0R/HAgXlHNbcY4Z57UoHwDz5I0/dOOaU8ki3F\n1rVrSijuumv6dxo7Nv1uNkxp/dOf0utWXx369EkjzHr3TgXwV1op/WGchYak08cfp+TSJ5+k+3Mm\nnqZOnX1M+/YpxpVXTqP6Ntkk3V9llXTbowd0714eSZlp01KCas5t0qTm93/4YdPXzJjP1btjx9mJ\nqs6dmyat5kyizOsxpNFlzW11dU3vzyup1FLCqWGKZKG1aZPeQ7t2cydt5mxzfo8b3l/D+y1lzSWs\nmrsPTaeqNphz35y3hX7/JqYkSZLK2wXAtfN5zbh57H+O1B/8MfD2vA4eOnQo3bp1a7Kvurqa6mYK\nSbVvn/5AfPRROK5g6/39cLfckv4IGzw470jKS5s2cN116Y/fHXaAv/8dttsu76hmGzs2jey6/37Y\naqs0hW2ddfKOqjSFAD/5SdoOPTT9YfnmmzBmDNTWptuzzkojfSD9Lv/4x7DaamlbYYU0+qh799nb\nEkvMTl40JDBCSAmkKVNm306ZAl991XT78kv47LOUgPr005ScadCmTVqgYOWV0/azn81OODVsVVXl\nkXRaEJ06pfe7KIsyxNg0sTVpEvznP03//Vu6bTyaqK4ujfxq/Ljh+cYJjea2htE97dqlxFeHDukz\n1KFDy/cX9nXt28/9mWt8O+e+Yo0eirFpomrOf7OWtgV97cyZqY2GtuZ1f37Pt3R/zpGAzd3W1tbw\n4os1Td7/tGmTeffdwv17mpiSJEkqYzHGr4CvFvHw3sAs4POWXjR8+HD69OmzwCcdMADOPDN9G96+\n/SJGVmA1NSkptfjieUdSfjp0SAXtd989rfpWUwO/+lW+MX39dRrt8+c/pyTFnXemn285TmHJS5s2\nsxNVQ4akfbNmwbhx8M478O676f64cfDkk2kK2ldfNZ0qt7A6dkzJrWWWSbcrrQQ//3ka3dSjR3rc\no0dK0JRajbpSFcLs0U+tqbh/qWs8ra/1q67fZqutraVv374Fa8Ffd0mSpAoQQvg5sBHwKPAtqcbU\nRcANMcbJhWxrwAA44QR44YXSKDr92mvwyiuzpy1p4XXsmIrH77037LZbWqnvmA2ln+kAABC/SURB\nVGOyTwRNnw6XX55+ltOmwWmnpTg6dco2jtaqTRvo2TNtzYkxjcb56qs09e4//5l7FEiMsxMlDVvn\nzikR1bmzyUNJczMxJUmSVBmmA78BTgU6Au8BFwLDC91Qnz5pis+jj5ZGYqqmJtUb2mabvCMpb+3b\nw403pno+//3fafrX1VenZEOxzZqVfo4nnZTq6/z2tykpteKKxW9bs4WQfreXWCJN85OkQmgls3Il\nSZLUkhjjizHGjWOM3WOMXWKM68YYzytU0fPG2rWDzTZLiam8xTh76lnHjnlHU/7atoVzzoFbb4W7\n7krFskePLl57McK996aV44YMgfXWS6PfrrzSpJQktRYmpiRJklRwAwakhMX06fnG8dxzqUZOM3Xa\n9QPsths8/zx06wabbgqHHZamdxXK9OlpBcVevWD77dNUvSeeSMkwi5tLUutiYkqSJEkFN2BAWvHp\nuefyjaOmJhVS3nzzfONojdZZJyUf//xnGDEiTfE79ti00tqiiDHVA/vv/05FsIcMSYWwH3sstbPJ\nJgUNX5JUIkxMSZIkqeB69Up1nfKczldXl6ac7b57payclL22beGII9KotN//Hq66Kq2St+WW8Je/\nwJtvpp/DvHz6KYwalQqYr7EGrLsuXHst7LVXSlLddx/072/BbElqzSx+LkmSpIJr23Z2nalTTskn\nhscfh/HjncaXhWWXTSvlHXtsSgb+/e9w+OEpKdWpE6y9dpr217kzzJgBn3+eRlZ98UU6fsUVYYcd\n4JJLYOBA64FJUiUxMSVJkqSiGDAATjgBpk1LyYms1dTAaqtBv37Zt12pllwSDjoobZMmpZX7XnkF\nxo6F//wHpkxJyak114SqqjRCasMN09Q9R0VJUmUyMSVJkqSiGDAgFbF++ul0P0vTp8Ptt6ei3CY8\n8rHUUmn008CBeUciSSpl1piSJElSUfzsZ7D00vnUmbr/fvj6a6fxSZJU6kxMSZIkqSjatEmFq/NI\nTN14Y0qM/fSn2bctSZIWnIkpSZIkFc2AAfDss6m2UFYmToS77oJ9982uTUmStGhMTEmSJKloBgxI\nq7CNHp1dm7fcklaD23PP7NqUJEmLxsSUJEmSimaddWC55eCRR7Jr87rrYPvt06pvkiSptLkqnyRJ\n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\nkiRJkiRJufg/gOhoSi0/pqMAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from ipywidgets import interact, interactive, fixed\n", "import ipywidgets as widgets\n", "\n", "def f(alpha=0.1,beta=0.5,gamma=0.0,Kp=0.6*Kcu,tauI=Pu/2.0,tauD=Pu/8.0):\n", " \n", " # parallel implementation of PID control\n", " P = Kp * tf([1.0],[1.0])\n", " I = (Kp/tauI) * tf([1.0],[1.0,0.0])\n", " D = Kp*tauD * tf([1.0,0.0],[alpha*tauD,1.0])\n", "\n", " # controller transfer functions\n", " Gr = beta*P + I + gamma*D\n", " Gy = P + I + D\n", "\n", " t = np.linspace(0,20,200)\n", " plt.figure(figsize=(12,6))\n", "\n", " yr,t = step(Gp*Gv*Gr/(1+Gp*Gv*Gy*Gm),t)\n", " plt.subplot(2,2,1)\n", " plt.plot(t,yr)\n", " plt.plot(plt.xlim(),[1.0,1.0],'r--')\n", " plt.title('Setpoint Response')\n", " plt.ylabel('Output y')\n", "\n", " yd,t = step(Gd/(1+Gp*Gv*Gy*Gm),t)\n", " plt.subplot(2,2,2)\n", " plt.plot(t,yd)\n", " plt.plot(plt.xlim(),[0.0,0.0],'r--')\n", " plt.title('Disturbance Response')\n", " plt.ylabel('Output y')\n", "\n", " ur,t = step(Gr/(1+Gy*Gm*Gp*Gv),t)\n", " plt.subplot(2,2,3)\n", " plt.plot(t,ur)\n", " plt.plot(plt.xlim(),[0.0,0.0],'r--')\n", " plt.ylabel('Control u')\n", "\n", " ud,t = step(-Gy*Gd/(1+Gy*Gm*Gp*Gv),t)\n", " plt.subplot(2,2,4)\n", " plt.plot(t,ud)\n", " plt.plot(plt.xlim(),[0.0,0.0],'r--')\n", " plt.ylabel('Control u')\n", "\n", " plt.tight_layout()\n", " \n", "interact(f, \n", " alpha=fixed(0.1), \n", " Kp = (0.01*Kcu,Kcu),\n", " tauI = (Pu/20.0,Pu),\n", " tauD = (0.0,Pu),\n", " continuous_update=False)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "nbpages": { "level": 3, "link": "[5.4.3.1 Interactive Tuning of a PID Controller](https://jckantor.github.io/CBE30338/05.04-Controller-Tuning-Rules-in-Frequency-Domain.html#5.4.3.1-Interactive-Tuning-of-a-PID-Controller)", "section": "5.4.3.1 Interactive Tuning of a PID Controller" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "12.2 3.0\n" ] } ], "source": [ "def h(a,b):\n", " print(a,b)\n", "\n", "def g(Controller):\n", " interact(h,a=12.2,b=3.)\n", " return\n", "\n", "interact(g, Controller=['P','PI','PID']);" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "nbpages": { "level": 3, "link": "[5.4.3.1 Interactive Tuning of a PID Controller](https://jckantor.github.io/CBE30338/05.04-Controller-Tuning-Rules-in-Frequency-Domain.html#5.4.3.1-Interactive-Tuning-of-a-PID-Controller)", "section": "5.4.3.1 Interactive Tuning of a PID Controller" } }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 3, "link": "[5.4.3.1 Interactive Tuning of a PID Controller](https://jckantor.github.io/CBE30338/05.04-Controller-Tuning-Rules-in-Frequency-Domain.html#5.4.3.1-Interactive-Tuning-of-a-PID-Controller)", "section": "5.4.3.1 Interactive Tuning of a PID Controller" } }, "source": [ "\n", "< [5.3 Creating Bode Plots](https://jckantor.github.io/CBE30338/05.03-Creating-Bode-Plots.html) | [Contents](toc.html) | [Tag Index](tag_index.html) | [5.5 Baroreflex as a Linear Control System](https://jckantor.github.io/CBE30338/05.05-Baroreflex-as-a-Linear-Control-System.html) >

\"Open

\"Download\"" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.4" } }, "nbformat": 4, "nbformat_minor": 2 }