Блок питания с отключением по току с использованием Arduino

Попробуйте наш инструмент устранения неполадок





В этой статье мы собираемся сконструировать элиминатор батареи / источник переменного тока постоянного тока, который автоматически отключит питание, если ток, протекающий через нагрузку, превысит заданный пороговый уровень.

Гириш Радхакришанан



Основные технические характеристики

Предлагаемая схема источника питания с отключением по току, использующая Arduino, имеет ЖК-дисплей 16 X 2, который используется для отображения напряжения, тока, потребляемой мощности и предустановленного порогового тока в реальном времени.

Как энтузиаст электроники, мы тестируем наши прототипы на блоке питания с регулируемым напряжением. У большинства из нас есть дешевый источник переменного тока, который может не иметь ни функции измерения напряжения / тока, ни встроенной защиты от короткого замыкания или перегрузки по току.



Это потому, что блок питания с этими упомянутыми функциями может взорвать ваш кошелек и будет излишним для использования в хобби.

Короткое замыкание и перегрузка по току являются проблемой для новичков и профессионалов, а новички склонны к этому чаще из-за своего неопытности, они могут изменить полярность источника питания или неправильно подключить компоненты и т. Д.

Эти вещи могут вызвать необычно высокий ток в цепи, что приведет к тепловому выходу из строя полупроводников и пассивных компонентов, что приведет к разрушению ценных электронных компонентов. В этих случаях закон Ома превращается во врага.

Если вы ни разу не сделали короткое замыкание и не перегорели, то поздравляю! Вы один из немногих, кто совершенен в электронике или никогда не пробует ничего нового в электронике.

Предлагаемый проект источника питания может защитить электронные компоненты от такого разрушения, что будет достаточно дешевым для среднего любителя электроники и достаточно легким, чтобы сконструировать тот, кто немного выше уровня новичка.

Дизайн

Источник питания имеет 3 потенциометра: один для регулировки контрастности ЖК-дисплея, один для регулировки выходного напряжения в диапазоне от 1,2 В до 15 В, а последний потенциометр используется для установки ограничения тока в диапазоне от 0 до 2000 мА или 2 ампера.

На ЖК-дисплее каждую секунду отображаются четыре параметра: напряжение, потребляемый ток, предварительно установленный предел тока и мощность, потребляемая нагрузкой.

Потребление тока через нагрузку будет отображаться в миллиамперах, предварительно установленный предел тока будет отображаться в миллиамперах, а потребляемая мощность будет отображаться в милливаттах.
Схема разделена на 3 части: силовая электроника, подключение ЖК-дисплея и схема измерения мощности.

Эти 3 этапа могут помочь читателям лучше понять схему. Теперь давайте посмотрим на блок силовой электроники, который регулирует выходное напряжение.

Принципиальная схема:

Блок питания с отключением по току с использованием Arduino

Трансформатор 12v-0-12v / 3A будет использоваться для понижения напряжения, диоды 6A4 преобразуют переменный ток в постоянное напряжение, а конденсатор 2000 мкФ будет сглаживать прерывистое питание постоянного тока от диодов.

Фиксированный стабилизатор 9 В LM 7809 преобразует нерегулируемый постоянный ток в регулируемое питание 9 В постоянного тока. Источник 9 В питает Arduino и реле. Попробуйте использовать разъем постоянного тока для источника питания Arduino.

Не пропустите керамические конденсаторы 0,1 мкФ, которые обеспечивают хорошую стабильность выходного напряжения.

LM 317 обеспечивает регулируемое выходное напряжение для подключаемой нагрузки.

Вы можете регулировать выходное напряжение, вращая потенциометр 4,7 кОм.

На этом силовая часть завершена.

Теперь посмотрим на подключение дисплея:

Детали подключения

Схема отображения источника питания с отключением по току с использованием Arduino

Здесь особо нечего объяснять, просто подключите Arduino и ЖК-дисплей согласно принципиальной схеме. Отрегулируйте потенциометр 10K для лучшего просмотра контраста.

На приведенном выше дисплее показаны примерные показания для четырех упомянутых параметров.

Ступень измерения мощности

Теперь давайте подробно рассмотрим схему измерения мощности.

Схема измерения мощности состоит из вольтметра и амперметра. Arduino может измерять напряжение и ток одновременно, подключив сеть резисторов в соответствии с принципиальной схемой.

сеть резисторов для источника питания с отключением по току с использованием Arduino

Детали подключения реле для вышеуказанной конструкции:

Детали подключения реле Arduino

Четыре параллельных резистора 10 Ом, которые образуют шунтирующий резистор 2,5 Ом, который будет использоваться для измерения тока, протекающего через нагрузку. Резисторы должны быть не менее 2 Вт каждый.

Резисторы 10 кОм и 100 кОм помогают 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

Потенциометр 10 кОм предназначен для регулировки максимального уровня тока на выходе. Если ток, протекающий через нагрузку, превышает предварительно установленный ток, выходное питание будет отключено.
Вы можете увидеть предустановленный уровень на дисплее, он будет обозначен как «LT» (предел).

Скажем, например: если вы установите ограничение на 200, он выдаст ток до 199 мА. Если потребление тока станет равным 200 мА или выше, выход будет немедленно отключен.

Выход включается и выключается контактом № 7 Arduino. Когда на этом выводе высокий уровень, транзистор активирует реле, которое соединяет общий и нормально разомкнутый выводы, которое проводит положительное питание для нагрузки.

Диод 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 Далее: Введение в EEPROM в Arduino