Nadproudový odpojovací zdroj napájení pomocí Arduina

Nadproudový odpojovací zdroj napájení pomocí Arduina

V tomto příspěvku budeme konstruovat eliminátor baterie / stejnosměrný variabilní napájecí zdroj, který automaticky přeruší napájení, pokud proud protékající zátěží překročí přednastavenou prahovou úroveň.

Autor: Girish Radhakrishanan



Hlavní technické vlastnosti

Navrhovaný nadproudový napájecí obvod využívající Arduino má 16 X 2 LCD displej, který slouží k zobrazení případu napětí, proudu, spotřeby energie a přednastaveného limitu prahového proudu v reálném čase.



Jako nadšenci do elektroniky testujeme naše prototypy na napájecím zdroji s proměnným napětím. Většina z nás vlastní levný variabilní napájecí zdroj, který nemusí fungovat ani s funkcí měření napětí / proudu, ani s ochranou proti zkratu nebo nadproudu.

Je to proto, že napájecí zdroj s těmito zmíněnými funkcemi může bombardovat vaši peněženku a pro hobby použití bude přehnaný.



Zkrat a nadproudový tok je problém pro začátečníky až po profesionály a začátečníci jsou náchylní k tomu častěji kvůli své nezkušenosti, mohou obrátit polaritu napájecího zdroje nebo špatně zapojit komponenty atd.

Tyto věci mohou způsobit neobvykle vysoký tok proudu obvodem, což vede k tepelnému úniku v polovodičových a pasivních součástech, což má za následek zničení cenných elektronických součástek. V těchto případech se ohmův zákon změní v nepřítele.

Pokud jste nikdy neprovedli zkrat nebo smažení, pak gratulujeme! Jste jedním z mála lidí, kteří jsou dokonalí v elektronice, nebo nikdy nezkusíte něco nového v elektronice.



Navrhovaný projekt napájení může chránit elektronické součástky před takovým zničením smažením, které bude pro průměrného fanouška elektroniky dost levné a dostatečně snadné na to, aby bylo možné postavit ho pro mírně nad začátečníky.

Design

Napájecí zdroj má 3 potenciometry: jeden pro nastavení kontrastu LCD displeje, jeden pro nastavení výstupního napětí v rozsahu od 1,2 V do 15 V a poslední potenciometr se používá pro nastavení proudového limitu od 0 do 2 000 mA nebo 2 A.

LCD displej vás každou sekundu aktualizuje o čtyři parametry: napětí, spotřebu proudu, přednastavený limit proudu a spotřebu energie zátěží.

Aktuální spotřeba přes zátěž se zobrazí v miliampérech, přednastavený proudový limit se zobrazí v miliampérech a spotřeba energie se zobrazí v miliampátech.
Obvod je rozdělen do 3 částí: výkonová elektronika, připojení LCD displeje a obvod pro měření výkonu.

Tato 3 fáze může pomoci čtenářům lépe porozumět obvodu. Nyní se podívejme na sekci výkonové elektroniky, která řídí výstupní napětí.

Schematický diagram:

Nadproudový odpojovací zdroj napájení pomocí Arduina

Transformátor 12v-0-12v / 3A bude použit pro snižování napětí, diody 6A4 převádějí střídavé napětí na stejnosměrné a kondenzátor 2000uF vyhladí trhané stejnosměrné napájení z diod.

Stabilní 9V regulátor LM 7809 převede neregulované stejnosměrné napětí na regulované 9V stejnosměrné napájení. Napájení 9 V bude napájet Arduino a relé. Zkuste použít DC jack pro vstupní napájení Arduina.

Nevynechávejte keramické kondenzátory 0,1 uF, které poskytují dobrou stabilitu výstupního napětí.

LM 317 poskytuje proměnné výstupní napětí pro zátěž, která má být připojena.

Otáčením potenciometru 4,7 kOhm můžete upravit výstupní napětí.

Tím končí energetická sekce.

Nyní se podívejme na připojení displeje:

Podrobnosti o připojení

Obvod displeje nadproudového napájecího zdroje pomocí Arduina

Není zde nic, co by vysvětlovalo, jednoduše zapojte Arduino a LCD displej podle schématu zapojení. Upravte potenciometr 10K pro lepší kontrast při sledování.

Výše uvedený displej zobrazuje ukázkové hodnoty pro čtyři zmíněné parametry.

Fáze měření výkonu

Nyní se podívejme podrobně na obvod měření výkonu.

Obvod pro měření výkonu se skládá z voltmetru a ampérmetru. Arduino může měřit napětí a proud současně připojením sítě odporů podle schématu zapojení.

odporová síť pro nadproudové odpojení napájení pomocí Arduina

Podrobnosti o připojení relé pro výše uvedený design:

Podrobnosti o připojení relé Arduino

Čtyři 10 ohmové rezistory paralelně, které tvoří 2,5 ohmový bočníkový rezistor, který bude použit pro měření toku proudu zátěží. Rezistory by měly mít každý nejméně 2 watty.

Rezistory 10k ohm a 100k ohm pomáhají Arduinu měřit napětí při zátěži. Tyto rezistory mohou být rezistory s normálním výkonem.

Pokud se chcete dozvědět více o práci ampérmetru a voltmetru založeného na Arduinu, podívejte se na tyto dva odkazy:

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

Ampérmetr: https://homemade-circuits.com/2017/08/arduino-dc-digital-ammeter.html

Potenciometr 10 kOhm slouží k nastavení maximální úrovně proudu na výstupu. Pokud proud protékající zátěží překročí přednastavený proud, dojde k odpojení výstupního napájení.
Na displeji vidíte přednastavenou úroveň, která bude uvedena jako „LT“ (Limit).

Řekněme například: pokud nastavíte limit na 200, vydá proud až do 199 mA. Pokud se aktuální spotřeba rovná 200 mA nebo vyšší, výstup bude okamžitě odpojen.

Výstup se zapíná a vypíná pinem Arduino č. 7. Když je tento pin vysoký, tranzistor napájí relé, které spojuje společné a normálně otevřené piny, což vede kladné napájení zátěže.

Dioda IN4007 absorbuje vysokonapěťové zpětné elektromagnetické pole z cívky relé při zapínání a vypínání relé.

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

Nyní byste získali dostatek znalostí pro konstrukci napájecího zdroje, který by vás chránil cennými elektronickými součástmi a moduly.

Pokud máte ohledně tohoto přesný odpojovací napájecí obvod využívající Arduino jakoukoli konkrétní otázku, neváhejte se zeptat v sekci komentářů, můžete obdržet rychlou odpověď.




Předchozí: Vyrobte tento pokročilý digitální ampérmetr pomocí Arduina Další: Úvod do EEPROM v Arduinu