TODOPIC
FORO TÉCNICO => Telefonía, GPS y Microcontroladores => Mensaje iniciado por: Von_Fausto666 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
-
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 !
-
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.
-
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.
-
como estas disparando los tonos dtmf? usas el off dtmf entre los tonos o lo dehabilitas con el CE.
-
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);
}
//////////////////////////////////
}
}
-
aqui esta el esquematico, espero haberlo puesto bien sino voy a tener que averiguar como publicarlo
-
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
-
primera observacion: el cristal que yo uso para el ht9200 es 3.579545 MHz, veo q pones 3.58KHz. esta seguro de ese valor?
-
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
-
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.
for(i=0; i<4; i++)
{
output_c(num[i]);
delay_ms(80);
output_low(CE);
delay_ms(150);
output_high(CE);
delay_ms(300);
}
saludos. nos comentas tus avances.
edito: utiliza esta herramienta del geshi porque en modo texto normal se desaparece lo que pongas entre corchetes.
-
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
-
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:
Saludos!
-
ya lo hice funcionar!!!!!!!!1111 :-/
-
que bien, y cual fue el problema y como lo solucionastes? :-/ saludos
-
pues bien facil lo unico que hice fue leer con atencion los specs del ht9200 y ahi vi mi error, tambien hice una modificacion al circuito que simula el swich hook porque eso de andar poniendo relevadores con resistencias pa puentear las lineas de tip y ring me parece una jalada (ouppppsssssss hay disculpen el lenguage)
-
q significa jalada ? :5}
-
sorry por la mala explicacion, el punto es que como no tenia a la mano relevadores para poder hacer el circuito del switch hook y me daba flojera ir a comprar unos, opte por otra opcion
-
von fausto, podes poner como quedo el esquematico al final
muchas gracias
-
hola tincho, si de echo lo subire a peticion del publico (weno tu as sido el unico que lo a pedido), le agregue al circuito algunas otras monerias y funciones, lo termine ya ace algun tiempo, por lo que tengo que buscar en donde deje los esquematicos y el codigo fuente, por lo que creo que asta el proximo dia lunes lo subire ya que el dia de hoy estoy en el trabajo y pues el fin de semana estare ocupado, pero a partir del lunes ire publicando todo.
SALUDOS!!! 8)
-
Bueno fausto, muchas gracias lo voy a estar esperando, de mas esta decirte que si necesitas algo no hay problema
gracias
-
Que tal Von_Fausto666, me podrias pasar el diagrama de tu marcador telefonico?, consegui uno pero no lo puedo hacer funcionar.
Saludos :-)
-
Ya eh logrado hacer funcionar tanto el decoder y el generador de tonos. en cuanto al acople a la linea ya eh encontrado como hacerla sin necesidad de colocar un tranformador con relacion 1:1 como lo piden varios diagramas por la red. es muy sencillo y barato el acople si alguien aun le interesa por aqui andamos.
QUe buen foro.. :-/
Saludoss
-
Hola Marck, puedes poner tu esquema para el acople sin transformador? GRACIAS.
-
hola amigo marck_21 me podrias poner el diagrama del ckto por favor en verdad nos serviria mucho
-
que tal amigo, podrias poner el esquema como ha quedado al final..?? lo que pasa es que quiero hacer algo similar para una alarma que es un proyecto que tengo que presentar en la escuela... te lo agradeceria muchooo :D sería de muchisima ayuda XD
-
alguien que me ayude ando perdido con eso del HT9200B si estas por ai vonfausto manifiestate para que me ayudes porfavor jeje, saludos a todos
-
Hola! Un poco tarde pero no sabia que había respuestas xD pense qeu llegaba alguna especie de notificación al correo, buen en fin para quien aún esté interesado en el acople de la señal del generador de tonos a la línea telefónica sin transformador 1:1 por aqui adjunto el esqumático que utilice... es de lo más sencillo con tan solo dos capacitores un transistor. Saludos!!
(http://i250.photobucket.com/albums/gg266/malfeitorXVII/Esquematico.jpg)