Arduino를 사용한 과전류 차단 전원 공급 장치

문제를 제거하기 위해 도구를 사용해보십시오





이 게시물에서는 부하를 통한 전류 흐름이 미리 설정된 임계 값 수준을 초과 할 경우 공급을 자동으로 차단하는 배터리 제거기 / DC 가변 전원 공급 장치를 구성 할 것입니다.

작성자 : Girish Radhakrishanan



주요 기술적 특징

제안 된 아두 이노를 이용한 과전류 차단 전원 회로는 16 X 2 LCD 디스플레이를 가지고 있으며, 이는 전압, 전류, 전력 소비 및 사전 설정된 임계 전류 제한을 실시간으로 보여주는 데 사용됩니다.

전자 애호가로서 우리는 가변 전압 전원 공급 장치에서 프로토 타입을 테스트합니다. 우리 대부분은 전압 측정 / 전류 측정 기능, 단락 또는 과전류 보호 기능이 내장되어 있지 않은 저렴한 가변 전원 공급 장치를 소유하고 있습니다.



이러한 기능을 갖춘 전원 공급 장치가 지갑에 폭격을 가할 수 있고 취미 사용을 위해 과도하게 사용되기 때문입니다.

단락 및 과전류 흐름은 초보자부터 전문가에게 문제이며 초보자는 경험이 없기 때문에 더 자주 발생하며 전원 공급 장치의 극성을 바꾸거나 구성 요소를 잘못된 방식으로 연결할 수 있습니다.

이러한 것들은 회로를 통해 흐르는 전류를 비정상적으로 높게 만들어 반도체 및 수동 부품의 열 폭주를 유발하여 귀중한 전자 부품을 파괴 할 수 있습니다. 이 경우 옴의 법칙이 적이됩니다.

단락이나 튀김을 한 번도 만들지 않았다면 축하합니다! 당신은 전자 제품에 완벽하거나 새로운 전자 제품을 시도하지 않는 소수의 사람 중 하나입니다.

제안 된 전원 공급 프로젝트는 이러한 튀김 파괴로부터 전자 부품을 보호 할 수 있으며, 이는 일반 전자 애호가에게는 충분히 저렴하고 초보자 수준보다 약간 높은 사람을 위해 쉽게 구성 할 수있을 것입니다.

디자인

전원 공급 장치에는 3 개의 전위차계가 있습니다. 하나는 LCD 디스플레이 대비 조정용이고, 다른 하나는 1.2V ~ 15V 범위의 출력 전압을 조정하기위한 것이며, 마지막 전위차계는 0 ~ 2000mA 또는 2A 범위의 전류 제한을 설정하는 데 사용됩니다.

LCD 디스플레이는 전압, 전류 소비, 사전 설정된 전류 제한 및 부하에서 소비하는 전력의 4 가지 매개 변수로 매초 업데이트됩니다.

부하를 통한 전류 소비는 밀리 암페어로 표시되며 사전 설정된 전류 제한은 밀리 암페어로 표시되고 전력 소비량은 밀리 와트로 표시됩니다.
회로는 전력 전자 장치, LCD 디스플레이 연결 및 전력 측정 회로의 세 부분으로 나뉩니다.

이 3 단계는 독자가 회로를 더 잘 이해하는 데 도움이 될 수 있습니다. 이제 출력 전압을 제어하는 ​​전력 전자 섹션을 살펴 보겠습니다.

개략도:

Arduino를 사용한 과전류 차단 전원 공급 장치

12v-0-12v / 3A 변압기는 전압을 낮추는 데 사용되며 6A4 다이오드는 AC를 DC 전압으로 변환하며 2000uF 커패시터는 다이오드에서 고르지 못한 DC 공급을 부드럽게합니다.

LM 7809 고정 9V 조정기는 조정되지 않은 DC를 조정 된 9V DC 공급으로 변환합니다. 9V 전원은 Arduino와 릴레이에 전원을 공급합니다. arduino의 입력 공급을 위해 DC 잭을 사용해보십시오.

출력 전압에 대해 우수한 안정성을 제공하는 0.1uF 세라믹 커패시터를 건너 뛰지 마십시오.

LM 317은 연결될 부하에 가변 출력 전압을 제공합니다.

4.7K 옴 전위차계를 회전하여 출력 전압을 조정할 수 있습니다.

이것으로 전원 섹션을 마칩니다.

이제 디스플레이 연결을 살펴 보겠습니다.

연결 세부 정보

Arduino를 사용한 과전류 차단 전원 공급 장치 디스플레이 회로

여기에는 많이 설명 할 것이 없으며 회로도에 따라 Arduino와 LCD 디스플레이를 연결하기 만하면됩니다. 더 나은 대비를 위해 10K 전위차계를 조정하십시오.

위의 디스플레이는 언급 된 네 가지 매개 변수에 대한 샘플 판독 값을 보여줍니다.

전력 측정 단계

이제 전력 측정 회로를 자세히 살펴 보겠습니다.

전력 측정 회로는 전압계와 전류계로 구성됩니다. Arduino는 회로도에 따라 저항 네트워크를 연결하여 전압과 전류를 동시에 측정 할 수 있습니다.

Arduino를 사용한 과전류 차단 전원 공급 장치 용 저항 네트워크

위 설계에 대한 릴레이 연결 세부 정보 :

Arduino 릴레이 연결 세부 정보

부하를 통과하는 전류 흐름을 측정하는 데 사용되는 2.5ohm 션트 저항을 형성하는 4 개의 10ohm 저항이 병렬로 연결됩니다. 저항기는 각각 최소 2 와트 이상이어야합니다.

10k ohm 및 100k ohm 저항은 Arduino가 부하에서 전압을 측정하는 데 도움이됩니다. 이 저항은 정상적인 와트 정격을 가진 저항 일 수 있습니다.

Arduino 기반 전류계 및 전압계의 작동에 대해 더 알고 싶다면 다음 두 링크를 확인하십시오.

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

전류계 : https://homemade-circuits.com/2017/08/arduino-dc-digital-ammeter.html

출력에서 최대 전류 레벨을 조정하기 위해 10K 옴 전위차계가 제공됩니다. 부하를 통한 전류 흐름이 사전 설정된 전류를 초과하면 출력 공급이 차단됩니다.
디스플레이에서 사전 설정 레벨을 볼 수 있으며 'LT'(한계)로 표시됩니다.

예를 들어, 한계를 200으로 설정하면 199mA까지 전류를 제공합니다. 전류 소비가 200mA 이상이되면 출력이 즉시 차단됩니다.

출력은 Arduino 핀 # 7에 의해 켜지고 꺼집니다. 이 핀이 높으면 트랜지스터는 공통 핀과 일반적으로 열린 핀을 연결하는 릴레이에 전원을 공급하여 부하에 대한 양의 공급을 전도합니다.

다이오드 IN4007은 릴레이를 켜고 끄는 동안 릴레이 코일에서 고전압 역기전력을 흡수합니다.

프로그램 코드 :

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

지금 쯤이면 귀중한 전자 부품과 모듈을 보호하는 전원 공급 장치를 구성 할 수있는 충분한 지식을 얻었을 것입니다.

Arduino를 사용하는 과전류 차단 전원 공급 장치 회로에 대한 구체적인 질문이 있으시면 언제든지 의견 섹션에서 질문하시면 빠른 답변을 받으실 수 있습니다.




이전 : Arduino를 사용하여 고급 디지털 전류계 만들기 다음 : Arduino의 EEPROM 소개