سلام خدمت دوستان <

راسیاتش من این تاپیک در راستای موضوع زیر زدم تا بعدا بتونم از این تاپیک در اون استفاده کنم.
http://www.eca.ir/forum2/index.php?topic=90091.0
تصمیم گرفتم یک نمونه مثال از PID بنویسم و در کنارش خودم هم یاد بگیرم
خوب برای خوندن اینکه PID چیست این سایت به نظرم مناسب میاد تو اینترنت زیاد هست بنابراین میتونید با کمی سرچ جاهای دیگه بخونید :
http://inverter.ir/index.php/-downlo...skill/145--pid
برای اینکه بشه روی یک مدار پیاده کرد نیاز به شبیه سازی مدار داریم که دو روش وجود داره یکی با نرم افزار هایی مثل Orcad یا Matlab - ********
برای روش دوم این آموزشو حتما ببینید خیلی مفید بود به نظرم
http://faradars.org/courses/fwsim9312e2-simulation-of-a-first-order-rc-circuit-in-********
و من هم طبق همین و اورکد این مثال را میگم
خوب اول از همه مثل فیلم توضیح داده شده ما یک مدار RC داریم که خروجی سیستممون ولتاژ خازن است و ورودی هم که مشخصه

خوب اون معادله را اگر توی سیمولینک شبیه سازی کنیم میشه عکس زیر :
(اگر فیلم ببینید متجه میشید چطور شد این.)

و پاسخش که همون ولتاژ خروجی خازنه به این صورت هست :
[img]http://s7.picofile.com/file/8233615826/plant_********_answer.PNG[/img]
اینم شبیه سازی در اورکد :

و اینم ولتاژ خازن :

در هر دو مشخصه که ولتاژ خازن در طول ۶۰ میلی ثانیه به ۵ ولت میرسه
حالا مثلا فرض کنید توی یک کاربردی ما نیاز داریم تا ولتاژ خازن سریعا به ۵ ولت برسه و 60 میلی ثانیه برای ما خیلی زیاده است. به اصطلاح Tr یا زمان صعودمون زیاد هست
شاید فکر کنید این به چه دردی میخوره ؟؟؟ حالا بشه 20 میلی ثانیه چه تاثیری داره؟؟ :rolleyes:
ولی یک نمونه از کاربردهای شبیه به این در الکترونیک صنعتی در مبدل های dc به dc مثلا نوع buck هستش
وقتی فرکانس سوییچینگ میره بالا همین زمانها هم برامون مهم میشه.
ولی توضیح بیشترش اگه خواستین بعد میدم
خوب حالا ما میبینیم پاسخمون سرعت کافی را ندارد بنابراین یک کنترلر اضافه میکنیم تا سرعت بهبود پیدا کنه خوب طبق معمول اول از همه یک کنترلر p (تناسبی) اضافه میکنیم :

من همینطوری مقدارشو برابر ۲ گذاشتم و ببینید پاسخ چطور شده :

میبینید که ظرف مدت ۳۰ میلی ثانیه به ۵ رسیده !!
خوب ببینیم اگه PI بزاریم چطور میشه؟
مقدارشو 5 گذاشتم :

و پاسخش!

تقریبا ظرف 20 میلی ثانیه رسیده به ۵
و در آخر PID :

من در اینجا از خود بلاک PID استفاده کردم و این دفعه اجازه دادم خود متلب بهترین پاسخو بر اساس خواسته های من بهم بگه :

و در نهایت پاسخش :job: :

اما حالا چطور این ها را میشه در عمل پیاده سازی کرد؟ :-/
خوب دو روش داره یکی آنالوگ یکی هم دیجیتال
ایشالا در پست بعدی در این مورد و شبیه سازی با اورکدش هم توضیح میدم.
این عکس هم میتونه دید خوبی در مورد هر ضریب بهتون بده فقط دقت کنید این ماله یک سیستم دیگه است و لزوما پاسخ ها شبیه به هم نیست :



راسیاتش من این تاپیک در راستای موضوع زیر زدم تا بعدا بتونم از این تاپیک در اون استفاده کنم.
http://www.eca.ir/forum2/index.php?topic=90091.0
تصمیم گرفتم یک نمونه مثال از PID بنویسم و در کنارش خودم هم یاد بگیرم
خوب برای خوندن اینکه PID چیست این سایت به نظرم مناسب میاد تو اینترنت زیاد هست بنابراین میتونید با کمی سرچ جاهای دیگه بخونید :
http://inverter.ir/index.php/-downlo...skill/145--pid
برای اینکه بشه روی یک مدار پیاده کرد نیاز به شبیه سازی مدار داریم که دو روش وجود داره یکی با نرم افزار هایی مثل Orcad یا Matlab - ********
برای روش دوم این آموزشو حتما ببینید خیلی مفید بود به نظرم
http://faradars.org/courses/fwsim9312e2-simulation-of-a-first-order-rc-circuit-in-********
و من هم طبق همین و اورکد این مثال را میگم
خوب اول از همه مثل فیلم توضیح داده شده ما یک مدار RC داریم که خروجی سیستممون ولتاژ خازن است و ورودی هم که مشخصه
خوب اون معادله را اگر توی سیمولینک شبیه سازی کنیم میشه عکس زیر :
(اگر فیلم ببینید متجه میشید چطور شد این.)
و پاسخش که همون ولتاژ خروجی خازنه به این صورت هست :
[img]http://s7.picofile.com/file/8233615826/plant_********_answer.PNG[/img]
اینم شبیه سازی در اورکد :
و اینم ولتاژ خازن :
در هر دو مشخصه که ولتاژ خازن در طول ۶۰ میلی ثانیه به ۵ ولت میرسه
حالا مثلا فرض کنید توی یک کاربردی ما نیاز داریم تا ولتاژ خازن سریعا به ۵ ولت برسه و 60 میلی ثانیه برای ما خیلی زیاده است. به اصطلاح Tr یا زمان صعودمون زیاد هست
شاید فکر کنید این به چه دردی میخوره ؟؟؟ حالا بشه 20 میلی ثانیه چه تاثیری داره؟؟ :rolleyes:
ولی یک نمونه از کاربردهای شبیه به این در الکترونیک صنعتی در مبدل های dc به dc مثلا نوع buck هستش
وقتی فرکانس سوییچینگ میره بالا همین زمانها هم برامون مهم میشه.
ولی توضیح بیشترش اگه خواستین بعد میدم
خوب حالا ما میبینیم پاسخمون سرعت کافی را ندارد بنابراین یک کنترلر اضافه میکنیم تا سرعت بهبود پیدا کنه خوب طبق معمول اول از همه یک کنترلر p (تناسبی) اضافه میکنیم :
من همینطوری مقدارشو برابر ۲ گذاشتم و ببینید پاسخ چطور شده :
میبینید که ظرف مدت ۳۰ میلی ثانیه به ۵ رسیده !!
خوب ببینیم اگه PI بزاریم چطور میشه؟

مقدارشو 5 گذاشتم :
و پاسخش!
تقریبا ظرف 20 میلی ثانیه رسیده به ۵
و در آخر PID :
من در اینجا از خود بلاک PID استفاده کردم و این دفعه اجازه دادم خود متلب بهترین پاسخو بر اساس خواسته های من بهم بگه :
و در نهایت پاسخش :job: :
اما حالا چطور این ها را میشه در عمل پیاده سازی کرد؟ :-/
خوب دو روش داره یکی آنالوگ یکی هم دیجیتال
ایشالا در پست بعدی در این مورد و شبیه سازی با اورکدش هم توضیح میدم.
این عکس هم میتونه دید خوبی در مورد هر ضریب بهتون بده فقط دقت کنید این ماله یک سیستم دیگه است و لزوما پاسخ ها شبیه به هم نیست :

دیدگاه