<blockquote class="tx-quote-tistory" style="box-sizing: inherit; font-size: medium; line-height: 1.6; color: #666666; margin: 20px auto 0px; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif;">
   <p style="box-sizing: inherit; font-size: 16px; line-height: 1.6; letter-spacing: 0px;"><span style="box-sizing: inherit; font-weight: bolder; color: #5c5c5c; font-family: &quot;Spoqa Han Sans&quot;, sans-serif; font-size: 18px;"><span style="box-sizing: inherit; font-size: 24pt; background-color: #f15f5f; color: #ffffff;">1. PID 제어 Cruise System구현에 들어가</span></span><span style="box-sizing: inherit; font-weight: bolder; color: #5c5c5c; font-family: &quot;Spoqa Han Sans&quot;, sans-serif; font-size: 18px;"><span style="box-sizing: inherit; font-size: 24pt; background-color: #f15f5f; color: #ffffff;">에</span></span><span style="box-sizing: inherit; font-weight: bolder; color: #5c5c5c; font-family: &quot;Spoqa Han Sans&quot;, sans-serif; font-size: 18px;"><span style="box-sizing: inherit; font-size: 24pt; background-color: #f15f5f; color: #ffffff;">기 전에</span></span></p>
   </blockquote>
<p style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;">전에 작성한 글에서는 PID 제어를 사용하지 않은 Cruise System을 구현하였고 그것에 문제점에 대하여 이야기했습니다. 아무런 지식이 없는 상태에서 바로 이글을 보신다면 이해가 어려운 부분이 생길 수 있습니다.&nbsp; 이전 글을 참고하시면서 보시는것을 추천드립니다. 또한 갑자기 난이도가 높아지는것을 느끼실 겁니다. 천천히 내용을 읽어보시고 다른 자료도 참고 부탁드립니다.</p>
<div class="txc-textbox" style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium; border-style: dashed; border-width: 1px; border-color: #9fd331; background-color: #e7fdb5; padding: 10px;">
   <p style="box-sizing: inherit;">&nbsp;</p>
   <p style="box-sizing: inherit;"><span style="box-sizing: inherit; font-weight: bolder;"><span style="box-sizing: inherit; font-size: 14pt;">- 관련글 -</span></span></p>
   <p style="box-sizing: inherit;"><a href="http://kingpodo.tistory.com/33" target="_blank" style="box-sizing: inherit; background-color: transparent;">2018/07/16 - [IT etc/아두이노로 Cruise system 제작] - 0. Arduino를 사용해서 자동차 Cruise System 구현하기</a></p>
   <p style="box-sizing: inherit;"><a href="http://kingpodo.tistory.com/31" target="_blank" style="box-sizing: inherit; background-color: transparent;">2018/07/10 - [IT etc/아두이노로 Cruise system 제작] - 1. 아두이노 우노(arduino uno) 소개 및 IED 설치</a></p>
   <p style="box-sizing: inherit;"><a href="http://kingpodo.tistory.com/35" target="_blank" style="box-sizing: inherit; background-color: transparent;">2018/07/16 - [IT etc/아두이노로 Cruise system 제작] - 2. 아두이노 IDE 설치 및 기본 사용법</a></p>
   <p style="box-sizing: inherit;"><a href="http://kingpodo.tistory.com/36" target="_blank" style="box-sizing: inherit; background-color: transparent;">2018/07/17 - [IT etc/아두이노로 Cruise system 제작] - 3. Arduino LED 사용법</a></p>
   <p style="box-sizing: inherit;"><a href="http://kingpodo.tistory.com/37" target="_blank" style="box-sizing: inherit; background-color: transparent;">2018/07/17 - [IT etc/아두이노로 Cruise system 제작] - 4. Arduino Switch 사용법</a></p>
   <p style="box-sizing: inherit;"><a href="http://kingpodo.tistory.com/38" target="_blank" style="box-sizing: inherit; background-color: transparent;">2018/07/17 - [IT etc/아두이노로 Cruise system 제작] - 5. Arduino 가변저항기 사용법</a></p>
   <p style="box-sizing: inherit;"><a href="http://kingpodo.tistory.com/39" target="_blank" style="box-sizing: inherit; background-color: transparent;">2018/07/17 - [IT etc/아두이노로 Cruise system 제작] - 6-1. Arduino 초음파센서 사용법</a></p>
   <p style="box-sizing: inherit;"><a href="http://kingpodo.tistory.com/40" target="_blank" style="box-sizing: inherit; background-color: transparent;">2018/07/17 - [IT etc/아두이노로 Cruise system 제작] - 6-2. Arduino 레이저센서 사용법</a></p>
   <p style="box-sizing: inherit;"><a href="http://kingpodo.tistory.com/41" target="_blank" style="box-sizing: inherit; background-color: transparent;">2018/07/17 - [IT etc/아두이노로 Cruise system 제작] - 7. Arduino 모터드라이버 쉴드(L298P) 사용법</a></p>
   <p style="box-sizing: inherit;"><a href="http://kingpodo.tistory.com/42" target="_blank" style="box-sizing: inherit; background-color: transparent;">2018/07/19 - [IT etc/아두이노로 Cruise system 제작] - 8-1. Arduino Car로 Cruise system 구현</a></p>
   <p style="box-sizing: inherit;">&nbsp;</p>
   </div>
<p style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;"><br style="box-sizing: inherit;" /></p>
<blockquote class="tx-quote-tistory" style="box-sizing: inherit; font-size: medium; line-height: 1.6; color: #666666; margin: 20px auto 0px; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif;">
   <p style="box-sizing: inherit; font-size: 14px; line-height: 1.6; letter-spacing: 0px; padding: 0px; font-family: &quot;Spoqa Han Sans&quot;, sans-serif;"><span style="box-sizing: inherit; font-weight: bolder; color: #5c5c5c; font-size: 18px;"><span style="box-sizing: inherit; font-size: 24pt; background-color: #f15f5f; color: #ffffff;">2. PID Control</span></span></p>
   </blockquote>
<p style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;">PID Control을 사용하여 Arduino Car에 Cruise System을 구현하기 전에 PID Control이 무엇인지 알아보겠습니다.&nbsp; PID 제어는 실제 응용분야에서 많이 사용되는 제어기법입니다. 이러한 PID는 드론, 자동차, 온도등 안정적인 모터를 제어하는 부분에서 사용됩니다. 그러면 Cruise System에 PID Control이 어떻게 사용되는지 알아보겠습니다.&nbsp; 전에 올렸던 글을 보시면 안정적인 속도를&nbsp; 제어하기 위해서는 거리별 단계를 나누어 속도를 통제한다고 하였습니다. 그러면 그 단계가 무수히 많아진다면 좀더 좋은 속도제어가 될것이며 이를 가능하게 하는것이 PID 제어입니다. 아래 그림을 보시면 이해가 편하실 것입니다.</p>
<p style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;"><br style="box-sizing: inherit;" /></p>
<p style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium; text-align: center; clear: none; float: none;"><span class="imageblock" style="box-sizing: inherit; display: inline-block; width: 820px; height: auto; max-width: 100%;"><span data-url="https://t1.daumcdn.net/cfile/tistory/9986C7475B503B6F22?download" data-lightbox="lightbox" style="box-sizing: inherit; cursor: pointer;"><img src="https://t1.daumcdn.net/cfile/tistory/9986C7475B503B6F22" width="820" filename="8-5.png" filemime="image/jpeg" style="box-sizing: inherit; border-style: none; cursor: pointer; max-width: 100%; height: auto;" /></span></span></p>
<p style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;"><br style="box-sizing: inherit;" /></p>
<p style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;"><span style="box-sizing: inherit; font-weight: bolder; color: #5c5c5c; font-family: &quot;Spoqa Han Sans&quot;, sans-serif; font-size: 16px;"><span style="box-sizing: inherit; font-size: 18pt; background-color: #b5b2ff; color: #ffffff;">1) PID Control이란?</span></span></p>
<p style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;">PID Control의 명칭의&nbsp;P는 Proportional(비례), I는 Integral(적분), Differential(미분)의 앞글자를&nbsp;따온 단어입니다. 즉 비례와 적분, 미분을 사용하여 적절한 값을 도출해 제어에 응용하는 기법입니다. 이는 대상의 출력값을 측정하여 이를 원하는 설정값과 비교하여 오차를 계산하고, 이 오차를 이용하여 제어에 필요한 제어값을 계산하는 구조입니다.</p>
<p style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;"><br style="box-sizing: inherit;" /></p>
<p style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;">표준적인 형태의 PID 제어기는 아래의 식과 같이 세개의 항을 더하여 제어 값을 계산하도록 되어있습니다.</p>
<p style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium; text-align: center; clear: none; float: none;"><span class="imageblock" style="box-sizing: inherit; display: inline-block; width: 400px; height: auto; max-width: 100%;"><img src="https://t1.daumcdn.net/cfile/tistory/99AF5D4A5B50404501" width="400" filename="8-6.png" filemime="image/jpeg" style="box-sizing: inherit; border-style: none; max-width: 100%; height: auto;" /></span></p>
<p style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;">PID 제어서 각각의 항들은 오차값, 오차값의 적분, 오차값의 미분에 비례하기 때문에 비례-적분-미분 제어기라는 명칭을 가집니다.</p>
<ul style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium; list-style-type: square;">
   <li style="box-sizing: inherit;">비례항 : 현재 상태에서의 오차값의 크기에 비례한 제어작용을 한다.</li>
   <li style="box-sizing: inherit;">적분항 : 정상상태 오차를 없애는 작용을한다.</li>
   <li style="box-sizing: inherit;">미분항 : 출력값의 급격한 변화에 제동을 걸어 안정성을 향샹시킨다.</li>
   </ul>
<div style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;">PID 제어기는 위와 같은 표준식으로 사용하기도 하지만, 경우에 따라서는 약간 변형된 형태로 사용되는 경우도 많습니다.&nbsp; 그 예가 P제어</div>
<div style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;">PI제어, PD제어가 있습니다. 아래 사진은 PID를 이해하는데 많은 도움이 될꺼같아 위키백과에서 가져왔습니다. 나머지 설명들도 그래프를 같이 봐주시기 바랍니다.</div>
<div style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;"><br style="box-sizing: inherit;" /></div>
<div style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;">
   <p style="box-sizing: inherit; text-align: center; clear: none; float: none;"><span class="imageblock" style="box-sizing: inherit; display: inline-block; width: 400px; height: auto; max-width: 100%;"><img src="https://t1.daumcdn.net/cfile/tistory/991B0B4A5B50453E2A" width="400" filename="PID_Compensation_Animated.gif" filemime="image/gif" style="box-sizing: inherit; border-style: none; max-width: 100%; height: auto;" /></span></p>
   <p style="box-sizing: inherit; text-align: center; clear: none; float: none;">&lt;출처 - 위키백과&gt;</p>
   </div>
<div style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;"><span style="box-sizing: inherit; font-weight: bolder; color: #5c5c5c; font-family: &quot;Spoqa Han Sans&quot;, sans-serif; font-size: 16px;"><span style="box-sizing: inherit; font-size: 18pt; background-color: #b5b2ff; color: #ffffff;">2) P Control</span></span></div>
<div style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;">비례 제어라고 불리며 설정값과 출력값의 편차에 비례해 연속적으로 변화하는 제어 방식으로, 출력값이 설정값에 근접할수록 미세하게 제어가 가능합니다. 비례제어는 출력값과 설정값이 차이가 적어질수록 서서히 감도가 좋아져 규칙적인 사이클이 발생하지만 잔류 편차로 인해 출력값이 설정값과 정확하게 일치하지 못하는 상태가 지속됩니다.</div>
<div style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;"><br style="box-sizing: inherit;" /></div>
<p style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;"><span style="box-sizing: inherit; font-weight: bolder; color: #5c5c5c; font-family: &quot;Spoqa Han Sans&quot;, sans-serif; font-size: 16px;"><span style="box-sizing: inherit; font-size: 18pt; background-color: #b5b2ff; color: #ffffff;">3) PI Control</span></span></p>
<p style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;">비례 제어에서 발생하는 잔류 편차를 적분 동작으로 제어해 오차를 줄이기 위한 제어 방법입니다. 이 적분 제어는 정상 상태이때 오차를 제거하는 동작을 합니다. 전류 편차를 누적한 후 출력량을 늘려 오차를 제거하는 방식으로 적분 동작을 이용해 설정값에 빠르게 도달할 수 있다는 장점이 있습니다.</p>
<p style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;"><br style="box-sizing: inherit;" /></p>
<p style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;"><span style="box-sizing: inherit; font-weight: bolder; color: #5c5c5c; font-family: &quot;Spoqa Han Sans&quot;, sans-serif; font-size: 16px;"><span style="box-sizing: inherit; font-size: 18pt; background-color: #b5b2ff; color: #ffffff;">4) PD&nbsp;Control</span></span></p>
<p style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;">비례 제어에서 과출력 상태에서 생기는 오차를 미분 동작으로 제어하기 위한 제어 방법입니다. 미분 제어는 급격한 출력값의 변동이 필요할 때, 기존 동작의 편차를 파악해서 출력값을 조절해 오차를 줄이고 다시 안정상태로 돌아가는 동작을 합니다. 미분 제어는 안정성을 향상시킬 수 있는 장점이 있습니다.&nbsp;</p>
<p style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;"><br style="box-sizing: inherit;" /></p>
<p style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;"><span style="box-sizing: inherit; font-weight: bolder; color: #5c5c5c; font-family: &quot;Spoqa Han Sans&quot;, sans-serif; font-size: 16px;"><span style="box-sizing: inherit; font-size: 18pt; background-color: #b5b2ff; color: #ffffff;">5) PID&nbsp;Control</span></span></p>
<p style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;">비례 제어를 기본으로, 적분, 미분 제어를 결합한 최종형태입니다. 적분 제어를 통해&nbsp;정상적 상태에서 오차를 줄이고와 응답속도를 높여주고 미분제어를 통해서 과출력 상태에서의 오차를 줄여 안정적인 상태로만듭니다. PID제어는 이런식으로 서로 단점을 보안하고 장점을 극대화 해줍니다.&nbsp;</p>
<p style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;"><br style="box-sizing: inherit;" /></p>
<p style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;"><span style="box-sizing: inherit; font-weight: bolder; color: #5c5c5c; font-family: &quot;Spoqa Han Sans&quot;, sans-serif; font-size: 16px;"><span style="box-sizing: inherit; font-size: 18pt; background-color: #b5b2ff; color: #ffffff;">5) Gain 값(제어 파라메터)</span></span></p>
<p style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;">위에 그래프와 식을 보시면&nbsp;<img class="txc-formula" src="https://t1.daumcdn.net/cfile/tistory/9989D54D5B504A6337" historydata="%3Cflashrichtext%20version%3D%221%22%3E%0A%20%20%3Ctextformat%20font%3D%22Dotum%22%20size%3D%2216%22%20color%3D%222236962%22%20bold%3D%22false%22%20italic%3D%22false%22%20underline%3D%22false%22%20url%3D%22%22%20target%3D%22transparent%22%20align%3D%22left%22%20leftMargin%3D%2225%22%20rightMargin%3D%2225%22%20indent%3D%220%22%20leading%3D%220%22%20blockIndent%3D%220%22%20kerning%3D%22true%22%20letterSpacing%3D%220%22%20display%3D%22block%22%3E%28%7B%20K%20%7D_%7B%20p%20%7D%2C%7B%20K%20%7D_%7B%20i%20%7D%2C%7B%20K%20%7D_%7B%20d%20%7D%29%3C/textformat%3E%0A%3C/flashrichtext%3E%2C%0A14%2C%0A0xFFFFFF" width="82" height="27" style="box-sizing: inherit; border-style: none;" />&nbsp;라는 값이 있는데 이것이 Gain값입니다.&nbsp; 이는 위 그래프를 보시면 gain값이 변화에 따라 어떠한 그래프가 만들어지는지 아실 수 있습니다. 이러한 적절한 Gain값을 구하는 방식은 수학적 방법과 실험적 방법이 있는데 이를 구하여 수정하는 것을 튜닝이라고 합니다. 수학적으로 구하는 방법으로 대표적인 것은 지글러-니콜스 방법이라고합니다. 하지만 매우 어려워서 보통 실험을 통해서 gain값을 수정한다고합니다. 저도 gain값을 직접 넣어 실험을 해보면서 이 값을 구하였습니다.</p>
<p style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;"><br style="box-sizing: inherit;" /></p>
<p style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;"><br style="box-sizing: inherit;" /></p>
<blockquote class="tx-quote-tistory" style="box-sizing: inherit; font-size: medium; line-height: 1.6; color: #666666; margin: 20px auto 0px; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif;">
   <p style="box-sizing: inherit; font-size: 16px; line-height: 1.6; letter-spacing: 0px;"><span style="box-sizing: inherit; font-weight: bolder; font-family: &quot;Spoqa Han Sans&quot;, sans-serif; color: #5c5c5c; font-size: 18px;"><span style="box-sizing: inherit; font-size: 24pt; background-color: #f15f5f; color: #ffffff;">3. PID Control Sample Code</span></span></p>
   </blockquote>
<p style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;">아래 소스코드는 PID Control의 샘플코드입니다. 아래 코드를 활용해서 PID제어를 하시면 됩니다. 단 요즘 Arduino Library를 보시면 PID를 제공하고 있습니다. 저는 사용해본적이 없지만 그것도 해보시면 좋을꺼 같습니다.<span style="font-family: monospace, monospace;"></span></p>
<p style="box-sizing: inherit; color: #333333; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; font-size: medium;">다음글에서는 이 PID Control을 활용해서 Cruise 시스템을 구현해보겠습니다.</p>
<p><span class="title_post" style="box-sizing: inherit; font-weight: bolder; display: block; font-size: 40px; line-height: 1.5em; color: #ffffff; font-family: Avenir, SpoqaHanSans, &quot;Apple SD Gothic Neo&quot;, &quot;Malgun Gothic&quot;, &quot;맑은 고딕&quot;, &quot;Nanum Gothic&quot;, Dotum, 돋움, Helvetica, sans-serif; text-align: center;"><span style="color: #333333; font-size: medium;">출처:&nbsp;</span><a href="https://kingpodo.tistory.com/43" style="box-sizing: inherit; font-size: medium;" target="_blank">https://kingpodo.tistory.com/43</a><span style="color: #333333; font-size: medium;">&nbsp;[킹포도의 코딩]</span>Arduino Car로 PID 제어</span></p>