Pengertian PWM
Pulse Width Modulation (PWM) secara umum adalah sebuah cara memanipulasi
lebar sinyal yang dinyatakan dengan pulsa dalam satu periode, untuk mendapatkan
tegangan rata-rata yang berbeda. Bebarapa contoh aplikasi PWM adalah pemodulasian
data untuk telekomunikasi, pengontrolan daya atau tegangan yang masuk ke beban,
regulator tegangan, audio effect dan penguatan, serta aplikasi-aplikasi lainnya.
Dari persamaan diatas, diketahui bahwa perubahan duty cycle akan merubah
tegangan output atau tegangan rata-rata seperti gambar dibawah ini.
PWM merupakan salah satu teknik untuk mendapatkan sinyal analog dari
sebuah piranti digital. Sebenarnya sinyal PWM dapat dibangkitkan dengan banyak cara,
secara analog menggunakan IC op-amp atau secara digital.
256 variasi mulai dari 0 – 225 perubahan nilai yang mewakili duty cycle 0% –
100% dari keluaran PWM tersebut.
Untuk dapat mengontrol motor servo kita perlu memberikan pulsa high dan pulsa low dengan lebar
tertentu. Frekuensi yang diperlukan adalah 50 Hz. Pulsa ini dapat dihasilkan dengan port I/O biasa pada
mikrokontroler. Namun terkadang dengan cara ini pergerakan servo menjadi kurang akurat. Oleh karena
itu digunakan metode Pulse Width Modulation (PWM). Dengan metode PWM dapat dihasilkan gerakan
servo yang cukup akurat dengan resolusi yang kita sesuaikan dengan keinginan kita
Berikut ini adalah salah satu contoh pulsa yang dihasilkan untuk menggerakan servo dengan
sudut 0o,90o, dan 180o
Pulsa ini dapat dihasilkan dari pin OCR pada mikrokontroler. Perlu pengaturan register timer
pada mikrokontroler agar dapat dihasilkan pulsa dengan lebar yang sesuai kita inginkan. Hal
yang sangat penting adalah pengaturan frekuensi dan lebar pulsa on dan pulsa off. Oleh karena
itu perlu dihitung berapa konstanta-konstanta timer yang di atur pada mikrokontroler.
Dua parameter utama yang diperlukan untuk mencari konstanta-konstanta timer adalah nilai
clock mikrokontroler dan nilai clock timer (ditentukan dari prescaler). Dari kedua parameter itu
kita dapat merancang lebar pulsa high dan pulsa low dengan frekuensi tertentu yang sesuai untuk
menggerakan motor servo, seperti pulsa pada gambar di atas.
Sebagai contoh kita menggunakan clock eksternal 11.059200 MHz. Untuk pembangkitan PWM
kita menggunakan Timer1. Alasan menggunakan Timer1 karena timer ini dapat menampung data
sebesar 16 bit sehingga dapat dihasilkan resolusi yang cukup besar untuk menggerakan servo.
Maksud resolusi ini adalah besarnya nilai sudut step dari servo, semakin besar resolusi maka step
gerakan servo semakin halus, dan sebaliknya jika resolusinya kecil maka gerakan servo akan
terlihat patah-patah.
Mode PWM yang digunakan adalah Phase Correct PWM top=ICR1 dengan prescaler 8 sehingga
nilai clock timer adalah 1382.4 KHz. Dengan demikian kenaikan counter pada timer dapat
dihitung dari periodenya yaitu 1/1382.4 KHz = 7.2338x10-7 s atau sekitar 72.34 mikrosekon.
Periode PWM yang kita ingin hasilkan adalah 20 ms, karena kita menggunakan mode Phase
Correct PWM maka periodenya adalah dua kalinya dari kenaikan counter timer, sehingga nilai
counter timer adalah 10 ms. Nilai top dari timer bergantung dari ICR1 dimana nilainya dihitung
dari pembagian total waktu yang kita inginkan dengan periode timer yaitu 10 ms / 7.2338x10-7 =
13823.99. Nilai inilah yang perlu dimasukan ke register ICR1. Karena register adalah tipe data
integer maka perlu dibulatkan menjadi 13824. Dalam bilangan hexadimal menjadi 0x3600.
Berikut adalah pengaturan timer dengan menggunakan CodeWizardAVR. Untuk keluaran PWM
dihasilkan hanya pada Out A yaitu port OCR1A dengan Non-Inv agar pulsa yang dihasilkan
tidak dilakukan pembalikan.
Pengertian PWM (Pulse Width Modulation atau Modulasi Lebar Pulsa) – Rangkaian-
rangkaian seperti Inverter, Konverter, Switch mode power supply (SMPS) dan Pengontrol
kecepatan (Speed Controller) adalah rangkaian-rangkaian memiliki banyak sakelar elektronik di
dalamnya. Sakelar-sakelar elektronik yang digunakan pada rangkaian tersebut umumnya adalah
komponen elektronik daya seperti MOSFET, IGBT, TRIAC dan lain-lainnya. Untuk
mengendalikan sakelar elektronik daya semacam ini, kita biasanya menggunakan sesuatu yang
disebut sinyal PWM (Pulse Width Modulation). Selain itu, sinyal PWM juga sering digunakan
untuk mengendarai motor Servo dan juga digunakan untuk melakukan tugas-tugas sederhana
lainnya seperti mengendalikan kecerahan LED.
Pengertian PWM (Pulse Width Modulation)
PWM adalah kepanjangan dari Pulse Width Modulation atau dalam bahasa Indonesia dapat
diterjemahkan menjadi Modulasi Lebar Pulsa. Jadi pada dasarnya, PWM adalah suatu teknik
modulasi yang mengubah lebar pulsa (pulse width) dengan nilai frekuensi dan amplitudo yang
tetap. PWM dapat dianggap sebagai kebalikan dari ADC (Analog to Digital Converter) yang
mengkonversi sinyal Analog ke Digital, PWM atau Pulse Width Modulation ini digunakan
menghasilkan sinyal analog dari perangkat Digital (contohnya dari Mikrokontroller).
Untuk lebih memahami apa yang dimaksud dengan PWM atau Pulse Width Modulation ini. Kita
coba melihat contoh dari sinyal yang dihasilkan oleh Mikrokontroler atau IC 555. Sinyal yang
dihasilkan oleh Mikrokontrol atau IC555 ini adalah sinyal pulsa yang umumnya berbentuk
gelombang segiempat. Gelombang yang dihasilkan ini akan tinggi atau rendah pada waktu
tertentu. Misalnya gelombang tinggi di 5V dan paling rendah di 0V. Durasi atau lamanya waktu
dimana sinyal tetap berada di posisi tinggi disebut dengan “ON Time” atau “Waktu ON”
sedangkan sinyal tetap berada di posisi rendah atau 0V disebut dengan “OFF Time” atau “Waktu
OFF”. Untuk sinyal PWM, kita perlu melihat dua parameter penting yang terkait dengannya
yaitu Siklus Kerja PWM (PWM Duty Cycle) dan Frekuensi PWM (PWM Frequency).
Seperti yang disebutkan diatas, Sinyal PWM akan tetap ON untuk waktu tertentu dan kemudian
terhenti atau OFF selama sisa periodenya. Yang membuat PWM ini istimewa dan lebih
bermanfaat adalah kita dapat menetapkan berapa lama kondisi ON harus bertahan dengan cara
mengendalikan siklus kerja atau Duty Cycle PWM.
Persentase waktu di mana sinyal PWM tetap pada kondisi TINGGI (ON Time) disebut dengan
“siklus kerja” atau “Duty Cycle”. Kondisi yang sinyalnya selalu dalam kondisi ON disebut
sebagai 100% Duty Cycle (Siklus Kerja 100%), sedangkan kondisi yang sinyalnya selalu dalam
kondisi OFF (mati) disebut dengan 0% Duty Cycle (Siklus Kerja 0%).
Rumus untuk menghitung siklus kerja atau duty cycle dapat ditunjukkan seperti persamaan di
bawah ini.
Atau
Dimana :
tON = Waktu ON atau Waktu dimana tegangan keluaran berada pada posisi tinggi (high atau 1)
tOFF = Waktu OFF atau Waktu dimana tegangan keluaran berada pada posisi rendah (low atau 0)
ttotal = Waktu satu siklus atau penjumlahan antara tON dengan tOFF atau disebut juga dengan
“periode satu gelombang”
Siklus Kerja = Waktu ON / (Waktu ON + Waktu OFF)
Gambar berikut ini mewakili sinyal PWM dengan siklus kerja 60%. Seperti yang kita lihat,
dengan mempertimbangkan seluruh periode waktu (ON time + OFF time), sinyal PWM hanya
ON untuk 60% dari suatu periode waktu.
Frekuensi sinyal PWM menentukan seberapa cepat PWM menyelesaikan satu periode. Satu
Periode adalah waktu ON dan OFF penuh dari sinyal PWM seperti yang ditunjukkan pada
gambar di atas.
Biasanya sinyal PWM yang dihasilkan oleh mikrokontroler akan sekitar 500 Hz, frekuensi tinggi
tersebut akan digunakan dalam perangkat switching yang berkecepatan tinggi seperti inverter
atau konverter. Namun tidak semua aplikasi membutuhkan frekuensi tinggi. Sebagai contoh,
untuk mengendalikan motor servo kita hanya perlu menghasilkan sinyal PWM dengan frekuensi
50Hz, frekuensi sinyal PWM ini juga dapat dikendalikan oleh program untuk semua
mikrokontroler.
Perbedaan antara Siklus Kerja (Duty Cycle) dengan Frekuensi sinyal PWM
Siklus kerja dan frekuensi sinyal PWM sering membingungkan. Seperti yang kita ketahui bahwa
sinyal PWM adalah gelombang persegi dengan waktu ON dan waktu OFF. Jumlah dari Waktu
ON (ON-Time) dan Waktu OFF (OFF-Time) ini disebut sebagai satu periode waktu. Kebalikan
dari satu periode waktu disebut frekuensi. Sementara jumlah waktu sinyal PWM harus tetap
dalam satu periode waktu ditentukan oleh siklus kerjaPWM.
Sederhananya, seberapa cepat sinyal PWM harus dihidupkan (ON) dan dimatikan (OFF)
ditentukan oleh frekuensi sinyal PWM dan kecepatan berapa lama sinyal PWM harus tetap ON
(hidup) ditentukan oleh siklus kerja sinyal PWM.
Tegangan output sinyal PWM yang telah diubah menjadi analog akan menjadi persentase dari
siklus kerja (Duty Cycle). Misalnya jika tegangan operasi 5V maka sinyal PWM juga akan
memiliki 5V ketika tinggi. Apabila Duty Cycle atau siklus kerja adalah 100%, maka tegangan
output akan menjadi 5V. Sedangkan untuk siklus kerja 50% akan menjadi 2.5V. Demikian juga
apabila siklus kerja 60% maka Tegangan Output analognya akan menjadi 3V.
Rumus perhitungan tegangan output sinyal PWM ini dapat dilihat seperti persamaan dibawah ini
:
Desain PWM dengan siklus kerja 60% dengan frekuensi 50Hz dan Tegangan Input 5V.
Penyelesaiannya :
Diketahui :
Hasil dari Perhitungan diatas dapat digambarkan menjadi seperti grafik dibawah ini :