BAB III PERANCANGANeprints.umm.ac.id/35655/4/jiptummpp-gdl-faizalalwi-47092...28 BAB III PERANCANGAN...
Transcript of BAB III PERANCANGANeprints.umm.ac.id/35655/4/jiptummpp-gdl-faizalalwi-47092...28 BAB III PERANCANGAN...
28
BAB III PERANCANGAN
3.1 Pendahuluan
Perancangan dan pembuatan sistem penyiram tanaman menggunakan web
server merupakan solusi yang tepat untuk kemudahan pengontrolan dan
pemantauan berkala jarak jauh. Hal ini karena dengan menggunakan alat ini, proses
pengaturan dan pengontrol dapat dikontrol secara mudah dan dapat diakses
menggunakan web browser. Selain itu alat ini sangat efisien karena dapat
dikendalikan oleh smartphone yang telah banyak digunakan diberbagai kalangan.
Adapun perancangan sistem dari alat ini akan dijabarkan sebagaimana perancangan
Hardware dan Software berikut:
3.2 Diagram Blok Dan Prinsip Kerja
3.2.1 Diagram blok
Dalam perancangan hardware akan dipisahkan menjadi bagian blok yang
lebih sederhana agar lebih mudah menganalisa apabila terjadi kesalahan atau
kerusakan yang mungkin terjadi setelah semua hardware digabungkan.
Adapun diagram blok sistem adalah seperti gambar 3.1 dibawah ini :
Gambar 3.1 Diagram Blok Sistem
Sumber : Perancang
ATMEGA8535
Soil Moisture sensor 1
Tanaman Anggre
(Realtime)
Soil Moisture sensor 2
Tanaman Anggrek
(terjadwal)
RTC DS3231
AC 220 V
Driver Relay
Driver Relay
Pompa Anturium
POMPA Anggrek
ATMEGA64
WIFI ESP8266
29
3.2.2 Prinsip Kerja
Pada perancangan alat ini, mikrokokontroller ATMEGA8535 dirancang
sebagai pengendali utama sistem, dimana pada kondisi awal, mikrontroller
ATMEGA8535 melakukan inisialisasi input output serta proses pengolahan data
modul WIFI agar modul dapat aktif pada jaringan server WIFI. Selanjutnya sistem
menunggu koneksi client ke server dan menungu perintah dari client untuk proses
pengontrolan dan pemantauan.
Jika terjadi koneksi dan pengiriman perintah dari client, maka sistem
melakukan pembacaan perintah, selanjutnya sistem melakukan pengidentifikasian
perintah yang dikirimkan dari smartphone atau PC dari web client tersebut melalui
jaringan WIFI. Jika perintah yang dikirim sesuai, maka selanjutnya akan diproses
oleh mikrokontroler untuk dieksekusi pada kontroller dalam menangani pembacaan
dan pengontrolan sistem.
Pada kondisi yang sama mikrokontroller melakukan pembacaan kelembaban
melalui moisture sensor pada tanaman anggrek dan anturium, pada sensor ini
kelembaban tanah diukur melalui ADC dan dikonversi menjadi kelembaban, jika
kelembaban rendah maka pada tanaman anggrek maka sistem akan melakukan
penyiraman otomatis melalui driver relay untuk menyalakan pompa air, sementara
itu pada tanaman anturium karena proses bergantung jadwal, maka sistem
melakukan pembacaan RTC DS3231 untuk mengetahui jam dalam melakukan
proses penyiraman. Setiap proses dikirim ke web server melalui modul WIFI
sementara untuk proses penjadwalan yang diatur dari web browser dipantau dan
kemudian perintah tersebut disimpan pada EEPROM ATMEGA untuk acuan
jadwal penyiraman yang akan dilakukan.
3.3 Perencanaan Hardware
Agar sistem yang dirancang dapat berjalan dengan baik, maka sistem dan
alur kerja dari suatu hardware dan software harus dirancang dengan baik dan dapat
berfungsi sebagaimana mestinya. Adapun Perancangan hardware dan software dari
sistem pengontrol dan pemantau pada penyiram tanaman menggunakan web server
mengacu pada perancangan software dan hardware berikut ini :
30
3.3.1 Perancangan Modul Moisture sensor
Untuk dapat membaca kelembaban pada tanah maka dibutuhkan dua buah
elektrode yang ditancapkan pada tanah tersebut. Selanjutnya resistansi yang didapat
dari kedua lempeng dibaca dan dikonversi menjadi tegangan melalui rangkaian
pengkondisi sinyal. Pada perancangan ini sensor kelembaban tanah dirancang
menggunakan modul moisture sensor type SEN0114 buatan DFROBOT sebanyak
2 unit yang ditempatkan pada tanah tempat tanaman anggrek dan anturium. Pada
modul ini terdapat 2 elektrode tembaga yang telah dirangkai dalam satu modul
menggunakan rangkaian pengkondisi sinyal. Adapun keluaran dari sensor berupa
tegangan dengan rentang 0 hingga 4,2V terhadap hasil kelembaban yang dibaca.
Dengan demikian maka pada controller modul dibaca menggunakan ADC. Adapun
konfigurasi pin pada ATMEGA8535 ditunjukkan pada gambar 3.2:
Gambar 3.2: Rangkaian modul moisture sensor Sumber : Perancangan
Op Amp
Gnd Vc
c
Vout
Modul Moisture sensor 1
Op Amp
Gnd Vc
c
Vout
Modul Moisture sensor 2
PC6/TOSC128PC527PC426PC325PC224PC1/SDA23PC0/SCL22
PC7/TOSC229
PA6/ADC634PA5/ADC535PA4/ADC436PA3/ADC337PA2/ADC238PA1/ADC139PA0/ADC040
PA7/ADC733PB6/MISO 7PB5/MOSI 6
PB4/SS 5PB3/AIN1/OC0 4PB2/AIN0/INT2 3
PB1/T1 2PB0/T0/XCK 1
PB7/SCK 8
PD6/ICP1 20PD5/OC1A 19PD4/OC1B 18
PD3/INT1 17PD2/INT0 16PD1/TXD 15PD0/RXD 14
PD7/OC2 21
RESET 9
XTAL1 13
XTAL2 12
AVCC30AREF32
MCU
ATMEGA8535
5V
5V
31
3.3.2 Perancangan Modul WIFI Menggunakan Modul ESP8266
Untuk dapat berkomunikasi secara wireless antara sistem dengan PC atau
smartphone pada web browser, maka pada perancangan ini digunakan perangkat
WIFI to serial menggunakan modul ESP8266 yang dihubungkan ke rangkaian
controller. ESP8266 merupakan piranti elektronik yang bekerja pada protokol
wireless IEEE802.11.4/b/g/n atau yang umum dikenal dengan WIFI. Modul ini
bekerja dengan komunikasi serial UART dengan variable baudrate 9600, 19200,
57600, 115200 dan diakses melalui protokol AT command sehingga dapat
dihubungkan langsung ke serial mikrokontroller. Adapun hubungan pin
ATMEGA8525 dengan ESP8266 ditunjukkan pada gambar 3.3:
Gambar 3.3 Rangkaian modul WIFI ESP8266 Sumber : Perancangan
3.3.3 Perancangan RTC DS3231
Untuk proses penghitung waktu pada perancangan, maka pada alat ini
dibutuhkan sebuah RTC, adapun RTC yang digunakan adalah RTC keluaran Dallas
Semiconductor tipe DS3231, yaitu sebuah chip RTC yang menggunakan
komunikasi serial I2C bus. Adapun rangkaian RTC DS3231 ditunjukan pada
Gambar 3.4:
ANTENNA
ANT
TXD
RXD
Gnd
ESP8266 WIFI
PB0/T0/XCK1
PB1/T12
PB2/AIN0/INT23
PB3/AIN1/OC04
PB4/SS5
PB5/MOSI6
PB6/MISO7
PB7/SCK8
RESET9
XTAL212XTAL113
PD0/RXD 14
PD1/TXD 15
PD2/INT0 16
PD3/INT1 17
PD4/OC1B 18
PD5/OC1A 19
PD6/ICP1 20
PD7/OC2 21
PC0/SCL 22
PC1/SDA 23
PC2/TCK 24
PC3/TMS 25
PC4/TDO 26
PC5/TDI 27
PC6/TOSC1 28
PC7/TOSC2 29
PA7/ADC733PA6/ADC634PA5/ADC535PA4/ADC436PA3/ADC337PA2/ADC238PA1/ADC139PA0/ADC040
AREF 32
AVCC 30
U1
ATMEGA16
32
Gambar 3.4 Rangkaian RTC DS3231
Sumber: Perancangan
Baterai 3V yang digunakan menggunakan lithium 3V CR2032 untuk
melakukan proses update time pada saat catu daya utama RTC dinonaktifkan. RTC
DS3231 diakses secara serial menggunakan interface I2C, sehingga hanya
membutuhkan dua jalur yaitu clock dan data yang pada perancangan.
3.3.4 Perancangan Rangkaian Relay
Dalam perancangan alat ini, driver relay digunakan untuk memutus dan
menyambung hubungan listrik dengan beban, dimana beban yang ditangani pada
perancangan ini terdiri dari 7 buah output. Adapun rangkaian driver yang
digunakan menggunakan IC buatan NEC semiconductor tipe ULN2003 yang
digunakan sebagai pengontrol relay karena mampu mensuplay arus kolektor hingga
500mA pada setiap drivernya. Skema diagram dari driver relay menggunakan IC
ULN2003 ditunjukkan dalam Gambar 3.5:
PC6/TOSC1 28PC5 27PC4 26PC3 25PC2 24
PC1/SDA 23PC0/SCL 22
PC7/TOSC2 29
PA6/ADC6 34PA5/ADC5 35PA4/ADC4 36PA3/ADC3 37PA2/ADC2 38PA1/ADC1 39PA0/ADC0 40
PA7/ADC7 33PB6/MISO7PB5/MOSI6PB4/SS5PB3/AIN1/OC04PB2/AIN0/INT23PB1/T12PB0/T0/XCK1
PB7/SCK8
PD6/ICP120PD5/OC1A19PD4/OC1B18PD3/INT117PD2/INT016PD1/TXD15PD0/RXD14
PD7/OC221
RESET9
XTAL113
XTAL212
AVCC 30AREF 32
U1
ATMEGA8535
SDA17
RST6INT/SQW 5
32KHz 3
VBAT 16
SCL18/20
U2
DS3231
BAT13V
X1
16MHz5v
R1
10k
5v
33
Gambar 3.5 Rangkaian driver Relay Sumber : Perancangan
Driver ULN2003 merupakan chip IC kumpulan driver transistor untuk
memutus dan menyambung tegangan relay. Pada perancangan diatas, AC 220V
(PLN) diputus melalui kontak relay yang digerakkan oleh koil relay tersebut
sehingga saat input driver ULN2003 dipicu dari mikrokontroller sehingga motor
pompa air dapat teraliri arus listrik dan menyala.
Berdasarkan datasheet, Driver ULN2003 mempunyai kemampuan
mensuplay arus sebesar 500mA, selain itu output masing-masing driver dapat
diparalel jika arus yang dibutuhkan relay kurang mencukupi. Pada perancangan ini,
relay yang digunakan sebagai pemutus kontak AC menggunakan OMRON MY-
2P/10A yang mempunyai resistansi coil sebesar 50Ω, dengan demikian, Arus coil
relay dapat dicari sebagaimana berikut:
IRelay = ernalCoilR
Vint_
=5012
= 0.24 Amper = 240 mA
3.3.5 Catu Daya
Catu daya adalah bagian dari setiap perangkat eletronika yang berfungsi
sebagai sumber tenaga. Catu daya sebagai sumber tenaga dapat berasal dari ;
baterai, accu, solar cell dan adaptor. Komponen ini akan mencatu tegangan yang
PC6/TOSC128PC527PC426PC325PC224PC1/SDA23PC0/SCL22
PC7/TOSC229
PA6/ADC634PA5/ADC535PA4/ADC436PA3/ADC337PA2/ADC238PA1/ADC139PA0/ADC040
PA7/ADC733PB6/MISO 7PB5/MOSI 6
PB4/SS 5PB3/AIN1/OC0 4PB2/AIN0/INT2 3
PB1/T1 2PB0/T0/XCK 1
PB7/SCK 8
PD6/ICP1 20PD5/OC1A 19PD4/OC1B 18
PD3/INT1 17PD2/INT0 16PD1/TXD 15PD0/RXD 14
PD7/OC2 21
RESET 9
XTAL1 13
XTAL2 12
AVCC30AREF32
AVR
ATMEGA8535
RL112V
RL212V
1B1 1C 16
2B2 2C 15
3B3 3C 14
4B4 4C 13
5B5 5C 12
6B6 6C 11
7B7 7C 10
COM 9
DRIVER RELAYULN2003A
DC 12V (dari Power Suplay)
AC 220V
ke POMPA 1
kePOMPA 2
X1
16MHz
R1
10k
5v
34
di perlukan oleh rangakain elektronika. Rangakaian power supply sederhana dapat
dilihat pada gambar 3.6
Gambar 3.6 Rangkaian Power Supply sederhana Sumber : ( Sapno Mujoko, 2009 )
3.3.6 Adaptor Power Supply
Adaptor Power Supply adalah adaptor yang dapat merubah tegangan listrik
AC yang besar menjadi tegangan DC. Misalnya : dari tegangan 220V AC menjadi
tegangan 5VDC, 9 VDC, atau 12 VDC.
Adaptor power supply di buat untuk menggantikan fungsi baterai dan accu
agar lebih ekonomis. Adaptor power supply ada yang di buat sendiri, tetapi ada
yang di buat di jadikan satu dengan rangkaian lain. Diagram blog Adaptor Power
Supply dapat dilihat pada gambar 3.7.
STEPDOWN
Penurunan Tegangan
RECTIFIER
Penyearah
FILTER
Penyaring
STABILIZER/REGULATOR
Penstabil & Pengatur
Gambar 3.7 Diagram Blog Adaptor Power Supply Sumber : ( Sapno Mujoko, 2009 )
Keterangan :
1. Stepdown (penurunan tegangan)
Bagian ini berfungsi menurunkan tegangan AC 110/220V menjadi
tegangan AC yang lebih rendah yang di perlukan ( 5V, 9V, 12V, dll).
35
2. Rectifier (penyearah)
Bagian ini merupakan bagian penyearah arus dari arus AC (bolak-balik)
menjadi arus DC (searah). Bagian ini terdiri dari sebuah diode silicon,
germanium, selenium atau cuprox.
3. Filter (penyaring)
Bagian ini berfungsi untuk menyaring arus DC yang masih berdenyut
sehingga menjadi rata. Komponen yang di gunakan yaitu gabungan dari
kapasitor elektrolit dengan resistor atau indictor.
4. Stabilizer
Bagian ini berfungsi menstabilkan tegangan DC agar tidak terpengruh oleh
teganagn beban. Komponen ini berupa diode zener atau IC yang di
dalamnya berisi rangkaian penstabil.
3.4 Perancangan Software
Agar seluruh hardware yang dirancang dapat dikontrol dan dimonitor oleh
microcontroller, maka diperlukan software pengendali yang didownloadkan pada
microcontroller tersebut. Perancangan software dirancang menggunakan software
BASCOMM AVR. Sedangkan proses dari kerja masing-masing software mengacu
pada algoritma kerja sistem sebagaiamana pembahasan berikut:
36
Gambar 3.8 Flowchart Sistem yang di rancang Sumber : perancang
Start
Inisialisasi
Aktifasi WIFI server
Client connect?
Cek Client Connection
Baca data sensor, waktu dan status pompa pada memori
Kirim data ke web http client
T
Baca jam RTC
Baca Sensor moisture 1 (anggrek)
Tanah Kering? Nyalakan Pompa penyiram anggrekY
Matikan Pompa penyiram anggrek
T
Baca Sensor moisture 2 (anturium)
Tanah Kering?Y
Matikan Pompa penyiram anturium
T
Jadwal sesuai?
T
YNyalakan Pompa penyiram
anturium
Cek commandY
Command = cek status? Y
T
Command = sek jam RTC?
Baca data Set waktu dari WEB
SET RTC
POWER=OFF?
END
Y
T
Y
T
37
3.4.1 Algoritma seting komunikasi WLAN pada modul Wifi
Agar modul wifi ESP8266 dapat bekerja pada jaringan LAN, maka perlu
dilakukan inisialisasi berupa seting IP, mode WLAN, SSID dan lain sebagainya
dengan mangacu pada datasheet. Adapun perancangan seting komunikasi pada
ESP8266 ditunjukkan pada gambar 3.9: Start
Inisialisasi serial baudrate 57600
Kirim command MODE WLAN=server(AT+WM=2)
Kirim command MODE Authentikasi=WEPKEY
(AT+WAUTH=2)
Kirim command Kunci pasword
(AT+WWEP=”pasword”)
Kirim command Set IP(AT+NSET=”IP”,”Subnetmask”)
Kirim command Set SSID name(AT+WA=”nama server”)
Kirim command Set Aktif WLAN+port(AT+NAUTO=1,3000)
Kirim command Set WLAN ON
(ATA=2)
Wlan aktif siap kirim terima data
Ret Gambar 3.9 Algoritma seting wifi pada modul ESP8266
Sumber : Perancangan
3.4.2 Algoritma Pembacaan ADC Internal Arduino
Algoritma pengkonversian data analog ke digital melalui ADC internal
arduino pada perangkat lunak telah dikemas menjadi satu instruksi librari yang
hanya dipanggil dengan menggunakan perintah “AnalogRead(Chanel ADC)”
sehingga proses pembacaan ADC dapat disederhanakan, namun pada prinsipnya
proses yang dilakukan pada saat pembacaaan ADC meliputi beberapa parameter
38
dan register yang harus diseting dan ditunjukkan dalam Gambar 3.10 flowchart
berikut:
Start
ADMUX= nomor chanel input ADC
Start ADC(ADCSRA | = 0x40)
Delay
Baca register ADC(Data ADC= ADCH+ADCL)
ADCSRA.4=1
END
Gambar 3.10 Algoritma pembacaan ADC internal Sumber : Perancangan
Pada perancangan flowchart dalam gambar 3.10, delay merupakan proses
tunda waktu dari internal control ADC pada mikrokontroller arduino untuk proses
konversi, proses tunda tersebut diatur berdasarkan konfigurasi ADC dari clock yang
dirancang.
Sementara itu untuk mengetahui proses selesainya konversi ADC berada
pada register ADCSRA pada bit ke 4, yaitu bit akan 0 saat konversi ADC selesai
dan berlogika 1 (high) jika proses konversi sedang berlangsung.
Hasil konversi ADC selanjutnya disimpan pada register ADCH untuk bit
MSB ( bit 8 dan bit 9) sementara bit rendah (LSB) tersimpan pada register ADCL
yaitu bit 0 hingga 7 sehingga data dapat diambil dari register tersebut.
Selanjutnya bit ADCSRA bit ke 4 di buat high secara manual sebagai tanda
pada internal controller ADC bahwa data ADC telah dibaca.
39
3.4.3 Algoritma Baca Data RTC
Adapun proses pembacaan RTC DS3231 mengunakan I2C interface
mengacu pada algoritma perangkat lunak sebagaimana Gambar 3.11:
Gambar 3.11 Flow chart Baca Data RTC DS3231 Sumber : perancangan
Proses pembacaan data RTC menggunakan metode pembacan komunikasi
I2C, yaitu bit yang dihasilkan dari pin SDA RTC digeser dan disusun pada saat
clock berubah satu kali, kemudian hasil disimpan pada register Accumulator
sebagai data yang diterima, karena data RTC = 1byte (8bit), maka proses
pembacaaan bit dilakukan sebanyak 8kali dan hasil pembacaan dapat diamati pada
register A.
RET
Start
I = 0
Kirim Clock pada SCL
Baca SDA RTC
Geser ke Accumulator ( Rotate A kekiri )
Naikkan I
Apakah I =8?
Baca = A
Y
T
40
3.4.4 Algoritma Tulis Data RTC
Adapun proses penulisan RTC DS3231 mengunakan I2C interface mengacu
pada algoritma perangkat lunak sebagaimana Gambar 3.12:
Gambar 3.12 Flowchart Tulis Data RTC Sumber: Perancangan
Proses penulisan atau pengiriman data RTC dari mikro hampir sama dengan
proses pembacaan data yaitu menggunakan komunikasi I2C. Pada proses ini bit
yang akan dikirim dipecah menjadi 8 bagian kemudian dikirim bit demi bit dengan
disertai satu siklus clock SCK sebagai tanda bit telah dikirim pada RTC, proses ini
dikirim sebanyak 8kali untuk mencapai data 1 byte (8bit). Pada prosesnya
pembacaan dan penulisan data pada RTC melalui arduino dilakukan oleh library
untuk memudahkan pemprosesan data.
RET
Start
I = 0
Kirim Clock pada SCL
Geser A ke Carry Flag
Pin SDA = C
Naikkan I
Apakah I =8?
Y
T