Laporan Mikrokontroller - AVR PWM

download Laporan Mikrokontroller - AVR PWM

If you can't read please download the document

description

AVR PWM

Transcript of Laporan Mikrokontroller - AVR PWM

LAPORAN SEMENTARA

Tanggal: 4 Juni 2014Dosen: Pak Ahkmad HendriawanKelompok: 1. Arif Hidayat (1103121007) 2. Azwar Hamid (1103121011)

Percobaan 1 : PWM Phase Correct 8 bit On Timer 3Program:

#include int main (void) {DDRE= _BV(PE3);TCCR3B= _BV(CS30);TCCR3A= _BV(WGM30) |_BV(COM3A1);OCR3A=200;while(1){}}Hasil Percobaan :Fase Correct PWM : (teori) = 31.372 KHz (prak) = 31.340 HzPersentase error : |31.372 31.340| / 31.372 = 0,102%Duty cycle : (teori) = 77,388% (prak) = 78.125%Persentase error : |78,388 78,125| / 78,388 = 0,95%

Percobaan 2 : PWM Fast 8 bit on timer 3Program:#include int main (void) {DDRE= _BV(PE3);TCCR3B= _BV(CS30) |_BV(WGM32);TCCR3A= _BV(WGM30) |_BV(COM3A1);OCR3A=200;while(1){}}Hasil Percobaan :Fase Correct PWM : (teori) = 62.5 KHz (prak) = 62.446 KHzPersentase error : |62.5 62.446| / 62.5 = 0,086%Duty cycle : (teori) = 77,388% (prak) = 77.64%Persentase error : |77.388 77.64| / 77.388 = 0,325%

Percobaan 3 : PWM Fast 8 bit on Timer 3 InvertProgram:#include int main (void) {DDRE= _BV(PE3);TCCR3B= _BV(CS30) |_BV(WGM32);TCCR3A= _BV(WGM30) |_BV(COM3A1) |_BV(COM3A0);OCR3A=200;while(1){}}Hasil Percobaan :Fase Correct PWM : (teori) = 62.5 KHz (prak) = 62.446 KHzPersentase error : |62.5 62.446| / 62.5 = 0,086%Duty cycle : (teori) = 21.568% (prak) = 22.69%Persentase error : |21.568 22.69| / 21.568 = 3.55%

Percobaan 4a : PWM Fast 32 bit On Timer 3 ICR Top

Program:#include int main (void) {DDRE= _BV(PE3);TCCR3B= _BV(CS30) |_BV(WGM32) |_BV(WGM33);TCCR3A= |_BV(COM3A1) |_BV(WGM31);OCR3A=200;ICR3=0xFF;while(1){}}Hasil Percobaan :Fase Correct PWM : (teori) = 62.5 KHz (prak) = 62.446 KHzPersentase error : |62.5 62.446| / 62.5 = 0,086%Duty cycle : (teori) = 78.43% (prak) = 77.62%Persentase error : |78.43 77.62| / 78.43 = 1.03%

Percobaan 4b : PWM Fast 32 bit On Timer 3 ICR TopProgram:#include int main (void) {DDRE= _BV(PE3);TCCR3B= _BV(CS30) |_BV(WGM32) |_BV(WGM33);TCCR3A= |_BV(COM3A1) |_BV(WGM31);OCR3A=200;ICR3=0x1FF;while(1){}}Hasil Percobaan :Fase Correct PWM : (teori) = 31.25KHz (prak) = 31.223 KHzPersentase error : |31.25 31.223| / 31.25 = 0,086%Duty cycle : (teori) = 39.138% (prak) = 40.47%Persentase error : |40.47 39.138| / 31.25 = 3.41%

Percobaan 4c : PWM Fast 32 bit On Timer 3 ICR TopProgram:#include int main (void) {DDRE= _BV(PE3);TCCR3B= _BV(CS30) |_BV(WGM32) |_BV(WGM33);TCCR3A= |_BV(COM3A1) |_BV(WGM31);OCR3A=200;ICR3=0x3FF;while(1){}}Hasil Percobaan :Fase Correct PWM : (teori) = 15.625 KHz (prak) = 115.611 KHzPersentase error : |25.625 15.611| / 25.625 = 0,089%Duty cycle : (teori) = 19.55% (prak) = 23.55%Persentase error : |19.55 23.55| / 19.55 = 20.46%

Percobaan 4d : PWM Fast 32 bit On Timer 3 ICR TopProgram:#include int main (void) {DDRE= _BV(PE3);TCCR3B= _BV(CS30) |_BV(WGM32) |_BV(WGM33);TCCR3A= |_BV(COM3A1) |_BV(WGM31);OCR3A=200;ICR3=0x7FF;while(1){}}Hasil Percobaan :Fase Correct PWM : (teori) = 7.8125 KHz (prak) = 7.8038 KHzPersentase error : |7.8125 7.8038| / 7.8125 = 0,085%Duty cycle : (teori) = 9.77% (prak) = 12..09%Persentase error : |9.77 12.09| / 9.77 = 23.74%

Percobaan 4e : PWM Fast 32 bit On Timer 3 ICR TopProgram:#include int main (void) {DDRE= _BV(PE3);TCCR3B= _BV(CS30) |_BV(WGM32) |_BV(WGM33);TCCR3A= |_BV(COM3A1) |_BV(WGM31);OCR3A=200;ICR3=0xFFFF;while(1){}}Hasil Percobaan :Fase Correct PWM : (teori) = 244.24 Hz (prak) = 243.433 HzPersentase error : |3244.24 243.433| / 244.24 = 0,084%Duty cycle : (teori) = 0.305% (prak) = 0.300%Persentase error : |0.305 0.300| / 0.305 = 4.26%

Percobaan 4f : PWM Fast 32 bit On Timer 3 ICR TopProgram:#include int main (void) {DDRE= _BV(PE3);TCCR3B= _BV(CS30) |_BV(WGM32) |_BV(WGM33);TCCR3A= |_BV(COM3A1) |_BV(WGM31);OCR3A=0x7FFFF;ICR3=0xFFFF;while(1){}}Hasil Percobaan :Fase Correct PWM : (teori) = 244.1 Hz (prak) = 243.93 HzPersentase error : |244.1 243.93| / 244.1 = 0,0884%Duty cycle : (teori) = 49.99% (prak) = 50 %Persentase error : |49.99 50| / 49.99 = 0.002%

Percobaan 5 : PWM Software dengan Timer CTCProgram :

#include #include #include #define PORTSERVO PORTB#define pinServo1 6

void TimerInit();void updatepwm();unsigned char periode=200;unsigned char dcycle=10;unsigned char servo1=0;

ISR (TIMER1_COMPA_vect){PORTB ^= (1