Anda di halaman 1dari 11

Pulse Width Modulation (PWM)

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.

Aplikasi PWM berbasis mikrokontroller biasanya berupa pengendalian kecepatan


motor DC, pengendalian motor servo, dan pengaturan nyala terang LED. Oleh karena
itu diperlukan pemahaman terhadap konsep PWM itu sendiri.

Konsep Dasar PWM


Sinyal PWM pada umumnya memiliki amplitude dan frekuensi dasar yang tetap,
namun memiliki lebar pulsa yang bervariasi. Lebar pulsa PWM berbanding lurus
dengan amplitude sinyal asli yang belum termodulasi. Artinya, sinyal PWM memiliki
frekuensi gelombang yang tetap namun duty cycle bervariasi antara 0% hingga 100%.

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.

Secara analog setiap perubahan PWM-nya sangat halus, sedangkan secara


digital setiap perubahan PWM dipengaruhi oleh resolusi PWM itu sendiri. Resolusi
adalah jumlah variasi perubahan nilai dalam PWM tersebut. Misalkan suatu PWM
memiliki resolusi 8 bit, berarti PWM ini memiliki variasi perubahan nilai sebanyak

256 variasi mulai dari 0 – 225 perubahan nilai yang mewakili duty cycle 0% –
100% dari keluaran PWM tersebut.

Metode PWM Driver Motor DC Dengan IC555


Dalam pengaturan kecepatan motor DC salah satunya yang populer adalah
dengan teknik PWM. Dengan metode ini motor DC diberikan sumber tegangan yang
stabil dengan frekuensi kerja yang sama tetapi ton duty cycle pulsa kontrol kecepatan
motor DC yang bervariasi. Konsep PWM pada driver motor DC adalah mengatur lebar
sisi positif dan negative pulsa kontrol pada frekuensi kerja yang tetap. Semakin lebar
sisi pulsa positif maka semakin tinggi kecepatan putar motor DC dan semakin lebar sisi
pulsa negatif maka semakin rendah kecepatan putar motor DC.

Metode PWM pada driver motor DC secara singkat dapat dijelaskan


menggunakan rangkaian driver motor DC satu arah dengan kontrol PWM
menggunakan IC NE555 seperti pada rangkaian dibawah.

Rangkaian sederhana diatas dapat memberikan gambaran tentang teknik PWM


pada driver motor DC. IC555 diset sebagai astabil multivibrator dengan frekuensi kerja
tetap (nilai RC tetap) dengan output diberikan ke rangkaian driver motor DC sederhana
dengan mosfet. Konsep dasar kontrol PWM menggunakan rangkaian diatas terletak
pada penambahan dua buah diode yang mengendalikan proses charge dan discharge
kapasitor 0,1uF. Posisi tuas potensiometer 100K yang terhubung dengan dua buah
diode tersebut akan menentukan waktu charge atau discharge kapasitor 0,1uF. Berikut
bentuk gelombang charge dan discharge terhadap output astabil multivibrator NE555
sebagai kontrol PWM driver motor DC pada rangkaian diatas.

Metode PWM Driver Motor DC Dengan LM741


Rangkaian kontrol motor DC ini menggunakan penguat op-amp 741 pengikut
tegangan masukan non inverting yang terhubung ke kecepatan dan arah rotasi
potensiometer VR1. Ketika VR1 berada pada posisi tengah, output op-amp adalah
mendekati nol dan Q1-Q2 adalah off. Ketika VR1 berpaling ke arah sisi posistif, output
akan on dan Q1 akan memasok arus ke motor dan Q2 akan off. Ketika VR1 berpaling
kearah sisi negatif switch keluaran op-amp dengan tegangan negatif dan akan Q1 off
dan Q2 on yang membalikkan arah rotasi motor.
Metode PWM Motor DC Dengan LM324
Rangkaian speed controller motor DC ini menggunakan op-amp yang difungsikan
sebagai pembangkit PWM. Tenaga kerja rangkaian controller ini dapat disesuaikan
dengan kebutuhan tegangan kerja motor DC yang dikendalikan. Frekuensi kerja
rangkaian ini adalah 400Hz dengan lebar pulsa high dan low yang dapat dikontrol.
Rangkaian ini dapat mengendalikan motor DC 12 Volt hingga 24 Volt. Rangkaian ini
juga menggunakan driver mosfet.

Untuk mengendalikan kecepatan motor DC dapat menggunakan potensiometer


VR1. Semakin rendah semakin rendah tegangan yang diberikan kepada op-amp,
semakin cepat putaran motor DC dan semakin tinggi tegangan yang diberikan kepada
op-amp, semakin lambat putaran motor DC. Untuk meningkatkan kemampuan daya
rangkaian diatas dapat diganti mosfet yang memiliki kemampuan mengalirkan arus
yang lebih besar (IRF521).
Kendali Motor Servo dengan Pulse Width Modulation (PWM) pada
Mikrokontroler AVR.
by Saripudin under elektro, mikrokontroler, robotics, teknologi

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)

Dickson Kho Teori Elektronika

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).

Siklus Kerja PWM (PWM Duty Cycle)

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.

Duty Cycle = tON / (tON + tOFF)

Atau

Duty Cycle = tON / ttotal

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 PWM (PWM Frequency)

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.

Berikut ini adalah Rumus untuk menghitung Frekuensi :

Frequency = 1 / Time Period

Keterangan : Time Periode atau Periode Waktu = Waktu ON + Waktu OFF

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.

Bagaimana cara menghitung tegangan output 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
:

Vout = Duty Cycle x Vin

Contoh Kasus Perhitungan PWM :

Desain PWM dengan siklus kerja 60% dengan frekuensi 50Hz dan Tegangan Input 5V.

Penyelesaiannya :

Diketahui :

Duty Cycle : 60%


Frequency : 50Hz
Vin : 5V

Mencari Time Period atau Periode Waktu :

Time Period = 1 / 50Hz


Time Period = 0,02 detik atau 20 milidetik

Mencari Waktu ON (ON-Time) dengan siklus kerja 60% (0,6)

Duty Cycle = tON / (tON + tOFF)


0,6 = tON / (tON + tOFF)
0,6 = tON / 20 milidetik
tON = 0,6 x 20 milidetik
tON = 12 milidetik
Mencari Waktu OFF (OFF-Time)
tOFF = ttotal – tON
tOFF = 20 – 12
tOFF = 8 milidetik

Mencari Tegangan Output

Vout = Duty Cycle x Vin


Vout = 60% x 5V
Vout = 3V

Hasil dari Perhitungan diatas dapat digambarkan menjadi seperti grafik dibawah ini :

Anda mungkin juga menyukai