برق، الکترونیک و مخابراتعلوم مهندسی

فرمول های آزادسازی کنترلر و سیستم کنترل دیجیتال سطح مایع

صفحه 1:
Controller Realization A control algorithm which takes the form of a z-transform polynomial must be realized in the computer in the form of a program containing unit delays, constant multipliers, and adders A given controller transfer function can be realized in many different ways. Mathematically the alternative realizations are all equivalent, differing only in the way they are implemented Different realizations have different computational efficiencies. different sensitivities to pa- rameter errors, and different programming efforts are needed in each case. :

صفحه 2:
DIRECT STRUCTURE The transfer function D(z) of a digital controller can be represented in general by a ratio of two polynomials

صفحه 3:
R(z) = E(2) n= 5 ‏زسوارط ر 5 -ه‎ 5 دص ۸۰زا

صفحه 4:

صفحه 5:

صفحه 6:
Direct Noncanonical Structure io ‎E@) -‏ د مك ‎j= j= ‎ ‎te = Saye) — dyin).

صفحه 7:

صفحه 8:
> Uy, 5

صفحه 9:
CASCADE REALIZATION Uk = Pe + Org. re = ee — Dire — bore My = dork + aire + dark.

صفحه 10:
drawn vertically

صفحه 11:
PARALLEL REALIZATION Dy) =—— = a) 1 ‘Ona 1+ Bz 3 (4) Tk = ek — Brea 5 Uy = ary. a, +e 1+ 1 + < (2)وظ هط بط به > وه ‎٩+ ۱۷۸۷۱٩۲۲۰‏ 00 > لا ‎ ‎ ‎ ‎ ‎

صفحه 12:
PID controller as a parallel structure Ph = ek + Pas .لدي يهام د وو ty = we + ‏نج وم‎ Up We

صفحه 13:
PID implementation as a direct canonical structure _ Ky(L—z")4+ KpT/Ti + (KpTa/T) —2'P =e oo z+ Ky T/T; + KpTa/T +(K pTal Te 1 ‏اج‎ _ Ky +K T/T; + KpTa/T — (Kp +2KpTa/T)z-! + (Kp Ta/T)Z7 Ky -K, AK pTa/ Tz! which is in the form where ‏اام مه‎ ay=—Kp(A+2Ta/T), a2 = KpTa/T and b=-l, b=

صفحه 14:
PID implementation as a direct canonical structure hk Uj K,A+T/TATp/T) -K,(1+2Tp/T) ‏اوآ وه‎ 241

صفحه 15:
Read setpoint, sy Read output. yy | Input section Calculate error, &, 1 1 Initialize A/D. Read reference, s, (Calculate output, yy) Output section 1 1 Initialize : Update variables. | Update seetion Timer 2 ۳ interrupts 1 Return from rupt Controller implementation: (a) main program; (b) interrupt service routine program Various variables, as well as the A/D converter and the mer interrupt mechamsm, are initialized. The timer is set to interrupt at an interval equivalent to the sampling interval of the required digital controller, The main program then eniers a Joop wailing for the timer interrupts to occur. Whenever a timer interrupt occurs the program jumps the interrupt service

صفحه 16:
Implementing Second-Order Modules مسضوط- مصرط دين = ‎Te‏ مه 7 ما ‎Uy = gry + Ayr‏ موه - ورف = ‎My‏ My = are + ‏”يه‎ rh =e + Mi, ho Uk = dork + Ma. 2

صفحه 17:
Input seetion Output section Update section Read setpoint, sx Read output, yy Calculate error, ‏ملاح يق ح بق‎ Calculate ‏جح‎ 1 وا + وه ی بالاجاناه ‎Calculate‏ M= Mp = ayn + ayn Return from interrupt

صفحه 18:
| +5۷ { 15] 16] 14[ 11] ‏م‎ VDD Ri CLR 4K VDD VDDRpo|32 bo uci RBI 4 01 Rezo ‏2و‎ ‎7 23 2 From Output Sensor ‏ی‎ 46 ‏ا‎ 3 ANO ‏وول تووم‎ VoAH? y 12 ‏ممم‎ Dé To The Plant 31۷5 RB7|40 67 walt! + PIC16F877,__ 15 10} we ‏كتيسن‎ ‎xTL XTL cs GnoGno} Lb 134 q 20) 17] ‏یه حارط بو‎ Ld sapF [ante 3p MICROCONTROLLER D/A CONVERTER

صفحه 19:
/* Interrupt Service Routine. The program jumps here every 10 ms */ void interrupt ISR(void) { Read AD-Input () + /* Read A/D input */ ek = sk - yk; /* Calculate error term */ rk = ek + M1; yk = a0*rk + M2; /* Calculate output */ uk = yk*DA.LSB; PORTB = uk; /* Send to PORT B */ DAWrite = 0; /* Write to D/A converter */ DAWrite = 1: xk2 = rki; /* Update variables */ rk1 = rk; M1 = -bl*rk1 - b2*rk2; M2 = al*rkl + a2*rk2 TOIP = 0; /* Re-enable timer interrupts */

صفحه 20:
/* Main Program. The main program initializes the variables, A/D converter, D/A converter etc. and then waits in an endless loop for timer interrupts to Occur every 10 ms */ main (void) { a0 = 1; al = 0.8; 1.2: bl = 1.85; 0.92; M1 = 0; M2 = 0 rk = 0 rki = rk2 = 0; sk = 1.0; DALSB = 5000.0/1024.0; TRISA = 1; /* RAO (ANO) is input */ TRISB = 0; /* PORT B is output */ TRISC = 0; /* RCO is output */ DAWrite = 1; /* Disable D/A converter */ Initialize aD); /* Initialize A/D converter */ Initialize Timer (); /* Initialize timer interrupts */ eil); /* Bnable interrupts */ for (1; /* Wait for an interrupt */

صفحه 21:
Implementing First-Order Modules re = ey — Dita Uk = ork + Ur k-1 مضه د رلا سوه ع ولا بلجي دير ‎dors + Mo‏ > لا

صفحه 22:
/* Interrupt Service Routine. The program jumps here every 10 ms */ void interrupt ISR (void) 1 20180 - 0 /* Reload TMRO */ Read ADInput (); /* Read A/D input */ sk - yk; /* Calculate error term */ ek + Mi; a0*rk + M2; /* Calculate output */ yi*DALSB; PORTB = uk; /* Send to PORT B */ DAWrite = 0; /* Write to D/A converter */ DAWrite = 1; rk2 = rk1; /* Update variables +/ rk = rk; ML = -bl*rk1 - ba*rk2; M2 = al*rkl + a2*rk2; TOIF = 0; /* Re-enable timer interrupts */

صفحه 23:
Implementing Higher-Order Modules

صفحه 24:
سیستم کنترل دیجیتال سطح مایع

صفحه 25:
سیستم کنترل دیجیتال سطح مایع إيكها سيستم كتترل سطخ مايع رايع در این سیستم؛ هدف کترل نرخمایع پمپ شوندهبه تانک جهت قراركيرى سطح مايع در نقظه مطلوب مى باشد Level sensor CONTROLLER | Setpoint

صفحه 26:
سیستم کنترل دیجیتال سطح مایع © اين سیستم از بخشهای زیر تشکیل شده است: © مخزن آب © بمب آب © حسكر سطح مايع © ميكرو ‎BPS‏ ‏© مبدل 0/09 ese im A

صفحه 27:
سیستم کنترل دیجیتال سطح مایع شماتیک سیستم خزن آب: سطح مايع داخل اين مخزن کنترل می شود. آب از بالای مخزن داخل آن پمپ شده و یک حسگر ‎J‏ گیری می کند. میکرو کنترلر پمپ را بگوته ای کنترل می کند که مایع در سطح استفاده یک مخزن پلاستیکی ابعاد 7 (01])* 7ن 13*07 مى باشد 8 پمپ آب: پمپ مورد استفاده یک پمپ ۱۳ ولتی بوده که در زمان کار در حداکثر ولتاژ خود ۳ آمپر جریان مى كشد. \

صفحه 28:
سیستم کنترل دیجیتال سطح مایع شماتیک سیستم © حسكر سطح: حسكر سطح يكث بتانسيومتر دوار بوده كه شامل يكك بازوى شتاور متصل به بازوى لغزان بتانسيومتر دوار مى باشد. سطح بازوى شناور و در نتيجه مقاومت با سطح مايع داخل مخزن تغيير مى كند. يكك ولتاز به دو سر پتانسیومتر اعمال شده و تغیبر این ولتاژ در دو سوی بازوی پتانسیومتر اندازه گیری می گردد. اين مقاومت از ۴۳۰ اهم در زمانیکه بازوی شناور در انتهای مخزن (مخزن خالی) بوده تا ۴۰ اهم در زمانیکه بازو در بالای مخزن است» تغییر می کند.

صفحه 29:
سیستم کنترل دیجیتال سطح مایع © میکر و کنترو: از نوع 6۳10016۳۸63۸7۵ بوده که در اين بروزه بعنوان يكك كنترل كتنده ديجيتال مورد استفاده ار می گیرد. این میکرو شامل یک مبدل آنال وگ به دیجیتال ۱۰ بیتی و ۸ کاناله می باشد. 8 مبدل دیجیتال به آفالوگک: در اين پروژه از مبدل 600720006 که ۸بیتی است استفاده می شود 8 تقویت کننده توان: توان خروجی یک مبدل دیجیتال به آنالوگ به حدود چند صد میلی وات محدود بوده که برای راهاندازی پمپ کافی تیست. برای این منظور از یک مبدل توان از نوع 60677260 ستفده شدء که توان خروجی مبدل دیجیتال به آنال وگ را افزوده که قادر به راه اندازی پمپ می باشد. این تقویت کننده تا حدود ۳۰ وات توان قادر به توليد مى باشد

صفحه 30:
سیستم کنترل دیجیتال سطح مایع مدل سیستم 8 این سیستم در حالت کلی یک سیستم مرتبه اول بوده که نحوه مدلسازی آن مطایق ذیل می باشد: Qin = Q+ 20 نرخ فلوى ورودى به مخزن ‎Qin‏ نرخ ذخیره آب داخل 9 مخزن نرخ خروج آب مخزن 9۳ ارتفاع آب داخل مخزن ‎h‏ سطح مقطع مخزن ۸

صفحه 31:
سیستم کنترل دیجیتال سطح مایع فدل تیدیم نرخ خروجی آب از مخزن بصورت زير بدست آورده می شود: < ۷ ارتفاع آب داخل مخزن ‎Qout day 2gh,‏ مقطع خروجی مخزن 8 ضریب تخلیه خروجی ‎Ca‏ ‏مخزن ثابت کرانش 8 جایگذاری در معادله قبل ۱ Qin = ae a CaaV2gh 1

صفحه 32:
سیستم کنترل دیجیتال سطح مایع مدل سيستم ‎dh‏ ‎Qin = 4 + ۷۱‏ © رابطه فوق يك رابطه غيرخطى بين نرخ فلو و ارتفاع آب داخل مخزن می باشد که می توان آن را خطی کرد ۵ وقتی که نرخ ورودی مقدار ثابت 0-600 باشد. نرخ خروجی نیز در نهایت دارای مقدار 620712000 می گردد و ارتفاع مایع نیز به مقدار ثابت 12 رسیده که دارای ارتباط زیر با یکدیگر می باشند | حال اگر یک انحراف کوچک در فلوی ورودی حول مقدار ماند گار بصورت زیر در نظر گرفته شود: ‎Qin — Qn‏ = ,89 © تغيير ارتفاع0!! - 0 < ‎bh‏ حاصل شده که دارای ارتباط زیر با هم می باشند: 08 1 An + Caay 25h + ho) = 8 Qin + Qo

صفحه 33:
سیستم کنترل دیجیتال سطح مایع فدل تیدیم ۵ با خطی سازی معادله فوق می توان به معادله زیر دست یافت: 2 ۰0 A 4 22h 9 dt ‏هنة و‎ his) 1 Qin(s) As + Qo/2ho

صفحه 34:
سیستم کنترل دیجیتال سطح مایع مدل سیستم پمپ. حسگر سطح و تقویت کننده توان نیز بهره های تناسبی ساده که فاقد دینامیک می باشند. روابط ورودی و خروجی این واحدها بصورت زیر می باشند: @ پمپ: Qn =KpVp ولتاژ اعمالی به پمپ نرخ فلوی پمپ م9۵ < ۷۱ خروجی حسگر سطح ‎Vi‏ نقویت کننده توان: ۷ 2 ۷ ولتاژ خروجی تقویت کننده ‎Vo‏ ‏توان ولتاژ ورودی تقویت کننده 1 توان

صفحه 35:
سیستم کنترل دیجیتال سطح مایع اس بلو کت دیاگرام سیستم مدلسازی شده: DIA Amplifier Pump Water tank ‎‘Microcontroller est — |‏ 8 20 0,۱ + نا و | و | ها 7 ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎Ki ‎ ‎ ‎Level sensor ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎

صفحه 36:
سیستم کنترل دیجیتال سطح مايع شناسانی سیستم © شناسانی سیستم: برای شناسانی سیستم از تست پاسخ ضربه استفاده می شود که برای این منظور از پیکربندی سخت افزاری زیر استفاده می شود 5 ‏و‎ ‏ما وب‎ ‏تک‎ 5 ۳ WATER TANK rel D3 aprsoz sy —te vane 5 5 ren oe er a 13 14 555 = ‏لد‎ OSes ee POWER AMPLIFIER ‏فم‎ ‏سم‎ ةهددف‎ om ‏علس موی‎ ‏اعمس | عم‎

صفحه 37:
سیستم کنترل دیجیتال سطح مایع شناسانی سیستم ۵ خروجی پورت 0 میکرو کنترلر به ورودی های داده مبدل دیجیتال به آتالو ک متصل می گردد که این مبدل توسط پین 3000 میکرو کنترل می گردد © خروجی مبدل دیجیتال به آنالوک به تقویت کننده توان 26726 متصل شده که پمپ را راه اندازی می کند ۵ مقدار پله برابر با ۲۰۰ اختیار شده که متناظر با ولتاژ ۵۰۰۰۲۰۰۱۲۵۲ برابر ‎۳/٩‏ ولت از مبدل 6 می باشد 9 ارتفاع آب داخل سطح (خروجی حسکر سطح) بصورت زمان حقیقی توسط ثبت کننده داده از فوع 0 و نرم افزار مطهم ثبت می گردد. 11036 یک کارت الکترونیکی کوچک بوده که به پورت موازی ۳۵) متصل می گردد. ‎picolog @‏ بر روی ۳0 اجرا شده که برای ثبت اندازه گیریهای 120 بصورت زمان حقیقی استفاده می گردد. این نرم افزار همچنین شامل یت گزینه گرافیکی برای رسم منحنی داده های اندازه گیری می باشد ‎

صفحه 38:
سیستم کنترل دیجیتال سطح مايع شناسائى سیستم 8 برنمه میکرو برای ارسال یک پله واحد به مبدل آنالوک به دیجی STEP RESPONSE TEST This program sends a STEP input to the D/A converter. The value of the input is set to 200, which corresponds to a voltage of 5 x 200/256. The output of the D/A is connected to a power amplifier which has an overall gain of G = 2.5. Thus, the step voltage applied to the pump is 5 x (200/256) x 2.5 = 9.76V. The hardware consists of a PICI6P877 microcontroller, where PORT B is conencted to an AD7302 type D/A converter. The output of the D/A is connected to an LM675 type DC power amplifier. File: STEP.c Date: July 2005

صفحه 39:
سیستم کنترل دیجیتال سطح مایع شناسائى سیستم © برنامه میکرو برای ارسال یک پله واحد به مبدل آنالوکت به دیجیتال: PORTE is output */ CO is output */ Disable ‏داد‎ */ Send the STEP */ Enable D/A */ Disable D/A */ Wait here forever */ ۳ 7 i my 7 ye ۳ include <pic.h> #define AD7302.uR RCO /* start of main program */ main(void) 1 28388 - 0 TRISC = 0 ‏7302صه‎ 18 /* Send a STEP input to the D/A */ PORTE = 200; AD7302.4R. AD7302.NR = 1; wait: goto wait; 1

صفحه 40:
سیستم کنترل دیجیتال سطح مايع شناسائى سیستم 8 برنامه میکرو برای ارسال یک پله واحد به مبدل آنالوکت به دیجیتال: ۵ در ابتدای برنامه پورتهای ورودی-خروجی پیکربندی شده و سپس یکث سیگنال پله (۲۰۰) به پورت ظ ارسال می گردد. سپس با صفر کردن ورودی ۷۷18 از مبدل دیجیتال به آنالو ک, این مبدل فعال شده و پس از نوشتن, داده ها بر روی این مبدل, غیر فعال شده تا خروجی آن تغییر ناگهانی نداشته باشد. سپس این برنامه برای ایجاد انتظار در یک حلقه امتناهی قرار می گیرد.

صفحه 41:
سیستم کنترل دیجیتال سطح مایع شناسائى سیستم 6 نمایش پاسخ پله سیستم: همانطور که ملاحظه می گردد پاسخ پله یک سیستم مرتبه اول نوعی بوده که البته شامل نويز مى باشد mV — Voltage 2350 2300! 2250| 2200 250

صفحه 42:
سیستم کنترل دیجیتال سطح مایع شناسائی سیستم © با توجه به اينکه ثبت کننده داده 8 10117307 پیتی می باشد با یک ورودی مرجع ۵ ولت. رزولوشن آن ‎٩‏ میلی ولت می باشد که منجر به ناپیوستگی های پله ای نشان داده شده در شکل می کردد( برای حذف این ناپیوستگی ها یا باید از یک ثبت کننده داده با رزلوشن بالاتر استفاده کرده و یا خروجی حسکر ‎WE ETS‏ میانی پله هاء می توان یک منحنی هموار بصورت زير بدست آورد ‎ ‎my — Vottage 2950 ‎2000 - ‎ ‎

صفحه 43:
سیستم کنترل دیجیتال سطح مایع طراحی کنترل کننده @ در این حالت دیاگرام مداری حلقه بسته بصورت زير می باشد وب 4 ]16 ]15 ‎VOD Ri CLR‏ ۳ ‎bo‏ تجامعم۷۵۵ ۷۵۵ | »ما ‎Dt‏ هه بو ‎WATER TANK‏ 9 لحم ‎sav‏ 2 02 :9 هم 7 ‎ano mae De pm 3 PUMP‏ ل ‎ise:‏ عد 05 ‎Rese‏ ‎vss 887 5 7 +‏ ‎tol)‏ یی ما سس کل ‎once x oz‏ مک ان 7 ۱0۳ + سوت نیون ‎‘a 744 ce‏ ra ‏ی 1 ماه‎ a ‏مرو‎ 4 ‏هه‎ TS ons converter sen MICROCONTROLLER Level feedback PC Data Logger | Pog Sot) ‏سم‎

صفحه 44:
سیستم کنترل دیجیتال سطح مایع طراحی کنترل کننده با اتصال خروجی حسکر سطح به بين آنالوک ورودی ۸۱۲0 حلقه؛ بسته شده است ۵ یکی از نیازمندیها دستیابی به خطای حالت دائم صفر می باشد که این مورد با استفاده از یک کنترل کننده انتگرالی قابل حصول خواهد بود. برای این منظور یک کنترل کننده ۳1[ زیکلر-نیکولز طراحی می کردد © قبل از طراحی کنترل کننده باید پارامترهای سیستم را با استفاده از پاسخ پله حاصل از بخش قبل بدست آورد. مطابق شکل پارامترهای مدل سیستم ز یگلر-نیکولز توسط 1-315 و 112-25 داده می شوند و 2150 — 2345 = iO = 0.05 = 500 x 300/256 ~

صفحه 45:
سیستم کنترل دیجیتال سطح مایع طراحی کنترل کننده @ پس مدل سیستم زیر را خواهیم داشت: Gs) = ‏مش‎ © با توجه به اينکه ثابت زمانی سیستم ۳۱ ثائیه است. زمان نمونه برداری باید کمتر از یکك دهم ثابت زمانی سیستم انتخاب گردد که در این پروژه ۱۰۰ میلی انیه و یا ۱۱ ۰ انیه اختیار شده است 1 > 15 T=0.1s ضرایب کنترل کننده 6/1 زیگلر-نیکولز بر اساس پارامترهای مدل بصورت زیر بدست آورده می شوند: OT, Kp=—— and 7, =3.3T KTp 0.9 x 31 ‎and T;=3.3x2=66‏ 279 = دور ‎x 2‏ 0.05 ‎

صفحه 46:
سیستم کنترل دیجیتال سطح مایع طراحی کنترل کننده 8 با در نظر گرفتن ترم مشتق گیر برابر با صفر کنترل کننده زیر را خواهیم داشت که تحقق موازی آن در شکل نشان داده شده است: و Di) = Ky, + 95 ۸۸ 2

صفحه 47:
سیستم کنترل دیجیتال سطح مایع طراحی کنترل کننده نحوه برنامه نویسی کنترل کننده در ادامه ارائه می کردد که خروجی کنترل کننده بر اساس یک تحقق موازی تولید شده است ۵ در ابتدای برنامه پارامترهای کنترل کننده تعریف می شوند این برنامه شامل توابع زیر می باشد: ‎Initialize_AD‏ ‎nitialize Timer‏ Read_AD Input interrupt service routine (ISR) ‏مبدل ۸/1 برای دریافت داده های داده های آنالوک از کانال ۸0 مقداردهی اولیه می شوند‎ © تابع ‎cs Read_AD input‏ نمونه را از مبدل ۱/0) خوانده و در متغیر «رذخیره می کند

صفحه 48:
سیستم کنترل دیجیتال سطح مایع طراحی کنترل کننده ۵ تایمر برای ایجاد وقفه هر ۱۰ میلی انیه یکبار مقداردهی اولیه می گردد ۵ در ابتدای روتین ‎TSR‏ الگوریتم 1ظ بعد از دهمین وقفه یعنی بعد از ۱۰۰ میلی ثانیه. اجرا می گردد که تضمین می کند زمان نمونه برداری کنترل کننده ۱۰۰ میلی ۵ روتین 1513 خروجی حستر سطح را خوانده و آن را تبدیل به دیجیتال می کند. پس از آن الگوریتم 0 پیاده سازی شده است بعد از ارسال خروجی به مبدل 0/0) روتین 1508 مجددا وقفه های تایمر را فعال می کند

صفحه 49:
سیستم کنترل دیجیتال سطح مایع طراحی کنترل کننده پاسخ پله حلقه بسته با ورودی مرجع تنظیم شده در ۲۲۸۰- واضح است که پاسخ سیستم بدون خطای ماند کار به مقدار مرجع رسیده است که البته پاسخ همراه با نویز است mV — Voltage Sec

صفحه 50:
سیستم کنترل دیجیتال سطح مایع طراحی کنترل کننده ادامه: /* This function reads data from the A/D converter and stores it in /* Start A/D conversion */ /* Wait until convertion completes */ /* High 2 bytes of converted data */ /* Low byte of converted data */ /* Converted data in yk */ 7* Sensor output in mv */ The program jumps here every 10 ms. */ /* Reload TMRO = 100 */ The basic timer rate is 10ms and we variable yk */ void Read AD-Input (void) 1 ADCONO = 0x45; while((ADCONO & 4) y-high = ADRESH; y-low = ADRESL; yk = 256.0+y-high + ylow: yk = yk*AD.LSB; ) [=>/* Interrupt Service Routine. void interrupt ISR (void) 1 MRO = 100; /* Check if 100ms has elapsed. count 10 interrupts before implementing the controller algorithm */

صفحه 51:
سیستم کنترل دیجیتال سطح مایع طراحی کنترل کننده ‎ae‏ /* Read A/D input */ /* calculate error term */ /* calculate output */ ‎Write to D/A converter */‏ در ‎/* Re-enable timer interrupts */ ‎time now++; Lf (time now ۲ ‎timenow = 0; Read AD Input (}; ‎10) ‎ ‎ek = ‏عله‎ - yk; pk = btek + pki; ‎wk = Kp*ek; ‎yk = wk + pk; ‎yk = yk*DALSE; ‎Lf(yk > 255) ‎uk=255; ‎else ‎uk=(unsigned char)yk; PORTE = uk; ‎ ‎

62,000 تومان