Túláramú áramellátás az Arduino használatával

Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére





Ebben a bejegyzésben egy akkumulátor-leválasztó / egyenáramú váltakozó áramú tápegységet fogunk építeni, amely automatikusan megszakítja a tápellátást, ha a terhelésen átáramló áram meghaladja az előre beállított küszöbszintet.

Írta: Girish Radhakrishanan



Főbb műszaki jellemzők

Az Arduino használatával javasolt túláram-áramellátási áramkör 16 X 2 LCD-kijelzővel rendelkezik, amelyet a feszültség, az áram, az energiafogyasztás és az előre beállított küszöbáram határértékének valós időben történő bemutatására használnak.

Elektronikai rajongóként változó feszültségű tápegységen teszteljük prototípusainkat. A legtöbben olcsó változó áramú tápegységgel rendelkeznek, amely valószínűleg nem rendelkezik sem feszültségmérő / árammérő funkcióval, sem rövidzárlattal vagy beépített túláramvédelemmel.



Ennek az az oka, hogy az említett funkciókkal ellátott tápellátás bombázhat a pénztárcáján, és hobbi használatra túlképzett lesz.

A rövidzárlat és a túláram problémát jelent a kezdők számára a szakemberek számára, és a kezdők gyakrabban hajlamosak erre, tapasztalatlanságuk miatt, megfordíthatják a tápegység polaritását, vagy rosszul köthetik össze az alkatrészeket stb.

Ezek a dolgok szokatlanul magas áramáramot okozhatnak az áramkörön, ami termikus elszabadulást eredményezhet a félvezető és passzív alkatrészekben, ami értékes elektronikus alkatrészek megsemmisülését eredményezi. Ezekben az esetekben az ohmi törvény ellenséggé válik.

Ha soha nem készített rövidzárlatot vagy sült áramkört, akkor gratulálunk! Azon kevesek közé tartozol, akik tökéletesek az elektronikában, vagy soha nem próbálsz ki valami újat az elektronikában.

A javasolt áramellátási projekt megvédheti az elektronikai alkatrészeket az ilyen sütési rombolásoktól, amelyek elég olcsóak lesznek egy átlagos elektronikai hobbi számára, és elég könnyen elkészíthetők olyannak, aki kissé meghaladja a kezdő szintet.

A dizájn

A tápegység 3 potenciométerrel rendelkezik: az egyik az LCD kijelző kontrasztjának beállításához, egy az 1,2 V és 15 V közötti kimeneti feszültség beállításához, az utolsó potenciométer pedig a 0 és 2000 mA vagy 2 Amper közötti áramerősség beállítására szolgál.

Az LCD kijelző másodpercenként négy paraméterrel frissíti: a feszültség, az áramfogyasztás, az előre beállított áramkorlát és a terhelés által fogyasztott energia.

A terhelésen keresztüli áramfogyasztás milliamperben jelenik meg, az előre beállított áramkorlát milliamperben jelenik meg, az energiafogyasztás pedig milli-wattban jelenik meg.
Az áramkör 3 részre oszlik: a teljesítményelektronikára, az LCD kijelző csatlakozására és az árammérő áramkörre.

Ez a 3 szakasz segíthet az olvasóknak az áramkör jobb megértésében. Most nézzük meg a teljesítményelektronika részt, amely szabályozza a kimeneti feszültséget.

Sematikus ábrája:

Túláramú áramellátás az Arduino használatával

A 12v-0-12v / 3A transzformátort a feszültség csökkentésére használják, a 6A4 diódák átalakítják az AC-t egyenfeszültséggé, a 2000uF kondenzátor pedig kisimítja a diódák szaggatott egyenáramát.

Az LM 7809 fix 9V-os szabályozó a szabályozatlan egyenáramot szabályozott 9V-os egyenárammá alakítja. A 9 V-os tápegység táplálja az Arduino-t és a relét. Próbáljon DC aljzatot használni az arduino bemenetéhez.

Ne hagyja ki azokat a 0,1 uF kerámia kondenzátorokat, amelyek jó stabilitást biztosítanak a kimeneti feszültség szempontjából.

Az LM 317 változó kimeneti feszültséget biztosít a csatlakoztatandó terheléshez.

A kimeneti feszültséget a 4,7K ohmos potenciométer forgatásával állíthatja be.

Ezzel lezárul a hatalmi szakasz.

Most nézzük meg a kijelző kapcsolatát:

Kapcsolat részletei

Túláramú áramellátási áramellátás kijelző áramköre Arduino használatával

Itt nincs mit megmagyarázni, csak csatlakoztassa az Arduino és az LCD kijelzőt a kapcsolási rajz szerint. A jobb kontraszt érdekében állítsa be a 10K potenciométert.

A fenti kijelző az említett négy paraméter mintaszámát mutatja.

Teljesítménymérő szakasz

Most nézzük meg részletesen a teljesítménymérő áramkört.

A teljesítménymérő áramkör feszültségmérőből és ampermérőből áll. Az Arduino egyidejűleg képes mérni a feszültséget és az áramot az ellenállások hálózatának a kapcsolási rajz szerinti csatlakoztatásával.

ellenállási hálózat az áramellátás áramkimaradásához az Arduino használatával

Relé csatlakozás részletei a fenti kivitelhez:

Arduino relé csatlakozás részletei

A négy 10 ohmos ellenállás párhuzamosan, amely 2,5 ohmos shunt ellenállást képez, amelyet felhasználnak a terhelésen átáramló áram mérésére. Az ellenállásoknak legalább 2 wattnak kell lenniük.

A 10k ohm és 100k ohm ellenállások segítik az Arduino-t a terhelés feszültségének mérésében. Ezek az ellenállások lehetnek normál teljesítményűek.

Ha többet szeretne megtudni az Arduino alapú ampermérő és a voltmérő működéséről, nézze meg ezt a két linket:

Voltmérő: https://homemade-circuits.com/2016/09/how-to-make-dc-voltmeter-using-arduino.html

Ampermérő: https://homemade-circuits.com/2017/08/arduino-dc-digital-ammeter.html

A 10K ohmos potenciométer a kimenet maximális áramszintjének beállítására szolgál. Ha a terhelésen átáramló áram meghaladja az előre beállított áramot, akkor a kimeneti tápellátás megszakad.
A kijelzőn megjelenik az előre beállított szint, amelyet „LT” (Limit) néven emlegetnek.

Mondjuk például: ha 200-ra állítja a határt, akkor az 199mA-ig ad áramot. Ha az áramfogyasztás 200 mA-re vagy annál nagyobbra válik, a kimenet azonnal leáll.

A kimenetet az Arduino # 7-es tűje ki- és bekapcsolja. Ha ez a tüske magas, a tranzisztor bekapcsolja a relét, amely összeköti a közös és a normálisan nyitott csapokat, amely a terhelés pozitív tápellátását vezeti.

Az IN4007 dióda elnyeli a nagyfeszültségű hátsó EMF-et a relétekercsről, miközben a relét BE és KI kapcsolja.

Program kód:

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

Mostanra elegendő tudást szerzett volna egy olyan tápegység megépítéséhez, amely megvédi az értékes elektronikus alkatrészeket és modulokat.

Ha bármilyen konkrét kérdése van ezzel az áramellátási áramellátási áramkörrel kapcsolatban az Arduino segítségével, nyugodtan tegye fel a megjegyzés részben, akkor gyors választ kaphat.




Előző: Készítse el ezt a fejlett digitális ampermérőt az Arduino használatával Következő: Bevezetés az EEPROM-ba Arduinóban