MODUL 2 PWM ADC dan INTERRUPT



Modul II

PWM, ADC dan, INTERRUPT

    1. Pendahuluan [Kembali]

    1. Asistensi dilakukan 3x dengan lama pertemuan 20 menit (Rabu, Kamis, Jumat)
    2. Praktikum dilakukan 1x dengan lama pertemuan 60 menit (Selasa)
    3. Laporan akhir (format sesuai dengan isi blog) dikumpulkan pada hari Kamis

    2. Tujuan [Kembali]

    1. Memahami prinsip kerja PWM pada mikrokontroler
    2. Memahami prinsip kerja ADC pada mikrokontroler
    3. Memahami prinsip Interupt pada mikrokontroler
    4. Menggunakan PWM dan ADC pada Arduino

     
    3. Alat dan Bahan [Kembali]

    A. Alat


    Power Supply

    B. Bahan
    Potensiometer
    a) Komponen Input
    LM 35
    Dip Switch

    b) Komponen Output
    Motor DC

    Motor Stepper


    LCD

    7 Segment
    c) Komponen Lainnya

    Arduino

    Driver Motor L293D

     
    4. Dasar Teori [Kembali]

      A. Pulse Width Modulation

    PWM (Pulse Width Modulation) adalah salah satu teknik modulasi dengan mengubah lebar pulsa (duty cylce) dengan nilai amplitudo dan frekuensi yang tetap. Satu siklus pulsa merupakan kondisi high kemudian berada di zona transisi ke kondisi low. Lebar pulsa PWM berbanding lurus dengan amplitudo sinyal asli yang belum termodulasi.

    Pada board Arduino Uno, pin yang bisa dimanfaatkan untuk PWM adalah pin yang diberi tanda tilde (~), yaitu pin 3, 5, 6, 9, 10, dan pin 11. Pin-pin tersebut merupakan pin yang bisa difungsikan untuk input analog atau output analog. Oleh sebab itu, jika akan menggunakan PWM pada pin ini, bisa dilakukan dengan perintah analogWrite();


    PWM pada arduino bekerja pada frekuensi 500Hz, artinya 500 siklus/ketukan dalam satu detik. Untuk setiap siklus, kita bisa memberi nilai dari 0 hingga 255.  Ketika kita memberikan angka 0, berarti pada pin tersebut tidak akan pernah bernilai 5 volt (pin selalu bernilai 0 volt). Sedangkan jika kita memberikan nilai 255, maka sepanjang siklus akan bernilai 5 volt (tidak pernah 0 volt). Jika kita memberikan nilai 127 (kita anggap setengah dari 0 hingga 255, atau 50% dari 255), maka setengah siklus akan bernilai 5 volt, dan setengah siklus lagi akan bernilai 0 volt. Sedangkan jika jika memberikan 25% dari 255 (1/4 * 255 atau 64), maka 1/4 siklus akan bernilai 5 volt, dan 3/4 sisanya akan bernilai 0 volt, dan ini akan terjadi 500 kali dalam 1 detik. 

      Siklus Sinyal PWM pada Arduino

    B. Analog to Digital Converter

     ADC atau Analog to Digital Converter merupakan salah satu perangkat elektronika yang digunakan sebagai penghubung dalam pemrosesan sinyal analog oleh sistem digital. Fungsi utama dari fitur ini adalah mengubah sinyal masukan yang masih dalam bentuk sinyal analog menjadi sinyal digital dengan bentuk kode-kode digital. Ada 2 faktor yang perlu diperhatikan pada proses kerja ADC yaitu kecepatan sampling dan resolusi.

    Kecepatan sampling menyatakan seberapa sering perangkat mampu mengkonversi sinyal analog ke dalam bentuk sinyal digital dalam selang waktu yang tertentu. Biasa dinyatakan dalam sample per second (SPS). Sementara Resolusi menyatakan tingkat ketelitian yang dimilliki. Pada Arduino, resolusi yang dimiliki adalah 10 bit atau rentang nilai digital antara 0 - 1023. Dan pada Arduino tegangan referensi yang digunakan adalah 5 volt, hal ini berarti ADC pada Arduino mampu menangani sinyal analog dengan tegangan 0 - 5 volt.

    Pada Arduino, menggunakan pin analog input yang diawali dengan kode A( A0- A5 pada Arduino Uno). Fungsi untuk mengambil data sinyal input analog menggunakan analogRead(pin);

    C. Interrupt

    Interrupt adalah suatu sinyal yang dihasilkan oleh perangkat keras atau perangkat lunak untuk memberi tahu CPU bahwa suatu peristiwa atau kondisi telah terjadi yang memerlukan perhatian segera. Interrupt menyebabkan CPU untuk menghentikan eksekusi program yang sedang berjalan dan beralih ke penanganan interrupt yang sesuai.

    Ada beberapa jenis interrupt, termasuk:

    1.            Interrupt Eksternal: Ini disebabkan oleh perangkat keras eksternal, seperti keyboard, mouse, atau timer, yang memerlukan perhatian CPU.

    2.            Interrupt Internal: Ini disebabkan oleh peristiwa internal seperti kesalahan aritmatika, pembagian nol, atau kegagalan memori.

    3.            Interrupt Programmed I/O: Ini dihasilkan oleh perangkat lunak untuk memberi tahu CPU bahwa operasi input/output telah selesai.

    Interrupt memungkinkan sistem untuk menangani peristiwa yang terjadi secara asinkron dan memberi prioritas pada tugas-tugas yang paling penting atau mendesak. CPU dapat menanggapi interrupt dengan mengeksekusi rutinitas penanganan interrupt yang ditetapkan sebelumnya atau biasanya disebut sebagai "interrupt service routines" (ISR). Setelah penanganan interrupt selesai, CPU kembali ke eksekusi program yang sebelumnya dihentikan atau dapat beralih ke eksekusi program yang berbeda, tergantung pada sistem operasi atau desain perangkat keras yang digunakan.


    D. Arduino

    Arduino adalah kit elektronik atau papan rangkaian elektronik open source yang di dalamnya terdapat komponen utama yaitu sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel. Arduino yang kita gunakan dalam praktikum ini adalah Arduino Uno yang menggunakan chip AVR ATmega 328P. Dalam memprogram Arduino, kita bisa menggunakan komunikasi serial agar Arduino dapat berhubungan dengan komputer ataupun perangkat lain.

    Adapun spesifikasi dari Arduino Uno ini adalah sebagai berikut :
      Arduino Uno

    Microcontroller                                           ATmega328P
    Operating Voltage                                      5 V
    Input Voltage (recommended)                   7 – 12 V
    Input Voltage (limit)                                  6 – 20 V
    Digital I/O Pins                                          14 (of which 6 provide PWM output)
    PWM Digital I/O Pins                                6
    Analog Input Pins                                       6
    DC Current per I/O Pin                              20 mA
    DC Current for 3.3V Pin                            50 mA
    Flash Memory                                            32 KB of which 0.5 KB used by bootloader
    SRAM                                                        2 KB
    EEPROM                                                   1 KB
    Clock Speed                                               16 MHz


    BAGIAN-BAGIAN ARDUINO UNO

    POWER USB
    Digunakan untuk menghubungkan Papan Arduino dengan komputer lewat koneksi USB.

    POWER JACK
    Supply atau sumber listrik untuk Arduino dengan tipe Jack. Input DC 5 - 12 V.

    Crystal Oscillator
    Kristal ini digunakan sebagai layaknya detak jantung pada Arduino.
    Jumlah cetak menunjukkan 16000 atau 16000 kHz, atau 16 MHz.

    Reset
    Digunakan untuk mengulang program Arduino dari awal atau Reset.

    Digital Pins I / O
    Papan Arduino UNO memiliki 14 Digital Pin. Berfungsi untuk memberikan nilai logika ( 0 atau 1 ). Pin berlabel " ~ " adalah pin-pin PWM ( Pulse Width Modulation ) yang dapat digunakan untuk menghasilkan PWM.

    Analog Pins
    Papan Arduino UNO memiliki 6 pin analog A0 sampai A5. Digunakan untuk membaca sinyal atau sensor analog seperti sensor jarak, suhu dsb, dan mengubahnya menjadi nilai digital.

    LED Power Indicator
    Lampu ini akan menyala dan menandakan Papan Arduino mendapatkan supply listrik dengan baik. 
     
    E. Motor Stepper
    Motor stepper adalah jenis motor listrik yang mengubah sinyal listrik menjadi gerakan sudut diskrit atau langkah-langkah yang terukur. Mereka dirancang untuk memberikan kontrol gerakan yang presisi dalam aplikasi di mana perubahan posisi yang terukur sangat penting. Motor stepper bekerja berdasarkan prinsip elektromagnetik, menggunakan serangkaian elektromagnet yang diatur secara khusus untuk menggerakkan rotor dalam langkah-langkah tertentu.

    Prinsip dasar dari motor stepper adalah bahwa rotor akan bergerak dari satu posisi ke posisi lainnya ketika arus dialirkan melalui gulungan elektromagnetik yang berbeda. Pergerakan rotor terjadi karena medan magnet yang dihasilkan oleh arus yang melewati gulungan tersebut menarik rotor ke arah tertentu. Dengan mengatur urutan dan durasi arus yang diberikan ke setiap gulungan, motor stepper dapat diprogram untuk bergerak dengan presisi tinggi, baik ke arah searah maupun berlawanan arah jarum jam.

    Motor stepper umumnya dibagi menjadi dua jenis utama: unipolar dan bipolar. Motor stepper unipolar memiliki satu sisi gulungan yang terhubung ke sumber daya tetap, sementara sisi lainnya dihubungkan dan diputuskan secara bergantian untuk menghasilkan medan magnet yang bergerak. Sementara motor stepper bipolar memiliki dua gulungan yang dapat diprogram secara independen dan arah medan magnet yang dapat diubah dengan mengubah arah arus.

    Aplikasi motor stepper meliputi printer 3D, peralatan CNC (Computer Numerical Control), robotika, sistem posisi presisi, dan berbagai sistem otomatisasi lainnya di mana kontrol gerakan presisi diperlukan. Kelebihan motor stepper meliputi kemampuan untuk melakukan pergerakan yang presisi, memiliki torsi yang cukup tinggi, dan relatif mudah untuk diperintah dan dikontrol menggunakan mikrokontroler atau perangkat elektronik lainnya.

    F. Motor DC
    Struktur Motor DC dapat dilihat pada gambar berikut ini.
    Struktur Motor DC
        Motor Listrik DC atau DC Motor adalah suatu perangkat yang mengubah energi listrik menjadi energi kinetic. Motor Listrik DC atau DC Motor ini menghasilkan sejumlah putaran per menit atau biasanya dikenal dengan istilah RPM (Revolutions per minute) dan dapat dibuat berputar searah jarum jam maupun berlawanan arah jarum jam apabila polaritas listrik yang diberikan pada Motor DC tersebut dibalikan. Terdapat dua bagian utama pada sebuah Motor Listrik DC, yaitu Stator dan Rotor. Stator adalah bagian motor yang tidak berputar, bagian yang statis ini terdiri dari rangka dan kumparan medan. Sedangkan Rotor adalah bagian yang berputar, bagian Rotor ini terdiri dari kumparan Jangkar. Dua bagian utama ini dapat dibagi lagi menjadi beberapa komponen penting yaitu diantaranya adalah Yoke (kerangka magnet), Poles (kutub motor), Field winding (kumparan medan magnet), Armature Winding (Kumparan Jangkar), Commutator (Komutator) dan Brushes (kuas/sikat arang). Pada prinsipnya motor listrik DC menggunakan fenomena elektromagnet untuk bergerak.

    G. Dip Switch
    DIP switch (Dual In-line Package switch) adalah jenis sakelar kecil yang biasa digunakan dalam perangkat elektronik untuk mengatur konfigurasi atau pengaturan tertentu. DIP switch biasanya terdiri dari sejumlah sakelar yang dipasang dalam paket DIP (dual in-line package), yang memiliki dua baris pin dengan beberapa sakelar di antaranya.

    Setiap sakelar pada DIP switch dapat berfungsi sebagai sakelar on/off yang independen. Ketika sakelar diatur dalam posisi tertentu (biasanya posisi atas atau bawah untuk menentukan nilai biner), ini menentukan kondisi tertentu atau konfigurasi yang diinginkan dalam perangkat elektronik.

    DIP switch sering digunakan dalam berbagai aplikasi elektronik, seperti pengaturan alamat pada perangkat jaringan, konfigurasi pada papan sirkuit cetak (PCB), pengaturan mode operasi pada perangkat elektronik, atau pengaturan parameter tertentu pada mikrokontroler atau perangkat terprogram lainnya.

    Keuntungan utama dari penggunaan DIP switch adalah keandalannya dan kemudahan penggunaannya. Mereka memberikan cara yang sederhana dan langsung untuk mengatur pengaturan atau konfigurasi tertentu tanpa perlu koneksi ke komputer atau perangkat lainnya. Namun, kelemahannya adalah terbatasnya jumlah opsi yang dapat ditetapkan oleh jumlah sakelar yang tersedia, dan mereka tidak selalu praktis untuk digunakan dalam situasi di mana pengaturan harus berubah secara dinamis.

    H. Driver Motor L293D
        IC L293D adalah IC yang didesain khusus sebagai driver motor DC yang dapat dikendalikan dengan rangkaian TTL maupun mikrokontroler. Motor DC yang dikontrol  dengan driver IC L293D dapat dihubungkan ke ground maupun ke sumber tegangan positif karena di dalam driver L293D system driver yang digunakan adalah totem pool. Dalam 1 unit chip L293D terdiri dari 4 buah driver motor DC yang berdiri sendiri dengan kemampuan mengalirkan arus 1 Ampere tiap drivernya. Sehingga dapat digunakan untuk membuat driver H-bridge untuk 2 buah motor DC.

    I. LCD (Liquid Crystal Display)

        Liquid Crystal Display (LCD) adalah sebuah peralatan elektronik yang berfungsi untukmenampilkan output sebuah sistem dengan cara membentuk suatu citra atau gambaran pada sebuah layar. Secara garis besar komponen penyusun LCD terdiri dari kristal cair (liquid crystal) yang diapit oleh 2 buah elektroda transparan dan 2 buah filter polarisasi (polarizing filter). Struktur LCD dapat dilihat pada gambar berikut.
    Struktur LCD

    Keterangan:

    1. Film dengan polarizing filter vertical untuk memolarisasi cahaya yang masuk.

    2. Glass substrate yang berisi kolom-kolom elektroda Indium tin oxide (ITO).

    3. Twisted nematic liquid crystal (kristal cair dengan susunan terpilin).

    4. Glass substrate yang berisi baris-baris elektroda Indium tin oxide (ITO).

    5. Film dengan polarizing filter horizontal untuk memolarisasi cahaya yang masuk.

    6. Reflektor cahaya untuk memantulkan cahaya yang masuk LCD kembali ke mata pengamat.

        Sebuah citra dibentuk dengan mengombinasikan kondisi nyala dan mati dari pixel-pixel yang menyusun layar sebuah LCD. Pada umumnya LCD yang dijual di pasaran sudah memiliki integrated circuit tersendiri sehingga para pemakai dapat mengontrol tampilan LCD dengan mudah dengan menggunakan mikrokontroler untuk mengirimkan data melalui pin-pin input yang sudah tersedia.
    Module circuit dari LCD dan kaki-kakinya dapat dilihat melalui gambar berikut.

    TEXT LCD Module Circuit
     
      
    Kaki-kaki yang Terdapat pada LCD
    J. Seven Segment
    Seven segment merupakan tipe display elektronik yang terdiri dari tujuh segmen linier atau segmen kecil yang disusun dalam bentuk angka '8'. Setiap segmen memiliki kemampuan untuk menyala atau mati secara independen. Dengan mengatur kombinasi pencahayaan pada segmen-segmen tersebut, dapat dibentuk angka-angka, huruf, atau karakter khusus lainnya.

    Masing-masing segmen diberi label dengan huruf (a hingga g) dan dapat diaktifkan atau dimatikan untuk membentuk karakter tertentu. Misalnya, untuk menampilkan angka '0', segmen-segmen a, b, c, d, e, f harus dinyalakan, sementara untuk angka '1', segmen b dan c harus dinyalakan, dan seterusnya.

    Seven segment sering digunakan pada perangkat-perangkat tampilan yang membutuhkan tampilan digital sederhana seperti jam digital, oven, alat pengukur, kalkulator, dan perangkat elektronik lainnya di mana tampilan yang sederhana dan mudah dibaca cukup penting. Keunggulan dari seven segment adalah kemudahan dalam perancangan, kejelasan tampilan, dan efisiensi dalam penggunaan ruang, terutama untuk tampilan yang hanya membutuhkan informasi numerik dasar.

    K. Sensor LM 35
    Sensor suhu IC LM 35 merupkan chip IC produksi Natioanal Semiconductor yang berfungsi untuk mengetahui temperature suatu objek atau ruangan dalam bentuk besaran elektrik, atau dapat juga di definisikan sebagai komponen elektronika yang berfungsi untuk mengubah perubahan temperature yang diterima dalam perubahan besaran elektrik. Sensor suhu IC LM35 dapat mengubah perubahan temperature menjadi perubahan tegangan pada bagian outputnya. Sensor suhu IC LM35 membutuhkan sumber tegangan DC +5 volt dan konsumsi arus DC sebesar 60 µA dalam beroperasi. Bentuk fisik sensor suhu LM 35 merupakan chip IC dengan kemasan yang berfariasi, pada umumnya kemasan sensor suhu LM35 adalah kemasan TO-92 seperti terlihat pada gambar dibawah.  

    LM 35

        Dari gambar diatas dapat diketahui bahwa sensor suhu IC LM35 pada dasarnya memiliki 3 pin yang berfungsi sebagai sumber supply tegangan DC +5 volt, sebagai pin output hasil penginderaan dalam bentuk perubahan tegangan DC pada Vout dan pin untuk Ground.
        Karakteristik Sensor suhu IC LM35 adalah : 
    1.  Memiliki sensitivitas suhu, dengan faktor skala linier antara tegangan dan suhu 10 mVolt/ºC, sehingga dapat dikalibrasi langsung dalam celcius.
    2.   Memiliki ketepatan atau akurasi kalibrasi yaitu 0,5ºC pada suhu 25 ºC.
    3.  Memiliki jangkauan maksimal operasi suhu antara -55 ºC sampai +150 ºC. 
    4.  Bekerja pada tegangan 4 sampai 30 volt. 
    5. Memiliki arus rendah yaitu kurang dari 60 µA.
    6. Memiliki pemanasan sendiri yang rendah (low-heating) yaitu kurang dari 0,1 ºC pada udara diam. 
    7.  Memiliki impedansi keluaran yang rendah yaitu 0,1 W untuk beban 1 mA. 
    8. Memiliki ketidaklinieran hanya sekitar ± ¼ ºC. 
    9. Tegangan output sensor suhu IC LM35 dapat diformulasikan sebagai berikut :

     Vout LM35 = Temperature º x 10 mV

    L. Potensiometer

        Potensiometer (POT) adalah salah satu jenis Resistor yang Nilai Resistansinya dapat diatur sesuai dengan kebutuhan rangkaian elektronika ataupun kebutuhan pemakainya. Sebuah Potensiometer (POT) terdiri dari sebuah elemen resistif yang membentuk jalur (track) dengan terminal di kedua ujungnya. Sedangkan terminal lainnya (biasanya berada di tengah) adalah Penyapu (Wiper) yang dipergunakan untuk menentukan pergerakan pada jalur elemen resistif (Resistive). Pergerakan Penyapu (Wiper) pada Jalur Elemen Resistif inilah yang mengatur naik-turunnya Nilai Resistansi sebuah Potensiometer. 

    M. Power Supply

        Dalam bahasa Indonesia, Power Supply berarti Sumber Daya. Fungsi dari power supply adalah memberikan daya arus listrik ke berbagai komponen. Sumber energi listrik yang berasal dari luar masih berbentuk alternating current (AC). Ketika energi listrik masuk ke power supply, maka energi listrik akan dikonversi menjadi bentuk direct current (DC). Daya DC inilah yang kemudian disalurkan ke semua komponen yang ada di dalam chasing komputer agar dapat bekerja.

     

    No comments:

    Post a Comment