Langsung ke konten utama

Pengenalan PWM Pada Arduino


Pengenalan PWM (Pulse Width Modulation) Pulse Width Modulation (PWM) merupakan suatu teknik untuk mendapatkan hasil output analog dengan pendekatan secara digital. Teknik PWM ini mengendalikan lebar pulsa berdasarkan modulator. Meski bapat diterapkan dalam penyandian informasi komunikasi, penerapan utamanya lebih pada kendali daya perangkat listrik, semisal motor. Kendali digital digunakan untuk membentuk sebuah gelombang kotak (square wave), sebuah gelombang signal untuk switch antara kondisi on dengan off. Pola kondisi on dan off tersebut merepresentasikan suatu nilai full on pada Arduino (5 volt) dan kondisi off (0 volt) dengan mengubah perbandingan ratio antara waktu kondisi on dengan kondisi off dalam satu periode. Durasi waktu on disebut dengan istilah lebar pulsa, pulse width. Untuk mendapatkan suatu variasi hasil output nilai analog, dapat dilakukan dengan mengubah lebar pulsa tersebut. Perbandingan antara waktu signal on dengan waktu satu periode disebut dengan duty cycle.
Aplikasi penggunaan PWM biasanya ditemui untuk pengaturan kecepatan motor dc, pengaturan cerah/redup LED, dan pengendalian sudut pada motor servo. Contoh penggunaan PWM pada pengaturan kecepatan motor dc semakin besar nilai duty cycle yang diberikan maka akan berpengaruh terhadap cepatnya putaran motor. Apabila nilai duty cylce-nya kecil maka motor akan bergerak lambat. Untuk membandingkannya terhadap tegangan DC, PWM memiliki 3 mode operasi yaitu :
1. Inverted Mode Pada mode inverted ini jika nilai sinyal lebih besar dari pada titik pembanding (compare level) maka output akan di set high (5v) dan sebaliknya jika nilai sinyal lebih kecil maka output akan di set low (0v).
2. Non Inverted Mode Pada mode non inverted ini output akan bernilai high (5v) jika titik pembanding (compare level) lebih besar dari pada nilai sinyal dan sebaliknya jika bernilai low (0v) pada saat titik pembanding lebih kecil dari nilai sinyal.
3. Toggle Mode Pada mode toggle output akan beralih dari nilai high (5v) ke nilai low (0v) jika titik pembanding sesuai dan sebaliknya beralih dari nilai low ke high.

Duty Cycle Duty cycle dapat diartikan sebagai perbandingan antara waktu signal on dengan waktu keseluruhan untuk satu periode. Besamya nilai duty cycle dinyatakan dalam percent. Nilai duty cycle dapat bervariasi mulai dari 0% tidak ada signal on, hingga 100% tidak ada signal off, atau selalu dalam kondisi signal on. Sebagai contoh duty cycle 60% dengan durasi 1000 ms. Maka waktu saat signal on ialah 60% dari 1000 ms, yakni 600 ms. Sedangkan untuk waktu signal off ialah selisih antara durasi keseluruhan dengan waktu signal on, yakni 400 ms.




Untuk mencari voltage rata-rata (Voltage Average)



Untuk mencari frekuensi pwm :




Komentar

Postingan populer dari blog ini

Tugas VClass 3 Elektroika Dasar

UJT (UniJunction Transistor)             Unijunction transistor merupakan sebuah komponen elektronik semi konduktor yang hanya mempunyai satu pertemuan.             UniJunction Transistor mempunyai tiga saluran, sebuah emitor (E) dan dua basis (B1 dan B2). Basis dibentuk oleh batang silikon tipe-n yang terkotori ringan. Dua sambungan ohmik B1 dan B2 ditambahkan pada kedua ujung batang silikon. Resistansi di antara B1 dan B2 ketika emitor dalam keadaan rangkaian terbuka dinamakan resistensi antarbasis (interbase resistance). Ada dua tipe dari transistor pertemuan tunggal, yaitu: ·         Transistor pertemuan tunggal dasar, atau UJT, adalah sebuah peranti sederhana yang pada dasarnya adalah sebuah batangan semikonduktor tipe-n yang ditambahkan difusi bahan tipe-p di suatu tempat sepanjang batangan, menentukan parameter ษณ...

Pemrograman Devais FPGA

Encoder // Design Name : encoder_using_if // File Name   : encoder_using_if.v // Function    : Encoder using If // Coder       : Deepak Kumar Tala Digunakan untuk kolom yang berisikan komentar pada program encoder_using_if. module  encoder_using_if( binary_out ,  //  4 bit binary output encoder_in ,  //  16-bit input enable        //  Enable for the encoder ); Untuk membuat sebuah modul dengan nama encoder_using_if, dan didalamnya terdapat variable binary_out 4 bit sebagai output, encoder_in 16 bit sebagai input, dan enable sebagai input. //-----------Output Ports--------------- output  [3:0] binary_out  ; M endeklarasian port output dari binary_out yang keluaranya 4bit. //-----------Input Ports--------------- input   enable ; input  [15:0] ...