
راهاندازی استپر موتور با درایور MDC20 در نرمافزار متلب
۲۲ تیر ۱۳۹۷
استفاده از هدایت موتور پلهای (استپر) در روباتیک
۲۲ تیر ۱۳۹۷کنترلر PID
در کاربردهایی که کنترل خروجی یک سیستم با توجه تغییرات یک مقدار یا حالت مرجع مورد نیاز باشد، پیادهسازی یک الگوریتم کنترلی ضروری میباشد. که در اینجا به الگوریتم کنترلر PID میپردازیم. برای نمونه از این کاربردها میتوان به کنترل موقعیت، سرعت وگشتاور یک موتور الکتریکی، کنترل دما، فشار، نیرو، جریان و سایر متغیرها اشاره کرد.
یکی از کنترلرهای قدرتمند، کنترلر PID میباشد که میتواند به منظور کنترل هر گونه متغییر قابل اندازهگیری به کار گرفته شود. انواع گوناگونی از راه حلهای کنترلی در طول زمان مورد استفاده قرار گرفته اند.،اما کنترلر PID به دلیل سادگی و عملکرد مناسب به یک استاندارد در صنعت تبدیل شده است.
در شکل ۱ شماتیکی از یک سیستم با کنترلر PID نشان داده شده است. مقدار اندازهگیری شده از خروجی فرآیند (y) را با یک مقدار مرجع (y0) مقایسه کرده و سپس تفاوت آن دو یا خطا (e) را به منظور تولید سیگنال کنترلی (U) پردازش مینماید. سیگنال کنترلی U به سیستم اعمال شده و تلاش خواهد کرد تا خروجی سیستم را به مقدار مطلوب هدایت کند.

شکل ۱: سیستم حلقه بسته با کنترلر PID
این کنترلر قادر است سیگنال کنترلی U را با توجه به تاریخچه و نرخ تغییرات سیگنال خطا تولید نماید. مکانیزم کنترل به این صورت میباشد که کنترلر وضعیت سیستم را با استفاده از یک سنسور دریافت میکند. سپس مقدار اندازهگیری شده را به منظور تولید سیگنال خطا از مقدار مرجع مطلوب کم مینماید. سپس سیگنال خطای تولید شده در کنترلر وارد سه بلوک تناسبی، انتگرالی و مشتقگیر میشود.
در شکل ۲ میتوانید ساختمان داخلی کنترلر PID را مشاهده کنید. پس از ورود سیگنال خطا به کنترل کننده PID، وظیفه بلوک تناسبی، تاثیر دادن میزان فعلی سیگنال خطا در تولید سیگنال کنترلی U و وظیفه بلوک انتگرالگیر استفاده از خطاهای گذشته در تولید سیگنال کنترل و در نهایت وظیفه بلوک مشتقگیر، پیش بینی خطاهای آینده و تاثیر آن در تولید سیگنال کنترل میباشد.

شکل ۲: ساختمان داخلی کنترلر PID
در کنترلر PID رفتار حالت گذرا و ماندگار، خروجی سیستم را تعیین میکنند. در ادامه به تاثیر هر یک از بهرههای فوق در رفتار سیستم میپردازیم.
بلوک تناسبی
عبارت تناسبی (P) یک سیگنال کنترلی متناسب با دامنه خطا تولید میکند. در اکثر مواقع در صورتی که تنها از عبارت تناسبی در کنترلر PID استفاده شود، یک خطای حالت ماندگار در خروجی سیستم خواهیم داشت. وقتی تنها از عبارت تناسبی استفاده کنیم به آن کنترلر P میگوییم که در این حالت به منظور بهبود خطای حالت ماندگار نیازمند بهرههای بالایی هستیم. سیستمهای پایدار با بهرههای بزرگ مشکلی ندارند، اما در سیستمهای ناپایدار افزایش بیش از حد بهره تناسبی میتواند منجر به ناپایداری سیستم حلقه بسته شود.

شکل ۳: پاسخ پله کنترلر P
بلوک انتگرالی
بلوک انتگرالی (I) یک سیگنال کنترلی متناسب با دامنه و تاریخچه سیگنال خطا تولید میکند. این قسمت از کنترل کننده PID، خطاهای گذشته را تا هنگام رسیدن خروجی به مقدار مطلوب جمع مینماید که باعث از بین رفتن خطای حالت ماندگار خواهد شد.
معمولا بلوک انتگرالی به همراه بلوک تناسبی استفاده میشود و به آن کنترلر PI میگویند. چنانچه تنها از بلوک انتگرالی استفاده شود پاسخ سیستم کند و معمولا نوسانی خواهد بود.

شکل ۴: پاسخ پله کنترلر I و PI
بلوک مشتق گیر
بلوک مشتقگیر، P، یک سیگنال کنترلی متناسب با نرخ تغییرات خطا تولید مینماید. به عبارتی به کمک بلوک مشتقگیر میتوانیم رفتار سیگنال خطا را تا یک گام آینده پیش بینی کرده و متناسب با آن عمل کنیم. در صورتی که نرخ تغییرات خطا زیاد باشد یک سیگنال کنترلی بزرگ تولید میکند که منجر به سریعتر رسیدن پاسخ به خروجی مطلوب خواهد شد.
بلوک مشتقگیر معمولا به همراه P یا PI تحت عنوان کنترلرهای PD و PID مورد استفاده قرار میگیرد. همانطور که در شکل زیر مشاهده میکنید زمان صعود کنترلر PD کمتر از زمان صعود کنترلر P میباشد. باید توجه داشت که بلوک مشتقگیر همانند یک فیلتر بالاگذر عمل مینماید و بنابراین حساسیت سیستم به نویز را افزایش میدهد.

شکل ۵: پاسخ پله کنترلر D و PD
استفاده از تمامی بلوکها با یکدیگر تحت عنوان کنترلر PID منجر به عملکرد بهتری میشود. در شکل ۶ پاسخ پله کنترلرهای P،PI و PID با یکدیگر مقایسه شده است. کنترلر PI رفتار کنترلر P را با جبران خطای حالت ماندگار بهبود میبخشد و کنترلر PID رفتار کنترلر PI را با افزایش سرعت سیستم و حذف فراجهش بهتر مینماید.

شکل ۶: پاسخ پله کنترلر P، PI و PID
در جدول ۱ تاثیر افزایش هر یک از بهرههای کنترلر PID بر رفتار سیستم آورده شده است.

تاثیر افزایش هر یک از بهرههای کنترلر PID بر رفتار سیستم
7 Comments
با سلام بسيار عالي و گيرا
اگر منبع خاصي به زبان فارسي در زمينه كنترل موتور هاي پله اي با الگوريتم pid ميشناسيد لطفا معرفي كنيد.با تشكر
با سلام،
موتورهای پله از آنجا که طراحی شده اند که به صورت حلقه باز (Open Loop) کار کنند، کنترل حلقه بسته برای آنها به تنهایی قابل اجرا نیست. اما در صورتی که می خواهید کنترلر PID را بر روی موتور استپر اجرایی کنین باید در سر شفت موتور انکودر وصل کرده و از خروجی انکودر به عنوان بازخورد (Feedback) موقعیت برای کنترلر PID استفاده کنین(Position Control).در این مقاله می توانید سر نخهایی برای حل مساله خود بیابید.
سلام
بسیار ممنون از مطلب مفیدتون
اگه در اخر پست ها منابع مطلب رو هم معرفی کنید که برای مطالعه بیشتر بشه مراجعه کرد خیلی عالی میشه
[…] الگوریتم PID […]
[…] الگوریتم کنترل PID […]
[…] نماییم. برای آشنایی هر چه بهتر با کنترل به PID به مقالات «الگوریتم PID» و «پیاده سازی کنترل PID در نرم افزار MATLAB به کمک درایور […]
[…] نماییم. برای آشنایی هر چه بهتر با کنترل به PID به مقالات «الگوریتم PID» و «پیاده سازی کنترل PID در نرم افزار MATLAB به کمک درایور […]