Autor Tema: Como Hacer un WAYPOINT con un GPS NMEA y un PIC en asm  (Leído 5788 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado ROCA4458

  • PIC10
  • *
  • Mensajes: 3
Como Hacer un WAYPOINT con un GPS NMEA y un PIC en asm
« en: 13 de Febrero de 2008, 14:09:37 »
Hola a todos:
Estoy Haciendo un proyecto con GPS el cual se va montar en un automovil y estoy usando el modulo de GLOBALSAT ET-332 el cual me vota sus datos por RS232 en el formato NMEA, yo adquiero datos de longitud y latitud en gg'mmm,mmmm'' en grados y minutos. El proyecto que tengo que realizar consiste en que el PIC que esta conectado con el GPS detecte cuando pasa por una calle, yo pense en guardar dos puntos (latitud y longitud) que representaran las esquinas opuestas de un cuadrado virtual y si el automovil entra dentro de ese cuadrado que sea detectado por   el pic. pero la duda que tengo es como comparar los datos que me manda el GPS que estan grados y minutos para ver si estan dentro de esa area del cuadrado virtual, he pensado en convertir todo a minutos pero me resulta que la conversion me sale muy grande ya que estos datos son de mas o menos 9 digitos BCD (121g64.1236min) los cuales hay convertirlos en hex para hacer operaciones con el PIC. quisiera saber si alguien ya hizo algo paresido y si hay otr forma mas facil de hacerlo.

Espero su respueta garcias Chau :) :) :)

Desconectado m@auri

  • PIC10
  • *
  • Mensajes: 8
Re: Como Hacer un WAYPOINT con un GPS NMEA y un PIC en asm
« Respuesta #1 en: 23 de Febrero de 2008, 22:25:29 »
Hola, como estas?, te diria que lo mejor es que consideres que en el entorno que vas a trabajar tu paralelo y meridiano virtual seran perpendiculares, luego deberias trabjar alguna rutina de suma y resta de 16 bit, aca te adjunto una:
;*******************************************************************
;                 Double Precision Addition & Subtraction
;
;*******************************************************************;
;   Addition :  ACCb(16 bits) + ACCa(16 bits) -> ACCb(16 bits)
;      (a) Load the 1st operand in location ACCaLO & ACCaHI ( 16 bits )
;      (b) Load the 2nd operand in location ACCbLO & ACCbHI ( 16 bits )
;      (c) CALL D_add
;      (d) The result is in location ACCbLO & ACCbHI ( 16 bits )
;
;   Performance :
;               Program Memory  :       07
;               Clock Cycles    :       08
;*******************************************************************;
;   Subtraction : ACCb(16 bits) - ACCa(16 bits) -> ACCb(16 bits)
;      (a) Load the 1st operand in location ACCaLO & ACCaHI ( 16 bits )
;      (b) Load the 2nd operand in location ACCbLO & ACCbHI ( 16 bits )
;      (c) CALL D_sub
;      (d) The result is in location ACCbLO & ACCbHI ( 16 bits )
;
;   Performance :
;               Program Memory  :       14
;               Clock Cycles    :       17
;
;************************************************
;variables a declarar:

TemporalLO  equ     10
TemporalHI  equ     11
ResultadoLO  equ     12
ResultadoHI  equ     13
;*******************************************************************
;         Double Precision Subtraction ( ACCb - ACCa -> ACCb )
;
D_sub   call    neg_A              ; At first negate ACCa; Then add

neg_A   comf    TemporalLO, F          ; negate ACCa ( -ACCa -> ACCa )
   incf    TemporalLO, F
   btfsc   STATUS,Z
   decf    TemporalHI, F
   comf    TemporalHI, F
;
;*******************************************************************
;       Double Precision  Addition ( ACCb + ACCa -> ACCb )
;
D_add   movf    TemporalLO,W
   addwf   ResultadoLO, F          ;add lsb
   btfsc   STATUS,C           ;add in carry
   incf    ResultadoHI, F
   movf    TemporalHI,W
   addwf   ResultadoHI, F         ;add msb
   retlw   0


parece fea pero anda bien, la baje de por ahi y la he usado varias veces, simulala y veras.
cargas los datos en temporal y resultado, y si queres sumar; call D_add y si queres restar call D_sub.

yo hice algo con gps este verano que empaqueta 15 posiciones codificadas en un sms, le programas el espacio entre punto y punto y genera el mensaje cuando se llena la memoria, esta hecho en un 16f628.

Suerte y hasta luego.
mauri

Desconectado cjflores

  • PIC10
  • *
  • Mensajes: 9
Re: Como Hacer un WAYPOINT con un GPS NMEA y un PIC en asm
« Respuesta #2 en: 26 de Febrero de 2008, 15:11:51 »
Hola perdon una preguntita...compre este modulo y lo quiero interfasear...
Los niveles TTL son 0v 2.85V ....lo puedo hacer con un MAX232????
Muchas Gracias!

Desconectado m@auri

  • PIC10
  • *
  • Mensajes: 8
Re: Como Hacer un WAYPOINT con un GPS NMEA y un PIC en asm
« Respuesta #3 en: 26 de Febrero de 2008, 21:28:25 »
Hola, supongo que solo queres escuchar el gps, si quisieras transmitir deberias poner una R=100 ohm y un zenner de la tension que queres regular y listo, para la recepcion yo use un pc817, es decir, el tx del gps prende el led de un opto, el colector lo mande a 5v y el emisor con R=2k2 a tierra, y del nodo del emisor y la de 2k2 saque el dato para el pic, anda joya. Calculale una corriente de 10mA para el led.

saludos, suerte

Desconectado cjflores

  • PIC10
  • *
  • Mensajes: 9
Re: Como Hacer un WAYPOINT con un GPS NMEA y un PIC en asm
« Respuesta #4 en: 27 de Febrero de 2008, 09:54:20 »
Muchas gracias!
El Led del que hablas es el de fototransistor o le pones un led comun aparte del fototransistor?
Saludos.-

Desconectado m@auri

  • PIC10
  • *
  • Mensajes: 8
Re: Como Hacer un WAYPOINT con un GPS NMEA y un PIC en asm
« Respuesta #5 en: 27 de Febrero de 2008, 14:13:49 »
El led del que hablo es el del opto, en mi caso use una placa rev2100 y le puse una resitencia de 470ohm o 330 ohm.
Otro dato que te tiro es que yo use un 16f628 y necesitaba el puerto serie para el telefono y para el gps, entonces el tel me transmitia a un opto y el gps a otro, luego los emisores en paralelo y colectores tambien, con la resistencia de 2k2 a tierra  como antes del nodo que te conte al rx del pic, luego con el pic le daba negativo al led del opto que queria escuchar.
El unico problemita que tube es que no andubo de una porque me deformaba la onda (entrada respecto de salida, entonces puse dos multivueltas de 1k,uno entre el gps y led de un opto y el otro entre el tel y el otro opto, y con un osciloscopio fui buscando un valor del multivuelta que me de el alto de la señal para que el micro me lea bien los 1 y 0 del puerto y a su vez que me desforme lo menos posible,. en mi caso me andubo bien y te ocupa poco lugar en placa.
Saludos, en que proyecto andas???

Desconectado ROCA4458

  • PIC10
  • *
  • Mensajes: 3
Re: Como Hacer un WAYPOINT con un GPS NMEA y un PIC en asm
« Respuesta #6 en: 28 de Febrero de 2008, 17:32:40 »
Hola m@auri:
Gracias por tu respuesta estaba pensando hacer justamente esopero mira quiero que el Waypoint sea de una distancia de 100 metros a la redonda maximo osea una calle mas o menos, la respuesta que me manda el modulo GPS es la siguiente:
Latitud: 3723.2475,N
Longitud: 12158.3416,W
Como nos encontramos en sud america el N(norte) y W los podemos oviar, ahora en el caso de la latitud la informacion se presenta en grados y minutos de esta forma ddmm.mmmm y en la longitud dddmm.mmmm, como la distancia que quiero medir puedo talvez oviar los grados pero si tomara los minutos solamente serian 6 digitos que tendria que convertir a decimal ya que estan solo en bcd para poder hacer sumas o restas y convertir tantos digitos me parece que no es practico. Ahora lo que quiero saber es si para las distancias que quiero medir puedo solo usar las decimas de minuto que seria lo mas optimo yo creo y tomando dos puntos de referencia haria un cuadrado virtualy compararia si entra al cuadrado hacer  a deteccion del Waypoint.

Desconectado m@auri

  • PIC10
  • *
  • Mensajes: 8
Re: Como Hacer un WAYPOINT con un GPS NMEA y un PIC en asm
« Respuesta #7 en: 28 de Febrero de 2008, 19:14:34 »
Hola, el problema que podes tener es que si te moves forma de cambiar los grados se te puede presentar la misma condicion pero en otro lado, respecto de cuanto tomar podes abrir el google earth y fijarte en el entrono que te pensas mover cuanto varia la lat y long.
Que micro estas usando?
saludos

Desconectado cjflores

  • PIC10
  • *
  • Mensajes: 9
Re: Como Hacer un WAYPOINT con un GPS NMEA y un PIC en asm
« Respuesta #8 en: 18 de Octubre de 2008, 20:04:08 »
Mauri puse un opto para escuchar el ET-332 pero no lo llega a exitar parece, me podrías pasar algún esquemita de la conexión? y además ...pense en bajar el valor de la Resistencia....
Gracias, perdón por la molestia.

Desconectado cjflores

  • PIC10
  • *
  • Mensajes: 9
Re: Como Hacer un WAYPOINT con un GPS NMEA y un PIC en asm
« Respuesta #9 en: 21 de Octubre de 2008, 22:45:08 »
Hola quiero interfasear el ET-332 con éste circuito y no me anda alguien me puede ayudar?
Muchas gracias.