Praktek Antarmuka Keluaran Analog Menggunakan Arduino - TeachMeSoft

Praktek Antarmuka Keluaran Analog Menggunakan Arduino

Prakterk Antarmuka Keluaran Analog Menggunaka Arduino


Teori Singkat


PWM atau lebih dikenal dengan modulasi lebar pulsa, yaitu sebuah metode pengaturan lebar pulsa secara variable untuk sebuah nilai frekuensi yang tetap. Berbeda halnya dengan modulasi frekuesi (FM) atau modulasi amplitudo (AM) yang mengatur variasi frekuensi atau tegangan, PWM menggunakan gelombang kotak (square wave) dengan ampitudo dan frekwensi yang tetap namun rasio periode ON terhadap total perode gelombang atau disebut dengan Duty Cycle bisa diatur dalam satuan persen (%). Gambar 1 menunjukan bentuk gelombang PWM.

Bentuk gelombang PWM
Gambar 1. Bentuk gelombang PWM

Berdasarkan Gambar 1 menunjukan bentuk gelombang kotak PWM, dapat dilihat bahwa periode ON pada satu siklus gelobang bias melebar dan menyempit tanpa merubah frekwensi dan amplitudo. Variasi lebar pulsa PWM dapat dihitung secara matematis mengikuti kaidah yang ditunjukan oleh persamaan 2 berikut :

Rumus duty cycle

Pada papan Arduino jenis 8-bit terdapat beberapa pin yang bisa dijadikan sebagai keluaran PWM, yaitu : 3, 5, 6, 9, 10, 11. Dan terdapat dua jenis frekwensi PWM yang berbeda yaitu 488 hz utuk 3,9,10,11 dan 977 Hz untuk pin 5, 6.

Rentang amplitudo PWM Arduino hampir sama dengan tegangan catu komponen digital, yaitu : 0-5 volt. Sedangkan rentang nilai digital yang merepresentasikan duty cycle pada Arduino yaitu : 0-255 untuk 0%-100% rasio.

Keluaran PWM Arduino belum dapat dikatakan sebagai keluaran analog murni karena dasarnya masih berupa variasi data digital (HIGH dan LOW), sehingga diperlukan sebuah tapis lolos rendah (LPF-low pass filter) untuk mendapatkan gradasi amplitude mendekati definisi keluaran analog. Gambar 2 menunjukan konfigurasi LPF untuk keluaran PWM.

LPF untuk keluaran PWM
Gambar 2. LPF untuk keluaran PWM


Dengan menggunakan LPF maka akan ada konversi dari duty cycle menjadi tegangan analog. Nilai R dan C pada LPF seperti ditunjukan oleh Gambar 2 umumnya bernilai R1 = 3.9KΩ dan C1 = 100nF. Dengan demikian, nilai digital PWM Arduino yang diperlukan untuk menghaislkan keluaran Analog dapat dihitung mengikuti kaidah yang ditunjukan oleh persamaan 3 berikut :

Rumus Digital PWM

AnalogPWM adalah tegangan analog yang diinginkan, dan AmpitudoPWM adalah amplitudo maksimal gelombang PWM(≈ +5 volts). Sehingga data digital 0 menghasilkan tegangan keluaran analog 0 volts (0% duty cycle), dan data digital 255 menghasilkan tegangan keluaran analog 5 volts (100% duty cycle) untuk Arduino yang menggunakan catu tegangan logika +5 volts.


Alat dan Bahan Percobaan


Pada sesi ini akan diperkenalkan tentang menghasilkan keluaran analog pada papan Arduino menggunakan fasilitas PWM. Adapun alat dan bahan yang digunakan selama percobaan adalah :
  1. Resistor = 5.9KΩ dan Capacitor =100nF
    Resistor dan kapasitor akan digunakan untuk membuat tapis lolos rendah (LPF) yang akan mengubah gelombang PWM menjadi tegangan analog.
  2. Multimeter Digital
    Alat bantu pengukuran tegangan yang akan digunakan untuk mengukur tegangan analog keluaran LPF.
  3. Papan Arduino UnoBahan percobaan sebagai pengendali utama menguji fungsi PWM dengan melibatkan aktifitas perancangan antarmuka perangkat keras dan pemrograman perangkat lunak.



Langkah Percobaan


Percobaan fungsi keluaran analog dengan PWM oleh papan Arduino melibatkan dua aktifitas yaitu perancangan antarmuka perangkat keras dan pemrograman perangkat lunak. Adapun langkah percobaan adalah sebagai berikut :
  1. Disain antarmuka perangkat keras
    Percobaan ini melibatkan aktifitas menghubung pin PWM pada Arduin UNO dengan rangkaian LPF secara benar, seperti yang ditunjukan oleh Gambar 2. Pada Percobaan ini akan memanfaatkan resistor dan capasitor. Sebagai indicator tegangan keluaran analaog digunakan LED gambar 3 menunjukan antarmuka perangkat keras sebagai bahan percobaan.
    Gambar 3. Antarmuka papan Arduino UNO dengan rangkaian LPF

  2. Pemrograman perangkat lunakSetelah perangkat keras selesai dirakit, selanjutnya membuat kode program untuk menggunakan akses keluaran analog PWM. Ketik contoh kode program berikut ini, kompilasi dan upload ke papan Arduino. Kemudian pengamatan dilakukan menggunakan monitor data serial pada Arduino IDE dan multimeter digital.
    #define PWM 3          //definisi pin output

    void setup(){
    Serial.begin(9600); //inisialisasi serial
    pinMode(PWM, OUTPUT); //pin PWM sebagai output
    }

    void loop(){
    Serial.println("nilai PWM = 50");
    analogWrite(PWM,50); //PWM = 50;
    delay(5000); //tunda pengamatan 5 detik
    Serial.println("nilai PWM = 100");
    analogWrite(PWM,100); //PWM = 100;
    delay(5000); //tunda pengamatan 5 detik
    Serial.println("nilai PWM = 150");
    analogWrite(PWM,150); //PWM = 150;
    delay(5000); //tunda pengamatan 5 detik
    Serial.println("nilai PWM = 200");
    analogWrite(PWM,200); //PWM = 200;
    delay(5000); //tunda pengamatan 5 detik
    }

  3. Analisis Hasil Pecobaan
    Analisis hasil percobaan dilakukan berdasarkan pengukuran tegangan menggunakan multimeter pada pin keluaran analog LPF untuk setiap nilai digital PWM. Hasil pengukuran disajikan dalam bentuk isian seperti yang ditunjukan oleh Table 1 tahap selanjutnya adalah menganalisa kesalahan konversi nilai digital ke analog berdasarkan selisih antara hasil pengukuran multimeter dengan kalkulasi secara teori matematis yang ditunjukan oleh persamaan 3.
    Tabel 1 Perbandingan hasil pengamatan dengan teori fungsi konversi PWM ke analog
    Tabel 1 Perbandingan hasil pengamatan dengan teori fungsi konversi PWM ke analog
    Selanjutnya hasil perbandingan dalam table 1 dibuat dalam bentuk grafik perbandingan menggunakan Microsoft Officel Excel dan simpulkan.


Tugas


Berikut ini deskripsi tugas yag harus anda lakukan terkait dengan tahap-tahap percobaan yang sudah dilakukan.
  1. Membuat program Counter secara otomatis mengguankan fungsi delay dengan nilai cacahan antara 0-255, kemudian setiap cacahan dijadikan nilai keluaran digital PWM. Amati tegangan keluaran LPF mengguankan multimeter, kemudian jelaskan hasil pengamatan anda.
  2. Kompilasi dan upload kode program yang sudah anda buat, kemudian amati hasilnya.
  3. Membuat laporan percobaan yang berisi foto antarmuka perangkat keras dan kode program yang berhasil dibuat dan berjalan dengan benar.



Disqus comments