DIY GPS receiver modul reader (R1513B GPS MODULE)

Tertarik dengan maraknya pemberitaan dan teknologi telepon genggam dengan kemampuan GPS berikut saya share project yang sudah lama tersimpan mengenai GPS receiver module reader. Saya memiliki beberapa GPS module sejak zaman rockwell board trus menyusut dan menyusut sampai bisa diselipkan ke balik hp atau bahkan ballpoint. (Jupiter board, WD-G-ZX4120, R1513B)

GPS Board

Secara singkat GPS receiver module bekerja dengan menerima isyarat pada frekwensi tertentu, sinyal dan data yang di pancarkan dari sejumlah satelit GPS. Satelit-satelit ini bergerak dalam pola yang teratur mengelilingi dan seolah menyelimuti bumi seperti jaring hingga mampu memberikan sinyal pada seluruh permukaan bumi. Sinyal dan data yang di pancarkan oleh satelit-satelit itu lalu dihitung dengan metode triangulasi hingga didapatlah koordinat pada suatu titik.

satelite map

GPS receiver modul yang akan saya gunakan menggunakan chips SIRF. Perhatikan tabel berikut yang membedakan jenis NMEA informasi yang di keluarkan GPS receiver sesuai dengan standar NMEA2.0

detail informasi mengenai NMEA bisa di peroleh di link berikut

Name Garmin Magellan Lowrance SiRF Notes:
GPAPB N Y Y N Auto Pilot B
GPBOD Y N N N bearing, origin to destination – earlier G-12’s do not transmit this
GPGGA Y Y Y Y fix data
GPGLL Y Y Y Y Lat/Lon data – earlier G-12’s do not transmit this
GPGSA Y Y Y Y overall satellite reception data, missing on some Garmin models
GPGSV Y Y Y Y detailed satellite data, missing on some Garmin models
GPRMB Y Y Y N minimum recommended data when following a route
GPRMC Y Y Y Y minimum recommended data
GPRTE Y U U N route data, only when there is an active route. (this is sometimes bidirectional)
GPWPL Y Y U N waypoint data, only when there is an active route (this is sometimes bidirectional)

Cukup dengan menghubungkan antena (aktif atau pasif) dan supply module sudah secara priodik mengirimkan informasi terkait dengan data-data GPS dengan format sbb:

GGA essential fix data which provide 3D location and accuracy data.
$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47
Where:
GGA Global Positioning System Fix Data
123519 Fix taken at 12:35:19 UTC
4807.038,N Latitude 48 deg 07.038′ N
01131.000,E Longitude 11 deg 31.000′ E
1 Fix quality: 0 = invalid
1 = GPS fix (SPS)
2 = DGPS fix
3 = PPS fix
4 = Real Time Kinematic
5 = Float RTK
6 = estimated (dead reckoning) (2.3 feature)
7 = Manual input mode
8 = Simulation mode
08 Number of satellites being tracked
0.9 Horizontal dilution of position
545.4,M Altitude, Meters, above mean sea level
46.9,M Height of geoid (mean sea level) above WGS84
ellipsoid
(empty field) time in seconds since last DGPS update
(empty field) DGPS station ID number
*47 the checksum data, always begins with *


GLL – Geographic Latitude and Longitude
$GPGLL,4916.45,N,12311.12,W,225444,A,*1D
Where:
GLL Geographic position, Latitude and Longitude
4916.46,N Latitude 49 deg. 16.45 min. North
12311.12,W Longitude 123 deg. 11.12 min. West
225444 Fix taken at 22:54:44 UTC
A Data Active or V (void)
*iD checksum data

GSA – GPS DOP and active satellites
$GPGSA,A,3,04,05,,09,12,,,24,,,,,2.5,1.3,2.1*39
Where:
GSA Satellite status
A Auto selection of 2D or 3D fix (M = manual)
3 3D fix – values include: 1 = no fix
2 = 2D fix
3 = 3D fix
04,05… PRNs of satellites used for fix (space for 12)
2.5 PDOP (dilution of precision)
1.3 Horizontal dilution of precision (HDOP)
2.1 Vertical dilution of precision (VDOP)
*39 the checksum data, always begins with *

GSV – Satellites in View
$GPGSV,2,1,08,01,40,083,46,02,17,308,41,12,07,344,39,14,22,228,45*75
Where: GSV Satellites in view
2 Number of sentences for full data
1 sentence 1 of 2
08 Number of satellites in view
01 Satellite PRN number
40 Elevation, degrees
083 Azimuth, degrees
46 SNR – higher is better
for up to 4 satellites per sentence
*75 the checksum data, always begins with *

RMC – NMEA has its own version of essential gps pvt (position, velocity, time) data
$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A
Where:
RMC Recommended Minimum sentence C
123519 Fix taken at 12:35:19 UTC
A Status A=active or V=Void.
4807.038,N Latitude 48 deg 07.038′ N
01131.000,E Longitude 11 deg 31.000′ E
022.4 Speed over the ground in knots
084.4 Track angle in degrees True
230394 Date – 23rd of March 1994
003.1,W Magnetic Variation
*6A The checksum data, always begins with *

VTG – Velocity made good.
$GPVTG,054.7,T,034.4,M,005.5,N,010.2,K*48
where:
VTG Track made good and ground speed
054.7,T True track made good (degrees)
034.4,M Magnetic track made good
005.5,N Ground speed, knots
010.2,K Ground speed, Kilometers per hour
*48 Checksum

untuk membaca informasi diatas saya bangun sistem sebagai berikut:

  • ATMega32 (saya juga pasangkan GSM Modem pada module, namun tidak dibahas pada posting ini)
  • 2×16 Char LCD
  • R1513B GPS Module
  • GPS external active antenna
  • 1x Serial Port to GPS module
  • 1x Serial Port with  RS232C

GPS board + Antenna + Microcontroller

software akan membaca dan melakukan parsing dari data serial diatas kemudian menampilkan pada LCD atau mengirimkan kembali ke informasi tadi ke device lain seperti pc atau aplikasi peta, atau mengirimkan via serial bluetooth sehingga PDA atau ponsel menjadi memiliki fasilitas GPS.

‘*******************************************************************************
‘ CAR 01
‘ ATMega32
‘ 20×4 LCD
‘ GPS + GSM Module
‘*******************************************************************************
$regfile = “m32def.dat”
$crystal = 1159200
$baud    = 38400
$swstack = 32
$hwstack = 32
$framesize = 32

‘*******************************************************************************
‘ config pin
‘*******************************************************************************
Config Lcd = 16 * 2
Config Lcdmode = Port
Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.4 , Rs = Portb.6

Dim Sdat As Byte
Dim Res As String * 96
Dim Nmea(15) As String * 10
Dim Dcount As Byte
Dim Scount As String * 2
Dim Sat_count As Byte
Dim Lat As String * 12
Dim Lon As String * 13

‘*******************************************************************************
‘ Main
‘*******************************************************************************

Cls : Cursor Off
Locate 1 , 1 : Lcd “CAR TRACK 01”
Waitms 500

Open “coma.0:9600,8,n,1” For Input As #2
Waitms 1000

Do
Res = “”
Do
Sdat = Inkey(#2)
Select Case Sdat
Case 0
Case 13
Case 10 : If Res <> “” Then Exit Do
Case Else
Res = Res + Chr(sdat)
End Select
Loop Until Sdat = 10

Nmea(1) = “”
Dcount = Split(res , Nmea(1) , “,” )
Lat = Mid(nmea(3) , 1 , 2) + Chr(223) + Mid(nmea(3) , 3 , 2) + “,” + Mid(nmea(3) , 6 , 4) + “‘” + Nmea(4)
Lon = Mid(nmea(5) , 1 , 3) + Chr(223) + Mid(nmea(5) , 4 , 2) + “,” + Mid(nmea(5) , 7 , 4) + “‘” + Nmea(6)

Select Case Nmea(1)
Case “$GPGGA” : Cls
Locate 1 , 2 : Lcd Lat ; ” ” ; Nmea(8)
Locate 2 , 1 : Lcd Lon
Print Res
End Select
Loop

mungkin kalau ada kesempatan akan saya bahas bagaimana menambahkan GPS receiver ke camera DSLR nikon (D200 keatas) agar ada informasi koordinat di data EXIFF sebuah foto (what a nice geo- tag) .

semoga bermanfaat

Dian Kurniawan

Advertisements

80m AM Transceiver with MC145162P

Back to the Eighties.. ada keinginan untuk kembali mengenang masa SMP kala bermain di 80 meteran AM plus radio SW1, hunting varco besi ke pasar loak, menggulung coil pada sebatang paralon serta benang nylon sebagai sparator, melilit batang ferit,  bongkar trafo lalu digulung lagi untuk membuat trafo modulasi yg lebih baik dari OT460 lalu tidak ketinggalan memanjat pohon untuk mencari tempat terbaik untuk menyangkutkan long wire antenna tidak lupa lampu TL bekas.. yang menyala2 di tendang modulasi.. well cukup bangga sebagai bentuk perlawanan dan unjuk gigi  terhadap “my daddy’s”  transmitter Kenwood TS-440S kala itu.. mirip David vs Goliath,  IDR 150.000 vs U$2.500 .. ha ha ha…. “miss u dad..YC6DJ, mohon maaf tidak sempat menunjukkan banyak hal”

Ide utamanya adalah kembali beroperasi pada band 80m AM dengan coba membawa teknologi baru,  lalu pilihan jatuh pada skenario berikut:

  • MC145162P dual PLL chips, cocok untuk dua vco tx dan rx
  • TTL VCO 74HC04, konstruksi mudah, range osilasi yang lebar dan menghasilkan level tegangan keluaran yang sudah cukup tinggi.
  • TA7358, rf amp, mixer dan oscillator, sesuai untuk heterodyn receiver yang mau di terapkan
  • YS414/MK484, AM detector + agc, the legend AM chips
  • MOSFET modulator, dengan tujuan mengecilkan ukuran fisik pemancar
  • ATMega8+LCD+rotary encoder, standard kontrol dan dial

berikut adalah blok diagramnya:

80m AM TRX using MC145162 diagram block

Pengguna berinteraksi melalui sebuah rotary encoder dan layar LCD yang dikendalikan mikrokontroler ATMega8. Masukan pilihan frekwensi ini kemudian diteruskan oleh mikrokontroller ke IC PLL MC145162P  secara serial guna membangun dua buah frekwensi berbeda untuk frekwensi osilator lokal bagi transmitter dan receiver. VCO dibangun dengan mengendalikan resonansi feedback pada inverting gate IC TTL (74HC04) yang kemudian diberi low pass filter. Sebuah dioda varactor yang diberi umpan tegangan kendali dari PLL menjadi penentu resonansi. Pada VCO transmitter dibangkitkan frekwensi osilasi pada 3 MHz sampai dengan 4.5 MHz, sedangkan pada VCO receiver dibangkitkan frekwensi 13,7 MHz sampai dengan 15,2 MHz (sesuai dengan dual conversion heterodyn 10.7MHz dan 455Khz).

80m AM TRX (Microcontroller, PLL and VCO)

Pada bagian transmitter isyarat TX VCO  (3Mhz – 4.5MHz) ini dikuatkan oleh buffer dan final. Sebuah low pass filter dan antenna tuner mengirimkan sinyal transmitter ke antenna. Penguat akhir transmitter di modulasi dengan MOSFET (transformer less AM modulation).

80m AM TX (MOSFET Modulation)

Pada bagian receiver isyarat dari antena dilewatkan band pass filter (BPF 3MHz-4,5Mhz) lalu dikuatkan dan dicampur oleh IC TA7358 dengan isyarat dari RX VCO (13,7 MHz – 15,2 Mhz) kemudian di filter dengan 10,7MHz, sinyal ini kemudian kembali dikuatkan dan dicampur dengan crystal osilator 10.245MHz sehingga menghasilkan selisih 455Khz untuk di umpankan ke IC AM detector YS414(MK484/ZN414). LM386 menyelesaikan penguatan akhir untuk menggerakan speaker.

Dual Conversion 80m AM Receiver

semoga bermanfaat

Dian Kurniawan

RF Amplifier dengan Op-Amp

Ya benar Op-Amp, tidak salah judul. Saya mengenal op amp kira-kira sejak 20 tahun lalu, di era 741/301 series, perhitungan yang mudah (gain calculation), harga yang terjangkau, serta  kesederhanaan konstruksi membuat op-amp sangat menarik. Begitu banyak penerapan dari op-amp, bahkan dulu sempat mencoba membangun “op-amp based computer”. Hampir semua bisa dibangun dengan op-amp, kecuali RF.

Akan tetapi itu dulu, kemajuan teknologi semikonduktor membalikan kondisi ini, beberapa tahun kebelakang produsen telah berhasil membangun op-amp dengan frekwensi kerja hingga GHz. Sebuah artikel dari Texas Instrument oleh Bruce Carter menjelaskan aplikasi op-amp (THS3202) pada rangkaian rf.

 

20dB RF gain op-amp

 

Rangkaian di atas memberikan penguatan flat sebesar 20dB dalam range hingga 200MHz.Terminasi impedansi masukan dan keluaran di tentukan oleh resistor 49.9Ohm. Penguatan tegangan di tentukan oleh resistor 301 Ohm / 16.5 Ohm. Pilihan besar penguatan bisa dilakukan layaknya menentukan penguatan op-amp biasa.

 

40dB gain IF amp using op-amp

 

Rangkaian diatas memberikan penguatan 40dB (2 x 20dB). Perhatikan pemberian nilai resistor sebagai penentu gain (feedback). Perhatikan juga terminasi impedansi pada pada titik keramik filter SFELA10M7GA00-B0 sebuah resistor 332 Ohm diaplikasikan di sana.

Sebuah 20dB front-amplifer THS3202, mixer SA602/TA7358, 40dB IF amplifier THS3202, 8MHz crystal ladder filter.. sepertinya bisa menjadi sebuah kombinasi yang menarik…

semoga bermanfaat
Dian Kurniawan

IF filter + adjustable bandwidth

Sesuai dengan permintaan seorang teman berikut adalah skematik diagram dari rangkaian IF filter berbasis crystal yang dapat di atur lebar bandwith nya. Type dioda varactor yang di gunakan silahkan di sesuaikan dengan nilai yang terdapat dipasaran, tidak tertutup kemungkinan untuk memparalelkan dioda varactor untuk mendapatkan nilai kapasitansi yang diinginkan sesuai dengan tegangan panjar terbalik yang dimiliki. Sebuah rotary switch 5 posisi dengan 5 buah trimpot untuk pilihan CW, SSB narrow, SSB mid, SSB wide1, SSB wide2 menarik untuk di implementasi.

 

IF filter dengan dioda varactor

 

 

semoga bermanfaat
Dian Kurniawan