أكثر من قطع التيار الكهربائي الحالي باستخدام Arduino

جرب أداة القضاء على المشاكل





في هذا المنشور ، سنقوم ببناء مزيل للبطارية / مصدر طاقة متغير للتيار المستمر والذي سيؤدي تلقائيًا إلى قطع الإمداد ، إذا تجاوز التدفق الحالي عبر الحمل مستوى الحد المعين مسبقًا.

بقلم جيريش راداكريشانان



الميزات التقنية الرئيسية

تحتوي دائرة إمداد الطاقة الحالية المقطوعة باستخدام Arduino على شاشة عرض 16 X 2 LCD ، والتي تُستخدم لإظهار حالة الجهد والتيار واستهلاك الطاقة والحد الحالي المحدد مسبقًا في الوقت الفعلي.

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



وذلك لأن مصدر الطاقة بهذه الميزات المذكورة يمكن أن يقصف محفظتك وسيتم الإفراط في استخدامه لممارسة الهوايات.

يعد قصر التيار والتدفق الزائد مشكلة بالنسبة للمبتدئين والمحترفين والمبتدئين عرضة لذلك في كثير من الأحيان بسبب قلة خبرتهم ، فقد يعكسون قطبية مصدر الطاقة أو يربطون المكونات بطريقة خاطئة ، إلخ.

يمكن أن تتسبب هذه الأشياء في ارتفاع تدفق التيار عبر الدائرة بشكل غير عادي ، مما يؤدي إلى هروب حراري في أشباه الموصلات والمكونات السلبية مما يؤدي إلى تدمير المكونات الإلكترونية القيمة. في هذه الحالات يتحول قانون أوم إلى عدو.

إذا لم تقم أبدًا بعمل دائرة كهربائية قصيرة أو دائرة كهربائية ، فتهانينا! أنت واحد من قلة من الأشخاص المثاليين في مجال الإلكترونيات أو أنك لا تجرب شيئًا جديدًا في مجال الإلكترونيات.

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

التصميم

يحتوي مصدر الطاقة على 3 مقاييس جهد: واحد لضبط تباين شاشة LCD ، وواحد لضبط جهد الخرج من 1.2 فولت إلى 15 فولت ويستخدم آخر مقياس جهد لتعيين الحد الحالي الذي يتراوح من 0 إلى 2000 مللي أمبير أو 2 أمبير.

ستقوم شاشة LCD بتحديثك بأربع معلمات كل ثانية: الجهد ، والاستهلاك الحالي ، والحد الحالي المحدد مسبقًا واستهلاك الطاقة بواسطة الحمل.

سيتم عرض الاستهلاك الحالي عبر الحمل بالمللي أمبير ، وسيتم عرض الحد الحالي المحدد مسبقًا بالمللي أمبير وسيتم عرض استهلاك الطاقة بالملي واط.
الدائرة مقسمة إلى 3 أجزاء: إلكترونيات الطاقة ، ووصلة شاشة LCD ودائرة قياس الطاقة.

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

رسم تخطيطى:

أكثر من قطع التيار الكهربائي الحالي باستخدام Arduino

سيتم استخدام المحول 12v-0-12v / 3A لتنحي الجهد ، وستقوم الثنائيات 6A4 بتحويل التيار المتردد إلى جهد تيار مستمر وسيعمل مكثف 2000 فائق التوهج على تهدئة إمداد التيار المستمر المتقطع من الثنائيات.

سيعمل منظم LM 7809 الثابت 9V على تحويل DC غير المنظم إلى مصدر 9V DC منظم. سوف يعمل مصدر 9V على تشغيل Arduino و Relay. حاول استخدام مقبس DC لتزويد مدخلات اردوينو.

لا تتخطى مكثفات السيراميك 0.1 فائق التوهج التي توفر ثباتًا جيدًا لجهد الخرج.

يوفر LM 317 جهد خرج متغير للحمل الذي سيتم توصيله.

يمكنك ضبط الجهد الناتج عن طريق تدوير مقياس الجهد 4.7 كيلو أوم.

هذا يختتم قسم الطاقة.

الآن دعونا نرى اتصال الشاشة:

تفاصيل الاتصال

أكثر من دائرة عرض التيار الكهربائي بقطع التيار باستخدام Arduino

لا يوجد شيء يمكن شرحه هنا كثيرًا ، ما عليك سوى توصيل شاشة Arduino و LCD وفقًا لمخطط الدائرة. اضبط مقياس الجهد 10K للحصول على تباين مشاهدة أفضل.

يوضح العرض أعلاه قراءات عينة للمعلمات الأربعة المذكورة.

مرحلة قياس القوة

الآن ، دعونا نرى دائرة قياس الطاقة بالتفصيل.

تتكون دائرة قياس القدرة من الفولتميتر والتيار الكهربائي. يمكن لـ Arduino قياس الجهد والتيار في وقت واحد عن طريق توصيل شبكة المقاومات وفقًا لمخطط الدائرة.

شبكة مقاومات لأكثر من التيار الكهربائي القاطع باستخدام Arduino

تفاصيل اتصال الترحيل للتصميم أعلاه:

تفاصيل اتصال Arduino Relay

المقاومات الأربعة 10 أوم بالتوازي والتي تشكل 2.5 أوم مقاومة تحويلية والتي سيتم استخدامها لقياس تدفق التيار خلال الحمل. يجب أن تكون المقاومات على الأقل 2 وات لكل منهما.

تساعد المقاومات 10 كيلو أوم و 100 كيلو أوم اردوينو على قياس الجهد عند الحمل. يمكن أن يكون هذا المقاوم واحدًا مع تصنيف القوة الكهربائية العادي.

إذا كنت تريد معرفة المزيد عن عمل مقياس التيار الكهربائي والفولتميتر المستند إلى Arduino ، فراجع هذين الرابطين:

الفولتميتر: https://homemade-circuits.com/2016/09/how-to-make-dc-voltmeter-using-arduino.html

مقياس التيار الكهربائي: https://homemade-circuits.com/2017/08/arduino-dc-digital-ammeter.html

يتم توفير مقياس الجهد 10 كيلو أوم لضبط الحد الأقصى لمستوى التيار عند الإخراج. إذا تجاوز التدفق الحالي خلال الحمل التيار المحدد مسبقًا ، فسيتم فصل إمداد الإخراج.
يمكنك رؤية مستوى الضبط المسبق في الشاشة التي سيشار إليها باسم 'LT' (الحد).

قل على سبيل المثال: إذا قمت بتعيين الحد على 200 ، فسوف يعطي التيار حتى 199 مللي أمبير. إذا كان الاستهلاك الحالي يساوي 200 مللي أمبير أو أعلى ، فسيتم قطع الإنتاج على الفور.

يتم تشغيل الإخراج وإيقاف تشغيله بواسطة Arduino pin # 7. عندما يكون هذا الدبوس مرتفعًا ، يقوم الترانزستور بتنشيط التتابع الذي يربط المسامير المشتركة والمفتوحة عادةً ، والتي توصل الإمداد الإيجابي للحمل.

يمتص الصمام الثنائي IN4007 الجهد العالي للخلف EMF من ملف الترحيل أثناء تشغيل المرحل وإيقافه.

كود البرنامج:

//------------------Program Developed by R.GIRISH------------------//
#include
#define input_1 A0
#define input_2 A1
#define input_3 A2
#define pot A3
LiquidCrystal lcd(12, 11, 5, 4, 3, 2)
int Pout = 7
int AnalogValue = 0
int potValue = 0
int PeakVoltage = 0
int value = 0
int power = 0
float AverageVoltage = 0
float input_A0 = 0
float input_A1 = 0
float output = 0
float Resolution = 0.00488
float vout = 0.0
float vin = 0.0
float R1 = 100000
float R2 = 10000
unsigned long sample = 0
int threshold = 0
void setup()
{
lcd.begin(16,2)
Serial.begin(9600)
pinMode(input_3, INPUT)
pinMode(Pout, OUTPUT)
pinMode(pot, INPUT)
digitalWrite(Pout, HIGH)
}
void loop()
{
PeakVoltage = 0
value = analogRead(input_3)
vout = (value * 5.0) / 1024
vin = vout / (R2/(R1+R2))
if (vin <0.10)
{
vin = 0.0
}
for(sample = 0 sample <5000 sample ++)
{
AnalogValue = analogRead(input_1)
if(PeakVoltage {
PeakVoltage = AnalogValue
}
else
{
delayMicroseconds(10)
}
}
input_A0 = PeakVoltage * Resolution
PeakVoltage = 0
for(sample = 0 sample <5000 sample ++)
{
AnalogValue = analogRead(input_2)
if(PeakVoltage {
PeakVoltage = AnalogValue
}
else
{
delayMicroseconds(10)
}
}
potValue = analogRead(pot)
threshold = map(potValue, 0, 1023, 0, 2000)
input_A1 = PeakVoltage * Resolution
output = (input_A0 - input_A1) * 100
output = output * 4
power = output * vin
while(output >= threshold || analogRead(input_1) >= 1010)
{
digitalWrite(Pout, LOW)
while(true)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Power Supply is')
lcd.setCursor(0,1)
lcd.print('Disconnected.')
delay(1500)
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Press Reset the')
lcd.setCursor(0,1)
lcd.print('Button.')
delay(1500)
}
}
while(output >= threshold || analogRead(input_2) >= 1010)
{
digitalWrite(Pout, LOW)
while(true)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Power Supply is')
lcd.setCursor(0,1)
lcd.print('Disconnected.')
delay(1500)
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Press Reset the')
lcd.setCursor(0,1)
lcd.print('Button.')
delay(1500)
}
}
lcd.clear()
lcd.setCursor(0,0)
lcd.print('V=')
lcd.print(vin)
lcd.setCursor(9,0)
lcd.print('LT=')
lcd.print(threshold)
lcd.setCursor(0,1)
lcd.print('I=')
lcd.print(output)
lcd.setCursor(9,1)
lcd.print('P=')
lcd.print(power)
Serial.print('Volatge Level at A0 = ')
Serial.println(analogRead(input_1))
Serial.print('Volatge Level at A1 = ')
Serial.println(analogRead(input_2))
Serial.print('Voltage Level at A2 = ')
Serial.println(analogRead(input_3))
Serial.println('------------------------------')
}

//------------------Program Developed by R.GIRISH------------------//

الآن ، كنت قد اكتسبت ما يكفي من المعرفة لبناء مصدر طاقة يحمي المكونات والوحدات الإلكترونية القيمة.

إذا كان لديك أي سؤال محدد بخصوص هذا عبر دائرة إمداد الطاقة الحالية المقطوعة باستخدام Arduino ، فلا تتردد في طرحه في قسم التعليقات ، فقد تتلقى ردًا سريعًا.




السابق: اجعل مقياس التيار الرقمي المتقدم هذا باستخدام Arduino التالي: مقدمة إلى EEPROM في Arduino