Ublox gps yardım edin

Başlatan homer380, 24 Şubat 2014, 21:17:10

homer380

Kodları proton ile yazacağımdan konuyu buraya açmayı uygun gördüm. mpu 6050, ublox gps ve hmc5883 pusulum üç hafta gibi bir sürede geldi. Bende hemen gps modul ile işe koyuluyum dedim. soru sormayacaktım ama kafam şu sıralar dağınık olduğu için araştırmaya yeterli vakit bulamıyorum bende kafamdaki soruları form sakinlerine soruyum dedim. Daha önce den bir konu açmıştım ublox gps  ile ilgili ve verilerin otomatikmen akmaya başladığı söylenmişti. şimdi ublox modul 9600 baund ile haberleşiyor(varsayılan). ben veri okumayı denediğimde hep sayılar geliyor. sayı gelmeden önce $GPGGA bu ifadenin gelmesi gerekmiyor mu ? yoksa ben mi yanlış biliyorum.

$GPRMC,083559.00,A,4717.11437,N,00833.91522,E,0.004,77.52,091202,,,A*57 şeklinde. ama string karakterlerini ekranda göremedim. şimdiki amacım sadece string karakterlerini görmek biraz yardım fena olmaz.

komut olarak serin kullandım hatalarım nelerdir? herhangibir seri haberleşme ayarı yapmadım.

mistek

Ublox'un arayüzünü yüklediniz mi? Ne geldiğini daha net öğrenebilirsiniz.

GPS modülü açtığınız anda veriler gelmeye başlıyor ancak hepsi size konum bilgisi vermiyor. Kararlı bir uyduya bağlanamazsa gelen veriler anlamsız oluyor. Saat bilgisi geliyor koordinat gelmiyor gibi...
boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R

homer380

denemeleri pic ile yapıyorum birazdan balkona çıkıp 10 - 15 bekliyecem bakalım sonuc ne olacak umutum yok suan.

mistek

Ublox yükleyin bilgisayarda olanı biteni görün ondan sonrasında PIC'te ne yapacağınız kafanıza oturur.

Her seferinde denk gelmiyor bu şekilde zaman kaybetmeyin derim.
boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R

homer380

sanırım bunun için seri port'a ihtiyaç olacak o da dizüstünde yok.

mistek

Evet Seriport olmadan Ublox modüle bağlanmıyor.

Rs232-usb dönüştürücüde olur.
boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R

homer380

bide masaüstünde deneyelim bakalım ne olacak. yarın masa üstünü kurayım.

erhanmete

gelen datayı string olarak işlemiyorsundur veya uart hızın yanlıştır.

homer380

uart hızı 9600, string değerine gelince gelen değerler hep 10.000 üstü bi yerde bi saçmalık yapıyorum ama hadi hayırlısı

  Device 16F877A		'Proğramlanacak cihaz 16F877
@ CONFIG_REQ 
@ __config CP_ALL & CPD_ON & WDT_OFF & HS_OSC & PWRTE_OFF & BODEN_OFF & WRT_1FOURTH & LVP_OFF & DEBUG_OFF
        Xtal 20			'Osilatör Hızı 4 Mhz
         All_Digital TRUE
        'Output PORTB		'PortB çıkış
        'PORTB=$00			'Portb ye 00 hexadecimal sayısını at.
        TRISD=0
        
Declare LCD_DTPort  =PORTB      'GLCD DATA PORTLARI PORTB'YE BAĞLI
Declare LCD_RSPin  =PORTA.0      'GLCD RS PİNİ PORTC.5 BAĞLI bende d/i
Declare LCD_ENPin  =PORTA.2      'GLCD ENABLE PİNİ PORTC.1 BAĞLI
Declare LCD_RWPin  =PORTA.1     'GLCD RW PİNİ PORTC.4 BAĞLI
Declare LCD_CS1Pin =PORTD.7    'GLCD CS1 PİNİ PORTC.2 BAĞLI
Declare LCD_CS2Pin =PORTD.6    'GLCD CS2 PİNİ PORTC.3 BAĞLI
Declare GLCD_CS_Invert On
'declare glcd_strobe_delay = 100
Declare LCD_Type =  GRAPHIC      'GLCD TİPİ GRAFİK KS0108 128*64B WİNSTAR
Declare Internal_Font=  On                 
Declare Font_Addr =0


Declare SDA_Pin PORTD.3 
Declare SCL_Pin PORTD.2
Dim verial As Word
Dim say As Byte

Print At 0,0,"KARACA GPS"
Print At 1,0,"  DENEME"
Print At 2,0,"VERSIYON 1.0"
DelayMS 5000
Cls


deneme:

SerIn PORTD.3,84,[verial]
Print At 0,0,@verial

SerIn PORTD.3,84,[verial]
Print At 1,0,@verial

SerIn PORTD.3,84,[verial]
Print At 2,0,@verial

SerIn PORTD.3,84,[verial]
Print At 3,0,@verial

SerIn PORTD.3,84,[verial]
Print At 4,0,@verial

SerIn PORTD.3,84,[verial]
Print At 5,0,@verial

SerIn PORTD.3,84,[verial]
Print At 6,0,@verial

SerIn PORTD.3,84,[verial]
Print At 7,0,@verial

DelayMS 100
GoTo deneme

Include "font.inc"
buda deneme amaçlı kodlarım.

Kazım

#9
Protonu fazla bilmiyorum.  Ancak _ verial _ değişkenini word olarak belirtimşsin. 10000 'ler bu yüzden olabilir.Bir de UART modulunun konfigürasyonlarını yapan bir kod görünmüyor. Uart ile ilgili  _ SerIn PORTD.3,84,[verial] _ kodu bunu kendisi mi yapıyor bilemiyorum.Yazdığın programda GPS stringini filtre etmiyorsun zaten o sebeple yukarıda yazdığın formatı elde edemezsin.
Bir de

Xtal 20         'Osilatör Hızı 4 Mhz   // buda yanlış    // dolayısıyla  UART hızın 9600bps değil diyebiliriz. Osilatörün 4 mhz ise Xtal 4 yazmalısın


homer380

#10
kafam dağınık olmasa şimdiye çoktan yapmıştım.( ublox neo 6m modul ile gps verileri bulma.) veri haberleşme hızımda sıkıntı varmış onu düzelttim.


bazılarına açıklama ekledim. bizim için önemli olan saat bilgisi, koordinat bilgisi, tarih, deniz seviyesinden olan yükseklik, tarih, bağlı olan uydu sayısı.
saat bilgisi UTC olarak geliyor biz buna +2 saat eklersek Türkiye'nin saatini bulmuş oluyoruz.
buda videosu
http://youtu.be/MxaS1x5SMoA


mesaj birleştirme:: 10 Mart 2014, 11:08:02


WrtM

Hocam modüle veri gönderiliyor mu ? Yoksa enerji verildikten sonra modül sırayla bilgileri mi gönderiyor ? Datasheet de hangi verilerin gönderileceğini veya modülün nasıl ayarlanacağı hakkında bir bölüm bulamadım.

X-Fi

Alıntı yapılan: WrtM - 09 Mart 2014, 16:10:03
Hocam modüle veri gönderiliyor mu ? Yoksa enerji verildikten sonra modül sırayla bilgileri mi gönderiyor ? Datasheet de hangi verilerin gönderileceğini veya modülün nasıl ayarlanacağı hakkında bir bölüm bulamadım.

Modul kurulumunu FTDI üzerinden bir kez yapıyorsunuz. Aldığınızda zaten ayarlı gelebilir, daha sonra her enerjilendiğinde verilerini kendi gönderiyor. sıcak bağlantı soğuk bağlantı durumuna göre biraz bekliyorsunuz.

Onun dışında bu modül için 5hz deniyor ama bazı forumlarda 10hz ile çalıştırabildiklerini duydum ancak denemedim.
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

homer380

veriler karakter olarak geliyor ister işleyin isterseniz ekrana olduğu giibi yazdırın. uart'a haberleşmesi . herhangi bir komut yok. ama verileri işlemek gerek. yoksa saat utc olarak geliyor buda 2 saat gerisiniz demek. koordinat bilgilerini işlemeniz gerek.  derece dakika ve saniyeye cevirmeniz gerek. hız birimi ise knot cinsinden ekrana yazılıyor. suan bunları cevirmek için en kısa kodları nasıl yazarım onun derdindeyim.

mesaj birleştirme:: 09 Mart 2014, 17:41:44

siz sadece modulu dinliyorsunuz.

LukeSkywalker

GPS saati dünya üzerindeki en doğru saat olan atom saatidir. Bu sebeple bazı yerlerde sırf saat özelliğini kulanmak için gps tercih edilir..