Alimentazione di interruzione corrente eccessiva utilizzando Arduino

Prova Il Nostro Strumento Per Eliminare I Problemi





In questo post costruiremo un eliminatore di batteria / alimentatore variabile CC che interromperà automaticamente l'alimentazione, se il flusso di corrente attraverso il carico supera il livello di soglia preimpostato.

Di Girish Radhakrishanan



Principali caratteristiche tecniche

Il circuito di alimentazione di interruzione di corrente proposto che utilizza Arduino ha un display LCD 16 X 2, che viene utilizzato per mostrare la tensione, la corrente, il consumo energetico e il limite di corrente di soglia preimpostato in tempo reale.

Essendo un appassionato di elettronica, testiamo i nostri prototipi su un alimentatore a tensione variabile. La maggior parte di noi possiede un alimentatore variabile economico che potrebbe non avere né la funzione di misurazione della tensione / misurazione della corrente né la protezione da cortocircuito o sovracorrente integrata.



Questo perché l'alimentatore con queste caratteristiche menzionate può bombardare il tuo portafoglio e sarà sovraccarico per uso hobby.

Il cortocircuito e il flusso eccessivo di corrente sono un problema per i principianti ai professionisti e i principianti sono inclini a questo più spesso a causa della loro inesperienza, potrebbero invertire la polarità dell'alimentatore o collegare i componenti in modo sbagliato, ecc.

Queste cose possono causare il flusso di corrente attraverso il circuito insolitamente alto, con conseguente instabilità termica nei componenti semiconduttori e passivi che si traduce nella distruzione di preziosi componenti elettronici. In questi casi la legge di Ohm si trasforma in un nemico.

Se non hai mai fatto un cortocircuito o un circuito fritto, allora congratulazioni! Sei una delle poche persone che sono perfette nell'elettronica o non provi mai qualcosa di nuovo nell'elettronica.

Il progetto di alimentazione proposto può proteggere i componenti elettronici da tale distruzione di frittura, che sarà abbastanza economico per un appassionato di elettronica medio e abbastanza facile da costruirne uno per chi è leggermente al di sopra del livello principiante.

Il design

L'alimentatore dispone di 3 potenziometri: uno per la regolazione del contrasto del display LCD, uno per la regolazione della tensione di uscita che va da 1.2 V a 15V e l'ultimo potenziometro serve per impostare il limite di corrente che va da 0 a 2000 mA o 2 Ampere.

Il display LCD ti aggiornerà con quattro parametri ogni secondo: la tensione, il consumo di corrente, il limite di corrente preimpostato e il consumo di energia dal carico.

Il consumo di corrente tramite carico verrà visualizzato in milliampere, il limite di corrente preimpostato verrà visualizzato in milliampere e il consumo energetico verrà visualizzato in milli-watt.
Il circuito è diviso in 3 parti: l'elettronica di potenza, la connessione del display LCD e il circuito di misurazione della potenza.

Questi 3 stadi possono aiutare i lettori a capire meglio il circuito. Ora vediamo la sezione dell'elettronica di potenza che controlla la tensione di uscita.

Diagramma schematico:

Alimentazione di interruzione corrente eccessiva utilizzando Arduino

Il trasformatore 12v-0-12v / 3A verrà utilizzato per abbassare la tensione, i diodi 6A4 convertiranno la tensione CA in CC e il condensatore 2000uF attenuerà l'alimentazione CC instabile dai diodi.

Il regolatore a 9V fisso LM 7809 convertirà l'alimentazione CC non regolata in alimentazione CC 9V regolata. L'alimentazione a 9 V alimenterà Arduino e il relè. Prova a utilizzare un jack CC per l'alimentazione di ingresso di Arduino.

Non saltare quei condensatori ceramici da 0,1uF che forniscono una buona stabilità per la tensione di uscita.

L'LM 317 fornisce una tensione di uscita variabile per il carico che deve essere collegato.

È possibile regolare la tensione di uscita ruotando il potenziometro da 4.7K ohm.

Questo conclude la sezione di potenza.

Ora vediamo la connessione del display:

Dettagli di connessione

Circuito di visualizzazione dell

Non c'è niente da spiegare qui, basta collegare l'Arduino e il display LCD come da schema elettrico. Regola il potenziometro 10K per un migliore contrasto visivo.

Il display sopra mostra le letture del campione per i quattro parametri menzionati.

Fase di misurazione della potenza

Vediamo ora in dettaglio il circuito di misurazione della potenza.

Il circuito di misurazione della potenza è composto da voltmetro e amperometro. L'Arduino può misurare tensione e corrente simultaneamente collegando la rete di resistori come da schema elettrico.

rete di resistori per alimentazione di interruzione di corrente eccessiva utilizzando Arduino

Dettagli di connessione del relè per il progetto di cui sopra:

Dettagli sulla connessione del relè Arduino

I quattro resistori da 10 ohm in parallelo che formano un resistore di shunt da 2,5 ohm che verrà utilizzato per misurare il flusso di corrente attraverso il carico. Le resistenze dovrebbero essere di almeno 2 watt ciascuna.

Le resistenze da 10k ohm e 100k ohm aiutano Arduino a misurare la tensione al carico. Questi resistori possono essere uno con una potenza nominale normale.

Se vuoi saperne di più sul funzionamento dell'amperometro e del voltmetro basati su Arduino, dai un'occhiata a questi due link:

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

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

Il potenziometro da 10K ohm è previsto per la regolazione del livello di corrente massimo in uscita. Se il flusso di corrente attraverso il carico supera la corrente preimpostata, l'alimentazione di uscita verrà scollegata.
È possibile vedere il livello preimpostato nel display, verrà indicato come 'LT' (Limit).

Diciamo ad esempio: se imposti il ​​limite a 200, emetterà corrente fino a 199mA. Se il consumo di corrente diventa pari o superiore a 200 mA l'uscita verrà immediatamente interrotta.

L'uscita viene attivata e disattivata dal pin n.7 di Arduino. Quando questo pin è alto il transistor eccita il relè che collega i pin comuni e normalmente aperti, che conduce l'alimentazione positiva per il carico.

Il diodo IN4007 assorbe l'alta tensione di ritorno EMF dalla bobina del relè mentre accende e spegne il relè.

Codice programma:

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

A questo punto, avreste acquisito conoscenze sufficienti per costruire un alimentatore che proteggesse componenti e moduli elettronici di valore.

Se hai qualche domanda specifica riguardo a questo circuito di alimentazione di interruzione di corrente utilizzando Arduino, sentiti libero di chiedere nella sezione commenti, potresti ricevere una risposta rapida.




Precedente: Crea questo amperometro digitale avanzato usando Arduino Avanti: Introduzione alla EEPROM in Arduino