Membuat Sensor tegangan arduino

Sensor Tegangan Arduino
           
            Sensor tegangan untuk arduino banyak dijual dipasaran dengan harga yang bermacam macam sesuai dengan kualitas barang. Akan tetapi seringkali sensor yang kita beli tidak akurat pengukurannya yang disebabkan berbagai macam factor.

            Pada postingan ini Saya akan memandu bagaimana prinsip kerja sensor tegangan arduino dan bagaimana cara membuat modul sensor buatan tangan anda.

Spesifikasi Arduino

Sesuai dengan data sheet, arduino mampu menerima input pada pin Analog (A0) Maksimal 5 Volt dengan arus sebesar 40mA. Ketika pin Analog arduino  menerima 5 Volt maka arduino akan membaca nilai ADC sebesar 1023.

Rangkaian Sensor Tegangan Arduino


Gambar rangkaian ketika diberi tegangan 240 Vac menggunakan circuit wizard

Gunakan Trafo non CT dengan input 240V dan keluaran 6V, anda dapat menggunakan CT dengan besar 1 Ampere agar tidak terlalu memakan tempat. Tegangan akan di searahkan dengan diode bridge, anda dapat melihat fungsi diode bridge di postingan sebelumnya. Tegangan DC yang keluar dari diode bridge akan masuk ke Kapasitor. Fungsi kapasitor disini untuk mengurangi ripple teganganan / menstabilkan tegangan biar tidak naik turun. Tegangan DC akan diberi beban resistor, tujuan resistor ini untuk memberi beban pada arduino sehingga sensor dapat terbaca, tetapi ingat!!! Beban tidak boleh lebih dari 40mA ketika berada di 5 Volt, karna akan membuat arduino error atau rusak.

Pemilihan trafo
Karena beban yang kita gunakan tidak lebih dari 50mA atau 0,05A maka cukup gunakan trafo 1 ampere saja. Sesuai gambar diatas tegangan output yang diingin kan adalah 6 volt ketika input trafo 240 Volt. Ketika menggunakan rasio 240V=6V maka tegangan yang boleh masuk pada trafo adalah sebesar 400V karena hasil stepdownnya adalah 10V, yang nantinya 10V akan menjadi 5Vketika melalui resistor.

Pemilihan Diode
Tegangan 6volt dan arus masuk 0,05A total 0,3 Watt.  Gunakan diode 1 watt saja sebanyak 4 buah.

Pemilihan kapasitor.
Tegangan yang masuk 6 volt DC , gunakan kapasior 25V  1000µF.

Pemilihan Resistor
Gunakan resistor 1 watt 100Ω sebanyak 2 buah.

Kenapa 100Ω ?
Untunk lebih paham perhatikan gambar dibawah.


Kesimpulan :
Tegangan yang dapat masuk ke sensor tegangan maksimal 400Volt sehingga arduino menerima tegangan 5 volt. Ketika diberi tegangan nominal 240Volt maka arduino akan menerima tegangan hanya 3Volt.

Koding Arduino

#define input A15 //ganti A15 sesuai dengan pin analog yang digunakan
long lastSample = 0;
long sampleSum = 0;
int sampleCount = 0;
int nilai_adc = 0;
int Volt_RMS= 0;
int CorrectionVolt_RMS = 0;
int Volt_ADC = 0;
void setup() {
  Serial.begin (9600);
  }

void loop() {
  nilai_adc = analogRead(input);
  if(millis() > lastSample + 1)
  {
    sampleSum += (analogRead (input));
    sampleCount++;

    lastSample = millis ();
  }

  if(sampleCount == 10)
  {
    float mean = sampleSum / sampleCount;
    float value = sqrt (mean);
  Volt_RMS = map(mean, 00, 1023, 00,  400);
 // maping harus sesuai dengan pengan kalibrasi
// maping diatas menunjukan bahwa saat sensor diberi tegangan 5volt DC maka arduino membaca 1023 ADC dan menampilkan tegangan 400 volt pada serial monitor sebagai nilai dari Volt_rms. Jadi nilai 400 di coding maping harus di ubah sesuai dengan tegangan maksimal ketika arduino mendapat tegangan 5 volt.

  CorrectionVolt_RMS = Volt_RMS + 8; //ubah angka 8 sesuai dengan kalibrasi
  // jika hasil sensor kurang 8 volt dari hasil pengukuran AVO meter maka di tambah 8
  if (CorrectionVolt_RMS == 8) // angka 8 di ganti sesuai dengan kalibrasi
  {CorrectionVolt_RMS = 0;}
  Volt_ADC = mean * (5.0 / 1023.0);
  Serial.println (String (nilai_adc));//jumlah adc
  Serial.println (String (mean)); // adc rata rata
  Serial.println (String (Volt_RMS)); //tegangan rata rata
  Serial.println (String (CorrectionVolt_RMS)); //tegangangan rata rata setelah kalibrasi
  Serial.println (String (Volt_ADC));//jumlah tegangan ADC
  Serial.println ();
  sampleSum = 0;
  sampleCount = 0;
  delay (1500);
  }
}
coding sensor tegangan klik DI SINI

0 komentar:

Posting Komentar