Sirkuit Voltmeter DC berbasis Arduino - Detail Konstruksi dan Pengujian

Coba Instrumen Kami Untuk Menghilangkan Masalah





Pada posting ini, kita akan membuat voltmeter DC menggunakan Arduino dimana pembacaannya ditampilkan dalam LCD 16x2.



Desain voltmeter yang diusulkan dapat membaca hingga 30V dengan toleransi +/- 0,5 volt. Kita akan melihat bagaimana pengaturan ini berfungsi dan mengeksplorasi kemungkinan lain yang dapat kita capai selain mengukur tegangan.



Proyek ini cukup sederhana, bahkan pemula dapat menyelesaikannya dengan mudah, tetapi kehati-hatian harus dilakukan saat membuat prototipe sirkuit karena kami akan menerapkan tegangan eksternal, setiap kesalahan sambungan ke Arduino dapat menyebabkan kerusakan fatal pada papan Anda.

Biarlah peringatan itu disisihkan, mari kita jelajahi bagaimana fungsinya.



Di sini, kami menggunakan proses konversi analog ke digital. Tegangan dari sumber manapun adalah fungsi analog pembacaan yang ditampilkan pada LCD 16x2 merupakan fungsi digital.

Tantangannya adalah mengubah fungsi analog tersebut menjadi fungsi digital. Untungnya, Arduino memiliki fungsionalitas untuk membaca fungsi analog dan mengubahnya menjadi fungsi diskrit.

Mikrokontroler Arduino dilengkapi dengan 10-bit analogue to digital converter (ADC). Ini berarti Arduino dapat membaca 2 ^ 10 = 1024 level tegangan diskrit.

Dengan kata lain, tegangan yang diterapkan ke pin analog Arduino diambil sampelnya 1024 level tegangan diskrit sehubungan dengan tegangan referensi, nilai sampel ditampilkan di LCD. Ini adalah prinsip di balik voltmeter ini atau hampir semua voltmeter digital.

Namun, tegangan eksternal yang diterapkan tidak langsung diukur oleh Arduino. Tegangan diturunkan dengan bantuan pembagi tegangan dan beberapa matematika dilakukan dalam program untuk mendapatkan pembacaan tegangan yang sebenarnya.

Bagaimana itu bekerja

Rangkaian terdiri dari dua resistor, satu layar LCD dan Arduino yang merupakan otak dari voltmeter digital. Kedua resistor bertindak sebagai pembagi tegangan, simpul pembagi dihubungkan ke pin analog # A0 dari Arduino, yang membaca tegangan input. Koneksi ground dibuat antara Arduino dan sumber tegangan eksternal.

Tegangan minimum yang dapat diukur oleh voltmeter ini adalah 0.1V, ambang batas ini diatur dalam program, sehingga terbaca 0.00 volt setelah pemutusan sumber tegangan dan tidak menampilkan pembacaan akibat muatan statis di sekitar probe pengukur.

Prototipe penulis:

Hasil Uji Voltmeter DC berbasis Arduino

Jangan membalikkan polaritas saat mengukur tegangan, itu tidak akan merusak sirkuit tetapi, ia tidak membaca tegangan apa pun dan menampilkan 0,00 V, sampai Anda memperbaiki polaritasnya. Sesuaikan kontras layar LCD ke level optimal dengan memutar potensiometer.

Pastikan Anda tidak menerapkan sumber tegangan apa pun yang dapat melonjak lebih tinggi dari 30V karena dapat merusak papan Arduino Anda. Secara teknis Anda dapat menaikkan tegangan pengukuran maksimum rangkaian ini dengan mengubah nilai resistor dan memodifikasi program, tetapi untuk pengaturan ilustrasi 30V adalah batasnya.

Untuk pembacaan yang akurat, pilih resistor tetap dengan nilai toleransi minimum, resistor memainkan peran penting dalam mengkalibrasi pembacaan tegangan.

Diagram sirkuit:

Sirkuit Voltmeter DC berbasis Arduino

Kemungkinan lain dari voltmeter ini adalah kita dapat memodifikasi program untuk mengotomatiskan beberapa tugas.

Misalnya, mendeteksi voltase baterai penuh dan melepaskan baterai dari pengisi dayanya atau melepaskan baterai jika voltase berada di bawah level voltase yang telah ditetapkan dan seterusnya, tugas ini dapat diselesaikan bahkan tanpa layar LCD. Namun ini adalah subjek artikel lain.

Program:

//--------Program developed by R.Girish---------//
#include
LiquidCrystal lcd(12,11,5,4,3,2)
int analogInput = 0
float vout = 0.0
float vin = 0.0
float R1 = 100000
float R2 = 10000
int value = 0
void setup()
{
pinMode(analogInput, INPUT)
lcd.begin(16, 2)
lcd.print('DC VOLTMETER')
Serial.begin(9600)
}
void loop()
{
value = analogRead(analogInput)
vout = (value * 5.0) / 1024
vin = vout / (R2/(R1+R2))
if (vin<0.10) {
vin=0.0
}
lcd.setCursor(0, 1)
lcd.print('INPUT V= ')
lcd.print(vin)
delay(500)
}
//--------Program developed by R.Girish---------//

Silakan periksa pembacaan dengan voltmeter / multimeter yang baik.




Sepasang: Sirkuit Kunci Pengapian Mobil Bluetooth - Perlindungan Mobil Tanpa Kunci Berikutnya: Sirkuit Alarm Keamanan Pintu Magnetik untuk Memperingatkan jika Pintu Dibuka