Autor Tema: gps datalogger con pic  (Leído 25320 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado berja

  • PIC10
  • *
  • Mensajes: 21
Re: gps datalogger con pic
« Respuesta #45 en: 15 de Mayo de 2009, 11:32:59 »
el tema es que no recibo las los codigos ascii... la informacion... pongo como entrada com10 pero llega hasta alli me detecta el bluetooh y despues me dice falla del dispositivo... algo asi...
el gps prende todo pero no me envia la señal parece... yo tengo que tener otro progarma ademas del mini gps?
desde ya gracias...

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: gps datalogger con pic
« Respuesta #46 en: 15 de Mayo de 2009, 16:08:20 »
no tienes que tener instalado ningun programa extra.
solo tienes que emparejar el gps por bluetooth.te pidira una clave que es 0000. y cuando tengas conexion con el gps por spp slave,buscas que puerto com utiliza el bluetooth.y con el hiperterminal de window conectas con ese puerto.
cuando consigas esto.lo siguiente sera hacer las pruevas con conexion  serie.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado berja

  • PIC10
  • *
  • Mensajes: 21
Re: gps datalogger con pic
« Respuesta #47 en: 17 de Mayo de 2009, 20:39:41 »
la conexion al circuito... lo tengo que hacer solamente con ese cable usb que viene con el holux nada mas... no me sirve ningun otro cable para ese...
puedo estirar directamente del gps nomas la conexion???

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: gps datalogger con pic
« Respuesta #48 en: 18 de Mayo de 2009, 15:58:50 »
no entiendo a que te refieres con normas de conexion.

el gps envia atraves del pin RX que es el del centro del conector mini-usb con respecto a masa,las sentencias NMEA nadamas encenderlo.
normalmente si no lleva mucho tiempo apagado te envia los ultimos datos que recivio.como coordenadas,hora,etc.

lo que tienes que ver es si ese gps es compatible con la usart del pic.
ya he dicho anteriormente que practiqueis con el hiperterminal de windos antes de ponerse a programar el pic.seria una potra,chiripa etc.que funcionara a la primera sin entender el funcionamiento de las sentencias NMEA y la USART.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado jodorowsky

  • PIC12
  • **
  • Mensajes: 52
Re: gps datalogger con pic
« Respuesta #49 en: 18 de Mayo de 2009, 17:30:28 »
bueno disculpen la ausensia del foro es que tuve problemas familiares
ahora lo que yo queria es guardar la informacion de las rutas de los buses para saber por donde fueron y para usarlo como tickeo lo que significa de saber la hora por la que pasaron en ciertos puntos.
pero lo que tambien queria saber es si puedo guardar la informacion del gps pero solo partes "osea lo q me interesaria a mi" que seria la cordenada y la hora pero quisiera saber cuanto pesaria cada trama y ver como cuanto de memoria necesito.
y otra cosa q estaba haberiguando es cuan cierto es eso de que el gps recive varias interferencias??
algo asi me dijeron como la lluvia y el viento con polvo??
si alguien sabe de eso quisiera q me de una manito
y tambien si me puede ayudar en la programacion pero en MPLAB que es el que uso
GRACIAS!!!

Hola que tal?? pense que habia respondido a esto pero ahoar me acuerdo que hubo un error al darle publicar.

ahora lo que yo queria es guardar la informacion de las rutas de los buses para saber por donde fueron y para usarlo como tickeo lo que significa de saber la hora por la que pasaron en ciertos puntos.
Muy interesante aplicación. En vez de marcar tarjeta que es el sisitema actual. De donde eres?

pero lo que tambien queria saber es si puedo guardar la informacion del gps pero solo partes "osea lo q me interesaria a mi" que seria la cordenada y la hora pero quisiera saber cuanto pesaria cada trama y ver como cuanto de memoria necesito.

Si se puede, solo debes filtrar la informacion que te envia el gps. Para eso debes conocer el protocolo nmea0183 que es sencillo. Basicamente debes ir almacenando en un buffer la informacion que te envia el gps. Si son coordenadas lo guardas al buffer, si no, lo descarta. El protocolo maneja caracteres ascii asi que:
por ejemplo el gps envia:

$GPRMC,aaaaaa,b,cccc.cc,d,eeeee.ee,f,ggg.g,hhh.h,jjjjjj,kkk.k,l*mm

son mas o menos unos 70 o 75 caracteres?? bueno, entonces son 70 o 75 bytes.
De esa trama  "cccc.cc" es latitud en formato ggmm.mm
"d" es el hemisferio ("N" = norte, "S" = sur)
"eeeee.ee" es la longitud en formato gggmm.mm
"f" es hemisferio ("E" = este, "W" = oeste)
como cada caracter es 1 byte, puedes deducir cuantos bytes son las coordenadas. Unos 17 bytes. Si almacenas cada segundo tendras:
17*60 = 1020 bytes en 1 minuto.
1020*60= 61200 bytes en 1 hora.
61200*24=1468800 en 1 dia.

Para ahorra puedes convertir los datos a algun formato como long int o algo asi para ahorrarte espacio. Tambien puedes optar por almacenar datos cada 2 o 3 o 5 segundos.


Y sobre las interferencias, pues no, ese tipo de cosas no le causan "interferencia". Probé un gps en lluvia intensa y como si nada. No se si alguien del foro tiene otras opiniones. Menos aun el polvo o tierra. Lo que si es que debe tener vista al cielo aunque sea parcial. Mientras mas satelites capta, mejor es la precision. si pones un gps en un micro o bus, ahi donde el chofer coloca su periodico o sus monedas, tranquilamente anda el gps, todo el dia. Cada vez los gps son mas sensibles y algunos captan inclusive bajo techo. Pero sin exagerar, o sea que si te vas a un sotano, ni en mil años te calculara su posicion. Si estas en una zona con denso follaje la mayoria de los gps pierden señal.

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: gps datalogger con pic
« Respuesta #50 en: 09 de Agosto de 2009, 20:09:16 »
jonas13.como me pedistes ayuda por privado,te pondre la forma en la que yo haria el programa.no pongo el asm porque no tengo tiempo con los proyectos que ya tengo
pero esto te ayudara bastante.

para poder detectar si hay una coordenada cerca.yo haria lo siguiente:

lo primero es alojar las coordenadas recividas del gps en la memoria ram.por ejemplo:

cojemos la trama siguiente. $GPGGA,001430.003,3907.3885,N,12102.4767,W,1,05,02.1,00545.6,M,-26.0,M,,*5F

donde los datos que nos interesan son: 3907.3885 y 12102.4767 que son las coordenadas

en este ejemplo 39º serian los grados. 07,3885' son los minutos decimales.si quisieramos representralos en grados,minutos segundos.
tendriamos que hacer lo siguiente:

39º se deja como esta 07' que es la parte entera como esta.y ahora cogemos el valor 0.3885 y lo multiplicamos por 60.
 0.3885 x 60= 23,31" la coordenada seria 39º07'23,31" y segun la circuferencia de la tierra he calculado que  cada segundo son 30 mtrs. pero en esto puedo equivocarme.

de todas formas estos calculos solo nos sirven para visualizar las coordenadas en un display.si es que queremos modificarlas.
aqui solo queremos que el pic pueda detectar cuando nos acercamos a una coordenada preestablecida.

pues bien tendremos que realizar un programa que nos guarde en unos registros las coordenadas que van a ser actualizadas cada segundo.que va a ser
el tiempo que el gps nos mandara los datos.

serian los siguientes registros: uno por cada caracter.

UNIDAD_GRADOS_E
DECENAS_GRADOS_E
UNIDAD_MINUTOS_E
DECENAS_MINUTOS_E
UNIDAD_SEGUNDOS_E
DECENAS_2SEGUNDOS_E
UNIDAD_SEGUNDOS2_E
DECENAS_2SEGUNDOS2_E

UNIDAD_GRADOS_W
DECENAS_GRADOS_W
UNIDAD_MINUTOS_W
DECENAS_MINUTOS_W
UNIDAD_SEGUNDOS_W
DECENAS_2SEGUNDWS_W
UNIDAD_SEGUNDOS2_W
DECENAS_2SEGUNDOS2_W

tambien podemos realizar un direccionamiento directo.


como los datos recividos del gps son caracteres ASCII.tendremos que realizar un subprograma para convertir los valores ASCII en valores numericos hexadecimales
asi que el primer valor 39 cogeremos el 9 que es la unidad de los grados.

9 ascii=39hex asi que como en la tabla ascii,la diferencia entre el caracter 9 y los consecutivos hasta el 0.son que hay que restarle 30h.
pues lo tenemos muy facil para cojer el valor de la unidad.que seria 39h-30h=09h.facil

coger el valor de las decenas es un poco mas complicado.pero no imposible.asi se procede.

3 ascii=33hex  33h-30h=03h ahora solo hay que hacer un SUAPF y cambiamos los nibles de sitio= 30h.seguidamente lo sumamos con el valor 09h y tenemos el valor 39h
preparado para meterlo en un registro.de esta forma hemos ahorrado un byte en la pareja de los grados y el valor esta preparado para poder realizar operaciones arismeticas con el.
ya solo queda aplicarlo a las demas parejas de caracteres.con esto ahorramos 8bytes en cada coordenada respecto a los 16 bytes que ocupan los caracteres ascii


ya quedaria el subprograma para guardar la coordenada y el de comparacion.

el de guardar la coordenada es facil.que al pulsar un boton.se guarde en la eeprom de datos la coordenada gps actual.y asi sucesivamente hasta que la llenemos.

la comparacion ya es otra cosa.ya que tenemos que realizar un programa que esta constantemente comparando las coordenadas guardadas en la eeprom
de datos con la coordenada actual.que tendremos en un registro temporal que va cambiando cada segundo."aunque yo recomiendo pasar la eeprom de datos a la ram.porque sino ralentizariamos el programa y no nos leeria las coordenadas cada segundo."

para ello realizaremos restas de estos valores y conforme se vallan acercando la coordenada E o la W.con respecto a la almacenada en la eeprom habra un registro que contendra la diferencia.esta diferencia seran los metros que hay hasta la coordenada pregrabada.

pero bueno.ya es tarde y no puedo escribir mas .asi que si a alguien le interesa el final del cuento,ya me dira algo por aqui.  :) saludos.








Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado unelectron

  • PIC10
  • *
  • Mensajes: 3
Re: gps datalogger con pic
« Respuesta #51 en: 25 de Abril de 2010, 18:27:09 »
Hola Amigos!!
Veo que la tiene re clara al tema de los GPS´s...
Talvez alguien sepa cuantas muestras por segundo toma el HOLUX M-1000 C.
Lei los manuales, pero no estoy muy seguro... sera de almenos 5hz?, osea 5 muestras por segundo (0,2 sec)?  :?
Espero puedan ayudarme... saludos!!

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: gps datalogger con pic
« Respuesta #52 en: 26 de Abril de 2010, 10:28:41 »
te he mandado la respuesta al privado que me enviastes.no me di cuenta de que me mandastes dos mensages.

ya saves que para tener 5 actualizaciones por segundo hay que configurarlo con un programa.por defecto el mio traia 1 por segundo.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado fabrisencina

  • PIC10
  • *
  • Mensajes: 3
Re: gps datalogger con pic
« Respuesta #53 en: 07 de Septiembre de 2010, 21:53:51 »
te he mandado la respuesta al privado que me enviastes.no me di cuenta de que me mandastes dos mensages.

ya saves que para tener 5 actualizaciones por segundo hay que configurarlo con un programa.por defecto el mio traia 1 por segundo.


hola, soy nuevo en el foro, hace un tiempo que quiero hacer andar un modulo gps, le pregunte a groundman en privado sobre un problema que tengo, es que tengo un 18F452 y conectado con un lcd lo cual anda bien, lo conecto a la pc por max232 y tambien funciona todo, esto lo compruebo ya que tengo un programita echo en visual studio 2008 y le mando caracteres al pic y los visualizo por la pantallita y tambien los envio desde el pic a la pc y los visualizo en visual.... he probado trabajar con interrupciones y sin ellas y todo funciona perfecto... bien..
ahora cuando le conecto el modulo gps (tengo 2: et102 y et332) con ninguno logro leer lo que envian, no se que probar, he probado muchos codigos y nada, estoy seguro que esta bien la conexion de hardware ya que la plaquita que del et332 trabaja con niveles ttl, por lo que solo es cuestion de conectar rx con tx y tx con rx. esto lo he probado con usart por hardware y por software... tambien decidi cambiar la velocidad del oscilador y no consigo nada.. cabe aclarar tambien que tengo definido 2 usart, la fisica y la por software... por software tengo a la pc conectada y esta la he probado y funciona bien, la fisica del pic la tengo conectada al gps... cuando hago las prueba le mando por la pc al pic por el rx fisico del pic y se lo devuelvo a la pc por el echo en software.
les aclaro que estoy trabajando con ccs... si alguien me puede ayudar se lo agradeceria mucho... gracias...
saludos a todos

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: gps datalogger con pic
« Respuesta #54 en: 08 de Septiembre de 2010, 10:55:36 »
hola fabrisencina.en el privado que me mandastes te comente que miraras si los niveles de tension que entrega tus gps son de 5v
ya que podrian ser de 3.3v

el que te haya funcionado bien con el PC,no quiere decir que las señales se adapten bien del gps al pic.
ya que al conectar al pc.hay que poner un max232 para adaptar los niveles de tension.ya que el protocolo es el mismo.

yo ya he tenido problemas al conextar un GPS a un PIC.y lo solucione poniendo una puerta logica entre ambos.

mira esta respuesta: http://www.todopic.com.ar/foros/index.php?topic=27292.0
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado fabrisencina

  • PIC10
  • *
  • Mensajes: 3
Re: gps datalogger con pic
« Respuesta #55 en: 08 de Septiembre de 2010, 15:30:35 »
hola revise los niveles de tension y son niveles ttl, lo dice el fabricante de la placa con el modulo adquirido, de igual forma lo mido y larga picos de 5V.. por lo que por ahi parece no venir el problema, el tema es que ya no se que hacer!!! por que no me queda nada por probar, no se.. si a alguien se le ocurre alguna sugerencia o tiene un codigo que funcione perfecto como prueba se lo agradecere mucho, ya que no puedo seguir avanzando ya que lo primero es leer los datos del gps... saludos a todos!

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: gps datalogger con pic
« Respuesta #56 en: 08 de Septiembre de 2010, 16:29:47 »
dices que has conectado el gps con sus salidas rs232 al programa que tienes en el pc y que funciona bien.

pues lo primero que yo haria es poner un adapador rs232 en las salidas ttl del gps y probar de nuevo con el programa que tienes.
para estar seguros de que las señales y la velocidad son correctas.

mas adelante podemos hacer mas pruevas.pero vamos a ir descartando posibles fallos.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado davidlutfi

  • PIC10
  • *
  • Mensajes: 1
Re: gps datalogger con pic
« Respuesta #57 en: 09 de Septiembre de 2010, 19:42:30 »
hola, alguien me puede ayudr con mi proyecto final? estoy trabajado en c con un 16f877a, programando con el mplab en c. Lo conecto al gps, recibo las tramas nmea, pero no puedo discriminar la $GPGGA, que es la queme interesa para enviar. Si alguien me da una mano les agradeceria mucho. Puedo ofrecer ayuda en cuestiones electronicas. GRACIS!!!!

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: gps datalogger con pic
« Respuesta #58 en: 09 de Septiembre de 2010, 20:19:07 »
en este enlace hize un programa que te puede servir.

http://www.todopic.com.ar/foros/index.php?topic=17786.0

pero es en asm. no entiendo el c

saludos.

« Última modificación: 09 de Septiembre de 2010, 20:23:16 por groundman »
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado fabrisencina

  • PIC10
  • *
  • Mensajes: 3
Re: gps datalogger con pic
« Respuesta #59 en: 08 de Octubre de 2010, 11:54:26 »
hola gente perdon que me ausente demasiado.. problemas con la facu y demas...
quiero comentarles que logre hacerlo funcionar... era una tontera lo que pasaba, me estaban molestando los niveles de tension.. para el que no recuerde mi problema era que no podia leer los datos del gps con el 18f452, pero eso quedo atras por que al fin logre que funcionara. El problema estaba en la fuente de alimentacion!!! oscilaba mucho la tension y variaba de 4.3 a 4.8V, cosa que no seria ningun problema para el pic y tampoco para el gps ya que el modulo que yo tengo es el et332 que viene con los niveles de ttl ya de fabrica, pero parece que eso lo volvia un poco loco...
conecte el gps por el puerto d simulando rs232 y en el puerto rs232 fisico (RB6 y RB7) lo conecte a la pc y funciona de diez.
Cualqueir cosa que pueda ayudar me avisan...
gracias groudman, y a los que se interesaron..
saludos