Autor Tema: Sobre la comunicacion de un PIC y un Siemens en una alarma  (Leído 1990 veces)

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

Desconectado pijuus

  • PIC10
  • *
  • Mensajes: 4
Sobre la comunicacion de un PIC y un Siemens en una alarma
« en: 15 de Abril de 2004, 21:02:00 »
Hola, es la primera vez que escribo en este foro aunque me ha servido de muchiiiiiiiiiiiiisima ayuda. Bueno,no me enrollo.
De proyecto de fin de carrera estoy realizando una alarma con un PIC 16f876 que consta de un display 16x2 conectado con 4 lineas, teclado matricial de12 teclas y buzzer lo cual va separado de la centralita (ya que algunos robos se tienen llevado a cabo rompiendo simplemente la alarma), y en la centralita un siemens m55 (al menos hasta que presente el proyecto, el cual implemento fisicamente) para realizar dos llamadas en principio.
Dispuse de un alcatel 511 y un siemens c35 los cuales no me respondian a los comandos AT y un c55 que se me apagaba a los 20 sg de estar conectado al ordenador. (Desconozco las causas pero lo digo por si alguien intenta realizar un proyecto con dichos terminales)

De inicio, la alarma visualiza un " Introduce Codigo" en donde se puede introducir el codigo para armar la alarma o el codigo de configuracion.

En la configuracion tenemos tres submenus que son para cambiar claves tanto para armar como para poder entrar en la configuracion de nuevo, cambiar los dos numeros de tlf a los que dar aviso (si se dispara la alarma) y modificar los tiempos de retardo a la conexion y a la desconexion.

Emplee un sensor de humos y otro de movimiento con un 4078 cuya salida va conectada a int0 y un 74151 para saber e informar cual de los sensores se ha disparado.

Por el momento todo funciona perfectamente (mas o menos) excepto la comunicacion con el telefono movil.

Mi intencion es enviarle ATD 616; (solo de prueba) con lo cual desde el ordenador responde perfectamente llamando pero al conectarlo al micro en RC6 y RC7 como es logico.......... nada.

No se donde esta el fallo ya que aun no dispuse de osciloscopio por ahora por lo que posteo el trozo de codigo dedicado a dicha comunicacion. Ahh por cierto, como prueba visualizo lo que transmito por el display tambien, lo cual funciona bien pero no hace nada el telefono.

El micro lleva de oscilador un cristal de 4 Mhz.

#DEFINE PAGE0   BCF    STATUS,5   ;Selecciona el banco0
#DEFINE PAGE1   BSF    STATUS,5   ;Selecciona el banco1
#define   RS   PORTC, 1      ;La linea RS del display
#define E   PORTC, 0      ;La linea Enable del display
#define DATA   PORTB         ;Nombrar DATA como Portb para el display
      

   LIST P=16f876
   include   p16f876.inc

   __CONFIG _WDT_OFF & _XT_OSC & _CP_OFF & _LVP_OFF & _PWRTE_ON   ;Se configuran los Fuses
   
   
   errorlevel   -302
INICIO   CLRF   INTCON
      CLRF   STATUS
      clrf   PORTC      ; Initialize Port B
      PAGE1         ; Cambiamos al Banco 1
         movlw   06h
      movwf   adcon1
      movlw   0c0h
      movwf   OPTION_REG
      clrf   TRISC
      clrf   TRISB
      PAGE0
      clrf   flag1
      call   lcdInic
      call   llamanumero1
*
*
*
*


llamanumero1   call   cleardisplay   ; Borra pantalla de LCD
      bsf   rcsta,7      ; Habilitamos puerto serie,recepcion de 8 bits
      PAGE1      ; Cambia a banco1
      movlw   80h   ; Configuramos RC7/RX como entrada y RC6/TX como salida.
      movwf   trisc      
      movlw   24h
      movwf   txsta   ; Configuramos como 8 bits,altavvelocidad y modo asincrono
      movlw   .25
      movwf   spbrg   ; Configuramos el spbrg para una frecuencia en Baudios de 9600
      PAGE0      ; Cambia a banco0
      bsf   RS   ; Habilita Modo Datos del display
      movlw   "A"
      call   envialo
      call   retardo2
      movlw   "T"
      call   envialo
      call   retardo2
      movlw   "D"
      call   envialo
      call   retardo2
      movlw   "6"
      call   envialo
      call   retardo2
      movlw   "1"
      call   envialo
      call   retardo2
      movlw   "6"
      call   envialo
      call   retardo2
      movlw   ";"
      call   envialo
      call   retardo2
      movlw   0dh
      call   envialo
acaba      goto   acaba


envialo      PAGE1
      bsf   txsta,5
      PAGE0
      movwf   txreg      ; Introducimos lo de W en el buffer         
      page1
sigue      btfss   txsta,1      ; ¿Acabo de transmitir?
      goto   sigue      ; No, continua esperando
      PAGE0
      call   comandolcd   ; Si, escribe el caracter en el LCD
      return


Antes de "enviar" dicho comando el pin tx se encuentra a 0 y al acabar queda a 1.

No hice una tabla por ahora por si acaso, prefiero repetir codigo hasta tenerlo funcionando (debido a la mala experiencia que tuve al principio con las tablas)

Si el codigo esta bien cual sera el problema?
No debo conectar directamente el micro al telefono?

Hice un par de pruebas colocando un par de resistencias de distintos valores entre +4.85V que es la tension de alimentacion de PIC y RC6 y RC7 (pull up) asi que el movil se me apagaba solo en cuanto le "enviaba" dicho comando AT.

Probe tambien a colocarle un par de zener de 3v3 por lo que vi en un esquema con nokia pero .....nada.

Ojala podais ayudarme ya que espero presentar dicho proyecto en mayo y solo estoy realizandolo fisicamente por ahora y por la falta de tiempo no puedo investigar muchas cosas y debo pasarlas por alto.

Es la primera vez que hago algo con algun microcontrolador y fui aprendiendo todo por el camino por lo que aun estoy muy verde.

Espero colaborar mas. Saludos.


Desconectado pacalaconcurso

  • PIC24F
  • *****
  • Mensajes: 718
RE: Sobre la comunicacion de un PIC y un Siemens en una alarma
« Respuesta #1 en: 16 de Abril de 2004, 16:52:00 »
como conectas el telefono al pic??????
usas el cable que venden??? si es asi este no funciona con el micro

Desconectado pijuus

  • PIC10
  • *
  • Mensajes: 4
RE: Sobre la comunicacion de un PIC y un Siemens en una alarma
« Respuesta #2 en: 16 de Abril de 2004, 18:50:00 »
Pues el cable tiene tres hilos. Masa, Tx y Rx que van al conector del telefono (Siemens M55) a los pines 2=masa 3=Data Out 4=Data In.

Lo que hice fue cortar el DB9 del cable con el circuito que lleva y dejar solo el conector del telefono, el cual enchufo al RC7/Rx el Data Out y RC6/Tx al Data In directamente. Tambien probe a cambiarlos.

Rc7 se mantiene siempre a 3 V mas o menos lo cual no se si es normal tambien.

Por lo que me preguntas, entiendo que en el codigo no esta el problema,es asi?

No se a que te refieres a lo del cable que venden, pero imagino que te referiras a que el original de Siemens coge la alimentacion del telefono y el "otro" del DB9 (o sea del ordenador) por lo que tengo entendido.

En ese caso este se alimenta desde el ordenador, pero al ser niveles TTL solo necesito el conector con masa Rx y Tx no es asi?


Desconectado pijuus

  • PIC10
  • *
  • Mensajes: 4
RE: Sobre la comunicacion de un PIC y un Siemens en una alarma
« Respuesta #3 en: 18 de Abril de 2004, 20:25:00 »
He visto en una pagina como utiliza un 232 en la conexion entre PIC y movil.
Es necesario? Por?

Por cierto os pongo la pagina de la que hablo. En la cual esta implementado un circuito de PIC con GSM y GPS.

http://avisadorgsm.iespana.es/avisadorgsm/

Desconectado pijuus

  • PIC10
  • *
  • Mensajes: 4
RE: Sobre la comunicacion de un PIC y un Siemens en una alarma
« Respuesta #4 en: 19 de Abril de 2004, 17:51:00 »
Joder, si espero a que alguien me responda me salen canas.

El problema estaba en meterle una resistencia limitadora de 4K7.
De esa manera me llego a funcionar, con zener de 3.3, con resistencias de pull-up y con un 232 no.

Gracias palaconcurso por tu interes.

Desconectado pacalaconcurso

  • PIC24F
  • *****
  • Mensajes: 718
RE: Sobre la comunicacion de un PIC y un Siemens en una alarma
« Respuesta #5 en: 20 de Abril de 2004, 12:45:00 »
je,je llegamos tarde.

Desconectado MrSOG

  • PIC10
  • *
  • Mensajes: 1
RE: Sobre la comunicacion de un PIC y un Siemens en una alarma
« Respuesta #6 en: 29 de Abril de 2005, 07:54:00 »
Escrito originalmente por pijuus
Joder, si espero a que alguien me responda me salen canas.

El problema estaba en meterle una resistencia limitadora de 4K7.
De esa manera me llego a funcionar, con zener de 3.3, con resistencias de pull-up y con un 232 no.

Gracias palaconcurso por tu interes.


Salu2 me podrias decir como lo conectas porque tengo el mismo problema se me apaga el telefono, soy nuevo en esto y no entiendo como conectas esa resistencia

Gracias

MrSOG