قياس التيار والجهد والقدرة
في الفصول السابقة قسنا مقادير غير كهربائية: حرارة، ضوء، مسافة. في هذا الفصل يقيس المتحكّم الكهرباء نفسها: جهد بطارية أعلى من 5 V ، وتيار مصباح أو محرّك. ومن الجهد والتيار نحسب القدرة. هذه القياسات هي أساس مراقبة شحن البطاريات وحماية المحرّكات من التحميل الزائد.
- نقيس جهدا مستمرا حتى 25 V بمُجزِّء جهد، ونحوّل القيمة الخام إلى جهد الطرف ثم إلى الجهد الحقيقي.
- نوصل حسّاس التيار ACS712 الذي يعمل بتأثير هول، ونفهم لماذا يكون مخرجه عند نصف جهد التغذية.
- نحوّل قراءة ACS712 إلى أمبير بالحساسية (بوحدة mV لكل أمبير)، ونقرأ نقطة الصفر عند بدء التشغيل.
- نتعرّف إلى طرق أخرى لقياس التيار ومتى نستعمل كلا منها، وإلى قواعد الأمان مع تيار الشبكة.
- نحسب قدرة حمل تيار مستمر من الجهد والتيار المقيسين.
מדידת מתח ישר גבוה מתחום הממיר – قياس جهد مستمر أعلى من مدى المحوّل (High DC Voltage)
المحوّل التماثلي-الرقمي في Uno يقبل جهدا من 0 حتى Vref = 5 V فقط. أما الجهود التي نريد مراقبتها فأعلى: بطارية 12 V ، لوح شمسي، مصدر تغذية مختبري. الحلّ هو مُجزِّء جهد (מחלק מתח) من مقاومتين: يخفض الجهد بنسبة ثابتة قبل الطرف، ونضرب القراءة في البرنامج بنفس النسبة.
البرنامج يمرّ بخطوتين: يحوّل القيمة الخام N إلى الجهد على الطرف، كما في كل مدخل تماثلي، ثم يضرب الجهد في معامل التقسيم فيحصل على الجهد قبل المُجزِّء:
| الرمز | المعنى | وحدة القياس |
|---|---|---|
| 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 الكبيرة تحدّ تياره. والمكثّف يخفّف التشويش فتثبت القراءة.
// 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);
}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. القراءة أقلّ قليلا من الجهد الحقيقي، لأن المحوّل يأخذ الجزء الصحيح فقط.
(أ) نحسب R1.
(ب) نوصل بطارية 12 V: ما الجهد على الطرف، وما القيمة الخام؟
(ج) كم فولتا عند المدخل تساوي وحدة واحدة من القيمة الخام؟
(أ) عند أعلى جهد يجب أن يصل إلى الطرف 5 V بالضبط، أي k = 255 = 5 :
(ب) المُجزِّء يقسم الجهد على k ، والمحوّل يأخذ الجزء الصحيح:
(ج) وحدة واحدة على الطرف تساوي VrefNmax ، وعند المدخل k أضعاف ذلك:
חיישן זרם ACS712 מבוסס אפקט הול – حسّاس التيار ACS712 بتأثير هول (Hall-Effect Current Sensor)
في الشريحة ACS712 يمرّ التيار المقيس في مسار نحاسي داخل الغلاف، بين الطرفين IP+ و IP−. التيار يولّد حول المسار مجالا مغناطيسيا، وعنصر هول قريب منه يحوّل المجال إلى جهد، ثم يضخّمه مضخّم داخلي إلى طرف المخرج OUT. بين المسار النحاسي ودائرة المخرج عزل جلفاني (בידוד גלווני): لا يوجد بينهما أيّ توصيل كهربائي، ولذلك لا تحتاج دائرة الحمل إلى أرضي مشترك مع المتحكّم. هذا حسّاس التيار (חיישן זרם) مخرجه تماثلي، ويقيس التيار في الاتجاهين.
| الطراز | مدى القياس | الحساسية S |
|---|---|---|
| ACS712-05B | ±5 A | 185 mV/A |
| ACS712-20A | ±20 A | 100 mV/A |
| ACS712-30A | ±30 A | 66 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.
| الرمز | المعنى | وحدة القياس |
|---|---|---|
| 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-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);
}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. القيمة الأخيرة سالبة لأننا عكسنا اتجاه التيار في الحمل.
من القيمة الخام إلى الجهد، ومن الجهد إلى التيار:
طرق أخرى لقياس التيار – שיטות אחרות למדידת זרם:
إلى جانب ACS712 توجد طريقتان شائعتان: مقاومة قياس التيار (נגד מדידה (שנט))، وهي مقاومة صغيرة جدا على التوالي مع الحمل، ومحوّل التيار ذو القلب المنفصل (שנאי זרם מתפצל)، الذي ينفتح كالمِلقط ويُطبَق حول موصل. لا ندرسهما بالتفصيل في هذا الكتاب؛ الجدول يلخّص متى نستعمل كل طريقة.
| الطريقة | التيار | العزل | متى نستعملها |
|---|---|---|---|
| حسّاس هول (ACS712) | مستمر ومتناوب | نعم | على التوالي مع الحمل؛ في هذا الكتاب لجهد منخفض فقط |
| مقاومة قياس صغيرة مع مضخّم، في وحدة جاهزة (مثل INA219) | مستمر | لا: أرضي مشترك | تيارات صغيرة بدقّة عالية؛ بعض الوحدات ترسل التيار رقميا |
| محوّل تيار ذو قلب منفصل (مثل SCT-013) | متناوب فقط | نعم | حول موصل معزول واحد؛ لأجهزة الشبكة، فقط عبر وحدة جاهزة ومعتمدة |
חישוב הספק לעומס זרם ישר – حساب القدرة لحمل تيار مستمر (DC Power)
عندما يقيس المتحكّم الجهد على الحمل (البند 9.1) والتيار فيه (البند 9.2)، يحسب القدرة (הספק) بعملية ضرب واحدة. هكذا يعرف مثلا كم قدرة يأخذ محرّك، ويلاحظ متى يعمل الحمل بقدرة أكبر من العادة.
| الرمز | المعنى | وحدة القياس |
|---|---|---|
| P | القدرة | [W] |
| V | الجهد على الحمل | [V] |
| I | التيار في الحمل | [A] |
ملخّص قوانين الفصل:
| القانون | الصيغة |
|---|---|
| من القيمة الخام إلى جهد الطرف | Vpin = N·VrefNmax |
| الجهد قبل المُجزِّء | Vin = k·Vpin , k = R1 + R2R2 |
| حسّاس ACS712 | I = 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 |
أسئلة للتمرين:
(أ) تيار محرّك 12 V يصل إلى 3 A.
(ب) تيار غلاية كهربائية تعمل من الشبكة.
(ج) تيار صغير بدقّة عالية، مع إرسال القراءة رقميا إلى المتحكّم.