احتمالاً اگر دانشجوی کارشناسی برق در گرایش کنترل باشید در درس کنترل خطی با کنترلر PID آشنا شدید یا اگر در صنعت مشغول کار هستید برای کنترل پارامترهای محیطی نظیر دما نام PID کنترل را شنیده باشین. درواقع PID کنترل معروفترین الگوریتم کنترل حلقه بسته است. در ابتدا به بررسی علت استفاده از PID در یک سناریو عملی در بستر گلخانه هوشمند میپردازیم و سپس به ابعاد فنی کنترلر PID خواهیم پرداخت.
بررسی کاربرد کنترلر PID در گلخانه هوشمند
با گسترش اینترنت اشیا و هوشمند سازی نیاز به کنترل فرایند و پارامترهای محیطی اهمیت بیشتری پیداکرده و روزانه صنفهای تولیدی و کسبوکار بیشتری اقدام به هوشمند سازی میکنند. یکی از این اصناف، گلخانه داران و کشاورزان ما هستند که از چندین سال پیش با اتوماسیون صنعتی، گلخانههای خود را تجهیز و کنترل میکردند. اما با رویکرد اینترنت اشیا منافع و مزیتهای برتری در گلخانه هوشمند به وجود آمده است. اگر بخواهیم بهطور ساده مراحل هوشمند سازی و اتوماسیون گلخانه هوشمند را بدانید، این مراحل عبارتاند از:
- نصب سنسورهای کاربردی گلخانه جهت مانیتورینگ مثل سنسور دما و رطوبت آب و خاک، CO2، لوکس متر و PH و …
- نصب تجهیزات صنعتی جهت روشن و خاموش کردن ادوات و تجهیزات گلخانه مثل بخاری، شیر برقی ها، موتور پنجره و …
- کنترل پارامترهای محیطی مثل ثابت نگهداشتن دمای گلخانه، رطوبت گلخانه، میزان CO2 و … در محدوده مجاز.
موضوعی که در این مقاله به آن بپردازیم پیادهسازی مرحله سوم است. هدف اصلی ایجاد شرایط محیطی ایده آل برای گل و گیاهان است. عوامل زیادی در رشد و نمو گل و گیاهان تأثیر گذار است که بر اساس هر نوع گیاه، تأثیر این عوامل متفاوت است. دمای مناسب در گلخانه یکی از عوامل محیطی مهم برای رشد گیاه هست. اکثر محصولات گلخانه در دمای حداقل ۱۶و حداکثر ۳۵درجه کشت میشوند اما بهترین دما برای رشد بیشتر محصولات 26 تا 29 درجه سانتیگراد است. به این نکته دقت کنید که دمای مناسب در شب و روز متفاوت است. پس باید سیستم کنترلر مرکزی گلخانه هوشمند بتواند با کنترل خروجیها و تجهیزات دمای مناسب را ثابت نگه دارد. پیادهسازی مرحله سوم برای طراحان سیستم هوشمند گلخانه همیشه همراه با ریسک بوده، به خاطر اینکه اگر عملکرد سیستم کنترلی صحیح نباشد، خسارات و آسیب واردشده به گیاهان و محصولات گلخانه جبرانپذیر نیست و ممکن در دمای خارج حد مجاز گیاه یخ بزند یا در دمای بالاتر کیفیت محصول کاهش یابد.
این موضوع را باید به یاد داشته باشیم برای سالنهای بزرگ گلخانه، کنترل عوامل محیطی بسیار پیچیده است. چندین عامل داخلی و خارجی بر دمای گلخانه تأثیر دارد. این عوامل عبارتاند از: دمای بیرون گلخانه، میزان رطوبت داخلی، میزان نور واردشده با سالن، سطح باز یا بسته بودن پنجرهها و نوع تهویه سالن و عوامل دیگری بر دمای گلخانه تأثیرگذار هست. بهترین راهکار جهت کنترل دما، راهکاری با صرف کمترین منابع انرژی انجام شود. در بعضی از روزهای سال، ممکن هست دما گلخانه کاهشیافته و سیستم کنترلی شما اگر با تنظیمات قبلی بخواهد دما را تطبیق دهد ممکن مدتزمان بیشتری طول بکشد. پس بهتره راهکاری در نظر داشت که در این شرایط، سیستم با سرعت بیشتری و صرف انرژی کمتر بتواند دمای گلخانه را به حد مناسب برساند و از خسارات جلوگیری کند. به این منظور پارامترهای تنظیماتی سیستم کنترل گلخانه باید بهطور خودکار تنظیم شوند یا در شرایط مختلف این کار بهصورت خطا و آزمون توسط اپراتور تنظیم مجدد گردد.
جهت پیادهسازی مرحله سوم میبایست ابتدا مرحله اول و دوم انجامشده باشد، یک سیستم کنترل حلقه بسته نیاز دارد از سنسورها و تجهیزات کنترلی استفاده کند. اگر دمای گلخانه بیشازحد زیاد شد سیستمهای گرمایشی خاموش شود و بجای آن سیستم سرمایشی فن و پد سلولوزی عمل کند متناظرا اگر دمای گلخانه کاهش یافت، سیستم گرمایشی روشن شود.
اما چطور میتوانیم یک سیستم کنترلشده برای تنظیم و ثابت نگهداشتن دمای گلخانه بهصورت اتوماتیک پیادهسازی کنیم؟ همانطور که گفته شد کنترل شرایط اقلیمی گلخانه بسیار پیچیده و به عوامل زیادی وابسته است. مقالات زیادی پیرامون مانیتورینگ و کنترل گلخانه هوشمند در صنعت نسل 4.0 چاپشده و برای بهینهسازی شرایط اقلیمی مثل دمای گلخانه، روشهای متعددی وجود دارد. روشهایی مبتنی بر منطق فازی، بهکارگیری شبکه ANN بر پایه هوش مصنوعی، کنترل MPC و یکی از قدیمیترین و کاربردیترین روشها PID هست. کنترلر PID یک سیستم کارآمد برای ثابت نگهداشتن پارامتر محیطی مثل دما است، همچنین با ترکیب کنترل فازی به PID اثر اغتشاشات خارجی بهطور مؤثرتری کنترل میشود. در ادامه با کنترلر PID آشنا خواهیم شد و کاربرد آن در گلخانه هوشمند بررسی میکنیم.
PID دقیقا چطور کار میکند؟
PID کوتاه شده کلمات Proportional Integral Differential است که به ترتیب از چپ به راست به معنای تناسب، انتگرال و مشتق گیری میباشد. کنترل PID بسیار کاربردی است که تقریبا در اطراف ما در سیستم های مختلفی وجود دارد. برای مثال دستگاه قهوه ساز شما برای تنظیم فشار از PID استفاده می کند یا سیستم کروز ماشین برای ثابت نگه داشتن سرعت از PID بهره می برد. در واقع ما برای ثابت نگه داشتن خروجی سیستم روی مقدار تعیین شده از PID استفاده می کنیم. در طیف زیادی از سیستم ها نظیر هواپیما، پهباد، توربین ها، تنظیم دمای کوره و در واحد های تولیدی از PID استفاده زیادی شده. کنترلر PID ابتدا خروجی سیستمPV (Process Variable) را با یک نقطه تعیینشده توسط کاربر SP (Set Point)مقایسه میکند و با محاسبه اختلافان سیگنال خطا (Error) تولید میشود. سپس سعی میشود میزان سیگنال خطا با تنظیم خروجی اصلاح یابد و به صفر نزدیک شود. اما چطور میتوان سطح سیگنال خروجی PVرا بر اساس سیگنال خطا تغییر داد؟!
در سیستم کنترل حلقه بسته، سنسورها با فیدبک گرفتن از مقدار خروجی و با ارسال سیگنال به کنترلر میتواند میزان خطا را تشخیص دهند و با محاسبه مقادیر PID میتوان خروجی سیستم را به SP (Set Point) نزدیک کرد. همانطور که گفته شد PID دارای سه پارامتر Proportional (P) و integral (I) و Derivative (D) هست که بهطور جداگانه از سیگنال خطا محاسبه میشوند و به اصلاح مقدار خروجی کمک میکنند. هرکدام از این سه پارامتر داری Gain (ثابت تقویتکننده) جداگانهای هستند. تصویر زیر فرم تابع PID را نشان می دهد:
بیایم به گلخانه هوشمند و سناریو کنترل دما بازگردیم، فرض کنید بخواهیم یک سیستم کنترل دما در محدوده مجاز دمای گلخانه راهاندازی کنیم. سادهترین حالت ممکن برای راهاندازی کنترلر دما کنترلر ON/OFF یا بهاصطلاح Bang-Bang گفته میشود. با تعیین آستانه حد بالا و حد پایین دمای مجاز، با برنامهنویسی میتوان دو شرط معین کرد. شرط اول برای شرایطی که دما بیشازحد آستانهبالا است که میبایست سیستم گرمایشی خاموش گردد و برای شرط دوم اگر دما از حد پایین کاهش یافت، آنگاه سیستم گرمایشی روشن شود. جالب است بدانید این روش کار میکند ولی محدوده نوسان دمایی بالایی پیرامون Set value به وجود میآید. اولین مشکل نداشتن دقت بالا و صرف انرژی بیشتر است. همچنین ممکن است این تغییرات نوسانی در ناحیه هیسترزیس برای صنایع حساس، خطراتی همراه داشته باشد. در تصویر زیر یک سیستم بر پایه کنترلرON/OFF میبینید:
کنترلر کننده PID نتیجه بهتری نسبت به کنترلکننده ON/OFF میدهد و پایداری و دقت بیشتری پیرامون نقطه SP دارد. هدف نهایی ما داشتن خروجی پایدار و ثابت هست که مقدار خطا در آن به صفر نزدیک شود. منظور از کنترلر PID الگوریتم کد نویسی شده که بهصورت دیجیتال در پردازنده شما اجرا میشود. پردازنده مرکزی با اندازی گیری دمای در لحظه (Process Variable) PV و مقایسه آن با دمایی که باید درآن قرار گیرد، میزان خطا را محاسبه کرده و سپس از طریق الگوریتم PID به هیتر فرمان صادر میشود. البته کنترلرهای آنالوگ قدیمی مبتنی بر PID در تجهیزات مختلف وجود داشتهاند. برای پیادهسازی کنترلکننده دیجیتال در میکروپروسسورها، PLC ها و کامپیوتر لازم است آنها را به فرم زمان گسسته تبدیل کنیم. بدین منظور نیاز هست از سیگنال سنسور نمونهبرداری شود. همچنین باید در نظر داشت، فرکانس نمونهبرداری طبق شرط نایکوئیست بیش از دو برابر بزرگترین مؤلفه فرکانسی در سیگنال زمان پیوسته باشد.
اما چطور خروجی کنترلر PID که ماهیت پیوسته و آنالوگ دارد را به خروجیهای دیجیتال سیستم مثل رله بدهیم؟ نیاز به واحدهای DAC یا پیادهسازی پالس Pulse Width Modulation (PWM) داریم. برای بهکارگیری PWM نیاز داریم زمانی را بهعنوان پریود یا Cycle Time در نظر بگیریم. و با مقیاس بندی حداکثر میزان خروجی کنترلر میتوانیم یک Duty Cycle برای هر نسبت سیگنال آنالوگ مشخص کنیم. همچنین بدیهی هست در گلخانه هوشمند با توجه به زمان پاسخ بالا و تغییرات با سرعتپایین در کنترل دمای گلخانه، بهتر است که از مدتزمان Cycle Time بزرگتری استفاده کرد و فرکانس PWM بسیار پایین باشد تا تجهیزات کنترلی گلخانه نظیر بخاری و انواع فنها آسیب نبینند.
تا اینجا به بررسی علت استفاده از PID در یک سناریو عملی در بستر گلخانه هوشمند و نحوه کارکرد PID پرداختیم؛ اکنون قصد داریم با الگوریتم و پارامترهای PID آشنا شده و عملکرد انواع کنترلرهای PID را بررسی کنیم.
الگوریتم PID دارای سه پارمتر برای تنظیم (Tuning) است. این پارامترها عبارتاند از: پارامتر تناسب Kp، پارامتر انتگرال Ti (Ki) و پارامتر مشتق Td (Kd) که باید آنها بهطور صحیح تنظیم شوند تا PID کارکرد درست داشته باشد. در ادامه مناسبترین راه برای برنامهریزی کنترلر PID به همراه روشهای تنظیمان معرفی کنیم. با تنظیم پارامترهای PID میتوانیم مشخص کنیم با چه دقت و سرعت تصحیح دمایی اعمال شود. هرکدام از پارامترها یک سیگنال جداگانه برای خروجی کنترلر ایجاد میکند. اما بهدست آوردن بهترین ثابتها برای این سه پارامتر در سیستمهای مختلف دشواری متناسب خودش را دارد.
پاسخ پارامترهای PID
قسمت Proportional برپایه نسبتی از خطا در لحظه به خروجی سیستم اعمال و اضافه میشود. اما قسمت Integral یک کنترلر حافظهدار است به معنی آنکه در هرلحظه تحت تأثیر مجموع خطاهای سیستم درگذشته است و همچنین بخش Differential به نرخ تغییرات خطا حساس بوده و رفتار آینده خطای فعلی را در نظر میگیرد و به سیستم اعمال و اضافه میشود. در ادامه ویژگی هرکدام از پارامترهای PID بیانشده است.
- پاسخ تناسبی ( پارامترP):
در بیشتر موارد نیروی محرکه اصلی کنترلکننده است. خروجی کنترلکننده متناسب با بزرگی خطا میباشد. همچنین این پارامتر را بهره کنترلکننده هم یاد میکنند. اگر بهره تناسب را عدد بالایی تنظیم کنیم، ناپایداری سیستم بیشتر شده و سیستم نوسان میکند. از طرفی بهره تناسب اگر عدد پایین تنظیم گردد، خطاهای کوچک برطرف نمیشوند. در این کنترلکننده پاسخ سیستم سریع خواهد بود. اما خروجی سیستم به مقدار Set Point بهطور دقیق نخواهد رسید و خطای حالت ماندگار دارد.
- پاسخ انتگرالی ( پارامتر I):
هدف اصلی استفاده از پارامتر انتگرالی حذف خطای حالت ماندگار است. با تنظیم این پارامتر میتوان سرعت عملکرد این کنترلکننده را تنظیم کرد. هرچه مقدار پارامتر بیشتر باشد، سیستم کندتر عمل میکند. تغییرات بر اساس تاریخچه خطاها اعمال میشود و حساسیت نسبت به نویز پایین است. این کنترلکننده بهطورکلی کند هست و پیادهسازی آن آسان نیست.
- پاسخ مشتقی (پارامتر D):
این کنترلکننده نسبت به نرخ تغییرات خطا حساس هست، بدیهی است نسبت به نویز حساسیت بالایی داشته باشد. این کنترلکننده جهت تصحیح خطا پاسخ سیستم را بسیار سریع میدهد و سیستم را پایدار میکند. اگر سیستم شما تغییرات محیطی زیادی دارد، این کنترلکننده تأثیر بیشتری روی خروجی خواهد داشت. خروجی سیستم به مقدار Set Point بهطور دقیق نمیرسد.
عملکرد کنترلرهای PID
- کنترلکننده تناسبی (P)
- کنترلکننده تناسبی و انتگرالی (PI)
- کنترلکننده تناسبی و مشتقی (PD)
- کنترلکننده تناسبی، انتگرالی و مشتقی (PID )
در جدول و تصاویر شبیهساز به همراه انیمیشن زیر تأثیر افزایش هرکدام از ثابتهای PID مشخصشده است. برای درک بهتر از نتیجه افزایش ضرایب روی مشخصههای خروجی (زمان صعود، فراجهش و …)، کافیه نتیجه حاصل از افزایش هر پارامتر را ابتدا روی جدول بخوانید سپس درون انیمیشن و تصاویر شبیهساز بررسی کنید.
تصاویر شبیهسازی بر اساس یک نرمافزار اپن سورس برای یک سیستم با FOPDT تنظیمشده با پارامترهای زیر:
Model Gain: 2.25 TimeConstant: 60.5 sec DeadTime: 9.99 sec
اثر نویز بر کنترلر PID
در سناریوهای عملی، سنسورها با اندازهگیری پارامترهای محیطی با نویز مواجه شده. مؤلفههای فرکانس بالای نویز منجر به مقادیر بزرگی در سیگنال مشتق ناشی از کنترلر مشتقی میشود. درنتیجه، سیگنال کنترل ممکن است بیشازحد بزرگ شود و عملگرها به اشباع بروند. یک راه عملی برای حل معضل فوق استفاده از یک فیلتر پایین گذر مرتبه اول در خروجی مشتق گیر است. اما در بیشتر کنترلکنندهها به دلیل حساسیت بخش مشتق نسبت به سیگنالهای نویز عمدتاً در سناریوهای واقعی این قسمت حذف میشود و از یک کنترلکننده بهصورت PI استفاده میکنند.
روش های تنظیم کنترلر PID (Tuning)
فرایند یافتن این مقادیر ثابت PID، تیونینگ (tuning) نام دارد. در هر کاربردی ضرایب کنترلر PID متفاوت است و پاسخ بهینه منحصر به فرد دارد. ضرایب PID نیز میتوانند با روش های شناخته شدهای مانند تابع انتقال به صورت بهینه محاسبه شوند، اگرچه در کاربردهای عملی، بطور قابل قبول میتوان با آزمون و خطا و مشاهده رفتار سیستم بطور تقریبی تعیین گردند. در روش ازمون و خطا، اپراتور مقدار پارامتر های ثابت PID را تخمین زده و عملکرد کنترلر را تست میکند تا به نتیجه مطلوب برسد. اما در بعضی از سیستم ها امکان شرایط تست وجود ندارد و بهتره از روش های دیگر محاسبه انجام شود. امکان شبیه سازی کنترلر PID در نرم افزار متلب وجود دارد و ابزار های لازم در محیط Simulink قرار گرفته است.
برای تنظیم پارامترهای PID روشهای متنوع وجود دارد. عبارتاند از:
- روش آزمونوخطا
- روش Open loop PID Tuning
- روش Closed loop Ziegler and Nichols tuning
- روش استفاده از الگوریتمهای اکتشافی مبتنی بر الگوریتم ژنتیک (Genetic Algorithms)
- روش رله
- استفاده از نرمافزار
جهت بررسی راهکارهای تنظیم پارامترهای PID در گلخانه هوشمند برای کنترل اقلیم گلخانه، مقالاتی منتشرشده است. برای بررسی مقالهای با عنوان Self-Tuning PID Control for Greenhouse به این لینک مراجعه کنید.
ساده اما پرمحتوا نوشتین
کاش تو کلاس کنترل خطی اون استاد ما یه بند از pid اینجوری میگفت…
نظر لطف شماست.
یادتون نره سیسوگ رو به دوستانتون معرفی کنید. ✨