کنترل فرآیند با استفاده از کنترلر PID

کنترل فرآیند با استفاده از کنترلر PID

PDF

کنترل فرآیند با استفاده از کنترلر PID
معرفی
در صنعت فرآیند شیمیایی اغلب کنترل یک فرآیند خاص مهم است. کنترل PID (کنترل مشتق متناسب-انتگرال) یکی از راه های دستیابی به آن است، اما بهینه سازی پارامترها در الگوریتم PID می تواند دشوار باشد. این مثال نشان می دهد که چگونه می توانید یک الگوریتم کنترل PID را برای شبیه سازی یک سیستم کنترل فرآیند و یافتن پارامترهای بهینه PID پیاده سازی کنید.
این کاربرد یک مثال عمومی است اما می تواند شبیه محیط یک محفظه احتراق باشد که در آن غلظت در نقطه اشتعال بسیار مهم است. دو جریان گاز با غلظت های مختلف اکسیژن در محفظه احتراق مخلوط می شوند. قبل از اختلاط کامل جریان ها، غلظت در نقطه اشتعال اندازه گیری می شود. الگوریتم کنترل سرعت ورودی گاز را با محتوای اکسیژن کمتر تغییر می دهد تا به غلظت کل مطلوب در نقطه اشتعال دست یابد. از آنجایی که افزایش جریان آن گاز باعث کاهش غلظت می شود، ضرایب PID علامت منفی برای این کنترل کننده PID خواهد داشت.
تعریف مدل
هندسه مدل در شکل 1 نشان داده شده است . در ورودی بالایی، یک جریان گاز با محتوای اکسیژن بالا با سرعت 10 میلی متر بر ثانیه وارد راکتور می شود    ، در حالی که گازی با سطح اکسیژن پایین تر از سمت چپ وارد راکتور می شود. غلظت اکسیژن در یک نقطه اندازه گیری اندازه گیری می شود و سرعت ورودی جریان با غلظت کمتر توسط الگوریتم کنترل PID برای دستیابی به غلظت مورد نظر در آن نقطه تغییر می کند.
شکل 1: هندسه مدل.
این مدل از رابط جریان آرام برای توصیف جریان سیال و رابط حمل و نقل گونه های رقیق شده برای تعادل جرم استفاده می کند. معادلات مربوطه خوانده می شود (با فرض جریان تراکم ناپذیر و عدم وجود واکنش)
برای فرمول بندی شرایط مرزی معادله حمل و نقل جرم، با فرض اینکه دو غلظت ورودی را می دانید شروع کنید. علاوه بر این، فرض کنید که انتقال واکنش دهنده در خروجی عمدتاً توسط همرفت هدایت می شود. یعنی از انتشار در جهت اصلی جریان همرفتی غفلت کنید. شرایط مرزی بدون شار همه دیوارها را توصیف می کند. شرایط مرزی برای تعادل جرم عبارتند از:
جدول 1: شرایط مرزی موازنه جرم.
مرز
محدودیت
ورودی بالایی
در، بالا
ورودی کنترل شده
در، ورودی
پریز
 ·  (− ∇ ) =  0
دیوارها
 ·  0
در اینجا   c غلظت است. in, top و in, inlet غلظت ورودی (واحد SI: mol/m 3 ) به ترتیب برای ورودی های بالایی و کنترل شده هستند. D انتشار اعمال شده است (واحد SI: m2 / s). و N شار مولی است (واحد SI: mol/(m2 · s)).
مدل از شرایط مرزی زیر برای جریان سیال استفاده می کند:
جدول 2: شرایط مرزی سیال-جریان.
مرز
محدودیت
ورودی بالایی
(0،  − در، بالا )
ورودی کنترل شده
در , 0)
پریز
0
بخش های ورودی
 ·  0
دیوارها
0
در اینجا u بردار سرعت (واحد SI: m/s)، in، بالا سرعت ورودی در ورودی بالا و in سرعت کنترل شده با PID است. در خروجی، فشار را روی 0 تنظیم کنید . شرایط مرزی بدون لغزش همه دیوارها را توصیف می‌کند به جز بخش‌های ورودی که شرایط لغزش در آن اعمال می‌شود، که امکان انتقال صاف به پروفیل سرعت آرام را فراهم می‌کند.
الگوریتم کنترل PID مورد استفاده برای محاسبه in به شرح زیر است که الگوریتم کنترل PID استاندارد موجود در افزونه PID Controller است:
(1)
با پارامترهای زیر:
جدول 3: پارامترهای کنترل کننده PID.
پارامتر
ارزش
مجموعه c
0.5mol/ m3
P
-0.5 m 4 /(mol s)
من _
-1 متر 4 /(mol·s 2 )
D
-10 -3 m4 / mol
همانطور که گفته شد، مقادیر منفی ضرایب نشان دهنده این واقعیت است که مجموعه c کمتر از غلظت در ورودی بالا، in، top است ، و بنابراین هدف جریان گاز در ورودی کنترل شده کاهش غلظت است. در عمل، ثابت مشتق، kD ، در اکثر موارد روی 0 تنظیم می شود ، زیرا تعیین این پارامتر می تواند دشوار باشد. علاوه بر این، عبارت مشتق ممکن است نوسانات در سیستم را افزایش دهد زیرا نویز را در اندازه گیری c تقویت می کند . افزودنی PID Controller شامل گزینه ای برای فیلتر کردن قسمت مشتق است که تأثیر نویز فرکانس بالا را کاهش می دهد و بنابراین قسمت مشتق را مفیدتر می کند.
نتایج و بحث
دو نمودار در شکل 2 غلظت اکسیژن و خطوط جریان سرعت در محفظه را به ترتیب پس از 0.05  ثانیه و 2  ثانیه نشان می دهند. شکل ها نشان می دهد که غلظت اندازه گیری شده به شدت به میدان جریان بستگی دارد. هنگام راه اندازی، زمانی که سرعت ورودی جریان ورودی از سمت چپ بسیار کم است، سنسور کاملاً در معرض جریان بسیار متمرکز قرار می گیرد و با افزایش سرعت ورودی سمت چپ، رابطه معکوس رخ می دهد.
شکل 2: غلظت و سرعت اکسیژن پس از 0.1 ثانیه (بالا) و 1.5 ثانیه (پایین) جریان می یابد.
شکل 3 سرعت ورودی و غلظت در نقطه اندازه گیری را به عنوان تابعی از زمان برای دو مقدار مختلف برای پارامتر kP نشان می دهد . خط سبز نتایج را برایمقدار k 0.5  m 4 / (mol·s) نشان می دهد در حالی که خط آبی مربوط به k P برابر با 0.1  m4/ (mol·s) است. نتایج ارزیابی شده برای مقدار k P کوچکتر قبل از تثبیت نوسان بیشتری دارند. بنابراین، واضح است که برای این مورد، مقدار k P بالاتر ، کنترل فرآیند پایدارتری را به همراه دارد.
شکل 3: سرعت ورودی کنترل شده با PID (بالا) و غلظت در نقطه اندازه گیری (پایین) به عنوان تابعی از زمان برای P = 0.5 m 4 / (mol·s) (سبز) و P = 0.1 m 4 / ( mol·s) (آبی).
مسیر کتابخانه برنامه: COMSOL_Multiphysics/Multiphysics/pid_control
دستورالعمل مدلسازی
از منوی File ، New را انتخاب کنید .
جدید
در پنجره جدید ، روی  Model  Wizard کلیک کنید .
مدل جادوگر
1
در پنجره Model  Wizard روی  2D کلیک کنید .
2
در درخت Select  Physics ، Fluid  Flow>Single-Phase  Flow>Laminar  Flow  (spf) را انتخاب کنید .
3
روی افزودن کلیک کنید .
4
در درخت Select  Physics ، Chemical  Species  Transport>Transport  of  Diluted  Species  (tds) را انتخاب کنید .
5
روی افزودن کلیک کنید .
6
 روی مطالعه کلیک کنید .
7
در درخت انتخاب  مطالعه ، General  Studies>Time  Dependent را انتخاب کنید .
8
 روی Done کلیک کنید .
تعاریف جهانی
پارامترهای 1
1
در پنجره Model  Builder ، در قسمت Global  Definitions روی Parameters  1 کلیک کنید .
2
در پنجره تنظیمات برای پارامترها ، بخش پارامترها را پیدا کنید .
3
در جدول تنظیمات زیر را وارد کنید:
 
نام
اصطلاح
ارزش
شرح
v_in_top
0.01 [m/s]
0.01 متر بر ثانیه
سرعت، ورودی بالایی
c_in_top
1[mol/m^3]
1 mol/m³
غلظت، ورودی بالایی
c_in_inlet
0.2 [mol/m^3]
0.2 mol/m³
غلظت، ورودی کنترل شده
c00
0.5 [mol/m^3]
0.5 mol/m³
غلظت اولیه، داخل محفظه
D
1e-4[m^2/s]
1E-4 متر مربع در ثانیه
انتشار
c_set
0.5 [mol/m^3]
0.5 mol/m³
غلظت نقطه تعیین شده
k_P_ctrl
-0.5 [m^4/(mol*s)]
-0.5 m 4 /(s mol)
پارامتر متناسب
k_I_ctrl
-1[m^4/(mol*s^2)]
-1 m 4 /(s² mol)
پارامتر انتگرال
k_D_ctrl
-1e-3[m^4/mol]
-0.001 m4 / mol
پارامتر مشتق
همانطور که در قسمت Model Definition ذکر شد ، پارامترهای PID منفی هستند زیرا غلظت نقطه تنظیم کمتر از ورودی بالایی است.
هندسه 1
هندسه را ایجاد کنید. برای ساده کردن این مرحله، یک دنباله هندسی آماده شده را وارد کنید.
1
در نوار ابزار Geometry ، روی Insert  Sequence کلیک کنید و Insert  Sequence را انتخاب کنید .
2
به پوشه Application Libraries مدل بروید و روی فایل pid_control_geom_sequence.mph دوبار کلیک کنید .
3
در نوار ابزار Geometry ، روی  ساختن  همه کلیک کنید .
4
 روی دکمه Zoom  Extents در نوار ابزار Graphics کلیک کنید .
تعاریف
سپس، یک پروب برای نمونه برداری از غلظت و مشتق زمانی آن در نقطه x  =  0 ، y  =  0.002- اضافه کنید .
Domain Point Probe 1
1
در نوار ابزار تعاریف ، روی  Probes کلیک کنید و Domain  Point  Probe را انتخاب کنید .
2
در پنجره تنظیمات برای Domain  Point  Probe ، قسمت Point  Selection را پیدا کنید .
3
در ردیف مختصات ، y را روی -0.002 تنظیم کنید .
عبارت Point Probe 1 (ppb1)
1
در پنجره Model  Builder ، گره Domain  Point  Probe  1 را گسترش دهید ، سپس روی Point  Probe  Expression   (ppb1) کلیک کنید .
2
در پنجره تنظیمات برای Point  Probe  Expression ، در قسمت متن نام متغیر ، c_mp را تایپ کنید .
3
روی Replace  Expression در گوشه سمت راست بالای بخش Expression کلیک کنید . از منو، Component   (comp1)>Transport  of  Diluted  Species>Species  c>c  –  Concentration  –  mol/m³ را انتخاب کنید .
عبارت Point Probe 2 (ppb2)
1
در پنجره Model  Builder ، روی Domain  Point  Probe  1 کلیک راست کرده و Point  Probe  Expression را انتخاب کنید .
2
در پنجره تنظیمات برای Point  Probe  Expression ، ct_mp را در قسمت متن نام متغیر  تایپ کنید .
3
قسمت Expression را پیدا کنید . در قسمت Expression text، ct را تایپ کنید .
وارد کردن افزونه PID Controller و تنظیم الگوریتم کنترل را ادامه دهید.
4
در نوار ابزار Home ، روی  Windows کلیک کنید و Add-in  Libraries را انتخاب کنید .
کتابخانه های افزودنی
1
در پنجره Add-in  Libraries ، در درخت، کادر انتخاب گره COMSOL  Multiphysics>pid_controller را انتخاب کنید  (اگر قبلاً انتخاب نشده باشد).
2
 روی Done کلیک کنید .
توسعه دهنده
در نوار ابزار Developer ، روی  Add-ins کلیک کنید و PID  Controller>PID  Controller را انتخاب کنید .
تعاریف جهانی
کنترل کننده PID 1
1
در پنجره Model  Builder ، در قسمت Global  Definitions روی PID  Controller  1 کلیک کنید .
2
در پنجره تنظیمات برای کنترلر PID ، بخش پارامترهای کنترلر را پیدا کنید .
3
تنظیمات زیر را وارد کنید:
 
پارامتر
ارزش
سود متناسب
k_P_ctrl
سود یکپارچه
k_I_ctrl
سود مشتق
k_D_ctrl
ارزش مرجع
c_set
مقادیر پیش فرض را برای پارامترهای باقی مانده نگه دارید.
4
روی ایجاد کلیک کنید .
مواد
برای تنظیم فیزیک، باید چگالی ρ و ویسکوزیته دینامیکی μ سیال را مشخص کنید. برای این منظور یک ماده تعریف کنید.
مایع
1
در پنجره Model  Builder ، در قسمت Component   (comp1) روی Materials راست کلیک کرده و Blank  Material را انتخاب کنید .
2
در پنجره تنظیمات مواد ، Fluid را در قسمت نوشتار Label تایپ کنید .
3
فقط دامنه 1 را انتخاب کنید.
4
قسمت محتوای مواد  را پیدا کنید . در جدول تنظیمات زیر را وارد کنید:
 
ویژگی
متغیر
ارزش
واحد
گروه اموال
تراکم
rho
1.2 [kg/m^3]
کیلوگرم بر متر مکعب
پایه ای
ویسکوزیته دینامیکی
که در
3e-5[Pa*s]
پس
پایه ای
اکنون آماده تنظیم فیزیک مدل هستید.
جریان آرام (SPF)
ورودی 1
1
در پنجره Model  Builder ، در قسمت Component   (comp1) روی Laminar  Flow  (spf) کلیک راست کرده و Inlet را انتخاب کنید .
2
فقط مرز 1 را انتخاب کنید.
3
در پنجره تنظیمات برای ورودی ، بخش Velocity را پیدا کنید .
4
در قسمت متنی 0 ، comp2.u_in_ctrl را تایپ کنید . این سرعت ورودی است که توسط کنترل کننده PID تعریف شده است.
ورودی 2
1
در نوار ابزار Physics ، روی  Boundaries کلیک کنید و Inlet را انتخاب کنید .
2
فقط مرز 7 را انتخاب کنید.
3
در پنجره تنظیمات برای ورودی ، بخش Velocity را پیدا کنید .
4
در قسمت متنی 0 ، v_in_top را تایپ کنید .
خروجی 1
1
در نوار ابزار Physics ، روی  Boundaries کلیک کنید و Outlet را انتخاب کنید .
2
فقط مرز 13 را انتخاب کنید.
دیوار 2
1
در نوار ابزار فیزیک ، روی  Boundaries کلیک کنید و دیوار را انتخاب کنید .
2
فقط مرزهای 2، 3، 6 و 8 را انتخاب کنید.
3
در پنجره تنظیمات دیوار ، قسمت Boundary  Condition را پیدا کنید .
4
از لیست شرایط دیوار  ، لغزش را انتخاب کنید .
حمل و نقل گونه های رقیق شده (TDS)
ویژگی های حمل و نقل 1
1
در پنجره Model  Builder ، در قسمت Component   (comp1)>Transport  of  Diluted  Species  (tds) روی Transport  Properties  1 کلیک کنید .
2
در پنجره تنظیمات برای ویژگی های حمل و نقل  ، بخش Convection را پیدا کنید .
3
از لیست u ، فیلد سرعت  (spf) را انتخاب کنید .
4
قسمت Diffusion را پیدا کنید . در قسمت متن c ، D را تایپ کنید .
مقادیر اولیه 1
1
در پنجره Model  Builder ، روی مقادیر اولیه  1 کلیک کنید .
2
در پنجره تنظیمات برای مقادیر اولیه  ، قسمت مقادیر اولیه را پیدا کنید .
3
در قسمت متن c ، c00 را تایپ کنید .
جریان 1
1
در نوار ابزار Physics ، روی  Boundaries کلیک کنید و Inflow را انتخاب کنید .
2
فقط مرز 1 را انتخاب کنید.
3
در پنجره تنظیمات برای Inflow ، بخش Concentration را پیدا کنید .
4
در قسمت متنی 0,c ، c_in_inlet را تایپ کنید .
جریان 2
1
در نوار ابزار Physics ، روی  Boundaries کلیک کنید و Inflow را انتخاب کنید .
2
فقط مرز 7 را انتخاب کنید.
3
در پنجره تنظیمات برای Inflow ، بخش Concentration را پیدا کنید .
4
در قسمت متنی 0,c ، c_in_top را تایپ کنید .
خروجی 1
1
در نوار ابزار Physics ، روی  Boundaries کلیک کنید و Outflow را انتخاب کنید .
2
فقط مرز 13 را انتخاب کنید.
مش 1
1
در پنجره Model  Builder ، در قسمت Component   (comp1) روی Mesh  1 کلیک کنید .
2
در پنجره تنظیمات مش ، قسمت Physics-Controlled  Mesh را پیدا کنید .
3
از فهرست اندازه عنصر  ، Finer را انتخاب کنید .
4
 روی ساخت  همه کلیک کنید .
مطالعه 1
از یک جارو پارامتریک برای حل دو مقدار مختلف از پارامتر تناسبی، k_P استفاده کنید .
جارو پارامتریک
1
در نوار ابزار مطالعه ، روی  پارامتر  Sweep کلیک کنید .
2
در پنجره تنظیمات برای جابجایی پارامتری  ، بخش تنظیمات مطالعه را پیدا کنید .
3
 روی افزودن کلیک کنید .
4
در جدول تنظیمات زیر را وارد کنید:
 
نام پارامتر
لیست مقادیر پارامتر
k_P_ctrl (پارامتر متناسب)
-0.1 -0.5
مرحله 1: وابسته به زمان
1
در پنجره Model  Builder ، روی Step  1:  Time  Dependent کلیک کنید .
2
در پنجره تنظیمات مربوط به زمان  وابسته ، قسمت تنظیمات مطالعه  را پیدا کنید .
3
در قسمت متنی زمان خروجی ،  range(0,0.05,1) range(1.1,0.1,6) را تایپ کنید .
راه حل 1 (sol1)
1
در نوار ابزار مطالعه ، روی  Show  Default  Solver کلیک کنید .
2
در پنجره Model  Builder ، گره Solution   (sol1) را گسترش دهید ، سپس روی Time-Dependent  Solver  1 کلیک کنید .
3
در پنجره تنظیمات برای حل وابسته به زمان  ، برای گسترش بخش Time Steping کلیک کنید .
4
از لیست روش ، آلفای تعمیم یافته  را انتخاب کنید .
5
از لیست مراحل  انجام شده  توسط  حل کننده ، Intermediate را انتخاب کنید .
این حل کننده را مجبور می کند که در هر بازه زمانی که شما مشخص کرده اید حداقل یک قدم بردارد.
6
برای گسترش بخش Advanced کلیک کنید . در نوار ابزار مطالعه ،  روی محاسبه کلیک کنید .
نتایج
غلظت (tds)
گروه نمودار تمرکز پیش‌فرض شامل یک نمودار سطحی است که غلظت را در پایان بازه زمانی شبیه‌سازی شده نشان می‌دهد، و همچنین یک نمودار ساده از سرعت را نشان می‌دهد. محلول را در t  =  0.05  s و t  =  2  s مطالعه کنید.
با این حال، ابتدا موقعیت خط جریان را طوری تنظیم کنید که چگالی خط جریان نشان دهنده بزرگی سرعت باشد.
ساده 1
1
در پنجره Model  Builder ، گره Concentration  (tds) را گسترش دهید ، سپس روی Streamline  1 کلیک کنید .
2
در پنجره تنظیمات برای Streamline ، روی Replace  Expression در گوشه سمت راست بالای بخش Expression کلیک کنید . از منو، Component   (comp1)>Laminar  Flow>Velocity  and  Press>u,v  –  Velocity را  انتخاب کنید .
3
بخش Streamline  Positioning را پیدا کنید . از لیست موقعیت یابی ، مقدار  کنترل شده را انتخاب کنید .
4
در قسمت متن حداقل  فاصله ، 0.005 را تایپ کنید .
5
در قسمت متن حداکثر  فاصله ، 0.1 را تایپ کنید .
6
در نوار ابزار Concentration (tds) ، روی  Plot کلیک کنید .
غلظت (tds)
1
در پنجره Model  Builder ، روی Concentration  (tds) کلیک کنید .
2
در پنجره Settings for 2D  Plot  Group ، بخش Data را پیدا کنید .
3
از لیست زمان  (ها) ، 0.05 را انتخاب کنید .
4
در نوار ابزار Concentration (tds) ، روی  Plot کلیک کنید .
5
 روی دکمه Zoom  Extents در نوار ابزار Graphics کلیک کنید .
6
از لیست زمان  (ها) ، 3 را انتخاب کنید .
7
در نوار ابزار Concentration (tds) ، روی  Plot کلیک کنید .
نمودارهای به دست آمده را با نمودارهای شکل 2 مقایسه کنید .
سرعت ورودی
سرعت ورودی کنترل شده با PID را رسم کنید ( شکل 3 ).
1
در پنجره Model  Builder ، در قسمت Results روی 1D  Plot  Group  4 کلیک کنید .
2
در پنجره تنظیمات برای گروه طرح 1 بعدی  ، سرعت ورودی را در قسمت نوشتار برچسب تایپ کنید .
3
برای گسترش بخش عنوان کلیک کنید . از لیست نوع عنوان  ، دستی را انتخاب کنید .
4
در قسمت متن عنوان ، سرعت ورودی را تایپ کنید .
5
قسمت Plot  Settings را پیدا کنید .
6
کادر بررسی برچسب محور y  را انتخاب کنید . در قسمت متن مرتبط، u<sub>in,ctrl</sub> (mm/s) را تایپ کنید .
جهانی 1
1
در پنجره Model  Builder ، گره Inlet  Velocity را گسترش دهید ، سپس روی Global  1 کلیک کنید .
2
در پنجره تنظیمات برای جهانی ، روی Replace  Expression در گوشه سمت راست بالای بخش y-Axis  Data کلیک کنید . از منو، Component   (comp2)>Definitions>Variables>comp2.u_in_ctrl  –  Control  variable  –  m/s را انتخاب کنید .
3
قسمت x-Axis  Data را پیدا کنید . از فهرست داده های منبع محور  ، زمان را انتخاب کنید .
4
برای گسترش بخش Legends کلیک کنید . زیربخش Include را پیدا کنید . کادر بررسی توضیحات را پاک کنید .
5
در نوار ابزار Inlet Velocity ، روی  Plot کلیک کنید .
به رسم غلظت در نقطه اندازه گیری به عنوان تابعی از زمان ادامه دهید ( شکل 3 ).
تمرکز، نقطه اندازه گیری
1
در پنجره Model  Builder ، روی Inlet  Velocity کلیک راست کرده و Duplicate را انتخاب کنید .
2
در پنجره Settings for 1D  Plot  Group ، Concentration, Measurement Point را در قسمت نوشتار Label تایپ کنید .
3
قسمت عنوان را پیدا کنید . در قسمت متن عنوان ، Concentration، اندازه گیری نقطه را تایپ کنید .
4
قسمت Plot  Settings را پیدا کنید . در قسمت نوشتاری برچسب محور y ،  c<sub>mp</sub> (mol/m<sup>3</sup>) را تایپ کنید .
جهانی 1
1
در پنجره Model  Builder ، گره Concentration,  Measurement  Point را گسترش دهید ، سپس روی Global  1 کلیک کنید .
2
در پنجره تنظیمات برای جهانی ، روی Replace  Expression در گوشه سمت راست بالای بخش y-Axis  Data کلیک کنید . از منو، Component   (comp1)>Definitions>c_mp  –  Domain  Point  Probe  1,   –  mol/m³ را انتخاب کنید .
3
قسمت x-Axis  Data را پیدا کنید . از فهرست داده های منبع محور  ، زمان را انتخاب کنید .
4
در نوار ابزار Concentration, Measurement Point ، روی  Plot کلیک کنید .
نمودار به دست آمده باید شبیه به پانل پایینی شکل 3 باشد .