الحسّاسات والمشغّلات للمتحكّمات · الفصل 1 — نظام التحكّم: حسّاس، متحكّم، مشغّل وبيانמערכת בקרה: חיישן, בקר, מפעיל וחיווי · 33.102⌂📚🏠
الفصل 1

نظام التحكّم: حسّاس، متحكّم، مشغّل وبيان

מערכת בקרה: חיישן, בקר, מפעיל וחיווי
الصفّان الحادي عشر والثاني عشر · 4 ساعات تعليمية

سخّان الماء الذي ينطفئ وحده، والمكيّف الذي يحافظ على درجة حرارة الغرفة، والمصباح الذي يضيء عند الغروب: كلها أنظمة تحكّم. في كل واحد منها حسّاس يقيس، ومتحكّم يقرّر، ومشغّل ينفّذ، وبيان يُعلِم المستخدم. في هذا الفصل نتعرّف على بنية نظام التحكّم، ونصف عملية مُتحكَّما بها بالكلمات وبالمخطّطات، ونميّز بين الحلقة المفتوحة والحلقة المغلقة، وننهي ببرنامجنا الأول: منظّم حرارة على لوحة Arduino Uno.

في نهاية هذا الفصل سنعرف أن:
  • نرسم مخطّط الكتل لنظام تحكّم ونسمّي كل كتلة فيه.
  • نصف عملية مُتحكَّما بها بالكلمات، بمخطّط سير العمليات وبمخطّط الحالات.
  • نميّز بين الحلقة المفتوحة والمغلقة، وبين التحكّم المتقطّع والمستمر، ونحسب الخطأ e = r − y.
  • نشرح لماذا نضيف التخلّف إلى تحكّم تشغيل-إيقاف.
  • نكتب برنامجا في حلقة «اقرأ – قرّر – نفّذ» ونحسب ما سيطبعه على الشاشة التسلسلية.

המבנה העקרוני של מערכת בקרה – البنية الأساسية لنظام التحكّم (Control System Structure)

نظام التحكّم (מערכת בקרה): هو مجموعة عناصر تعمل معا لكي تبقى كمية فيزيائية (درجة حرارة، مستوى ماء، سرعة، إضاءة) في القيمة التي نريدها، أو لكي تُنفَّذ سلسلة أعمال بترتيب محدّد وبدون تدخّل الإنسان في كل خطوة. عندما يكون القرار في يد حاسوب أو متحكّم دقيق نسمّيه التحكّم المحوسب (בקרה ממוחשבת).

مهما كان النظام بسيطا أو معقّدا، نجد فيه دائما نفس الكتل. نرسمها في مخطّط الكتل (דיאגרמת מלבנים): كل كتلة مستطيل، وكل سهم يبيّن إشارة أو طاقة تنتقل من كتلة إلى أخرى.

الحسّاسيقيسالمتحكّميقرّرالمشغّلينفّذالعمليةالمُتحكَّم بهاالبيانيُعلِمالمستخدمإشارة القياسأمرفعلالكمية المقيسة: حرارة، ضوء، مسافة، تيار…الإعداداتوالأوامريرى ويسمعحالة النظامالاضطراب
مخطّط الكتل لنظام تحكّم: الحسّاس يقيس العملية، المتحكّم يقرّر، المشغّل ينفّذ، والبيان يُعلِم المستخدم. السهم الأحمر يغلق الحلقة
الكتلةبالعبريةوظيفتهاأمثلة
الحسّاس (المستشعر)חיישןيحوّل كمية فيزيائية إلى إشارة كهربائية (جهد، تيار أو مستوى منطقي) يقرؤها المتحكّمحسّاس حرارة، مقاومة ضوئية، مفتاح العوّامة
المتحكّمבקרيقرأ الحسّاسات وأوامر المستخدم، يقارن بالمطلوب، ويقرّر ماذا يفعلمتحكّم دقيق على Arduino Uno أو ESP32
المشغّلמפעילيحوّل أمر المتحكّم إلى فعل: حرارة، حركة أو ضوءسخّان، محرّك، صمّام كهرومغناطيسي، ملامس
البيانחיוויيُعلِم الإنسان بحالة النظاممصباح بيان، طنّان، شاشة
العملية المُتحكَّم بهاתהליך מבוקרالشيء الذي نتحكّم بهماء في خزّان، هواء غرفة
المستخدمמשתמשيحدّد المطلوب ويتابع البيانيضبط درجة الحرارة المطلوبة

في هذا الكتاب المتحكّم هو متحكّم دقيق (מיקרו-בקר). الحسّاس يصل إليه عبر مدخل (מבוא) رقمي أو تماثلي، والمشغّل والبيان عبر مخرج (מוצא). مخرج المتحكّم ضعيف، ولذلك يعمل المشغّل غالبا عن طريق ترانزستور أو مرحّل.

سؤال 1.1: في مصباح شارع يضيء وحده عند حلول الظلام نجد: مقاومة ضوئية، مرحّل، مصباح الشارع، ومصباح بيان صغير في لوحة الكهرباء يضيء عندما يعمل المصباح. نصنّف كل عنصر: حسّاس، مشغّل أو بيان. ما هي العملية المُتحكَّم بها؟

مثال تطبيقي: إدارة القدرة في بيت – ניהול הספק במערכת חשמל:

أنظمة التحكّم لا تتحكّم بالحرارة فقط. في لوحة الكهرباء نستطيع أن نبني نظاما يدير القدرة: حسّاس التيار (חיישן זרם) يقيس التيار الكلّي للبيت؛ إذا اقترب التيار من الحدّ المسموح، يفصل المتحكّم حملا غير مستعجل، مثل سخّان الماء، بواسطة ملامس (מגען)، ويُضيء مصباح بيان «السخّان مفصول». هكذا نمنع فصل البيت كله بقاطع التيار الرئيسي. الحسّاس هنا حسّاس التيار، المشغّل الملامس، والبيان المصباح.

مثال 1.1
في بيت يعمل نظام إدارة قدرة. الحدّ الذي ضبطه المستخدم 32 A. التيار الذي تأخذه باقي الأحمال 24 A. يُطلَب تشغيل سخّان ماء قدرته 2.5 kW على جهد 230 V.
(أ) نحسب تيار السخّان.
(ب) هل يسمح المتحكّم بتشغيله؟
(ج) يعيد المتحكّم وصل السخّان فقط عندما يبقى هامش 2 A تحت الحدّ. حتى أيّ تيار يجب أن تنخفض باقي الأحمال؟
الحل:

(أ) تيار حمل مقاوِم يساوي قدرته مقسومة على الجهد:

Ih = PV = 2500230 = 10.87 A

(ب) التيار الكلّي لو شغّلنا السخّان:

I = 24 + 10.87 = 34.87 A

هذه القيمة أكبر من الحدّ 32 A ، ولذلك يُبقي المتحكّم الملامس مفتوحا ويُضيء مصباح البيان.

(ج) نطرح من الحدّ تيار السخّان والهامش:

Iother ≤ 32 − 10.87 − 2 = 19.13 A

الهامش يمنع وصل السخّان وفصله مرّة بعد مرّة عندما يكون التيار قريبا من الحدّ. هذه الفكرة نفسها، التخلّف، ستعود في منظّم الحرارة.

Ih = 10.87 A
تحذير: جهد الشبكة 230 V خطر على الحياة. حسّاس التيار والملامس في لوحة البيت يركّبهما كهربائي مؤهّل داخل لوحة مغلقة، وفي المختبر نعمل فقط مع وحدات (موديولات) معتمدة وتحت إشراف المعلّم. لا نوصل الشبكة أبدا بلوحة التجارب. في هذا الفصل يمثّل الحملَ مصباحٌ صغير (LED) يعمل على 5 V.

תיאור תהליך מבוקר: מילולי, תרשים זרימה ותרשים בועות – وصف عملية مُتحكَّم بها (Describing a Process)

قبل أن نكتب سطرا واحدا من البرنامج نصف ما يجب أن يفعله النظام. نستخدم ثلاث طرق تكمّل إحداها الأخرى. مثالنا في بقية الفصل منظّم الحرارة (תרמוסטט) (الثرموستات): يسخّن غرفة صغيرة ويحافظ على درجة حرارتها بين 23 °C و 25 °C.

الوصف الكلامي – תיאור מילולי:

  1. عند التشغيل يكون السخّان متوقّفا.
  2. يقرأ المتحكّم درجة الحرارة T مرّة كل ثانية.
  3. إذا انخفضت T تحت 23 °C يشغّل السخّان.
  4. إذا ارتفعت T فوق 25 °C يوقف السخّان.
  5. بين القيمتين لا يغيّر شيئا: يبقى السخّان في حالته السابقة.
  6. يعرض المتحكّم T وحالة السخّان على الشاشة.

الوصف الكلامي سهل الكتابة، لكنه قد يكون غير دقيق: ماذا يحدث بالضبط عند 25 °C؟ لذلك نرسمه أيضا.

مخطّط سير العمليات – תרשים זרימה:

البدايةتهيئة الأطراف والشاشةقراءة الحسّاس: Nحساب درجة الحرارة TT < 23 °C ?نعمتشغيل التسخينلاT > 25 °C ?نعمإيقاف التسخينلاطباعة T وحالة التسخينانتظار فترة أخذ العيّناتتكرار
مخطّط سير العمليات لمنظّم الحرارة
مخطّط سير العمليات (תרשים זרימה): رسم يبيّن ترتيب الخطوات في البرنامج. الشكل البيضوي بداية، المستطيل عملية، متوازي الأضلاع إدخال أو إخراج، والمعيّن سؤال جوابه «نعم» أو «لا».

نتبع الأسهم من الأعلى: بعد التهيئة تبدأ حلقة لا تنتهي: قراءة، حساب، سؤالان، طباعة وانتظار، ثم العودة إلى القراءة. إذا كان الجواب عن السؤالين «لا» نصل إلى الطباعة بدون تغيير حالة السخّان؛ هذا هو البند 5 في الوصف الكلامي.

مخطّط الحالات – תרשים בועות (תרשים מצבים):

مخطّط الحالات (תרשים בועות / תרשים מצבים): رسم فيه كل حالة للنظام دائرة («فقاعة»)، وكل انتقال بين حالتين سهم يُكتب عليه الشرط الذي يسبّبه. السهم الذي يعود إلى نفس الدائرة يعني أن النظام يبقى في حالته.
التسخين متوقّفOFFالتسخين يعملONT < 23 °CT > 25 °CT ≥ 23 °CT ≤ 25 °Cالبداية
مخطّط الحالات لمنظّم الحرارة: حالتان وانتقالان

مخطّط الحالات يبيّن بوضوح ما يخفيه الوصف الكلامي: عند T = 24 °C قد يكون السخّان يعمل أو متوقّفا — الجواب متعلّق بالحالة السابقة. نظام كهذا «يتذكّر»، ولذلك نحتاج في البرنامج إلى متغيّر يحفظ الحالة.

سؤال 1.2: نرسم مخطّط الحالات لمضخّة تملأ خزّانا: في الخزّان مفتاح عوّامة سفلي ومفتاح عوّامة علوي. تعمل المضخّة عندما ينخفض الماء تحت العوّامة السفلية، وتتوقّف عندما يصل إلى العلوية. كم حالة في المخطّط، وما شرط كل انتقال؟

חוג פתוח וחוג סגור – الحلقة المفتوحة والحلقة المغلقة (Open and Closed Loop)

الحلقة المفتوحة (חוג פתוח): نظام تحكّم لا يقيس نتيجة عمله. المتحكّم ينفّذ برنامجا ثابتا (مثلا حسب الزمن) ولا يعرف إن وصلت العملية إلى المطلوب. مثال: ري الحديقة لمدة 10 min كل صباح — حتى لو أمطرت في الليل. في مخطّط كتلها لا يوجد الحسّاس ولا السهم الأخضر في الشكل التالي.
الحلقة المغلقة (חוג סגור): نظام تحكّم يقيس بحسّاس نتيجة عمله ويعيدها إلى المتحكّم. هذه العودة تسمّى التغذية الراجعة (משוב). المتحكّم يقارن ما قاسه بالمطلوب ويصحّح عمله بحسب الفرق.
القيمةالمطلوبةr+−الخطأeالمتحكّمالمشغّلالعمليةyالاضطرابالحسّاسالقيمة الفعليةالقيمة المقيسة
الحلقة المغلقة: المسار الأخضر هو التغذية الراجعة — الحسّاس يعيد القيمة الفعلية إلى نقطة المقارنة، والفرق هو الخطأ
e = r − y
مثال 1.2
في غرفة القيمة المطلوبة r = 24 °C.
(أ) يقيس الحسّاس y = 21.5 °C.
(ب) بعد دخول الشمس إلى الغرفة يقيس y = 25.8 °C. نحسب الخطأ في كل حالة ونقرّر ماذا يفعل منظّم الحرارة.
الحل:

نعوّض في قانون الخطأ: (أ) في السطر الأول، (ب) في السطر الثاني.

e = r − y = 24 − 21.5 = 2.5 °C
e = r − y = 24 − 25.8 = −1.8 °C

(أ) الخطأ موجب: الغرفة أبرد من المطلوب، فيشغّل المتحكّم السخّان. (ب) الخطأ سالب: الغرفة أسخن من المطلوب، فيوقف السخّان. الشمس هنا اضطراب.

e = 2.5 °C , e = −1.8 °C

الحلقة المفتوحة أبسط وأرخص، لكنها لا تصحّح الاضطراب. الحلقة المغلقة تحتاج إلى حسّاس وبرنامج مقارنة، لكنها تصحّح وحدها.

سؤال 1.3: آلة غسيل تعمل حسب برنامج زمني ثابت، ومكيّف هواء يقيس حرارة الغرفة. أيّهما حلقة مفتوحة وأيّهما حلقة مغلقة؟ ما هي القيمة المطلوبة في المكيّف؟
خطأ شائع: الحسّاس جزء من الحلقة. إذا تعطّل الحسّاس أو انفصل سلكه يرى المتحكّم قيمة خاطئة ويتصرّف حسبها: حسّاس حرارة مفصول قد «يقرأ» 0 °C فيشغّل السخّان بلا توقّف. نفحص دائما أن القراءة في مداها المعقول.
▶تجربة حية — الحسّاسات الرقمية في نظام التحكّممحاكاة حيّة: حسّاسات تعطي للمتحكّم إشارة «نعم/لا»، ومكانها في أنظمة تحكّم صناعية.
⚠
المختبر غير متاح الآن. المادة في هذا الفصل كاملة من دونه — نواصل القراءة، ونعود إلى التجربة لاحقا أو نفتحها مباشرة من الرابط الذي تحت الإطار.
https://fahed-lab.com/hashmal/sensors#dsens
نفتح المختبر في صفحة مستقلة ↗ fahed-lab.com/hashmal/sensors#dsens

בקרה בדידה ובקרה רציפה – التحكّم المتقطّع والتحكّم المستمر (Discrete and Continuous Control)

التحكّم المتقطّع (בקרה בדידה): للمشغّل عدد محدود من الحالات. أبسط نوع هو تحكّم تشغيل-إيقاف (בקרה דו-מצבית): السخّان إمّا يعمل بكامل قدرته وإمّا متوقّف. مثله المضخّة مع العوّامة والمصباح مع المقاومة الضوئية.
التحكّم المستمر (בקרה רציפה): المشغّل يأخذ كل قيمة بين الحدّ الأدنى والحدّ الأعلى: قدرة سخّان من 0 إلى 100% ، سرعة محرّك، شدّة إضاءة. كلما كبر الخطأ كبر الفعل. سنرى في الفصلين 10 و 11 كيف يعطي المتحكّم الدقيق «قيمة بين القيمتين» بواسطة تعديل عرض النبضة.

لماذا نحتاج إلى التخلّف؟ – בקרה דו-מצבית עם היסטרזיס

لو استعمل منظّم الحرارة قيمة حدّية واحدة، مثلا «شغّل تحت 24 °C وأوقف فوقها»، لتغيّرت حالة السخّان في كل مرّة تعبر فيها الحرارة الحدّ صعودا أو هبوطا — وقرب الحدّ يحدث ذلك في كل قراءة تقريبا. المرحّل أو الملامس يتآكل بسرعة، ويُسمَع «طقطقة» متواصلة.

التخلّف (היסטרזיס): ويسمّى أيضا الهستيريسيس. في تحكّم تشغيل-إيقاف هو استعمال قيمتين حدّيتين بدل قيمة واحدة — قيمة تشغيل TON وقيمة إيقاف TOFF. بينهما منطقة ميّتة لا تتغيّر فيها حالة المشغّل. عرض المنطقة:
ΔT = TOFF − TON

حسبنا بالحاسوب سلوك غرفة صغيرة في نموذج مبسّط: حرارة المحيط 18 °C ، السخّان يرفع الحرارة بمعدّل 0.8 °C/min ، والغرفة تفقد حرارة كلما كانت أسخن من المحيط. المتحكّم يقرأ مرّة كل ثانية، و TON = 23 °C ، TOFF = 25 °C. هذه أرقام مثال للنموذج وليست قيم جهاز معيّن.

010203040501820232527t [min]TTONTOFF
01020304050OFFONt [min]
فوق: درجة حرارة الغرفة T بوحدة °C مع الزمن، والخطّان المتقطّعان TON و TOFF. تحت: حالة السخّان. نتيجة محاكاة بالنموذج المبسّط

إذن ثمن التخلّف تأرجح الحرارة في مدى ΔT ، وربحه عدد قليل جدا من مرّات التبديل. كلما وسّعنا ΔT قلّ عدد التبديلات وكبر التأرجح.

سؤال 1.4: سخّان ماء كهربائي يعمل بتحكّم تشغيل-إيقاف مع TON = 58 °C و TOFF = 62 °C. ما عرض منطقة التخلّف؟ الماء الآن 60 °C ودرجة حرارته ترتفع. هل السخّان يعمل؟ وإذا كانت 60 °C وتنخفض؟
خطأ شائع: عرض منطقة التخلّف صفر (TON = TOFF) ليس «دقّة أعلى»، بل تبديل متواصل يُتلف المرحّل. وكذلك إذا كتبنا القيمتين بالعكس (TON أكبر من TOFF): يضيع التخلّف ويبقى عمليا حدّ واحد.

לולאת הבקר: קריאה, החלטה וביצוע – حلقة المتحكّم الدقيق: اقرأ – قرّر – نفّذ (Read – Decide – Act)

برنامج Arduino (סקיצה) فيه دالّتان: setup() تعمل مرّة واحدة عند التشغيل، و loop() تتكرّر بلا توقّف. في كل دورة من loop() ينفّذ المتحكّم ثلاث خطوات — وهي بالضبط كتل مخطّط الكتل (وفي البرنامج التالي نجدها في التعليقات // 1. read ، // 2. decide ، // 3. act):

  1. اقرأ: يقرأ الحسّاسات — analogRead() لمدخل تماثلي أو digitalRead() لمدخل رقمي.
  2. قرّر: يحوّل القيمة الخام إلى وحدة فيزيائية ويقارنها بالقيمة المطلوبة (جملة if).
  3. نفّذ: يكتب إلى المخارج — digitalWrite() للمشغّل وللبيان، و Serial.print() للشاشة.
أخذ العيّنات (דגימה): قراءة الحسّاس في لحظات منفصلة بدل قراءته طوال الوقت. الزمن بين قراءتين متتاليتين هو فترة أخذ العيّنات Ts (זמן הדגימה) بوحدة [s] ، وعدد القراءات في الثانية هو تردّد أخذ العيّنات fs (תדר הדגימה) بوحدة [Hz]:
fs = 1Ts
مثال 1.3
في منظّم الحرارة يقرأ المتحكّم مرّة كل 1000 ms. في نموذج الغرفة ترتفع الحرارة قرب 25 °C بمعدّل 0.45 °C/min.
(أ) نحسب تردّد أخذ العيّنات وعدد القراءات في الدقيقة.
(ب) بكم تتغيّر الحرارة بين قراءتين؟ هل أخذ العيّنات سريع بما يكفي؟
الحل:

(أ) Ts = 1 s (المعادلة الأولى)، وفي الدقيقة 60 قراءة. (ب) نقسم التغيّر في الدقيقة على عدد القراءات (المعادلة الثانية):

fs = 1Ts = 11 = 1 Hz
ΔTs = 0.4560 = 0.0075 °C

التغيّر بين قراءتين أصغر بكثير من عرض منطقة التخلّف 2 °C ، إذن أخذ العيّنات سريع جدا لهذه العملية البطيئة. أمّا زرّ يضغطه الإنسان فيحتاج إلى قراءة أسرع بكثير، ولذلك لا نستعمل delay() طويلا داخل الحلقة: خلاله لا يقرأ المتحكّم شيئا.

fs = 1 Hz

סקיצה ראשונה: תרמוסטט עם היסטרזיס – البرنامج الأوّل: منظّم حرارة بالتخلّف (First Sketch: Thermostat)

نبني منظّم الحرارة على لوحة Arduino Uno بدون حسّاس حرارة حقيقي: المقاومة المتغيّرة (פוטנציומטר) (المقاومة المتغيّرة) على المدخل A0 يمثّل الحسّاس — ندير مقبضه فـ«تتغيّر الحرارة». ومصباح LED على المخرج D8 يمثّل السخّان. في الفصل 5 نستبدل المقاومة المتغيّرة بحسّاس حرارة حقيقي، وفي الفصل 10 نستبدل المصباح بمرحّل.

Arduino Uno5VA0GNDD8GND10 kΩالمقاومة المتغيّرةبدل حسّاس الحرارة330 Ωمصباح LED بدل السخّان
مخطّط التوصيل: المقاومة المتغيّرة بين 5 V و GND ومنزلقه إلى A0؛ المصباح مع مقاومته من D8 إلى GND

حساب مقاومة المصباح – חישוב הנגד הטורי של הנורית:

مثال 1.4
نحسب المقاومة على التوالي مع المصباح الأحمر. VCC = 5 V ، الجهد الأمامي للمصباح VF = 2 V (قيمة نموذجية حسب ورقة البيانات لمصباح أحمر)، والتيار المطلوب IF = 10 mA.
الحل:
R = VCC − VFIF = 5 − 210·10−3 = 300 Ω

نختار القيمة التجارية الأكبر الأقرب من سلسلة E12: R = 330 Ω. التيار الفعلي:

IF = 5 − 2330 = 9.1 mA

هذا أقلّ من 20 mA ، التيار الموصى به لطرف ATmega328P في Uno.

R = 330 Ω

من القيمة الخام إلى «درجة الحرارة» – מהערך הגולמי לטמפרטורה:

المقاومة المتغيّرة 10 kΩ بين 5 V و GND (يمرّ فيه 0.5 mA فقط)، فيتغيّر جهد المنزلق من 0 إلى 5 V. المحوّل التماثلي-الرقمي (ממיר תקבילי-ספרתי) في Uno يعطي قيمة خام (ערך גולמי) N من 0 إلى Nmax = 1023. نقرّر أن مدى «الحسّاس» من 0 إلى Tmax = 50 °C ، فتتحوّل القيمة الخام إلى حرارة بتناسب بسيط:

T = N·TmaxNmax

البرنامج – הסקיצה:

منظّم حرارة بالتخلّف: المقاومة المتغيّرة يمثّل الحسّاس والمصباح يمثّل السخّان Arduino Uno · thermostat_hyst.ino
const int SENSOR = A0;        // potentiometer = temperature sensor (model)
const int HEATER = 8;         // LED = heater (model)
const float T_MAX = 50.0;     // N = 1023 -> 50 C
const float T_ON  = 23.0;     // below this: heater ON
const float T_OFF = 25.0;     // above this: heater OFF
const unsigned long PERIOD = 1000;   // sampling period [ms]

bool heaterOn = false;
unsigned long last = 0;
void setup() {
  pinMode(HEATER, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  if (millis() - last < PERIOD) return;
  last = millis();
  int n = analogRead(SENSOR);                    // 1. read
  float t = n * T_MAX / 1023.0;
  if (t < T_ON) heaterOn = true;                 // 2. decide
  else if (t > T_OFF) heaterOn = false;
  digitalWrite(HEATER, heaterOn ? HIGH : LOW);   // 3. act
  Serial.print("N = "); Serial.print(n);
  Serial.print("  T = "); Serial.print(t, 1);
  Serial.println(heaterOn ? " C  heater: ON" : " C  heater: OFF");
}

ندير المقبض ببطء إلى الأسفل ثم إلى الأعلى. هذه شاشة نموذجية، محسوبة بنفس قانون البرنامج ونفس التقريب إلى منزلة عشرية واحدة:

Serial Monitor · قراءة نموذجية
N = 532  T = 26.0 C  heater: OFF
N = 501  T = 24.5 C  heater: OFF
N = 486  T = 23.8 C  heater: OFF
N = 471  T = 23.0 C  heater: OFF
N = 460  T = 22.5 C  heater: ON
N = 452  T = 22.1 C  heater: ON
N = 466  T = 22.8 C  heater: ON
N = 481  T = 23.5 C  heater: ON
N = 497  T = 24.3 C  heater: ON
N = 512  T = 25.0 C  heater: OFF
N = 522  T = 25.5 C  heater: OFF
N = 530  T = 25.9 C  heater: OFF

نقارن السطرين N = 486 (في طريق النزول) و N = 481 (في طريق الصعود): الحرارة تقريبا نفسها، داخل منطقة التخلّف، لكن السخّان متوقّف في الأول ويعمل في الثاني. هذا هو التخلّف كما رأيناه في مخطّط الحالات.

مثال 1.5
نحسب القيم الخام التي يتغيّر عندها السخّان:
(أ) أكبر N يشغّل السخّان (T أقلّ من 23 °C).
(ب) أصغر N يوقفه (T أكبر من 25 °C).
الحل:

نُخرج N من القانون: N = T·NmaxTmax.

NON = 23 · 102350 = 470.58
NOFF = 25 · 102350 = 511.5

(أ) N عدد صحيح، والشرط «أقلّ من»، لذلك أكبر قيمة تشغّل السخّان N = 470. (ب) الشرط «أكبر من»، لذلك أصغر قيمة توقفه N = 512. نقارن بالشاشة: N = 471 لم يشغّل السخّان، و N = 512 أوقفه.

NON = 470 , NOFF = 512
سؤال 1.5: السخّان متوقّف، ثم يقرأ المتحكّم على التوالي القيم الخام 505، 468، 490، 515. ما حالة السخّان بعد كل قراءة؟
تحذير: طرف Arduino يعطي حتى 20 mA (موصى به)، والحدّ المطلق 40 mA (ورقة بيانات ATmega328P). سخّان حقيقي لا يوصَل بالطرف أبدا: نشغّله عبر ترانزستور أو مرحّل مع ديود الحماية (الفصل 10)، وإذا كان على جهد الشبكة — فقط عبر وحدة معتمدة وتحت إشراف المعلّم.
▶تجربة حية — مختبر برمجة Arduinoنلصق البرنامج في المختبر، ندير المقاومة المتغيّرة ونرى المصباح والشاشة التسلسلية تتغيّر — بدون لوحة حقيقية.
⚠
المختبر غير متاح الآن. المادة في هذا الفصل كاملة من دونه — نواصل القراءة، ونعود إلى التجربة لاحقا أو نفتحها مباشرة من الرابط الذي تحت الإطار.
https://fahed-lab.com/micro/arduino_code_lab
نفتح المختبر في صفحة مستقلة ↗ fahed-lab.com/micro/arduino_code_lab

מפת הספר: חיישנים, מפעילים וחיווי – خريطة الكتاب: الحسّاسات والمشغّلات والبيان (Book Map)

في بقية الكتاب نأخذ كل كتلة من مخطّط الكتل وندرسها: كيف تعمل، كيف نوصلها بالمتحكّم، وكيف نحوّل قراءتها إلى عدد له معنى.

الفصلالموضوعأمثلة
2–4الأساس: الخصائص والمداخلالدقّة، مقاومة الرفع، ملاءمة الإشارة
5الحرارة والرطوبةالمقاومة الحرارية، LM35، DS18B20، DHT22
6الضوءالمقاومة الضوئية، الديود الضوئي
7المسافة والحضور والحركةالحسّاس فوق الصوتي، حسّاس الحركة
8الحسّاسات الصناعيةحسّاسات الاقتراب، مفتاح نهاية المشوار
9التيار والجهد والقدرةحسّاس التيار، مُجزِّء الجهد
10تشغيل الأحمالالترانزستور كمفتاح، المرحّل
11المحرّكاتالمحرّك المؤازر، محرّك الخطوة
12المشغّلات الصناعيةالملامس، الصمّام الكهرومغناطيسي
13البيان والعرضالطنّان، شاشة الكريستال السائل
14مشروع ختامينظام تحكّم متكامل

ملخّص قوانين الفصل:

القانونالصيغة
التيار الذي يأخذه حمل مقاوِمI = PV
الخطأ في الحلقة المغلقةe = r − y
عرض منطقة التخلّفΔT = TOFF − TON
تردّد أخذ العيّناتfs = 1Ts
الجهد من القيمة الخامV = N·VrefNmax
القيمة الخام إلى درجة حرارةT = N·TmaxNmax
مقاومة المصباح على التواليR = VCC − VFIF

قاموس المصطلحات – מילון מונחים:

بالعربيةبالعبرية (كما تظهر في الامتحان)English
نظام التحكّمמערכת בקרהControl system
التحكّم المحوسبבקרה ממוחשבתComputer control
الحسّاس (المستشعر)חיישןSensor
المتحكّم · المتحكّم الدقيقבקר · מיקרו-בקרController · Microcontroller
المشغّلמפעילActuator
البيانחיוויIndication
العملية المُتحكَّم بهاתהליך מבוקרControlled process
مخطّط الكتلדיאגרמת מלבניםBlock diagram
مخطّط سير العملياتתרשים זרימהFlowchart
مخطّط الحالاتתרשים בועות / מצביםState diagram
الحلقة المفتوحةחוג פתוחOpen loop
الحلقة المغلقةחוג סגורClosed loop
التغذية الراجعةמשובFeedback
القيمة المطلوبةערך רצויSet point
القيمة الفعليةערך מצויActual value
الخطأשגיאהError
الاضطرابהפרעהDisturbance
التحكّم المتقطّعבקרה בדידהDiscrete control
التحكّم المستمرבקרה רציפהContinuous control
تحكّم تشغيل-إيقافבקרה דו-מצביתOn/off control
التخلّف (الهستيريسيس)היסטרזיסHysteresis
منظّم الحرارة (الثرموستات)תרמוסטטThermostat
أخذ العيّناتדגימהSampling
المقاومة المتغيّرة (البوتنشيومتر)פוטנציומטרPotentiometer
القيمة الخامערך גולמיRaw value
المدخل · المخرجמבוא · מוצאInput · Output
المحوّل التماثلي-الرقميממיר תקבילי-ספרתיAnalog-to-digital converter
حسّاس التيارחיישן זרםCurrent sensor
الملامس (الكونتاكتور)מגעןContactor
البرنامج (sketch)סקיצהSketch

أسئلة للتمرين:

1.
في خزّان ماء: حسّاس مستوى، متحكّم، مضخّة، وطنّان ينذر عندما يمتلئ الخزّان. نرسم مخطّط الكتل ونسمّي كل كتلة.
الإجابات: الحسّاس: حسّاس المستوى؛ المتحكّم؛ المشغّل: المضخّة؛ البيان: الطنّان؛ العملية: مستوى الماء في الخزّان
2.
نصنّف كل نظام — حلقة مفتوحة أو مغلقة:
(أ) إشارة ضوئية تتبدّل كل 30 s.
(ب) مكواة مع منظّم حرارة.
(ج) ري حسب الساعة.
(د) مضخّة مع مفتاحي عوّامة.
الإجابات: (أ) مفتوحة (ب) مغلقة (ج) مفتوحة (د) مغلقة
3.
القيمة المطلوبة في حاضنة 37 °C. نحسب الخطأ عندما تكون القيمة الفعلية:
(أ) 35.5 °C.
(ب) 38.2 °C. ماذا تعني إشارة الخطأ في كل حالة؟
الإجابات: (أ) e = 1.5 °C — أبرد من المطلوب (ب) e = −1.2 °C — أسخن من المطلوب
4.
منظّم حرارة يشغّل السخّان تحت 19 °C ويوقفه فوق 21.5 °C.
(أ) ما عرض منطقة التخلّف؟
(ب) نرسم مخطّط الحالات ونكتب الشرط على كل سهم.
الإجابات: (أ) ΔT = 2.5 °C (ب) حالتان؛ من «متوقّف» إلى «يعمل»: T أقلّ من 19 °C؛ من «يعمل» إلى «متوقّف»: T أكبر من 21.5 °C
5.
في برنامج منظّم الحرارة (Tmax = 50 °C) يقرأ المتحكّم N = 389. نحسب T والجهد على A0.
الإجابات: T = 19.01 °C ، V = 1.9 V
6.
نغيّر في البرنامج TON = 20 °C و TOFF = 22 °C. نحسب أكبر قيمة خام تشغّل السخّان وأصغر قيمة خام توقفه.
الإجابات: التشغيل حتى N = 409 ، الإيقاف من N = 451
7.
نريد تيارا 15 mA في مصباح أحمر جهده الأمامي 2 V (قيمة نموذجية) من مخرج 5 V.
(أ) نحسب المقاومة.
(ب) نختار قيمة من E12 ونحسب التيار الفعلي.
الإجابات: (أ) R = 200 Ω (ب) 220 Ω ، I = 13.6 mA
8.
نغيّر PERIOD إلى 250 ms. نحسب تردّد أخذ العيّنات وعدد القراءات في الدقيقة.
الإجابات: fs = 4 Hz ، 240 قراءة في الدقيقة
9.
السخّان متوقّف. يقرأ برنامج منظّم الحرارة على التوالي: 530، 515، 480، 468، 475، 500، 513. نكتب حالة السخّان بعد كل قراءة.
الإجابات: متوقّف، متوقّف، متوقّف، يعمل، يعمل، يعمل، متوقّف
10.
في نظام إدارة القدرة الحدّ 25 A ، باقي الأحمال تأخذ 18 A ، ويُطلب تشغيل سخّان 3 kW على 230 V.
(أ) نحسب تيار السخّان.
(ب) هل يسمح المتحكّم بتشغيله؟
الإجابات: (أ) Ih = 13.04 A (ب) المجموع 31.04 A ، أكبر من الحدّ، لا يسمح
11.
بحسب الرسم البياني لنموذج الغرفة: كم دقيقة يعمل السخّان في كل دورة، وكم دقيقة يتوقّف؟ وكم مرّة غيّر حالته خلال ساعة؟
الإجابات: يعمل نحو 4 min ويتوقّف نحو 6.7 min ؛ 10 تبديلات
12.
طالب كتب const float T_ON = 25.0; و const float T_OFF = 23.0; (بالعكس). ماذا يحدث عندما تكون الحرارة 24 °C؟
الإجابات: عند 24 °C يتحقّق الشرط الأول فيعمل السخّان. عمليا يعمل تحت 25 °C ويتوقّف من 25 °C فما فوق: حدّ واحد بدون تخلّف، فيتأرجح السخّان حول 25 °C
13.
نصف بالكلمات وبمخطّط سير العمليات نظام إنارة درج: زرّ يشغّل المصباح، والمصباح ينطفئ وحده بعد 60 s. هل هو حلقة مفتوحة أم مغلقة؟
الإجابات: حلقة مفتوحة: المتحكّم لا يقيس الإضاءة، بل يعدّ الزمن فقط
الإجابات النهائية لأسئلة الفصل
1.1 المقاومة الضوئية حسّاس؛ المرحّل ومصباح الشارع مشغّل؛ المصباح الصغير في اللوحة بيان؛ العملية: إنارة الشارع
1.2 حالتان: «المضخّة متوقّفة» و«المضخّة تعمل». من «متوقّفة» إلى «تعمل»: الماء تحت العوّامة السفلية؛ من «تعمل» إلى «متوقّفة»: الماء وصل العوّامة العلوية
1.3 آلة الغسيل حلقة مفتوحة؛ المكيّف حلقة مغلقة، والقيمة المطلوبة درجة الحرارة التي يضبطها المستخدم
1.4 ΔT = 4 °C ؛ عند الارتفاع السخّان يعمل (لم يصل بعد إلى 62 °C)؛ عند الانخفاض السخّان متوقّف (لم يصل بعد إلى 58 °C)
1.5 505: متوقّف، 468: يعمل، 490: يعمل، 515: متوقّف
لوحة القوانين: كل قوانين هذا الفصل مجموعة مع رسومها وجداول رموزها في الفصل 15 — لوحة القوانين الشاملة. (נוסחאון הספר)