پایان نامه طراحی کنترلر PID برای سیستمهای چند متغیره غیرخطی به روش فازی
چکیده
در این پایان نامه یک نوع کنترلکننده فازی PID معرفی شده است. در این روش ابتدا کنترل کننده PID به وسیله یکی از روش های کلاسیک مانند زیگلر – نیکولز صراحی می شود. ممکن است پاسخی که از این روش بدست می آید مشخصه های مناسبی نداشته باشد، برای تصحیح این پاسخها کنترل کننده فازی PID پیشنهاد شده است. در این روش با استفاده از الگوریتم فازی بهره های تناسبی و انتگرالی حول مقادیر اولیه شان، در حین کار سیستم به گونه ای تغییر داده می شوند که مشخصه های پاسخ بهبود یابد. سپس این روش با استفاده از کنترل کننده های قطری به سیستم های چند متغیره تعمیم داده شده است. همچنین تغییراتی در قوانین فازی ایجاد شده است تا بتوان این روش را در مورد سیستم های ناپایدار نیز به کار برد. در نهایت کنترل کننده فازی PID به یک سیستم چند متغیره غیرخطی (سیستم تانک های چهارتایی) و یک سیستم چند متغیره غیرخطی ناپایدار) سیستم پاندول های معکوس) اعمال شده است. نتایج شبیه سازی ها کارایی این روش را در بهبود پاسخ ها نشان می دهد.
فصل اول
مقدمه
1-1- مقدمه
کنترل کننده های PID ابزاری استاندارد برای اتوماسیون صنعتی هستند. انعطاف پذیری این کنترل کننده، امکان استفاده از این نوع کنترل را در بسیاری از حالات فراهم می آورد. این کنترل کننده ها در کنترل Cascade و سایر صورت های کنترل قابل استفاده هستند. بسیاری از مسائل کنترل ساده را در صورتی که ملزومات عملکرد خیلی بالا نباشد، می توان با کنترل PID به خوبی حل کرد. الگوریتم PID به صورت رگولاتورهای استاندارد برای کنترل فرآیندها، مجتمع شده است. یک صورت این الگوریتم به شکل زیر است:
که در آن u متغیر کنترل و e خطای تعریف شد ه به صورت e=ysp-y است که در آن ysp مقدار مرجع و y خروجی فرآیند می باشد. سیگنال کنترل جمع سه ترم می باشد. ترم P (که ضریبی از خطا است)، ترم I (که ضریبی از انتگرال خطاست)، و ترم D که (ضریبی از مشتق خطا می باشد). پارامترهای کنترل کننده بهره تناسبی K، زمان انتگرال Ti و زمان مشتق TD می باشند. وظیفه اصلی عمل انتگرال این است که اطمینان حاصل کنیم که خروجی فرایند در حالت دائم مقدار مرجع را دنبال می کند. هدف از عمل مشتق نیز افزایش پایداری سیستم حلقه بسته می باشد.
با وجود اینکه تئوری های پیشرفته ای در علم کنترل به وجود آمده است ولی کنترل کننده [1] PID هنوز در اکثر فرآیندهای کنترلی به کار می رود. دلیل این امر سادگی این کنترل کننده، آشنایی افراد با آن، سهولت دسترسی به آن و کارایی در مجموع خوب این کنترل کننده می باشد. البته این کنترل کننده در بعضی کاربردها کارایی کاملا خوبی ارائه نمی کند ولی در بسیاری از کاربردهای معمول، کارایی بسیار مناسبی دارد. به هرحال هرچند کارایی کنترل کننده PID در کاربردهای صنعتی کاملاً ایده آل نیست، در حال حاضر این کنترل کننده یکی از پر کاربردترین کنترل کننده ها در فرآیندهای صنعتی می باشد.
با توجه به تعریف سیستم کنترل، طراحی سیستم های کنترل را در حالت کلی می توان به شش بخش تقسیم نمود:
1- تعریف و فرمول بندی اهداف کنترل، در حوزه زمان و یا فرکانس.
2- انتخاب مدل سیستم و نوع آن (خطی، غیرخطی و…)
3- انتخاب ساختار کنترل
4- طراحی کنترل کننده شامل انتخاب روش طراحی (PID، LOG و…)
5- شبیه سازی و آزمایش به منظور ارزیابی سیستم حلقه بسته
6- اجرای عمل کنترل کننده ها، حسگرها و محرک ها در سیستم واقعی
کنترل در سیستم های چند متغیره به دو بخش کنترل متمرکز که به وسیله یک کنترل کننده چند ورودی – چند خروجی صورت می گیرد و دیگری کنترل غیرمتمرکز که توسط چند کنترل کننده یک ورودی – یک خروجی انجام می گیرد، تقسیم می شود.
آموزش میکرو کنترلر 8051
قسمتی از متن:
میکرولنترلر 8051 پایه و اساسی است برای یادگیری دیگر میکروکنترلر ها دستورات اسمبلی این میکرو نسبت به AVR خیلی کمتر هست و دارای امکانات کمتری نسبت به دیگر میکرو ها است به همین دلیل یادگیری و فهم آن خیلی راحت و آسان می باشد که برای شروع ابتدا باید مفاهیم منطق و دیجیتال را خوب فهمیده باشید و بعد از آن باید سخت افرار 8051 و RAM و ROM داخلی آن را درک کرده باشید تا بتوانید یک برنامه کاربردی بنویسید تا یک پروسه را کنترل کند. خیلی ها برای یادگیری میگن که ما که می خواهیم برنامه نویسی میکرو را یاد بگیرم پس بهتر بالاترین میکرو یعنی AVR یا PIC یاد بگیریم در صورتی که به نظر من کاملا اشتاه بوده و کار غلطی است که اگه بخواهید تا آخر ادامه دهید کاری طاقت فرسا خواهد بود. مثل این خواهد بود که سقف طبقه اول یک ساختمان را درست نکرده باشیم و بخواهیم طبقه دوم را درست کنیم. در این وبلاگ من تا بتوانم به زبان ساده و روان مطالب را بیان خواهم کرد که البته اگه یکم علاقه و پشتکار داشته باشد مطمئن باشید به میکرو مسلط خواهید شد و می توانید آن را به راحتی برنامه ریزی کنید. قیمت این میکرو خیلی ارزان می باشد در حدود 1000 تومان و حافظه ROM آن قابل پاک کردن و استفاده مجدد می باشد پس شما به راحتی می توانید در خانه یا محل کار برای راحتی خود و افراد خانواده چیزهایی با آن بسازید که آدم باورش نشه که اینو خودش ساخته و طراحی کرده.
تشریح پایه های 8051 و RAM و ROM داخلی آن
8051 دارای 4 پورت ورودی یا خروجی می باشد یعنی اینکه هر کدام از این پورت ها را می توان در یک لحظه به عنوان ورودی استفاده کرد و همان پورت را دوباره در یک لحظه دیگر به عنوان خروجی از آن استفاده کرد. منظور از پورت چیست؟ پورت در میکرو یعنی 8 عدد پین یا 8 خط دیتا یا ذر اصطلاح 8بیتی، که 8051 دارای 4 پورت 8 بتی یعنی 32 پایه می باشد.
میکرو کنترلر AT89C51 دارای 128 بایت RAM و 4KB حافظه برنامه ROM می باشد. و AT89C52 دارای 256 بایت RAM و 8KB حافظه برنامه ROM می باشد. و AT89C55 دارای 256 بایت RAM و 20KB حافظه برنامه ROM می باشد. که بستگی به حجم برنامه ما دارد که از کدام میکرو استفاده کنیم.
کاربرد RAM چست؟ اصلا به چه دردی می خوره؟
RAM یعنی random access memory حافظه با دستیابی تصادفی. از این حافظه برای ذخیره اطلاعات موقت استفاده می شود یعنی اینکه تا زمانی که تغذیه میکرو وصل باشد این اطلاعات از بین نمی روند و با قطع کردن تغذیه این اطلاعات از بین می روند. ما در میکرو 8 ثبات 8 بتی برای ذخیره کردن داده ها داریم در بعضی از مواقع پیش می آید که این 8 ثبات در کل برنامه استفاده شوند و ما به یک ثبات 8 بیتی برای ذخیره سازی داده ها داریم مثلا یک شمارنده طراحی کردیم و همه ثبات ها هم استفاده شده و ما مثلا به دو ثبات احتیاج داریم که می توانیم از هر کدام از خانه های RAM استفاده کنیم. منظور از اطلاعات همان داده های 8 بیتی می باشند یعنی همون 0 یا 1 ها که به 8 تا از آنها یک بایت یا یک داده 8 بیتی می گویند.
حال به تقسیم بندی RAM توجه کنید. برای برنامه نویسی خیلی مهم است که ما از چه خانه های RAM مجاز هستیم استفاده کنیم آیا می توانیم در فلان خانه RAM داده را به صورت بیتی دستکاری کنیم یا داده را 8 بیتی دستکاری کنیم. اصلا در چه محدوده ای از RAM قادر هستیم داده ذخیره کنیم یا بانک های ثباتی در کجای RAM واقع شده اند و دیگر ثبات ها... به جدول زیر که مربوط به RAM خوب توجه کنید:
عملکرد | ثبات | خانه های 8 بتی RAM | آدرس | |||||||
|
|
|
|
|
|
|
|
|
| FF |
ثبات B | B | F0 | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F0 |
ثبات A یا انباره | ACC | E0 | E1 | E2 | E3 | E4 | E5 | E6 | E7 | E0 |
کلمه وضعیت | PSW | D0 | D1 | D2 | D3 | D4 | D5 | D6 | D7 | D0 |
| IP | B8 | B9 | BA | BB | BC | -- | -- | -- | B8 |
پورت 3 | P3 | B0 | B1 | B2 | B3 | B4 | B5 | B6 | B7 | B0 |
کنترل وقفه ها | IE | A8 | A9 | AA | AB | AC | -- | -- | AF | A8 |
پورت 2 | P2 | A0 | A1 | A2 | A3 | A4 | A5 | A6 | A7 | A0 |
پایان نامه بررسی میکرو کنترلر avr وقابلیتهای سخت افزاری ونرم افزاری آن
قسمتی از متن:
ساختمان دخلی میکروکنترلر:
کامپیوتری که الان بر روی اون دارین کار انجام میدین دارای یک پردازنده مرکزیه به نام cpu که از کنار هم قرار گرفتن چندین ملیون ترانزیستور تشکیل شده و بر روی اطلاعات پرداژش انجام میده . میکرو کنترلر هم عینا دارای یک پردازنده مرکزی به نام cpu است که دقیقا کار cpu کامپیوتر رو انجام میده با این تفاوت که قدرت و سرعت پردازشش از cpu کمتره که به اون میکروپرسسور میگن در بخش بعدی فرق میکرو پرسسور و میکروکنترلر را بررسی میکنیم. میکروکنترلر علاوه بر cpu دارای حافظه است که ما برنامه ای که بهش میدیم در اون قرار بگیره در کنار حافظه در میکروکنترلرهای امروزی تایمرها برای تنظیم زمان کانتر ها برای شمردن کانال های آنالوگ به دیجیتال پورت های برای گرفتن و دادن اطلاعات و امکاناتی دیگر که بعدا مفصل راجع به هر کدام توضیح داده میشه تشکیل شده و همه اینها در یک چیپ قرار گرفته که تنکنولوژی جدید اونو تو یک تراشه به اندازه یک سکه قرار داده.
تفاوت میکروپروسسور و میکروکنترلر:
میکروپرسسور همانطور که گفته شد یک پردازنده است و برای کار باید به آن چیپ های حافظه و چیز های دیگری را به اون اضافه کرد این امکان به درد این میخورد که بر حسب کارمان حافظه مناسب و دیگر قطعات را مانند تایمرها و غیره به صورت بیشتری استفاده کنیم ولی مدار خیلی پیچیده میشود و از لحاظ هزینه هم هزینه بیشتر میشود به همین دلیل امروزه از میکروپرسسورها کمتر استفاده میشود اما این روزها میکرو کنترلر های جدید با حافظه های زیاد تعداد تایمر زیاد پورت های زیاد و تنوع بسیار زیاد انها بر حسب این امکانات دست ما را باز گذاشته است تا دیگر میکروپرسسورها را فراموش کنیم.
آیا میکروکنترلر چیز جدیدی را با خود آورده است ؟
جواب منفی است تمام کارهایی که ما با میکروکنترلر میتوانیم انجام بدهیم با قطعات دیگر هم میتوانیم انجام بدهیم چون ما قبلا هم تایمر داشتیم هم کانتر هم حافظه هم پردازنده و... . در واقع میکروکنترلر قطعه ای است با تمام این امکانات که به صورت یک آی سی آماده شده است و هزینه پیچیدگی و حجم را به نحوه قابل ملاحضه ای کاهش میدهد.
عیب میکروکنترلر:
میکروکنترلر با این همه مزایا که گفتیم دارای یک عیب کوچیک است .و آن سرعت پایین ! است آیا سرعتی معادل یک ملیونیوم ثانیه سرعت کمی است ؟ سرعت کمی نیست ولی یک مثال شاید بحثو بهتر باز کند
یک گیت منطقی رو در نظر بگیرین که با توجه به ورودی خروجیشو تنظیم مکنه سرعت عمل این گیت منطقی 10 به توان منفی 9 ثانیه است یعنی نانو ثانیه ولی اگر ما بخواهیم این گیت رو با میکروکنترلر کار کنیم سرعتی معادل میکرو ثانیه داریم پس از لحاظ سرعت برای کاربردهای خیلی محدودی میکروکنترلر مناسب نیست.
اگر کسی از دوستان عیب دیگری از میکروکنترلر میدونه لطف کنه ممنون میشم.
خب حالا این میکروکنترلر را با این همه کاربرد کی ساخته؟
حدود 4 دهه پیش در سال 1971 میلادی شرکت اینتل اولین میکروکنترلر را ساخت و اولین میکروکنترلر را با نام 8080 در اوایل سال 1980 روانه بازار کرد .همین شرکت اینتلی که الان در ساخت cpu یکه تاز دنیاست .اما بعدا این امتیاز رو به شرکت های دیگری واگذار کرد و شرکت های زیادی در حال حاضر میکروکنترلر های مختلف تولید میکنند
معرفی انواع میکروکنترلر
فهرست مطالب :
میکروکنترلر چیست
* کلمه میکروکنترلر
* حالا چرا این کلمات ؟
* حالا نحوه انجام دادن کار میکروکنترلر را به صورت کلی بررسی میکنیم
* ساختمان دخلی میکروکنترلر
* تفاوت میکروپروسسور و میکروکنترلر
* آیا میکروکنترلر چیز جدیدی را با خود آورده است ؟
* عیب میکروکنترلر
* خب حالا این میکروکنترلر را با این همه کاربرد کی ساخته؟
* معایب و مزایای میکروکنترلر های مختلف نسبت به هم
* ۱) اول از ۸۰۵۱ که اولین میکروکنترلری بود که به دست بشر ساخته شد شروع میکنیم
* ۲) میکروکنترلر PIC
* ۳)میکروکنترلر AVR
* پروگرام میکروکنترلر
* معایب و مزایای میکروکنترلر های مختلف
* ۲)میکروکنترلرPIC
* AVR Microcontroller Quick Reference Guide
* مقدمه ای بر میکروکنترلرهای AVR
* بهره های کلیدی AVR
* واژگان کلیدی AVR
* خانواده های محصولات AVR
* Tiny AVR
* Mega AVR
* LCD AVR
* توان مصرفی پایین
* AVR های مدل tiny
* نکات کلیدی و سودمند مدل Tiny
* AVR های مدل Mega
* نکات کلیدی و سودمند مدل Mega
* AVR های مدل LCD
* نکات کلیدی وسودمند مدل LCD
* نکات کلیدی و سودمند حافظه ی فلش خود برنامه ریز
* موازی یا Parallel
* ISP
* واسطه JTAG
* نرم افزار ارائه شده توسط شرکتATMEL به نام AVR Studio 4
* انواع برنامه نویسها که AVR Studio 4 با آنها سازگار است
* برنامه ریزی میکرو کنترلر
* آشنایی با برنامه CodeVision
* تنظیمات اولیه میکرو
* برنامه میکرو کنترلر
* برنامه ریزی میکرو کنترلر
* کنترولرAVR
* توان مصرفی پایین
* نکات کلیدی و سودمند حافظه ی فلش خود برنامه ریز
* راههای مختلف برای عمل برنامه ریزی
* خود برنامه ریزی توسط هر اتصال فیزیکی
* ISP
* واسطه JTAG
* مختصری راجع به میکرو کنترلر AVR
* AVR انواع میکرو کنترلرهای
* خصوصیات ATMEGA32
* خصوصیات ATMEGA32
* خصوصیات ATMEGA32
* خصوصیات ATMEGA32
* خصوصیات ATMEGA32
* فیوز بیت های ATMEG32
* توضیح فیوز بیت ها(FUSE HIGH BYTE)
* توضیح فیوز بیت ها (FUSE LOW BYTE)
* توضیح فیوز بیت ها (FUSE LOW BYTE)
* BODENبرای فعال کردن عملکرد مدار BROWN-OUT این
* بیت بایستی برنامه ریزی شده باشد
* Clock Distribution
* توزیع کلاکATMEG32
* منابع کلاک ATMEG32
* اسیلاتور کریستالی
* تعیین محدوده خازن ها برای نوسانگر سرامیکی
* تعیین زمان آغاز(START-UP) توسط فیوز بیت CKSEL0,SUT1…۰
* برای کلاک اسیلاتورکریستالی
* جدول مدهای عملیاتی اسیلاتور RC کالیبره شده داخلی
* اسیلاتور تایمر/ کانتر
* خصوصیات مبدل آنالوگ به دیجیتال
* پیکره بندی ADC در محیط BASCOM
* مقایسه کننده آنالوگ
* پیکره بندی مقایسه کننده آنالوگ در محیط BASCOM
* خصوصیات ارتباط سریال SPI
* نحوه کار ارتباط سریال SPI
* ارتباطSPI و رجیسترهای مربوطه
* رجیستر کنترلی [SPI CONTROL REGISTER]SPCR-SPI
* جدول انتخاب مد های ارتباطی SPI با توجه به دو بیت CPOL و CPHA
* جدول انتخاب فرکانس کلاک با توجه به فرکانس OSC
* رجیستروضعیت [SPI STATUS REGISTER]SPSR-SPI
* پیکره بندیSPIدر محیط BASCOM
* وقفه ها
* حافظه EEPROM داخلی میکرو
* ۳ مدPOWER- DOWN
* مدPOWER- SAVE
* مدSTANDBY
* ۶ مدEXTENDED-STANDBY
* اسکن صفحه کلید ۴*۴ در محیط BASCOM
* ادامه منوی FILE
* منوی EDIT
* منوی PROGRAM
* منوی OPTION
* معرفی محیط شبیه سازی (SIMULATOR)
* میکروکنترلرهایِ AVR
* نوار ابزار در این محیط
* دستورات و توابع محیط برنامه نویسی BASCOM
* بدنه یک برنامه درمحیطBASCOM معرفی میکرو
* بدنه یک برنامه درمحیطBASCOM معرفی میکرو
بدنه یک برنامه درمحیطBASCOM کریستال
بدنه یک برنامه درمحیطBASCOM اسمبلی و بیسیک ( اختیاری)
* بدنه یک برنامه درمحیطBASCOM اسمبلی و بیسیک ( اختیاری)
* بدنه یک برنامه درمحیطBASCOM یادداشت ( اختیاری)
* بدنه یک برنامه درمحیطBASCOM آدرس شروع برنامه ریزی حافظه FLASH ( اختیاری)