Üle praeguse väljalülitatud toiteallika Arduino abil

Proovige Meie Instrumenti Probleemide Kõrvaldamiseks





Selles postituses ehitame aku eemaldaja / alalisvoolu muutuva toiteallika, mis katkestab toite automaatselt, kui koormuse kaudu voolav vool ületab etteantud künnist.

Autor Girish Radhakrishanan



Peamised tehnilised omadused

Arduino kasutataval voolu väljalülitatud vooluahelal on 16 X 2 LCD-ekraan, mida kasutatakse pinge, voolu, energiatarbimise ja etteantud lävivoolupiiri reaalajas näitamiseks.

Kuna oleme elektroonikahuviline, testime prototüüpe muutuva pingega toiteallikal. Enamik meist omab odavat muutuva toiteallikat, mis ei pruugi kasutada pinge mõõtmise / voolu mõõtmise funktsiooni ega lühist ega sisseehitatud voolukaitset.



Selle põhjuseks on asjaolu, et nende mainitud funktsioonidega toiteallikas võib teie rahakotis pommitada ja hobikorras kasutamiseks liiga suur.

Lühis ja voolutugevus on probleem algajatele spetsialistidele ja algajatele on see oma kogemusteta sagedamini kalduvus, nad võivad muuta toiteallika polaarsust või ühendada komponente valesti jne.

Need asjad võivad põhjustada voolu voolu vooluahelas ebatavaliselt kõrgeks, mille tulemuseks on pooljuht- ja passiivkomponentide termiline läbipuhumine, mille tulemuseks on väärtuslike elektrooniliste komponentide hävimine. Nendel juhtudel muutub oomi seadus vaenlaseks.

Kui te pole kunagi lühist ega fritüüri teinud, siis palju õnne! Olete üks väheseid inimesi, kes on elektroonikas täiuslik või ei proovita kunagi midagi uut elektroonikas.

Kavandatav toiteallika projekt võib kaitsta elektroonilisi komponente sellise praadimise hävitamise eest, mis on keskmise elektroonikaharrastaja jaoks piisavalt odav ja piisavalt lihtne sellise ehitamiseks, kes on veidi üle algaja taseme.

Kujundus

Toiteallikal on 3 potentsiomeetrit: ühte vedelkristallekraani kontrastsuse reguleerimiseks, ühte väljundpinge reguleerimiseks vahemikus 1,2 V kuni 15 V ja viimast potentsiomeetrit kasutatakse voolupiiri seadmiseks vahemikus 0 kuni 2000 mA või 2 Amprit.

LCD-ekraan värskendab teid iga sekundi nelja parameetriga: pinge, voolutarve, eelseadistatud voolupiirang ja koormuse tarbitav energiatarve.

Voolutarve koormuse kaudu kuvatakse milliamprites, eelnevalt määratud voolupiirang kuvatakse milliamprites ja energiatarve kuvatakse millivattides.
Vooluring on jagatud 3 osaks: jõuelektroonika, LCD-ekraani ühendus ja võimsuse mõõtmise ahel.

Need kolm etappi võivad aidata lugejatel ringkäigust paremini aru saada. Vaatame nüüd toiteelektroonika jaotist, mis kontrollib väljundpinget.

Skemaatiline diagramm:

Üle praeguse väljalülitatud toiteallika Arduino abil

Trafot 12v-0-12v / 3A kasutatakse pinge langetamiseks, dioodid 6A4 muudavad vahelduvvoolu alalispingeks ja 2000uF kondensaator silub dioodide vahelduvat alalisvoolu.

LM 7809 fikseeritud 9V regulaator muudab reguleerimata alalisvoolu reguleeritud 9V alalisvoolu toiteks. 9 V toiteallikas toidab Arduino ja relee. Proovige arduino sisendtoiteks kasutada alalisvoolupistikut.

Ärge jätke vahele neid 0,1uF keraamilisi kondensaatoreid, mis tagavad väljundpinge hea stabiilsuse.

LM 317 tagab muutuva väljundpinge ühendatava koormuse jaoks.

Väljundpinge reguleerimiseks pöörake potentsiomeetrit 4,7K oomi.

See lõpetab võimsuse osa.

Vaatame nüüd kuvaühendust:

Ühenduse üksikasjad

Üle praeguse väljalülitatud toiteallika kuvalülitus, kasutades Arduino

Siin pole midagi seletada, lihtsalt ühendage Arduino ja LCD-ekraan vastavalt skeemile. Parema kontrastsuse saamiseks reguleerige 10K potentsiomeetrit.

Ülaltoodud ekraanil on näidatud nelja mainitud parameetri näidud.

Võimsuse mõõtmise etapp

Vaatame nüüd võimsuse mõõtmise ahelat üksikasjalikult.

Võimsuse mõõtmise vooluring koosneb voltmeeterist ja ampermeetrist. Arduino saab mõõta pinget ja voolu samaaegselt, ühendades takistite võrgu vastavalt skeemile.

takisti võrk ülevoolu katkestuse toiteallikaks Arduino abil

Ülaltoodud disaini releeühenduse üksikasjad:

Arduino relee ühenduse üksikasjad

Paralleelselt paiknevad neli 10-oomist takistit, mis moodustavad 2,5-oomise šunditakisti, mida kasutatakse koormuse kaudu läbitava voolu mõõtmiseks. Takistid peaksid olema vähemalt 2 vatti.

10k ja 100k oomi takistid aitavad Arduinol koormuse pinget mõõta. Need takistid võivad olla normaalse võimsusega.

Kui soovite rohkem teada saada Arduino-põhise ampermeetri ja voltmeetri töö kohta, vaadake neid kahte linki:

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

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

10K oomi potentsiomeeter on ette nähtud maksimaalse voolutaseme reguleerimiseks väljundis. Kui voolu läbiv koormus ületab etteantud voolu, siis väljundsüsteem katkestatakse.
Eelseadistatud taset näete ekraanil, seda tähistatakse kui “LT” (piir).

Ütleme näiteks: kui määrate piiriks 200, annab see voolu kuni 199 mA. Kui voolutarve on võrdne 200 mA või üle selle, lülitatakse väljund kohe välja.

Väljund lülitatakse sisse ja välja Arduino tihvti nr 7 abil. Kui see tihvt on kõrge, annab transistor pinge releele, mis ühendab tavalisi ja tavaliselt avatud tihvte, mis juhib koormuse positiivset toiteallikat.

Diood IN4007 neelab relee mähisest kõrgepinge tagasi EMF-i, lülitades relee sisse ja välja.

Programmi kood:

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

Nüüdseks oleksite omandanud piisavalt teadmisi toiteallika ehitamiseks, mis kaitseb teid väärtuslike elektrooniliste komponentide ja moodulite eest.

Kui teil on Arduino abil praeguse väljalülitatud toiteallika kohta konkreetseid küsimusi, küsige julgelt kommentaaride jaotises, võite saada kiire vastuse.




Eelmine: tehke see täiustatud digitaalne ampermeeter Arduino abil Järgmine: EEPROM-i tutvustus Arduinos