Anda di halaman 1dari 10

Laporan Praktikum Pengolahan Sinyal Digital

Perancangan Filter LPF Butterworth

Disusun Oleh :
JTD 3D :
Cahya Briliansyah (1541160011)
Dayinta Dwi Tanaya (1541160046)
Marchelina Nukita (1541160095)

TEKNIK ELEKTRO
JARINGAN TELEKOMUNIKASI DIGITAL
POLITEKNIK NEGERI MALANG
2018
I. TUJUAN
1. Mahasiswa dapat memahami cara kerja ADC dan DAC
2. Mahasiswa dapat mengoperasikan Software Arduino.
3. Mahasiswa dapat mengoperasikan Software Proteus.
4. Mahasiswa dapat mengoperasikan Software SciLab.

II. ALAT DAN BAHAN


1. Software SciLab
2. Software Proteus Profesional
3. Software Arduino
4. Arduino
5. PC / Laptop
6. Solder
7. Timah
8. Resistor
9. PCB Layout

III. DASAR TEORI


3.1. ARDUINO
Arduino Nano adalah papan pengembangan (development board)
mikrokontroler yang berbasis chip ATmega328P dengan bentuk yang sangat
mungil. Secara fungsi tidak ada bedanya dengan Arduino Uno. Perbedaan utama
terletak pada ketiadaan jack power DC dan penggunaan konektor Mini-B USB.
Disebut sebagai papan pengembangan karena board ini memang berfungsi
sebagai arena prototyping sirkuit mikrokontroller. Dengan menggunakan papan
pengembangan, anda akan lebih mudah merangkai rangkaian elektronika
mikrokontroller dibanding jika anda memulai merakit ATMega328 dari awal di
breadboard.
Seperti yang telah disebutkan sebelumnya, Arduino Nano memiliki 14 buah
digital pin yang dapat digunakan sebagai input atau output, sengan
menggunakan fungsi pinMode(), digitalWrite(), dan digital(Read). Pin-pin
tersebut ekerja pada tegangan 5V, dan setiap pin dapat menyediakan atau
menerima arus 20mA, dan memiliki tahanan pull-up sekitar 20-50k ohm (secara
default dalam posisi discconnect). Nilai maximum adalah 40mA, yang sebisa
mungkin dihindari untuk menghindari kerusakan chip mikrokontroller
Beberapa pin memiliki fungsi khusus :
 Serial, terdiri dari 2 pin : pin 0 (RX) dan pin 1 (TX) yang digunakan
untuk menerima (RX) dan mengirim (TX) data serial.
 External Interrups, yaitu pin 2 dan pin 3. Kedua pin tersebut dapat
digunakan untuk mengaktifkan interrups. Gunakan fungsi
attachInterrupt()
 PWM: Pin 3, 5, 6, 9, 10, dan 11 menyediakan output PWM 8-bit
dengan menggunakan fungsi analogWrite()
 SPI : Pin 10 (SS), 11 (MOSI), 12 (MISO), dan 13 (SCK) mendukung
komunikasi SPI dengan menggunakan SPI Library
 LED : Pin 13. Pada pin 13 terhubung built-in led yang dikendalikan
oleh digital pin no 13.
Arduino Nano memiliki 8 buah input analog, yang diberi tanda dengan
A0 hingga A7. Masing-masing pin analog tersebut memiliki resolusi
1024 bits (jadi bisa memiliki 1024 nilai). Secara default, pin-pin
tersebut diukur dari ground ke 5V, namun bisa juga menggunakan pin
REF dengan menggunakan fungsi analogReference().
Pin Analog A6 dan A7 tidak bisa dijadikan sebagai pin digital, hanya
sebagai analog. Beberapa pin lainnya pada board ini adalah :
 I2C : Pin A4 (SDA) dan A5 (SCL). Pin ini mendukung komunikasi
I2C (TWI) dengan menggunakan Wire Library.
 AREF. Sebagai referensi tegangan untuk input analog.
 Reset. Hubungkan ke LOW untuk melakukan reset terhadap
mikrokontroller. Biasanya digunakan untuk dihubungkan dengan
switch yang dijadikan tombol reset.
Arduino Nano 3.0 memiliki beberapa fasilitas untuk berkomunikasi
dengan komputer, berkomunikasi dengan Arduino lainnya, atau dengan
mikrokontroller lain nya. Chip Atmega328 menyediakan komunikasi serial
UART TTL (5V) yang tersedia di pin 0 (RX) dan pin 1 (TX). Sebuah chip
FTDI yang terdapat pada board berfungsi menterjemahkan bentuk
komunikasi ini melalui USB dan akan tampil sebagai Virtual Port di
komputer.
Pada Arduino Software (IDE) terdapat monitor serial yang
memudahkan data textual untuk dikirim menuju Arduino atau keluar dari
Arduino. Lampu led TX dan RX akan menyala berkedip-kedip ketika ada
data yang ditransmisikan melalui chip FTDI USB to Serial via kabel USB
ke komputer. Untuk menggunakan komunikasi serial dari digital pin,
gunakan SoftwareSerial library
Chip ATmega328 juga mendukung komunikasi I2C (TWI) dan SPI. Di
dalam Arduino Software (IDE) sudah termasuk Wire Library untuk
memudahkan anda menggunakan bus I2C. Untuk menggunakan
komunikasi SPI, gunakan SPI library.

3.2. ADC DAN DAC


Analog To Digital Converter (ADC) adalah pengubah input analog
menjadi kode – kode digital. ADC banyak digunakan sebagai pengatur proses
industri, komunikasi digital dan rangkaian pengukuran/pengujian. Umumnya
ADC digunakan sebagai perantara antara sensor yang kebanyakan analog
dengan sistim komputer seperti sensor suhu, cahaya, tekanan/berat, aliran
dan sebagainya kemudian diukur dengan menggunakan sistim digital
(komputer).
ADC (Analog to Digital Converter) memiliki 2 karakter prinsip,
yaitu kecepatan samplingdan resolusi. Kecepatan sampling suatu ADC
menyatakan seberapa sering sinyal analog dikonversikan ke bentuk sinyal
digital pada selang waktu tertentu. Kecepatan sampling biasanya dinyatakan
dalam sample per second (SPS).
Prinsip kerja ADC adalah mengkonversi sinyal analog ke dalam
bentuk besaran yang merupakan rasio perbandingan sinyal input dan tegangan
referensi. Sebagai contoh, bila tegangan referensi (Vref) 5 volt, tegangan
input 3 volt, rasio input terhadap referensi adalah 60%. Jadi, jika
menggunakan ADC 8 bit dengan skala maksimum 255, akan didapatkan sinyal
digital sebesar 60% x 255 = 153 (bentuk decimal) atau 10011001 (bentuk
biner).
DAC adalah salah satu komponen elektronika yang cukup ampuh
untuk pengaturan sebuah sistem berbasis digital, dengan kemampuan
mengubah dari data digital ke tegangan analog.
DAC0808 adalah sebuah digital to analog converter 8-
bit monolothic yang mempunyai waktu settling sekitar 150 ns. Tidak
diperlukan setting arus referensi (IREF)dalam berbagai penerapan. Pada
pengaturan skala penuh arus output yang dikeluarakan umumnya 255
(IREF/256). Arus power supply dari DAC0808 tidak bergantung pada kode bit
dan akan menunjukkan karakteristik DAC yang tetap konstan pada
keseluruhan jangkauan tegangan. DAC0808 mempunyai jangkauan
tegangan power supply: ±4,5V sampai ±18V dengan konsumsi daya berkisar
33 mW pada tegangan ±5V. Untuk penggunaan interface ADC0808 dapat
dihubungkan langsung ke level logika CMOS, TTL dan DTL.
Pengubahan besaran analog ke digital ditentukan oleh besar tegangan
input maksimum yang diukur dalam Volt, mVolt atau uVolt, sedang nilai
konversi digitalnya juga bebas ditentukan hal ini tergantung berapa bita yang
digunakan untuk mengkonversinya. Begitu pula untuk pengubah digital ke
analog juga sama dan hasil konversi tergantung pula pada besar tegangan
referensinya.
Bila kita gunakan tegangan tertinggi untuk konversi 15 volt maka
setiap kenaikan nilai konversi adalah 1 volt jadi bila nilai digital 0100 hasil
konversinya adalah 4x1volt = 4 volt. Seandainya nilai tertinggi dibuat 4,5 volt
maka setiap kenaikan adalah 0,3 volt sehingga bila nilai digital 0100 hasil
konversinya adalah 4×0,3volt = 1,2 volt.

3.3. SOFTWARE SCILAB

3.4. SOFTWARE PROTEUS


3.5. FILTER IIR
Filter adalah adalah sebuah rangkaian yang dirancang agar melewatkan
suatu pitra frekuensi tertentu seraya memperlemah semua isyarat di luar pita
ini. Pengertian lain dari filter adalah rangkaian pemilih frekuensi agar dapat
melewatkan frekuensi yang diinginkan dan menahan (couple)/membuang (by
pass) frekuensi lainnya.
Adapun Jenis-Jenis Filter :
Filter Low Pass adalah sebuah rangkaian yang tegangan keluarannya tetap
dari dc naik sampai ke suatu frekuensi cut-off fc. Bersama naiknya frekuensi
di atas fc, tegangan keluarannya diperlemah (turun). Low Pass Filter adalah
jenis filter yang melewatkan frekuensi rendah serta meredam/menahan
frekuensi tinggi.

IV. LANGKAH KERJA


4.1. MEMASANG KOMPONEN PADA PCB LAYOUT
1. Menyiapkan alat dan bahan
2. Memasang resistor pada layout PCB dengan menggunakan solder.
3. Memasang konektor pada layout PCB.
4. Memasang PCB yang sudah terpasang komponen pada modul arduino.
5. Melakukan pengujian rangkaian.

4.2. MEMBUAT PEMROGRAMAN PADA SCILAB


1. Membuka software Scilab pada PC.
2. Membuka menu SciNotes pada Scilab.
3. Mengetik program (coding) sesuai dengan spesifikasi yang ditentukan.
4. Menguji (excute) program dengan menekan tombol pada menu SciLab.
5. Menyimpan file tersebut pada foder yang diinginkan.
6. Menyimpan hasil simulasi dari SciLab.
7. Mencari persamaan dari hasil program yang dibuat dengan mngetikkan
“Hz” pada SciLab Console.
8. Menghitung hasil persamaan Hz menjadi y(n) lalu memasukkan persmaan
tersebut pada program Arduino.

4.3. MEMBUAT PEMROGRAMAN PADA ARDUINO


1. Membuka software Arduino pada PC.
2. Mengetik program (coding) sesuai dengan hasil persamaan yang didapatkan
dari Hz. Memasukkan nilai y(n) pada persamaan ADC.
3. Jika telah selesai membuat program pada arduino, maka save program untuk
melihat apakah ada eroratau tidak pada program.
4. Membuka rangkaian pada software proteus.
5. Memasukkan program arduino pada proteus dengan cara mengklik 2x pada
image arduino di proteus lalu copykan lokasi file .hex pada arduino tersebut.
6. Lalu klik tombol run pada menu Proteus untuk melihat respon impuls
rangkaian pada osciloscop secara simulasi.

V. PEMROGRAMAN
5.1. LIST CODING SCILAB
[Grab your reader’s attention with a great quote from the document or use
this space to emphasize a key point. To place this text box anywhere on the
page, just drag it.]
5.2. LIST CODING ARDUINO
//++++++++++++++++++++++++++++++++
// yn = 2.11*yn_1+ 1.58*yn_2- 0.40*yn_3+ xn+ 0.50*xn_1- 0.50*xn_2 -xn_3

int D0 = 2; int D4 = 6;
int D1 = 3; int D5 = 7;
int D2 = 4; int D6 = 8;
int D3 = 5; int D7 = 9;

float yn,xn,yn_1,yn_2,yn_3,xn_1,xn_2,xn_3;

void setup() {
pinMode(D0, OUTPUT); pinMode(D4, OUTPUT);
pinMode(D1, OUTPUT); pinMode(D5, OUTPUT);
pinMode(D2, OUTPUT); pinMode(D6, OUTPUT);
pinMode(D3, OUTPUT); pinMode(D7, OUTPUT);
}

void loop() {
yn_1 = 0; xn =1; yn_2=0; yn_3=0; xn_1=0; xn_2=0; xn_3=0 ;

yn = -0.278*yn_3 - 1.182*yn_2 - 1.76*yn_1+ 3*xn_1+ 3*xn_2+ xn_3+ xn;

byte DataDAC = Konversi( yn+2.5);


DAC(DataDAC);

yn_3=yn_2;
yn_2=yn_1;
yn_1=yn;

xn_3=xn_2;
xn_2=xn_1;
xn_1=xn;
xn=0;

delay(1);

for (int k =0; k<=50;k++){


yn = -0.278*yn_3 - 1.182*yn_2 - 1.76*yn_1+ 3*xn_1+ 3*xn_2+ xn_3+ xn;
byte DataADC = Konversi(yn + 2.5);
DAC(DataADC);
yn_3=yn_2;
yn_2=yn_1;
yn_1=yn;

xn_3=xn_2;
xn_2=xn_1;
xn_1=xn;
delay(1);
}
}

void DAC(byte Data)


{
if ((Data & 0x01) == 0) digitalWrite(D0, LOW); else digitalWrite(D0, HIGH);
if ((Data & 0x02) == 0) digitalWrite(D1, LOW); else digitalWrite(D1, HIGH);
if ((Data & 0x04) == 0) digitalWrite(D2, LOW); else digitalWrite(D2, HIGH);
if ((Data & 0x08) == 0) digitalWrite(D3, LOW); else digitalWrite(D3, HIGH);
if ((Data & 0x010) == 0) digitalWrite(D4, LOW); else digitalWrite(D4, HIGH);
if ((Data & 0x020) == 0) digitalWrite(D5, LOW); else digitalWrite(D5, HIGH);
if ((Data & 0x040) == 0) digitalWrite(D6, LOW); else digitalWrite(D6, HIGH);
if ((Data & 0x080) == 0) digitalWrite(D7, LOW); else digitalWrite(D7, HIGH);
}

byte Konversi (float Data)


{
byte Hasil = byte(Data*255/5);
return Hasil;
}

VI. GAMBAR RANGKAIAN


VII. HASIL PRAKTIKUM
7.1. PADA SCILAB
7.2. PADA PROTEUS

Gambar 1 Respon Impuls menggunakan software Proteus


7.3. PADA OSILOSKOP MENGGUNAKAN ARDUINO

VIII. ANALISIS
-Pada Scilab didapatkan hasil
IX. KESIMPULAN

Anda mungkin juga menyukai