توضیحات

icon فایل هایی که با لینک مستقیم در سایت قرار گرفته اند بدون پسورد می باشند.

شبیه سازی گام به گام PID کنترلر در سیمولینک متلب

1

در این مقاله قصد داریم تا یک PID کنترلر را گام به گام با استفاده ار بلوک های انتگرال گیر و مشتق گیر در سیمولینک متلب ایجاد کرده و خروجی نهایی آن را با خروج بلوک آماده در متلب مقایسه نماییم.

 

مقدمه
کنترل کننده های PID برای سیستم های حلقه بسته SISO استفاده می شود. این کنترلر با اعمال تناسبی و انتگرالی و مشتقی بر روی سیگنال خطا سعی در کنتر خروجی یک دستگاه میکند. در ادامه با استفاده از نرم افزار سیمولینک متلب سعی در پیاده سازی گام به گام یه کنترل کننده PID خواهیم کرد. بلوک PID را با اجزای مانند گین، انتگرال گیر و مشتق گیر ایجاد کرده و در نهایت رفتار آن را با بلوک PID آماده خود نرم افزار متلب مقایسه خواهیم کرد. تا صحت مفهومی را که بررسی کردیم اثبات نماییم.

 

کنترل کننده تناسبی
در شکل زیر ماشین ما با رفتار Gain1 می باشد که با استفاده از اعمال یک ضریب بر روی سیگنال خطا، سعی در کنترل خروجی آن شده است. در این سیستم ، خروجی کنترل کننده، ضریبی از خطای سیستم می باشد.

2

‏۱: کنترل کننده تناسبی

پاسخ شبیه سازی کنترلر تناسبی بالا به ورودی پله از قرار زیر است:

3

‏۲: پاسخ کنترل کننده تناسبی به ورودی پله

رنگ زرد سیگنال ورودی و رنگ صورتی خروجی می باشد. عملکرد عالی در کنترل دارد ولی در خروجی خطای ماندگار مشاهده می شود.
نکته: فایل شبیه سازی این کنترل کننده در فولدر P Controler ضمیمه شده است که باید با سیمولنک متلب اجرا شود. فایل در پایین صفحه قابل دانلود می باشد.

 

کنترل کننده انتگرالی
در شکل زیر ماشین ما با رفتار Derivative می باشد که با استفاده از اعمال یک انتگرال بر روی سیگنال خطا، سعی در کنترل خروجی آن شده است. در این سیستم ، خروجی کنترل کننده، انتگرال خطای سیستم می باشد.

4

۳: کنترل کننده انتگرالی

پاسخ شبیه سازی کنترلر انتگرالی بالا به ورودی پله از قرار زیر است:

5

‏۴: پاسخ کنترل کننده انتگرالی به ورودی پله

رنگ زرد سیگنال ورودی و رنگ صورتی خروجی می باشد
نکته: فایل شبیه سازی این کنترل کننده در فولدر I Controler ضمیمه شده است که باید با سیمولنک متلب اجرا شود. فایل در پایین صفحه قابل دانلود می باشد.
 

کنترل کننده مشتق گیر
در شکل زیر ماشین ما با رفتار ۱/S می باشد که با استفاده از اعمال یک مشتق بر روی سیگنال خطا، سعی در کنترل خروجی آن شده است. در این سیستم ، خروجی کنترل کننده، مشتق خطای سیستم می باشد.

6

‏۵: کنترل کننده مشتق گیر

پاسخ شبیه سازی کنترلر مشتق گیر بالا به ورودی پله از قرار زیر است:

7

۶: پاسخ کنترل کننده مشتق گیر به ورودی پله

رنگ زرد سیگنال ورودی و رنگ صورتی خروجی می باشد. این کنترل کننده به تنهایی استفاده نمی شود.
نکته: فایل شبیه سازی این کنترل کننده در فولدر D Controler ضمیمه شده است که باید با سیمولنک متلب اجرا شود. فایل در پایین صفحه قابل دانلود می باشد.

 

کنترل کننده PI
این کنترل کننده را کنترل کننده تناسبی، انتگرالی می گویند. در شکل زیر ماشین ما با رفتار Derivative می باشد که با استفاده از اعمال ضریب تناسبی و انتگرال بر روی سیگنال خطا، سعی در کنترل خروجی آن شده است.

8

۷: کنترل کننده PI

پاسخ شبیه سازی کنترلر PI بالا به ورودی پله از قرار زیر است:

9

‏۸: پاسخ کنترل کننده PI به ورودی پله

رنگ زرد سیگنال ورودی و رنگ صورتی خروجی می باشد .
نکته: فایل شبیه سازی این کنترل کننده در فولدر PI Controler ضمیمه شده است که باید با سیمولنک متلب اجرا شود. فایل در پایین صفحه قابل دانلود می باشد.

کنترل کننده PI بالا با مقادیر Kp=1 و Ki=20 عملکرد خیلی خوبی از خود نشان داد.

10

‏۹: پاسخ کنترل کننده PI برای ضرایب مناسب

 

کنترل کننده PD
این کنترل کننده را کنترل کننده تناسبی، مشتقی می گویند. در شکل زیر ماشین ما با رفتار Intearator می باشد که با استفاده از اعمال ضریب تناسبی و مشتق بر روی سیگنال خطا، سعی در کنترل خروجی آن شده است.

11

‏۱۰: کنترل کننده PD

پاسخ شبیه سازی کنترلر PD بالا به ورودی پله از قرار زیر است:

12

‏۱۱: پاسخ کنترل کننده PD به ورودی پله

رنگ زرد سیگنال ورودی و رنگ صورتی خروجی می باشد .
نکته: فایل شبیه سازی این کنترل کننده در فولدر PD Controler ضمیمه شده است که باید با سیمولنک متلب اجرا شود. فایل در پایین صفحه قابل دانلود می باشد.
کنترل کننده PD بالا با مقادیر Kp=2 و Kd=0.5 عملکرد خیلی خوبی از خود نشان داد.

13

۱۲: پاسخ کنترل کننده PD به ورودی پله با ضرایب مناسب

 

کنترل کننده PID
این کنترل کننده را کنترل کننده تناسبی، انتگرالی و مشتقی می گویند. در شکل زیر ماشین ما با رفتار (S+5)/(S(S+1)(S+2) می باشد که با استفاده از اعمال ضریب تناسبی، انتگرال و مشتق بر روی سیگنال خطا، سعی در کنترل خروجی آن شده است.

14

‏۱۳: کنترل کننده PID

پاسخ شبیه سازی کنترلر PID بالا به ورودی پله از قرار زیر است:

15

۱۴: پاسخ کنترل کننده PID به ورودی پله

رنگ زرد سیگنال ورودی و رنگ صورتی خروجی می باشد . سیستم بعد از گذشت زمان ۱۸ ثانیه به خروجی مطلوب رسید.
نکته: فایل شبیه سازی این کنترل کننده در فولدر PID Controler_1 ضمیمه شده است که باید با سیمولنک متلب اجرا شود. فایل در پایین صفحه قابل دانلود می باشد.
کنترل کننده PD بالا با مقادیر Kp=10 و Ki=10 و Kd=2 عملکرد خیلی خوبی از خود نشان داد. سیستم بعد از گذشت زمان ۹ ثانیه به خروجی مطلوب رسید.

16

‏۱۵: پاسخ کنترل کننده PID به ورودی پله با ضرایب اصلاح شده

 

استفاده از بلوک آماده PID در نرم افزار متلب
برای راحتی کاربران، در نرم افزار متلب بلوک آماده PID کنترلر وجود دارد که باعث افزایش سرعت کار می شود. در شکل زیر اجرای شبیه سازی را با بلوک آماده PID مشاهده میکنید:

17

‏۱۶: کنترل کننده PID

برای تنظیم ضرایب PID باید بر روی بلوک PID دابل کلیک کرده و در پنجره باز شده مقادیر را تنظیم نمود. پاسخ شبیه سازی کنترلر PID بالا به ورودی پله با مقادیر Kp=10 و Ki=10 و Kd=2 از قرار زیر است:

18

‏۱۷: شبیه سازی کنترل کننده PID با بلوک آماده نرم افزار متلب

رنگ زرد سیگنال ورودی و رنگ صورتی خروجی می باشد . سیستم بعد از گذشت زمان ۹ ثانیه به خروجی مطلوب رسید.
نکته: فایل شبیه سازی این کنترل کننده در فولدر PID Controler_2 ضمیمه شده است که باید با سیمولنک متلب اجرا شود. فایل در پایین صفحه قابل دانلود می باشد.

 

نتیجه گیری
برای پیاده سازی یک کنترل کننده PID تلاش ما به طراحی شکل ۱۳ ختم شد. یک کنترل کننده که با اعمال ضریب تناسبی و انتگرال و مشتق بر روی سیگنال خطا قادر به کنترل خروجی در زمان مناسب بود. که شکل خروجی سیگنال با ضرایب اصلاح شده در شکل ۱۵ مشخص است. این خروجی را اگر با شکل ۱۷ که خروجی بلوک آماده PID کنترل نرم افزار متلب است مقایسه شود متوجه خواهیم شد که خروجی هر دو بلوک مشابه هم می باشد. بنابر این مفهومی که برای دست یابی به یک کنترل کننده PID در پیش گرفته بودیم درست بود. و در صورت پیاده سازی این مفهوم بر روی فرایند های فیزیکی مانند کنترل دور موتور و … می توان انتظار یک سیستم با خروجی مطلوب را داشت.

 

جهت دانلود فایل های ضمیمه این مقاله آموزشی اینجا کلیک کنید. (۳۹KB)

 

تهیه و تنظیم: علی رضا جودی

لینک منبع:

 http://projects.m32.ir/4246/

 

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

 

 

اسفند ۱۹ام, ۱۳۹۳ | 13,003 views | دسته: مقالات آموزشی
برچسب ها: ، ،


نظرات دیگران در مورد این مطلب:
اسحاق :

با سلام
من خیلی دنبال این کنترل کننده ها بودم .تمام اینترنت گشتم اما چیزی نبود.واقعا زحمت کشیدید .خیلی ازتون ممنون اقای جودی .خوشحال میشم اگه ایمیلتون بفرستید

حسین :

بسیارخوب است

حسین :

سلام
خیلی ممنون

Arian :

بسیار مفید بود.
خسته نباشید.

شیخ :

واقعا ممنون

مصطفی :

با عرض سلام و خداقوت.ممونواز مطالب مفید بالا.عالی بود

مهندس بیسواد :

salam.agha man koli gashtamo chizi nayaftam.mamnoon az in ke matalebe khoobi gozashtin.kash kod nevisishoonam mizashtid bara vaghti ke matris haye a va b va c ro darim va chetor inaro pid sho ya lqresho ya leadolagesho besazim.mamnoon.age faili dashtid ke betoone komakam kone mamnoon misham vasam email konin.
ye donya mamnoon.

amin :

با تشکر از سایت بسیار خوبتون.سوالی داشتم از حضورتون اونم اینکه تابع داخل بلوک zero-pole رو چجوری وارد کردین من مخرجش و نمیتونم وارد کنم

 

پاسخ:
بر روی بلوک دابل کلیک کنید تا پنجره تنظیمات باز شود. در قسمت Poles مقادیر مخرج قابل تنظیم می باشد.

یادآوری: در این قسمت باید ریشه های مخرج وارد شود.


افزودن نظر: