TUJUAN :
1.
Mampu
membuat program untuk memanfaatkan timer sebagai gen rator
gelombang.
2. Mampu
membuat program untuk memanfaatkan timer sebagai generator
gelombang dengan adjustable duty cycle.
3. Mampu membuat
program untuk memanfaatkan timer sebagai generator gelombang
dengan adjustable frekuensi.
PERALATAN :
|
|
1.
|
Komputer
|
: 1 set
|
2.
|
Arduino Uno
|
: 1 pcs
|
3.
|
Project board
|
: 1 pcs
|
4.
|
Kabel jumper
|
: 1 set
|
5.
|
LCD
|
: 1 pcs
|
6.
|
Potensiometer 10K
|
: 3 pcs
|
7.
|
LED
|
: 1 pcs
|
8.
|
Resistor 330 Ohm
|
: 1 pcs
|
9.
|
Transistor 2N2222
|
: 1 pcs
|
10.
|
Resistor 2K2
|
: 1 pcs
|
PERCOBAAN :
7.1 Generator
Gelombang dengan Adjustable Duty cycle
Pada percobaan kali ini akan dibuat program untuk
mengeluarkan gelombang kotak pada pada pin 9 (OC1A) . Gelombang yang akan
dikeluarkan pada pin 9 adalah gelombang berbentuk kotak dengan duty cycle
dapat diatur lebarnya. Lebar duty cycle akan diatur oleh potensiometer
yang terhubung pada pin A0. Pada percobaan kali ini akan digunakan fungsi analogWrite
yang berfungsi untuk mengeluarkan sinyal gelombang pada pin Pulse Width
Modulation (PWM).
Prosedur :
1.
Buatlah rangkaian seperti Gambar 7.1.
2. Tuliskan
sintaks program berikut ini pada Arduino IDE, kemudian lakukan kompilasi dan upload
program ke sistem minimum Arduino
int
val = 0;
void setup() { Serial.begin(9600);
pinMode(9, OUTPUT);
}
void
loop() {
val = analogRead(A0); analogWrite(9, val/4); Serial.print("PWM Value = ");
Serial.println(val,DEC); delay(500);
}
Tugas dan Pertanyaan :
1.
Putarlah potensiometer R3 dari minimum sampai
maksimum, kemudian amati intensitas cahaya pada LED. Jika potensiometer diputar
pada posisi minimum bagaimana kondisi intensitas cahaya LED ? semakin terang atau
semakin redup ? Jelaskan kenapa !
Pada posisi minimum kondisi intensitas cahaya LED mati ,LED semakin redup ketika
potensiometer diputar dari maksimum ke minimum, karena jika nilai pwm yang
diberikan semakin besar maka cahaya LED semakin terang, begitu juga sebaliknya.
2. Jika
potensiometer diputar pada posisi maksimum bagaimana kondisi intensitas cahaya
LED ? semakin terang atau semakin redup ? Jelaskan kenapa !
Pada posisi maksimum
kondisi intensitas cahaya LED
semakin terang. Karena pembacaan analog sekirar 1023, sehingga pwm
yang di berikan mendekati nilai 255 yang merupakan pwm maksimal.
3. Lakukan
simulasi dengan aplikasi Proteus, kemudian amati bentuk gelombang pada Test
Point. Tampilkan gambar sinyal pada laporan !
Duty cycle 0% (0)
Duty cycle 25% (63.75)
Duty
cycle 50% (127.5)
Duty
cycle 100% (255)
a.
Jelaskan
sintaks program pada Percobaan 7.1 !
7.2
Generator Gelombang dengan
Adjustable Frekuensi
Pada percobaan kali ini gelombang yang akan
dikeluarkan pada pin 9 adalah gelombang berbentuk kotak dengan duty cycle
yang besarnya tetap yaitu 50%, namun besarnya frekuensi dapat berubah-ubah.
Perubahan frekuensi akan diatur oleh potensiometer yang terhubung pada pin A0.
Program pada percobaan kali ini akan menggunakan konfigurasi register
untuk mengeluarkan sinyal gelombang pada pin PWM.
Prosedur :
1.
Buatlah rangkaians eperti pada Gambar 7.2.
2.
Tuliskan sintaks program
berikut ini pada
Arduino IDE, kemudian
lakukan
kompilasi dan upload program ke sistem
minimum Arduino.
int
setCycles;
void set(int cycles)
{
char oldSREG;
int dutyCycle = cycles * 0.5;
if (dutyCycle < 6)
{
dutyCycle =
6;
}
if (dutyCycle > 1015)
{
dutyCycle = 1015;
}
if (cycles <
50)
{
cycles = 50;
}
oldSREG =SREG; cli();
ICR1 = cycles; OCR1A = dutyCycle;
SREG = oldSREG;
}
void setup()
{
TCCR1A = 0;
TCCR1B =
_BV(WGM13);
TCCR1B &= ~(_BV(CS10) | _BV(CS11) |_BV(CS12)); TCCR1B |=
_BV(CS10);
DDRB |= _BV(PORTB1); TCCR1A |= _BV(COM1A1);
}
void
loop() {
int temp_cycles =
analogRead(A0); if (temp_cycles != setCycles )
{
setCycles = temp_cycles; set(setCycles);
}
}
Tugas dan Pertanyaan :
1. Lakukan
simulasi dengan aplikasi Proteus, kemudian amati bentuk gelombang dan besarnya
frekuensi pada Test Point. Jika potensiometer R3 di putar sampai posisi minimum
berapakah nilai frekuensi yang terukur ? Jika potensometer diputar sampai
posisi maksimum berapakah nilai frekuensi yang terukur ?
Nilai ketika potensio minimum adalah 333333.33 Hz dan ketika
maks adalah
15384.61 Hz.
2.
Bagaimana
dengan lebar pulsa (duty cycle), lebarnya berubah-ubah atau tetap ?
Tetap
7.3 PWM dengan Adjustable
Frekuensi dan Duty cycle (7 KHz sampai 300 KHz)
Pada percobaan kali ini gelombang yang akan
dikeluarkan pada pin 9 adalah gelombang berbentuk kotak dengan duty cycle
dan frekuensi yang dapat berubah-ubah. Perubahan frekuensi akan diatur oleh
potensiometer yang terhubung pada pin A0. Perubahan duty cycle akan
diatur oleh potensiometer yang terhubung pada pin A1. Program pada percobaan
kali ini akan menggunakan konfigurasi register untuk mengeluarkan sinyal
gelombang pada pin PWM.
Prosedur :
1.
Rangkailah rangkaian pada Gambar 7.3.
2. Tuliskan
sintaks program berikut ini, kemudian lakukan kompilasi dan upload
program.
int setCycles; int setDuty;
void set(int cycles, float duty) { char oldSREG;
int dutyCycle = cycles * duty; if (dutyCycle
< 6) {
dutyCycle =
6;
}
if (dutyCycle > 1015) { dutyCycle =
1015;
}
if (cycles <
50) { cycles =
50;
}
oldSREG = SREG; cli();
ICR1
= cycles; OCR1A = dutyCycle; SREG = oldSREG;
}
void setup() { TCCR1A = 0;
TCCR1B =
_BV(WGM13);
TCCR1B &= ~(_BV(CS10) | _BV(CS11) | _BV(CS12)); TCCR1B |=
_BV(CS10);
DDRB |= _BV(PORTB1); TCCR1A |= _BV(COM1A1);
}
void
loop() {
int temp_cycles =
analogRead(A0); int temp_duty = analogRead(A1);
if (temp_cycles != setCycles || temp_duty != setDuty) { setCycles = temp_cycles;
setDuty = temp_duty; set(setCycles, setDuty / 1024.0);
}
}
Tugas dan Pertanyaan :
1. Lakukan
simulasi dengan aplikasi Proteus, kemudian amati bentuk gelombang, besarnya
frekuensi, dan lebar pulsa pada Test Point. Jika potensiometer pada A0 diputar
sampai posisi minimum berapakah nilai frekuensi yang terukur ? Jika
potensometer diputar sampai posisi maksimum berapakah nilai frekuensi yang
terukur ?
Jika A0 di posisi minimum nilai yang terukur yaitu 285714.28
Hz dan jika di posisi maks nilai yang terukur adalah 13333.33 Hz
2. Jika
potensiometer pada A1 diputar dari posisi minimum sampai posisi maksimum apakah
yang akan berubah ?
Perubahan terjadi pada duty cicle.