bab ii landasan teori - Perpustakaan Universitas Mercu Buana

advertisement
BAB II
LANDASAN TEORI
Sebelum membuat sebuah alat, diperlukan landasan-landasan teori dari
setiap komponen yang akan dipergunakan sehingga dapat diketahui karakteristik
dari alat tersebut serta prinsip dari alat yang dipergunakan
sehingga
menghasilkan keluaran sesuai yang diharapkan. Pada bab ini menjelaskan teori
komponen yang digunakan pada rangkaian. Namun teori tersebut tidak dijelaskan
secara keseluruhan, melainkan hanya sebagian kecil yang berkaitan dengan
rangkaian yang dibuat. Di bawah ini merupakan penjelasan dari beberapa
komponen yang dipergunakan
dalam membuat “ Perancangan Sistem Data
Logger Untuk Mesin Produksi Berbasis Arduino ”.
2.1 Perekam Data
Perekam data atau juga disebut datalogger merupakan suatu instrumen
elektronik yang memiliki kemampuan untuk membaca besaran pada alam (misal
temperatur, kecepatan angin, kadar gas, arus dan tegangan listrik, dsb) yang
dibaca oleh sensor elektronik maupun elektromekanik, kemudian menuliskan nilai
besaran yang terbaca tersebut ke dalam memori. Perekaman dapat dilakukan
6
http://digilib.mercubuana.ac.id/
7
dalam rentang waktu tertentu, baik harian, bulanan, bahkan tahunan dengan waktu
sampling yang dapat diatur [4]. Secara umum perekam data sederhana terdiri dari
mikrokontroller, sensor dan media penyimpanan. Mikrokontroller merupakan
bagian dari perekam data yang mengatur komunikasi antar perangkat. Sensor
berfungsi untuk memberikan inputan ke mikrokontroler untuk melakukan
perekaman.
Gambar 2.1 Bentuk Fisik Micro SD dan Modul SD Card[5]
https://www.tindie.com/products/mmm999/micro-sd-card-reader-module-forarduino/ ( Diakses pada 2 Desember 2016 ).
Gambar diatas menunjukan bentuk fisik dari modul SD card yang biasa
dipakai dan memori micro SD beserta SD adapter yang akan dipakai sebagai
media penyimpanan data. Alat akan dirancang agar memiliki fitur data logger,
yaitu fitur yang berfungsi sebagai penyimpanan semua data-data kondisi dari
tahun,bulan tanggal jam menit dan detik. Kemudian Data ini nantinya akan
tersimpan didalam media penyimpanan yaitu memory Card. Pada perancangan ini
jenis memory Card yang akan digunakan adalah micro SD (Secure Digital)
dengan kapasitas 4 GB.
http://digilib.mercubuana.ac.id/
8
2.2 Mikrokontroller ATmega328P
Menurut Heri Susanto,dkk,(2013), Mikrokontroller adalah sebuah sistem
mikroprosesor dimana didalamnya sudah terdapat CPU, Read Only Memory
(ROM), Random Accsess Memory (RAM), Input-Output, timer, interrupt, Clock
dan peralatan internal lainnya yang sudah saling terhubung dan terorganisasi
dengan baik dalam satu chip yang siap dipakai.
Gambar 2.2 Struktur Pin Mikrokontroller ATmega328P
http://www.learningaboutelectronics.com/Articles/Atmega328-pinout.php
( Diakses pada 2 Desember 2016 ).
Mikrokontroller ATmega328P memberikan beberapa fitur diantaranya 8
Kb system programmable flash dengan kemampuan read while write, 1 KB
EEPROM, 2 KB SRAM, 8 Kb system programmable flash dengan kemampuan
read while write, 23 general purpose I/O, 32 register serba guna, 3 buah
timer/counter, Interrupt internal maupun eksternal, serial untuk pemograman
dengan menggunakan USART, peripheral interface (SPI), two wire interface
(I2C), 6 port PWM (Pulse Width Modulation), 6 port 10 bit ADC dan Watchdog
Timer dengan osilator internal.
http://digilib.mercubuana.ac.id/
9
2.3
Arduino Uno R3
Arduino
Uno
R3
merupakan
board
sistem
minimum
berbasis
mikrokontroller ATmega328P jenis AVR. Arduino Uno R3 memiliki 14 digital
input/output (6 diantaranya dapat digunakan untuk PWM output), 6 analog input,
16 MHz osilator kristal, USB connection, power jack, ICSP header dan tombol
reset.
Gambar 2.3 Board Arduino Uno
https://www.arduino.cc/en/uploads/Hacking/Uno-front-DFU-reset.png
( Diakses pada 4 Desember 2016 ).
Gambar diatas merupakan Bentuk board Arduino Uno R3 tampak atas
secara kelistrikan boar ini memiliki karekteristik sebagai berikut:
• Operating voltage 5 VDC.
• Rekomendasi input voltage 7-12 VDC
• Batas input voltage 6-20 VDC.
• Memiliki 14 buah input/output digital.
• Memiliki 6 buah input analog.
• DC Current setiap I/O Pin sebesar 40mA.
• DC Current untuk 3.3V Pin sebesar 50mA.
• Flash memory 32 KB. • SRAM sebesar 2 KB.
http://digilib.mercubuana.ac.id/
10
• EEPROM sebesar 1 KB.
• 11 Clock Speed 16 MHz.
Selain itu Boar Arduino UNO juga memiliki fitur-fitur sebagai berikut:
∑
Pin out 1.0: ditambah pin SDA dan SCL yang dekat dengan pin AREF dan
dua pin baru lainnya yang diletakkan dekat dengan pin RESET, IOREF
yang memungkinkan shield-shield untuk menyesuaikan tegangan yang
disediakan dari board. Untuk ke depannya, shield akan dijadikan
kompatibel/cocok dengan board yang menggunakan AVR yang beroperasi
dengan tegangan 5V dan dengan Arduino Due yang beroperasi dengan
tegangan 3.3V. Yang ke-dua ini merupakan sebuah pin yang tak terhubung,
yang disediakan untuk tujuan kedepannya.
∑
Sirkit RESET yang lebih kuat.
∑
Atmega16U2 menggantikan Atmega8U2.
2.3.1 Sumber Daya
Arduino Uno dapat diaktifkan melalui koneksi USB atau dengan catu daya
eksternal. Sumber daya dipilih secara otomatis. Untuk sumber daya eksternal
(non-USB) dapat berasal baik dari adaptor AC-DC atau baterai. Adaptor ini dapat
dihubungkan dengan memasukkan 2.1mm jack DC ke colokan listrik board.
Baterai dapat dimasukkan pada pin header Gnd dan Vin dari konektor DAYA.
Board dapat beroperasi pada pasokan eksternal dari 6 sampai 20 volt. Jika
menggunakan tegangan kurang dari 6 volt mungkin tidak akan stabil. Jika
menggunakan lebih dari 12V, regulator tegangan bisa panas dan merusak papan.
Rentang yang dianjurkan adalah 7 sampai 12 volt.
Pin listrik yang tersedia adalah sebagai berikut:
http://digilib.mercubuana.ac.id/
11
∑
VIN. Input tegangan ke board Arduino ketika menggunakan sumber daya
eksternal. Dapat menyediakan tegangan melalui pin ini, atau, jika ingin
memasok tegangan melalui colokan listrik, gunakan pin ini.
∑
5V. Pin ini merupakan output 5V yang telah diatur oleh regulator papan
Arduino. Board dapat diaktifkan dengan daya, baik dari colokan listrik DC
(7 - 12V), konektor USB (5V), atau pin VIN board (7-12V). Jika
memasukan tegangan melalui pin 5V atau 3.3V secara langsung (tanpa
melewati regulator) dapat merusak papan Arduino.
∑
Tegangan pada pin 3V3. 3.3Volt dihasilkan oleh regulator onon-board.
Menyediakan arus maksimum 50 mA.
∑
GND. Pin Ground.
∑
IOREF. Pin ini di papan Arduino memberikan tegangan referensi ketika
mikrokontroler beroperasi. Sebuah shield yang dikonfigurasi dengan benar
dapat membaca pin tegangan IOREF sehingga dapat memilih sumber daya
yang tepat agar dapat bekerja dengan 5V atau 3.3V.
2.3.2 Memori
MikrokontrolerATmega2560 memiliki 256 KB flash memory untuk
menyimpan kode (8 KB bootloader), 8 KB SRAM dan 4 KB EEPROM (yang
dapat dibaca dan ditulis dengan library EEPROM).
2.3.3
Input dan Output
Masing-masing dari 14 pin digital Uno dapat digunakan sebagai input
atau output, menggunakan fungsi pinMode(), digitalWrite(), dan digitalRead().
Mereka 10 beroperasi pada tegangan 5 volt. Setiap pin dapat memberikan atau
http://digilib.mercubuana.ac.id/
12
menerima maksimum 40 mA dan memiliki resistor pull-up internal (terputus
secara default) dari 20-50 kOhms. Selain itu, beberapa pin memiliki fungsi
spesial:
∑
Serial: pin 0 (RX) dan 1 (TX) Digunakan untuk menerima (RX) dan
mengirimkan (TX) data serial TTL. Pin ini terhubung dengan pin
ATmega8U2 USB-to-Serial TTL.
∑
Eksternal Interupsi: Pin 2 dan 3 dapat dikonfigurasi untuk memicu
interrupt pada nilai yang rendah (low value), rising atau falling edge, atau
perubahan nilai. Lihat fungsi attachInterrupt() untuk rinciannya.
∑
PWM: Pin 3, 5, 6, 9, 10, dan 11 Menyediakan 8-bit PWM dengan fungsi
analogWrite().
∑
SPI: pin 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) mendukung
komunikasi SPI dengan menggunakan perpustakaan SPI.
∑
LED: pin 13. Built-in LED terhubung ke pin digital 13. LED akan
menyala ketika diberi nilai HIGH. Arduino Uno memiliki 6 input analog,
berlabel A0 sampai A5, yang masing-masing menyediakan resolusi 10 bit
(yaitu 1024 nilai yang berbeda). Secara default mereka mengukur dari
ground sampai 5 volt, perubahan tegangan maksimal menggunakan pin
AREF dan fungsi analogReference(). Selain itu, beberapa pin tersebut
memiliki spesialisasi fungsi, yaitu TWI: pin A4 atau SDA dan A5 atau
SCL mendukung komunikasi TWI menggunakan perpustakaan Wire. Ada
beberapa pin lainnya yang tertulis di board:
∑
AREF. Tegangan referensi untuk input analog. Dapat digunakan dengan
fungsi analogReference().
http://digilib.mercubuana.ac.id/
13
∑
Reset. Gunakan LOW untuk me-reset mikrokontroler. Biasanya
digunakan untuk menambahkan tombol reset.
2.3.4 Komunikasi
Arduino Uno memiliki sejumlah fasilitas untuk berkomunikasi dengan
computer, Arduino lain, atau mikrokontroler lainnya. ATMega328 menyediakan
UART TTL (5V) komunikasi serial, yang tersedia pada pin digital 0 (Rx) dan 1
(Tx). Pada ATMega16U2 saluran komunikasi serial melalui USB dan muncul
sebagai com port virtual untuk perangkat lunak pada computer. Firmware 16U2
menggunakan standar driver USB COM, dan tidak ada driver eksternal
diperlukan. Namun, pada Windows, diperlukan file .inf . Perangkat lunak Arduino
termasuk monitor serial yang memungkinkan data tekstual sederhana akan
dikirim ke dan dari papan Arduino. Rx dan Tx LED di papan akan berkedip ketika
data sedang dikirim melalui chip USB-to-Serial dan koneksi USB computer
(tetapi tidak untuk komunikasi serial pada pin 0 dan 1). ATMega328 juga
mendukung I2C (TWI) dan komunikasi SPI. Perangkat lunak Arduino termasuk
Library Wire.h berfungsi menyederhanakan penggunaan bus I2C,sedangkan
untuk komunikasi SPIdigunakan library SPI.h.
2.3.5 Perlindungan Arus USB
USB Arduino Uno memiliki polyfuse reset yang melindungi port pada
USB computer dari arus pendek atau berlebih. Meskipun kebanyakan computer
memberikan perlindungan internal sendiri, sekering menyediakan lapisan
perlindungan tambahan. Jika lebih dari 500 mA, sekering otomatis bekerja.
http://digilib.mercubuana.ac.id/
14
2.3.6 Pemrograman
Arduino memiliki basic bahasa program menggunakan bahasa C++ yang
telah dipermudah melalui library. Arduino mengunakan software processing yang
digunakan untuk menulis program kedalam arduino. Processing sendiri
merupakan penggabungan antara bahasa C++ dan Java.
Gambar 2.4 Contoh Program Arduino 16.9
Gambar diatas merupakan screenshot tampilan software Arduino1.6.9
sebelum diberi perintah program. Struktur perintah pada arduino secara garis
besar terdiri dari 2 (dua) bagian yaitu void setup dan void loop. Void setup berisi
perintah yang akan dieksekusi hanya satu kali sejak arduino dihidupkan
sedangkan void loop berisi perintah yang akan dieksekusi berulang-ulang saat
arduino dinyalakan. Software ini dapat di-install di berbagai operating sistem
http://digilib.mercubuana.ac.id/
15
(OS) seperti: LINUX, Mac OS dan Windows. Secara garis besar software ini
memiliki tiga bagian utama yaitu :
1. Edittor program, untuk menulis dan mengedit program dalam bahasa
processing. Listing pada arduino disebut sketch.
2. Compiler, modul yang berfungsi mengubah bahasa processing (kode
program) kedalam kode biner karena kode biner adalah satu-satunya
bahasa program yang dipahami oleh microcontroler.
3. Uploader, modul yang berfungsi memasukan kode biner ke memori
mikrokontroler.
2.3.7 Otomatis Software Reset
Tombol reset Arduino Uno dirancang untuk menjalankan program yang
tersimpan di dalam mikrokontroler dari awal. Tombol reset terhubung ke
ATMega328 melalui kapasitor 100 nf. Setelah tombol reset ditekan cukup lama
untuk me-reset chip, software IDE Arduino dapat juga berfungsi untuk
mengupload program dengan hanya menekan tombol upload pada software IDE
Arduino.
2.4
Arduino Data Logging Shield
Data logger shield merupakan shield yang digunakan untuk melakukan
penyimpanan data (data logging) pada SD Card, dimana shield ini kompetibel dengan
Arduino Uno, Duemilanove, Diecimila, Leonardo, Mega R3/Mega ADK. Selain modul
SD Card Shield ini juga terpasang modul RTC (Real Time Clock) yang digunakan untuk
mengetahui waktu penyimpanan data dilakukan dan baterai jenis LIR2032 yang
berfungsi sebagai backup power RTC agar tetap menyimpan data waktu tanpa
supply dari luar. Dua buah LED yang dilengkapi dengan resisitor penahan arus
http://digilib.mercubuana.ac.id/
16
disediakan pada board ini untuk keperluan indikator tambahan. Lubang- lubang
yang terdapat pada board adalah area prototype untuk memudahkan dalam
penambahan komponen sebagai input atau output.
Gambar 2.5 Board Data Logging Shield
http://arduino-home.webnode.cz/news/dil-9-data-logger-shield-vynikajici/
( Diakses pada 4 Desember 2016 ).
Gambar diatas menunjukan tampilan board datalogger shield tampak atas.
Board ini dibuat menyerupai breadboard sehingga dapat memudahkan dalam
meletakkan sensor, resistor, transistor, IC, atau komponen lain di saat sedang
membuat sebuah perangkat. Fitur yang dimiliki board ini diantaranya adalah
sebagai berikut :
∑
Modul kartu SD bekerja dengan format FAT16 dan FAT32.
∑
Tegangan kerja 3.3v.
∑
Memiliki Real time clock (RTC) DS1307.
∑
Memiliki area prototype.
∑
Batray untuk menjaga memori RTC.
http://digilib.mercubuana.ac.id/
17
2.4.1 Bagian – Bagian Arduino Data Logging Shield
Untuk lebih memahami hardware yang dimiliki shield ini,maka akan
dijelaskan bagian bagianya sebagai berikut:
∑
Kiri Atas. Pada kiri atas terdapat real time clock (RTC) yang memiliki
kristal, dan baterai cadangan hingga 7 tahun.
∑
Kiri Tengah. Sebuah 3.3V regulator on-board ,perisai ini menjaga agar
tegangan tameng bagian 3V berjalan lancar.
∑
Tengah Atas. Pemegang kartu SD besar dapat digunakan sebagai
penyimpanan SD / MMC sampai 32G,untuk menggunakanya cukup
dorong atau tarik kartu ke dalam slot ini.
∑
Kanan Atas.
-
Dua LED dengan pull –up resistor,menghubungkan kabel dari pin
digital Arduino ke L1 atau L2 untuk menggunakan LED1 atau LED2.
-
Tombol reset akan me-reset seluruh Arduino, berguna untuk ketika
Anda ingin me-restart papan Arduino.
2.4.2 Terminal Tambahan.
Shield Arduino ini memiliki terminal tambahan yang berada di
sekelilingnya,diantaranya adalah sebagai berikut:
∑
3V - ini adalah 3V keluaran dari regulator. Ini adalah teganan referensi
3.3V berkualitas baik yang dapat digunakanuntuk sensor dengan arus
hingga 50mA.
∑
SQ - ini adalah squarewave ,merupakan keluaran opsional dari RTC.
Untuk menggaktifkanya harus dengan mengirim perintah tertentu
Pembuat RTC biasanya menggunakannya untuk pengujian.
http://digilib.mercubuana.ac.id/
18
∑
WP - ini adalah Write Protect
pada kartu SD,
terminal ini dapat
digunakan untuk mendeteksi posisi write-protect pada kartu .
∑
CD - ini adalah Card Detect pada kartu SD. Ketika kartu SD dimasukan
pin ini akan terhubung ke Ground..
∑
CS - ini adalah Chip Select pin untuk kartu SD. Jika perlu mengunakan
pin lain sebagai CS karena pin 10 bermasalah, terminal ini dapat disolder
ke pin digital lain pada arduino.
∑
L2 dan L1 - ini adalah LED tambahan. Untuk menggunakanya adalah
dengan menghubungkan pin ini ke pin digital arduino,terminal ini
memiliki pull-up 470 ohm resistor secara seri.
2.4.3 Real Time clock
RTC (Real time clock) DS1307 adalah jam elektronik berupa chip yang
dapat menghitung waktu (mulai detik hingga tahun) dengan akurat dan
menjaga/menyimpan data waktu tersebut secara real time. Karena jam tersebut
bekerja real time, maka setelah proses hitung waktu dilakukan output datanya
langsung disimpan atau dikirim ke device lain melalui sistem antarmuka.
Secara umum Chip RTC dapat dijumpai pada setiap motherboard PC yang
biasanya terletak didekat chip BIOS. Semua komputer menggunakan RTC untuk
menyimpan informasi jam terkini dari komputer yang bersangkutan. RTC
dilengkapi dengan baterai sebagai pensuplai daya pada chip, sehingga jam akan
tetap up-to-date walaupun komputer dimatikan. RTC dinilai cukup akurat sebagai
pewaktu (timer) karena menggunakan osilator kristal
http://digilib.mercubuana.ac.id/
19
Gambar 2.6 SkemaKomunikasi Serial I2C RTC DS1307
https://pccontrol.wordpress.com/2011/06/27/pengetahuan-dasarpemrograman-rtc-ds1307dengan-bahasa-c-codevision-untuk-avr/( Diakses pada 5 Desember 2016 ).
Gambar diatas menujukan skema komunikasi RTC dengan mikrokontroler
melalui protokol komunikasi I2C. Komunikasi ini umumnya digunakan untuk
proses inisialisasi RTC, penyetingan data waktu dan pengambilan data waktu
berupa tahun,bulan,tanggal,jam,menit,dan detik. .
Sedangkan daftar pin RTC DS1307 adalah sebagai berikut:
1. VCC – Primary Power Supply.
2. X1, X2 – 32.768 kHz Crystal Connection.
3. VBAT – +3V Battery Input.
4. GND – Ground.
5. SDA – Serial Data.
http://digilib.mercubuana.ac.id/
20
2.4.4 Modul SD Card
Didalam mendesain suatu sistem yang mampu menyimpan data,proses
penyimpanan dan ukuran data yang dapat disimpan menjadi suatu hal yang
penting. Semakin banyak data yang ingin diambil akan semakin besar media
penyimpanan yang dibutuhkan. Untuk menyimpan data,dapat digunakan beberapa
media diantaranya flashdisk,kartu SD, hardisk dan lainsebagainya. Untuk sistem
penyimpanan data logger,kartu SD lebih sesuai karena memiliki ukuran yang
kecil sehingga dapat memperkecil ruang yang dibutuhkan untuk menyimpan data.
Pada sistem data logger yang dibuat,tidak semua kartu SD dapat digunakan
sebagai penyimpan data. Beberapa kartu SD memiliki arsitektur dan tegangan
input yang berbeda. Untuk kartu SD yang ingin digunakan harus sesuai dengan
sistem yang diranncang,salah satunya adalah tegangan minimum agar dapat
beoperasi.
Didalam perkembanganya kartu SD terus mengalami perubahan dalam
segi bentuk dan jumlah data yang dapat disimpan. Kecenderunganya adalah
memoryCard memiliki ukuran yang kecil akan tetapi memiliki ukuran
penyimpanan yang semakin besar.
Modul SD Card dapat berfungsi untuk membaca dan menulis data ke/ dari
SD Card. Modul ini memiliki interfacing menggunakan komunikasi SPI.
Tegangan kerja dari modul ini dapat menggunakan level tegangan 3.3 V DC atau
5V DC, yang dapat digunakan salah satunya.
http://digilib.mercubuana.ac.id/
21
Gambar 2.7 Letak Modul kartu SD Pada Data Logger Shield
Lingkaran merah pada gambar diatas menujukan modul kartu SD yang
terletak di dataloger shield. Modul ini cocok digunakan untuk membuat pirantipiranti yang membutuhkan suatu penyimpanan bersifat non-volatile (data akan
tetap tersimpan walaupun tidak mendapatkan supply tegangan) dengan kapasitas
besar, hingga mencapai Gigabyte. Modul ini banyak digunakan untuk pembuatan
perekaman medis, perekam dan playback musik, data logger dan juga untuk
pembuatan basis data.
http://digilib.mercubuana.ac.id/
Download