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