HCBBS Forum (한국어)
Submit Chemical Projects / Find Solutions
Amplify Your Requirements on a Broader Chemical Platform *Engineering · Technology · Equipment · Solutions*
Submit Request

소밍이 물을 추가하는 생활 예시로 PID 이해하기

2019-09-27View Original

Thread Content

PID의 중요성은 굳이 말할 필요가 없으며, 자동 제어 분야에서 널리 활용되고 있습니다.제이슨은 소명이 물통에 물을 넣는 과정을 기록함으로써 고전적인 PID 알고리즘의 작동 원리를 보여주었으며, 이를 예시로 삼아 초보자들이 PID를 이해하는 데 또 다른 접근법을 제공했습니다. 제이슨은 생생한 예시를 통해 다음 다섯 가지 개념을 설명하고자 합니다: 1. PID가 무엇인지, 왜 PID가 필요한지, 그리고 PID가 어떤 역할을 하는지 간단히 설명하기 2. P(비례항)의 역할 이해하기: 기본 비례항의 단점: 정상 상태 오차가 발생함. 질문: 정상 상태 오차란 무엇인가요? 왜 정상 상태 오차가 발생하나요? 3. I(적분 단계)의 역할 이해: 정상 상태 오차 제거. 단점: 오버슈트가 증가함
질문: 왜 적분 작용이 정상 상태 오차를 없앨 수 있을까?
4. D(미분 요소)의 역할 이해: 관성 반응 속도를 높여 오버슈트 현상을 줄임
질문: 왜 오버슈트가 줄어들 수 있을까?
5. 각 비례 계수의 역할 이해
http://yunrun.com.cn/upload/201908/20/201908200109200498.png
이제 본격적으로 시작해보겠습니다. 1. PID란 무엇이며, 왜 PID가 필요한가? 다음은 PID 제어의 전체 블록 다이어그램이며, 그 과정은 다음과 같습니다: 출력 목표값을 설정하고, 피드백 시스템이 출력값을 전달합니다. 이 값이 목표값과 일치하지 않으면 오차가 발생하며, PID는 이 오차를 바탕으로 입력값을 조절하여 출력값이 설정된 값에 도달할 때까지 작동합니다. http://yunrun.com.cn/upload/201908/20/201908200211063978.png 질문: 그렇다면 왜 우리에게 PID가 필요한가요?예를 들어, 제가 온도를 조절한다고 해도, 온도 값 자체는 모니터링할 수 없습니다. 온도 값이 일정 수준에 도달하면 그냥 멈추는 건가요? 여기서 먼저 우리의 목표에 대해 말해야 합니다. 왜냐하면 우리의 모든 제어는 결국 우리가 설정한 목표를 달성하기 위한 것이기 때문입니다. 즉, 만약 우리가 특정 목표 온도 값을 설정했다면, 어떤 식으로 온도가 변화해야 하는지를 고려해야 합니다. 예를 들어 목표 온도를 30℃로 설정하는 경우, 그 목적은 그림 1과 같은 효과를 얻는 것입니다. 즉, 빠르고 진동 없이 30℃에 도달하도록 하는 것이죠. http://yunrun.com.cn/upload/201908/20/201908200221422995.png 그림 1 PID 제어 시스템의 출력 반응 목표 이제 여러분도 이해하실 수 있을 것입니다. 온도가 일정 수준에 도달하면 작동을 중단하는 방식을 사용한다면, 요구 사항이 그다지 높지 않다면 괜찮을 수도 있습니다. 하지만 그림 1에 나와 있는 수준의 요구 사항은 분명히 충족시킬 수 없습니다. 왜냐하면 온도가 일정 수준에 도달한 후에도 남아 있는 열로 인해 온도가 계속 상승할 뿐만 아니라, 온도 자체도 공기를 통해 열이 발산되기 때문입니다.요약: 우리가 PID를 필요로 하는 이유는, 일반적인 제어 방법으로는 출력을 빠르고 안정적으로 설정값에 도달시킬 수 없기 때문입니다. 여전히 의문이 있다면, 흔히 사용되는 예시를 들어 구체적으로 설명해 드리겠습니다. 2、소밍이 물통에 물을 넣는 예시를 통해 PID를 이해하기 yunrun.com.cn/tech/2683.html 시작하기 전에, 먼저 공식을 적어보겠습니다. 언뜻 보면 이 공식은 꽤 복잡해 보입니다.사실 미분과 적분의 기본 정의만 알면 이해할 수 있습니다.게다가 결국 우리의 모든 노력도 이 공식을 이해하는 데 있습니다. 그렇지 않다면 아무리 훌륭한 비유라도 당신이 진정으로 이해하고 활용할 수는 없습니다. 여기서 우리는 이를 이산화시킵니다(만약 이 단계가 너무 빠르다고 느껴진다면, 나중에 이에 대한 설명을 추가하겠습니다). 공식에서 Kp는 비례 상수이며, Ki=(Kp×T)/Ti는 적분 상수, Kd=(Kp×Td)/T는 미분 상수입니다. 아래에서 제이슨은 한 가지 예를 통해 이 방정식이 어떻게 작동하는지 구체적으로 보여줄 것입니다. ①소명은 한 가지 임무를 맡았습니다. 물통의 높이를 항상 1m로 유지해야 하는데, 현재 물통에는 0.2m 깊이만큼의 물이 있습니다. 그래서 소명은 비율 방식을 사용하여 물을 추가합니다. 즉, 매번 1m와의 오차를 측정한 다음, 그 오차에 비례하는 양의 물을 추가하는 것입니다.예를 들어 Kp=0.5라고 가정할 때, 첫 번째로 물을 추가할 때의 오차는 1-0.2=0.8m입니다. 그러므로 추가해야 할 물의 양은 Kp×0.8=0.4m가 됩니다; 두 번째로 물을 추가할 때의 오차는 1 - 0.4 = 0.6m입니다. 따라서 추가해야 할 물의 양은 Kp × 0.6 = 0.3m가 됩니다; ...... http://yunrun.com.cn/upload/201908/20/201908200252454737.png http://yunrun.com.cn/upload/201908/20/201908200252553253.png 이건 정말 완벽하다고 생각해요. 그렇다면 비율 문제도 완벽하게 해결될 수 있겠죠. 하지만 잠시만요, 결론을 내리기 전에 소명의 새로운 과제를 살펴보도록 하죠. ②소명의 새로운 과제: 물통이 있지만, 통 바닥에 구멍이 있어서 물이 계속 새어나갑니다. 그래도 물통의 높이는 1m를 유지해야 합니다. 현재 물통에는 0.2m 깊이의 물이 있지만, 물을 조금씩 부을 때마다 0.1m의 물이 새어나갑니다.이 예시는 모터의 마찰 저항이나 손실과 같은 실제 공학적 사례에 가깝습니다. 이제 소명의 문제를 해결해 보도록 하죠. 첫 번째 방법은 여전히 P(비례 제어) U=Kp×e를 사용하는 것입니다. Kp는 0.5로 설정합니다. 그러면 U=0.5×e가 됩니다. L(최종 수위)는 이번에 입력된 U 값에 지난번의 수위를 더한 값입니다. 첫 번째 물 추가: 오차는 1-0.2=0.8m이므로, 추가되는 물의 양은 Kp×0.8=0.4m입니다. 최종 수위는 0.4+0.2-0.1=0.5m가 됩니다. 두 번째 물 추가: 오차는 1-0.5=0.5m이므로, 추가해야 할 물의 양은 Kp×0.5=0.25m입니다. 최종 수위는 0.5+0.25-0.1=0.65m가 됩니다...... 문제가 있습니다. 최종적으로 수위는 0.8m에서 안정되는데, 이는 충분히 이해할 수 있는 현상입니다. 오차가 0.2m일 때는 추가해야 할 물의 양도 0.1m이며, 매번 추가되는 물의 양이 새어나가는 양과 정확히 같습니다.여기서는 정상 상태 오차라는 개념이 도입됩니다. 정상 상태 오차란 시스템이 정상 상태에 도달했을 때 목표값과의 오차를 말합니다. 그렇다면 Kp를 높여보면, 오차가 줄어드는 것을 알 수 있습니다; 그럼 계속 증가시켜 보죠. 시스템이 진동하기 시작하는 것을 확인했습니다.여기서는 엑셀의 선 그래프를 사용하며, 파라미터를 조절하여 변화를 관찰할 수 있습니다. 결론적으로, 비례 제어는 정상 상태 오차를 발생시키며 이를 제거할 수 없습니다. 비례 상수를 늘리면 정상 상태 오차를 줄일 수 있지만, 너무 크면 시스템이 진동하여 불안정해집니다. 정상 상태 오차를 제거하기 위한 방안 2: 비례 제어에 적분을 더하여 PI(비례적분 제어)를 사용하는 것입니다. 적분 제어란 과거의 오차들을 모두 합산한 다음 그 값에 적분 상수를 곱하는 것입니다. 이 식은 무슨 의미인가요? 왜 안정 상태 오차를 제거할 수 있는 걸까요?먼저 Kp=0.5, Ki=0.3으로 설정해 보겠습니다(이 값들은 제가 임의로 정한 것입니다). 첫 번째로 물을 추가할 때의 오차는 0.8이며, 비례항인 Kp×0.8은 0.4m가 됩니다. 적분항인 Ki×는 0.24m가 되므로, 추가되는 물의 양 u는 0.4+0.24=0.64m가 됩니다. 최종적인 수위는 0.2+0.64-0.1=0.74m가 됩니다. 두 번째로 물을 추가할 때의 오차는 0.26이며, 비례항인 Kp×0.26은 0.13m가 됩니다. 적분항인 Ki×는 0.318m가 되므로, 추가되는 물의 양 u는 0.13+0.318=0.448m가 됩니다.최종 수위는 0.74 + 0.448 – 0.1 = 1.088m입니다.
http://yunrun.com.cn/upload/201908/20/201908201410588056.png
과정이 우여곡절이 많았지만, 결국에는 설정된 값으로 안정되는 것을 확인할 수 있었습니다. Ki를 높이면 어떨까요?여기서는 엑셀의 선 그래프를 사용하며, 여러분은 파라미터를 조절하여 변화를 관찰할 수 있습니다. 결론은 다음과 같습니다: ① 편차가 존재하는 한, 적분값은 계속 누적되고, 오차가 0이 될 때까지 이어집니다. 그 후에는 적분값이 더 이상 누적되지 않고 상수가 되어, 정상 상태에서의 오차를 상쇄할 수 있습니다. 표 2를 보면 시스템이 안정된 후 적분 항은 약 0.1입니다. ②적분을 도입하면 정상 상태 오차를 제거할 수 있지만, 과도응답이 증가하며, Ki가 커질수록 과도응답의 크기도 커진다. 오버슈트를 제거하기 위해, 우리는 미분 작용을 도입합니다. 이제 식은 다음과 같아집니다: 여전히 먼저 Kp=0.5, Ki=0.5, Kd=0.3으로 설정합니다. 첫 번째로 물을 추가할 때의 오차는 0.8m입니다. 비례항인 Kp×0.8은 0.4m이며, 적분항인 Ki×는 0.24m입니다. 미분항은 0입니다. 왜냐하면 물을 추가하기 전의 수위 차이가 이미 0.8m였고, 추가된 물의 양 U도 0.4+0.4=0.8m이기 때문입니다. 따라서 최종 수위는 0.2+0.8-0.1=0.9m가 됩니다. 두 번째로 물을 추가할 때의 오차는 0.1m입니다. 비례항인 Kp×0.1은 0.5m이며, 적분항인 Ki×는 0.45m입니다. 미분항은 Kd×=-0.21m입니다. 추가된 물의 양 u는 0.5+0.45-0.21=0.29입니다. 따라서 최종 수위는 0.9+0.29-0.1=1.09m가 됩니다. http://yunrun.com.cn/upload/201908/20/201908201501401752.png 위의 그래프와 비교해보면, Kp=0.5, Ki=0.5일 때보다 이 그래프에서는 진동이 줄어든 것을 알 수 있습니다. 이것이 바로 미분항이 작용한 결과입니다. 표 3을 보면, 두 번째 오차가 0.1일 때, 첫 번째 오차가 0.8일 때 미분항은 음수 값을 가지며, 이로 인해 결과가 급격하게 변하는 것을 막습니다. 결론: 미분은 오버슈트 경향을 완화할 수 있다. 하지만 이 파형은 여전히 진동하고 있어요. 네, 잊지 마세요. 이 값은 제가 그냥 임의로 설정한 것일 뿐입니다. 우리가 아무렇게나 값을 설정한다고 해서 PID가 완벽하게 작동할 거라고 기대할 수는 없습니다. 직접 엑셀을 사용해 시뮬레이션해 보면 알 수 있겠지만, Ki와 Kd의 값이 너무 크면 시스템이 심하게 진동하게 됩니다. 따라서 우리는 Kp, Ki, Kd를 설정해야 하는데, 이는 사실상 그래프 1의 요구사항에 맞게 출력을 어떻게 만들지 시도하는 것입니다.물론 이 예시에서는 사실 PI를 사용해도 되지만, 여기서는 그 작동 원리를 이해하기 위한 것입니다. PID 파라미터를 능숙하게 조정하여 자동 제어 시스템을 자동 모드로 전환할 수 있는 것은 공학 기술자의 자동화 역량을 나타내지만, 많은 사람들이 실제로 PID 제어와 PID 파라미터 조정을 제대로 익히지 못하고 있습니다.창휘 계측기 네트워크의 “PID 조절기” 제품 페이지에서 백지강 엔지니어가 집필한 『자동 조절 시스템 해석과 PID 튜닝』이라는 책을 무료로 공유하고 있습니다. 이 책에는 복잡한 이론적 공식은 없으며, 전부 실전에 활용할 수 있는 유용한 내용들뿐입니다. 이 책의 핵심 내용을 이해한다면, 고등학교 학력만으로도 계측기 관련 업무를 하는 사람들도 PID 파라미터를 정확하게 설정하여 PID 제어를 완벽하게 숙달할 수 있습니다!도움이 되실 뿐만 아니라 무료이기도 하니, 서둘러 창휘 계측기 네트워크의 제품 페이지에 있는 “PID 조절기” 항목에서 이 책을 무료로 받아가세요! http://yunrun.com.cn/upload/201908/19/201908192101476884.png
Reply #22019-09-28
절차적으로는 잘 설명되어 있지만, 그렇다면 어떤 밸브를 사용하면 유량을 그렇게 정밀하게 제어할 수 있을까요?권법만 연습하고 기술을 연마하지 않으면 아무 소용이 없다… 하드웨어가 바로 그 기술이다!
Reply #32019-09-28
잘 말했어. 밸브 일은 네게 맡기는 건 어때?
Reply #42019-09-28
잘 말했어. 밸브 일은 네게 맡기는 건 어때?
Reply #52019-09-28
잘 말했어. 밸브 일은 네게 맡기는 건 어때?
Reply #62019-09-28
글쓴이가 추천한 이 책은 정말 괜찮습니다. 예전에 포럼에서 추천된 적이 있어서 자세히 읽어본 적이 있는데, 업계에 차이는 있지만 그 원리는 같습니다. 중요한 것은 이러한 경험들을 어떻게 잘 활용하느냐입니다!
Reply #72019-09-29
문제는 저도 어떤 밸브가 이렇게 정밀하게 제어할 수 있는지 알고 싶다는 거예요……
Reply #82019-09-29
만약 한동안 자동화 계측기 관련 업무를 해본 적이 있다면, 이 글이 단지 정량적인 관점에서 PID를 이해하는 데 도움을 주는 것일 뿐, 실제 작업에서 반드시 이러한 정량적 값들을 준수해야 한다는 뜻은 아니라는 점을 쉽게 이해할 수 있을 것입니다.실제로는 그 정신적 본질에 맞게 작업 중의 PID를 조정하거나 최적화하기만 하면, 이 게시물의 목표를 달성할 수 있습니다.
Reply #92019-09-29
이 게시글은 마지막으로 zxg.wylton이 2019-9-29 19:15에 수정했습니다. 만약 한동안 자동화 계측기 관련 업무를 해본 적이 있다면, 이 게시글이 단지 정량적인 관점에서 PID를 이해하는 데 도움을 주는 것일 뿐, 실제 작업에서 반드시 이러한 정량적 값들을 준수해야 한다는 의미는 아니라는 점을 쉽게 이해할 수 있을 것입니다.실제로는 그 정신적 본질에 맞게 작업 중의 PID를 조정하거나 최적화하기만 하면, 이 게시물의 목표를 달성할 수 있습니다. 조절 루프가 만족스럽게 작동하는지는 밸브(포지셔너 포함), 특정 공정의 특성, PID 등 다양한 요인의 영향을 받습니다.누가 모순의 주요 측면이고 누가 주요 모순인지 아는 것은 매우 중요합니다.
Reply #102019-09-30
글쓴이님, JX300XP의 제어 회로에 있는 PID가 당신의 이론에서 설명하는 PID와 정확히 일치하는지 알려주실 수 있나요?대응할 수 없다면, 그렇다면 어떻게 올바르게 이해해야 할까?감사합니다!

Submit a Project

**Looking for Chemical Technology, Equipment & Solutions?** No Registration Required Broader Platform Exposure | Global Chemical Service Provider Connections

Submit Request — Free Consultation

Disclaimer

This is an automated machine translation of the original thread. Some technical terms may have inaccuracies; the original text shall prevail. Click "View Original" at the top right to access the source page, which supports IP-based automatic real-time language translation. Please watch out for contact details and sales inducements to prevent fraud. All content and translations are for reference only, representing solely the poster's personal views. For enquiries, email service@hcbbs.com.