# Ayuda DTMF CM8870



## albabug

Hola a todos, pues les comento que tengo bastantes problemas con el decoder DTMF con el chip CM8870.
El hecho es que he ensamblado el circuito que viene en la hoja de datos técnicos, sin embargo, tengo muchas dudas y notas que decir:






1.- A donde se le da la entrada, se que se le dá la entrada positiva, sin embargo, he visto por ahi, que basicamente lo que el circuito necesita es el puro AUDIO, y por ello he pensado en implementar la entrada de Audio por medio de este circuito




Diganme si esto es correcto o totalmente innecesario.

2.-Otro punto importante, es que yo mi "contestador" telefonico, no lo tengo por medio de transformador, sino simplemente tengo cargada una resistencia de 560ohms de 2W en paralelo para lograrlo, entonces en base a esto, porfas necesito ayuda para lo de la entrada de audio.

3.-Otro punto importante es la tierra (o masa), y es que cuando conecto las tierras de mi fuente y la del teléfono (la tengo pasada por un puente de diodos para asegurarme que sea tierra) el voltímetro de mi fuente se vuelve loco. Y midiendo con multímetro entre la tierra de mi fuente y la tierra de la línea de teléfono, tengo un voltaje de 50V de DC.
Por ello, he visto que a lo mejor podía poner una resistencia de 100k entre las 2 tierras, como lo marca el circuito del MT8870.

4.-Que tan importante es que las resistencias sean de 100k y 300k de precisión? porque yo estoy usando resistencias normales.

5.-He visto que poner un Zener o no se que arreglo en la alimentación del CM8870, sin embargo, yo lo tengo alimentado por una fuente hecha por mi y en este caso, usando un 7805. Deberia cambiar algo?

6.-El hecho, es que con todo y todo, hasta ahora el circuito SI funciona, pero SOLO A VECES!! es decir.. cuando le dá la reverenda gana y SOLO CON los digitos que quiere...
Cabe decir, que esto lo hice sin conectar las 2 tierras mutuamente, y sin resistencias de precisión y con todo lo que les he mencionado arriba.

Es por todo esto que pido su ayuda a ver si me pueden ayudar. Mil gracias
albabug


----------



## albabug

Hola, pues viendo otros posts he seguido algunos consejos y he logrado echarlo a andar con los siguientes pasos:

1.-Interconectar las tierras del teléfono y la fuente de DC por medio de una resistencia de 100k

2.-Sacar la entrada al DTMF de la tierra (la que se supone de audio, suena raro, pero asi funcionó)

3.-Poner un capacitor de 100nF en paralelo a la resistencia de 300k

El único problema ahora, es que parece como que hay ruido. Me detecta TODOS los digitos, sin embargo, una vez que los pone, pasado cierto tiempo a veces los cambia y me activa el pin del StD cuando los cambia (cosa que me ocasiona grandes problemas pues lo tengo conectado al microcontrolador). Aparentemente lo cambia lo que tenga puesto por un 6 binario (0110).

Otro dato muy importante es que el decoder solamente funciona bien con teléfonos normales (de los medio antiguos donde puedes dejar el tono presionado indefinidamente) y no funciona correctamente con teléfonos celulares o inalambricos donde no puedes dejar el tono presionado indefinido...

Alguien podría darme tips para evitar esto? O cualquier otro tip para mejorar el funcionamiento?


----------



## Ivan N.

Hola! El tema del ruido q a veces te detecta teclas q no son e spor el capacitor de 100nf en paralelo con la resistencia de 300k. La funcion de la resistencia esta y el capacitor de 100nf en serie con la misma es generar una constante de tiempo q usa el inbtegrado para validar el tono DTMF, para evitar decodificar posibles tonos DTMF q se deban a ruidos y a la voz humana. Para solucionar esto proba sacando el capacitor de 100nf en paralelo a la R de 300k y reemplaza la resistencia de 300k por uan de 150k o aproximado. O si queres podes usar una resistencia variable de 300K y ajustarla adonde creeas que el circuito tiene un mejor desempeño.
El tema de las masas e interconexion de masas entre la linea y la alimentacion es bastante complicada en un proyecto q estaba desarrollando la mejor solucion q encontre es la de forzar la masa en el - de la linea a traves de una bobina de choque para no perder la componente de alterna que pueda llegar a haber.
Por ultimo con el tema de los telefonos celulares o inalambricos mucho no los he usado, pero em imagino que tu problema nuevamente recae sobre el tiempo de validaciondel tono que te explique al principio de la R de 300k y el capacitor de 100nf. Probablemente lo q te este pasando sea que el tiempo presente de tono en la linea de esos telefonos sea menor q el tiempo de validacion dado por circuito RC, entonces no lo detecte. Proba diminuyendo la constante tau del circuito RC, pero tene en cuenta q a menor tiempo de validacion mas problema con ruidos...
Cualquier cosa pregunta si no me explique bien en algo


----------



## albabug

Bueno, el hecho es que no estoy probando el decodificador DTMF solo, sino junto a un proyecto completo donde creo me esta afectando mucho que estoy usando un puente de Diodos y un Zener de 18V en el TIP (+)... sin embargo, hace unos dias encontre otro circuito que pienso probar, por ahora no he tenido el tiempo suficiente, pero creeme que si tengo cualquier duda te la haré llegar, muchas gracias por tu atención.

Por cierto, no sabes si eso de la constante RC y tiempos varia de país a país? Es que yo vivo en México..

Gracias


----------



## Ivan N.

El tema del tiempo de la constante RC puede llegar a variar de acuerdo con el telefono que utilizes. Esta constante es la que le dice al integrado cuanto tiempo debe permanecer presente el tono DTMF en al linea para que esta sea valido y decodificado.
Por ejemplo en los telefonos normales que mencionas anteriormente si la constante RC te da de 200 ms, esta bien por q dudo que alguien pueda apretar la tecla y soltarla antes de que pasen 200ms, por lo que el tono seria reconocido como valido, en cambio si la constante te diera 1s, puede traer problemas por q alguien puede llegar a apretar y soltar la tecla en menso tiempo q 1s, lo q causaria q el integrado no lo reconociera.
A lo que me refiero que te podia estar causando problemas con los telefonos inalambricos y demas, es que estos pueden llegar a mantener el pulso DTMF en la linea por muy poco tiempo. Por ejemplo si el telefono mantiene cad auno de lso pulsos por 20ms la cosntante de tu circuito RC deberia ser levemente menor a estos 20ms, como por ejemplo de 15ms, para q los tonos sean detectados como validos.


----------



## jasm0101

buenas... soy juan y soy nuevo en el foro. estoy interesado en elaborar un circuito que sea capaz de decodificar los tonos dtmf de un telefono movil con el chip cm8870. 

mis dudas son las siguientes:

1 el chip CM8870 puede decodificar los tonos DTMF de un telefono movil. (CDMA o GSM)
2 en caso de que si se pueda, de que parte del tlf puedo sacar la señal para poder decodificar el tono. (del auricular o del microfono)
3 en caso de que yo pueda sacar la señal de un auricular o del microfono como puedo conectar dicha saeñal al chip CM8870 y que tipo de circuito debo realizar para poder pasar la señal hasta la entrada del chip CM8870.

yo tengo los diagramas de configuracion del decodificador pero no se realizar la conexion del telefono movil a el decodificador
si alguien me puede ayudar en cualquier cosa le agradezco de ante mando su ayuda.


----------



## rza38383

Bueno Juan es muy facil con este integrado.

1. si se puede decodificar los tonos del cel.
2. lo puedes sacar del auricular y si quieres algo mas llamativo del auricular via bluetooth es lo mismo, pero bueno para el auricular con cable, te digo que lo que tienes que hacer es cortar la cabeza del auricular, de ahi salen dos cablecitos, calientalos con fuego para quitarles el aislante que tienen, o lijalos pero es mas dificil, y pues un cable va a la entrada y el otro a la tierra, no importa cual en cual, no tiene polaridad, te lo haceguro he montado esto varias veces.
3.mira la configuracion


----------



## jasm0101

gracias tu ayuda a me ha quitado muchas dudas de mi cabeza. quisiera saber en caso de que no pueda encontrar el cristal de cuarzo con que trabaja el integrado (3.579545) , cual podria usar como equivalente? (3.5xxxxx)


----------



## guimaraes

Buenas noches amigos foristas les comento que estoy armando el decodificador de tonos dtmf que aparece en la pagina de pablin con el m8870 el cual necesito como complemento de un circuito que lleva tambien un pic16f877, el problema esta en que aunque arme el circuito exactamente como aparece en la pagina no obtengo respuesta de ningun tipo, mis dudas son las siguientes.

1) existe algun voltaje especifico para el pin de entrada: Los tonos los estoy obteniendo del auricular de mi telefono celular, medi el voltaje con el tester y no alcanza 1 volts, aproximadamente 0.7 volts

2) La tierra que aparece en el circuito va conectada a la fuente dc, o la tomo de la tierra proveniente del auricular del tlf.

3) El voltaje de alimentacion del micro m8870 medida con el tester es de 4,7 volts, creo que por aqui no es la falla de todos modos lo comento para que tengan mejor idea de lo que pueda estar pasando


----------



## OMARRIVERA

Guimares.
Los tonos se obtienen de la ficha de audio del cel una linea a capacitor de 0.1mf y la otra a tierra den decodificador.si debe de existir pero recuerda que lo que hace el integrado es amplificar la debil señal de audio del cel con un amplificador diferencial.
el voltaje de alimentacion es 5 voltios si todos los componentes asociados son de presicion.si no es asi solo anadara si el voltaje de alimentacion lo llevas a 3.6v,ojo con el cristal ya que si es de arriba de 3.6mz o no funciona o solo te detectara 1 0 2 tonos.

espero que la información, te ayude


----------



## lokito83

OMARRIVERA dijo:


> Guimares.
> Los tonos se obtienen de la ficha de audio del cel una linea a capacitor de 0.1mf y la otra a tierra den decodificador.si debe de existir pero recuerda que lo que hace el integrado es amplificar la debil señal de audio del cel con un amplificador diferencial.
> el voltaje de alimentacion es 5 voltios si todos los componentes asociados son de presicion.si no es asi solo anadara si el voltaje de alimentacion lo llevas a 3.6v,ojo con el cristal ya que si es de arriba de 3.6mz o no funciona o solo te detectara 1 0 2 tonos.
> 
> espero que la información, te ayude


Holas amigos yo tengo un gran problema con el mt8870 debido a que no me detecta tonos de un celular que le tengo conectado, me explico cuando llamo al celular que tengo conectado al mt8870 este no decodifica ciertos tonos del celular que llama o los detecta con lentitud no se a que se deba tengo armado el circuito con los valores que por defecto me da el datasheet ademas el dtmf8870 tiene sus salidas puestas a un pic el cual activa una secuencia de potencia. Por favor ayudenme por favor he tratado de todos lo medios solucionar este problema, pero lo mas raro es que cuando llamo de un fijo al celular que esta conectado al dtmf8870 este si los detecta normal pero cuando lo llamo de un celular sucede lo que mencione anteriormente. Ya de antemano doy las gracias x su ayuda.


----------



## Fo0oX

Hola  saludos!!! yo tengo una  duda como le ago para contestar el celular=? 
por ejemplo ago la llamada al  cel  y este  tiene k ser contestado para poder leer los tono!!  como han solucionado esta parte=?


----------



## guimaraes

Ante todo buenas noches. te comento que la solucion al problema que me planteas la solucione de forma muy facilm simplemente configure el telefono celular para que se auto conteste luego de 5 segundos que entra la llamada. cualquier otra duda no dudes en escribir


----------



## Jahmi_Ras

hola,soy de peru espty buscando el cm8870 pero aca no exciste alguien me puede hacer el contacto para que me lo manden de otra parte o otro pais ejem he visto que hay en argentina colomiba ,mexico y son muy accesibles


----------



## blutengel

hola ..yo tambien soy de peru... y solo he conseguido el mt8870..pero en esta pagina :
http://www.atva.com.ar/dtmf_3dj/dtmf_3dj.htm
hay un proyecto que se realiza a su vez con pic16f84a , el 8870 y un uln2803a..
pero en este diagrama los pines 5y 6 del 8870 van a tierra .. que es una caracteristica del   cm8870.. ,,pero en la hoja de dato del mt8870 que yo tengo me indica que estos pines no van conectados a tierra,,pero lei en otra pagina que estos pines deben ir a positivo..
quisiera saber si es cierto.. y si el mt8870 seria un buen reemplazo del cm8870 .. siguiendo a su vez las conexiones de los pines 5 y 6
tambien quisiera saber si ambos celulares deben tener tono dtmf... y de que parte del celular debo sacar el audio..del parlante o auricular?
por lo que lei tambie en este foro ..el celular a sonar debe estar en modo contestador automatico.. 
se podria desde el celular que va conectado al circuito ...pulsar los numeros(los codigos puestos en el pic, de acuerdo a la pagina) y activar tambien las salidas ?--


----------



## repcel

bueno amigo aca en colombia ese integrado es conocido y se consigue a unos 5 dolares tengo varios en stock y respecto al cristal es muy comun en el oscilador de video de los tv a color iclusive los traen los ataris viejos esos video juegos antiguos jajajja y l adiferencia que he visto entre cm y mt es que el mt es de pines que entran en la baquelita como un 555 y el cm es de superficie como los integrados de celulares modelos viejos cualquien pregunta estoy en este correo: *ComoNoCumploLasNormasMeEditaronElMensaje@Politicas.com*


----------



## drriv

ola a todos, tengo una gran duda, disculpen quizas la ignorancia, por ahy lei q el CM8870 era un decodificador capas de reconocer teclas pulsadas desde el celular (del 1 al 9 incluyendp * y #), pero tambien dicen q es un decodificador de tonos....o es q cada tecla al pulsarse emite una pequeña señal q genera un tono o algo asi?...quitenme la duda por favor


----------



## Psyco83

Hola drriv, cada tecla envía un tono al presionarse, para más información busca DTMF en google, en realidad cada tecla no tiene su tono sino dos diferentes, en total se usan 8 frecuencias distintas y de la combinación dual de ellas surge el reconocimiento de las 16 teclas del teléfono pero es más común ver que tienen 12 teclas.

Saludos


----------



## hector88

rza38383 dijo:


> Bueno Juan es muy facil con este integrado.
> 
> 1. si se puede decodificar los tonos del cel.
> 2. lo puedes sacar del auricular y si quieres algo mas llamativo del auricular via bluetooth es lo mismo, pero bueno para el auricular con cable, te digo que lo que tienes que hacer es cortar la cabeza del auricular, de ahi salen dos cablecitos, calientalos con fuego para quitarles el aislante que tienen, o lijalos pero es mas dificil, y pues un cable va a la entrada y el otro a la tierra, no importa cual en cual, no tiene polaridad, te lo haceguro he montado esto varias veces.
> 3.mira la configuracion




Si conecto leds a las salidas como irian conectadas? ya que las he puesto de todas formas y no funciona ya quite el esmalte de los cables del telefono aplicando calor y no me funciona

y tambien como conecto el celular al circuito.. estoy utilizando un cable jack y esta el positivo negativo y comun.. y no se cual de esos 3 conectar


----------



## electrocebados

Hola a todos!!!!!! 
Llegue hasta aca, porque realizé el proyecto que más arriba mensionaron! el de esta pagina http://www.atva.com.ar/dtmf_3dj/dtmf_3dj.htm
y lamentablemente no me funciona!!. nose que puede estar mal... 
1_ Tiene que prender el LED que indica que se presiona cada tono? aun si yo saco el pic16f84 no?
2_ Hay dos diferencias!... compre primero el MT8870 y con este, al conectar el circuito a la fuete de 12 v, prende por un segundo o de forma rapida el LED (que indica los tonos) y luego se apaga, pero lo raro raro es que luego de unos segundos se parpadea apenas y se prende!. y se queda asi tipo prendido siempre.... muy raro (y  esto pasa sin conectar el telefono al circuito, y tampoco reacciona a los tonos del celular si lo conecto) ...
Luego con el cm8870PI ... lo probe! y este parece que es mejor, porque no pasa lo del led, y tambien enciende apenas al conectarlo a la fuente. pero que pasa? no me reacciona a ningun tono!! esto lo estoy probando con un NOKIA 1100 , con auricular... y ese auricular va conectado al circuito... 
deberia andar no? y ademas lo trato de hacer andar con los mismos tonos del celular, (osea sin llamar) solo marcar... y tendria que andar... 
alguien me puede ayudar?? Realize tal cual el circuito de la pagina... 

Ojala me puedan ayudar! Gracias!


----------



## electrocebados

*HOLA!!! yo denuevo!!. logre hacerlo funcionar!!!*
paso a contarles, ayer despues de seguir probando... logre hacer que funcione todo!

para probarlo bien, habia usado un protoboard, y puse tanto el CM8870pi y el MT8870 para probarlos, armando el circuito solo con esta primera parte de deteccion y funcionamiento!
Resulto que el telefono que yo usaba tambien estaba en malas condiciones! probe con otro nokia 1100 y este sacaba más tono en el auricular... con mas fuerza (supongo que porque el otro estaba dañado) probe de la forma simple, con LEDS en la salida de cada patita del CM , y tambien con un led que indica cada pulso. no se como en algun momento pude hacer que funcione cada pulso!! y empeso a cambiar ... osea las salidas de los leds... entonces me di cuenta tambien, que me parece que influye segun como pongas el cristal!! cosa muy rara para mi... pero es posible? el cristal tiene polaridad?... 
la cuestion es que despues de haberlo puesto al revez de como lo puse al principio en el circuito completo, y haber puesto el CM8870pi , el circuito luego comenzo a funcionar perfectamente!!! (y sin añadir ningun capacitor en la resistencia de 330k..) ... asi que el pic ahora lee los codigos binarios, y decide que salida activar o no... recuerden que hice el circuito de la pagina que mensione arriba!
Bueno espero haber ayudado en algo con mi problema...

conclusion para mi... 
1_ *El cristal puede que tenga que ver como lo pones!* probar cada lado ( no estoy seguro si tenia o no polaridad)
2_ *Probar con un telefono como el nokia 1100* (en buenas condiciones jaja) y sacar los tonos desde el auricular (no importa si dejan el audifono conectado) simplemente a mi me funciono asi. y tambien proble de los dos lados, y no parece importar como lo conectes, siempre que conectes los dos!.
3_ Con el MT8870 (nose si hay variedad) no me funciono en absoluto el mismo circuito despues de haber funcionado con el CM8870pi .. por lo tanto lo descarto al MT8870!!! me resulto maloo... y caro! (20$) . *el CM8870pi resulto ser el mejor!* y sale mas barato almenos *(16$)* bua! . y ademas funciona mejor... 
El MT al prenderlo solo se prendia despues de unos segundos el led del StD !! y quedaba asi!! ... mal...

Bueno y por ultimo, *aconsejo probar aparte! o en un protoboard el funcionamiento del CM8870pi* si no les anda en el circuito completo, asi ven que pasa.. a mi me funciono =)

*Bueno espero haberles ayudado de algo en mi problema! que por suerte solucione yo solo...*
*Gracias!! saludos!!! y exito!!! *


----------



## hector88

ue tal yo ya hice ese circuito hace poco y funciona bien.
1.- el led del CM8870PI (que fu el que yo utilice) tiene que prender cada vez que tu tecleas un numero de tu celular, si dejas presionado un numero de tu celular el led debe permanecer prendido (al momento que tu llamas al celular que esta conectado no es lo mismo ya que no se queda prendido, solo parpadea pero si lo identifica.. para verificar ponle unos leds a las salidas del CM8870pi para que puedas ver el numero en binario) cuidado porque utilice una vez un blackberry y el circuito no lo reconoció. pero con el que tu tienes si es seguro que funciona.
Ah y el pic no tiene nada que ver con el cm8870pi, ya que este funcione ahora si vete a la parte del pic.
2.- probablemente tengas mal conectado los cables del auricular al circuito. yo los verifique en un osciloscopio.. tengo un video que hice para la explicacion exacta del funcionamiento del dtmf y como va conectado el auricular


----------



## electrocebados

hector88 dijo:


> ue tal yo ya hice ese circuito hace poco y funciona bien.
> 1.- el led del CM8870PI (que fu el que yo utilice) tiene que prender cada vez que tu tecleas un numero de tu celular, si dejas presionado un numero de tu celular el led debe permanecer prendido (al momento que tu llamas al celular que esta conectado no es lo mismo ya que no se queda prendido, solo parpadea pero si lo identifica.. para verificar ponle unos leds a las salidas del CM8870pi para que puedas ver el numero en binario) cuidado porque utilice una vez un blackberry y el circuito no lo reconoció. pero con el que tu tienes si es seguro que funciona.
> Ah y el pic no tiene nada que ver con el cm8870pi, ya que este funcione ahora si vete a la parte del pic.
> 2.- probablemente tengas mal conectado los cables del auricular al circuito. yo los verifique en un osciloscopio.. tengo un video que hice para la explicacion exacta del funcionamiento del dtmf y como va conectado el auricular
> 
> 
> 
> *Como no cumplo las políticas del Foro me editaron el mensaje @ políticas del Foro.Com*​


 
Hola Hector!! 
Exacto. es como vos decis... y ya por suerte como dije arriba , pude lograr hacerlo funcionar!.. y tengo el pic 16f84 programado! el tema es que estoy probando y probando porque quiero programar el pic con un programa! pero quiero modificarlo para que en la salida 8 de los relays o leds que le ponga, haga un pulso de 1 segundo masomenos! y que se apague, no que se quede prendido...  como lo puedo lograr? soy nuevo programando los pic! y solo se lo basico del assambler... 

puedo poner el codigo aqui para que me ayuden y lo vean? o tengo que hacer un nuevo tema? 
gracias!!!!
saludoss!!!


----------



## jeisux92

jum me salvaron la vida!! tenía un problema con la entrada de la señal de audio pero era porque no la había sacado bien del auricular, bueno muchas gracias, mi proyecto se basa en un sistema a control remoto para abril un garaje, y una puerta con motores paso a paso(otro circuito lógico) y  el control de las luces internas de una casa con una alarma, cabe aclarar y pues es lógico que es a pequeña escala!


----------



## fraan12

hola que tal, disculpen por revivir este post, quisiera saber como se conecta la placa de los reles con la placa de control, porque no logre entenderlo como se hace. y despues electrosebados, si me podes mandar tu email por privado, para que me puedas ayudar, ya que tu ya lo armaste. gracias


----------



## pandacba

Tu post esta en infracción por insinuar a otro forista que se comunique por priavado...... 
LEE EL REGLAMENTO Y PRESTA ATENCIÓN A LAS NORMAS DE PARTICIPACIÓN


Por otro lado porque ser egoista y aprender vos solo..... cuando si se postea por aqui le servira a muchos?

Esa actitud también atenta contra el espritú del foro


----------



## fraan12

hola que tal, si lo lei discupen no sabia de eso, y despues sobre lo otro no es ser egoista, es para no revivir un post que no es relativamente nuevo, nada mas.

Espero tu respuesta electrocebados, gracias


----------



## aszul

yo uso el cm8870 y detecto tonos dtmf de un nokia 5530.. 
usando solo el IC 8870 filtra y detecta ala perfeccion..
el problema es que al conectas sus salidas al pic16f628a..  al presionar una tecla el std. me parpadea como 5 veces por tono detectado.
la alimentacion de 5 vcc la optenia de mi pc. y crei que solo era suficiente para alimentar uno de los dos....
pero sorpresa.. la conecte a una fuente externa de 5vcc y el ploblema aun seguia...
inmediatamente crei que esta muy mal filtrada mi fuente... pero no fue eso..

el problema esta en que el pic genera ruido... si asie es.. genera ruido.. 
bueno almenos eso pienzo..

la solucion fue poner un diodo entre el VCC del pic y la fuente alimentacion..

listo.. un pulso por tono valido... 

gracias a esto puedes controlar distintas cargas con el pic, segun las teclas que oprimas...
incluso activacion por clave....

salu2 ato2....


----------



## josb86

les cuento q he armado el mt8870de de todas las formas y no hace ni pio. una de las cosas q he visto es q los ines INH y PDWN van como al aire o a leds alguien me puede ayudar? el problema es que aca no se consigue el cm8870 que es el que he visto que le funciona a todos 








r1 y r2 son de 100k r3 de 300k los caacitores de 100nf cristal de 3.5795Mhz de std a q1 coloque resitencias de 10k con leds y los INH y PDWN los he colocado al aire y a tierra y nada que funciona.


lo robe conectando la entrada a el auricular del teléfono fijo y también al manos libres del celular un 5700


----------



## aszul

prueva con la configuracion que trae el datasheet


----------



## josb86

Lo unico que hice fue colocar dos capacitores de 20pF en los pines del oscilador a tierra y arranco no se que paso por que ni siquiera la hoja de datos los muerta los puse por que en los pics se colocan


----------



## GONA7678

Hola amigos, haber si alguien me podria ayudar yo realize el proyecto de atva el mencionado anteriormente solo que remplaze el mt8870 por un ht9170 un pic 16f84a y un UNL2803A, el tema es que los tonos me los marca osea prende el led, pero mas que eso nada no me activa ningun relay osea a la salida del unl2803a no llega nada. el pic lo programe con un hex de esa pagina y el circuito lo uso conectado a un nokia 5130. Alguien sabria como ayudarme para hacerlo funcionar, no se si es el pic o que, gracias espero sus ayudas


----------



## leomoralesf

josb86 dijo:


> Lo unico que hice fue colocar dos capacitores de 20pF en los pines del oscilador a tierra y arranco no se que paso por que ni siquiera la hoja de datos los muerta los puse por que en los pics se colocan



y que hizo con INH y PDWN las conecto a tierra??? conecto la entrada directamente a la linea telefonica o de la salida del auricular??? lo hizo con telefono fijo o celular????


----------



## aszul

si el pD y el INH se conectan a tierra. el circuito es perfecto para tomar el audio de un auricular de un celular...


----------



## ETTORE

Hola yo pienso hacer el mismo circuito pero utilizando otro integrado decodificador dtmf, los he buscado y pues solo un proveedor me proporciona estos dos que son el HM9270 y el LC7385, cuya operacion es similar al HT9170, pero quiero saber si ya probaron este circuito, les anexo el link, http://www.atva.com.ar/dtmf_x_4/dtmf_x_4.htm, también les anexo otro link de otro circuito similar http://products.foxdelta.com/repeater.htm , mi idea es cambiar el código de activación del circuito ya que pide una contraseña para activar los relés.

La contraseña la da de por si la pagina web en la descarga del archivo asm, pero mi idea es cambiarla por otra, en la edición del asm, me pregunto si ese mismo asm lo puedo utilizar para otro decodificador o solamente debe ser de un mismo modelo de decodificador, el pic claro es el PIC16F84, les adjunto el asm

; dtmf.asm - tone decoder with relay control.
; reads output from an 8870 DTMF decoder and controls a bank of relays.
; 4 digit security code (abcd) precedes all commands 
; Code sequences "*abcd11#" through to "*abcd18#" turn on the corresponding relay
; code sequence "*abcd10#" turns on all relays
; Code sequences "*abcd21#" through to "*abcd28#" turn off the corresponding relay
; Code sequence "*abcd20#" turns off all relays
; Codes "*abcd?9#" through "*abcd?D#" are ignored.\
; Note "oa" is used for "0" in security code not"00"
 list p=16f84a
 include "p16f84a.inc"
 __FUSES _CP_OFF & _XT_OSC  & _WDT_OFF & _PWRTE_ON
OPTREG equ 01
TRIS_A equ 05
TRIS_B equ 06
relays equ 10
mfcode equ 11
cntdown equ 12
timeout equ 13
slocnt1 equ 14
slocnt2 equ 15
numa    equ 16
numb equ 17
numc equ 18
numd equ  19
 org 0000   ;tell assembler to start at 000H
init goto start
 org 0004   ;interrupt vector
rtc_interrupt
 decfsz slocnt1,F  ;decrement 1st prescaler
 goto rtc_int_1
 decfsz slocnt2,F  ;decrement 2nd prescaler
 goto rtc_int_1
 bcf relays,4   ;turn relay 6 off
 bcf PORTB,4
rtc_int_1
 decfsz cntdown,F  ;count down and skip next if = 0
 goto counting   ;still counting if not reached zero
 bsf timeout,0   ;set timed out bit
 bcf INTCON,2   ;clear interrupt flag
 retfie    ;return
counting
 bcf timeout,0   ;clear timed out bit
 bcf INTCON,2   ;clear interrupt flag
 retfie    ;return
; subroutines
wait_strobe
 btfsc timeout,0   ;see if timed out
 goto set_z   ;set Z flag if timeout ocurred
 btfss PORTA,4   ;see if Strobe is active on RA4
 goto wait_strobe  ;loop until it is
 movfw PORTA   ;retreive the code from the 8870
 movwf mfcode   ;store it in mfcode
 bcf mfcode,4   ;ensure strobe isn't seen as data
 bcf STATUS,2   ;return with Z=0 if tone decoded
 return
set_z bsf STATUS,2   ;return with Z=1 if timed out waiting
 return
wait_no_strobe
 btfsc PORTA,4   ;see if strobe is active on RA4
 goto wait_no_strobe  ;loop until it isn't
 return
start_timer
 movlw H'54'   ;software prescaler for 7 seconds
 movwf cntdown
 return

; Start of setup and decode routines:
start movlw B'00100000'  ;select register page 1
 movwf STATUS
 clrf TRIS_B   ;set all port B pins to output mode
 movlw B'00011111'  ;set all port A pins to input mode
 movwf TRIS_A
 movlw B'10000111'
 movwf OPTREG   ;sets:  pull-up on port B OFF
     ; RTCC counts internal clock
     ; prescaler connected to RTCC
     ; prescaler divides by 256
     ; (other bits unimportant)
 clrw    ;clear the working register
 movwf STATUS   ;switch back to register page 0
 clrf PORTB   ;all outputs off
 clrf relays
 clrf timeout
 movlw B'10100000'
 movwf INTCON   ;global and RTCC interrupts enabled
set_sec movlw H'01'   ;put the 4 access codes into memory
 movwf numa   ;note for a 0 the hex is H'0A'
 movlw H'02'
 movwf numb
 movlw H'03'
 movwf numc
 movlw H'04'
 movwf numd
decode call wait_no_strobe  ;start running when no tone present
 clrf timeout   ;set timeout condition until later
 call wait_strobe  ;wait for a tone to be received
 movlw H'0B'   ;0B is the code for DTMF "*"
 subwf mfcode,W   ;set zero flag if "*" was received
 btfsc STATUS,2   ;skip next if it was not a "*"
 goto got_star
 goto decode   ;look for another one
got_star
 call start_timer  ;start time-out timer
 call wait_no_strobe  ;wait for second tone
 call wait_strobe
 btfsc STATUS,2   ;abort if timed out
 goto decode
 movf numa,W
 subwf mfcode,W                  ;set zero flag if second tone was 1
 btfsc STATUS,2   ;skip next if it was not a 1
 goto got_A
 goto get_#
got_A call wait_no_strobe  ;wait for third tone
 call wait_strobe
 btfsc STATUS,2   ;abort if timed out
 goto decode
 movf numb,W
 subwf mfcode,W                  ;set zero flag if second tone was 1
 btfsc STATUS,2   ;skip next if it was not a 1
 goto got_B
 goto get_#
got_B call wait_no_strobe  ;wait for third tone
 call wait_strobe
 btfsc STATUS,2   ;abort if timed out
 goto decode
 movf numc,W
 subwf mfcode,W                  ;set zero flag if second tone was 1
 btfsc STATUS,2   ;skip next if it was not a 1
 goto got_C
 goto get_#
got_C call wait_no_strobe  ;wait for third tone
 call wait_strobe
 btfsc STATUS,2   ;abort if timed out
 goto decode
 movf numd,W
 subwf mfcode,W                  ;set zero flag if second tone was 1
 btfsc STATUS,2   ;skip next if it was not a 1
 goto got_D
 goto get_#

got_D call wait_no_strobe  ;wait for third tone
 call wait_strobe
 btfsc STATUS,2   ;abort if timed out
 goto decode

 movlw H'01'
 subwf mfcode,W                  ;set zero flag if second tone was 1
 btfsc STATUS,2   ;skip next if it was not a 1
 goto got_1

 movlw H'02'
 subwf mfcode,W                  ;set zero flag if second tone was 0
 btfsc STATUS,2   ;skip next if it was not a 0
 goto got_2
 goto get_#   ;wait for # to end invalid sequence

; to reach here, the tone sequence "*<numa><numb><numc><numd>1" has been found, now decode request
; according to the next 2 tones but don't action it until a "#" is seen.
got_1 call wait_no_strobe
 call wait_strobe  ;wait for third tone
 btfsc STATUS,2   ;abort if timed out
 goto decode
 call wait_no_strobe  ;wait for tone to finish
 movf mfcode,W   ;pick up keyed digit
 addwf PCL,F   ;jump ahead to vector
 goto decode   ;5D (mf code 0000)
 goto got_11
 goto got_12
 goto got_13
 goto got_14
 goto got_15
 goto got_16
 goto got_17
 goto got_18
 goto decode
 goto got_10
 goto decode   ;*
 goto decode   ;#
 goto decode   ;5A
 goto decode   ;5B
 goto decode   ;5C (mf code 1111)
got_10 movlw B'11111111'  ;all outputs on
 movwf relays
 goto get_#

got_11 bsf relays,0   ;set output 1 on
 goto get_#
got_12 bsf relays,1   ;set output 2 on
 goto get_#
got_13 bsf relays,3   ;set output 3 on
 goto get_#
got_14 bsf relays,2   ;set output 4 on
 goto get_#
got_15 bsf relays,5   ;set output 5 on
 goto get_#
got_16 bsf relays,4   ;set output 6 on
 goto get_#
got_17 bsf relays,6   ;set output 7 on
 goto get_#
got_18 bsf relays,7   ;set output 8 on
 goto get_#

; to reach here, the tone sequence "*<numa><numb><numc><numd>2" has been found, now decode request
; according to the next 2 tones but don't action it until a "#" is seen.
got_2 call wait_no_strobe
 call wait_strobe  ;wait for sixth tone
 btfsc STATUS,2   ;abort if timed out
 goto decode
 call wait_no_strobe  ;wait for tone to finish
 movf mfcode,W   ;pick up keyed digit
 addwf PCL,F   ;jump ahead to vector
 goto decode   ;5D (mf code 0000)
 goto got_21
 goto got_22
 goto got_23
 goto got_24
 goto got_25
 goto got_26
 goto got_27
 goto got_28
 goto decode
 goto got_20
 goto decode   ;*
 goto decode   ;#
 goto decode   ;5A
 goto decode   ;5B
 goto decode   ;5C (mf code 1111)
got_20 movlw B'0000000'
 movwf relays   ;set all outputs off
 goto get_#

got_21 bcf relays,0   ;set output 1 off
 goto get_#
got_22 bcf relays,1   ;set output 2 off
 goto get_#
got_23 bcf relays,3   ;set output 3 off
 goto get_#
got_24 bcf relays,2   ;set output 4 off
 goto get_#
got_25 bcf relays,5   ;set output 5 Off
 goto get_#
got_26 bcf relays,4   ;set output 6 Off
 goto get_#
got_27 bcf relays,6   ;set output 7 Off
 goto get_#
got_28 bcf relays,7   ;set output 8 Off
 goto get_#
get_# call wait_strobe  ;wait for 7th tone
 btfsc STATUS,2   ;abort if timed out
 goto decode
 movlw H'0C'   ;0C is the DTMF code for "#"
 subwf mfcode,W   ;if # received set Z flag
 btfsc STATUS,2   ;skip next if not a #
 goto got_#
 call wait_no_strobe
 goto get_#   ;only # is valid, loop until found
     ;or timeout
got_#   call wait_no_strobe  ;wait for the tone to finish
 movfw relays   ;use the "relays" variable to set RB
 movwf PORTB
 goto decode   ;all done, check for new sequence
 retlw 'v'
 retlw '1'
 retlw '.'
 retlw '3'
 retlw '.'
 retlw 'W'
 retlw 'W'
 retlw '2'
 retlw 'R'
 retlw ' '
 retlw 'm'
 retlw 'a'
 retlw 'y'
 retlw '2'
 retlw '0'
 retlw '0'
 retlw '0'
 end

Ah no confundan de que quiero utilizar el asm para el decodificador sino para el pic con la misma estructura pero con diferente decodificador, un circuito con la misma estructura pero diferente modelo de integrado de entrada que cumpla con lo que hace el original


----------



## elodavid

aszul dijo:


> yo uso el cm8870 y detecto tonos dtmf de un nokia 5530..
> usando solo el IC 8870 filtra y detecta ala perfeccion..
> el problema es que al conectas sus salidas al pic16f628a..  al presionar una tecla el std. me parpadea como 5 veces por tono detectado.
> la alimentacion de 5 vcc la optenia de mi pc. y crei que solo era suficiente para alimentar uno de los dos....
> pero sorpresa.. la conecte a una fuente externa de 5vcc y el ploblema aun seguia...
> inmediatamente crei que esta muy mal filtrada mi fuente... pero no fue eso..
> 
> el problema esta en que el pic genera ruido... si asie es.. genera ruido..
> bueno almenos eso pienzo..
> 
> la solucion fue poner un diodo entre el VCC del pic y la fuente alimentacion..
> 
> listo.. un pulso por tono valido...
> 
> gracias a esto puedes controlar distintas cargas con el pic, segun las teclas que oprimas...
> incluso activacion por clave....
> 
> salu2 ato2....



Hola me gustaria saber como conectaste el auricular del ese celular, yo puse un plus de audifono y tengo un cable blanco otro rojo y oro que es masa, gracias


----------



## jdavidguerrero

hola amigos, estoy haciendo un proyecto de controlar un motor paso a paso con los tonos de un telefono celular, pero lo tengo que hacer sin microcontroladores, solo con logica digital, gracias ¡¡¡


----------



## jeisux92

pues yo hize un circuito muy similar con un decodificador de tonos, es en control de dos motores paso a paso con el dtmf me avisa si quiere el circuito


----------



## jdavidguerrero

te lo agradecira mucho , me lo puedes enviar al correo *ComoNoCumploLasNormasMeEditaronElMensaje@hotmail.com*


----------



## jdavidguerrero

te agradezco mucho jeisux92, pero sera que me podrias dar una explicacion general del circuito , por ejemplo lo del led y el buzzer para que es , gracias¡¡¡¡


----------



## kdte

hola amigos voy a tratar de hacer este circuito detector de tonos pero tengo algunas dudas
el tono lo toman directo del auricular ?


----------



## jdavidguerrero

si lo tienes que quitar un auricular ahi vienen dos cables tienes que pelar los cables bien, mandas uno a tierra y el otro a la entrada del integrado.


----------



## kdte

Gracias amigo tratare de montarlo cuando tenga la oportunidad y les informa que tal me fue.


----------



## dragon33

Hola, estoy interesado en hacer una alarma que llame por telefono, el caso es que tengo un 75T2090-IP, he leido el DATASHEET y no me aclaro con la alimentación electrica del dispositivo. ¿Me podeis ayudar?.


----------



## MrCarlos

Hola dragon33

En Qué puedo ayudarte ? ?
Las terminales para la alimentación eléctrica son los PIN’s 6 y 12. El  máximo voltaje que se le puede aplicar son 7Vdc.

saludos
a sus ordenes


----------



## dragon33

MrCarlos dijo:


> Hola dragon33
> 
> En Qué puedo ayudarte ? ?
> Las terminales para la alimentación eléctrica son los PIN’s 6 y 12. El  máximo voltaje que se le puede aplicar son 7Vdc.
> 
> saludos
> a sus ordenes





Si amigo, pero ¿cual es el terminal positivo y el negativo?.


----------



## Fogonazo

dragon33 dijo:


> Si amigo, pero ¿cual es el terminal positivo y el negativo?.






			
				TDK dijo:
			
		

> DC Supply Voltage (Vp - Vn) +7V



Vp = Pata 6

Vn = Pata 12 o 16 depende del encapsulado.


----------



## MrCarlos

Hola dragon33

Es más V*p* = *P*ositivo. V*n* = *N*egativo.

saludos
a sus ordenes


----------



## dragon33

Gracias por sus respuestas, es que sólo tengo una unidad de ese integrado y no me lo queria cargar por un mal conexionado. Al hilo del tema, ¿se puede substituir sin problemas un transformador 1:1 por un puente de diodos para la misma tarea en DTMF?.


----------



## viveros

hola discuplen tengo una duda con este circuito CM8870 quisiera saber como es realmente este circuito es que estoy realizando un circuito con el pic 16f84 se trata de una silla de rueda ya lo programe y me funca por medio de pulsadores ahora quisiera  acoplarlo  a este circuito CM8870 para q me mande señales al PIC_16f84 y lo controle por medio del celular


----------



## yafico

hola que tal amigos tengo una inquietud, un amigo quiere montar el circuito pero sin el pic, para controlar 4 salidas (4 relays), pero no sabe como, yo creo que con dos flip flop (4013) o el me dice que con cuatro 555, no se si pueda ser posible aunque el dice que en teoria seria posible, pero aun asi le digo que se complicaria demasiado, entonces mi pregunta es si alguien tiene un esquema del mismo circuito pero sin el pic y con los 4013 o algun sustituto.

el ploblema real es que no hemos podido programar el pic porque estamos en una zona rural y no hay muchos recursos para utilizar ni hay alguien que nos lo programe... estoy en colombia 
De ante mano muchisimas gracias por la atencion prestada y espero si alguien me puede ayudar gracias.


----------

