49 BAB 3 PERANCANGAN SISTEM 3.1. Perancangan Perangkat

advertisement
49
BAB 3
PERANCANGAN S IS TEM
3.1. Perancangan Perangkat Keras
Perancangan perangkat keras hanya terdiri dari 3 bagian yaitu rangkaian
pusat control, rangkaian pengukuran dan rangkaian simcom300CZ
Gambar 3.1 Blok Diagram Sistem
• M ikrokontroler sebegai penerima input analog V dan I dari solar panel dan
mengkonversi ke nilai digital, melakukan perkalian antara V dan I untuk
memperoleh W, mengontrol simcom 300CZ untuk mengirimkan data dengan AT
Command, dan mengontrol LCD.
50
• Simcom 300CZ berfungsi sebagai modem untuk mengirim data ke web host
melalui jaringan internet.
• LCD untuk menampilkan data V, I dan W yang dihasilkan solar panel.
• Proses.php untuk memproses data dari terima.php dan melakukan perkalian
antara V dan I untuk memperoleh daya kemudian memasukkan ke databas e
MySQL. Entitas yang dimasukkan ke database meliputi time now (waktu nyata
saat data dimasukan ke database yang di bangun /generate dari server), volt, arus
dan daya.
• get_latest_data1.php untuk mengambil 10 data “daya” terakhir dari database dan
mengolah ke format XM L agar dapat di tampilkan oleh komponen Fusion Charts
ke dalam grafik histori daya.
• get_latest_data2.phpuntuk mengambil 10 data “tegangan” terakhir dari databas e
dan mengolah ke format XM L agar dapat di tampilkan oleh komponen Fusion
Charts ke dalam grafik histori tegangan.
• get_latest_data3.php untuk mengambil 10 data “arus” terakhir dari database dan
mengolah ke format XM L agar dapat di tampilkan oleh komponen Fusion Charts
ke dalam grafik histori arus.
• angka.php untuk mengambil data daya, tegangan, arus yang paling terakhir untuk
kemudian ditampilkan dalam bentuk angka.
• Index.html adalah halaman yang menampilkan data dan diakses oleh user melalui
browser.
– Link: http://www.fctickets.co.uk/sistem-pemantau-solar-sel
51
3.1.1. Perancangan Rangkaian Pusat Kontrol
Gambar 3.2 Rangkaian Pusat Kontrol
Pada sistem ini digunakan mikrokontroler jenis ATM ega32 sebagai pusat
kontrol. Sistem pusat kontrol ini beroperasi dengan tegangan supplai 5 Volt
sehingga digunakan regulator 7805 agar dapat menghasilkan tegangan operasi
yang diinginkan. M ikrokontroler ini mempunyai memori program flash sebesar
32KB, sehingga mampu memuat program yang panjang.
M ikrokontroler ini juga mempunyai kapasitas RAM internal sebesar 2KB
yang mampu digunakan sebagai buffer untuk menampung data serial yang
cukup besar dari modul simcom 300CZ saat terjadi penerimaan respon dari
52
server. Selain itu ATM ega32 juga mempunyai 8 channel ADC. Sistem ini
membutuhkan 2 channel ADC untuk mengukur tegangan dan arus dari solar
panel.
Pada sistem kontrol ini, PORT C digunakan untuk mengontrol LCD dengan
mode data 4 bit, PORTA.0 untuk mengkonversi tegangan analog tegangan (V) ke
digital dan PORTA.1 untuk mengkonversi tegangan analog yang korespondensi
dengan arus (I) ke nilai digitalnya. PORTD.0 (RX) digunakan untuk menerima
data serial dari Simcom 300CZ dan PORTD.1 (TX) digunakan untuk mengirim
perintah-perintah ke SIM COM agar dapat menjalankan fungsinya. Pin RX dan
TX ini tidak langsung dihubungkan ke simcom tetapi dihubungkan ke M AX232
terlebih dahulu, karena pada sistem ini komunikasi data terjadi secara RS232 Hal
ini dilakukan karena adanya berbeda tegangan operasi antara rangkaian pusat
kontrol dengan modul simcom.
3.1.2. Perancangan Rangkaian Pengukur Daya Panel S urya
Gambar 3.3 Rangkaian Pengukur Daya Panel Surya
Rangkaian pengukuran ini digunakan untuk mengukur output dari solar
panel.
Tegangan
analog
maksimal
yang
dapat
diterima
oleh
ADC
53
mikrokontroller adalah 5 V jadi Untuk mengukur tegangan output dari solar
panel digunakan voltage divider dengan nilai 12 K dan 47 K sehingga diperoleh
ratio sekitar 1:5. jadi dengan Vout maksimal solar panel sebesar 22V, maka akan
di peroleh 4.4 volt yang masuk ke PORTA.0 dari mikrokontroller. Untuk
mengukur output arus dari solar panel digunakan R sense sebesar 0.1 ohm. Jika
Solar panel mengeluarkan arus maksimalnya sebesar 3 A maka tegangan yang
jatuh pada R sense ini adalah V=I X R = 3 X 0.1 = 0.3 volt. Tegangan ini akan
diperkuat 10 x dengan penguat tidak membalik.
Gambar 3.4 Penguat Non-Inverting
Dengan menyusun rangkaian agar R4 = R2 dan R3=R1 maka dapat kita
turunkan persamaan berikut
54
Oleh karena itu dipilih R2=R4=10 K dan R3=R1=1K sehingga diperoleh
penguatan sebesar 10 kali.
3.1.3. Perancangan Rangkaian Simcom
Gambar 3.5 Rangkaian Simcom
Simcom 300CZ adalah sebuah modul GSM yang bekerja pada level
tegangan 3.7 V sampai 4.5 V dan pada perancangan rangkaian ini dipilih
tegangan operasi 4 Volt. Pada pin VBAT terdapat 2 buah kapasitor yang
terparalel yaitu 10 uF dan 100 uF. Pada datasheet di jelaskan bahwa Simcom
55
300CZ mampu menarik arus sampai puncak berkisar 2 A sesaat saat baru
pertama kali dinyalakan dan mencari sinyal GSM , oleh karena itu disarankan
untuk meletakan kedua kapasitor tersebut secara paralel pada pin VBAT.
Pin Led pada SIM 300CZ berfungsi sebagai indikator status dari dari SIM
300CZ. Berikut ini adalah tabel beberapa status dari modul GSM SIM 300CZ
Tabel 3.1 Kondisi LED dan Status
Pin Powerkey berfungsi untuk menyalakan dan mematikan modul GSM .
Saat mendapat tegangan pada VBAT, pin powerkey akan mengalami pull-up,
tetapi modul GSM masih dalam keadaan belum menyala. Untuk menyalakannya,
pin powerkey harus di pull-down ke ground selama interval waktu tertentu.
Berikut ini adalah timing diagramnya :
Gambar 3.6 Diagram Waktu untuk M enyalakan Sim300cz
56
Untuk mematikan modul GSM , dapat dilakukan dengan cara yang sama.
Berikut timing diagram untuk mematikan modul :
Gambar 3.7 Diagram Waktu untuk M ematikan Sim300cz
Pin RX dan TX pada modul digunakan untuk berkomunikasi dengan
rangkaian pusat kontrol. Karena modul Simcom 300CZ mempunyai tegangan
operasi yang berbeda dengan tegangan operasi pusat kontrol, maka kedua pin ini
dihubungkan ke M AX3232 untuk menghasilkan level tegangan RS232.
MAX3232 ini berfungsi untuk mengkonversi level tegangan logika simcom
(0 - 3.3 volt) menjadi level tegangan RS232. Jadi modul simcom dan perangkat
pusat control berkomunikasi melalui RS232 dengan melakukan persilangan atau
cross pada kabel serial yang digunakan. Selain itu pin RTS dan CTS pada
rangkaian simcom di hubungkan untuk tujuan control alur komunikasi.
57
3.2. Perancangan Perangkat Lunak
Perancangan perangkat lunak pada sistem meliputi pembuatan firmware
diantaranya inisialisasi SFR (special Function Register) dari mikrokontroller,
pengaturan baudrate dan flow control komunikasi serial dari modul GSM , HTTP
request, pengaturan konfigurasi database, perancangan table database, perancangan
website dan diagram alir.
3.2.1. Inisialisasi S FR (special Function Register)
Inisialisasi SFR perlu dilakukan untuk menggunakan fitur-fitur dari AVR
yang digunakan pada system :
• S FR Berkaitan dengan Interrupt Timer
• TCCR1B & TCCR1A
TCCR1B bernilai 0x02 karena akan digunakan pembagi untuk clock
oscilator 1024.
• TCNT1
Timer 1 memiliki nilai yang lebih besar dari timer yang lain yaitu sebesar
2 byte. Pada sistem, timer akan menghitung naik dari 0000 sampai FFFF
untuk sampai overflow. M aka dalam pengaturannya akan diberikan nilai
TCNT1 sebesar 3036 untuk menghasilkan timer sebesar 4 detik.
• TIMS K
Register TIM SK merupakan register untuk menjalankan interrupt timer,
dimana nilai yang akan diset adalah untuk mengaktifkan interrupt
overflow. TIM SK diset 0x04 untuk mengaktifkan interrupt timer 1
(TOIE1)
58
• S REG
SREG merupakan register untuk mengaktifkan interrupt, dimana dalam
pengaktifannya akan digunakan asm(sei), yang akan mengaktifkan I
sehingga memiliki nilai logika satu yang berfungsi untuk mengaktifkan
seluruh interrupt.
•
S FR Berkaitan dengan Serial
• UCS RB
Pada sistem, register UCSRB akan diberi nilai sebesar 0xD8 dalam
heksadesimal. Karena yang akan diaktifkan adalah RXCIE berfungsi
untuk mengetahui jika terjadi pengiriman secara serial, RXEN untuk
mengaktifkan pin Receive, sehingga dapat menerima input-an serial, dan
yang terakhir adalah TXEN berfungsi untuk mengirim data secara serial.
• UCS RC
UCSRC diset untuk pengaktifan bit URSEL, dan untuk pengiriman data
penampung sebesar 8 bit diset pada UCSZ1 dan UCSZ0 bernilai 1.
Sehingga dalam pemberian bitnya diberikan nilai UCSRC sebesar 0X86
dalam heksadesimal.
• UBRRH & UBRRL
Frekuensi oscilator yang digunakan adalah 16 M Hz, sehingga jika ingin
menggunakan baudrate sebesar 9600, maka akan digunakan UBRR
bernilai 103 dan ketika dikonversi menjadi heksadesimal nilainya akan
menjadi 0x67.
59
•
S FR Berkaitan dengan ADC (Analog Digital Converter)
• ADMUX
ADM UX diset untuk memilih pin tegangan referensi untuk ADC,
mengatur resolusi bit konversi dan channel yang digunakan. Dalam
sistem tegangan referensi yang digunakan adalah pin AREF sehingga bit
REFS1 dan REF S0 di set 11. Sistem menggunakan resolusi 8 bit sehingga
bit ADLAR di set 1.
• ADCS RA
ADCSRA diatur untuk menggunakan fitur ADC pada mikrokontroller.
ADCSRA di set dengan nilai 0x87 dengan Bit ADEN diset menjadi 1
untuk mengaktifkan ADC dan frekuensi ADC yang digunakan adalah 125
KHz sehingga dengan osilator 16MHz, ADPS2-ADPS0 di set 111 untuk
menggunakan factor pembagi sebesar 128.
3.2.2. Pengaturan Baudrate dan Flow Control Komunikasi Serial Modul GS M
Komunikasi serial pada sistem hanya menggunakan 3 kabel yaitu TX,RX
dan GND sehingga
flow control dari simcom diatur menjadi XON/XOFF
terlebih dahulu dengan PC. Untuk mengaturnya digunakan AT Command :
AT+IFC = 1,1
M odul SIM COM 300CZ memiliki fitur autobaudrate sehingga dapat
mendeteksi baudrate dari lawan komunikasinya.
Namun pada perancangan
sistem ini modul sengaja diatur untuk beroperasi pada baudrate 9600 sesuai
60
dengan baudrate yang digunakan pada rangkaian pusat control. Tujuannya adalah
untuk menghindari kemungkinan gagalnya deteksi baudarate dari simcom yang
dapat menyebabkan gangguan komunikasi. Pengaturan Baudrate dapat di atur
dengan AT Command :
AT+IPR=9600
Setelah pengaturan selesai dilakukan, maka di simpan dengan ke dalam
ROM modul sehingga modul akan berjalan sesuai dengan pengaturan di atas saat
dinyalakan . Penyimpanan pengaturan dilakukan dengan AT Command :
AT&W
3.2.3. Perancangan format HTTP Request
Untuk mengirim data ke web host melalui modem GSM maka diperlukan
HTTP request. Format request yang dikirim perlu di perhatikan agar web host
yang menerima request dapat memahami. Berikut ini adalah request
paling
sederhana yang di kirim untuk meminimalkan bandwidth upload dan dapat
diterima dengan baik oleh web host :
POST /proses.php HTTP/1.1
Host: www.fctickets.co.uk
Content-Type: application/x-www-form-urlencoded
Content-Length : <jumlah karakter pada body>
volt=<data tegangan>&arus=<data arus>&send=kirim
61
Pada request yang dikirim, harus terdapat <CR><LF> (<Carriage
Right><Left Feed> ) pada setiap akhir baris dan harus terdapat <CR><LF> pada
baris kosong sebelum bagian body. <CR> pada keyboard diketik dengan Ctrl+m
dan <LF> diketik dengan Ctrl+j. Content-Length harus berisi jumlah karakter
yang terdapat pada bagian Body.
3.2.4. Pengaturan Konfigurasi database
Pada sistem ini dibuat sebuah fungsi konfigurasi database yang digunakan
untuk
mengkonek
database
pada
M ySQL.
Fungsi
ini
diberi
nama
open_connection (); disimpan dalam file PHP dengan nama dbconfig.php yang
akan dipanggil setiap saat akan melakukan koneksi ke database. Dalam fungsi ini
terdapat :
• $host = "localhost"
Deklarasi variable untuk menyimpan nama host pada web host. Web host
yang digunakan dalam sistem ini menggunakan platform Cpanel dan
dijelaskan pada manual book value dari hostnya harus localhost
• $user = "fcticket_solar";
Deklarasi variable untuk menyimpan username dari akun database MySQL
pada host web host. Dalam sebuah web host bisa dibuat lebih dari 1 akun, dan
pada sistem ini dibuat akun khusus dengan username fcticket_solar
• $pass = "1100032905";
Deklarasi variable untuk menyimpan value password dari akun database yang
digunakan.
62
• $database = "fcticket_solarmonitoring";
Deklarasi variable untuk menyimpan value nama database yang digunakan
pada akun. Dalam 1 akun bisa dibuat mempunyai lebih dari 1 database. Dalam
sistem ini dibuat database dengan nama fcticket_solarmonitoring
• $namatable = "solar_info";
Deklarasi variable untuk menyimpan value nama table (entitas) dalam
database fcticket_solarmonitoring yang digunakan pada sistem.
• $connect = mysql_connect($host,$user,$pass) or die("Koneksi gagal");
M elakukan konekes ke database dengan paramaeter host, username dan
password. Jika gagal maka akan dicetak koneksi gagal
• $pilih_db = mysql_select_db($database) or die("Database tidak ada");
M emilih database yang akan digunakan. Jika gagal akan mencetak Database
tidak ada.
3.2.5. Perancangan Table (entitas) Database
Pada sistem hanya digunakan 1 tabel dengan atribut-atribut sebagai berikut:
Entitas
Atribut
Deskripsi
Tipe data
Nulls
waktu
Waktu data dikirim
Date Time
No
Float
No
Float
No
Float
No
Volt
Solar_info
Arus
Data tegangan yang
dikirim modem
Data arus yang
dikirm modem
Data daya hasil
daya
perkalian volt dan arus
Tabel 3.2 Tabel Database
63
3.2.6. Perancangan Web
• Halaman Penerima Data
Halaman penerima data adalah halaman yang diakses oleh modem
dengan metode POST. Halaman ini akan menerima data, setelah itu akan
melakukan perhitungan perkalian antara volt dan arus untuk memperoleh watt.
Setelah itu data volt, arus dan watt akan di insert ke dalam database dengan
waktunya di generate dengan fungsi now(). Halaman ini dibuat dengan PHP
dan disimpan pada root dengan nama proses.php.
• S truktur Web
Website yang digunakan sebagai bagian yang berinteraksi dengan
pengguna mempunyai struktur sebagai berikut :
Home
Proses.php
Sistem-pemantausolar-sel
Index.php
Kemarin.php
3 hari.php
7 hari.php
30 hari.php
Kinerja.php
Gambar 3.8 Struktur Web
64
• Proses.php
Halaman ini berfungsi untuk menerima data.
• Index.php
Halaman ini adalah halaman utama yang menampilkan grafik dari 10 data
terakhir. Halaman ini akan memanggil file get_latest_data1.php untuk data
grafik daya, get_latest_data2.php untuk data grafik volt, get_latest_data3.php
untuk data grafik arus, angka.php yang menampilkan data numerik terakhir yang
diterima web host. Pada halaman ini akan terjadi refresh secara periodik dengan
interval 5 detik sehingga file-file PHP di atas akan terpanggil kembali dan data
akan terupdate.
• Kemarin.php
Halaman ini menampilkan grafik data daya, volt, arus pada hari kemarin
terhitung dari hari halaman ini di akses. Halaman ini langsung mengambil data
dari database sesuai dengan waktu yang diinginkan. Halaman ini tidak terjadi
refresh.
• 3 hari.php
Halaman ini menampilkan grafik data daya, volt, arus pada 3 hari yang lalu
terhitung dari hari halaman ini di akses. Halaman ini langsung mengambil data
65
dari database sesuai dengan waktu yang diinginkan. Halaman ini tidak terjadi
refresh.
• 7 hari.php
Halaman ini menampilkan grafik data daya, volt, arus pada 7 hari yang lalu
terhitung dari hari halaman ini di akses. Halaman ini langsung mengambil data
dari database sesuai dengan waktu yang diinginkan. Halaman ini tidak terjadi
refresh.
• 30 hari.php
Halaman ini menampilkan grafik data daya, volt, arus pada 30 hari yang lalu
terhitung dari hari halaman ini di akses. Halaman ini langsung mengambil data
dari database sesuai dengan waktu yang diinginkan. Halaman ini tidak terjadi
refresh.
• Kinerja.php
Halaman ini menampilkan grafik data daya, volt, arus sesuai dengan waktu yang
diinginkan user. Waktu ini dibatasi pada interval bulan dan tahun. Halaman ini
langsung mengambil data dari database sesuai dengan waktu yang diinginkan
dan tidak terjadi refresh.
66
3.2.7. Diagram Alir
Diagram Alir sistem terbagi menjadi diagram alir rangkaian pusat
kontrol dan diagram alir program web host.
•
Diagram Alir Rangkaian Pusat Kontrol
Pada saat sistem pertama kali dinyalakan, sistem akan di
inisialisasi. Setelah itu sistem akan melakukan delay selama 10 detik
dengan tujuan untuk menunggu modem hingga ready. Setelah itu
pengaturan GPRS pun dilakukan sesuai operator GSM yang digunakan.
Setelah itu inputan analog V dan I akan di sampling untuk diperoleh data
digitalnya. Dari kedua data ini dilakukan operasi perkalian untuk
memperoleh daya. Hasil ini segera di cetak pada LCD. Setelah itu
dilakukan pengecekan apakah sudah 3 menit yang merupakan interval
pengiriman data. Jika tidak maka akan kembali melakukan sampling
inputan analog V dan I. Untuk memperoleh data terbaru. Jika ya akan
segera dilakukan koneksi ke web host, Jika gagal mengkoneksi ke web
host akan diulang sebanyak 3 kali. Jika masih gagal maka pengiriman
data pada interval tersebut diabaikan dan menunggu interval berikutnya.
Jika berhasil terhubung ke soket web host maka data akan segera dikirim
dan dan setelah itu koneksi diputuskan dan segera memulai sampling
data analog berikutnya.
67
Gambar 3.9 Diagram Alir Rangkaian Pusat Kontrol
68
• Diagram Alir Program Web host
Diagram alir pada web host terbagi menjadi 2 yaitu diagram alir penerima
data, dan diagram alir menampilkan data pada halaman web.
• Diagram Alir Penerima Data
Saat halaman diakses, maka data yang dikirm akan segera diterima. Data
yang diterima ini akan di cek formatnya apakah benar atau salah. Jika salah maka
akan mencetak ”format data salah” dalam tag html dan dikirim ke modem
sebagai respon. Jika format benar, maka akan di lakukan perkalian antara V dan I
untuk di peroleh dayanya. Setelah itu dibangun koneksi ke database dan data
segera di insert dengan waktu di generate dengan fungsi now (); untuk
memperoleh waktu saat ini. Setelah itu akan di cetak ”data stored” yang berarti
data telah tersimpan.
Gambar 3.10 Diagram Alir Penerima Data
69
• Diagram Alir M enampilkan Data Grafik pada Web
Saat halaman di akses, akan segera dilakukan koneksi ke database. Setelah itu
langsung dilakukan query untuk mengambil data dari database sesuai dengan
waktu yang ditentukan. Data dari database ini masih berada dalam array dan
untuk menampilkannya ke grafik perlu di ubah ke format XM L yang di mengerti
oleh komponen Fusion Chart. Oleh karena itu data di ubah ke format XM L,
kemudian di render sehingga diperoleh grafik yang kemudian ditampilkan.
Gambar 3.11 Diagram Alir M enampilkan Data Grafik pada Web
70
• Diagram Alir ubah ke Format XM L
Pertama-tama menginisialisais nilai jumlah baris, index, dan i. Setelah itu
menyimpan tag buka <graph> dan parameter ke dalam variabel XM Ldata.
Setelah itu akan di cek apakah nilai i masih lebih kecil dari nilai jumlah baris.
Jika ya maka data baris ke index akan di simpan lagi
ke dalam variabel
XM Ldata pada tag <set>. Jika Tidak maka akan disimpan tag tutup </graph>
pada variabel XM Ldata. Setelah itu nilai-nilai dari variabel XM Ldata akan
dicetak sebagai sebuah file XM L.
Gambar 3.12 Diagram Alir Diubah ke Format XM L
71
3.4. Perancangan Bangun
Pada gambar rancang bangun sistem secara keseluruhan berukuran 30cm x
20xm x 7 cm. Pada rancang bangun dapat dilihat terdapat beberapa komponen
utama yaitu modul A VR, modul Simcom, LED lampu indikator kabel serial yang
telah di cross, LCD, rangkaian metering, kancing baterai, baterai, antena, simcard,
switch ON/OFF, terminal kabel solar panel.
Gambar 3.13 Rancang Bangun
Download