آموزش کنترلر PI در MATLAB | شبیهسازی و نکات کاربردی
آموزش کنترلر PI در MATLAB | شبیهسازی و نکات کاربردی
مقدمه: چرا کنترلرها قلب سیستمهای کنترل هستند؟
اگر تاکنون با سیستمهای کنترلی سروکار داشتهاید، حتماً نام کنترلر PID را شنیدهاید — یکی از پرکاربردترین و مؤثرترین ابزارها در مهندسی کنترل.
از کنترل سرعت موتورها گرفته تا تنظیم دمای کورهها، کنترلرهای PID تقریباً در هر صنعتی حضور دارند.
اما در بسیاری از کاربردهای واقعی، بهویژه زمانی که نویز زیاد است یا سیستم به پاسخ نرمتر و پایدارتر نیاز دارد، استفاده از کل سه مؤلفهی PID ضروری نیست.
اینجاست که کنترلر PI (Proportional-Integral) بهعنوان نسخهای سادهتر اما قدرتمند، وارد عمل میشود.
در این آموزش، با زبان ساده و قدمبهقدم یاد میگیریم که:
- 🧠 کنترلر PI چیست و چه تفاوتی با PID دارد
- ⚙️ مزایا و محدودیتهای آن چیست
- 💻 چگونه آن را در MATLAB و Simulink پیادهسازی کنیم
- 🚀 و در پایان، با مثالی واقعی (کنترل سرعت موتور DC) مفاهیم را در عمل خواهیم دید
کنترلر PID به زبان ساده
کنترلر PID از سه بخش اصلی تشکیل شده است:
| مؤلفه | نام کامل | وظیفه اصلی |
|---|---|---|
| P | Proportional | واکنش سریع به خطا |
| I | Integral | حذف خطای ماندگار |
| D | Derivative | پیشبینی و کاهش نوسانها |
در مجموع، خروجی کنترلر PID بهصورت زیر بیان میشود:

در این رابطه:
- ( e(t) ): اختلاف بین مقدار مطلوب و مقدار واقعی
- ( K_p, K_i, K_d ): ضرایب تنظیمکنندهی هر بخش
تفاوت کنترلر PI با PID
کنترلر PI در واقع نسخهی سادهشدهی PID است که بخش مشتقی (D) را ندارد:

🔍 تفاوتهای کلیدی:
| ویژگی | PI | PID |
|---|---|---|
| بخش مشتقی (D) | ندارد ❌ | دارد ✅ |
| حساسیت به نویز | کمتر 🧩 | بیشتر ⚡ |
| پاسخ سریع اولیه | کمتر | بیشتر |
| پایداری در سیستمهای نویزی | بیشتر | کمتر |
| حذف خطای ماندگار | بله ✅ | بله ✅ |
| پیچیدگی پیادهسازی | پایینتر 👌 | بالاتر ⚙️ |
چرا بخش مشتقی حذف میشود؟
در عمل، بخش مشتقی بهخاطر تقویت نویز سیگنال اندازهگیریشده ممکن است عملکرد کنترلر را بیثبات کند.
در سیستمهایی که سنسور نویز دارد (مثل سنسورهای سرعت یا فشار)، مشتقگیری از سیگنال باعث پرش و نوسان خروجی میشود.
بنابراین حذف D، کنترلر را پایدارتر و نرمتر میکند؛ هرچند پاسخ اولیه ممکن است کمی کندتر شود.
✅ مزایا و معایب کنترلر PI
مزایا:
- پایداری بهتر در حضور نویز
- حذف خطای ماندگار
- سادگی طراحی و پیادهسازی
- مناسب برای سیستمهای مرتبه اول و دوم
معایب:
- پاسخ کندتر نسبت به PID
- احتمال نوسان در سیستمهای سریع
- عدم توانایی پیشبینی تغییرات سریع خطا
🎯 مثال کاربردی: کنترل سرعت موتور DC با کنترلر PI
فرض کنید میخواهیم سرعت موتور DC را روی مقدار دلخواه نگه داریم.
در چنین سیستمی، نویز در اندازهگیری سرعت اجتنابناپذیر است، بنابراین کنترلر PI انتخاب مناسبی خواهد بود.
💻 پیادهسازی کنترلر PI در MATLAB (M-File)
کد زیر نمونهای ساده از پیادهسازی کنترلر PI برای یک سیستم مرتبه اول است:
clc; clear; close all;
% تابع تبدیل سیستم (مثلاً موتور DC)
num = [1];
den = [0.5 1];
plant = tf(num, den);
% ضرایب کنترلر PI
Kp = 2;
Ki = 1;
C = pid(Kp, Ki);
% سیستم حلقه بسته
T = feedback(C*plant, 1);
% پاسخ پله
step(T,20)
title('پاسخ پله سیستم با کنترلر PI')
grid on
📊 نمودار پاسخ پله (Step Response) با کنترلر PI
نمودار پاسخ پله (Step Response)
تغییرات سرعت و پایداری سیستم را در این نمودار ببینید.
📊نمودار مقایسه رفتار سیستم با کنترلر PI و بدون کنترلر را در زیر ببینید:

رفتار سیستم با کنترلر PI و بدون کنترلر
توضیح عملکرد نمودار:
-
خط قرمز نقطهچین (–) → رفتار سیستم بدون کنترلر PI
-
معمولاً دارای خطای ماندگار و پاسخ کند است.
-
-
خط آبی پیوسته (—) → رفتار سیستم با کنترلر PI
-
سریعتر به مقدار مطلوب میرسد و خطای ماندگار را از بین میبرد.
-
مشاهده میشود که کنترلر PI باعث حذف خطای ماندگار و افزایش سرعت پاسخ سیستم شده است. این تفاوت در عمل، یکی از دلایل اصلی محبوبیت کنترلر PI در کاربردهای صنعتی است.
🧩 شبیهسازی کنترلر PI در Simulink
برای کسانی که علاقهمند به کار با محیط گرافیکی هستند، شبیهسازی در Simulink را به صورت ویدیو آموزش داده ایم که بزودی اینجا قرار خواهد گرفت.
⚠️ نکات کاربردی و خطاهای رایج
- مقدار زیاد Ki باعث نوسان و حتی ناپایداری میشود.
- مقدار خیلی کم Kp باعث پاسخ کند و خطای زیاد میشود.
- اگر پاسخ نوسانی است، Ki را کاهش دهید.
- اگر پاسخ خیلی کند است، Kp را افزایش دهید.
📘 جمعبندی
کنترلر PI یکی از مهمترین ابزارهای کنترل صنعتی است که با حذف بخش مشتقی، تعادل خوبی بین سادگی، پایداری و دقت برقرار میکند.
در محیط MATLAB میتوان آن را بهصورت کدنویسی یا گرافیکی در Simulink پیادهسازی کرد.
🔗 پیشنهاد مطالعه بعدی
اگر این آموزش برایتان مفید بود، پستهای زیر را نیز از دست ندهید:
- 🔸 آموزش کنترلر PID در MATLAB
- 🔸 آموزش کنترلر PD و کاربرد آن در سیستمهای سریع
- 🔸 مقایسه کامل کنترلرهای PI، PD و PID
برای شما که تا اینجای آموزش کنترلر PI رو همراه بودین, در زیر فایلهای شبیه سازی مربوط به پیاده سازی کنترلر PI در محیط ام فایل و سیمولینک متلب را با و بدون کنترلر قرار داده ایم.
🎁 دانلود فایل متلب پروژه: دانلود فایل شبیه سازی کنترل PI
💬 سؤال یا نظری دارید؟ در بخش کامنتها بنویسید تا در سریعترین زمان پاسخ دهیم.
📢 ما را در بخش آموزشهای MATLAB دنبال کنید تا پروژههای جدید را از دست ندهید.




دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.