{"id":9431,"date":"2021-12-19T16:00:12","date_gmt":"2021-12-19T16:00:12","guid":{"rendered":"https:\/\/bryceautomation.com\/?p=9431"},"modified":"2021-12-19T22:04:37","modified_gmt":"2021-12-19T22:04:37","slug":"pid-with-ziegler-nichols-method","status":"publish","type":"post","link":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/19\/pid-with-ziegler-nichols-method\/","title":{"rendered":"PID with  Ziegler-Nichols Method"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Introduction to PID tuning with Ziegler-Nichols method (rule based variation)<\/h3>\n\n\n\n<p>In this section, we&#8217;ll tune a PID with the Ziegler-Nichols Method.  This will be a rule based variation.   Previously, we discussed a trial and error based method.  Recall that we increased Kc until the loop was unstable.  At this point, we record the natural period.  After that, we divide Kc by 2, and Ti was our natural period of the oscillations.  We are going to perform this exercise using our <a href=\"https:\/\/bryceautomation.com\/index.php\/2021\/11\/25\/arduino-pid-simulator\/\">simulator<\/a>.<\/p><div id=\"bryce-592483061\" class=\"bryce-afterfirst bryce-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-8316758073402323\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-8316758073402323\" \ndata-ad-slot=\"7728240895\" \ndata-ad-format=\"auto\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>\n\n\n\n<p>A big disadvantage of PID with Ziegler-Nichols Method  is that we must use open loop control.  This means the PID will not have control of the control variable as we tune the loop.   Additionally, the loop must be stable, and we will apply step changes.  The loop must have some natural stability.  For example, when the process variable is higher, the losses are higher.<\/p>\n\n\n\n<p>As always, when tuning a loop, you must have protections in place.  You very well could loose control of the output.  Especially since we need to open the loop for this method.<\/p>\n\n\n\n<p>Realize that if you re-tune a loop in a cascade configuration, you may have to tune the other loops in the configuration as well.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Remove all PID Influence from the Control Variable<\/h3>\n\n\n\n<p>Since this this is a velocity PID, we will set Kc, Ti, and Td to zero.  The output will remain constant.  To emphasize, we have no control of the output at this point.  It always remains constant.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"303\" height=\"136\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-145.png\" alt=\"\" class=\"wp-image-9433 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-145.png 303w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-145-300x135.png 300w\" data-sizes=\"(max-width: 303px) 100vw, 303px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 303px; --smush-placeholder-aspect-ratio: 303\/136;\" \/><\/figure>\n\n\n\n<p>Now, wait for the Process Variable to settle.<\/p>\n\n\n\n<p><strong><em>On this trend chart, green is the process variable.  Similarly, red is the control variable.  Blue represents the setpoint.<\/em><\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"256\" height=\"102\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-146.png\" alt=\"\" class=\"wp-image-9435 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 256px; --smush-placeholder-aspect-ratio: 256\/102;\" \/><\/figure>\n\n\n\n<p>As you can see, our Control Variable is flat.  It has no action.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Apply a Step Change<\/h3>\n\n\n\n<p>We&#8217;ll apply a small bias to the FF input of the PIDE instruction.  The purpose of this step change is to cause a disturbance, so we can record some properties of our process variable.  Since this method is heavily dependent on making sure our timing is accurate, change your X axis to a span of 2 minutes.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"202\" height=\"66\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-147.png\" alt=\"\" class=\"wp-image-9437 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 202px; --smush-placeholder-aspect-ratio: 202\/66;\" \/><\/figure>\n\n\n\n<p>Apply a Feed Forward bias of 1%.  Watch the graph.   Stop the chart once your process variable stabilizes.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"473\" height=\"256\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-148.png\" alt=\"\" class=\"wp-image-9438 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-148.png 473w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-148-300x162.png 300w\" data-sizes=\"(max-width: 473px) 100vw, 473px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 473px; --smush-placeholder-aspect-ratio: 473\/256;\" \/><\/figure>\n\n\n\n<p>At this point, we need to record some data from the chart.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Recording Variables for tuning PID with the Ziegler-Nichols Method<\/h3>\n\n\n\n<p>The first thing we&#8217;ll need to do is draw a tangent at the divergent point.   Basically, this is the average slope of the graph.<\/p>\n\n\n\n<p>Our Lag time is about 2 seconds.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"477\" height=\"259\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-149.png\" alt=\"\" class=\"wp-image-9440 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-149.png 477w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-149-300x163.png 300w\" data-sizes=\"(max-width: 477px) 100vw, 477px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 477px; --smush-placeholder-aspect-ratio: 477\/259;\" \/><\/figure>\n\n\n\n<p>At this point, we need the Time Constant (tau).<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"478\" height=\"255\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-150.png\" alt=\"\" class=\"wp-image-9441 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-150.png 478w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-150-300x160.png 300w\" data-sizes=\"(max-width: 478px) 100vw, 478px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 478px; --smush-placeholder-aspect-ratio: 478\/255;\" \/><\/figure>\n\n\n\n<p>Our time constant is 30 seconds.  This should be the amount of time it takes for our process variable to get to about 63% of it&#8217;s final value.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Variables for Tuning <\/h3>\n\n\n\n<p>To summarize, I&#8217;ll list the variables we have recorded so far.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Recall that the change in output was simply 1%.<\/li><li>gp is the percent change in PV, which is 12.<\/li><li>Td is our lag, which is 2 seconds, or .03 Minutes.<\/li><li>Tau is the time constant, which was 30 seconds., which is .5 Minutes.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Calculate the Gains<\/h3>\n\n\n\n<p>To calculate our starting gains, we simply need to plug these variables into an equation.<\/p>\n\n\n\n<p>If want only want to use a proportional controller, out:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Kc=Time Constant \/ (%PV Change * Lag)<\/li><\/ul>\n\n\n\n<p>Most of the time, we will use proportional and integral together.  In that case, we would set the gains using the following formulas<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Kc= 0.9 * Time Constant \/ (%PV Change * Lag)<\/li><li>Ti = 3.33 * Lag<\/li><\/ul>\n\n\n\n<p>If you decide to use all 3 elements of PID, then use the following formulas.  The units are in minutes.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Kc = 1.2* Time Constant \/ (%PV change * Lag)<\/li><li>Ti = Lag * 2<\/li><li>Td = Lag \/ 2<\/li><\/ul>\n\n\n\n<p>Now, let&#8217;s calculate our values if we are using just a PI Controller:<\/p>\n\n\n\n<p>Kc = .01875<\/p>\n\n\n\n<p>Ti = .111<\/p>\n\n\n\n<p>Let&#8217;s plug in these numbers to see how the loop will respond.  Using this method, our Kc is much less aggressive, and these numbers rely heavily on Integral.  In other words, the Proportional gain is lower, and the integral gain is faster.<\/p>\n\n\n\n<p>You can now remove the FF Bias.   Hard code the setpoint to 50 in our flow controller, and see if the loop is stable.  We also need to restart our trend chart.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Test Your Work<\/h3>\n\n\n\n<p>Try a setpoint of 20.   Once the loop stabilizes, change your setpoint back to 50 to test our disturbances.<\/p>\n\n\n\n<p><strong><em>Remember that red is the control variable.  Green represents our process variable.  Green is the setpoint.<\/em><\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"842\" height=\"349\" data-src=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-151.png\" alt=\"\" class=\"wp-image-9444 lazyload\" data-srcset=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-151.png 842w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-151-300x124.png 300w, https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-151-768x318.png 768w\" data-sizes=\"(max-width: 842px) 100vw, 842px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 842px; --smush-placeholder-aspect-ratio: 842\/349;\" \/><\/figure>\n\n\n\n<p>Clearly, we are able to achieve the setpoint within a reasonable amount of time.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Summary<\/h3>\n\n\n\n<p>In short, we removed the controller&#8217;s ability to provide a change in output.  We did this by setting Kc, Ti, and Td all to zero.  Next, we provided a step change by using Feed Forward (FF) Bias.  We recorded the process lag time.  At this point, we also recorded the time constant.  That is the amount of time it took the PV to reach 63% of it&#8217;s final outcome.  We also recorded the final resting value for the process variable.  Once we had our values written down, we simply plug these values into the above equations to tune the loop.<\/p>\n\n\n\n<p>&#8212; Ricky Bryce<\/p>\n<div id=\"bryce-535884054\" class=\"bryce-after-content bryce-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-8316758073402323\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-8316758073402323\" \ndata-ad-slot=\"4667596182\" \ndata-ad-format=\"auto\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Introduction to PID tuning with Ziegler-Nichols method (rule based variation) In this section, we&#8217;ll tune a PID with the Ziegler-Nichols Method. This will be a rule based variation. Previously, we discussed a trial and error based method. Recall that we increased Kc until the loop was unstable. At this point, we record the natural period. <a class=\"moretag btn btn-primary\" href=\"https:\/\/bryceautomation.com\/index.php\/2021\/12\/19\/pid-with-ziegler-nichols-method\/\">Read More \u00bb<\/a><\/p>\n","protected":false},"author":1,"featured_media":9441,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,410],"tags":[],"class_list":{"0":"post-9431","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-controllogix","8":"category-pid","9":"czr-hentry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PID with Ziegler-Nichols Method - Bryce Automation<\/title>\n<meta name=\"description\" content=\"Set up and tune PID with the Ziegler-Nichols Method. We will find the lag, time constant, and % change to derive our gains.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/bryceautomation.com\/index.php\/2021\/12\/19\/pid-with-ziegler-nichols-method\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PID with Ziegler-Nichols Method - Bryce Automation\" \/>\n<meta property=\"og:description\" content=\"Set up and tune PID with the Ziegler-Nichols Method. We will find the lag, time constant, and % change to derive our gains.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bryceautomation.com\/index.php\/2021\/12\/19\/pid-with-ziegler-nichols-method\/\" \/>\n<meta property=\"og:site_name\" content=\"Bryce Automation\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/ricky.bryce.7\" \/>\n<meta property=\"article:published_time\" content=\"2021-12-19T16:00:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-12-19T22:04:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-150.png\" \/>\n\t<meta property=\"og:image:width\" content=\"478\" \/>\n\t<meta property=\"og:image:height\" content=\"255\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ricky\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/19\\\/pid-with-ziegler-nichols-method\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/19\\\/pid-with-ziegler-nichols-method\\\/\"},\"author\":{\"name\":\"Ricky\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"headline\":\"PID with Ziegler-Nichols Method\",\"datePublished\":\"2021-12-19T16:00:12+00:00\",\"dateModified\":\"2021-12-19T22:04:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/19\\\/pid-with-ziegler-nichols-method\\\/\"},\"wordCount\":847,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/19\\\/pid-with-ziegler-nichols-method\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/image-150.png\",\"articleSection\":[\"ControlLogix\",\"PID\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/19\\\/pid-with-ziegler-nichols-method\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/19\\\/pid-with-ziegler-nichols-method\\\/\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/19\\\/pid-with-ziegler-nichols-method\\\/\",\"name\":\"PID with Ziegler-Nichols Method - Bryce Automation\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/19\\\/pid-with-ziegler-nichols-method\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/19\\\/pid-with-ziegler-nichols-method\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/image-150.png\",\"datePublished\":\"2021-12-19T16:00:12+00:00\",\"dateModified\":\"2021-12-19T22:04:37+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\"},\"description\":\"Set up and tune PID with the Ziegler-Nichols Method. We will find the lag, time constant, and % change to derive our gains.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/19\\\/pid-with-ziegler-nichols-method\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/19\\\/pid-with-ziegler-nichols-method\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/19\\\/pid-with-ziegler-nichols-method\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/image-150.png\",\"contentUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/uploads\\\/2021\\\/12\\\/image-150.png\",\"width\":478,\"height\":255,\"caption\":\"time constant\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/2021\\\/12\\\/19\\\/pid-with-ziegler-nichols-method\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bryceautomation.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PID with Ziegler-Nichols Method\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#website\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/\",\"name\":\"Bryce Automation\",\"description\":\"Automating Home and Industry...\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/bryceautomation.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/#\\\/schema\\\/person\\\/5d5b0f6f6ad768f1ee52968338e63af7\",\"name\":\"Ricky\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/wphb-cache\\\/gravatar\\\/a8f\\\/a8fe6bf79d292b388ffee281ccb12488x96.jpg\",\"url\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/wphb-cache\\\/gravatar\\\/a8f\\\/a8fe6bf79d292b388ffee281ccb12488x96.jpg\",\"contentUrl\":\"https:\\\/\\\/bryceautomation.com\\\/wp-content\\\/wphb-cache\\\/gravatar\\\/a8f\\\/a8fe6bf79d292b388ffee281ccb12488x96.jpg\",\"caption\":\"Ricky\"},\"sameAs\":[\"http:\\\/\\\/bryceautomation.com\",\"https:\\\/\\\/www.facebook.com\\\/ricky.bryce.7\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/ricky-bryce-4367a416\\\/\"],\"url\":\"https:\\\/\\\/bryceautomation.com\\\/index.php\\\/author\\\/ricky\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PID with Ziegler-Nichols Method - Bryce Automation","description":"Set up and tune PID with the Ziegler-Nichols Method. We will find the lag, time constant, and % change to derive our gains.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/19\/pid-with-ziegler-nichols-method\/","og_locale":"en_US","og_type":"article","og_title":"PID with Ziegler-Nichols Method - Bryce Automation","og_description":"Set up and tune PID with the Ziegler-Nichols Method. We will find the lag, time constant, and % change to derive our gains.","og_url":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/19\/pid-with-ziegler-nichols-method\/","og_site_name":"Bryce Automation","article_author":"https:\/\/www.facebook.com\/ricky.bryce.7","article_published_time":"2021-12-19T16:00:12+00:00","article_modified_time":"2021-12-19T22:04:37+00:00","og_image":[{"width":478,"height":255,"url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-150.png","type":"image\/png"}],"author":"Ricky","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/19\/pid-with-ziegler-nichols-method\/#article","isPartOf":{"@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/19\/pid-with-ziegler-nichols-method\/"},"author":{"name":"Ricky","@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"headline":"PID with Ziegler-Nichols Method","datePublished":"2021-12-19T16:00:12+00:00","dateModified":"2021-12-19T22:04:37+00:00","mainEntityOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/19\/pid-with-ziegler-nichols-method\/"},"wordCount":847,"commentCount":0,"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/19\/pid-with-ziegler-nichols-method\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-150.png","articleSection":["ControlLogix","PID"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/bryceautomation.com\/index.php\/2021\/12\/19\/pid-with-ziegler-nichols-method\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/19\/pid-with-ziegler-nichols-method\/","url":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/19\/pid-with-ziegler-nichols-method\/","name":"PID with Ziegler-Nichols Method - Bryce Automation","isPartOf":{"@id":"https:\/\/bryceautomation.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/19\/pid-with-ziegler-nichols-method\/#primaryimage"},"image":{"@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/19\/pid-with-ziegler-nichols-method\/#primaryimage"},"thumbnailUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-150.png","datePublished":"2021-12-19T16:00:12+00:00","dateModified":"2021-12-19T22:04:37+00:00","author":{"@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7"},"description":"Set up and tune PID with the Ziegler-Nichols Method. We will find the lag, time constant, and % change to derive our gains.","breadcrumb":{"@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/19\/pid-with-ziegler-nichols-method\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bryceautomation.com\/index.php\/2021\/12\/19\/pid-with-ziegler-nichols-method\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/19\/pid-with-ziegler-nichols-method\/#primaryimage","url":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-150.png","contentUrl":"https:\/\/bryceautomation.com\/wp-content\/uploads\/2021\/12\/image-150.png","width":478,"height":255,"caption":"time constant"},{"@type":"BreadcrumbList","@id":"https:\/\/bryceautomation.com\/index.php\/2021\/12\/19\/pid-with-ziegler-nichols-method\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bryceautomation.com\/"},{"@type":"ListItem","position":2,"name":"PID with Ziegler-Nichols Method"}]},{"@type":"WebSite","@id":"https:\/\/bryceautomation.com\/#website","url":"https:\/\/bryceautomation.com\/","name":"Bryce Automation","description":"Automating Home and Industry...","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bryceautomation.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/bryceautomation.com\/#\/schema\/person\/5d5b0f6f6ad768f1ee52968338e63af7","name":"Ricky","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bryceautomation.com\/wp-content\/wphb-cache\/gravatar\/a8f\/a8fe6bf79d292b388ffee281ccb12488x96.jpg","url":"https:\/\/bryceautomation.com\/wp-content\/wphb-cache\/gravatar\/a8f\/a8fe6bf79d292b388ffee281ccb12488x96.jpg","contentUrl":"https:\/\/bryceautomation.com\/wp-content\/wphb-cache\/gravatar\/a8f\/a8fe6bf79d292b388ffee281ccb12488x96.jpg","caption":"Ricky"},"sameAs":["http:\/\/bryceautomation.com","https:\/\/www.facebook.com\/ricky.bryce.7","https:\/\/www.linkedin.com\/in\/ricky-bryce-4367a416\/"],"url":"https:\/\/bryceautomation.com\/index.php\/author\/ricky\/"}]}},"_links":{"self":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/posts\/9431","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/comments?post=9431"}],"version-history":[{"count":0,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/posts\/9431\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media\/9441"}],"wp:attachment":[{"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/media?parent=9431"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/categories?post=9431"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bryceautomation.com\/index.php\/wp-json\/wp\/v2\/tags?post=9431"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}