الحسّاسات والمشغّلات للمتحكّمات · الفصل 9 — قياس التيار والجهد والقدرةמדידת זרם, מתח והספק · 33.102⌂📚🏠
الفصل 9

قياس التيار والجهد والقدرة

מדידת זרם, מתח והספק
الصفّان الحادي عشر والثاني عشر · 4 ساعات تعليمية

في الفصول السابقة قسنا مقادير غير كهربائية: حرارة، ضوء، مسافة. في هذا الفصل يقيس المتحكّم الكهرباء نفسها: جهد بطارية أعلى من 5 V ، وتيار مصباح أو محرّك. ومن الجهد والتيار نحسب القدرة. هذه القياسات هي أساس مراقبة شحن البطاريات وحماية المحرّكات من التحميل الزائد.

في نهاية هذا الفصل سنعرف أن:
  • نقيس جهدا مستمرا حتى 25 V بمُجزِّء جهد، ونحوّل القيمة الخام إلى جهد الطرف ثم إلى الجهد الحقيقي.
  • نوصل حسّاس التيار ACS712 الذي يعمل بتأثير هول، ونفهم لماذا يكون مخرجه عند نصف جهد التغذية.
  • نحوّل قراءة ACS712 إلى أمبير بالحساسية (بوحدة mV لكل أمبير)، ونقرأ نقطة الصفر عند بدء التشغيل.
  • نتعرّف إلى طرق أخرى لقياس التيار ومتى نستعمل كلا منها، وإلى قواعد الأمان مع تيار الشبكة.
  • نحسب قدرة حمل تيار مستمر من الجهد والتيار المقيسين.
تحذير أمان: جهد الشبكة 230 V قاتل. لا نوصل الشبكة أبدا بالمتحكّم، ولا بمُجزِّء جهد، ولا بلوح التجارب. في هذا الفصل نقيس التيار والجهد المستمرين في دوائر جهد منخفض فقط (حتى 25 V). تيار جهاز يعمل من الشبكة نقيسه فقط بمحوّل تيار يُطبَق من الخارج حول موصل واحد معزول، أو بوحدة قياس معزولة ومعتمدة، وتحت إشراف المعلّم. لا يعطي هذا الكتاب أي تعليمات لفتح كابل أو لوحة كهربائية أو للعمل على أسلاك الشبكة.

מדידת מתח ישר גבוה מתחום הממיר – قياس جهد مستمر أعلى من مدى المحوّل (High DC Voltage)

المحوّل التماثلي-الرقمي في Uno يقبل جهدا من 0 حتى Vref = 5 V فقط. أما الجهود التي نريد مراقبتها فأعلى: بطارية 12 V ، لوح شمسي، مصدر تغذية مختبري. الحلّ هو مُجزِّء جهد (מחלק מתח) من مقاومتين: يخفض الجهد بنسبة ثابتة قبل الطرف، ونضرب القراءة في البرنامج بنفس النسبة.

معامل التقسيم (מקדם החלוקה): هو النسبة بين الجهد الذي نقيسه والجهد الذي يصل إلى طرف المتحكّم: k = R1 + R2R2. نختاره بحيث يصبح أعلى جهد نقيسه مساويا لجهد المرجع.

البرنامج يمرّ بخطوتين: يحوّل القيمة الخام N إلى الجهد على الطرف، كما في كل مدخل تماثلي، ثم يضرب الجهد في معامل التقسيم فيحصل على الجهد قبل المُجزِّء:

من القيمة الخام إلى الجهد المقيس · מחלק מתח
Vpin = N·VrefNmax
Vin = k·Vpin
الرمزالمعنىوحدة القياس
Nالقيمة الخام (Vref = 5 V ، Nmax = 1023 في Uno)—
Vpinالجهد على الطرف (على R2)[V]
Vinالجهد الذي نقيسه، قبل المُجزِّء[V]
kمعامل التقسيم—

نستعمل قيم وحدة «حسّاس الجهد» الشائعة للمدى 0–25 V: R1 = 30 kΩ و R2 = 7.5 kΩ ، ونتحقّق منها في المثال بعد البرنامج. في الرسم أضفنا للحماية ديود زينر (דיודת זנר) ومكثّفا. إذا وُصل خطأً جهد أعلى من 25 V ، يمنع الزينر جهد الطرف من الارتفاع كثيرا فوق 5 V ، و R1 الكبيرة تحدّ تياره. والمكثّف يخفّف التشويش فتثبت القراءة.

+−Vin0–25 VR130 kΩR27.5 kΩDZ5.1 V100 nFArduino UnoA0GNDVout
قياس جهد حتى 25 V: المُجزِّء R1 ، R2 إلى الطرف A0، مع ديود زينر 5.1 V ومكثّف 100 nF للحماية. سالب المصدر موصول بأرضي المتحكّم
تحذير: المُجزِّء لا يعزل: سالب الجهد المقيس موصول بأرضي المتحكّم. لذلك يصلح فقط لجهد مستمر منخفض له نقطة مشتركة مع المتحكّم. لا نقيس به أبدا جهد الشبكة ولا أيّ جهد متناوب منها، مهما كبّرنا المقاومات.
مقياس جهد مستمر حتى 25 V: متوسّط 16 قراءة ثم الضرب في معامل التقسيم Arduino Uno · divider_voltmeter.ino
// DC voltmeter 0-25 V: divider 30k / 7.5k into A0
const int   PIN_V = A0;
const float R1    = 30000.0;
const float R2    = 7500.0;
const float VREF  = 5.0;

void setup() {
  Serial.begin(9600);
}

void loop() {
  long sum = 0;
  for (int i = 0; i < 16; i++) sum += analogRead(PIN_V);
  float n    = sum / 16.0;                 // averaged raw value
  float vPin = n * VREF / 1023.0;          // voltage on A0
  float vIn  = vPin * (R1 + R2) / R2;      // voltage before the divider
  Serial.print("N = ");        Serial.print(n, 1);
  Serial.print("  Vpin = ");   Serial.print(vPin, 3);
  Serial.print(" V  Vin = ");  Serial.print(vIn, 2);
  Serial.println(" V");
  delay(1000);
}
Serial Monitor · قراءة نموذجية
N = 204.0  Vpin = 0.997 V  Vin = 4.99 V
N = 491.0  Vpin = 2.400 V  Vin = 12.00 V
N = 757.0  Vpin = 3.700 V  Vin = 18.50 V
N = 982.0  Vpin = 4.800 V  Vin = 24.00 V

رفعنا جهد مصدر مختبري تدريجيا إلى 5 V ، 12 V ، 18.5 V ، 24 V. القراءة أقلّ قليلا من الجهد الحقيقي، لأن المحوّل يأخذ الجزء الصحيح فقط.

مثال 9.1
نصمّم مُجزِّء جهد لقياس جهد مستمر من 0 حتى 25 V بالطرف A0 في Uno. نختار R2 = 7.5 kΩ.
(أ) نحسب R1.
(ب) نوصل بطارية 12 V: ما الجهد على الطرف، وما القيمة الخام؟
(ج) كم فولتا عند المدخل تساوي وحدة واحدة من القيمة الخام؟
الحل:

(أ) عند أعلى جهد يجب أن يصل إلى الطرف 5 V بالضبط، أي k = 255 = 5 :

R1 = (k − 1)·R2 = 4 · 7.5 = 30 kΩ

(ب) المُجزِّء يقسم الجهد على k ، والمحوّل يأخذ الجزء الصحيح:

Vpin = 125 = 2.4 V
N = 2.4 · 10235 → 491

(ج) وحدة واحدة على الطرف تساوي VrefNmax ، وعند المدخل k أضعاف ذلك:

ΔVin = k·VrefNmax = 5 · 51023 = 24.4 mV
R1 = 30 kΩ , N = 491 , ΔVin = 24.4 mV
خطأ شائع: في Uno أكبر قيمة للنوع int هي 32767 ، ولذلك يفيض مجموع المقاومتين 37500 إذا كتبناهما كأعداد صحيحة. نكتب ثوابت المقاومات بالنوع float كما في البرنامج.
سؤال 9.1: بالمُجزِّء 30 kΩ / 7.5 kΩ قرأ المتحكّم القيمة الخام N = 800. ما هو الجهد عند المدخل؟

חיישן זרם ACS712 מבוסס אפקט הול – حسّاس التيار ACS712 بتأثير هول (Hall-Effect Current Sensor)

ACS712 IP
تأثير هول (אפקט הול): عندما يمرّ تيار في شريحة شبه موصلة موضوعة في مجال مغناطيسي، ينشأ عليها جهد صغير عمودي على اتجاه التيار، يتناسب مع شدّة المجال (يسمى أيضا «مفعول هول»).

في الشريحة ACS712 يمرّ التيار المقيس في مسار نحاسي داخل الغلاف، بين الطرفين IP+ و IP−. التيار يولّد حول المسار مجالا مغناطيسيا، وعنصر هول قريب منه يحوّل المجال إلى جهد، ثم يضخّمه مضخّم داخلي إلى طرف المخرج OUT. بين المسار النحاسي ودائرة المخرج عزل جلفاني (בידוד גלווני): لا يوجد بينهما أيّ توصيل كهربائي، ولذلك لا تحتاج دائرة الحمل إلى أرضي مشترك مع المتحكّم. هذا حسّاس التيار (חיישן זרם) مخرجه تماثلي، ويقيس التيار في الاتجاهين.

Arduino Uno5VA0GNDACS712-05BVCCOUTGNDIP+IP−+−12 VالحملI
توصيل ACS712: التغذية والمخرج إلى المتحكّم؛ دائرة الحمل (12 V ومصباح) تمرّ عبر IP+ و IP− وهي معزولة عن المتحكّم
−5−2.52.5I [A]V_out [V]1.5752.53.425
دالّة النقل للطراز 5 A
الطرازمدى القياسالحساسية S
ACS712-05B±5 A185 mV/A
ACS712-20A±20 A100 mV/A
ACS712-30A±30 A66 mV/A

التغذية 5 V ، والمخرج عند تيار صفر يساوي نصف التغذية VCC2 = 2.5 V. الحساسية هي مقدار تغيّر المخرج لكل أمبير: في الطراز 5 A يرتفع المخرج 185 mV مع كل أمبير. الحساسية وجهد الصفر قيم نموذجية حسب ورقة البيانات. التيار في الاتجاه الموجب (من IP+ إلى IP−) يرفع المخرج فوق 2.5 V ، والتيار المعاكس يخفضه تحتها. في الطراز 5 A يتحرّك المخرج بين 1.575 V و 3.425 V.

تحويل مخرج ACS712 إلى تيار · המרת מוצא ACS712 לזרם
I = Vout − V0S
الرمزالمعنىوحدة القياس
Voutجهد المخرج، من القيمة الخام كما في البند 9.1[V]
V0جهد الصفر: المخرج عند تيار صفر، نحو 2.5 V[V]
Sالحساسية: 0.185 V/A في الطراز 5 A[V/A]
Iالتيار المقيس (موجب أو سالب)[A]

في Uno تساوي وحدة واحدة من القيمة الخام نحو 4.9 mV ، وهي في الطراز 5 A نحو 26 mA. لذلك يأخذ البرنامج متوسّط عدّة قراءات. وجهد الصفر ليس 2.5 V بالضبط، بل يختلف قليلا من وحدة إلى أخرى. الحلّ البسيط: يقرأ البرنامج المخرج عند بدء التشغيل، والحمل مفصول، ويحفظه كجهد الصفر V0.

تحذير: لوحة ACS712 الرخيصة وبراغيها المكشوفة غير مصمَّمة لجهد الشبكة، حتى لو كانت الشريحة نفسها معزولة. نستعملها في هذا الكتاب فقط في دوائر جهد منخفض. وفي ESP32 (طرف لا يتحمّل أكثر من 3.3 V) نضع مُجزِّء جهد على المخرج، لأنه يرتفع فوق 3.3 V عند التيار الكبير.
قياس تيار مستمر بالحسّاس ACS712: قراءة الصفر عند بدء التشغيل، ثم التحويل إلى أمبير Arduino Uno · acs712_dc.ino
// ACS712-05B: zero read at start-up, current in amps
const int   PIN_I = A0;
const float SENS  = 0.185;          // V per A (typical, 5 A part)
const float VPC   = 5.0 / 1023.0;   // volts per count

float zeroV = 0;                    // output at zero current

float readVolts() {
  long s = 0;
  for (int i = 0; i < 64; i++) s += analogRead(PIN_I);
  return s / 64.0 * VPC;
}

void setup() {
  Serial.begin(9600);
  zeroV = readVolts();              // load must be OFF here
  Serial.print("zero = "); Serial.print(zeroV, 3); Serial.println(" V");
}

void loop() {
  float v = readVolts();
  float amps = (v - zeroV) / SENS;
  Serial.print("Vout = "); Serial.print(v, 3);
  Serial.print(" V  I = "); Serial.print(amps, 2); Serial.println(" A");
  delay(500);
}
Serial Monitor · قراءة نموذجية
zero = 2.468 V
Vout = 2.468 V  I = 0.00 A
Vout = 2.688 V  I = 1.19 A
Vout = 2.913 V  I = 2.40 A
Vout = 2.243 V  I = -1.22 A

جهد الصفر لهذه الوحدة 2.47 V (وليس 2.5 V)، والتيار في الحمل أخذ القيم 0 A ، 1.2 A ، 2.4 A ، −1.2 A. القيمة الأخيرة سالبة لأننا عكسنا اتجاه التيار في الحمل.

مثال 9.2
في الطراز 5 A قرأ Uno القيمة الخام N = 604 ، وجهد الصفر V0 = 2.5 V. نحسب جهد المخرج ثم التيار.
الحل:

من القيمة الخام إلى الجهد، ومن الجهد إلى التيار:

Vout = 604 · 51023 = 2.952 V
I = Vout − V0S = 2.952 − 2.50.185 = 2.44 A
I = 2.44 A
سؤال 9.2: في الطراز 20 A (S = 100 mV/A) جهد الصفر 2.50 V والمخرج 3.10 V. ما التيار؟
على اللوحات الثلاث: Uno: مباشرة. ESP32: نغذّي الحسّاس من 5 V ، ومخرجه قد يصل إلى نحو 5 V ، فنصله عبر مُجزِّء جهد؛ ونقطة الصفر تصبح عندها نحو 1.65 V. الراسبيري باي: مُجزِّء جهد ثم قناة في MCP3008.
▶تجربة حية — حسّاس التيار ACS712دليل الحسّاس: المواصفات، التوصيل، برنامج لـ Uno و ESP32، والفخّ الشائع في نقطة الصفر.
⚠
المختبر غير متاح الآن. المادة في هذا الفصل كاملة من دونه — نواصل القراءة، ونعود إلى التجربة لاحقا أو نفتحها مباشرة من الرابط الذي تحت الإطار.
https://fahed-lab.com/micro/sensors_guide#acs712
نفتح المختبر في صفحة مستقلة ↗ fahed-lab.com/micro/sensors_guide#acs712

طرق أخرى لقياس التيار – שיטות אחרות למדידת זרם:

إلى جانب ACS712 توجد طريقتان شائعتان: مقاومة قياس التيار (נגד מדידה (שנט))، وهي مقاومة صغيرة جدا على التوالي مع الحمل، ومحوّل التيار ذو القلب المنفصل (שנאי זרם מתפצל)، الذي ينفتح كالمِلقط ويُطبَق حول موصل. لا ندرسهما بالتفصيل في هذا الكتاب؛ الجدول يلخّص متى نستعمل كل طريقة.

الطريقةالتيارالعزلمتى نستعملها
حسّاس هول (ACS712)مستمر ومتناوبنعمعلى التوالي مع الحمل؛ في هذا الكتاب لجهد منخفض فقط
مقاومة قياس صغيرة مع مضخّم، في وحدة جاهزة (مثل INA219)مستمرلا: أرضي مشتركتيارات صغيرة بدقّة عالية؛ بعض الوحدات ترسل التيار رقميا
محوّل تيار ذو قلب منفصل (مثل SCT-013)متناوب فقطنعمحول موصل معزول واحد؛ لأجهزة الشبكة، فقط عبر وحدة جاهزة ومعتمدة
تحذير أمان: محوّل التيار هو الطريقة الوحيدة في هذا الكتاب للاقتراب من تيار جهاز يعمل من الشبكة: دائما عبر وحدة قياس جاهزة ومعتمدة، حول موصل معزول واحد، وتحت إشراف المعلّم. لا نفتح كابلا ولا لوحة كهربائية، ولا نلمس أيّ جزء مكشوف.

חישוב הספק לעומס זרם ישר – حساب القدرة لحمل تيار مستمر (DC Power)

عندما يقيس المتحكّم الجهد على الحمل (البند 9.1) والتيار فيه (البند 9.2)، يحسب القدرة (הספק) بعملية ضرب واحدة. هكذا يعرف مثلا كم قدرة يأخذ محرّك، ويلاحظ متى يعمل الحمل بقدرة أكبر من العادة.

القدرة في حمل تيار مستمر · הספק
P = V·I
الرمزالمعنىوحدة القياس
Pالقدرة[W]
Vالجهد على الحمل[V]
Iالتيار في الحمل[A]
مثال 9.3
نجمع البندين: المُجزِّء على الحمل إلى A0، ومخرج ACS712 إلى A1. قرأ البرنامج V = 12.2 V و I = 1.5 A. نحسب القدرة.
الحل:
P = V·I = 12.2 · 1.5 = 18.3 W
P = 18.3 W
ملاحظة: المُجزِّء يتطلّب أرضيا مشتركا: نصل أرضي المتحكّم بسالب البطارية. أما ACS712 فمعزول، ولا يغيّر ذلك.
سؤال 9.3: مصباح سيارة: قرأ المتحكّم على المصباح 12.6 V ، وقرأ ACS712 تيارا 4.2 A. ما قدرة المصباح؟

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

القانونالصيغة
من القيمة الخام إلى جهد الطرفVpin = N·VrefNmax
الجهد قبل المُجزِّءVin = k·Vpin , k = R1 + R2R2
حسّاس ACS712I = Vout − V0S
القدرة في حمل تيار مستمرP = V·I

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

بالعربيةبالعبرية (كما تظهر في الامتحان)English
مُجزِّء الجهدמחלק מתחVoltage divider
معامل التقسيمמקדם החלוקהDivision ratio
ديود زينرדיודת זנרZener diode
حسّاس التيارחיישן זרםCurrent sensor
تأثير هول (مفعول هول)אפקט הולHall effect
العزل الجلفانيבידוד גלווניGalvanic isolation
مقاومة قياس التيار (الشنت)נגד מדידה (שנט)Shunt resistor
محوّل التيار ذو القلب المنفصلשנאי זרם מתפצלSplit-core current transformer
القدرةהספקPower

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

1.
بالمُجزِّء 30 kΩ / 7.5 kΩ نقيس بطارية جهدها 9.0 V. ما الجهد على الطرف A0، وما القيمة الخام التي يقرؤها Uno؟
الإجابات: Vpin = 1.8 V ، N = 368
2.
نصمّم مُجزِّء جهد لقياس جهد لوح شمسي حتى 30 V بطرف مداه 5 V ، مع R2 = 10 kΩ. نحسب معامل التقسيم و R1 ، وكم فولتا عند المدخل تساوي وحدة واحدة من القيمة الخام.
الإجابات: k = 6 ، R1 = 50 kΩ ، ΔVin ≈ 29.3 mV
3.
بالمُجزِّء 30 kΩ / 7.5 kΩ قرأ Uno القيمة الخام 512. نحسب الجهد على الطرف والجهد عند المدخل.
الإجابات: Vpin = 2.502 V ، Vin = 12.51 V
4.
طالب يقترح قياس جهد الشبكة بمُجزِّء من مقاومات كبيرة جدا. لماذا هذا ممنوع، وكيف يُقاس استهلاك جهاز يعمل من الشبكة؟
الإجابات: المُجزِّء لا يعزل: أرضي المتحكّم يصبح موصولا بالشبكة، وهذا قاتل. نستعمل فقط وحدة قياس معزولة ومعتمدة، مثل محوّل تيار في وحدة جاهزة، تحت إشراف المعلّم
5.
في الطراز ACS712-05B كان جهد الصفر المقيس 2.49 V ، وقرأ المتحكّم 2.13 V. ما التيار، وما معنى إشارته؟
الإجابات: I = −1.95 A ؛ الإشارة السالبة تعني أن التيار يمرّ من IP− إلى IP+
6.
في الطراز ACS712-30A (66 mV/A) وجهد صفر 2.5 V: ما المخرج عند تيار 4 A؟ لماذا نفضّل الطراز 5 A لتيار حتى 4 A؟
الإجابات: Vout = 2.764 V ؛ الطراز 5 A يتغيّر مخرجه 185 mV لكل أمبير، أي نحو ثلاثة أضعاف، فتكون القراءة أدقّ
7.
في الطراز ACS712-05B قرأ Uno القيمة الخام 620 ، وجهد الصفر 2.5 V. نحسب جهد المخرج والتيار.
الإجابات: Vout = 3.03 V ، I = 2.87 A
8.
ما أعلى جهد يصل إليه مخرج الطراز ACS712-05B عند تيار +5 A؟ ماذا نضيف إذا وصلناه بـ ESP32، ولماذا؟
الإجابات: 3.425 V ؛ أعلى من 3.3 V ، فنضع مُجزِّء جهد على المخرج كي لا نتلف طرف ESP32
9.
نختار طريقة القياس من الجدول:
(أ) تيار محرّك 12 V يصل إلى 3 A.
(ب) تيار غلاية كهربائية تعمل من الشبكة.
(ج) تيار صغير بدقّة عالية، مع إرسال القراءة رقميا إلى المتحكّم.
الإجابات: (أ) حسّاس هول ACS712-05B (ب) محوّل تيار ذو قلب منفصل في وحدة جاهزة ومعتمدة، تحت إشراف المعلّم (ج) وحدة مقاومة قياس مع مضخّم، مثل INA219
10.
حمل تيار مستمر: قرأ المتحكّم 11.8 V و 2.6 A. نحسب القدرة.
الإجابات: P = 30.68 W
11.
في دائرة المثال في البند 9.3 كان الجهد على الطرف A0 2.4 V ، ومخرج ACS712-05B على A1 2.685 V (جهد الصفر 2.5 V). نحسب جهد الحمل، التيار والقدرة.
الإجابات: V = 12 V ، I = 1 A ، P = 12 W
الإجابات النهائية لأسئلة الفصل
9.1 Vpin = 3.91 V ، Vin = 19.55 V
9.2 I = 6 A
9.3 P = 52.9 W
لوحة القوانين: كل قوانين هذا الفصل مجموعة مع رسومها وجداول رموزها في الفصل 15 — لوحة القوانين الشاملة. (נוסחאון הספר)