Sobre a fonte de alimentação de corte de corrente usando Arduino

Experimente Nosso Instrumento Para Eliminar Problemas





Nesta postagem, vamos construir um eliminador de bateria / fonte de alimentação variável DC que cortará automaticamente a alimentação, se o fluxo de corrente através da carga exceder o nível de limite predefinido.

Por Girish Radhakrishanan



Principais Características Técnicas

O circuito de fornecimento de energia de corte de sobrecorrente proposto usando Arduino tem um display LCD de 16 X 2, que é usado para mostrar a tensão, corrente, consumo de energia e limite de corrente pré-definido em tempo real.

Sendo um entusiasta da eletrônica, testamos nossos protótipos em uma fonte de alimentação de tensão variável. A maioria de nós possui uma fonte de alimentação variável barata que pode não ter nenhum recurso de medição de tensão / corrente nem proteção contra curto-circuito ou sobrecorrente integrada.



Isso ocorre porque a fonte de alimentação com esses recursos mencionados pode ser uma bomba em sua carteira e será exagerada para o uso de hobby.

Curto-circuito e fluxo de corrente excessiva são um problema para iniciantes até profissionais e iniciantes estão mais propensos a isso por causa de sua inexperiência, eles podem inverter a polaridade da fonte de alimentação ou conectar os componentes de maneira errada, etc.

Essas coisas podem fazer com que o fluxo de corrente através do circuito seja excepcionalmente alto, resultando em fuga térmica em componentes semicondutores e passivos, o que resulta na destruição de componentes eletrônicos valiosos. Nestes casos, a lei de ohm se torna um inimigo.

Se você nunca fez um curto ou circuito frito, parabéns! Você é uma das poucas pessoas perfeitas em eletrônica ou nunca experimentou algo novo em eletrônica.

O projeto de fonte de alimentação proposto pode proteger os componentes eletrônicos de tal destruição por fritura, o que será barato o suficiente para um amador comum em eletrônica e fácil de construir para quem está um pouco acima do nível de iniciante.

O design

A fonte de alimentação possui 3 potenciômetros: um para ajustar o contraste do display LCD, um para ajustar a tensão de saída de 1,2 V a 15V e o último potenciômetro é usado para definir o limite de corrente de 0 a 2000 mA ou 2 Ampères.

O display LCD irá atualizá-lo com quatro parâmetros a cada segundo: a tensão, consumo de corrente, limite de corrente predefinido e consumo de energia pela carga.

O consumo de corrente via carga será exibido em miliamperes, o limite de corrente predefinido será exibido em miliamperes e o consumo de energia será exibido em miliamperes.
O circuito é dividido em 3 partes: a eletrônica de potência, a conexão do display LCD e o circuito de medição de potência.

Esses 3 estágios podem ajudar os leitores a entender melhor o circuito. Agora vamos ver a seção de eletrônicos de potência que controla a tensão de saída.

Diagrama esquemático:

Sobre a fonte de alimentação de corte de corrente usando Arduino

O transformador 12v-0-12v / 3A será utilizado para reduzir a tensão, os diodos 6A4 converterão a tensão CA em CC e o capacitor de 2000uF suavizará a alimentação CC instável dos diodos.

O regulador fixo de 9 V LM 7809 converterá a alimentação CC não regulada em alimentação CC de 9 V regulada. A fonte de 9 V alimentará o Arduino e o relé. Tente usar um conector DC para a alimentação de entrada do Arduino.

Não pule os capacitores de cerâmica de 0,1uF que fornecem boa estabilidade para tensão de saída.

O LM 317 fornece tensão de saída variável para a carga a ser conectada.

Você pode ajustar a tensão de saída girando o potenciômetro de 4,7 K ohm.

Isso conclui a seção de alimentação.

Agora vamos ver a conexão do display:

Detalhes de conexão

Circuito de exibição da fonte de alimentação com corte de corrente excessiva usando Arduino

Não há nada para explicar aqui, apenas conecte o Arduino e o display LCD de acordo com o diagrama de circuito. Ajuste o potenciômetro de 10K para melhor contraste de visualização.

A tela acima mostra as leituras de amostra para os quatro parâmetros mencionados.

Estágio de medição de energia

Agora, vamos ver o circuito de medição de potência em detalhes.

O circuito de medição de potência é composto por voltímetro e amperímetro. O Arduino pode medir a tensão e a corrente simultaneamente conectando a rede de resistores conforme o diagrama de circuito.

rede de resistores para fonte de alimentação de corte de corrente excessiva usando Arduino

Detalhes da conexão do relé para o projeto acima:

Detalhes da conexão do relé do Arduino

Os quatro resistores de 10 ohms em paralelo que formam um resistor shunt de 2,5 ohms que serão utilizados para medir o fluxo de corrente através da carga. Os resistores devem ter pelo menos 2 watts cada.

Os resistores de 10k ohm e 100k ohm ajudam o Arduino a medir a tensão na carga. Esse resistor pode ter uma classificação de potência normal.

Se você quiser saber mais sobre o funcionamento do amperímetro e voltímetro com base no Arduino, verifique estes dois links:

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

Amperímetro: https://homemade-circuits.com/2017/08/arduino-dc-digital-ammeter.html

O potenciômetro de 10K ohm é fornecido para ajustar o nível máximo de corrente na saída. Se o fluxo de corrente através da carga exceder a corrente predefinida, a alimentação de saída será desconectada.
Você pode ver o nível predefinido no visor, ele será mencionado como “LT” (Limite).

Digamos, por exemplo: se você definir o limite como 200, ele fornecerá corrente até 199mA. Se o consumo de corrente ficar igual a 200 mA ou mais, a saída será cortada imediatamente.

A saída é ligada e desligada pelo pino nº 7 do Arduino. Quando este pino está alto, o transistor energiza o relé que conecta os pinos comum e normalmente aberto, que conduz a alimentação positiva para a carga.

O diodo IN4007 absorve a alta tensão de volta EMF da bobina do relé enquanto liga e desliga o relé.

Código do programa:

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

Até agora, você já deve ter adquirido conhecimento suficiente para construir uma fonte de alimentação que protege seus valiosos módulos e componentes eletrônicos.

Se você tiver alguma pergunta específica sobre este circuito de alimentação de corte de corrente excessiva usando Arduino, sinta-se à vontade para perguntar na seção de comentários, você pode receber uma resposta rápida.




Anterior: Faça este Amperímetro Digital Avançado usando Arduino Próximo: Introdução à EEPROM no Arduino