PWM (Pulse Width Modulation) DAN APLIKASINYA
8.3 Kendali Intensitas Cahaya LED
5.14 dari 20 halaman Fathur Zaini Rachman, Nur Yanti, Nurwahidah Jamal OCR1A=SA;
OCR1B=SB;
// Place your code here }
}
5.15 dari 20 halaman Fathur Zaini Rachman, Nur Yanti, Nurwahidah Jamal - Listing program:
#include <mega8535.h>
#include <delay.h>
// Declare your global variables here
void main(void) {
unsigned int i;
// Declare your local variables here
// Input/Output Ports initialization // Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTA=0x00;
DDRA=0x00;
// Port B initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 PORTB=0x00;
DDRB=0xFF;
// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00;
DDRC=0x00;
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00;
DDRD=0x00;
// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 16000.000 kHz // Mode: Fast PWM top=0xFF // OC0 output: Non-Inverted PWM TCCR0=0x69;
TCNT0=0x00;
OCR0=0x00;
// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=0xFFFF // OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off
5.16 dari 20 halaman Fathur Zaini Rachman, Nur Yanti, Nurwahidah Jamal // Input Capture Interrupt: Off
// Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer2 Stopped // Mode: Normal top=0xFF // OC2 output: Disconnected ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
// External Interrupt(s) initialization // INT0: Off
// INT1: Off // INT2: Off MCUCR=0x00;
MCUCSR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00;
// USART initialization // USART disabled UCSRB=0x00;
// Analog Comparator initialization // Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80;
SFIOR=0x00;
// ADC initialization // ADC disabled ADCSRA=0x00;
// SPI initialization // SPI disabled SPCR=0x00;
// TWI initialization // TWI disabled
5.17 dari 20 halaman Fathur Zaini Rachman, Nur Yanti, Nurwahidah Jamal TWCR=0x00;
while (1) {
if(OCR0==0xFF) {
OCR0=0xFF;
delay_ms(1000);
for (i=0;i<255;i++) {
OCR0--;
delay_ms(10);
}
OCR0=0x00;
delay_ms(1000);
}
else if(OCR0<0xFF) {
OCR0++;
delay_ms(10);
} }
}
C. Gambar Praktik
D. Keterangan & Kesimpulan
Saat push button di PINA.0, ditekan, maka output LED akan semakin terang, pada saat push button di PINA.1, ditekan, maka output LED akan semakin redup.
Intensitas cahaya yang dihasilkan LED, baik tingkat redup dan terangnya, bergantung pada seberapa lama push button pada masing-masing input ditekan.
5.18 dari 20 halaman Fathur Zaini Rachman, Nur Yanti, Nurwahidah Jamal LATIHAN SOAL 8
1. Apa yang dimaksud dengan PWM ?
2.
Modulasi lebar pulsa (PWM) dicapai/diperoleh dengan cara ?3.
Proses pembangkitan SPWM secara digital dapat dilakukan dengan 2 cara, sebutkan ?JAWABAN SOAL 8
1. PWM merupakan sebuah mekanisme untuk membangkitkan sinyal keluaran yang periodenya berulang antara high dan low dimana kita dapat mengontrol durasi sinyal high dan low sesuai dengan yang kita inginkan.
2. Modulasi lebar pulsa (PWM) dicapai/diperoleh dengan bantuan sebuah gelombang kotak yang mana siklus kerja (duty cycle) gelombang dapat diubah-ubah untuk mendapatkan sebuah tegangan keluaran yang bervariasi yang merupakan nilai ratarata dari gelombang tersebut.
3. 2 cara Proses pembangkitan SPWM secara digital:
3. Dengan membangkitkan gelombang segitiga dan gelombang sinus secara diskret dengan metode look up table.
4. Dengan mencari terlebih dahulu waktu untuk setiap pulsa masing-masing sinyal penggerak, untuk dijadikan data dalam proses pembangkitan sinyal penggerak secara look up table.
RANGKUMAN
PWM merupakan sebuah mekanisme untuk membangkitkan sinyal keluaran yang periodenya berulang antara high dan low dimana kita dapat mengontrol durasi sinyal high dan low sesuai dengan yang kita inginkan. Pengaksesan larik biasanya dibuat dengan menggunakan perulangan (looping), array dapat dibedakan berdasarkan jumlah dimensinya.
Modulasi lebar pulsa (PWM) dicapai/diperoleh dengan bantuan sebuah gelombang kotak yang mana siklus kerja (duty cycle) gelombang dapat diubah-ubah untuk mendapatkan sebuah tegangan keluaran yang bervariasi yang merupakan nilai ratarata dari gelombang tersebut.
Proses pembangkitan SPWM secara digital dapat dilakukan dengan 2 cara, yaitu: 1.
Dengan membangkitkan gelombang segitiga dan gelombang sinus secara diskret dengan metode look up table. Kemudian dilakukan pembandingan untuk masingmasing
5.19 dari 20 halaman Fathur Zaini Rachman, Nur Yanti, Nurwahidah Jamal nilai amplitudo gelombang sinus dan segitiga. Cara ini sama halnya dengan membangkitkan gelombang sinus analog dan gelombang segitiga analog secara digital.
2. Dengan mencari terlebih dahulu waktu untuk setiap pulsa masing-masing sinyal penggerak, untuk dijadikan data dalam proses pembangkitan sinyal penggerak secara look up table.
TEST FORMATIF 8
1. Sebuah mekanisme pada mikrokontroler untuk membangkitkan sinyal keluaran yang periodenya berulang antara high dan low dimana kita dapat mengontrol durasi sinyal high dan low sesuai dengan yang kita inginkan, menggunakan ?
a. PWM b. ADC c. I2C d. SPI
2. Salah satu contoh penggunaan PWM dibawah ini adalah?
a. Pengaturan intensitas cahaya LED b. Pengaturan kecepatan motor c. Pengaturan output tegangan d. Semua jawaban benar
3. Lamabang waktu dimana tegangan keluaran berada pada posisi tinggi adalah ? a. Ton
b. Toff c. Ttotal
d. Semua jawaban salah
4. Proses pembangkitan SPWM secara digital dapat dilakukan dengan berapa cara ? a. 2
b. 3 c. 4 d. 5
5. Pada mode fast hampir sama dengan phase correct hanya register TCNTx mencacah naik tanpa mencacah turun.
a. TCNTx c. TCTNx
b. OCSRx d. OCSRA
5.20 dari 20 halaman Fathur Zaini Rachman, Nur Yanti, Nurwahidah Jamal
DAFTAR PUSTAKA
Widodo, Romy B. (2009). Embedded System Mengguanakan Mikrokontroler dan Pemrograman C. Yogyakarta: C.V Andi Offset.
Putra, Eko P. (2005). Belajar Mikrokontroler AT89C51/52/55 (Teori dan Aplikasi).
Yogyakarta: Gava Media.
Syahrul. (2012). Assembler (Bahasa Rakitan). Bandung: Informatika.
Budiharto, Widodo. (2008). Panduan Pratikum Mikrokontroler AVR ATmega16. Jakarta:
PT Elex Media Komputindo.
Sumardi. (2013). Belajar Mikrokontroler AVR Mulai dari Nol. Yogyakarta: Graha Ilmu.
Andrianto, Hari.(2013). Pemrograman Mikrokontroler AVR ATmega 16 Menggunakan Bahasa C (edisi revisi). Bandung: Informatika.
6.1 dari 23 halaman Fathur Zaini Rachman, NurYanti, Nurwahidah Jamal