Pages

Sabtu, 07 Desember 2013

PRAKTIKUM 7 TIMER SEBAGAI GENERATOR GELOMBANG

PRAKTIKUM 7  
TIMER SEBAGAI GENERATOR GELOMBANG



VIDEO PRATIKUM 
1.)http://www.youtube.com/watch?v=jPQp0piOTHw (timer overflow)
2.)http://www.youtube.com/watch?v=NEm5jClp51U&feature=youtu.be (jam digital)
3.)http://www.youtube.com/watch?v=aG_LKj26bh0&feature=youtu.be (falling)
4.)http://www.youtube.com/watch?v=hhOmfbCiV7s&feature=youtu.be (rising)

TUJUAN :

1.  Mampu membuat program untuk memanfaatkan timer sebagai generator gelombang.

2.  Mampu membuat program untun memanfaatkan timer sebagai generator gelombang dengan      adjustable duty cycle. 
3.  Mampu membuat program untun memanfaatkan timer sebagai generator gelombang   dengan adjustable frekuensi.

Peralatan : 
1. Komputer                       : 1set
2. Arduino Uno                   : 1 pcs
3. Project Board                  : 1 pcs
4. kabel Jumper                   : 1set
5. LCD                               : 1 pcs
6. Potensiometer                  : 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 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 !
Jawab: Jika potensiometer diputar pada posisi minimum maka intesitas cahaya pada LED akan semakin redup.Karena nilai PWM yang didapat pada led sedikit


 2.  Jika potensiometer diputar pada posisi maksimum bagaimana kondisi intensitas
cahaya LED ? semakin terang atau semakin redup ? Jelaskan kenapa !  
Jawab: Jika potensiometer diputar pada posisi maksimum maka intesitas cahaya pada LED akan semakin terang.Karena nilai PWM yang didapat pada led sangat besar sehingga PWM yang di dapat pada led bisa mendekati nilai maksimal pada pwm yatiu 255.
  
3.  Lakukan simulasi dengan aplikasi Proteus, kemudian amati bentuk gelombang pada

Test Point. Tampilkan gambar sinyal pada laporan !





4. Jelaskan sintaks program pada percobaan 7.1
 int  val  =  0;// mendeklararasikan bahwa tipe data pada int val bernilai 0 //

void  setup()  //  Berfungsi sebagai salah satu fungsi yang hanya di panggil sekali  dan            satu kali eksekusi ketika awal program berjalan  //

{ Serial.begin(9600); // untuk menginisialisasikan bahwa serial yang di monitor menggunakan komunikasi serial dengan kecepatan 9600 bit per second// 

pinMode(9, OUTPUT); // pinMode berfungsi untuk mendeklarasikan bahwa pin/kaki micro nomor urut 9 sebagai output // 
}
 void  loop()  {// berfungsi sebagai tempat kita menaruh source code yang akan diproses dan Fungsi loop akan dijalankan setelah fungsi setup dan akan dijalankan terus menerus selama board Arduino menyala (on) dan mengeksekusi program tersebut berulang ulang //

val  =  analogRead(A0); // data yang di keluarkan oleh (A0) di tampung oleh tipe data val analogWrite(9,val/4); // menginisialisasikan analogWrite pada pin 9 tipe data pada val dibagi 4 // 

Serial.print("PWM Value  =  ");  // Untuk menampilkan PWM Value //

Serial.println(val,DEC); // untuk mengnisialisasikan pada tipe data val bernilai decimal // 
delay(500); // mendelay selama 500 ms // 
 }


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 rangkaian seperti 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 diputar sampai posisi minimum  berapakah  nilai  frekuensi  yang  terukur  ?  Jika  potensometer  diputar sampai posisi maksimum berapakah nilai frekuensi yang terukur ? 
Jawab : nilai frekuensi pada posisi maksimum yaitu 8333..33 hz dan nilai frekuensi pada posisi minimum yaitu 161290.32 hz. 

2.  Bagaimana dengan lebar pulsa (duty cycle), lebarnya berubah-ubah atau tetap ?  
Jawab : lebar pulsanya (duty cycle) 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  =
if  (dutyCycle <

cycles  *  duty;
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
int  temp_duty  =
if  (temp_cycles

=  analogRead(A0);
analogRead(A1);
!=  setCycles  ||  temp_duty  !=  setDuty)  {

setCycles  =  temp_cycles;
setDuty  =  temp_duty;

set(setCycles,
} 
}  
 
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 ?
Jawab : Jika potensiometer pada A0 diputar sampai  posisi  minimum maka nilai minimumnya 178571.42 hz dan nilai maksimumnya 83333.33 
 2.  Jika potensiometer pada A1 diputar dari posisi minimum sampai posisi maksimum apakah yang akan berubah ? 
Jawab : Jika A1 di putar maka akan berubah dari pulsa lebarnya atau duty cyclenya



Tidak ada komentar:

Posting Komentar