Захранване с прекъснато ток с използване на Arduino

Опитайте Нашия Инструмент За Премахване На Проблемите





В този пост ще конструираме елиминатор на батерия / променливо захранване с постоянен ток, който автоматично ще прекъсне захранването, ако текущият поток през товара надвиши предварително зададеното прагово ниво.

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



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

Предложената верига за прекъсване на тока с използване на Arduino има 16 X 2 LCD дисплей, който се използва за показване на случая на напрежението, тока, консумацията на енергия и предварително зададената прагова граница на тока в реално време.

Като ентусиаст в електрониката, ние тестваме нашите прототипи на захранване с променливо напрежение. Повечето от нас притежават евтино променливо захранване, което може да не притежава нито функция за измерване на напрежение / измерване на тока, нито вградено късо съединение или защита от пренапрежение.



Това е така, защото захранването с тези споменати функции може да бомбардира портфейла ви и ще бъде преувеличено за използване на хоби.

Късо съединение и поток от претоварване е проблем за начинаещи за професионалисти и начинаещите са склонни към това по-често поради своята неопитност, те могат да обърнат полярността на захранването или да свържат компонентите по грешен начин и т.н.

Тези неща могат да причинят необичайно висок ток през веригата, което води до изтичане на топлина в полупроводникови и пасивни компоненти, което води до разрушаване на ценни електронни компоненти. В тези случаи законът на ома се превръща във враг.

Ако никога не сте правили късо съединение или пържено съединение, тогава поздравления! Вие сте един от малкото хора, които са перфектни в електрониката или никога не пробвате нещо ново в електрониката.

Предложеният проект за захранване може да предпази електронните компоненти от такова унищожаване на пържене, което ще бъде достатъчно евтино за средния любител на електрониката и достатъчно лесно да се изгради такъв за малко над начинаещото ниво.

Дизайнът

Захранването има 3 потенциометра: един за регулиране на контраста на LCD дисплея, един за регулиране на изходното напрежение в диапазона от 1,2 V до 15V и последният потенциометър се използва за задаване на текущата граница от 0 до 2000 mA или 2 ампера.

LCD дисплеят ще ви актуализира с четири параметъра всяка секунда: напрежението, консумацията на ток, предварително зададената граница на тока и консумираната мощност от товара.

Консумацията на ток чрез натоварване ще се покаже в милиампера, предварително зададената граница на тока ще се покаже в милиампера и консумацията на енергия ще се покаже в мили вата.
Веригата е разделена на 3 части: силовата електроника, връзката на LCD дисплея и веригата за измерване на мощността.

Тези 3 етапа могат да помогнат на читателите да разберат по-добре веригата. Сега нека видим раздела за силова електроника, който контролира изходното напрежение.

Схематична диаграма:

Захранване с прекъснато ток с използване на Arduino

Трансформаторът 12v-0-12v / 3A ще бъде използван за намаляване на напрежението, 6A4 диодите ще преобразуват променливотока в DC напрежение и кондензаторът 2000uF ще изглади накъсаното захранване от диоди.

Фиксираният 9V регулатор LM 7809 ще преобразува нерегулирания DC в регулиран 9V DC захранване. Захранването 9V ще захранва Arduino и релето. Опитайте се да използвате DC жак за входно захранване на arduino.

Не пропускайте онези 0.1uF керамични кондензатори, които осигуряват добра стабилност на изходното напрежение.

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

Можете да регулирате изходното напрежение чрез завъртане на потенциометъра 4.7K ома.

Това завършва раздела за захранване.

Сега нека видим връзката на дисплея:

Подробности за връзката

Дисплейна верига за прекъсване на тока с използване на Arduino

Тук няма какво да обясняваме много, просто свържете Arduino и LCD дисплея според схемата. Регулирайте 10K потенциометъра за по-добър контраст на гледане.

Горният дисплей показва примерни показания за четирите споменати параметъра.

Етап за измерване на мощността

Сега нека видим подробно схемата за измерване на мощността.

Схемата за измерване на мощността се състои от волтметър и амперметър. Arduino може да измерва едновременно напрежение и ток, като свързва мрежата от резистори според схемата.

резисторна мрежа за прекъсване на захранването с ток с използване на Arduino

Подробности за свързване на реле за горния дизайн:

Подробности за връзката на Arduino реле

Четирите паралелни резистора от 10 ома, които образуват шунтови резистори от 2,5 ома, които ще бъдат използвани за измерване на текущия поток през товара. Резисторите трябва да са поне 2 вата всеки.

Резисторите 10k ома и 100k ома помагат на 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 ohm е предвиден за регулиране на максималното ниво на тока на изхода. Ако текущият поток през товара надвишава предварително зададения ток, изходното захранване ще бъде изключено.
Можете да видите предварително зададеното ниво на дисплея, то ще бъде споменато като “LT” (Limit).

Кажете например: ако зададете лимита на 200, той ще издава ток до 199mA. Ако консумацията на ток стане равна на 200 mA или над, изходът ще бъде незабавно прекъснат.

Изходът се включва и изключва от Arduino pin # 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 Напред: Въведение в EEPROM в Arduino