Over strømafbrydelse ved hjælp af Arduino

Over strømafbrydelse ved hjælp af Arduino

I dette indlæg skal vi konstruere en batteri-eliminator / DC-variabel strømforsyning, der automatisk afbryder forsyningen, hvis strømmen gennem belastningen overstiger det forudindstillede tærskelniveau.



Af Girish Radhakrishanan

Vigtigste tekniske funktioner

Det foreslåede overstrømsafbryderforsyningskredsløb ved hjælp af Arduino har 16 X 2 LCD-skærm, som bruges til at vise tilfælde spænding, strøm, strømforbrug og forudindstillet tærskelstrømgrænse i realtid.





Som en elektronikentusiast tester vi vores prototyper på en strømforsyning med variabel spænding. De fleste af os ejer en billig variabel strømforsyning, som muligvis ikke har hverken spændingsmåling / strømmålefunktion eller kortslutning eller indbygget overstrømsbeskyttelse.

Det skyldes, at strømforsyning med disse nævnte funktioner kan bombe på din tegnebog og vil blive overdrevet til hobbybrug.



Kortslutning og overstrøm er et problem for begyndere til professionelle, og begyndere er oftere tilbøjelige til dette på grund af deres uerfarenhed, de kan muligvis vende strømforsyningens polaritet eller forbinde komponenterne på den forkerte måde osv.

Disse ting kan medføre, at strømmen strømmer gennem kredsløbet usædvanligt højt, hvilket resulterer i termisk løb i halvleder og passive komponenter, hvilket resulterer i ødelæggelse af værdifulde elektroniske komponenter. I disse tilfælde bliver ohms lov til en fjende.

Hvis du aldrig lavede en kortslutning eller stegte kredsløb, så tillykke! Du er en af ​​få mennesker, der er perfekte inden for elektronik, eller du prøver aldrig noget nyt inden for elektronik.

Det foreslåede strømforsyningsprojekt kan beskytte de elektroniske komponenter mod en sådan stegning, hvilket vil være billigt nok til en gennemsnitlig elektronikhobbyist og let nok til at konstruere en, der ligger lidt over begynderniveauet.

Designet

Strømforsyningen har 3 potentiometre: en til justering af LCD-skærmens kontrast, en til justering af udgangsspændingen fra 1,2 V til 15 V, og det sidste potentiometer bruges til at indstille strømgrænsen fra 0 til 2000 mA eller 2 Ampere.

LCD-skærmen opdaterer dig med fire parametre hvert sekund: spænding, strømforbrug, forudindstillet strømgrænse og strømforbrug af belastningen.

Det aktuelle forbrug via belastning vises i milliampere, den forudindstillede strømgrænse vises i milliampere, og strømforbruget vises i milliwatt.
Kredsløbet er opdelt i 3 dele: strømelektronikken, LCD-skærmforbindelsen og effektmålekredsløbet.

Disse 3 trin kan hjælpe læserne med at forstå kredsløbet bedre. Lad os nu se strømelektronikafsnittet, der styrer udgangsspændingen.

Skematisk diagram:

Over strømafbrydelse ved hjælp af Arduino

12v-0-12v / 3A transformatoren vil blive brugt til at trække spændingen ned, 6A4-dioderne konverterer vekselstrømmen til jævnstrømsspænding, og 2000uF kondensatoren udjævner den urolige jævnstrømforsyning fra dioder.

LM 7809 fast 9V regulator konverterer den uregulerede DC til reguleret 9V DC forsyning. 9V-forsyningen vil drive Arduino og relæ. Prøv at bruge et DC-stik til arduinos inputforsyning.

Spring ikke de 0,1 uF keramiske kondensatorer over, som giver god stabilitet for udgangsspænding.

LM 317 giver variabel udgangsspænding til den belastning, der skal tilsluttes.

Du kan justere udgangsspændingen ved at dreje på 4.7K ohm potentiometeret.

Det afslutter strømafsnittet.

Lad os nu se skærmforbindelsen:

Forbindelsesdetaljer

Over nuværende afskærmet strømforsyning Display Circuit ved hjælp af Arduino

Der er ikke noget at forklare her meget, bare kabler Arduino og LCD-skærmen i henhold til kredsløbsdiagrammet. Juster 10K potentiometeret for bedre visningskontrast.

Ovenstående skærm viser prøveaflæsningerne for de fire nævnte parametre.

Effektmålingstrin

Lad os nu se effektmålingskredsløbet i detaljer.

Effektmålekredsløbet består af voltmeter og amperemeter. Arduino kan måle spænding og strøm samtidigt ved at forbinde modstandsnetværket ifølge kredsløbsdiagrammet.

modstandsnetværk til overstrømsafbrydelse ved hjælp af Arduino

Relæforbindelsesdetaljer for ovenstående design:

Arduino relæforbindelsesdetaljer

De fire 10 ohm modstande parallelt, som danner 2,5 ohm shuntmodstand, som vil blive brugt til at måle strømmen gennem belastningen. Modstandene skal være mindst 2 watt hver.

Modstanderne på 10k ohm og 100k ohm hjælper Arduino med at måle spændingen ved belastningen. Disse modstande kan være en med normal effekt.

Hvis du vil vide mere om arbejdet med Arduino-baseret amperemeter og voltmeter, skal du tjekke disse to links:

Voltmeter: https://homemade-circuits.com/2016/09/how-to-make-dc-voltmeter-using-arduino.html

Ammeter: https://homemade-circuits.com/2017/08/arduino-dc-digital-ammeter.html

10K ohm-potentiometeret er beregnet til justering af det maksimale strømniveau ved udgangen. Hvis strømmen gennem belastningen overstiger den forudindstillede strøm, afbrydes udgangsforsyningen.
Du kan se det forudindstillede niveau i displayet, det vil blive nævnt som “LT” (Limit).

Sig for eksempel: hvis du indstiller grænsen til 200, giver den strøm indtil 199mA. Hvis strømforbruget bliver lig med 200 mA eller derover, afbrydes udgangen med det samme.

Outputtet tændes og slukkes af Arduino-pin nr. 7. Når denne stift er høj, aktiverer transistoren relæet, der forbinder de fælles og normalt åbne stifter, som leder den positive forsyning til belastningen.

Dioden IN4007 absorberer højspændings-EMF fra relæspolen, mens relæet tændes og slukkes.

Programkode:

//------------------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------------------//

Nu ville du have fået nok viden til at konstruere en strømforsyning, der beskytter dig værdifulde elektroniske komponenter og moduler.

Hvis du har specifikke spørgsmål angående dette over nuværende strømforsyningskredsløb ved hjælp af Arduino, er du velkommen til at stille i kommentarsektionen, kan du modtage et hurtigt svar.




Forrige: Lav dette avancerede digitale amperemeter ved hjælp af Arduino Næste: Introduktion til EEPROM i Arduino