المشغّلات الصناعية
في المصنع وفي المبنى تكون الأحمال أكبر بكثير من مصباح أو محرّك صغير: مضخّة ماء، عنصر تسخين، محرّك ثلاثي الطور أو صمّام على خط ماء. المتحكّم لا يشغّل هذه الأحمال مباشرة، بل عن طريق سلسلة: طرف المتحكّم، ثم مرحّل وسيط، ثم ملف ملامس، ثم نقاط تلامس رئيسية توصل الحمل. في هذا الفصل نتعرّف على المشغّلات الصناعية، نرسم دائرة القدرة ودائرة التحكّم، ونبني برنامجا لملء خزّان بمضخّة.
- نشرح بنية الملامس ونقرأ ترقيم أطرافه.
- نرسم دائرة الإمساك الذاتي، ودائرة الإقفال المتبادل بين ملامسين.
- نشغّل ملف الملامس من المتحكّم عن طريق مرحّل وسيط، ونفسّر لماذا لا نوصله بطرف المتحكّم مباشرة.
- نميّز بين الصمّام الكهرومغناطيسي والصمّام الكهربائي الكروي.
- نرسم مخطّطا أحادي الخط لدائرة القدرة بجانب دائرة التحكّم، مع الحماية والبيان.
- نبني آلة حالات لملء خزّان بمضخّة، مع حماية من التشغيل الجاف وإنذار.
המגען – الملامس (Contactor)
- الملف (סליל המגען)، وطرفاه A1–A2: جهده مكتوب عليه، وأشيع القيم في اللوحات 24 V (متناوب أو مستمر) و 230 V متناوب. ملف 230 V لا يجذب على 24 V، وملف 24 V يحترق على 230 V.
- نقاط التلامس الرئيسية (מגעים ראשיים): ثلاث نقاط مفتوحة في الراحة توصل الأطوار الثلاثة إلى الحمل في دائرة القدرة.
- نقاط التلامس المساعدة (מגעי עזר): نقاط صغيرة لدائرة التحكّم، للإمساك الذاتي، للإقفال المتبادل وللبيان.
| الأطراف | المعنى |
|---|---|
| A1–A2 | ملف الملامس |
| 1/L1–2/T1 … 5/L3–6/T3 | نقاط رئيسية: L من جهة الشبكة، T من جهة الحمل |
| 13–14 · 21–22 | نقاط مساعدة. الرقم الثاني 3–4: مفتوحة في الراحة؛ 1–2: مغلقة في الراحة |
| 95–96 · 97–98 | نقاط المرحّل الحراري: 95–96 مغلقة في الراحة، و 97–98 تُغلق عند الفصل |
يكتب الصانع تيار الملامس حسب فئة الاستخدام (קטגוריית שימוש): الفئة AC-1 لحمل مقاوم مثل عنصر التسخين، والفئة AC-3 لمحرّك حثّي. المحرّك يسحب عند البدء تيارا أكبر بعدّة مرّات من تياره الاسمي، ولذلك يكون التيار المسموح للملامس نفسه في AC-3 أصغر منه في AC-1. تيار الحمل المقاوم: I = PU.
التيار أكبر من 10 A: نختار ملامسا تياره في الفئة AC-1 أكبر من 13.04 A ، والمرحّل يشغّل ملف الملامس فقط.
أ. نحسب تياره.
ب. كم عنصرا كهذا نوصل على التوازي بملامس تياره في الفئة AC-1 يساوي 25 A؟
מעגל החזקה עצמית – دائرة الإمساك الذاتي (Self-Holding Circuit)
- في الراحة S1 و 13–14 مفتوحتان، فلا يمر تيار في الملف.
- نضغط S1: يُغذّى الملف C1 ، فتنغلق النقاط الرئيسية (المحرّك يعمل) وتنغلق 13–14 أيضا.
- نترك S1: التيار يستمر عبر 13–14 ، والملامس «يمسك نفسه».
- نضغط S0 ، أو يفصل المرحّل الحراري 95–96: يسقط الملامس وتنفتح 13–14 ، فيبقى متوقّفا حتى ضغطة تشغيل جديدة. كذلك بعد انقطاع الكهرباء: المحرّك لا يعود إلى العمل وحده، وهذه ميزة أمان.
הפעלת מגען מבקר: ממסר ביניים – تشغيل الملامس من المتحكّم: المرحّل الوسيط (Interposing Relay)
ملف الملامس لا يوصل أبدا بطرف المتحكّم مباشرة: جهده 24 V أو 230 V ومخرج Uno 5 V؛ تياره أكبر بكثير من 20 mA؛ عند فصله تنشأ قمّة جهد؛ وأسلاك اللوحة طويلة وتمرّ بجانب أسلاك القدرة.
التيار أكبر بنحو 8 مرّات من المسموح. أما نقطة تلامس مرحّل الوحدة (تيّارها 10 A على 30 V مستمر، قيمة نموذجية حسب ورقة البيانات) فتتحمّله بسهولة.
البرنامج يعيد بناء الإمساك الذاتي بالبرمجة: المتغيّر run يحفظ حالة الملامس، والإيقاف والفصل الحراري لهما الأولوية. زرّ الإيقاف مغلق في الراحة، ولذلك نقرأ HIGH عند الضغط عليه أو عند قطع سلكه.
const int START = 2; // S1, NO to GND
const int STOP = 3; // S0, NC to GND (open = stop)
const int OL = 4; // O.L aux contact 97-98, closes on trip
const int RELAY = 7; // relay module IN -> K1 -> coil C1
bool run = false;
void setup() {
pinMode(START, INPUT_PULLUP); pinMode(STOP, INPUT_PULLUP);
pinMode(OL, INPUT_PULLUP);
pinMode(RELAY, OUTPUT); digitalWrite(RELAY, LOW);
Serial.begin(9600); Serial.println("READY");
}
void loop() {
bool stopCmd = digitalRead(STOP) == HIGH; // pressed or broken wire
bool tripped = digitalRead(OL) == LOW;
bool next = run;
if (stopCmd || tripped) next = false; // stop has priority
else if (digitalRead(START) == LOW) next = true;
if (next == run) return; // print only on change
run = next;
digitalWrite(RELAY, run ? HIGH : LOW);
Serial.print("t = "); Serial.print(millis() / 1000.0, 1);
Serial.print(" s C1 "); Serial.print(run ? "ON" : "OFF");
Serial.println(tripped ? " O.L TRIP" : "");
}READY t = 2.0 s C1 ON t = 12.5 s C1 OFF t = 20.0 s C1 ON t = 95.3 s C1 OFF O.L TRIP t = 185.0 s C1 ON
في الثانية 95.3 فصل المرحّل الحراري؛ الضغط على S1 في الثانية 97 لم يغيّر شيئا، وبعد إعادة المرحّل الحراري عاد التشغيل ممكنا. انتبه: كثير من وحدات المرحّل تعمل بمستوى منخفض (إشارة LOW على IN تشغّلها)، ومعها يعمل البرنامج بالعكس؛ نفحص الوحدة قبل التوصيل.
נעילה הדדית בין מגענים – الإقفال المتبادل بين ملامسين (Interlocking)
لعكس اتجاه دوران محرّك ثلاثي الطور نبدّل طورين بواسطة ملامسين: C1 للدوران الأمامي و C2 للعكسي. لو انغلقا معا لحدث قِصَر بين طورين.
ما دام C1 يعمل تكون نقطته 21–22 مفتوحة، فلا يصل تيار إلى ملف C2 حتى لو ضغطنا S2. لعكس الاتجاه نضغط S0 ثم S2.
في المنشآت الحقيقية نضيف إقفالا ميكانيكيا بين الملامسين، وإقفالا في برنامج المتحكّم. الإقفال البرمجي وحده لا يكفي: البرنامج لا يرى نقطة تلامس ملتحمة، أما النقطة المساعدة فتمنع الملامس الثاني فعلا.
שסתומים חשמליים וברזים חשמליים – الصمّامات الكهرومغناطيسية والصمّامات الكهربائية (Solenoid and Motorized Valves)
- مغلق في الراحة (סגור במנוחה): بدون تيار مغلق. هو الأشيع، لأن انقطاع الكهرباء يوقف الماء.
- مفتوح في الراحة (פתוח במנוחה): لما يجب أن يستمر جريانه عند انقطاع الكهرباء، مثل ماء التبريد.
ملف الصمّام بجهد مستمر يأخذ تيارا ثابتا I = UR ، ونشغّله بترانزستور مع ديود الحماية كما في الفصل 10. في ملف بجهد متناوب: ما دام الغاطس بعيدا تكون محاثّة الملف صغيرة، فتكون قدرة الجذب (הספק משיכה) أكبر بكثير من قدرة الإمساك (הספק החזקה) بعد أن ينغلق الغاطس. إذا عَلِق الغاطس بقي التيار كبيرا واحترق الملف.
| الخاصية | الصمّام الكهرومغناطيسي | الصمّام الكهربائي الكروي |
|---|---|---|
| زمن الفتح والإغلاق | جزء من الثانية؛ الإغلاق السريع قد يسبّب طرقة ماء | عدّة ثوانٍ: زمن المشوار (זמן מהלך) في ورقة البيانات |
| عند انقطاع الكهرباء | يرجع إلى وضع الراحة بالنابض | يبقى في موضعه (في أغلب الأنواع) |
| الاستهلاك ومعرفة الموضع | الملف مُغذّى ما دام الصمّام مشغّلا؛ لا بيان للموضع | لا استهلاك بعد الحركة؛ مفتاحا نهاية المشوار |
المتحكّم يعطي أمر «افتح» وينتظر مفتاح نهاية المشوار «مفتوح». إذا لم تصل الإشارة خلال زمن المشوار مع هامش، فالصمّام عالق: نوقف الأمر ونعطي إنذارا. هذه فكرة المهلة نفسها التي نستخدمها في نهاية الفصل.
מעגל כוח ומעגל פיקוד: תרשים חד-קווי – دائرة القدرة ودائرة التحكّم: المخطّط أحادي الخط (Single-Line Diagram)
عنصر التسخين (גוף חימום) حمل مقاوم: تياره I = PU منذ اللحظة الأولى (الفئة AC-1). المضخّة (משאבה) يديرها محرّك حثّي: تيار البدء أكبر بعدّة مرّات من الاسمي (الفئة AC-3)، ونحميها بمرحّل حراري مضبوط على التيار الاسمي المكتوب على لوحة المحرّك. والمضخّة التي تعمل بدون ماء (ריצה יבשה) تسخن وتتلف، فنحميها من التشغيل الجاف.
יישום: מילוי מיכל במשאבה – تطبيق: ملء خزّان بمضخّة (Tank Filling)
مضخّة تملأ خزّانا، والماء يُستهلك من أسفله. في الخزّان مفتاحا عوّامة: LOW على ارتفاع hL و HIGH على ارتفاع hH؛ كل عوّامة تُغلق نقطتها عندما يصل الماء إليها («مبلولة»). تعمل المضخّة عندما تجفّ LOW، وتتوقّف عندما تبتلّ HIGH. نكتب المنطق كـآلة حالات (מכונת מצבים): في كل لحظة النظام في حالة واحدة، ونرسمها في مخطّط الحالات.
- WAIT: المضخّة متوقّفة؛ إذا جفّت LOW ننتقل إلى FILL.
- FILL: المضخّة تعمل؛ إذا ابتلّت HIGH نعود إلى WAIT. إذا بقيت LOW جافّة أكثر من المهلة DRY_MS فالماء لا يصل (المصدر فارغ أو الأنبوب مقطوع) والمضخّة تعمل جافّة: ننتقل إلى FAULT.
- FAULT: المضخّة متوقّفة والإنذار يعمل حتى زرّ الإعادة. ننتقل إليها أيضا إذا كانت HIGH مبلولة و LOW جافّة معا: هذا مستحيل فيزيائيا ومعناه عطل في عوّامة.
المهلة DRY_MS نختارها من القياس: نشغّل النظام من خزّان فارغ ونقيس كم من الوقت يمرّ حتى تبتلّ العوّامة LOW ، ثم نأخذ نحو ضعف هذا الزمن. في نموذجنا المهلة 300 s (5 min). مهلة قصيرة جدا تعطي إنذارا كاذبا عند البدء من خزّان فارغ، ومهلة طويلة جدا تترك المضخّة تعمل جافّة وقتا طويلا.
الدالة go() تنقل النظام إلى حالة جديدة: تحفظها، تسجّل زمن الدخول بـ millis() ، تحدّد المخرجين وتطبع السبب. المهلة بدون delay(): في كل دورة نحسب dt ، الزمن المنقضي في الحالة، ونقارنه بالمهلة.
const int LOW_SW = 2, HIGH_SW = 3; // floats: closed (LOW) when wet
const int RST_BTN = 4; // reset button to GND
const int PUMP = 7, ALARM = 8; // relay module (K1 -> C1), alarm LED
const unsigned long DRY_MS = 300000UL; // dry-run timeout
enum State { WAIT, FILL, FAULT };
State state;
unsigned long tStart;
void go(State s, const char *why) { // enter a new state
state = s; tStart = millis();
digitalWrite(PUMP, s == FILL); digitalWrite(ALARM, s == FAULT);
Serial.print("t = "); Serial.print(tStart / 1000);
Serial.print(" s "); Serial.println(why);
}
void setup() {
pinMode(LOW_SW, INPUT_PULLUP); pinMode(HIGH_SW, INPUT_PULLUP);
pinMode(RST_BTN, INPUT_PULLUP); pinMode(PUMP, OUTPUT); pinMode(ALARM, OUTPUT);
Serial.begin(9600);
go(WAIT, "START");
}
void loop() {
bool wetL = digitalRead(LOW_SW) == LOW, wetH = digitalRead(HIGH_SW) == LOW;
unsigned long dt = millis() - tStart; // time in this state
if (state != FAULT && wetH && !wetL) go(FAULT, "FLOAT ERROR");
switch (state) {
case WAIT: if (!wetL) go(FILL, "LOW -> PUMP ON"); break;
case FILL: if (wetH) go(WAIT, "HIGH -> PUMP OFF");
else if (!wetL && dt > DRY_MS) go(FAULT, "DRY RUN");
break;
case FAULT: if (digitalRead(RST_BTN) == LOW) go(WAIT, "RESET"); break;
}
}t = 0 s START t = 0 s LOW -> PUMP ON t = 733 s HIGH -> PUMP OFF t = 2733 s LOW -> PUMP ON t = 3033 s DRY RUN t = 3600 s RESET t = 3600 s LOW -> PUMP ON t = 4400 s HIGH -> PUMP OFF
حسبنا الشاشة من نموذج الخزّان في المثال (الماء يبدأ على 0.1 m). في الثانية 1800 جفّ المصدر، فعادت المضخّة إلى العمل بدون ماء وبعد 300 s انتقل النظام إلى FAULT؛ في الثانية 3600 عاد الماء وضغط المشغّل زرّ الإعادة.
ملخّص قوانين الفصل:
| القانون | الصيغة |
|---|---|
| تيار حمل مقاوم أو ملف | I = PU |
| نسبة تيار الملف إلى تيار الطرف | IIpin |
| حجم الماء بين العوّامتين | V = A·(hH − hL) |
قاموس المصطلحات – מילון מונחים:
| بالعربية | بالعبرية (كما تظهر في الامتحان) | English |
|---|---|---|
| الملامس (الكونتاكتور) · ملف الملامس | מגען · סליל המגען | Contactor / coil |
| نقاط التلامس الرئيسية · المساعدة | מגעים ראשיים · מגעי עזר | Main / auxiliary contacts |
| فئة الاستخدام | קטגוריית שימוש | Utilization category |
| دائرة الإمساك الذاتي (التثبيت الذاتي) | החזקה עצמית | Self-holding (latching) circuit |
| زرّ التشغيل · زرّ الإيقاف | לחצן הפעלה · לחצן הפסקה | Start / stop push-button |
| المرحّل الوسيط | ממסר ביניים | Interposing relay |
| الإقفال المتبادل | נעילה הדדית | Interlocking |
| الصمّام الكهرومغناطيسي | שסתום חשמלי (סולנואידי) | Solenoid valve |
| الصمّام الكهربائي (الكروي) | ברז חשמלי | Motorized (ball) valve |
| مغلق في الراحة · مفتوح في الراحة | סגור במנוחה · פתוח במנוחה | Normally closed (NC) / open (NO) |
| قدرة الجذب · قدرة الإمساك | הספק משיכה · הספק החזקה | Pull-in / holding power |
| المضخّة · عنصر التسخين | משאבה · גוף חימום | Pump / heating element |
| التشغيل الجاف | ריצה יבשה | Dry run |
| القاطع الآلي · المرحّل الحراري | מפסק אוטומטי · ממסר תרמי | Circuit breaker / thermal overload relay |
| دائرة القدرة · دائرة التحكّم | מעגל כוח · מעגל פיקוד | Power circuit / control circuit |
| المخطّط أحادي الخط | תרשים חד-קווי | Single-line diagram |
| آلة الحالات · مخطّط الحالات | מכונת מצבים · תרשים מצבים | State machine / state diagram |
أسئلة للتمرين:
أ. A1–A2
ب. 13–14
ج. 21–22
د. 95–96
أ. نحسب تياره.
ب. هل يكفي له مرحّل تيار نقطته 10 A؟
أ. نحسب تياره وقدرته.
ب. كم مرة تياره أكبر من 20 mA؟
أ. نحسب تيار الملف.
ب. هل يناسبه الديود 1N4007 (تيّاره الأمامي 1 A ، قيمة نموذجية حسب ورقة البيانات)؟
ج. كيف نوصله؟
أ. نختار مهلة تساوي 1.5 ضعف زمن المشوار.
ب. ماذا يفعل المتحكّم إذا لم تصل إشارة مفتاح نهاية المشوار خلال المهلة؟
أ. ماذا يقرأ المتحكّم؟
ب. ماذا يحدث للخزّان؟
ج. لماذا لا يكتشف فحص «عطل في عوّامة» هذا العطل؟
د. نقترح حلّا.
أ. كم ثانية استمر الملء الأول؟
ب. كم ثانية مرّت بين بدء المضخّة الثاني وبين DRY RUN؟