ثبت نام
          
منوى اصلي
 مقالات سایت
 اتوماسیون صنعتی
 میکروکنترلر
 برق صنعتی
 مخابرات
 برق قدرت

 کنترل وابزاردقيق
 شبكه هاي صنعتي
 روباتيك
 مقالات آموزشي الكترونيك
 ارسال اخبارو مقالات
 تماس با ما
 نرم افزار
 اتوماسیون صنعتی
 برق صنعتی وکنترل
 برق فدرت
 برق الکترونیک
 برق روشنایی
 فني ومهندسي
 استانداردهاي صنعتي
 نرم افزارهاي جامع مديريت
 دوره های آموزشی
 مقدماتي STEP 7 
 پيشرفته STEP 7
 شبکه هاي  PROFIBUS  
 مانيتورينگ  (WINCC(1
  مانيتورينگ  (WINCC(2
 ميني پي ل سي LOGO
 نرم افزار مهندسی ePLAN 5
 نرم افزار مهندسيePLANP8
 طراحي  روشنايي DIALUX
 سيستمهاي قدرت ETAP
 كنترل و ابزاردقيق INTOOLS
 كنترل وابزاردقيق
 برنامه زماني دوره ها 
 پروژه ها
 اتوماسيون صنعتي
 سيستم مديريتي  BMS
 كتب وجزوات تدوين شده
 كنترل وابزار دقيق
 برق صنعتي والکترونیک
 دوره هاي آموزشي
 توليد كابلهاي ارتباطي
 نرم افزارهاي مهندسي
 نمايندگي محصولات
نمايندگي فروش آلن برادلي
نمايندگي ميتسوبيشي الكتريك
 تجهيزات اتوماسيون صنعتي 
 و كنترل تله مكانيك
 
 
 بخشهاي سايت
 فروشگاه اينترنتي
 وبلاگ سايت
 تبليغات رايگان صنعت نما
  انجمن کنترل وابزاردقیق
 اخبار سايت

 بخشهای کار بری
 نظر ستجی
 جستجو
 معرفی به دوستان
 ارسال اخبارو مقالات
 سوالات رایج
 دریافت فایل
 تبليغات
 تماس با ما
 
آخرین ارسالها
کل موضوعات 216
کل ارسال ها 338
کل بازديد ها 1622132
کل پاسخ ها 122
کل اعضا 4062
آخرين 20 ارسال انجمن

نماينده الن برادلي AB در ايران
ارسال شده توسط softpooya_co در مورخه : دوشنبه، 23 مهر ماه ، 1397

نماینده میتسوبیشی الکتریک
ارسال شده توسط softpooya_co در مورخه : دوشنبه، 9 مهر ماه ، 1397

كابل هاب برنامه ريزي زيمنس
ارسال شده توسط softpooya_co در مورخه : يكشنبه، 8 مهر ماه ، 1397

كد تخفيف 10% فروشگاه سافت پويا
ارسال شده توسط softpooya_co در مورخه : يكشنبه، 21 مرداد ماه ، 1397

نرم افزار داريو هاي آلن برادلي
ارسال شده توسط softpooya_co در مورخه : يكشنبه، 3 تير ماه ، 1397

نرم افزارهاي Allen Bradley
ارسال شده توسط softpooya_co در مورخه : يكشنبه، 3 تير ماه ، 1397

MicroLogix™ 1100
ارسال شده توسط softpooya_co در مورخه : جمعه، 4 خرداد ماه ، 1397

فروش PLC آلن برادلي
ارسال شده توسط softpooya_co در مورخه : شنبه، 22 ارديبهشت ماه ، 1397

پك سخت افزاري SLC500 PLC
ارسال شده توسط softpooya_co در مورخه : يكشنبه، 6 اسفند ماه ، 1396

ALLEN BRADLEY 1747-UIC
ارسال شده توسط softpooya_co در مورخه : دوشنبه، 30 بهمن ماه ، 1396

آلن برادلي 1769 Compact I/O
ارسال شده توسط softpooya_co در مورخه : سه شنبه، 7 شهريور ماه ، 1396

اينورترهاي میتسوبیشی الکتریک
ارسال شده توسط softpooya_co در مورخه : دوشنبه، 4 بهمن ماه ، 1395

درخواست نرم افزار scout 4.4
ارسال شده توسط softpooya_co در مورخه : چهارشنبه، 8 دي ماه ، 1395

اخبار واطلاعيه هاي سافت پويا
ارسال شده توسط softpooya_co در مورخه : يكشنبه، 21 آذر ماه ، 1395

نماينده ميتسوبيشي الكتريك
ارسال شده توسط softpooya_co در مورخه : يكشنبه، 9 آبان ماه ، 1395

نمايندگي آلن برادلی SLC 500
ارسال شده توسط softpooya_co در مورخه : چهارشنبه، 31 شهريور ماه ، 1395

نمایندگی جی فانوک GE Fanuc
ارسال شده توسط softpooya_co در مورخه : چهارشنبه، 31 شهريور ماه ، 1395

تهيه قطعاتFANUC
ارسال شده توسط softpooya_co در مورخه : سه شنبه، 12 مرداد ماه ، 1395

تعمیرات اتوماسیون صنعتی
ارسال شده توسط softpooya_co در مورخه : يكشنبه، 12 ارديبهشت ماه ، 1395

تعميرات الکترونیکی
ارسال شده توسط softpooya_co در مورخه : يكشنبه، 12 ارديبهشت ماه ، 1395

تالار گفتمان جستجو
 
گروه مهندسي سافت پويا: تالار گفتمان

softpooya.com :: نمايش موضوعات - پروژه کنترل دمای هیتر با PID
softpooya.com صفحه اول انجمن

`

پروژه کنترل دمای هیتر با PID

 

ارسال موضوع جديد  پاسخ به اين موضوع    

   softpooya.com صفحه اول انجمن -> PID كنترلر

نمايش موضوع قبلي :: نمايش موضوع بعدي  
نويسنده پيغام

softpooya_co
مدیر سایت
مدیر سایت

وضعيت: آفلاين
15 مرداد ماه ، 1387
تعداد ارسالها: 273
محل سكونت: تهران

ارسالارسال شده در: جمعه، 4 شهريور ماه ، 1390 10:56:31    موضوع مطلب: پروژه کنترل دمای هیتر با PID پاسخ همراه با اعلان

پروژه کنترل دمای هیتر با استفاده از کنترل کننده PID با میکروکنترلر AVR

امروز یک پروژه جالب به نام کنترل کننده PID طراحی کردم، که هدف من از این پروژه پیاده سازی کنترلر PID با استفاده از میکروکنترلر AVR می باشد. من این پروژه را تا آنجایی که بتوانم به زبان ساده توضیح خواهم داد که افراد مبتدی هم متوجه قضایای این کنترلر PID شوند. و اما اول اینکه کنترل کننده PID چیست؟


PID مخفف Proportional Integral Derivative می باشد. کنترل PID یعنی عمل کردن بر روی متغییر مورد کنترل از طریق ترکیب مناسب سه عمل کنترلی تناسبی، انتگرالی، مشتق گیر، که به شرح زیر میباشد:
تناسبی: که در آن عمل کنترل با سیگنال خطای محرک که برابر تفاضل میان سیگنال ورودی و سیگنال پس خور است متناسب می باشد.
انتگرالی: که در آن عمل کنترل با انتگرال سیگنال خطای محرک متناسب است.
مشتق گیر: که در آن عمل کنترل با مشتق سیگنال خطای محرک متناسب است.
چه موقع باید از کنترلر PID استفاده کنیم؟
بهترین مثال برای روشن شدن این قضیه کنترل دمای یک هیتر می باشد که در پروتیوس هم این هیتر برای شبیه سازی وجود دارد. همانطور که می دانیم وقتی که ما هیتر را روشن می کنیم عوامل زیادی در دمای آن نقش دارند مثلا هیتر در فضای باز قرار دارد یا در فضای بسته و یا اینکه اندازه ابعاد اتاق چقدر است و ... خلاصه وقتی ما سیگنالی به هیتر اعمال می کنیم دما کم کم شروع به بالا رفتن می کند بعد از مدتی دیگه با اعمال تعدادی پالس مشخص دما به صورت تناسبی بالا نمی رود و می بینیم که دما به طور چشمگیری خود به خود بالا می رود و کنترل آن از دست ما خارج می شود. این مسئله را می توانید در پروتیوس به صورت عملی اجرا کنید که من آن را به صورت فایل جداگانه در پوشه Test_heter گذاشتم. می بینیم که کلیک کردن بر روی Button دمای هیتر بالا می رود شما چند کلیک که انجام بدهید دما سریع بالا می رود و دیگه قابل کنترل نیست و خود به خود بالا می رود. (حتما اجرا کنید تا به نقش مهم کنترلر PID پی ببرید)
حالا نقش کنترل کننده PID چیست؟
کنترل PID از حاصل جمع سه کنترل کننده تناسبی، انتگرالی، مشتق گیر، تشکیل شده است به عنوان مثال ما می خواهیم دمای هیتر را روی 50 درجه سانتیگراد تثبیت کنیم پس مقدار مطلوب ما یا همان Set Point برابر با SP=50 می باشد.
اگر ما سیگنالی به هیتر اعمال کنیم و دمای هیتر 50 درجه شود یعنی اینکه سیگنال خطا برابر با صفر شده پس فقط کنترل کننده تناسبی وارد عمل می شود و پروسه را کنترل می کند و قسمت انتگرالی و مشتق گیری ما مقدار صفر را خواهند داشت. OUT=P+0+0
اگر دمای اندازه گیری شده بیشتر یا کمتر از مقدار SP شود آنگاه کنترل کننده انتگرالی و مشتق گیر وارد عمل خواهند شد تا پروسه را به مقدار مطلوب برسانند. OUT=P+I+D وقتی این دو کنترل کننده وارد عمل خواهند شد که ما سیگنال خطا داشته باشیم (صفر نباشد) آنگاه قسمت انتگرالی از سیگنال خطا انتگرال می گیرد و قسمت مشتق گیر هم از سیگنال خطا مشتق می گیرد که حاصل جمع این سه خروجی PID ما می باشد.
تا اینجا مسئله روشن شده که کنترل PID چه کاربرد مهمی در پروسه ها مخصوصا پروسه های غیر قابل پیش بینی دارد. PID با استفاده خطا های قبلی و خطا های حال، آینده را پیش بینی کرده و تدابیری برای کنترل هر چه بهتر سیستم ایجاد می کند.
پس معاله خروجی ما برابر است با:
Kp+Ki(Integral (e(t)))+Kd(dif(e(t)))

که در این معادله Kp, Ki, Kd ضرایب تناسبی و انتگرالی و مشتق گیر ما می باشد که با انتخاب درست این ضرایب که اکثرا به صورت عملی و تجربی بدست می آیند می توان کنترلر PID را به نحوی تنظیم کرد که نه اورشوت و نه فراجهش بیش از حدی داشته باشیم و سیستم در وضعیت پایداری قرار گیرد. اما پروژه و قسمت های مختلف آن:
LCD 4*16
Micro ATMEGA32
Keypad 3*4
Heater (OVEN)
برنامه از قسمت های مختلفی که به صورت روتین نوشته شده است تشکیل شده که به شرح زیر می باشد:
روتین کیبورد که وظیفه اسکن کیبور را دارد و با آن مقدرا دمای مطلوب SP را وارد می کنیم.
روتین وقفه INT0 که در آن برنامه اسکن کیبور نوشته شده.
روتین مبدل آنالوگ به دیجیتال ADC که دمای هیتر را تبدیل و برای میکرو آماده می کند.
روتین LCD و حلقه بی نهایت که وظیفه نمایش اطلاعات و محاسبات مربوط به PID را انجام می دهد.
جهت جلوگیری از شلوغی برنامه برنامه اسکن کیبورد را در یک فایل هدر جداگانه نوشتم و این فایل را با استفاده از دستور #include در روتین ext_int0_isr ابتدا وقفه سراسری غیر فعال شده و وارد حلقه شرطی می شود که شرط آنkey!=11 می باشد عدد 11 یعنی همان کد کلید # که به در اینجا به عنوان کلید ثبت تعریف شده و وقتی شرط برقرار شود یعنی ما کلید ثبت را فشار دادیم میکرو اعداد وارد شده را با یک ضرب و تقسیم ساده به هم می چسباند و به متغییر SP اختصاص داده می شود. از کلید * با کد 10 هم به عنوان کلید DEL استفاده شده.
در روتین adc_isr هم با استفاده از وقفه ADC عمل آنالوگ به دیجیتال انجام شده و دمای قرائت شده در متغییر temp قرار می گیرد.
در روتین main هم دستورات مربوط به پیکره بندی LCD و وقفه INT0 و ADC که همگی با Code Wizard انجام شد قرار گرفته است. در آخر هم عملیات مربوط به محاسبات کنترلر PID نوشته شده که به شرح زیر می باشد:
error=SP-temp; //H1
pterm=kp*error; //H2
iterm=(ki*error)+last_iterm; //H3
dterm=(error-last_error)*kd; //H4
D=(pterm+iterm+dterm)*100; //H5
if(D<1) D=1; //H6
if(D>1020) D=1020; //H7
last_iterm=iterm; //H8
last_error=error; //H9
D2=D; //H10
HD=D2/256; //change to int val [xx xx] //H11

LD=D2%256; //H12
خطای فعلی برابر است با مقدار مطلوب منهای دمای اندازه گیری شده.
مقدار خطای فعلی در ضریب تناسبی Kp ضرب می شود و جمله اول معادله یعنی قسمت تناسبی را ایجاد می کند.
مقدار خطای فعلی در ضریب انتگرالی Ki ضرب می شود و با مقدار خطای قبلی جمع می شود و جمله دوم معادله یعنی قسمت انتگرالی را ایجاد می کند. (همانطور که می دانید انتگرال حاصل جمع می باشد)
مقدار خطای فعلی از خطای قبلی کم می شود و در ضریب مشتق گیر Kd ضرب می شود و جمله سوم معادله یعنی قسمت مشتق گیر را ایجاد می کند.
حاصل جمع سه قسمت در عدد 100 ضرب شده و در متغییر D قرار می گیرد.
شرطی جهت جلوگیری از کوچکتر شدن D
شرطی جهت جلوگیری از بزرگتر شدن D از 1020 (ماکزیمم OCR0 تایمر)
برای مرحله بعدی خطای فعلی انتگرالی در درون متغییر خطای قبلی انتگرالی قرار می گیرد.
برای مرحله بعدی خطای فعلی مشتق گیر در درون متغییر خطای قبلی مشتق گیر قرار می گیرد.
کپی مقدار D
عدد درون D2 یک عدد در حوزه شانزده بیتی می باشد که با یک عمل ضرب و تقسیم ساده به اجزای هشت بیتی سبک و سنگین تجزیه می کنیم

بعد از اجرای دستورات مرحله 10 و 11 ORC1BL و ORC1BH که حاصل نتیجه عملیات PID می باشد بارگذاری شده و موج PWM کنترل شده را ایجاد و به استفاده از یک تقویت ترانزیستوری به هیتر اعمال می شود و بنابراین دمای هیتر همواره روی مقدار SP باقی خواهد ماند.
اصول کار مدار:
بعد اجرای شبیه سازی سیستم شروع کار میکند تا دمای هیتر را به دمای SP برساند. برای تغییر دادن SP می توانید کلید فشاری را کلیک کرده تا یک وقفه رخ دهد و برنامه وارد روتین اسکن کیبورد شود در اینجا شما می توانید SP را از 0 تا 99 وارد کنید جهت تصحیح کلید * را فشار دهید و برای ثبت نهایی SP کلید # را فشار دهید.
منبع:
تنها کاربران عضو سايت قادر به مشاهده لينک ها هستند.
عضويت در سايت / ورود به سايت

-

بازگشت به بالا

رويت مشخصات كاربر ارسال پيغام شخصي بازديد از سايت ارسال كننده مطلب شناسه Yahoo
تمامي مطالب ارسال شده:   
ارسال موضوع جديد   پاسخ به اين موضوع   

   softpooya.com صفحه اول انجمن -> PID كنترلر

زمان پيشفرض سايت: ساعت گرينويچ + 3.5 ساعت
صفحه 1 از 1
  
نام کاربري:      کلمه عبور:     

~ يا ~
عضويت در سايت

  


 


Forums ©




صفحه اصلي  |  تبليغات صنعت ايران  |  فروشگاه تخصصي برق   |  انجمن كنترل و ابزاردقيق  |  تبليغات  |  تماس با ما

کلیه حقوق این سایت برای گروه مهندسي سافت پويا محفوظ است

Powered by PHPNuke.ir