P. 1
Control de Dispositivos Mediante DTMF

Control de Dispositivos Mediante DTMF

|Views: 1.364|Likes:
Publicado porTANATOS666

More info:

Published by: TANATOS666 on Nov 22, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

06/05/2013

pdf

text

original

Segundo Congreso Virtual, Microcontroladores y sus Aplicaciones

Control de dispositivos mediante DTMF
Autor: Gaspar Daniel Gómez País: Argentina Correo-e: gaspargomez975@hotmail.com Abstract. Planteada la necesidad de controlar dispositivos eléctricos tanto de manera local como remota, se propone la investigación del sistema de marcación por tonos, utilizado en el sistema telefónico estándar como medio de comunicación entre el usuario y el equipo final. Utilizando el circuito integrado CM8870 para decodificar dichos tonos y el microcontrolador MC68HC908 derivativo QB8, para el control y procesamiento de señales. Se intenta realizar un dispositivo capaz de controlar la activación y desactivación de cargas eléctricas y electrónicas, contestar automáticamente una llamada entrante e interpretar los comandos introducidos por el usuario mediante funciones implementadas por software.-

1. Que significa DTMF?
En telefonía, el sistema de marcación por tonos, también llamado sistema multifrecuencial o DTMF (Dual-Tone Multi-Frequency), consiste en el envío de dos tonos de frecuencias diferentes que identifican cada tecla pulsada en un teléfono. De esta manera se sustituye el disco de marcado de los teléfonos más antiguos, obteniéndose a la vez varias ventajas adicionales como por ejemplo mayor velocidad de marcado. Los tonos que el usuario oye cuando presiona una tecla de su teléfono, están compuestos por dos frecuencias como se indica en la tabla 1.Las frecuencias ubicadas en la primera fila se conocen como frecuencias de rango alto (Mayores a 1KHz), mientras que las frecuencias ubicadas sobre la primera columna se conocen como frecuencias de rango bajo (Menores a 1KHz). Nótese que a cada tecla le corresponde un solo par de frecuencias compuesto por una frecuencia de rango alto y una de rango bajo.Este sistema de marcación es posible gracias al desarrollo de circuitos integrados que generan dichos tonos, como así también los decodifican. En este proyecto se utiliza el decodificador CM8870.1209 Hz 697Hz 770Hz 852Hz 941Hz 1 4 7 * 1336 Hz 2 5 8 0 1477 Hz 3 6 9 # 1633 Hz A B C D

2. El Tono de Llamada.En estado de reposo, la línea telefónica se encuentra con una tensión de aproximadamente 40, 45V a 20Hz que se oye de manera continua, cuando el usuario comienza a marcar el número de otro abonado el tono se silencia para que los tonos DTMF se envíen de manera limpia a la central, que identificará el numero destino y establecerá la comunicación. Inmediatamente después de que un usuario termina de marcar el número del destinatario, se produce el conocido “Tono de llamada”. Esta señal es una onda sinusoidal, con una frecuencia de 20Hz y una amplitud que puede alcanzar los 90V, viaja a través de la línea telefónica desde la central hasta el usuario destino, para indicarle al mismo que esta presente una nueva llamada entrante. Al mismo tiempo, la central envía la misma señal al usuario que inicio la llamada (Tono que el usuario origen oye mientras espera a ser atendido) a modo de indicarle que su llamada esta en curso. En este caso no se oye el tono de manera continua, sino que se han establecido códigos de “Tono-espacio” que indican el estado de la llamada en curso. De esta manera sabemos que si la separación entre tonos es de un tiempo mínimo, el abonado al que estamos llamando se encuentra “Ocupado”, si los tonos tienen una separación de mas de 2 segundos, sabemos que solo nos queda esperar a que conteste el abonado destino.Cuando el usuario destino contesta la llamada, en realidad, lo que esta haciendo es aplicar a la línea una carga de 600Ω, la cual cierra el circuito de comunicación indicando a la central que este usuario esta listo para comenzar la comunicación. Cuando esto sucede la tensión de la línea desciende hasta los 10V. De esta manera queda establecido el enlace entre ambos abonados.-

Frecuencias DTMF - Tabla 1.-

pág. 1

4.• Si consideramos que el sistema se conecta a la red de telefonía pública. el sistema no deberá contestar inmediatamente cuando detecte una llamada entrante. Para esto se implemento un enlace óptico que permite separar las variaciones de tensión de la línea con respecto a las del circuito impreso. La lógica de apoyo esta constituida por el decodificador de tonos CM8870. Los Objetivos. Estos bits tienen conexión física al exterior.Esta etapa se caracteriza por adaptar los niveles de tensión de la línea telefónica y llevarlos a niveles TTL para su posterior ingreso a las otras etapas. TIM (Timer Interrupt Module) y ambos puertos de entrada/salida (PTA y PTB).A continuación se describen los detalles más importantes de cada etapa del sistema. actualmente. la tensión de línea varía en un rango bastante amplio por lo que se debe adaptar para que pueda ser ingresada al microcontrolador sin causar ningún daño al dispositivo. para que el mismo usuario pueda controlar equipos eléctricos y electrónicos desde cualquier teléfono comercial. cualquier persona que conozca el número de línea al que este conectado dicho sistema puede tener acceso al mismo. El decodificador separa ambas frecuencias. Como se vio en la sección 2.Se toma una derivación de la línea de entrada y se envía al decodificador CM8870 mediante un capacitor de 0. desde cualquier parte del mundo. sino que deberá esperar a que alguien atienda y si después de tantos tonos ninguna persona contesta. por lo que será necesaria la implementación de un código que restrinja el acceso solo al grupo de usuarios que lo conozcan.1µF para bloquear la componente de corriente continua. • Si el equipo se instala sobre una línea compartida. Para lograr pág. Un circuito integrado LM555 en configuración monoestable se dispara con el primer flanco descendente de cada pulso del tono de llamada y mantiene su salida en alto durante el transcurso del tono. como así también en forma conjunta. Dado que el sistema de marcación por tonos es un estándar mundial y que.• Principalmente. lo deberá hacer el mismo sistema. Esta clave deberá ser ingresada de manera secuencial al sistema y no tendrá que dar lugar a llamadas accidentales. el proyecto se basa en lograr una comunicación entre el usuario y el equipo a desarrollar. Gracias a esto se puede utilizar el modulo de interrupción por teclado (KBI) para detectar y contar los tonos de una llamada entrante. de este micro se utilizan los módulos KBI (Keyboard Interrupt). Microcontroladores y sus Aplicaciones 3. Este tiempo será de 10 segundos aproximadamente. que se utiliza para voz y datos. El pin 15 (StD) se envía directamente al microcontrolador. se puede realizar una llamada a otro teléfono que no necesariamente se encuentre en la misma localidad.3 Contestador. cuando “cuelga el tubo”. • No hay una manera precisa de saber cuando el usuario termina la comunicación. estamos en condiciones de afirmar que este desarrollo puede ser controlado desde cualquier parte del globo. por esta razón será necesario generar una función que libere la línea pasado un cierto tiempo desde que se recibió el último comando. 2 . ya que si se utiliza de modo local (El teléfono desde el que se genera la marcación esta conectado a la misma línea que el sistema) los tonos generados por el teléfono también se envían a la central que provee el servicio. Indica que durante un tiempo prudencial estuvo presente un tono considerado como válido y que el valor ya esta disponible en la salida. envía el valor a su salida y lo indica activando dos bits de señalización denominados ESt (Early Steering output) y StD (Delayed Steering Output).• Mediante funciones implementadas por software realizar tanto las activaciones y desactivaciones individuales de las salidas. las decodifica. es decir.Segundo Congreso Virtual.2 Decodificador.1 Entrada de Línea. El Sistema. el cual se encarga de la interpretación de los tonos recibidos. Al aplicar este opto-acoplador también se rectifica en media onda la tensión de entrada.- 4.- 4.Para contestar una llamada basta con cargar la línea telefónica con una impedancia de 600Ω.El corazón del sistema es el microcontrolador 68HC908QB8. 4.

se activa el relé de la etapa del contestador automático cargando la línea con 600Ω y se espera el ingreso de una contraseña (por defecto es * 0 #) que habilite el ingreso al sistema.(9): RESETEAR secuencia. El entorno de desarrollo integrado (IDE) utilizado es CodeWarrior y se programó en lenguaje C. El microcontrolador utilizado para este proyecto es el MC68HC908QB8 de la familia “Nitron” perteneciente a la firma Freescale. El programa principal lo único que hace es refrescar los estados de las salidas y chequear la ejecución de la secuencia de control.5 El Microcontrolador.- 4.la contraseña de manera • Indicar la función que se desea realizar (Teclas del teléfono): (1): ACTIVAR una salida. es mediante la activación de la señal StD del decodificador CM8870. que hay un tono válido presente en la salida del mismo. puertos A y B. administra y procesa todas las señales del mismo. Este micro se considera idóneo para este tipo de procesamiento ya que en su encapsulado DIP-16 posee 14 pines de entrada/salida de propósito general (GPIO) que se encuentran interconectadas internamente a los pág.Cualquier otra COMUNICACIÓN.Si el resultado de la interrogación es que hay un tono de llamada válido. reloj interno. Este relé es controlado por el microcontrolador. Para averiguar que evento fue el que causo la interrupción.Siendo el “cerebro” del sistema. entonces se incrementa un contador que registra la cantidad de tonos de llamadas entrantes ocurridos hasta el momento y se compara con un valor establecido por software que determinará la cantidad de tonos que deben esperarse antes de contestar automáticamente la llamada. no es necesario reingresar dicha contraseña nuevamente.6 El Software. mediante la señal StD.- 4. Se setean dos interrupciones principales por KBI y una por desborde del modulo temporizador TIM. De esta manera se saltea la cuenta de tonos de llamada entrante y se puede acceder al sistema en modo Local ingresando directamente la contraseña. caso contrario.tecla: CORTAR • Indicar la salida a la que ataca la función indicada. se resetea para poder iniciar la cuenta nuevamente. se conectan a la línea un par de resistencias en serie.diferentes módulos como son el Conversor A/D. como se dijo anteriormente. hasta que éste corte la comunicación. Esta contraseña es de 3 dígitos y tiene una secuencia preestablecida la cual debe ser respetada. el sistema identificará esta acción como una intrusión. 4. Estas salidas se controlan mediante un protocolo propio. en caso de ser (7) u (8).(7): ACTIVAR TODAS las salidas. De no ingresarse en la secuencia correcta.Segundo Congreso Virtual.El sistema cuenta con 6 salidas TTL para controlar 6 cargas independientes.Una vez que se ingresa al sistema mediante la contraseña. se interrogan las entradas del microcontrolador destinadas al módulo KBI. Otro caso de interrupción del módulo KBI. temporizadores.El software se basa fundamentalmente en el uso de interrupciones y funciones. Por software se indica la cantidad de tonos de llamada que el sistema debe recibir antes de contestar. se ha detectado un tono de llamada o porque el decodificador CM8870 acusa. este paso se omite ya que ataca a todas las salidas. En este caso se revisa el valor entregado por el decodificador y se envía a una función que se encargara de determinar en que paso de la secuencia se encuentra el programa y el significado del comando ingresado por el usuario. Un contador interno lleva esta cuenta y si después de un lapso de 10 segundos no se reciben más tonos (De llamada o DTMF). comunicación serie.(8): DESACTIVAR TODAS las salidas. Microcontroladores y sus Aplicaciones esto. Si la llamada es contestada antes de que se alcance dicha cantidad de tonos el sistema no actúa. Para controlar cargas de 220Vca o 110Vca deberá aplicarse una interfaz de potencia tal como puede ser un banco de relés. y los contactos “Normal abierto” (NO) y “Común” (C) de un relé que va a actuar como la horquilla del teléfono. En el primer caso. 3 . Interrupción por teclado. controla. se interrumpe el cauce normal del programa ya sea porque.(2): DESACTIVAR una salida. Se procede desde el segundo paso. y provocara la apertura del relé que cortara la comunicación. etc. Los pasos a seguir para realizar cualquier acción sobre las mismas son los siguientes: • Ingresar secuencial.4 Salidas Controladas. de 270Ω y 330Ω.

1.Plano eléctrico esquemático (En la pagina siguiente).4. esto significa que si no se ingresa un comando válido dentro de un margen de 10 segundos. sótano. 2. que si operamos de manera remota no tenemos ninguna clase de confirmación de que el comando que enviamos ha sido procesado con éxito.En el enlace siguiente se puede ver un video DEMO del sistema en funcionamiento. lo que nos permite generar el corte automático por falta de comando.El sistema nos brinda la capacidad de controlar 6 cargas tanto de manera local como remota.La interrupción por el modulo TIM. si conectamos varios de estos equipos a la línea telefónica y a cada uno le asignamos contraseñas distintas.org “Copyright ©2010.[3] Artículo “Marcación por tonos” 24 ago 2010 Wikipedia. armario. Rev.Debido a que la plataforma de comunicación utilizada es un estándar mundial.1. etc. esta instalado sobre una línea residencial y muestra ambos modos de trabajo. es suficiente para que éste pueda operar.- Referencias: [1] CM8870/70C Datasheet “CMOS Integrated DTMF Receiver” 9/28/2000. Esto significa que el sistema podría ser instalado discretamente en un altillo.Segundo Congreso Virtual. 6: Activar Salida número 6. 0. 0.0. los “contra” que tiene este sistema son. al instalar el sistema de manera discreta. Conclusiones. Enlace: DTMF DEMO 5.El hecho de conectarse a la línea telefónica no implica que el sistema deba estar al lado del teléfono. Microcontroladores y sus Aplicaciones Una vez que se autoriza el ingreso. local y remoto. pág. Cuando pasen 10 segundos del último comando recibido. ya sea Local o Remoto.controlado desde cualquier parte del mundo. principalmente. podríamos controlar mas salidas de las 6 disponibles en un solo equipo (posibilidad de expansión).Se pueden seguir ingresando más comandos. 2: Desactivar Salida número 2. Secuencia de ejemplo: *.- Apéndice I. pero a la vez. 4 . solo con conectarlo a la línea y a la fuente de alimentación. se utiliza para generar una base de tiempo de 10 segundos. Dependiendo de las cargas que se deseen controlar el usuario optará por la interfaz de salida que más se ajuste a sus necesidades. 6. nos aseguramos que solo los usuarios que la conozcan tengan acceso al sistema. el sistema cortara la comunicación como se explica a continuación.[2] MC68HC908QB8 Data Sheet. Donde: * 0 #: Contraseña de acceso. el usuario puede proceder con el ingreso de comandos indicados en el apartado 4. Es evidente que cualquier línea telefónica puede ser contactada por medio de una llamada. el sistema puede ser Apéndice II. Con el acceso por contraseña. lo que se podría solucionar compartiendo el modulo del contestador automático.Siendo más críticos. 1 6/3/2005. en un CD o en un documento impreso de las ponencias del Segundo Congreso Virtual de Microcontroladores. El temporizador se resetea cada vez que se ingresa un tono DTMF. Gaspar Daniel Gómez”: El autor delega a la Organización del Segundo Congreso Virtual de Microcontroladores la licencia para reproducir este documento para los fines del Congreso ya sea que este artículo se publique en el sitio web del congreso. se libera la línea telefónica y el sistema se prepara para iniciar una nueva secuencia de control. En modo local solo tenemos confirmación visual mediante LED’s que actúan como monitores que. Para esto solo hay que tener en cuenta que la impedancia con la que cargamos la línea no sea demasiado baja. se puede perder dicha confirmación. #.

1uF R22 4..1uF R8 150K StD Q1 Q2 Q3 Q4 VCC Out_2 Out_3 Out_4 Out_5 Out_6 R1 470 R2 470 R4 470 R6 470 R9 470 R11 470 D1 LED0 D2 LED0 D3 LED0 D4 LED0 D5 LED0 D7 LED0 P2 1 2 3 P1 1 2 3 A D6 LED0 GND 1 Y1 3.43uF x 200V R14 3.7K TONO GND Q2 BC548C AT D R23 1K Title GND Size A4 Date: File: 08/10/2010 D:\Proyectos Protel\.579 GND B HC908QB8 VDD PTB7 PTB6 PTA5 PTA4 PTB5 PTB4 PTA3 HC908QB8 VSS PTB0 PTB1 PTA0 PTA1 PTB2 PTB3 PTA2 16 15 14 13 12 11 10 9 Out_1 Out_2 Q1 Q2 Out_3 Out_4 Q3 C GND 4 D10 Diode 5 RELE P4 Estado 1 2 U5 RST THR TRIG +VCC LM555CN DIS OUT CVOLT GND 7 3 5 1 C7 0.\DTMF1.1uF U2 C4 R5 100K R7 100K 1 2 3 5 6 2 7 8 9 IN+ INGS INH PDN OSC1 OSC2 VSS MT88L70AE B Line_In VCC C5 U4 P3 2 1 Header 2H R16 330 R17 100K 0.1 2 3 4 Out_1 U1 A J1 2 3 1 IN R3 1K C1 470uF OUT GND LM7805 C2 100nF Line_In GND GND GND GND 0.3K 2 3 4N25 R19 270 GND C VCC * 2 1 3 D9 LED0 VCC Line_In GND VCC R21 18K 4 6 Q3 BC548C C6 100uF 2 VCC 8 GND GND GND R20 10K R18 470 GND GND 5 4 Estado 1 6 R12 10K D8 LED0 D11 VCC R13 470 GND U3 VCC StD R24 470 AT Out_6 TONO StD Estado Out_5 Q4 1 2 3 4 5 6 7 8 VDD VREF ST/GT EST STD Q1 Q2 Q3 Q4 TOE 18 4 17 16 15 11 12 13 14 10 R10 150K VCC VCC VCC C3 0.SchDoc Sheet of Drawn By: 4 Number Revision D 1 2 3 .

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->