על ספק כוח מנותק הנוכחי באמצעות Arduino

נסה את הכלי שלנו לביטול בעיות





בפוסט זה אנו הולכים לבנות ספק כוח משתנה של סוללה / DC אשר ינתק את האספקה ​​באופן אוטומטי, אם הזרם הנוכחי דרך העומס יעלה על רמת הסף שנקבעה מראש.

מאת גיריש רדהקרישאן



מאפיינים טכניים עיקריים

המוצע מעל מעגל אספקת החשמל המנותק באמצעות Arduino כולל צג LCD בגודל 16 X 2, המשמש להראות מקרה המתח, הזרם, צריכת החשמל ומגבלת זרם הסף המוגדרת מראש בזמן אמת.

בהיותנו חובבי אלקטרוניקה, אנו בודקים את אבות הטיפוס שלנו על ספק כוח מתח משתנה. רובנו מחזיקים באספקת חשמל משתנה זולה אשר עשויה שלא לפעול בתכונת מדידת מתח / מדידת זרם ולא בקצר או בהגנת זרם מובנה.



הסיבה לכך היא אספקת חשמל עם תכונות אלה שהוזכרו יכולה להפציץ על הארנק שלך ויהיה מוגזם לשימוש תחביב.

זרם קצר וזרם זרם מהווה בעיה למתחילים למקצוענים ומתחילים נוטים לכך לעיתים קרובות יותר בגלל חוסר הניסיון שלהם, הם עשויים להפוך את קוטביות ספק הכוח או לחבר את הרכיבים בצורה לא נכונה וכו '.

דברים אלה יכולים לגרום לזרימת הזרם במעגל בצורה יוצאת דופן, וכתוצאה מכך לברוח תרמי ברכיבים מוליכים למחצה ופסיביים, מה שמביא להרס רכיבים אלקטרוניים בעלי ערך. במקרים אלה החוק של אוהם הופך לאויב.

אם מעולם לא עשית קצר חשמלי או מטוגן, אז מזל טוב! אתה אחד האנשים הבודדים המושלמים בתחום האלקטרוניקה או שאתה אף פעם לא מנסה משהו חדש באלקטרוניקה.

פרויקט אספקת החשמל המוצע יכול להגן על הרכיבים האלקטרוניים מפני הרס טיגון כזה, שיהיה זול מספיק עבור חובב אלקטרוניקה ממוצע וקל מספיק לבנות אחד עבור מי שנמצא מעט מעל הרמה למתחילים.

העיצוב

אספקת החשמל כוללת 3 פוטנציומטרים: אחד להתאמת ניגודיות תצוגת LCD, אחד להתאמת מתח המוצא שנע בין 1.2 וולט ל 15 וולט והפוטנציומטר האחרון משמש להגדרת הגבול הנוכחי שנע בין 0 ל -2000 מיליאמפר או 2 אמפר.

צג ה- LCD יעדכן אתכם בארבעה פרמטרים בכל שנייה: המתח, צריכת הזרם, מגבלת הזרם שהוגדרה מראש וצריכת החשמל על ידי העומס.

הצריכה הנוכחית באמצעות עומס תוצג במיליאמפים מגבלת הזרם שהוגדרה מראש תוצג במיליאמפר וצריכת החשמל תוצג במילי וואט.
המעגל מחולק לשלושה חלקים: אלקטרוניקת הכוח, חיבור תצוגת LCD ומעגל מדידת הספק.

שלב 3 זה עשוי לעזור לקוראים להבין טוב יותר את המעגל. עכשיו בואו נראה את החלק של אלקטרוניקה כוח השולט על מתח המוצא.

תרשים סכמטי:

על ספק כוח מנותק הנוכחי באמצעות Arduino

השנאי 12v-0-12v / 3A ישמש להפחתת המתח, דיודות 6A4 ימירו את המתח למתח DC וקבל 2000UF יחליק את אספקת ה- DC המסואבת מדיודות.

רגולטור 9V קבוע LM 7809 ימיר את זרם הזרם הלא מוסדר לאספקת 9V DC מוסדרת. אספקת 9V תניע את הארדואינו ותמסר. נסה להשתמש בשקע DC לאספקת הקלט של arduino.

אל תדלג על קבלים קרמיים 0.1uF המספקים יציבות טובה עבור מתח המוצא.

ה- LM 317 מספק מתח יציאה משתנה לעומס שאליו יש לחבר.

ניתן לכוונן את מתח המוצא על ידי סיבוב הפוטנציומטר של 4.7K אוהם.

בכך מסתיים קטע הכוח.

עכשיו בואו נראה את חיבור התצוגה:

פרטי חיבור

מעגל תצוגת ספק כוח מנותק הנוכחי באמצעות Arduino

אין מה להסביר כאן הרבה, רק חבר את תצוגת ה- Arduino ו- LCD בהתאם לתרשים המעגל. התאם את פוטנציומטר 10K לקבלת ניגודיות צפייה טובה יותר.

התצוגה שלעיל מציגה את קריאות הדוגמה לארבעת הפרמטרים שהוזכרו.

שלב מדידת כוח

עכשיו, בואו נראה את מעגל מדידת הכוח בפירוט.

מעגל מדידת הכוח כולל מד מתח ומד זרם. ה- Arduino יכול למדוד מתח וזרם בו זמנית על ידי חיבור רשת הנגדים בהתאם לתרשים המעגל.

רשת נגדים לאספקת חשמל מפסקת זרם יתר באמצעות ארדואינו

פרטי חיבור ממסר לעיצוב לעיל:

פרטי חיבור ממסר ארדואינו

ארבעת הנגדים של 10 אוהם במקביל אשר יוצרים נגדי שאנט 2.5 אוהם אשר ישמשו למדידת זרימת הזרם דרך העומס. הנגדים צריכים להיות לפחות 2 וואט כל אחד.

נגדי אוהם של 10k או 100k אוהם עוזרים לארדואינו למדוד מתח בעומס. נגדים אלה יכולים להיות בעלי דירוג הספק רגיל.

אם אתה רוצה לדעת יותר על העבודה של מד זרם ומד מתח מבוסס 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

פוטנציומטר אוהם 10K מסופק להתאמת רמת הזרם המרבית ביציאה. אם זרם הזרם דרך העומס עולה על הזרם שהוגדר מראש אספקת המוצא תנותק.
אתה יכול לראות את הרמה הקבועה מראש בתצוגה היא תוזכר כ- 'LT' (Limit).

אמור לדוגמא: אם תגדיר את המגבלה ל- 200, זה יפיק זרם עד 199mA. אם הצריכה הנוכחית תהיה שווה ל 200 מיליאמפר או יותר, הפלט ינותק מייד.

הפלט מופעל ומכבה על ידי סיכה ארדואינו מס '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 בארדואינו