Anda di halaman 1dari 10

LAPORAN PRAKTIKUM MIKROKONTROLLER

APLIKASI PULSE WIDTH MODULATION (PWM)

ANDI VARERA VARADIBA


32319053

PROGRAM STUDI D3 TEKNIK ELEKTRONIKA


JURUSAN TEKNIK ELEKTRO
POLITEKNIKNEGERI UJUNG PANDANG
MAKASSAR
2021
APLIKASI PULSE WIDTH MODULATION (PWM)

A. TUJUAN PRAKTIKUM
1. Mengetahui apa yang dimaksud pulse with modulation.
2. Mengukur dan menganalisis hasil dari pulse width modulation.
3. Mengetahui pemograman menggunakan input analog dan output pada
ATMEGA 16.

B. DASAR TEORI
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.

Pembangkitan sinyal pwm yang paling sederhana adalah dengan cara


membandingkan sinyal gigi gergaji sebagai tengangan carrier dengan
tegangan referensi menggunakan rangkaian op amp komperator. Sinyal pwm
pada umumnya memiliki amplitudo dan frekuensi dasar yang tetap namun
memiliki lebar pulsa yang bervariasi. Lebar pulsa pwm berbanding lurus
dengan amplitude sinyal informasi. Artiya sinyal pwm memiliki frekuensi
gelombang yang tetap, namun duty cycle bervarasi antara 0% hingga 100%.
Aplikasi penggunaan PWM biasanya ditemui untuk pengaturan kecepatan
motor dc, pengaturan cerah/redup LED, dan pengendalian sudut pada motor
servo. Contoh penggunaan PWM pada pengaturan kecepatan motor dc
semakin besar nilai duty cycle yang diberikan maka akan berpengaruh
terhadap cepatnya putaran motor. Apabila nilai duty cylce-nya kecil maka
motor akan bergerak lambat.

C. ALAT DAN BAHAN


1. Trainer mikrokontroller
2. Laptop
3. Kabel Power
4. Kabel USB-Asp
5. Kabel jumper

D. LANGKAH KERJA
1. Membuat kode program pada software Arduino.

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#include <Wire.h>
byte duty_cyclePersen=0;
void setup() {
lcd.init();
lcd.backlight();
pinMode(12, OUTPUT);
pinMode(A0, INPUT);
pinMode(A1, INPUT);
}

void loop() {
// put your main code here, to run repeatedly:
digitalRead(A0)==1?duty_cyclePersen = duty_cyclePersen:
duty_cyclePersen=duty_cyclePersen +10;
digitalRead(A1)==1?duty_cyclePersen = duty_cyclePersen:
duty_cyclePersen=duty_cyclePersen -10;
duty_cyclePersen >100?duty_cyclePersen =100: duty_cyclePersen=
duty_cyclePersen;
byte duty_cycle=map(duty_cyclePersen,0,100,0,255);
analogWrite(15,duty_cycle);

lcd.print("duty_cyclePersen = ");
lcd.print(duty_cyclePersen);
}

2. Merangkai komponen pada trainer.


3. Mengupload kode program pada trainer.
4. Mengamati dan menganalisis perubahan apa yang terjadi pada
rangkaian
E. DATA HASIL PRAKTIKUM

Duty Cycle OUTPUT


% LCD Tegangan (v)
0 OFF 0
10 ON 0,49
20 ON 0,99
30 ON 1,47
40 ON 1,98
50 ON 2,46
60 ON 2,96
70 ON 3,44
80 ON 3,95
90 ON 4,43
100 ON 4,93

1. Duty Cycle 0%
2. Duty Cycle 10%

3. Duty Cycle 20%

4. Duty Cycle 30%


5. Duty Cycle 40%

6. Duty Cycle 50%

7. Duty Cycke 60%


8. Duty Cycle 70%

9. Duty Cycle 80%

10. Duty Cycle 90%


11. Duty Cycle 100%

Anda mungkin juga menyukai