0% menganggap dokumen ini bermanfaat (0 suara)
23 tayangan10 halaman

Gelombang PWM pada Mikrokontroler

PWM (Pulse Width Modulation) digunakan untuk mengatur lebar pulsa keluaran pin mikrokontroler dengan mengatur nilai register OCR. TCNT terus menghitung naik turun sementara nilai OCR membentuk pulsa keluaran pin dengan memodulasi lebar pulsa. Konfigurasi TCCR dan OCR menentukan bentuk gelombang PWM untuk aplikasi seperti pengaturan kecepatan motor dan terang lampu.

Diunggah oleh

Jimmi Nadapdap
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
23 tayangan10 halaman

Gelombang PWM pada Mikrokontroler

PWM (Pulse Width Modulation) digunakan untuk mengatur lebar pulsa keluaran pin mikrokontroler dengan mengatur nilai register OCR. TCNT terus menghitung naik turun sementara nilai OCR membentuk pulsa keluaran pin dengan memodulasi lebar pulsa. Konfigurasi TCCR dan OCR menentukan bentuk gelombang PWM untuk aplikasi seperti pengaturan kecepatan motor dan terang lampu.

Diunggah oleh

Jimmi Nadapdap
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

Pulse Width

Modulation (PWM)
SISTEM
MIKROKONTROLER
I Gde Eka Dirgayussa
Pendahuluan
• Salah satu kelebihan AVR ATmega8535 dibandingkan dengan generasi 8051 (misal:
AT89C51/52 atau AT89S51) adalah Timer/Counternya dapat difungsikan sebagai
pembangkit gelombang (wave generator) seperti PWM.
• Karena pulsa dibangkitkan oleh mikrokontroler, maka diperlukan PIN khusus sebagai
output dari pulsa tersebut
• Aplikasi PWM sangat beragam, misalnya: mengatur kecepatan motor DC, mengatur
sudut putar motor servo, mengatur terang-redup lampu, dll.

AT89S5
1 AT89C51 ATmega85
09/03/2021 GDE/SISMIK/TEKNIK ELEKTRO 35 2
PIN PWM pada mikrokontroler
No. PIN Keterangan
1 OC0 (PIN4/PB.3) PWM dari Timer/Counter0
2 OC1A(PIN19/PD.5) PWM dari Timer/Counter1
3 OC1B(PIN18/PD.4) PWM dari Timer/Counter1
4 OC2 (PIN21/PB.7) PWM dari Timer/Counter2

09/03/2021 GDE/SISMIK/TEKNIK ELEKTRO 3


Prinsip Kerja PWM
Up Counting
TCNT0
Down Counting
255

OCR0

t
• Misalnya kita gunakan PWM0
• Register TCNT0 mulai mencacah mulai dari 0,1,2 sampai 255 (up-counting),
kemudian mencacah turun dari 255, 254, 253 sampai 0 (down-counting), kemudian
up-counting lagi demikian seterusnya.
• Nilai Register OCR0 akan dibandingkan dengan nilai TCNT0 (dalam hal ini akan ada
kondisi OCR0=TCNT0, maka kondisi ini disebut “match” yang dapat terjadi saat
up-counting) ataupun down-counting.
09/03/2021 GDE/SISMIK/TEKNIK ELEKTRO 4
Prinsip Kerja PWM (lanjutan)
Up Counting
TCNT0
Down Counting
255

OCR0

t
• Pada saat match inilah nilai logika pin OCR0 akan diubah. Jika semula ‘1’ (high) akan
menjadi ‘0’ (low) demikian juga sebaliknya sehingga terjadi gelombang kotak.
• Dengan mengatur nilai OCR0, maka lebar pulsa (pulse width) dapat kita atur juga.
• Pengaturan PWM dengan CVAVR, kita perlu mengakses register Timer/Counter.
• Misalnya: PWM0 (PWM dari Timer0) melibatkan 2 register yaitu:
1. TCCR0  untuk setting Timer
2. OCR0  untuk nilai PWM
09/03/2021 GDE/SISMIK/TEKNIK ELEKTRO 5
Konfigurasi PWM

Konfigurasi TCCR0

Ref. Datasheet ATmega8535 hal 82

• Bit ke-7 (FOC0): selalu diisi angka ‘0’ Ketika PWM diaktifkan
• Bit ke-6 (WGM00) dan Bit ke-3 (WGM01) dipakai untuk membentuk gelombang
PWM dengan konfigurasi sbb:

WGM01 WGM00 Mode Operasi


0 0 Normal
0 1 PWM, Phase Correct

09/03/2021 GDE/SISMIK/TEKNIK ELEKTRO 6


Konfigurasi PWM

Konfigurasi TCCR0 (lanjutan)

Ref. Datasheet ATmega8535 hal 82

• Bit ke-5 (COM01) dan bit ke-4 (COM00): digunakan untuk mengatur bentuk PWM
(inverting atau non-inverting), dengan konfigurasi sbb:
COM01 COM00 Keterangan
0 0 OC0 OFF
0 1 OC0 di-toggling ketika match
1 0 OC0di-clear (0) ketika match
1 1 OC0 di-set (1) ketika match

09/03/2021 GDE/SISMIK/TEKNIK ELEKTRO 7


Konfigurasi PWM

Konfigurasi TCCR0 (lanjutan)

Ref. Datasheet ATmega8535 hal 82

• Bit ke-2 s/d bit ke-0 untuk menentukan nilai Timer.

09/03/2021 GDE/SISMIK/TEKNIK ELEKTRO 8


Implementasi

//Tutorial 8: Membuat PWM dari Timer0


#include <mega8535.h>
void main(void)
{
DDRB.3=1;
TCCR0=0b01110001;
OCR0=128;
while(1);
}

09/03/2021 GDE/SISMIK/TEKNIK ELEKTRO 9


Referensi

1. Agung Setiabudi.2020. Kuliah Sistem Mikrokontroler, Universitas Brawijaya


2. Barret, Steven F, “Atmel AVR Microcontroller Primer: Programming and Interfacing”
Morgan and Claypool, 2008.
3. Gadre, Dhananjay V, “Programming & Customizing The AVR Microcontroller”, Mc-
Graw Hill, 2001
4. Master Micro V.2. 2019. Gampang Belajar Sendiri Mikrokontroler AVR. ARDUTECH
5. Ricardo Guiterrez-Osuna. Wright State University
6. [Link] [Diakses 8 Februari 2021]

09/03/2021 GDE/SISMIK/TEKNIK ELEKTRO 10

Anda mungkin juga menyukai