GPS tracker via sms ini merupakan penggabungan teknologi GPS (global positioning
system) dan GSM. Tujuan dari project ini adalah untuk memantau posisi
kendaraan secara realtime yaitu dengan memanfaatkan peta digital yaitu
googleMaps. Pemanfaatan googlemap dalam mencari posisi kendaraan yaitu
dengan mengetahui posisi kendaraan atau secara umum disebut dengan
posisi coordinat objek dalam hal ini adalah mobil. Koordinat terdiri
dari dua variabel yaitu latitude ( lintang) dan longitude (bujur), kedua
data
tersebut didapatkan dari GPS yang memanfaatkan signal dari satelit yang
mengorbit di atas bumi, setiap detik GPS akan memberikan data coordinat
posisi dipermukaan bumi. Berikut ini adalah gambaran secara umum system
GPS Tracker Via SMS.
Konfigurasi sistem GPS tracker via sms
Modul GPS akan menerima data dari satelit kemudian data tersebut akan dikalkulasi dan hasilnya akan
dikirimkan melalui jaringan GSM ke hp pengguna, pengiriman ini dilakukan
jika user meminta data melalui sms comman, kemuadian data sms
permintaan posisi dari user tersebut akan diterima oleh modul GPS,
setelah itu modul akan membaca isi sms, setelah format isi sms benar
maka modul akan mengirimkan data koordinat beserta link googleMaps, dan
hasilnya adalah gambar letak posisi pada peta digital googlemaps. Dalam
project ini juga ditambahkan fasilitas untuk mematikan dan mengaktifkan
kontak mobil via sms.
Untuk membuat sistem ini hal yang pertama saya lakukan adalah :
- Menentukan perangkat yang akan digunakan dan biaya yang diperlukan.
- Perancangan perangkat keras (hardware).
- Perancangan perangkat lunak (software).
I. Menentukan perangkat yang akan digunakan dan biaya yang diperlukan.
Setelah bertanya kepada Prof.Dr.Ir
Google.com, akhirnya saya menemukan modul GSM yang sudah builtin GPS
yaitu modul modem sim548c buatan simcom,setelah lihat harga dan
mempelajari dari datasheet-nya akhirnya saya memutuskan untuk memakai
modul ini, dan inilah penampakan dari Sim548C.
Modul modem sim548c
Modul Sim548c adalah modem GSM yang
sudah terdapat chips GPS (builtin GPS) yang memiliki spesifikasi dan
fitur sebagai berikut :
- Quad-Band 850/900/18001900MHz
- GPRS multi-slot class 10
- GPRS mobile station class B
- Compliant to GSM phase 2/2+– Class 4 (2 W @ 850/900 MHz)– Class 1 (1 W @ 1800/1900MHz)
- Control via AT commands (GSM 07.07 ,07.05 and SIMCOM enhanced AT Commands)
- Supply voltage range 3.4 ... 4.5 V
- Dimensions: 55*33*8.2mm
- 60-pin DIP connector
- SMS Broadcast
- Embedded SIM card holder
- dual serial interface for GPS
- A serial interface for GSM
- Two sparate antenna connector for GPS and GSM
Dan berikut ini adalah spesifikasi dari GPS nya.
- Receiver 20 channels, L1 1575.42 Mhz, C/A code 1,023 MHz chip rate
- Accuracy Position 10m CEPwithout SA/Velocity 0.1m/s, without SA/Time 1μs synchronized to GPS time
- Date WGS-84
- Acquisition rate (TTFF defined at 95% of first position local station)
- Hot start<1s, average, open sky
- Warm start<38s, average, open sky
- Cold start<42s, average, open sky
- Support AGPS
- Operating voltage 3.3V DC ±5%
- Low power consumption about 200mW at 3.3V
- ProtocolsNMEA-0183SiRF binaryRTCM SC-104
Berdasarkan
spesifikasi dan fitur yang terdapat pada modul sim548c, kelebihan dari
modul ini yaitu, modul ini tergolong perangkat low power yaitu
menggunakan suplly tegangan 3.4 – 4.5 volt, jika dilihat dari dimensi
fisiknya tidak terlalu besar dan ringkas, terdapat dua komunikasi serial
untuk GPS-nya yaitu serialA (9600 bps) dan serialB(4800 bps), serta
komunikasi serial untuk GSM dengan operasi didukung oleh
AT-command.dimana kecepatan transferdatanya (Baudrate) dapat diatur.
Berdasarkan informasi diatas, maka kita membutuhkan sebuah perangkat IC
prosessor sebagai pusat sistemnya untuk mengatur task AT-commad dan
parsing data
gps-nya, Lalu spesifikasi yang seperti apa yang kita butuhkan??
spesifikasi yang kita butuhkan yaitu IC mikrokontroller yang memiliki
dua port komunikasi serial yaitu serial untuk komunikasi antara modul
gsm dan serial untuk GPS. Setelah mempertimbangkan tentang
mikrokontroller yang akan digunakan akhirnya saya memutuskan untuk
menggunakan mikrokontroller seri atmega 162. dan berikut ini adalah
spesifikasi dan fitur dari atmega162 berdasarkan datasheetnya :
Gambar susunan kaki mikrokontroller Atmega 162
Gambar diatas tersebut merupakan bentuk dari IC mikrokontroller atmega 162 yang di package dalam 40-dip. Dan berikut ini adalah fitur dari mikrokontroller atmega 162:
High-performance, Low-power AVR® 8-bit Microcontroller
• Advanced RISC Architecture
– 131 Powerful Instructions – Most Single-clock Cycle Execution
– 32 x 8 General Purpose Working Registers
– Fully Static Operation
– Up to 16 MIPS Throughput at 16 MHz
– On-chip 2-cycle Multiplier
• High Endurance Non-volatile Memory segments
– 16K Bytes of In-System Self-programmable Flash program memory
– 512 Bytes EEPROM
– 1K Bytes Internal SRAM
– Write/Erase cycles: 10,000 Flash/100,000 EEPROM
– Data retention: 20 years at 85°C/100 years at 25°C
– Optional Boot Code Section with Independent Lock Bits
In-System Programming by On-chip Boot Program
True Read-While-Write Operation
– Up to 64K Bytes Optional External Memory Space
– Programming Lock for Software Security
• JTAG (IEEE std. 1149.1 Compliant) Interface
– Boundary-scan Capabilities According to the JTAG Standard
– Extensive On-chip Debug Support
– Programming of Flash, EEPROM, Fuses, and Lock Bits through the JTAG Interface
• Peripheral Features
– Two 8-bit Timer/Counters with Separate Prescalers and Compare Modes
– Two 16-bit Timer/Counters with Separate Prescalers, Compare Modes, and
Capture Modes
– Real Time Counter with Separate Oscillator
– Six PWM Channels
– Dual Programmable Serial USARTs
– Master/Slave SPI Serial Interface
– Programmable Watchdog Timer with Separate On-chip Oscillator
– On-chip Analog Comparator
• Special Microcontroller Features
– Power-on Reset and Programmable Brown-out Detection
– Internal Calibrated RC Oscillator
– External and Internal Interrupt Sources
– Five Sleep Modes: Idle, Power-save, Power-down, Standby, and Extended Standby
• I/O and Packages
– 35 Programmable I/O Lines
– 40-pin PDIP, 44-lead TQFP, and 44-pad MLF
• Operating Voltages
– 1.8 - 5.5V for ATmega162V
– 2.7 - 5.5V for ATmega162
Nah setelah perangkat penting yang akan kita
gunakan sudah didapat langkah selanjutnya yaitu menentukan komponen
yang akan kita gunakan untuk merancang power-suplly, jenis power supply
sangat banyak, tetapi berdasarkan kebutuhan perangkat diatas yang saya
butuhkan adalah karakteristik power supply step-down (penurun tegangan),
kira-kira apa ya?? yeah apakah kita tetap menggunakan 7805 voltage
regulator?? itu mungkin digunakan untuk menyupply mikrokontroller
tetapi bagai mana dengan modul sim548c yang membutuhkan supply tegangan
3.4 – 4.5 volt ?? nah dari kasus itu saya menemukan IC regulator adj
(ajustable) yaitu LM 2576 yang sudah banyak dijual di pasaran. Jenis ic
tersebut merupakan ic power supply switching buck-bus, jenis lm 2576
yang saya gunakan bertipe output perbandingan resistor jadi untuk
menentukan output tegangan kita bisa menggunakan nilai
resistornya....hehehehe pusing berurusan dengan hitung-menghitung lagi.
Gambar LM2576T adj
Untuk perhitungan dan tipe rangkaian akan dibahas pada sesi perancangan hardware (perangkat keras). Nah sekarang mari kita memulai mengkalkulasi harga setiap perangkat dan komponen yang kita butuhkan dalam project ini.
Nama Komponen
|
Harga @ satuan (Rp)
|
Jumlah yang dibutuhkan x harga persatuan
|
Modul sim548c
|
Rp600.000,00
|
1x Rp600.000,00
|
Antena GPS
|
Rp110.000,00
|
1x Rp110.000,00
|
Antena GSM
|
Rp50.000,00
|
1x Rp50.000,00
|
Atmega 162
|
Rp65.000,00
|
1x Rp65.000,00
|
Rellay SPDT omron
|
Rp35.000,00
|
1x Rp35.000,00
|
LM2576 adj
|
Rp10.000,00
|
1x Rp10.000,00
|
Regulator 7808
|
Rp1.000,00
|
1x Rp1.000,00
|
Regulator 7805
|
Rp1.000,00
|
1x Rp1.000,00
|
Connector 60 pins female SMD
|
Rp7.500,00
|
1x Rp7.500,00
|
Sim card holder
|
Rp5.000,00
|
1x Rp5.000,00
|
Resistor 1K ohm
|
Rp100,00
|
4x =Rp400,00
|
Resistor 10K ohm
|
Rp100,00
|
1 x Rp100,00
|
Resistor 3K3 ohm
|
Rp100,00
|
1 x Rp100,00
|
Resistor 1k ohm smd
|
Rp300,00
|
1x Rp300,00
|
Resistor 330 ohm smd
|
Rp300,00
|
1x Rp300,00
|
Resistor 330 ohm
|
Rp300,00
|
5x =Rp1500,00
|
Induktor 100 uH
|
Rp500,00
|
1x Rp500,00
|
Dual header (black) 10 pins
|
Rp1.000,00
|
1x Rp1.000,00
|
Transistor 2n3904 NPN
|
Rp2.000,00
|
1x Rp2.000,00
|
Transistor C9013 NPN
|
Rp500,00
|
2x =Rp1000,00
|
Transistor C828 NPN
|
Rp1.000,00
|
1x Rp1000,00
|
Buzzer
|
Rp500,00
|
1xRp500,00
|
Capasitor 1000 uf 25v
|
Rp1.000,00
|
1x Rp1000,00
|
Capasitor 4700 uf 25v
|
Rp500,00
|
2x =Rp1000,00
|
Capasitor 100 uf 16 v
|
Rp500,00
|
2x =Rp1000,00
|
Capasitor ceramic 10 pf
|
Rp500,00
|
1xRp500,00
|
Dioda 1N4008
|
Rp100,00
|
1xRp100,00
|
Dioda 1N5408
|
Rp100,00
|
1x Rp100,00
|
Soket 40 pins
|
Rp500,00
|
1xRp500,00
|
Led
|
Rp500,00
|
4x= Rp2000,00
|
Header balck housing
|
secukupnya
|
Rp7.000,00
|
Biaya etcing PCB
|
Rp37.000,00
| |
Box untuk tempat rangkaian
|
Rp9.000,00
| |
TOTAL HARGA
|
Rp.1.016.000,00
|
II. PERANCANGAN PERANGKAT KERAS (HARD WARE)
Pada perancangan perangkat keras ini, hal yang paling penting adalah membuat rangkaian power supply yang akan digunakan untuk modul sim548c, karena modul ini membutuhkan
board adapter, dan board ini harus membuat sendiri. Aturan atau
spesifikasi supaya modul ini dapat bekerja adalah mengikuti aturan dari
datasheetnya yaitu :
A. Modul sim548c memputuhkan tegangan kerja sebesar 3.4-4,5 volt.
B. Pada saat modem GSM beroperasi membutuhkan kenaikan arus maksimal sekitar 2A.
C . Pada pin nomer 11 (VRTC) tidak boleh dibiarkan harus terkoneksi dengan sebuah kapasitor atau
dengan batrai Cmos (batrai berbentuk coin).
D. Menggunakan antena GPS_Vant, yang memiliki spesifikasi Vmax=5volt, Vmin=2,85volt.
(karena dalam project ini device antena untuk mengaktifkan GPS menggunakan tengan 3-5 volt)
E. Pada mode komunikasi serial yaitu Rxd dan Txd maka pada pin RTS (state line) harus
dihubungkan ke ground.
F. Menggunakan back-up batray untuk RTC GPS. (supaya GPS bekerja dalam mode hotstart).
Selanjutnya
yaitu mendesein rangkaian power supply, kira-kira jenis regulator apa
ya yang sesuai dengan poin A?? nah, kita sudah mengenal jenis power
suplly step down switcing. Dalam project ini sebelumnya telah ditentukan
perangkat voltage regulator yang akan digunakan yaitu LM2576T adj, nah
sekarang hal yang harus kita ketahui adalah :
- Vout = regulated output voltage.
- Vin = maximal input voltage.
- I(load max) = maximum load current.
- F = switcing frequency (fixed at 52 khz)
jenis
yang kita gunakan yaitu LM 2576 adj dengan output tegangan perbandingan
resistor, maka untuk menentukan nilai output tegangan yang kita
butuhkan, maka rumus perhitungannya yaitu :
Selanjutnya
yaitu menentukan nilai arus yang akan dihasilkan dan hal ini tergantung
dari nilai induktor yang dipakai dengan mengikuti formula rumus sebagai
berikut :
- mcrosecond constan = E.T(V.us), yaitu evisiensi voltage interfal dalam us
hasil dari perhitungan rumus 2 nilainya digunakan untuk mengetahui arus maksimal yang akan dihasilkan, berdasarkan nilai induktor yang digunakan dengan mengikuti tabel sebagai berikut :
Gambar Tabel current load
Nah sekarang semua informasi tentang prosedur dalam membuat switcing power supplly telah kita dapatkan selanjutnya kita akan mendesain sesuai dengan output yang kita butuhkan yaitu :
Gambar skematik switcing power suplly stepdown
Dari gambar skematik diatas, nilai R1 sudah diketahui dan nilai Vout = 3,4 volt sesuai dengan tegangan minimum kerja yang dibutuhkan oleh modem
sim548c, sedangkan Vout = 12 volt tegangan accu pada mobil dari sini
kita akan menentukan nilai R2 dan I (arus) yang dihasilkan jika kita
menggunakan output tegangan minimum, dan harus diingat pada saat modem
bekerja(brust) membutuhkan arus sebesar 2 A. Dan berikut ini adalah
perhitungannya :
diketahui: R1 = 1 k ohm (lihat keterangan rumus)
Vout = 3,4 volt (nilai minimum voltase kerja modem)
Vin = 12 volt (tegangan dari accu pada mobil)
Vref = 1,23 volt (lihat keterangan rumus)
ditannya R1 dan Imax?
Jawab :
R2 = R1 (Vout /Vref -1 )
R2 = 1 k (3,4/1,23 -1)
R2 = 1,7K
selanjutnya yaitu mencari nilai arus maksimal yang dihasilkan maka :
E.T(V.us) maka :
E.T = (Vin – Vout).Vout/Vin.1000/f(V.us) => dimana f=52 Khz
= (12 - 3,4 ).3,4/12. 1000/52(V.us)
= (8,6). 0,283. 19,230
= 46,80V us
Nah dengan nilai acuan tersebut, untuk mengetahui nilai I(load max) lihat gambar current load, pada rangkaian yang saya desain menggunakan induktor L sebesar 100 uH, maka nilai arus sebesar 2,2 A
Dari perhitungan diatas nilai arus dan
tegangan output sudah dapat digunakan untuk modul sim548c tetapi yang
menjadi permasalahan adalah nilai R2 = 1,7 K ohm,yang tidak akan kita temui di toko, dan nilai yang umum kita jumpai yaitu 2,2K. Nah mari kita Hitung lagi jika nilai R2 kita ganti dengan nilai 2,2 K.
Diketahui : R1 = 1 K ohm
: R2 = 2,2 K ohm
:Vref = 1,23 volt
Ditanya: Vout dan I(max) ??
Jawab :
Vout = Vref(1+R2/R1)
= 1,23(1+ 2,2/1)
= 3,9 volt
nah ternyata nilai yang kita dapatkan
masih dalam prosedur yang aman, hehehehehe, nah mari kita cari I(max)
dengan induktor L sebesar 100 uH.
E.T = (V us)
= (Vin – Vout) Vout/Vin . 1000/f (V us)
= (12 – 3,9) 3,9/12.1000/52(V us)
= 50,62 V us
Jadi E.T = 50,62V.us dengan induktor sebesar 100 uH maka arus maksimal yang kita peroleh adalah sekitar 2,4 A.
Dari perhitungan diatas output tegangan
sebesar 3,9 volt dengan arus sekitar 2,4 A sudah cukup untuk menyuplly
modul sim548c, karena modul ini hanya membutuhkan tegangan kerja antara 3,4 volt – 4,5 volt, dan pada saat modem bekerja (brust) membutuhkan
arus sebesar 2 A saja, jadi perhitungan kita sudah sesuai (semoga sesuai
Hehehehehehehehe).
Dan berikut ini adalah gambar skematik evaluation board adapter sim548c.
Gambar skematik board adapter sim548c
Sekarang bagaimana konfigurasi komunikasi antara mikrokontroller dengan sim548c?? ikuti gambar berikut :
Gambar konfikurasi komunikasi
nah seperti ini konfigurasi komunikasi
serial yang saya gunakan antara Mcu dengan modul sim548c. Saya
menggunakan serial GPS_TxA karena saya ingin menggunakan baudrate
sebesar 4800 bps, sedangkan GPS_TxB menggunakan baudrate sebesar 9600
bps.
Oh ya hampir lupa untuk rangkaian
driver rellay bisa di cari di mbah google ya hehehehe soalnya dah males
nulisnya heheheheh.yang perlu diperhatikan dalam driver rellay adalah
nilai resistansi dari coil rellay dan penguatan transistor untuk
mensaklar rellay. Oke next step.
III. Perancangan perangkat Lunak
Dalam perancangan perangkat lunak ini, hal yang perlu kita kerjakan yaitu :
- Operasi modem GSM yaitu menggunakan AT+Commad.
- Parsing data GPS yaitu pengambilan data GPS, karena ID data gps banyak, apa yang ingin di parsing datanya?? dalam project ini saya mengambil ID data GPS $GPRMC, dan mengikuti protocol Nmea 0183
- Pengolahan data GPS, yaitu proses konversi format data lat & long kedalam decimal degree dan acuan lat S / N dan long W/E, acuan tersebut menyangkut tentang posisi kita pada belahan bumi. Dan hal tersebut memiliki aturan dan maksud tertentu.
- Semua task tersebut diatur oleh mikrokontroller sebagai pusat sistem.
Nah sekarang kita akan berkenalan dengan AT+Commad, yaitu protocoler
untuk pengoprasian pada telepon celluler, berikut ini adalah AT+Commad
yang digunakan pada project ini :
Protocol AT+commad
|
Keterangan
|
ATE0
|
Kill Eco
|
AT+CMGF
|
Format text 1 = text format 0=PDU format
|
AT+CMGL
|
Untuk memeriksa sms
|
AT+CMGDA
|
Menghapus semua sms pada ME
|
AT+CMGS
|
Kirim sms ke no tujuan
|
NB :Pada saat mengoperasikan AT+Commad, setelah pengetikan data tersebut code assci untuk perintah baru adalah enter = 13 & untuk memulai pengiriman yaitu Ctrl_Z = 26. untuk lebih jelasnya bisa bisa baca pada at+commad sim548c.
oke, selanjutnya yaitu bagaimana bentuk data
yang dikirimkan oleh GPS, protocol data GPS pada project ini
menggunakan centences ID $GPRMC dan berikut ini adalah frame datanya :
- FieldFormatKeterangan1$GPRMCID centences2hhmmss.ssUTC time3aPosition validity(A valit, V invalit)4ddmm.mmmmlatitude5aLatitude direction (N/S)6dddmm.mmmmlongitude7aLongitude direction (E/W)8x.xSpeed (knot)9x.xHeading (degrees)10ddmmyydate11x.xMagnetic variation(degrees)12aMagnetic variation direction (W/E)13*hhchecsum14<CR><LF>End of message termination
dalam sistem.
- Field nomer 3 yaitu positioData diatas tersebut menunjukkan frame dan format data id centences $GPRMC nanti data yang kita ambil yaitu pada field nomer 3,4,5,6,7,8. dan berikut ini adalah implementasiannyan validity, jika mikrokontroller menerima data karakter 'V' maka sistem akan menunggu sampai menerima karakter 'A', jika data sudah valit maka akan subroutin selanjutnya akan dikerjakan.
- Field nomer 4 yaitu data coordinat lintang (longitude).
- Field nomer 5 yaitu homeisphare, jika indikator menunjukkan N = Nort maka nilai coordinat lintang positif, jika S = south nilai coordinat lintang negartif.
- field nomer 5 yaitu data coordinat Bujur (longitude).
- Fileld nomer 7 yaitu homeisphare, jika indikator menunjukkan E = east maka nilai coordinat bujur positif, jika W = west nilai coordinat Bujur negatif.
- untuk field 4 dan 5 . karena format data DDMM.MMMM untuk merubah ke decimal degree, ikuti rumus dibawah:Jika N / E maka :
DD.DDDDD = DD + (MM.MMMM/60)
Jika S/W maka :
DD.DDDDD = DD + (MM.MMMM/60) * -1
- Field nomer 8 indikator speed dalam satuan knot.digunakan untuk melihat objek dalam keadaan berhenti atau berjalan.
Berikut ini adalah gambar flowchart parcing data GPS :
Gambar flowchat parcing data GPS
subroutine program
parsing data GPS ini terletak pada Serial interrupt vektor, dan semua
data GPS yang diterima dan di filter, proses filtering data akan
dikerjakan apabila terdapat karakter data $GPRMC. Selanjutnya data yang
diambil akan disimpan pada variabel untuk di proses dan dikalkulasi.
Berikut ini adalah potongan listing program proses converting data