متحكم تناسبي تكاملي تفاضلي

من ويكيبيديا، الموسوعة الحرة
اذهب إلى: تصفح، ‏ ابحث
آلية تحكم هوائي. تعد من أقدم أجهزة التحكم عن طريق PID. في أعلى الشكل يوجد ثلاثة عناصر قابلة للتحكم "% P" العنصر التناسبي بالنسبة، "J min" العنصر التكاملي بالدقائق، "D min" العنصر التفاضلي بالدقائق

حاكم أو متحكم بواسطة PID (بالإنجليزية: PID Controller) هو حلقة تحكم شامل بتغذية رجعية شائع الاستخدام في نظم التحكم الصناعية.

PID هي اختصار Proportional + Integral + Derivative أي تناسبي + تكاملي + تفاضلي وهي المسؤولة عن تصحيح الخطأ الناتج عن الفرق بين القيمة المطلوبة والقيمة المقاسة.

فكرة عامة[عدل]

شكل نموذجي لحاكم PID

يتمثل الخوارزم الحسابي لحاكم PID بثلاثة معاملات منفصلة: التناسب(P)، التكامل(I)، والتفاضل (D). القيمة التناسبية تبين رد الفعل مع الخطأ الحالي. القيمة التكاملية تتناسب مع استمرارية وجود الخطأ مع الزمن. القيمة التفاضلية تتناسب مع معدل التغير في الخطأ.

في الحقيقة ترتيب الاحرف أو الكلمات لا يعكس اسبقية العملية بالضرورة.

أساسيات حلقة التحكم[عدل]

يمكن مشاهدة مثال حي لحلقة التحكم في حياتنا اليومية كما هو الحال في مرش الحمام حيث يمكن ضبط درجة الحرارة المناسبة يدويا. عندما نشعر بالبرودة فأننا سندير حنفية الماء الساخن لتفتح أكثر وربما العكس مع حنفية الماء البارد. تدعى عملية الشعور أو الاحساس (بتغير درجة الحرارة) بقياس قيمة العملية (Process Variable - PV) وتسمى درجة الحرارة المرغوبة بالفيمة المضبوطة (Set Point - SP) بينما يطلق على عملية التحكم بالصنبور أو الحنفية بالمتغير المتأثر (Manipulated Variable - MV). الأهم هنا هو من يقوم بعملية المعالجة وهو دماغ الإنسان. يمكن استبدال دماغ الإنسان بآلية تقوم بنفس الكيفية مثل تركيب جهاز لضبط الحرارة (ثرموستات مثلا أو خلاط حراري).

يمكن تلخيص حلقة التحكم بثلاثة وظائف أساسية هي:

  • وظيفة القياس: تتم هذه الوظيفة بواسطة أجهزة تحسس أو مجسات وتدعى أحيانا بالمرسلات. من هذه المجسات مجس الحرارة, مجس الضغط, مجس الحركة, مجس التيار, مجس المقاومة, مجس التردد, وما إلى ذلك. يتم اختيار نوع المرسل وفقا للعملية المراد التحكم بها.
  • وظيفة المقارنة والحساب: يتم مقارنة القيمة المقاسة عبر المرسل والقيمة المضبوطة مسبقا والتي يراد الوصول إليها. تسمى القيمة المقاسة PV بينما القيمة المضبوطة SP. نتيجة المقارنة ينشأ عنها قيمة تدعى الخطأ e، وتمرر بدوره إلى أحد أو مجموعة عناصر التحكم السابقة ونتيجة المعالجة أو الحساب ترسل إلى قسم التحكم النهائي للعمل بها.
  • وظيفة التحكم النهائي: تختلف أنواع عناصر التحكم النهائي باختلاف العملية فهناك مثلا الصمامات لفتح وقفل الأنابيب, المحركات للتحكم بالسرعة والاتجاه, السخانات للتحكم بالحرارة وهكذا.

من ناحية أخرى يمكن تصنيف الوظائف حسب مبدأ عملها, يوجد ثلاثة أصناف هي:

  • وظيفة العمل بضغط الهواءPneumatic air: يتم تمييز هذا النوع في الرسومات الصناعية بالخطوط المتواصلة _________.
  • وظيفة العمل بضغظ السائل Hydraulic. يتم الرمز لهذا النوع بخطوط متصلة ولكن تقطعها حروف L أي ---L----L---
  • وظيفة العمل بالتيار الكهربائي Electric current: يتم ترميز هذا النوع بخطوط متقطعة - - - - - - -.

التقنيات المتوفرة[عدل]

  • تقنية التحكم الهوائي PID Pneumatic Controller: وتعد من أوئل التقنيات التي تم تصنيعها لتطبيق نظرية التحكم بالعنصر التناسبي التكاملي التفاضلي.
  • تقنية التحكم الإلكتروني Electronics PID Controller: وتعتمد بشكل رئيسي على المكبر العملياتي.
  • تقنية التحكم الرقمي Digital Controller: وهي الأحدث والأكثر شيوعاً في الصناعة حيث تعتمد تقنيات تحكم متطورة قابلة للبرمجة والموالفة الذاتية.

نظرية التحكم نوع PID[عدل]

يوجد ثلاثة أنواع رئيسية من نمط التحكم PID هي:

  • النوع التسلسي أو المتفاعل Series PID: وفيه تكون عناصر أو حدود I و D مرتكز تماما على الحد P, بمعنى أنها لا تعمل بدونه.
  • النوع المتفرع أو المستقل Parallel PID: تؤدى الوظائف P، I، وD بشكل مستقل عن بعضها ثم تجمع معا إلى خرج واحد.
  • النوع المختلط Mixed PID: وهو مزيج من التسلسلي والمتوازي.

كما أن الأنواع الثلاثة يمكن دراستها عند الحلقة المفتوحة Open Loop والحلقة المغلقة Closed Loop. إذا تم الأخذ بعين الاعتبار القيمة المقاسة تسمى الحلقة مغلقة أما إذا تما عزلها فيسمى النمط بالحلقة المفتوحة. سيتم التكيز هنا على PID ذي النوع المتوازي أو المتفرع. تعطى وظيفة الخرج له بالعلاقة:

\mathrm{MV(t)}=\,P_{\mathrm{out}} + I_{\mathrm{out}} + D_{\mathrm{out}}

حيث:

P_{\mathrm{out}}, I_{\mathrm{out}}, وD_{\mathrm{out}} هي المساهمات التي تؤديها كل وظيفة من الحدود الثلاثة على حدة إلى الخرج كما سيتبين فيما يلي.

الحد التناسبي[عدل]

شكل يبين الخرج مقابل الزمن, لقيم مختلفة من Kp (أي أن Ki و Kd تبقى ثابتة) في الحلقة المفتوحة.
شكل يبين PV مقابل الزمن, لقيم مختلفة من Kp (أي أن Ki و Kd تبقى ثابتة) في الحلقة المغلقة.

يدعى أحيانا الحد التناسبي بالتضخيم ويتسبب في تغير قيمة الخرج بمقدار يتناسب طرديا مع قيمة الخطأ الحالية. يمكن ضبط الاستجابة التناسبية بضرب قيمة الخطأ بقيمة ثابتة (قابلة للضبط) Kp, وتدعى أيضا بالتضخيم التناسبي. يستخدم وصفا اخر في بعض أنظمة التحكم هو النطاق التناسبي Proportional Band, ويرمز له عادة PB% ويرتبط بالحد التناسبي بالعلاقة:

K_p = \frac{100}{PB%}

يكون الخرج الناتج عن الحد التناسبي هو:

P_{\mathrm{out}}=K_p\,{e(t)}

حيث

P_{\mathrm{out}}\,: الحد التناسبي في للخرج
K_p\,: التضخيم التناسبي, قابل للتعديل
e\,: الخطأ ويساوي  SP - PV \,
t\,: الزمن

إذا كانت قيمة التضخيم التناسبي كبيرة فسينتج عنها تغيرا كبيرا في الخرج عند قيمة معينة للخطأ. أما إذا كانت هذه القيمة كبيرة جدا فسيصبح النظام غير مستقر (انظر قسم موالفة الحلقة في الأسفل).

الجدير بالذكر هو أن الحد التناسبى

لا يستطيع الغاء الخطأ أو الإزاحة Offset بدون وجود الحد التكاملي. يمكن إثبات ذلك في حالة تغير الخطوة مثلا, باستخدام معادلات لابلاس يمكن إثبات أن الخطأ المتبقي عند زمن الاستقرارية (أي عندما  t \to \infty \,) هو
 e_{ss} = \lim_{t \to \infty}e(t) = \frac{K_p}{K_p+1}

حيث:

 e_{ss}\, خطأ الحالة المستقرة steady state error (أي عندما  t \to \infty \,).

يستعمل هذا النوع من عناصر التحكم في ضبط الحرارة وبعض التطبيقات الأخرى مثل ضبط مستوى السائل في الخزانات إذا لم تكن عملية إزالة الخطأ ذات أهمية.

الحد التكاملي[عدل]

مخطط لقيمة التغير في الخطأ والخرج مع الزمن في الحلقة المفتوحة وذلك لقيم مختلفة من Ki (أي أن Kp وKd تبقى ثابتة)
مخطط لقيمة PV مع الزمن في الحلقة المغلقة, وذلك لقيم مختلفة من Ki (أي أن Kp وKd تبقى ثابتة)

يطلق على الحد التكاملي أحيانا إعادة الضبط reset وذلك لقدرته على إزالة الخطأ المتبقي والذي لايستطيع الحد التناسبي إلغاؤه. يمكن فهم السبب بالنظر في الحلقة المفتوحة حيث نرى أن الحد التكاملي يستمر في التغير صعودا أو هبوطا بشكل يتناسب مع مقدار الخطأ مع ولايتوقف مع مرور الوقت إلا إذا كان الخطأ صفرا. عمليا يتوقف الحد التكاملي عندما يصل إلى مرحلة الإشباع وهي القدرة العظمى للخرج العملياتي. يمتلك الحد التكاملي ثابتا قابلا للضبط في عمليات الموالفة ويدعى K_i\,. غالبا يستبدل هذا الثابت بمقلوبه والذي يحمل مغزى للتكامل ويطلق عليه T_i\, حيث:

K_i=\frac{1}{T_i}\,

يعرف Ti على أنه الزمن اللازم للوصول بالخرج لنفس قيمة الخطأ أو الدخل منذ بدء الخطأ بمقدار خطوة Step.

يعطى الحد التكاملي بالعلاقة:

I_{\mathrm{out}}=K_{i}\int_{0}^{t}{e(\tau)}\,{d\tau}

حيث

I_{\mathrm{out}}\,: الحد التكاملي للخرج
K_i\,: تضخيم التكامل, قابل للموالفة
e\,: الخطأ ويساوي   SP - PV\,
t\,: الزمن اللحظي.
\tau\,: متغير اعتباطي.

يستعمل الحد التكاملي مع الحد التناسبي بشكل واسع في التطبيقات الصناعية لتعجيل عملية الاستجابة وإزالة الخطأ عند الاستقرارية. ومع ذلك قد يتسبب الحد التكاملي في ظهور نطة overshoot فوق القيمة المراد الوصول لها بسبب تجميعه لبيانات الخطأ المتراكمة. يمكن التوفيق بين سرعة الاستجابة والنطة بواسطة موالفة ثوابت الحدود كما في قسم الموالفة في الأسفل.

الحد التفاضلي[عدل]

رسم يوضح قيمة PV بالنسبة للزمن, مع ثلاث قيم مختلفة لـ Kd (هنا Kp وKi تبقى ثابتة)

يطلق على الحد التفاضلي أحيانا بالمعدل rate وذلك لأنه يظهر فقط عندما يكون هناك تغير في قيمة الخطأ بالنسبة للزمن ويتناسب طرديا مع معدل هذا التغير. يمتلك الحد التفاضلي ثابتا قابلا للتغيير في عملية الموالفة ويرمز له رياضيا K_d\, وفي الأنظمة الصناعية عادة T_d\, لأنها ترمز لميل دالة الخطأ.

يمكن التعبير عن الحد التفاضلي رياضيا بالصورة:

D_{\mathrm{out}}=K_d\frac{d}{dt}e(t)

حيث

D_{\mathrm{out}}\,: الحد التفاضلي للخرج
K_d\,: التضخيم التفاضلي, قابل للموالفة
e\,: الخطأ ويساوي SP - PV\,
t\,: الزمن

مع أن الحد التفاضلي يحسن أحيانا في عملية التحكم إلا أنه يتأثر بالضوضاء بشكل كبير ويمكن أن يتسبب في عدم استقرارية النظام. لهذا السبب لايستخدم الحد التفاضلي في الصناعة إلا بشكل نادر وبحذر شديد.

خلاصة[عدل]

تعمل الحدود التناسبي، التكاملي والتفاضلي معا لتجمع وتعطي خرجا واحدا لعنصر التحكم PID. إذا رمزنا u(t)\, لدالة الخرج فستكون قيمتها معطاة بالعلاقة:

\mathrm{u(t)}=\mathrm{MV(t)}=K_p{e(t)} + K_{i}\int_{0}^{t}{e(\tau)}\,{d\tau} + K_{d}\frac{d}{dt}e(t)

بحيث تكون عناصر الموالفة هي:

التضخيم التناسبي, K_p
ويمكن زيادتها لتسريع الاستجابة ولكن إلى الحد الذي يبقي على استقرارية النظام.
التضخيم التكاملي, K_i
لتسريع عملية إزالة الخطأ.
التضخيم التفاضلي, K_d
لتقليل عملية الطلقة أو النطة مع مراعاة تأثير الضوضاء.

الموالفة[عدل]

تعد عملية موالفة الحلقة Loop tuning من أعقد وأخطر عمليات التحكم لاسيما الموالفة المباشرة أثناء العمليات والسبب هو عدم وجود قانون ثابت يحكم العملية Process. إذا أخطأنا باختيار القيم المناسبة لعناصر الموالفة (معاملات المضخم التناسبي، التكاملي، والتفاضلي) يمكن أن تصبح العملية المراد التحكم بها غير مستقرة وربما تخرج عن السيطرة. فبدلا عن الحصول على قيمة مستقرة بعد فترة من الزمن قد يصبح هناك إما وقت أطول للحصول على هذه القيمة المستقرة أو ربما لا تستقر وتظل في حالة تذبذب طوال الوقت وربما ما هو أسوأ وهو تضخيم عملية التذبذب مع الوقت حتى تخرج عن السيطرة تماما.

هناك بعض الطرق المشهورة في عملية الموالفة التقريبية والتي تحاول الاستفادة من تجربة عملية (تتم عادة بالأسلوب اليدوي Manual Mode) أولية أو أكثر على العملية Process وقد تكون إما حلقة مفتوحة أو مغلقة أشهرها مايلي.

اختيار طريقة الموالفة
الطريقة المزايا العيوب
الموالفة اليدوية لا تحتاج لحسابات رياضية. تتم مياشرة أثناء سيران العمليات. تتطلب أفراد ذوي خبرة.
Ziegler–Nichols زيغلر-نيكولس طريقة مثبتة. مباشرة أثناء سيران العمليات online. اضطراب في العمليات, تعتمد على التجربة والخطأ, موالفة تتطلب المزيد من الكفاح.
Software Toolsأدوات برامجية موالفة متسقة. طريقة مباشرة أو حتى أثناء توقف العمليات. قدد تتضمن معها عملية تحليل للمحبس والمجس. السماح بالمحاكاة قبل التنزيل. تتطلب دورة تدريبية مكلفة.
Cohen-Coonكوهن-كون نماذج جيدة للعمليات. بعض الرياضيات. أثناء توقف العمليات. مناسبة فقط لعمليات من الرتبة الأولى.

الموالفة اليدوية[عدل]

عندما يكون من الضروري بقاء النظام عاملا, يمكن أولا موالفة K_i وK_d إلى قيم صفرية. يتم زيادة K_p تدريجيا حتى يبدأ خرج الحلقة بالتذبذب, حينئذ ينبغي إنقاص قيمة K_p إلى النصف تقريبا من أجل استجابة من نوع " اضمحلال ربع الاتساع". ثم تزاد قيمة K_i حتى يتم تصحيح أي انزياح خلال زمن كاف للعملية. ومع ذلك, فإن زيادة كبيرة جدا في K_i ستسبب عدم استقرارية. وأخيرا, يتم زيادةK_d, إذا كان مطلوبا, حتى تصبح الحلقة سريعة بشكل ماقبول بعد حدوث اضطراب في حمل. ولكن مرة أخرى, فإن زيادة K_d كثيرا قد يتسبب في استجابة زائدة عن الحاجة وظهور النطة. في العادة تتسبب عملية الموالفة السريعة في PID بظهور نطة طفيفية من أجل الوصول لقيمة الضبط setpoint بشكل أسرع; بالغم من هذا, فبعض الأنظمة لا تتقبل هذه النطة, وفي هذه الحال يكون النظام المغلق ذو "إخماد قوي over-damped" ضروريا, والذي يتطلب ضبط K_p أقل من نصف القيمة K_p التي تسببت في التذبذب.

تأثيرات زيادة المعاملات
المعامل زمن الصعود النطة زمن الاستقرار الخطأ عند الاتزان
K_p نقص زيادة تغير طفيف نقص
K_i نقص زيادة زيادة عزل
K_d لانهائي (نقص أو زيادة طفيفة)[1] نقص نقص لاشيئ

طريقة زيغلر نيكولس[عدل]

سميت هذه الطريقة نسبة لمقدميها جون زيغلر وناتانيل نيكولس. كما الطريقة السابقة, توضع قيم K_i وK_d على الصفر. تزاد قيمة التضخم P حتى تصل إلى التضخيم الحرج, K_c, حيث يبدأ الخرج بالتذبذب. K_c وفترة التذبذب P_c تستعمل لضبط القيم كما يلي:

طريقة زيغلر نيكولس
نوع التحكم K_p K_i K_d
P 0.50{K_c} - -
PI 0.45{K_c} 1.2{K_p}/P_c -
PID 0.60{K_c} 2{K_p}/P_c {K_p}{P_c}/8

برامج موالفة PID[عدل]

لم تعد الطرق التقليدية السابقة مستخدمة كثيرا في أنظمة التحكم الصناعية الحديثة. بدلا من ذلك تقوم برامج حديثة بعمل الموالفة والأمثلية. تقوم هذه البرامج بجمع البيانات, تطوير نماذج عمليات، ومن ثم تقترح الموالفة المثلى كما أن بعض هذه البرامج تستطيع تطوير عملية الموالفة بالاعتماد على تغييرات مرجعية (كما في أنظمة APC التحكم المتقدم بالعمليات).

تكمن فكرة موالفة الحلقة الرياضية في استحثاث قدحة Impulse في النظام، ثم تسخير الاستجابة الترددية للنظام المحكوم لتصميم قيم حلقة PID المطلوبة. تفضل هذه العملية في حالة الحلقات التي تتراوح استجابتها الزمنية بضع دقائق. من الصعوبة بمكان إيجاد القيم المثلى. تقدم بعض حلقات التحكم الرقمية ميزة "الموالفة الذاتية" حيث يتم إرسال تغيرات طفيفة جدا في القيمة المضبوطة SP إلى العمليات، سامحة لأجهزة التحكم بحساب قيم موالفة مثلى.

البرمجة[عدل]

يمكن برمجة عناصر التحكم السابقة في حلقة مغلقة افتراضية دون الحاجة لتصنيعها عمليا وهذا هو فعلا ماتقوم به أنظمة التحكم الحديث. المثال التالي يمثل كيفية بناء البرنامج باستعمال لغة كيو بيسك مثلا:

 previous_error = 0
 integral = 0 
 begin:
   recent_error = setpoint - actual_position
   integral = integral + (recent_error*dt)
   derivative = (recent_error- previous_error)/dt
   recent_output = (Kp*recent_error) + (Ki*integral) + (Kd*derivative)
   previous_error = recent_error
   SLEEP (dt)
   GOTO begin

المصادر[عدل]

  • Feedback Control Systems by Charles L. Phillips and Royce D. Harbor, Prentice Hall; 4 edition (August 19, 1999), ISBN 0-13-949090-6