Bekalan Kuasa Terputus Semasa Menggunakan Arduino

Cuba Instrumen Kami Untuk Menghapuskan Masalah





Dalam catatan ini, kita akan membina bekalan kuasa pemboleh ubah penghapus bateri / DC yang secara automatik akan memotong bekalan, jika aliran arus melalui beban melebihi tahap ambang yang telah ditetapkan.

Oleh Girish Radhakrishanan



Ciri Teknikal Utama

Litar bekalan kuasa terputus semasa yang dicadangkan menggunakan Arduino mempunyai paparan LCD 16 X 2, yang digunakan untuk menunjukkan kes voltan, arus, penggunaan kuasa dan had arus had yang ditetapkan dalam masa nyata.

Sebagai peminat elektronik, kami menguji prototaip kami pada bekalan kuasa voltan berubah-ubah. Sebilangan besar daripada kita mempunyai bekalan kuasa pemboleh ubah yang murah yang mungkin tidak menggunakan ciri pengukur voltan / arus pengukur atau litar pintas atau perlindungan arus bawaan.



Ini kerana bekalan kuasa dengan ciri-ciri yang disebutkan ini dapat mengebom dompet anda dan akan berlebihan untuk penggunaan hobi.

Litar pintas dan arus lebihan arus adalah masalah bagi pemula kepada profesional dan pemula terdedah kepada perkara ini lebih kerap kerana tidak berpengalaman, mereka mungkin membalikkan kekutuban bekalan kuasa atau menghubungkan komponen dengan cara yang salah, dll.

Perkara-perkara ini boleh menyebabkan aliran arus melalui litar sangat tinggi, mengakibatkan pelarian terma dalam komponen semikonduktor dan pasif yang mengakibatkan kerosakan komponen elektronik yang berharga. Dalam kes ini, undang-undang ohm berubah menjadi musuh.

Sekiranya anda tidak pernah membuat litar pintas atau litar goreng, maka selamatlah! Anda adalah salah satu daripada beberapa orang yang sempurna dalam elektronik atau anda tidak pernah mencuba sesuatu yang baru dalam elektronik.

Projek bekalan kuasa yang dicadangkan dapat melindungi komponen elektronik dari pemusnahan penggorengan, yang akan cukup murah untuk penggemar elektronik biasa dan cukup mudah untuk membina satu untuk orang yang berada di atas tahap pemula.

Rekaan

Bekalan kuasa mempunyai 3 potensiometer: satu untuk menyesuaikan kontras paparan LCD, satu untuk menyesuaikan voltan keluaran antara 1.2 V hingga 15V dan potensiometer terakhir digunakan untuk menetapkan had arus antara 0 hingga 2000 mA atau 2 Ampere.

Paparan LCD akan mengemas kini anda dengan empat parameter setiap saat: voltan, penggunaan semasa, had arus yang telah ditetapkan sebelumnya dan penggunaan kuasa oleh beban.

Penggunaan semasa melalui beban akan ditunjukkan dalam miliamp had arus yang telah ditetapkan akan ditunjukkan dalam miliamp dan penggunaan kuasa akan ditunjukkan dalam mili-watt.
Litar ini terbahagi kepada 3 bahagian: elektronik kuasa, sambungan paparan LCD dan litar pengukur kuasa.

Tahap 3 ini dapat membantu pembaca memahami litar dengan lebih baik. Sekarang mari kita lihat bahagian elektronik kuasa yang mengawal voltan output.

Gambarajah skematik:

Bekalan Kuasa Terputus Semasa Menggunakan Arduino

Transformer 12v-0-12v / 3A akan digunakan untuk menurunkan voltan, dioda 6A4 akan menukar AC menjadi voltan DC dan kapasitor 2000uF akan melancarkan bekalan DC yang tidak kemas dari diod.

Pengatur tetap 9V LM 7809 akan menukar DC yang tidak dikawal menjadi bekalan 9V DC yang diatur. Bekalan 9V akan menghidupkan Arduino dan geganti. Cuba gunakan bicu DC untuk bekalan input arduino.

Jangan ketinggalan kapasitor seramik 0.1uF yang memberikan kestabilan yang baik untuk voltan keluaran.

LM 317 memberikan voltan keluaran berubah untuk beban yang hendak disambungkan.

Anda boleh menyesuaikan voltan output dengan memutar potensiometer ohm 4.7K.

Itu menyimpulkan bahagian kuasa.

Sekarang mari kita lihat sambungan paparan:

Perincian Sambungan

Litar Paparan Bekalan Tenaga Terputus Semasa Menggunakan Arduino

Tidak ada yang dapat dijelaskan di sini, hanya memasang paparan Arduino dan LCD mengikut gambarajah litar. Laraskan potensiometer 10K untuk kontras tontonan yang lebih baik.

Paparan di atas menunjukkan bacaan sampel untuk empat parameter yang disebutkan.

Tahap Mengukur Kuasa

Sekarang, mari kita lihat litar pengukuran kuasa secara terperinci.

Litar pengukuran kuasa terdiri daripada voltmeter dan ammeter. Arduino dapat mengukur voltan dan arus secara serentak dengan menghubungkan rangkaian perintang mengikut rajah litar.

rangkaian perintang untuk Bekalan Kuasa Pemotongan Lebih Semasa Menggunakan Arduino

Perincian Sambungan Relay untuk Reka Bentuk di atas:

Perincian sambungan geganti Arduino

Keempat perintang 10 ohm secara selari yang membentuk perintang shunt 2.5 ohm yang akan digunakan untuk mengukur aliran arus melalui beban. Perintang harus sekurang-kurangnya 2 watt setiap satu.

Perintang 10k ohm dan 100k ohm membantu Arduino untuk mengukur voltan pada beban. Perintang ini boleh menjadi satu dengan nilai watt normal.

Sekiranya anda ingin mengetahui lebih lanjut mengenai cara kerja ammeter dan voltmeter berasaskan Arduino, periksa dua pautan berikut:

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

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

Potensiometer 10K ohm disediakan untuk menyesuaikan tahap arus maksimum pada output. Sekiranya aliran arus melalui beban melebihi arus yang telah ditetapkan, bekalan output akan terputus.
Anda dapat melihat tingkat pratetap di dalam paparan yang akan disebut sebagai 'LT' (Batas).

Katakan sebagai contoh: jika anda menetapkan had sebagai 200, ia akan memberikan arus hingga 199mA. Sekiranya penggunaan semasa mencapai sama dengan 200 mA atau di atas, output akan dihentikan.

Keluaran dihidupkan dan dimatikan oleh pin Arduino # 7. Apabila pin ini tinggi, transistor memberi tenaga pada geganti yang menghubungkan pin biasa dan biasanya terbuka, yang mengalirkan bekalan positif untuk beban.

Diod IN4007 menyerap EMF voltan tinggi dari gegelung geganti semasa menghidupkan dan mematikan geganti.

Kod Program:

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

Pada masa ini, anda sudah memperoleh pengetahuan yang cukup untuk membina bekalan kuasa yang melindungi komponen dan modul elektronik yang berharga bagi anda.

Sekiranya anda mempunyai pertanyaan khusus mengenai litar bekalan kuasa terputus semasa menggunakan Arduino jangan ragu untuk bertanya di bahagian komen, anda mungkin akan mendapat balasan cepat.




Sebelumnya: Buat Ammeter Digital Lanjutan ini menggunakan Arduino Seterusnya: Pengenalan EEPROM di Arduino