استخدام حساس التيار Allegro ACS712 للتيار المستمر/المتردد مع كود أردوينو
في هذا الدرس سنتعلم كيفية استخدام حساس التيار Allegro ACS712 لقياس كل من التيار المتردد والمستمر باستخدام أردوينو. يخرج حساس ACS712 جهدًا متناسبًا مع التيار المار خلاله، مما يتيح لنا قراءة وعرض قيم التيار بسهولة على شاشة المراقبة التسلسلية للأردوينو. هذا المشروع مثالي لمن يرغبون في مراقبة التيار في تطبيقات مختلفة، مثل مزودات الطاقة أو أنظمة البطاريات.

سنقوم ببناء دائرة بسيطة تربط حساس ACS712 بالأردوينو، ثم نكتب برنامجًا لقراءة خرج الحساس. النتيجة المتوقعة هي عرض قراءات التيار في الوقت الحقيقي على نافذة المراقبة التسلسلية. للتوضيح حول التنفيذ، تأكد من مشاهدة الفيديو (في الفيديو عند 02:00).
شرح الأجهزة
مستشعر التيار Allegro ACS712 هو وحدة مدمجة تستطيع قياس تيارات تصل حتى 30A، اعتمادًا على الإصدار الذي تختاره. يحتوي على ثلاث دبابيس: VCC للطاقة، GND للأرضي، ودبوس إخراج يوفر الجهد المقابل للتيار المقاس. يستخدم المستشعر مبدأ تأثير هول، حيث يولد التيار المار عبر موصل مجالًا مغناطيسيًا. يتم اكتشاف هذا المجال وتحويله إلى جهد، ثم يُرسل إلى الأردوينو.
تتوفر الوحدة بتصنيفات تيار مختلفة (5A و20A و30A) وتخرج مستويات جهد قدرها 185 mV/A و100 mV/A و66 mV/A على التوالي. هذا يعني أنه مقابل كل أمبير من التيار المار عبر المستشعر ستحصل على خرج جهد مطابق يمكنك قراءته ومعالجته. تتيح هذه الميزة مرونة الاستخدام في تطبيقات متنوعة.
تفاصيل ورقة البيانات
| المصنّع | أليغرو مايكروسيستمز |
|---|---|
| رقم القطعة | ACS712ELCTR-30A-T |
| جهد المنطق/الإدخال والإخراج | 4.5-5.5 فولت |
| جهد التغذية | 5 فولت |
| تيار الخرج (لكل قناة) | 30 A كحد أقصى |
| إرشادات تردد PWM | غير قابل للتطبيق |
| عتبات منطقية للإدخال | غير متوفر |
| هبوط الجهد / RDS(عند التشغيل)/ التشبع | 1.2 مللي أوم |
| الحدود الحرارية | 150 °C كحد أقصى |
| حزمة | تو-220 |
| ملاحظات / متغيرات | متوفر بـ5A و20A و30A |
- تأكد من توصيل الأسلاك بشكل صحيح لتجنّب القصر الكهربائي.
- استخدم سلكًا بالمقاس المناسب لتصنيفات التيار (12 AWG لتيار 30A).
- راقب درجة حرارة الوحدة أثناء التشغيل.
- ضع في اعتبارك إضافة مشتت حراري للتطبيقات ذات التيار العالي.
- قم بمعايرة إخراج المستشعر وفقًا لتطبيقك الخاص.
تعليمات الأسلاك

لتوصيل حساس Allegro ACS712 بـ Arduino، ابدأ بتوصيل دبوس VCC في ACS712 إلى دبوس 5V على الـ Arduino. بعد ذلك، وصل دبوس GND في الحساس إلى أحد دبابيس GND على الـ Arduino. يجب توصيل دبوس الخرج في ACS712 إلى المدخل التناظري A0 على الـ Arduino.
لقياس التيار، قم بتوصيل الحمل على التوالي مع المستشعر. هذا يعني أن السلك الموجب من مصدر الطاقة يجب أن يدخل إلى أحد أطراف إدخال مستشعر التيار، بينما الطرف الآخر يتصل بالحمل. يجب أن يعود الجانب الآخر من الحمل إلى مصدر الطاقة لإكمال الدائرة. تأكد من استخدام مقطع سلك مناسب للتيار الذي تقيسه لتجنب ارتفاع درجة الحرارة.
أمثلة على الكود وشرح تفصيلي خطوة بخطوة
يقوم مقطع الشيفرة التالي بتهيئة الدبوس التناظري وإعداد المراقب التسلسلي:
#define VIN A0 // define the Arduino pin A0 as voltage input (V in)
const float VCC = 5.0; // supply voltage is from 4.5 to 5.5V. Normally 5V.
هنا، نعرّفVINكدبوس الدخل التماثلي الذي يتصل به خرج المستشعر. كما نضبط جهد التغذية.VCCإلى 5V.

في دالة الحلقة، نقرأ الجهد من حساس ACS712 ونحسب التيار:
float voltage_raw = (5.0 / 1023.0) * analogRead(VIN); // Read the voltage from sensor
float current = voltage / sensitivity[model]; // Calculate current based on sensitivity
هنا نقرأ الجهد الخام من المستشعر ونحوله إلى التيار الفعلي باستخدام مصفوفة الحساسية بناءً على طراز المستشعر المستخدم.
أخيرًا، نطبع القراءات الحالية في المراقب التسلسلي:
if (abs(current) > cutOffLimit) {
Serial.print("V: ");
Serial.print(voltage, 3); // print voltage with 3 decimal places
Serial.print("V, I: ");
Serial.print(current, 2); // print the current with 2 decimal places
Serial.println("A");
} else {
Serial.println("No Current");
}
يتحقق هذا القسم مما إذا كان التيار يتجاوز حد قطع محدد، ويطبع قراءات الجهد والتيار على شاشة المراقبة التسلسلية. إذا كان التيار أقل من هذا الحد، فإنه يعرض «لا تيار».
للحصول على الشيفرة الكاملة، يُرجى الرجوع إلى الشيفرة الموجودة أسفل المقالة.
العرض التوضيحي / ما الذي تتوقعه
عند تشغيل الكود وتغذية الدائرة، يجب أن ترى قراءات التيار معروضة على المراقب التسلسلي. عند تعديل الحمل، ينبغي أن تتغير القراءات وفقًا لذلك، شريطة أن يكون التيار أعلى من حد القطع. كن حذرًا من درجة حرارة المستشعر، خاصة عند التشغيل بالقرب من حدوده القصوى.
الموارد والمراجع
لا توجد موارد حتى الآن.
ملفات📁
ورقة البيانات (pdf)
-
مستشعر التيار Allegro ACS712 AC/DC 4A، 20A، 30A ورقة بيانات
robojax-allegro_ACS712_current_sensor.pdf0.65 MB
Fritzing File
-
مستشعر التيار Allegre ACS712
Allegreo ACS712 Current Sensor.fzpz0.03 MB