Autor Tema: PIC16F877A Y GENERADOR DTMF HT9200B  (Leído 13327 veces)

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

Desconectado Von_Fausto666

  • PIC10
  • *
  • Mensajes: 10
PIC16F877A Y GENERADOR DTMF HT9200B
« en: 26 de Marzo de 2008, 19:46:13 »
Hola buen dia les comento, hice un marcador telefonico por dtmf utilizando un pic16f877a y el ht9200b, el acople a la linea telefonica lo hago mediante un puente de diodos y simulo que el telefono esta descolgado colocando una resistenica de 580 ohm entre las terminales ring y tip de la linea, ya probe el circuito descolgando el telefono se escuchan bien clarito los numeros que se van marcando, sin embargo no se realiza la llamada, en este punto estoy atorado, alguien tiene alguna sugerencia.

SALUDOS!!!!!!!!!!1

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: PIC16F877A Y GENERADOR DTMF HT9200B
« Respuesta #1 en: 26 de Marzo de 2008, 21:24:49 »
Para realizar una llamada es necesario esperar el tono de invitacion a discar, si no lo detectas, realiza un delay de 1 o 2 segundos antes de empezar a discar.
Saludos !

Desconectado flacoclau

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1692
    • El Micro Reactor
Re: PIC16F877A Y GENERADOR DTMF HT9200B
« Respuesta #2 en: 26 de Marzo de 2008, 21:29:59 »
Otro tema es que cuando tomes la línea y estés por enviarle los datos, recién le des el ENABLE al ht9200, sino mientras mantenlo con deshabilitado porque te puede tomar cualquier ruido como un pulso de reloj y ya se te cambiaron los datos.
Las personas con buena ortografía me atraen textualmente.

El Micro Reactor

Córdoba capital - Argentina.

Desconectado poseidon20

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 762
Re: PIC16F877A Y GENERADOR DTMF HT9200B
« Respuesta #3 en: 27 de Marzo de 2008, 00:25:55 »
Von_Fausto666, como estas, si no fuera molestia, si pudieras poner el esquematico que usas para acoplar el HT9200b con la linea telefonica, ya que en la mayoria de proyectos de este mismo tipo usan un transformador chico.

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: PIC16F877A Y GENERADOR DTMF HT9200B
« Respuesta #4 en: 27 de Marzo de 2008, 02:20:22 »
como estas disparando los tonos dtmf? usas el off dtmf entre los tonos o lo dehabilitas con el CE.
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado Von_Fausto666

  • PIC10
  • *
  • Mensajes: 10
Re: PIC16F877A Y GENERADOR DTMF HT9200B
« Respuesta #5 en: 28 de Marzo de 2008, 13:16:18 »
HOla buen dia
dusculpen el no haber seguido el dia de ayer el hilo del tema ya que estube fuera de la ciudad.

sobre el software para controlar el ht9200b, se marca el numero al presionar un boton que esta conectado al pin B0 del pic, los datos (pines D0->d3 del ht9200b) se manejan de forma paralela mediante los pines del pic C0->C3 . el CE del ht9200b se controla mediante el pin E0 del pic.

cada vez que se marca un numero primero se manda el digito a las terminales D0->D3 del ht9200b, se hace un delay y luego se manda el CE, se hace una delay y se desabilita el CE.

en mi caso solo marco 4 digitos ya que estoy marcandole al comapeñero que tengo a un lado de mi.

adjunto el software para que quede mas claro, tambien el diagrama (oupsss ,me falto ponerle en el dibujo la resistencia de 580 ohm entre ring y tip para simular el descolgado de la linea).

#include<16f877a.h>
//#device ICD=TRUE
#use delay(clock=20000000)
//#use i2c(MASTER, SDA=PIN_C4, SCL=PIN_C3)
//#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
#fuses HS, NOWDT, NOLVP, NOBROWNOUT, PROTECT
#include <string.h>
//#include <lcd.c>
//#include <input.c>

#define CE PIN_E0          //ENABLED DEL HT9200
#define DIAL PIN_B0        //MARCA NUMERO
#define RE PIN_E1          //ACTIVA RELAY CONECTADO A LA LINEA

void main(void)
{
   int i;
   int num[4]={4,1,0,6};
   set_tris_e(0);
   set_tris_c(0);
   set_tris_b(0xff);
   port_b_pullups(TRUE);
   output_e(0x01);
   delay_ms(3000);
   while(true)
   {
      //////////////////////////////////
      if(!input(DIAL))   //SECUENCIA 1
      {
      //   delay_ms(5);
      //   output_high(RE);
         delay_ms(10);
         for(i=0; i<4; i++)
         {
            output_c(num);
            delay_ms(80);
            output_low(CE);
            delay_ms(150);
            output_high(CE);
            delay_ms(300);
         }
         //output_low(RE);
      }
      //////////////////////////////////
   }
}





Desconectado Von_Fausto666

  • PIC10
  • *
  • Mensajes: 10
Re: PIC16F877A Y GENERADOR DTMF HT9200B
« Respuesta #6 en: 28 de Marzo de 2008, 13:17:59 »
aqui esta el esquematico, espero haberlo puesto bien sino voy a tener que averiguar como publicarlo
« Última modificación: 28 de Marzo de 2008, 13:26:35 por Von_Fausto666 »

Desconectado Von_Fausto666

  • PIC10
  • *
  • Mensajes: 10
Re: PIC16F877A Y GENERADOR DTMF HT9200B
« Respuesta #7 en: 28 de Marzo de 2008, 13:37:38 »
ouchhhhhhhhh habia unos errores en el dibujito que hice aqui estan corregidos, le agregue la resistencia de 560 ohm entre ring y tip y corregi el error del dibujo para la conexion del oscilador, como les comente descuelgo el telefono y espero al pulso de marcacion, luego presiono el boton en el pin B0 del pic, se escucha como se marca el numero pero al final no pasa naaaaaaaaaaaaaaaaaaa 

por cierto olvide corregir el pin 7 y 8 en el dibujo, la conexion esta bien lo que pasa es que al agregar los numeros de los pines al dibujo dibuje el 7 ene l 8 y el 8 en el 7 pero la conexion si esta bien echa, el pin 7 del ht9200b va al pin C1 del pic y el pin 8 del ht9200b va al pin C2 del pic
« Última modificación: 28 de Marzo de 2008, 13:40:27 por Von_Fausto666 »

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: PIC16F877A Y GENERADOR DTMF HT9200B
« Respuesta #8 en: 28 de Marzo de 2008, 15:18:36 »
primera observacion: el cristal que yo uso para el ht9200 es 3.579545 MHz, veo q pones 3.58KHz. esta seguro de ese valor?
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado Von_Fausto666

  • PIC10
  • *
  • Mensajes: 10
Re: PIC16F877A Y GENERADOR DTMF HT9200B
« Respuesta #9 en: 28 de Marzo de 2008, 15:33:10 »
uso el de 3.579545 KHz pero escribi 3.58KHz ke pal caso de redondeo es lo mismo, te comento agregue  teclado de 4x3 y de esta manera al marcar los numeros 1 por 1 si funciona por lo que supongo ke la bronca debe de ser un retardo, porque el problema unicamente se presenta cuando programo que mande todo el chorizero de numeros seguiditos por medio de un boton.

voy a hacer una nueva rutina con nuevos retardos y si funciona les agrego la correccion al foro

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: PIC16F877A Y GENERADOR DTMF HT9200B
« Respuesta #10 en: 28 de Marzo de 2008, 16:08:16 »
KHz? estas seguro en el datasheet menciona el cristal en MHz.

otra cosa, en tu programa no entiendo como usas la variable num

       for(i=0; i<4; i++)
         {
            output_c(num);
            delay_ms(80);
            output_low(CE);
            delay_ms(150);
            output_high(CE);
            delay_ms(300);
         }


output_c(num) el compilador que entiende por esto? me parece que esta incorrecto pues "num" es un array de 4 elementos y tienes que especificar que elemento que vas a sacar. supongo que lo queiras hacer con el indice i del bucle for, me parece que seria asi la sintaxis.

Código: C
  1.          for(i=0; i<4; i++)
  2.          {
  3.             output_c(num[i]);
  4.             delay_ms(80);
  5.             output_low(CE);
  6.             delay_ms(150);
  7.             output_high(CE);
  8.             delay_ms(300);
  9.          }
  10.  
saludos. nos comentas tus avances.


edito: utiliza esta herramienta del geshi porque en modo texto normal se desaparece lo que pongas entre corchetes.
« Última modificación: 28 de Marzo de 2008, 18:04:02 por micro_cadaver »
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado Von_Fausto666

  • PIC10
  • *
  • Mensajes: 10
Re: PIC16F877A Y GENERADOR DTMF HT9200B
« Respuesta #11 en: 28 de Marzo de 2008, 17:49:48 »
jejeej tienes razon al copiarlo al foro lo copie mal, es:

output_c(num);

en este momento ando ocupadon con algunas cosas del trabajo pero en cuanto tenga un break hago nuevas pruebas y si son buenas noticias les mando mis conclusiones

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5102
    • uControl
Re: PIC16F877A Y GENERADOR DTMF HT9200B
« Respuesta #12 en: 28 de Marzo de 2008, 18:24:11 »
jejeej tienes razon al copiarlo al foro lo copie mal, es:

output_c(num);

en este momento ando ocupadon con algunas cosas del trabajo pero en cuanto tenga un break hago nuevas pruebas y si son buenas noticias les mando mis conclusiones

Hola Von_Fausto666!

Es por esto que te indicaban el tema de usar la herramienta del geshi. Mira, tu escribes

output_c(num[ i ] );  (sin los espacios)

Y se ve como

output_c(num);

Pero con geshi se ve correctamente:

Código: C
  1. output_c(num[i]);

Saludos!
« Última modificación: 28 de Marzo de 2008, 18:26:26 por aitopes »
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado Von_Fausto666

  • PIC10
  • *
  • Mensajes: 10
Re: PIC16F877A Y GENERADOR DTMF HT9200B
« Respuesta #13 en: 07 de Abril de 2008, 18:07:15 »
ya lo hice funcionar!!!!!!!!1111    :-/

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: PIC16F877A Y GENERADOR DTMF HT9200B
« Respuesta #14 en: 07 de Abril de 2008, 19:19:09 »
que bien, y cual fue el problema y como lo solucionastes?   :-/ saludos
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com