TODOPIC

FORO TÉCNICO => Telefonía, GPS y Microcontroladores => Mensaje iniciado por: firepic en 08 de Mayo de 2008, 17:26:53

Título: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: firepic en 08 de Mayo de 2008, 17:26:53
Saludos gente todopic!  :-)
Tengo una pequeña duda que espero puedan ayudarme a aclarar...
Estoy trabajando con un módulo Recpetor GPS Earthmate de la marca Delorme, la idea es comunicarlo por el pic via serial.
Lo he probado con la pc y funciona de lo lindo, el modulo envia constantemente los datos usando sentencias NMEA.
No obstante, intenté hacer un programa que recibiera esos datos serialmente (o sea conectando el modulo gps al pic) y no funciona.
Pensé inicialmente que era el programa... pero luego comencé a dudar del circuito, y veo que hay un problema.
Verán, cuando conecto el módulo a la PC, la conexión es a través de los 9 pines que posee el db9 (como ya mencioné, la transmisión es serial).
Ahora bien, entiendo que el pin 5 del db9 es GND, y el 2 es el que transmite la información, y ese es el que tengo conectado al pin Rx del pic... el detalle es que... cuando sólo conecto el GPS por el canal 2 y 5 al PC, no envia nada!  :shock:
Así que supongo que alguno de los otros pines del db9 es necesario para que la transmisión pueda tener lugar... pero, cuál de ellos?  :? Como diría cantinflas... ahí está el detalle!  :D
No conozco muy bien la interfaz serial completa (es decir, para que es cada pin)... yo siempre uso solo el 2 y el 5 cuando envio información a la PC, y el 3 cuando recibo... y sé que funciona así entre pics y pc... pero no sé qué hacer en este caso...
Les adjunto el archivo de lo que tengo ahora...
La figura que verán arriba es la conexión que si funciona (con todos los pines del db9 conectados).
La segunda conexión es la que no funciona ni siquiera entre GPS-PC
Y lo de abajo es el circuito que tengo montado para comunicar el modulo receptor GPS con el pic... que por cierto, no lo he dicho, es el 16F877.
Ok de antemano gracias por la ayuda que puedan darme.
Nos leemos!  :mrgreen:
Título: Re: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: RICHI777 en 08 de Mayo de 2008, 19:46:38
Hola, fijate en el data sheet del GPS, pero a mi entender debes conectar al menos una de las lineas de protocolo que pueden ser DSR o CTS del lado del GPS, en la web hay mucha info de cual pata de un DB9 es cada una. La cosa seria asi, el GPS necesita saber si hay algo conectado del otro lado, o lo haces con alguna salida de las que te quedan vacias del MAX o directamente simulas un NULL-Modem.
Saludos !
Título: Re: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: firepic en 08 de Mayo de 2008, 22:59:20
Saludos!
Gracias por tu respuesta amigo Richi, es que resulta no tengo la datasheet  :shock:
Verás, ese modulo gps me lo prestó un amigo mío y no lo he visto más para pedirle la ds...
He buscado en internet pero no he conseguido nada, ni siquiera en la propia página de DeLorme hay información, pues toda la info que hay es sobre modulos más recientes...
Justo ahora estoy tratando de descargar un manual que conseguí en eMule, pero ya tiene un tiempo y sigue en estado de "espera"  :(

Estuve averiguando en internet eso que dices del NULL-Modem, en realidad no sé casi nada de eso porque como te dije no sé mucho de informática salvo lo que como aficionado he aprendido, pero según lo que ví en unas páginas por allí, es esto a lo que te refieres?:

(http://upload.wikimedia.org/wikipedia/commons/thumb/5/58/Null_modem.jpg/180px-Null_modem.jpg)

Porque si es eso, ya lo tengo, mi amigo me lo dió y ya traía eso conectado al db9 del modulo gps... no sabía para qué era  :?
Y aun así no funciona...

Ahora bien, en cuanto a esos pines que me mencionas DSR y CTS...
Ví en esa página de wikipedia que DSR es "Data Set Ready"... y CTS "Clear To Send"... será que tengo que conectarlos a +5V? o a GND? Bueno voy a probar a ver... pero antes solo una pregunta más, antes de "probar a ver": no hay riesgo de dañar el modulo ni nada por el estilo si le coloco un nivel incorrecto de tensión (0 o +5voltios)?

Ok de nuevo agradezco de antemano la ayuda...
Bueno, pues como siempre... nos leemos!  :mrgreen:
Título: Re: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: RICHI777 en 08 de Mayo de 2008, 23:40:06
Hola, bueno voy a tratar de ayudarte....El tema es asi, ademas de las 2 lineas de TX y RX, tambien se usan las lineas de protocolo que pueden ser DTR-DSR o RTS-CTS, en el par una es salida y la otra es entrada, la idea de esto es saber desde cada lado si esta en linea o no. Cuando el equipo enciende y esta listo coloca normalmente las lineas RTS o DTR ( salidas ) en estado activo ( 0 logico ) y ademas cuando tiene que transmitir sensa la lineas DSR o CTS, que son entradas, a ver si son activas para transmitir. La idea del NULL-MODEM es cablear la linea DSR-DTR o RTS-CTS entre si, para que el dispositivo RS-232 crea que del otro lado este activo para iniciar la comunicacion.
En tu caso deberias disponer de un port del micro como salida atravez del Max y conectarlo a las linea 7 ( RTS ) o la linea 4 ( DTR ) y colocarla en estado bajo, con eso el GPS deberia empezar a transmitir.
Por otro lado deberias disponer de otro port del micro pero como entrada y atravez del Max, deberias conectarlo a la linea 6 ( DSR ) o a la linea 8 ( CTS ), en este caso antes de transmitor al GPS deberias checkear el estado de ese port, si esta en bajo, significa que el GPS puede recibir datos en caso contrario debes esperar.
Saludos !
Título: Re: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: firepic en 09 de Mayo de 2008, 00:21:45
Ey Richi, nuevamente gracias!  :-/
Tus explicaciones me han aclarado bastante mis agujeros negros  :D
Voy a intentar hacer lo que me dices...
Y luego te mencionaré los resultados. De nuevo gracias por tu tiempo.
Recibe un cordial saludo.
Nos leemos!  :mrgreen:
Título: Re: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: firepic en 12 de Mayo de 2008, 23:41:31
Saludos!  :-)

Amigo Richi quería agradecerte toda tu ayuda... gracias a tus explicaciones pude resolver el problema...
En efecto, para el Earthmate Receiver de DeLorme (por si alguien usa este mismo modulo gps y se le presenta un problema parecido), se debe conectar el pin 4 del DB9 a +5 Voltios para que el módulo comience a enviar los datos usando las sentencias NMEA.

Ahora que he resuelto el problema de hardward, viene lo del software.. a programar se ha dicho!
Nuevamente gracias Richi!  :P

Nos leemos!  :mrgreen:
Título: Re: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: RICHI777 en 13 de Mayo de 2008, 13:40:18
Buenisimo !!! me alegra mucho que lo hayas hecho andar, con respecto a ese nivel que colocaste esta bien ya que los drivers RS232 tipo Maxim son inversores. Pero tene en cuenta algo, de la manera que lo conectaste nunca podrias indicarle al GPS que temporariamente no podes recibir datos ya que la linea esta forzada siempre On-Line, si te sobran pins yo le colocaria las lineas correspondientes.
Saludos !
Título: Re: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: firepic en 13 de Mayo de 2008, 13:57:17
Tienes razón Richi!  :-/

De hecho cuando dije:
se debe conectar el pin 4 del DB9 a +5 Voltios para que el módulo comience a enviar los datos usando las sentencias NMEA.

Quise decir que ese era el nivel necesario, pero no pienso conectarlo directo a la alimentación, sino como tú dices, a uno de los pines del pic, y que sea el micro que provea los +5V cuando necesite que el gps envíe los datos, de lo contrario colocar un nivel bajo para que el modulo gps no envie nada...
Eso alargaría la vida de las baterías también no?  :P

Nuevamente gracias Richi, nos leemos!
Título: Re: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: RICHI777 en 13 de Mayo de 2008, 14:24:57
Hola, con el tema del consumo nose, no soy un experto en la materia, y por lo demas mucha suerte !!!
Saludos !
Título: Re: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: firepic en 15 de Mayo de 2008, 00:00:50
Saludos!
Amigo Richi intenté hacer lo que me mencionaste, sobre conectar el DTR a un pin del pic para así tener más control sobre el módulo GPS... en este caso lo estoy conectando a un pin del portc, el RC1 (aunque he probado también en otros pines del portc y es lo mismo  :shock: )...
Fíjate lo que me pasa... cuando hago la instrucción "output_high (pin_c1)"... compila y todo genial... pero luego lo grabo en el pic  y lo demás del programa lo hace bien menos poner en alto ese pin... siempre se mantiene en bajo... por lo tanto, el GPS no envía nada... sólo cuando coloco directamente el DTR a la alimentación comienza el envío y funciona de lo lindo (gracias a tu ayuda Richi  :P )... del GPS al pic, y del pic a la PC (claro no es lo que debe hacer, pero es por ahora para probar  :D )...
Qué podrá estar pasando?  :?
Dejo el código a ver si tú Richi, u otra alma caritativa de este foro que lea esto pueda ayudarme...

Código: C
  1.  
  2. //////////////////////////////////////
  3. // Recibe del gps y envia al pc //
  4. //////////////////////////////////////
  5.  
  6. #include <16f876A.h>
  7. #fuses HS,NOWDT,NOPROTECT,NOLVP,PUT,NOBROWNOUT
  8. #define led PIN_C5
  9. #define Tx  PIN_C6
  10. #define Rx  PIN_C7
  11. #define Rg  PIN_C0
  12. #define DTR PIN_C1
  13. #use delay (CLOCK=20000000)
  14. #use rs232 (STREAM=GPS,BAUD=4800,RCV=Rg)
  15. #use rs232 (STREAM=PC,BAUD=19200,XMIT=Tx,RCV=Rx)
  16. #use fast_io(A)
  17. #use fast_io(B)
  18. #use fast_io(C)
  19.  
  20. void main(void)
  21. {
  22.    char caracter;
  23.    setup_ccp1(CCP_OFF);
  24.    set_tris_a(0b11111111);
  25.    set_tris_b(0b11111111);
  26.    set_tris_c(0b10000001);
  27.    fputs("=====RECIBIDO DEL GPS=====",PC);
  28.    output_high(DTR);
  29.    while(TRUE)
  30.    {
  31.       caracter=fgetc(GPS);
  32.       fputc(caracter,PC);
  33.    }
  34. }
  35.  

Ok de antemano muchas gracias por todo!
Nos leemos!  :mrgreen:
Título: Re: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: RICHI777 en 15 de Mayo de 2008, 14:03:52
Hola FirePic lamentablemente con la programacion PIC no te pudeo dar una mano porque no los conozco, pero sobra gente en el foro que si...Con respecto a la conexión de la linea DTR del GPS, la haces directamente o atravez de uno de los drivers del MAX-232 ?
Saludos !
Título: Re: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: firepic en 15 de Mayo de 2008, 16:27:41
Saludos, gracias por tu respuesta!
Amigo Richi, no creo que el problema sea el código, lo puse para más detalles... o si alguien quería verlo...
El problema creo estar seguro que es de hard... la DTR del gps la estoy conectando directamente al PIC... lo hice así porque cuando la conecto a la PC y mido el nivel que debe tener para que envíe, mido unos +4 o +4.5 voltios, así que pensé que con el nivel alto del pic debía funcionar perfecto, pero no!  :shock:
Lo más interesante es que cuando coloco directamente a +5V de la alimentación de mi circuito (la misma alimentación del pic) me funciona de lo lindo...
Eso es lo que no entiendo, será que el puerto C del pic tiene alguna configuración especial que no permite usarla directamente con la interfaz serial del modulo GPS?  :?
Bueno si tienes idea me avisas, si no también para abrir un hilo en el subforo de todo en microcontroladores pic, creo que allí estaría mejor el tema...
Ok nos leemos!  :mrgreen:
Título: Re: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: RICHI777 en 15 de Mayo de 2008, 16:45:43
Hola, ahi esta el problema, si al GPS lo conectas directamente a la PC es porque trabaja con niveles RS-232 donde un 0 logico es -15v y un 1 logico es +15V ( con las debidas tolerancias ), entonces para simular el mismo comportamiento con el PIC debes intercalarle un MAX232, que convierte niveles logicos TTL ( 0-5v ) a RS232, si lo haces directamente posiblemente no funcione.
Saludos !
Título: Re: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: firepic en 15 de Mayo de 2008, 17:00:59
Pero entonces por qué funciona cuando conecto DTR a los +5V de la alimentación (nivel TTL) ?  :shock:
Título: Re: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: RICHI777 en 15 de Mayo de 2008, 18:14:21
Pregunta, colocas algun tipo de adaptador entre la PC y el GPS ? o simplemente le sacas el cable de la PC y lo conectas al PIC ? Si te funciona asi puede ser porque justo caes dentro de las tolerancias...
Saludos !
Título: Re: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: firepic en 15 de Mayo de 2008, 18:49:38
Esta es la forma como lo tengo conectado y funciona:

(http://img120.imageshack.us/img120/79/gpsokcy2.th.jpg) (http://img120.imageshack.us/my.php?image=gpsokcy2.jpg)

Como verás, DTR (pin 4 del DB9 que viene del modulo GPS) está conectado directamente a la alimentación. Si lo desconecto de la alimentación y lo conecto al RC0 del pic, no funciona... de hecho el nivel de ese pin permanece en bajo aunque lo he programado para que permanezca en alto! :shock:
Título: Re: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: RICHI777 en 15 de Mayo de 2008, 19:26:26
Hola, a ver si lo solucionas....Yo haria esto, primero el GPS esta configurado como DCE, es decir si te fijas las lineas estan invertidas con respecto a lo normal. Yo conectaria el port del PIC a la linea 10 ( T2IN ) del Max 232, despues la linea 7 ( T2OUT ) del Max la conectaria a la linea 4 del DB-9 que va al GPS, en teoria deberias poner el Port del PIC es estado bajo para que el GPS empiece a funcionar.
Saludos !
Título: Re: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: firepic en 15 de Mayo de 2008, 19:41:54
Saludos!
En un rato me pongo con eso a ver qué tal...
Gracias por tus respuestas!
Nos leemos!  :mrgreen:
Título: Re: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: firepic en 16 de Mayo de 2008, 14:09:37
Saludos!

Amigo Richi ya está, problema resuelto!  :-/
La cosa no era de hard sino de soft...
Recuerdas que te mencioné que con +5V en DTR el modulo GPS enviaba los datos?
Bueno pues cuando medía en el pin del pic, no había +5V aunque en el código le había dicho que ese pin se pusiera en alto (como lo ves en la línea 28 del código que coloqué antes).
Lo que hice fue cambiar la directiva fast_io (C) por standard_io(C) y quitar el set_tris_c, es decir, dejar que el compilador configurara solo las entradas y salidas del portc... y pues listo, después sí se colocaba en +5 el pin que tenía conectado a DTR..  y ahora sí funcion bello!  :D
Lo que no entiendo es por qué con la directiva fast_io(C) no funcionaba... como me dijiste que no sabes mucho de programación, abrí un hilo en otro subforo a ver si alguien más me aclara este punto...
Muchas gracias por toda tu gran ayuda Richi!  :P

Nos leemos!  :mrgreen:
Título: Re: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: RICHI777 en 16 de Mayo de 2008, 14:29:25
Bueno me alegro, aunque para mi deberias hacer pasar la conexion atravez del MAX, no es recomendable lo que haces, es decir mezclar niveles RS232 y TTL, por otra parte te comente que no se , ni me interasan los PIC, pero de programacion de embebidos digamos que se un poquito ;)...
Saludos !
Título: Re: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: firepic en 16 de Mayo de 2008, 14:50:17
Amigo Richi acabo de probar lo que me dices, de poner el pic a nivel lógico 0 y hacer pasar por el MAX 232 para que lo invierta y lleve a nivel RS232... pero no funciona... es decir, al parecer el GPS envía datos erróneos al pic... pues se muestran puros caracteres extraños... medí la tensión que hay en DTR de ese modo y me da +10V...
En cambio cuando le coloco los +5V de la alimentación si envía los caracteres correctamente... no sé que pueda estar pasando pero ya creo que lo voy a dejar así, pues funciona!  :D

Ok nos leemos!  :mrgreen:
Título: Re: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: Javicho en 17 de Mayo de 2008, 03:09:44
Bueno como que no es la forma de expresarse asi no crees?

por otra parte te comente que no se , ni me interasan los PIC,

Javicho.
Título: Re: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: RICHI777 en 17 de Mayo de 2008, 15:18:52
Citar
Bueno como que no es la forma de expresarse asi no crees?
No se cual es tu problema ?, muchos sabran que no soy devoto de MicroChip, pero eso no implica que se aprenden muchas cosas aparte de los PIC en este foro.
Saludos !
Título: Re: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: Javicho en 20 de Mayo de 2008, 21:36:49
No se cual es tu problema ?,

Me refiero a que hablas de una forma despreciativa y con tu ultimo post le sumo un tono de soberbia y altaneria, mejora tus modales porque esto no es la calle, piensa primero antes de escribir.

Javicho.
Título: Re: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: RICHI777 en 20 de Mayo de 2008, 22:35:31
Perdon ???? y vos quien te crees que sos para estar interpretando mis contestaciones, hermano si te sentis ofendido te recomiendo un buen psicologo.
Saludos !
Título: Re: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: Javicho en 20 de Mayo de 2008, 23:02:23
Perdon ???? y vos quien te crees que sos

En fin, no vale la pena tratar con personas asi.

Javicho.
Título: Re: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: RICHI777 en 20 de Mayo de 2008, 23:20:56
Ok, se termina aca, tendre mi caracter y expreso mis ideas aunque no les gusten a algunos pero siempre soy colaborativo en lo que puede ayudar...
Saludos !
Título: Re: Duda sobre conexión serial de pic con Receptor GPS!
Publicado por: firepic en 21 de Mayo de 2008, 12:57:51
Richi, Javicho, saludos!
No era mi idea que la cosa se tornara en una discusión. No es la finalidad de este hilo.
Richi, trata de medir mejor tus palabras, sobre todo recuerda que este es un foro mayormente de pics.
Javicho, igual mide tus palabras, no juzgues a las personas sólo por una expresión que se dijo sin meditar, sin la intención de molestar.
Richi aunque no está en el mundo de los pic ha estado ayudándome con esto de la comunicación con GPS, así que también merece respeto.
Ok daré por terminado este hilo.
Nos leemos!  :mrgreen:

P.D. Gracias Amigo Richi, por ayudarme a solucionar lo de la comunicación pic-gps!