Just another WordPress.com site

Gelombang Sinus?? Mungkin tidak asing lagi bagi kita yang sering berkecimpung di bidang elektronik analog. Isyarat analog biasanya dinyatakan dengan gelombang sinus, mengingat gelombang sinus merupakan dasar untuk semua bentuk isyarat analog.

Gambar 1. Gelombang Sinus

          Langsung saja saya bahas mengenai skema rangkaiannya seperti gambar di bawah ini :

Gambar 2. Rangkaian AT-Mega 32

              Pada Gambar diatas, ATMega-32 berfungsi untuk menghasilkan gelombang sinus menggunakan metode fast pwm timer0 16 MHz. Rangkaian ini tidak menggunakan rangkaian DAC, tetapi digantikan dengan metode fast pwm 8bit  dan rangkaian filter low pass, sehingga lebih menghemat rangkaian. Disamping itu, frekuensi gelombang sinus yang kita buat berkisar diantara frekuensi 20-20KHz yang merupakan frekuensi audio yang berada pada frekuensi rendah, sehingga sudah cukup dengan menggunakan metode fast pwm 16 MHz ( Frekuensi maksimum yang dapat dihasilkan fast pwm 16 MHz adalah : 16MHz/255 = 62,725 KHz)(satu siklus pwm 8 bit = 0-255).

          Output dari fast pwm OCR0 dihubungkan dengan rangkaian filter low pass, filter ini berfungsi untuk melewatkan frekuensi audio dan mengeblok frekuensi tinggi dari fast pwm. Sehingga dihasilkan suatu bentuk gelombang sinus yang kita inginkan.

Gambar 3. Listing Program

         Keterangan Program :

#include <mega32.h>                    //library atmega32

#include <delay.h>                        //library delay

#include <stdio.h>                         //library stdio

#include <math.h>                        //library math( untuk memasukkan fungsi2 sinus)

double x,y,i;                                      // variabel x(2phi*f*t), y(amplitudo sinyal), i(t/ time)

DDRB=0x08;                                    //PORTB.3 diset sebagai output

TCCR0=0x69;                                  // Fast PWM Timer0 8 bit, non inverted

for(i=0; i<0.5;i=i+0.005){        //perulangan dari i=0 sampai i=0,5 dengan pertambahan tiap 0,005

x=(2*3.14*8000*i);                     // rumus x= 2phi*f*t

y=(((sin(x))+1)/2)*255;             //amplitudo y= (sin(x)+1/2) ==> menggeser hasil rumus sin(x) dari range -0,5

sampai 0,5 menjadi range 0 sampai 1 , kemudian dikalikan 255.

Jadi range tegangan negatif terendah=0, tegangan 0 volt= 127, tegangan positif tertinggi = 255

OCR0=y;                                           //hasil y dikeluarkan melalui output OCR0

delay_us(100);                              // tunda 100us

}

      Berikut hasil gelombang sinus yang dihasilkan dengan menggunakan simulasi ISIS Proteus:

Gambar 4. Hasil Gelombang Sinus (Biru) dan Gelombang PWM ( hijau)

Sekian sedikit tulisan dari saya, maaf bila masih banyak kata2 yang salah, maklum masih newbie.

semoga bermanfaat..

Comments on: "Membuat Gelombang Sinus dengan AT-Mega32 dan Simulasi ISIS Proteus" (6)

  1. Menarik sekali…btw kalo gelombang gigi gergaji gmn ya Pak?

  2. seriuuss nie tanpa DAC….? keren infonya…. thanks….

  3. kalo untuk menaikkan frekuensi gelombang sinusnya gimana mas???

Tinggalkan Balasan ke Bantulinisti Batalkan balasan