Ylivirran katkaiseva virtalähde Arduinoa käyttämällä

Kokeile Instrumenttia Ongelmien Poistamiseksi





Tässä viestissä aiomme rakentaa paristojen poistajan / tasavirran vaihtelevan virtalähteen, joka katkaisee virran automaattisesti, jos kuorman läpi kulkeva virta ylittää ennalta asetetun kynnysarvon.

Kirjoittanut Girish Radhakrishanan



Tärkeimmät tekniset ominaisuudet

Arduinoa käyttävässä ehdotetussa virrankatkaisussa on 16 X 2 LCD-näyttö, jota käytetään näyttämään jännite, virta, virrankulutus ja ennalta asetettu kynnysvirran raja reaaliajassa.

Elektroniikan harrastajana testaamme prototyyppimme vaihtuvajännitteisellä virtalähteellä. Suurimmalla osalla meistä on halpa vaihteleva virtalähde, joka ei välttämättä harjoita jännitteen mittaus- / virtamittausominaisuutta eikä oikosulkua tai sisäänrakennettua ylivirtasuojausta.



Tämä johtuu siitä, että virtalähde, jossa on mainitut ominaisuudet, voi pommittaa lompakkoasi ja se on liian ammattitaitoista harrastuskäyttöä varten.

Oikosulku ja ylivirta on ongelma aloittelijoille ammattilaisille, ja aloittelijat ovat alttiita tähän useammin kokemattomuutensa vuoksi, he saattavat kääntää virtalähteen napaisuuden tai liittää komponentit väärin jne.

Nämä asiat voivat aiheuttaa virran virtapiirin läpi epätavallisen suureksi, mikä johtaa puolijohde- ja passiivikomponenttien lämpövarautumiseen, mikä johtaa arvokkaiden elektronisten komponenttien tuhoutumiseen. Näissä tapauksissa ohmin laki muuttuu viholliseksi.

Jos et ole koskaan tehnyt oikosulkua tai paistettua virtapiiriä, onnittelut! Olet yksi harvoista ihmisistä, jotka ovat täydellisiä elektroniikassa tai et koskaan kokeile jotain uutta elektroniikassa.

Ehdotettu virtalähdehanke voi suojata elektronisia komponentteja sellaiselta paistamistuholta, joka on tarpeeksi halpa keskimääräiselle elektroniikan harrastajalle ja tarpeeksi helppo rakentaa sellainen, joka on hieman aloittelijan tason yläpuolella.

Muotoilu

Virtalähteessä on 3 potentiometriä: yksi nestekidenäytön kontrastin säätöön, toinen lähtöjännitteen säätöalueelle 1,2 V - 15 V ja viimeistä potentiometriä käytetään virtarajan asettamiseen välillä 0-2000 mA tai 2 Ampeeria.

LCD-näyttö päivittää sinut neljällä parametrilla sekunnissa: jännite, virrankulutus, ennalta asetettu virtaraja ja kuorman kuluttama teho.

Virran kulutus kuormituksen kautta näytetään milliampeereina, ennalta asetettu virtaraja näytetään milliampeereina ja virrankulutus näytetään millivanteina.
Piiri on jaettu 3 osaan: tehoelektroniikka, LCD-näytön liitäntä ja tehonmittauspiiri.

Nämä 3 vaihetta voivat auttaa lukijoita ymmärtämään piirin paremmin. Katsotaan nyt tehoelektroniikan osaa, joka ohjaa lähtöjännitettä.

Kaaviokuva:

Ylivirran katkaiseva virtalähde Arduinoa käyttämällä

Muuntajaa 12v-0-12v / 3A käytetään jännitteen alentamiseen, 6A4-diodit muuttavat vaihtovirran tasajännitteeksi ja 2000uF-kondensaattori tasoittaa hajanaista DC-syöttöä diodeista.

LM 7809 kiinteä 9 V: n säädin muuntaa säätelemättömän tasavirran säännellyksi 9 V: n tasavirtalähteeksi. 9 V: n virtalähde saa virtansa Arduinosta ja releestä. Yritä käyttää DC-liitäntää arduinon syöttöjännitteeksi.

Älä ohita niitä 0,1uF keraamisia kondensaattoreita, jotka tarjoavat hyvän vakauden lähtöjännitteelle.

LM 317 tarjoaa vaihtelevan lähtöjännitteen kytkettävälle kuormalle.

Voit säätää lähtöjännitettä kiertämällä 4,7 K ohmin potentiometriä.

Se päättää teho-osan.

Katsotaan nyt näyttöyhteys:

Yhteyden tiedot

Ylivirran katkaiseva virtalähteen näyttöpiiri Arduinolla

Täällä ei ole mitään selitettävissä, vain johdotta Arduino- ja LCD-näyttö kytkentäkaavion mukaisesti. Säädä 10K-potentiometriä parempaan katselukontrastiin.

Yllä olevassa näytössä näytetään neljän mainitun parametrin näytelukemat.

Tehon mittausvaihe

Katsotaan nyt tehonmittauspiiri yksityiskohtaisesti.

Tehonmittauspiiri koostuu volttimittarista ja ampeerimittarista. Arduino voi mitata jännitettä ja virtaa samanaikaisesti kytkemällä vastusverkon piirikaavion mukaisesti.

vastusverkko ylivirtakatkaisevalle virtalähteelle Arduinoa käyttämällä

Relekytkennän yksityiskohdat yllä olevalle rakenteelle:

Arduino-releyhteyden tiedot

Neljä rinnakkaista 10 ohmin vastusta, jotka muodostavat 2,5 ohmin shuntivastuksen, jota käytetään mittaamaan kuorman läpi kulkeva virta. Vastusten tulisi olla vähintään 2 wattia.

10k ohmin ja 100k ohmin vastukset auttavat Arduinoa mittaamaan jännitettä kuormalla. Nämä vastukset voivat olla sellaisia, joiden teho on normaali.

Jos haluat tietää enemmän Arduino-pohjaisen ampeerimittarin ja volttimittarin toiminnasta, tarkista nämä kaksi linkkiä:

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

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

10K ohmin potentiometri on tarkoitettu suurimman virtatason säätämiseen lähdössä. Jos kuorman läpi kulkeva virta ylittää ennalta asetetun virran, lähtöjännite katkaistaan.
Näet esiasetetun tason näytössä, josta mainitaan ”LT” (raja).

Sano esimerkiksi: jos asetat rajaksi 200, se antaa virran 199 mA: iin asti. Jos virrankulutus on 200 mA tai suurempi, lähtö katkaistaan ​​välittömästi.

Arduino-nasta # 7 kytkee lähdön päälle ja pois päältä. Kun tämä nasta on korkea, transistori virtaa releen, joka yhdistää tavalliset ja normaalisti avoimet nastat, joka johtaa positiivisen syötön kuormalle.

Diodi IN4007 absorboi korkeajännitteisen takaisin EMF: n releen kelasta kytkemällä releen päälle ja pois päältä.

Ohjelmakoodi:

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

Tähän mennessä olisit hankkinut tarpeeksi tietoa rakentamaan virtalähteen, joka suojaa sinua arvokkailta elektronisilta komponenteilta ja moduuleilta.

Jos sinulla on erityisiä kysymyksiä tästä virran katkaisevasta virransyöttöpiiristä Arduinoa käyttämällä, voit kysyä kommenttiosassa, saatat saada nopean vastauksen.




Edellinen: Tee tämä Advanced Digital Ammeter Arduinolla Seuraava: Johdanto EEPROM: iin Arduinossa