• No se han encontrado resultados

Saber Electrónica N° 292 Edición Argentina

N/A
N/A
Protected

Academic year: 2021

Share "Saber Electrónica N° 292 Edición Argentina"

Copied!
85
0
0

Texto completo

(1)

Precio Cap. Fed.

Precio Cap. Fed. YYGBAGBA

:

: $1$11,90 - 1,90 - Recargo envío al interior: Recargo envío al interior:

$0,50

$0,50

ISSN: 0328-5073

ISSN: 0328-5073 Año 25 / 201Año 25 / 201

1 /

1 / Nº 292Nº 292

(2)
(3)

SECCIONES FIJAS

Sección del Lector 80

Descarga de CD: Curso de Microcontroladores PICAXE volumen 2 16 ARTICULO DE TAPA

Controlador de Artefactos por la Línea Telefónica 3

MONTAJES

Programador USB para Micros AVR de ATMEL 17

Transmisor de TV para Pequeñas Comunidades 27

Caja para Hacer Magia 49

Interruptor Selectivo Activado por la Voz 52

Medidor de ROE 55

MANUALES TÉCNICOS

Service de Equipos de Línea Blanca

Funcionamiento, Reconocimiento de Partes y Reparación de Lavarropas 33 INFORME ESPECIAL

Reparación y Enconado de Parlantes 58

AUTO ELÉCTRICO

Las Comunicaciones en el Automóvil:

LIN-Bus, MOST-Bus, Bluetooth 67

TÉCNICO REPARADOR

Manual de Entrenamiento Sanyo TL5110LCD:

La Plaqueta Polarizada del Panel LCD 70

Desarme y Reconocimiento de Partes del Teléfono Celular Droid de Motorola 75 EDITORIAL

QUARK

Año 25 - Nº 292 NOVIEMBRE 2011

Vea en Internet el primer portal de electrónica interactivo.

Visítenos en la web, y obtenga información gratis e innumerables beneficios.

www.webelectronica.com.ar

Vea en Internet el primer portal de electrónica interactivo.

Visítenos en la web, y obtenga información gratis e innumerables beneficios.

www.webelectronica.com.ar

N

OS

M

UDAMOS

Estamos a 15 cuadras de la anterior dirección. Vea en la página 79 cómo llegar. Visítenos durante Noviembre y llévese CDs y revistas de regalo a su elección

Nueva Dirección:

San Ricardo 2072, Barracas

(4)

D

EL

D

IRECTOR

A

L

L

ECTOR

B

IENVENIDA

S

ABER

E

LECTRONICA

E

DICION

I

NTERNACIONAL

Bien, amigos de Saber Electrónica, nos en-contramos nuevamente en las páginas de nuestra revista predilecta para compartir las novedades del mundo de la electrónica.

Los seguidores de nuestra revista saben que Saber Electrónica tiene tres ediciones: Ar-gentina, Andina el Internacional. Entre las

tres se tiene una venta neta mensual cercana a los 50.000 ejemplares en toda América pero los contenidos suelen ser ligeramente diferentes. Las ediciones Andina e Internacional suelen poseer el mismo contenido y sólo difiere algún aspecto sobre normativas locales, contenido publici-tario etc.

Es por eso que desde hace tiempo estamos buscando la forma de ofre-cerle a nuestros lectores de Argentina la posibilidad de adquirir las otras ediciones.

Durante 20 años la revista Saber Electrónica ediciones Andina e In-ternacional fueron manejada por Televisa (desde sus comienzos y hasta marzo de 2010) y dicha Empresa se ha encargado tanto de la venta de anuncios como de la distribución en gran parte de América. El contenido siempre ha estado en manos de Editorial Quark, la propietaria del título y de los contenidos tanto de Saber Electrónica como de otras publicaciones editadas por Televisa y/u otras Editoriales. Ya hace más de un año y medio que el manejo total de todas las ediciones está a cargo de Editorial Quark (dueña de los derechos y editora de Saber Electrónica Argentina) y sus empresas “hermanas” Saber Internacional de México y Zona Elec-trónica de Venezuela. Por tal motivo, hemos podido coordinar la distribu-ción de la edidistribu-ción Internacional de Saber Electrónica en Argentina, de modo que nuestros lectores puedan contar no sólo con la edición Argenti-na sino también con su equivalente InterArgenti-nacioArgenti-nal.

A partir del mes de noviembre de 2011, todos los meses, podrá en-contrar un ejemplar de la edición Internacional para que Ud. pueda coleccionarla, tal como lo hace con la edición Argentina. En una primer etapa no estará disponible en la Ciudad y Gran Buenos Aires y sólo estará en la principales ciudades del Interior (debido a que sólo colocamos 1000 ejemplares en distribución), si Ud. no la consigue, puede llamarnos a nuestras oficinas (Editorial Quark S.R.L., San Ri-cardo 2072, Bs. As., Tel.: 11 4301 8804) y coordinaremos la forma para que Ud. reciba dicha revista.

¡Hasta el mes próximo!

Ing. Horacio D. Vallejo

SABER ELECTRONICA

Director

Ing. Horacio D. Vallejo

Producción

José María Nieves (Grupo Quark SRL)

Columnistas:

Federico Prado Luis Horacio Rodríguez

Peter Parker Juan Pablo Matute

EDITORIAL QUARK S.R.L.

Propietaria de los derechos en castellano de la publicación men-sual SABER ELECTRONICA

Argentina: (Grupo Quark SRL) San

Ricardo 2072, Capital Federal, Tel (11) 4301-8804

México (SISA): Cda. Moctezuma 2,

Col. Sta. Agueda, Ecatepec de More-los, Edo. México, Tel: (55) 5839-5077

ARGENTINA Administración y Negocios

Teresa C. Jara (Grupo Quark)

Staff

Liliana Teresa Vallejo, Mariela Vallejo, Diego Vallejo, Fabian Nieves

Sistemas: Paula Mariana Vidal Red y Computadoras: Raúl Romero Video y Animaciones: Fernando Fernández

Legales: Fernando Flores Contaduría: Fernando Ducach Técnica y Desarrollo de Prototipos:

Alfredo Armando Flores

México Administración y Negocios

Patricia Rivero Rivero, Margarita Rivero Rivero

Staff

Ing. Ismael Cervantes de Anda, Ing. Luis Alberto Castro Regala-do, Victor Ramón Rivero Rivero, Georgina Rivero Rivero, José

Luis Paredes Flores

Atención al Cliente

Alejandro Vallejo [email protected]

Director del Club SE:

[email protected]

Grupo Quark SRL

San Ricardo 2072 - Capital Federal www.webelectronica.com.ar www.webelectronica.com.mx www.webelectronica.com.ve

Grupo Quark SRL y Saber Electrónica no se responsabiliza por el contenido de las notas firmadas. Todos los productos o marcas que se mencionan son a los efectos de prestar un servicio al lector, y no en-trañan responsabilidad de nuestra parte. Está prohibida la reproduc-ción total o parcial del material contenido en esta revista, así como la industrialización y/o comercialización de los aparatos o ideas que aparecen en los mencionados textos, bajo pena de sanciones legales,

E

DITORIAL

Q

UARK

(5)

INTRODUCCIÓN

El dispositivo que describimos en este artí-culo es capaz de recibir e interpretar tonos a través de la línea telefónica y, posteriormente, tomar determinadas acciones relacionadas con el control de otros dispositivos electróni-cos (como podrían ser los electrodoméstielectróni-cos hogareños).

Esto permite al usuario tener control en forma remota de determinados equipos elec-trónicos, utilizando un aparato telefónico con-vencional, mediante el teclado del mismo, según el siguiente protocolo:

1 - Esperar x rings antes de atender el telé-fono (configurable).

2 - Una vez atendido el teléfono, solicitar una contraseña para dar el servicio a quien está llamando.

Luego de validada la contraseña, se pasa al menú de opciones.

3 - Se usarán casi todos los dígitos del telé-fono (salvo 6, 7, # y *).

En nuestro trabajo práctico pretendemos manejar 9 relés, aunque en principio se ha implementado uno solo, relacionando cada uno con cada dígito numeral del teclado. Es decir, este equipo controla un sólo relé pero

A

A

RTÍCUL

RTÍCUL

O

O

DE

DE

T

T

AP

AP

A

A

C

ONTROLADOR DE

A

RTEFACTOS

POR LA

L

ÍNEA

T

ELEFÓNICA

El dispositivo electrónico cons-truido es una interfaz que, conectada a la línea telefónica, es capaz de recibir y atender lla-madas entrantes, con el fin de controlar uno o más artefactos conectados al mismo, desde un aparato telefónico remoto. El microcontrolador utilizado es un AT89S8252 fabricado por ATMEL. También fue necesario incorporar al circuito un conver-sor DTMF a binario y un contro-lador para comunicación serie RS-232, ambos genéricos.

Autores: Augusto J. Vega & Gustavo A. Schmidt [email protected] , [email protected]

Art Tapa - controla por telefono.qxd 20/10/11 08:52 Página 3

(6)

siguiendo la lógica aquí descripta, nada impide que el técnico amplíe el e squema para poder controlar mayor cantidad de dispositivos.

Una vez atendida la llamada, el menú de opciones es el siguiente:

1 - encendido: una vez marcada esta opción, el sistema queda a la espera de otro dígito (este segundo dígito ingresado indica el número de relé a encender).

2 - apagado: una vez marcada esta opción, el sistema queda a la espera de otro dígito (este segundo dígito ingresado indica el número de relé a apagar).

3 - consulta: una vez marcada esta opción, el sistema queda a la espera de otro dígito (este segundo dígito ingresado indica el número de relé a consultar). Si el relé está encendido, entonces se emite un beep largo a través de la línea telefónica, y si está apagado se emite un beep corto.

4 - cambio de contraseña: se utiliza para cambiar la contraseña de acceso. Una vez marcada esta opción, el sistema queda a la espera de los 4 dígitos para la nueva contra-seña.

5 - cambio de la cantidad de rings de espera: se utiliza para cambiar el parámetro que indica la cantidad de rings a esperar antes de atender la llamada entrante. Una vez mar-cada esta opción, el sistema queda a la espera de un dígito que indica la nueva cantidad de rings.

6-7: disponibles.

8 - reinicialización: reinicializa el sistema pero sin “desloguear” (desconectar) al usuario. Esto es particularmente útil cuando el usuario, luego de seleccionar algunas opciones, no sabe en qué situación está.

9 - salir: corta la llamada.

GENERACIÓN DE LOSBEEPS DERESPUESTA

Luego de la selección de cualquiera de las opciones, el sistema emite un beep largo para indicar "si". En algunos casos, el sistema emite un beep corto para indicar "no"; esto sucede cuando la contraseña ingresada es inválida, o para indicar que un relé se encuentra apa-gado. Ambos beeps se emiten por el pin 0 del puerto 1 (P1.0).

Artículo de Tapa

Figura 1 - Diagrama en bloques del controlador de equipos por línea telefónica.

Art Tapa - controla por telefono.qxd 20/10/11 08:52 Página 4

(7)
(8)

ADMINISTRACIÓN DE LACONTRASEÑA

Antes de poder utilizar cualquiera de las opciones, el usuario deberá “loguearse” (es decir, ingresar la contraseña, y que ésta sea validada por el sistema). Una vez validada la contraseña, el sistema emite una melodía para indicar al usuario que ya puede comenzar a utilizar el dispositivo. La contraseña es única (no se permiten múltiples usuarios), y está compuesta de 4 caracteres alfanuméricos (0-9, # ó *). La primera vez que se utiliza el sistema, o cuando el sistema es reseteado externa-mente (a través de un pulsador al efecto), se espera el ingreso de la contraseña por defecto (1111). Posteriormente, el usuario puede modi-ficarla mediante la opción 4.

ADMINISTRACIÓN DE LACANTIDAD DE

RINGS DE ESPERA

El sistema espera una cierta cantidad de rings antes de atender la llamada (análoga-mente al funcionamiento de un contestador automático). Esa cantidad es configurable mediante la opción 5, aunque por defecto se toma el valor 3. Solo acepta un dígito, con lo cual se podrá configurar hasta 9 rings de espera.

DIAGRAMA DECONEXIONES ENBLOQUE

En la figura 1 de la página anterior se pre-senta el diagrama de conexiones en bloque del circuito construido. Una rápida vista al mismo permitirá comprender la simplicidad del esquema. En primer lugar necesitamos un blo-que blo-que convierta los pulsos DTMF recibidos en códigos binarios que serán introducidos al microcontrolador, éste, en base a su programa interno, interpretará las señales recibidas y actuará en consecuencia.

Cuando el programa así lo interprete acti-vará o desactiacti-vará al bloque de control de carga que es donde está el artefacto a contro-lar.

Por otra parte, un bloque controlador RS232 permitirá la conexión con una computa-dora tipo PC para poder interactuar con nues-tro connues-trolador y realizar connues-troles directa-mente desde la computadora.

SOFTWARE

Para el diseño del software se tuvo en cuenta la utilización de un microcontrolador AT89S8252 fabricado por ATMEL. Para una mejor comprensión de las funciones que debe realizar el controlador, en primer lugar se expone el diagrama de flujos que da origen a nuestro programa.

En la figura 2 se presenta el diagrama de flujo correspondiente al software desarrollado.

Nuestro programa debe esperar los rings de llamada (que son configurables por el mismo programa), una vez que el teléfono atiende pregunta si está “logueado”; si no lo está soli-cita una contraseña (GET_PASS) y si es válida informa que está logueado (LONG_BEEP). Si la contraseña está equivocada informa el error a través del llamado a SHORT_BEEP en el programa principal y solicita el ingreso nueva-mente de la contraseña, volviendo al bloque “Logueado”.

Una vez que el usuario remoto está conec-tado se pregunta si se quiere conectar algún aparato, si la respuesta es SI, entonces se llama a RELAY_ON, para que se active el relé de salida y si la respuesta es NO el programa pregunta si se quiere desconectar el disposi-tivo deseado. Aquí nuevamente tenemos dos posibilidades, que la respuesta sea SI y se apague el aparato a través de la desconexión del relé o que la respuesta sea NO y el pro-grama deba continuar realizando otras consul-tas, como preguntar, por ejemplo, en qué estado está el relé, si se desea cambiar la con-traseña o si se desea cambiar la cantidad de RINGS que debe esperar el aparato antes de contestar.

El diagrama de flujo es bastante sencillo y contundente como para saber qué acciones debe realizar el programa del controlador.

Artículo de Tapa

Art Tapa - controla por telefono.qxd 20/10/11 08:52 Página 6

(9)
(10)

Artículo de Tapa

Figura 2 - Diagrama de flujo del programa a grabar en el microocontrolador.

Art Tapa - controla por telefono.qxd 20/10/11 08:52 Página 8

(11)

DESCRIPCIÓN DE LAS

INTERRUPCIONESUTILIZADAS

Las interrupciones utilizadas son las siguientes:

Interrupción externa 0 (IE0): disparada cuando el circuito integrado conversor de DTMF a binario pone en alto el pin 12 (INT0) del microcontrolador, notificando la presencia de un dígito válido en sus 4 salidas.

Interrupción externa 1 (IE1): disparada por el circuito detector de rings, con cada detección efectuada.

Interrupción del puerto serie (RI/TI): dis-parada por software (TI) cuando se tiene un caracter para enviar por comunicación serie RS232, o por hardware (RI) cuando se ha reci-bido un caracter por la misma vía.

Interrupción del timer 0 (TF0): disparada por el timer 0 cuando transcurre una cantidad determinada de segundos sin que el usuario haya seleccionado alguna opción. Permite administrar un time-out, impidiendo que el pro-grama quede en un bucle de espera infinito en caso de que se corte la comunicación telefó-nica sin un desloguéo explícito con la opción 9.

DESCRIPCIÓN DE LOSPUERTO DE ENTRADA/SALIDA

De los 4 puertos disponibles en el AT89S8252 se utilizaron los puertos 1, 2 y 3, con las siguientes finalidades:

Puerto P1

P1.0: salida de la señal que genera los beeps. Por este pin el sistema emite la señal con diferentes duraciones para representar "si" o "no".

P1.1: encendido y apagado del relé. El sis-tema pone en alto este pin para encender el relé, o lo pone en bajo para apagarlo.

P1.2: comunicación establecida. Cuando el

sistema "atiende" la llamada entrante, pone en bajo este pin, y lo mantiene en ese nivel mien-tras dure la comunicación telefónica.

P1.3 a P1.7: no utilizados. Puerto P2

P2.0: entrada del bit 4 desde el conversor DTMF a binario.

P2.1: entrada del bit 3 desde el conversor DTMF a binario.

P2.2: entrada del bit 2 desde el conversor DTMF a binario.

P2.3: entrada del bit 1 desde el conversor DTMF a binario.

P2.4 a P2.7: no utilizados. Puerto P3

P3.0: entrada de caracteres desde el con-trolador de comunicación serie (HIN232).

P3.1: salida de caracteres hacia el controla-dor de comunicación serie (HIN232).

P3.2: interrupción externa 0, disparada por el conversor DTMF a binario, cuando se ha recibido un caracter válido.

P3.3: interrupción externa 1, disparada por el circuito detector de rings, cuando se recibe un ring por la línea telefónica.

P3.4 a P3.7: no utilizados.

En la figura 3 se tiene el diagrama eléctrico del controlador.

Cualquier microcontrolador basado en el 8051 es válido para el proyecto, pero en parti-cular, el AT89S8252 permite la programación "en sistema" (ISP). Cualquier controlador para comunicación RS-232 es válido para el pro-yecto. Se recomendó el MAX232, y se optó por el HIN232 por ser más económico. El ULN2003 es un controlador para poder conec-tar diferentes cargas al circuito (relés, LEDs, displays, etc.). En nuestro caso lo utilizamos para controlar el relé, y para la generación de la onda acústica que emitimos a través de la línea telefónica.

El L7805 es un regulador de tensión conti-nua, que establece a su salida 5 volt.

El prototipo fue armado en placa universal de circuito impreso, por lo cual no se tiene el

Control de Artefactos

por la Línea Telefónica

Art Tapa - controla por telefono.qxd 20/10/11 08:52 Página 9

(12)

Artículo de Tapa

Figura 3 - Circuito eléctrico del controlador de artefactos por línea telefónica.

LISTA DEMATERIALES Resistencias 56 ohms 1W 1 unidad 100 ohms 1 unidad 820 ohms 1 unidad 1K 2 unidades 2K2 2 unidades 10K 2 unidades 47K 2 unidades 56K 1 unidad 68K 1 unidad 220K 3 unidades 270K 1 unidad Capacitores 33 pF 2 unidades 10 nF 100V 2 unidades 100 nF 2 unidades 120 nF 1 unidad 470 nF 1 unidad 1 uF 4 unidades 1 uF 63V 2 unidades 4,7 uF 1 unidad 10 uF 1 unidad Circuitos integrados AT89S8252 1 unidad HIN232 1 unidad ULN2003 1 unidad CM8870 1 unidad Optoacoplador 4N27 1 unidad Optoaislador LCA110 1 unidad Puente de diodos W04 1 unidad Transistor MPSA42 NPN 1 unidad Transistor MJE340 NPN 1 unidad

Diodo 1N5250 2 unidades Diodo 1N4148 2 unidades

Otros

Relé TDS-0502 (o similar) 1 unidad Cristal 12 Mhz 1 unidad Cristal 3.5795 Mhz 1 unidad L7805 1 unidad Varistor 1 unidad Jack telefónico 1 unidad Pulsador 1 unidad Conector DB9 1 unidad Conector DB25 1 unidad Jumper 2 unidades Zócalo de 16 pines 2 unidades Zócalo de 18 pines 1 unidad Zócalo de 40 pines 1 unidad Plaqueta univ. BK-06 1 unidad

Art Tapa - controla por telefono.qxd 20/10/11 08:52 Página 10

(13)

diseño PCB, tema que estamos desarrollando y que próximamente lo colocaremos en nues-tra web.

El programa se muestra en la tabla 1, note que por su longitud es aconsejable descar-garlo directamente de la página de los autores (http://web.fi.uba.ar/~ajvega/micro/). El código es abierto (estamos a favor de la polí-tica open source), con lo cual puede ser bajado y utilizado con libertad, pero nunca para fines comerciales (nació en un ambiente académico, y debe conservarse dentro de tal).

CONCLUSIONES

Se cumplió con el objetivo establecido en el anteproyecto, administrando correctamente el tiempo y los recursos. Así también, la realiza-ción del proyecto nos permitió conocer en pro-fundidad el funcionamiento de un microcontro-lador, como también de otros circuitos integra-dos. En muchas oportunidades, los distintos obstáculos que se fueron presentando nos han permitido adquirir importante experiencia en la superación de los mismos. ☺

Tabla 1 - Programa del controlador de artefactos eléctricos por la red eléctrica.

;****************************************************************************

; *** UN DISPOSITIVO CONTROLADOR DE ARTEFACTOS TELEFÓNICOS *** ; *** A TRAVÉS DE LÍNEA TELEFÓNICA EN FORMA REMOTA *** ;

; Augusto J. Vega (Jakarta) ; Gustavo A. Schmidt ; Primavera de 2003 ;

; EL CÓDIGO ES ABIERTO, PERO SOLO PUEDE UTILIZARSE CON FINES EDUCATIVOS. ; NO UTILICE ESTE CÓDIGO CON FINES COMERCIALES.

;****************************************************************************

; *** DEFINICIONES ***

TIMEOUT_H_LIMIT EQU 0x02 ;TIMEOUT_H_LIMIT EQU 0xFF

RINGS_ANSWER EQU 0X03 ; cant. rings de espera antes de contestar la llamada EEMEN EQU 00001000b ; EEPROM access enable bit

EEMWE EQU 00010000b ; EEPROM write enable bit WDTRST EQU 00000010b ; EEPROM RDY/BSY bit WMCON DATA 96h ; watchdog and memory control register

RELAY_1_STATUS EQU 0x0001 ; dirección en EEPROM en donde se almacena el estado del relé 1 Q_RINGS_X EQU 0x0A ; dirección en EEPROM en donde se almacena la cantidad de rings (se

;reservan los 10 primeros bytes para el estado de los relés) Q_RINGS_DEFAULT EQU 0x03 ; cantidad de rings "por defecto", si aún el usuario no setéo alguna cantidad UNDEFINED EQU 0xFF ; significado que le asignamos a lo "indefinido" (para cualquier uso que lo requiera) SWITCHED_OFF EQU 0x00 ; valor almacenado en EEPROM para indicar que el relé está apagado

SWITCHED_ON EQU 0x01 ; valor almacenado en EEPROM para indicar que el relé está encendido RING_TIME_WAIT EQU 0x10 ; cantidad de iteraciones de espera hasta que transcurra el ring completo SETTINGS_SERIAL EQU 0xF3 ; valor con el cual se carga el timer 1 para la generación de baudios para 2400 bps

; dependiendo del valor del Xtal (0xF3=12 Mhz y 0xF4=11.0592 Mhz)

; *** SEGMENTO DE DATOS ***

DSEG AT 0x30

R_CHAR: DS 1 ; caracter recibido por el puerto serie T_CHAR: DS 1 ; caracter a transmitir por el puerto serie

DIGIT: DS 1 ; dígito recibido por el conversor DTMF->Binario, en P2.0 P2.1 P2.2 P2.3 PASSWORD: DS 4 ; almacena la password (ver cómo darle persistencia)

PASS_LOADED: DS 4 ; almacena la password cargada por el usuario para luego comparar contra PASSWORD

BYTES_PASS: DS 1 ; variable utilizada por la rutina GET_PASS en el proceso de logueo AUX: DS 1 ; variable auxiliar que puede ser utilizada por cualquier subrutina Q_RINGS: DS 1 ; variable en donde se alamacena la cantidad de rings que espera el ciruito

; antes de atender la llamada entrante Q_RINGS_AUX: DS 1 ; variable en donde se van "contando" los rings detectados TIMEOUT_H: DS 1 ; byte más signigicativo del contador de timeout TIMEOUT_L: DS 1 ; byte menos significativo del contador de timeout

FREQUENCY_H: DS 1 ; parámetro "frecuencia" recibido por la rutina SOUND (byte más significativo) FREQUENCY_L: DS 1 ; parámetro "frecuencia" recibido por la rutina SOUND (byte menos significativo) LENGTH: DS 1 ; parámetro "duración" recibido por la rutina SOUND

; *** SEGMENTO DE MEMORIA DIRECCIONABLE DE A BIT ***

BSEG AT 0x00

LOGUED: DBIT 1 ; indica si el usuario está logueado

SWITCH_ON: DBIT 1 ; indica que se ha seleccionado la opción de encender relay SWITCH_OFF: DBIT 1 ; indica que se ha seleccionado la opción de apagar relay CHECK_RELAY: DBIT 1 ; indica que se ha seleccionado la opción de consultar relay CHANGE_PASS: DBIT 1 ; indica que se ha seleccionado la opción de cambiar la contraseña CHANGE_RINGS: DBIT 1 ; indica que se ha seleccionado la opción de cambiar la cantidad de rings

Art Tapa - controla por telefono.qxd 20/10/11 08:52 Página 11

(14)

Artículo de Tapa

EXIT: DBIT 1 ; indica que se ha seleccionado la opción de salir (desloguearse)

DIG_PRESSED: DBIT 1 ; indica si se ha presionado un dígito en el teléfono remoto SEND_CHAR: DBIT 1 ; indica si se quiere transmitir por RS-232 el byte almacenado en T_CHAR COMP_RESULT: DBIT 1 ; indica el resultado de la rutina COMPARE_PASS (0=distintas ; 1=iguales) NO_FIRST: DBIT 1 ; permite ignorar el primer caracter debido al encendido del circuito, y que molesta ; *** SEGMENTO DE CÓDIGO *** CSEG AT 0x00 ; *** Vector de interrupciones *** ; ORG 0x00 INIT: LJMP SET_PASSWORD ORG 0x03

LJMP EI0_HANDLER ; EI0_HANDLER = External Interrupt 0 Handler ORG 0x0B

LJMP T0_HANDLER ; T0_HANDLER = Timer 0 Handler ORG 0x13

LJMP EI1_HANDLER ; EI1_HANDLER = External Interrupt 1 Handler ORG 0x1B

RETI ORG 0x23

LJMP SI_HANDLER ; SI_HANDLER = Serial Interrupt Handler ORG 0x2B

RETI

; *** Fin vector de interrupciones *** ; ; *** Se setéa la contraseña por defecto (1111) ***

SET_PASSWORD: MOV R0,#PASSWORD MOV @R0,#0x01 INC R0 MOV @R0,#0x01 INC R0 MOV @R0,#0x01 INC R0 MOV @R0,#0x01

; *** Se setéa la cantidad de rings de espera por defecto (3 rings) ***

MOV R0,#Q_RINGS MOV @R0,#RINGS_ANSWER CLR NO_FIRST JMP MAIN ORG 0x50

; *** Acceso a EEPROM para recuperar configuraciones ***

MAIN: ORL WMCON,#EEMEN ; se habilita el acceso a EEPROM MOV DPTR,#RELAY_1_STATUS

MOVX A,@DPTR ; se lee el estado del relé desde EEPROM CJNE A,#SWITCHED_ON,RELAY_OFF2

SETB P1.1 ; se enciende el relé JMP RELAY_ON2

RELAY_OFF2: CLR P1.1 ; se apaga el relé RELAY_ON2: SETB P1.2 ; para indicar "desatendido"

ANL P1,#00000110B ; "AND lógico" para inicializar P1 ( P1.0=BEEP ; P1.1=CONTROL RELÉ ; ; P1.2=CONTROL CIRCUITO ATENDIDO )

MOV P2,#0xFF ; P2 va a manejar I/O con el teléfono remoto

MOV DPTR,#Q_RINGS_X ; se lee la cantidad de rings desde la dirección #Q_RINGS_X en EEPROM MOVX A,@DPTR

CJNE A,#UNDEFINED,DEFINED ; si nunca se setéo aún la cantidad de rings MOV A,#Q_RINGS_DEFAULT ; se asigna la cantidad "por defecto" DEFINED: MOV Q_RINGS,A

XRL WMCON,#EEMEN ; se deshabilita el acceso a EEPROM

; *** Fin acceso a EEPROM ***

MOV SP,#0x7F ; se usa para el stack los 128 bytes de acceso indirecto CLR LOGUED CLR SWITCH_ON CLR SWITCH_OFF CLR CHECK_RELAY CLR CHANGE_PASS CLR CHANGE_RINGS CLR EXIT CLR DIG_PRESSED CLR SEND_CHAR

SETB IT0 ; interrupción externa INT0 por flanco descendente SETB IT1 ; interrupción externa INT1 por flanco descendente MOV BYTES_PASS,#0x00

MOV Q_RINGS_AUX,#0x00 MOV AUX,#0x00 MOV TIMEOUT_L,#0x00 MOV TIMEOUT_H,#0x00

MOV TL0,#0x00 ; inicialización del timer 0 para que MOV TH0,#0x00 ; cuente 65536 cuentas CLR TF0 ; se limpia el flag de overflow

; *** Inicialización de la comunicación SERIE RS-232 ***

MOV A,PCON ; en las 3 primeras líneas se pone en 0 CLR ACC.7 ; el bit SMOD (bit 7 de PCON). Así, para calcular MOV PCON,A ; el "baud rate" se divide por 32 (sino habría que dividir por 16) MOV SCON,#0x52 ; setéa el puerto serie en MODO 1, REN=1, TI=0 y RI=0 MOV TMOD,#0x21 ; setéa el timer 0 en MODO 1 (16 bits auto-reload) y el timer 1 en MODO 2 (8 bits auto-reload) MOV TH1,#SETTINGS_SERIAL

CLR TR0

SETB TR1 ; arranca el timer 1

MOV IE,#0x96 ; habilita la interrupción para la comunicación serie, ; la interrupción externa 1, y la interrupción del timer 0 JMP WAIT

ORG 0x0100

WAIT: JNB DIG_PRESSED,WAIT ; espera hasta que se presione algún dígito JB LOGUED,USER_LOGUED CALL GET_PASS JMP WAIT USER_LOGUED: JNB SWITCH_ON,NEXT2 CALL RELAY_ON JMP WAIT NEXT2: JNB SWITCH_OFF,NEXT3 CALL RELAY_OFF JMP WAIT NEXT3: JNB CHECK_RELAY,NEXT4 CALL GET_RELAY JMP WAIT NEXT4: JNB CHANGE_PASS,NEXT5 CALL CH_PASS JMP WAIT NEXT5: JNB CHANGE_RINGS,NEXT9 CALL CH_RINGS JMP WAIT NEXT9: JNB EXIT,CALL_BACK CALL EXIT_PROGR JMP WAIT CALL_BACK: CALL DIG_HANDLER

JMP WAIT

;****************************************************************************************************** ; EXTERNAL INTERRUPT 0 HANDLER

; Maneja la interrupción externa 0, la cual se dispara cuando un nuevo dígito fué presionado ; en el aparato telefónico remoto.

; El dígito, en binario, entra por P2.0 P2.1 P2.2 P2.3 (Q4 Q3 Q2 Q1), se lo lee, y se lo ; coloca en DIGIT. Lo importante de esta subrutina es que REBATE el dígito recibido (dado que ; lo recibe al revés). También setéa DIG_PRESSED para que el programa principal actúe. ;******************************************************************************************************

EI0_HANDLER: PUSH ACC PUSH B CLR TR0 MOV A,P2 MOV B,#0x00 BIT_0: JNB ACC.0,BIT_1 SETB B.3 BIT_1: JNB ACC.1,BIT_2 SETB B.2 BIT_2: JNB ACC.2,BIT_3 SETB B.1 BIT_3: JNB ACC.3,SWAP_END SETB B.0 SWAP_END: MOV DIGIT,B

MOV A,DIGIT CJNE A,#0x08,NO_RST POP B POP ACC DEC SP MOV R0,SP MOV @R0,#0x00 INC SP MOV R0,SP MOV @R0,#0x01 CLR SWITCH_ON CLR SWITCH_OFF CLR CHECK_RELAY CLR CHANGE_PASS CLR CHANGE_RINGS CLR EXIT CLR DIG_PRESSED

MOV TIMEOUT_L,#0x00 ; se resetéa el contador de time-out, MOV TIMEOUT_H,#0x00 ; debido a que el usuario presionó una tecla MOV TL0,#0x00 ; inicialización del timer 0 para que MOV TH0,#0x00 ; cuente 65536 cuentas SETB TR0 RETI NO_RST: POP B POP ACC JNB NO_FIRST,IGNORE SETB DIG_PRESSED IGNORE: SETB NO_FIRST

MOV T_CHAR,DIGIT ; para debugging SETB SEND_CHAR ; para debugging MOV TIMEOUT_L,#0x00 ; se resetéa el contador de time-out, MOV TIMEOUT_H,#0x00 ; debido a que el usuario presionó una tecla MOV TL0,#0x00 ; inicialización del timer 0 para que MOV TH0,#0x00 ; cuente 65536 cuentas SETB TR0

RETI

;****************************************************************************************************** ; TIMER 0 HANDLER

; Maneja la interrupción asociada al overflow del timer 0.

; Es utilizada para administrar un time-out en caso de que un usuario corte la comunicación telefónica ; sin desloguearse (cuando se produce el time-out, se limpian todos los flags, y por consiguiente, ; el sistema queda en condiciones de poder ser utilizado nuevamente.

;******************************************************************************************************

T0_HANDLER: PUSH ACC CLR TR0 MOV A,TIMEOUT_H CJNE A,#TIMEOUT_H_LIMIT,NO_TIMEOUT DEC SP MOV R0,SP MOV @R0,#0x50 INC SP MOV R0,SP MOV @R0,#0x00 RETI NO_TIMEOUT: MOV A,TIMEOUT_L

CLR C ADD A,#0x01 MOV TIMEOUT_L,A JNC NO_OVERFLOW MOV A,TIMEOUT_H ADD A,#0x01 MOV TIMEOUT_H,A

NO_OVERFLOW: MOV TL0,#0x00 ; inicialización del timer 0 para que

Art Tapa - controla por telefono.qxd 20/10/11 08:52 Página 12

(15)

Control de Artefactos

por la Línea Telefónica

MOV TH0,#0x00 ; cuente 65536 cuentas CLR TF0 ; se limpia el flag de overflow POP ACC

SETB TR0 RETI

;****************************************************************************************************** ; EXTERNAL INTERRUPT 1 HANDLER

; Maneja la interrupción externa 1, la cual se dispara con cada "ring" de una llamada entrante. ; Si atiende la llamada entrante, entonces habilita la interrupción IE0 para recibir los dígitos. ;******************************************************************************************************

EI1_HANDLER: PUSH ACC

CLR EX1 ; se deshabilita la interrupción para que ignore todas las interrupciones siguientes en el mismo ring ; significando así una interrupción por ring.

CLR TF0

SETB TR0 ; arranca el timer 0 MOV A,#RING_TIME_WAIT NEXT_STEP: DEC A JNB TF0,$ CLR TF0 JNZ NEXT_STEP CLR TF0 CLR TR0 INC Q_RINGS_AUX MOV A,Q_RINGS_AUX MOV 0x4C,A CJNE A,Q_RINGS,NO_ANSWER

ANSWER: CLR P1.2 ; P1.2 está en bajo mientras se mantenga la comunicación telefónica SETB EX0

MOV TIMEOUT_L,#0x00 ; se resetéa el contador de time-out, MOV TIMEOUT_H,#0x00 ; debido a que el usuario presionó una tecla SETB TR0 ; arranca el timer 0

NO_ANSWER: SETB EX1 POP ACC RETI

;****************************************************************************************************** ; SERIAL INTERRUPT HANDLER

; Maneja la interrupción provocada por los flags RI y TI cuando se recibe un byte por comunicación ; serie RS-232, o cuando se terminó de transmitir el último byte, respectivamente.

; Pone en R_CHAR el caracter recibido, y transmite el caracter almacenado en T_CHAR, siempre y cuando ; esté seteado el bit SEND_CHAR.

;****************************************************************************************************** SI_HANDLER: JNB RI,SEND MOV R_CHAR,SBUF CLR RI SEND: JNB TI,END_SI_HANDLER JNB SEND_CHAR,END_SI_HANDLER CLR TI CLR SEND_CHAR MOV SBUF,T_CHAR END_SI_HANDLER: RETI ;****************************************************************************************************** ; GET PASSWORD ;******************************************************************************************************

GET_PASS: PUSH ACC MOV A,#PASS_LOADED ADD A,BYTES_PASS MOV R0,A MOV @R0,DIGIT INC BYTES_PASS MOV R1,BYTES_PASS CJNE R1,#0x04,NOT_LOADED LOADED: CALL COMPARE_PASS

MOV BYTES_PASS,#0x00 JNB COMP_RESULT,NOT_LOADED SETB LOGUED NOT_LOADED: CLR DIG_PRESSED POP ACC RET ;****************************************************************************************************** ; SWITCH RELAY ON

; Setéa un bit en el puerto 1 (P1) para encender el relay solicitado. Por ejemplo, SETB P1.1 enciende ; el relay 1. Para ello, consulta el valor en DIGIT.

; Limpia los bits DIG_PRESSED y SWITCH_ON.

;;******************************************************************************************************

RELAY_ON: PUSH ACC MOV R0,DIGIT CJNE R0,#0x01,RELAY_ON_END SETB P1.1

; se escribe en EEPROM el estado del relé (para darle persistencia)

ORL WMCON,#EEMEN ; se habilita el acceso a EEPROM ORL WMCON,#EEMWE ; se habilita el acceso a EEPROM para escritura MOV DPTR,#RELAY_1_STATUS

MOV A,#0x01 ; 0x01 significa "encendido"

MOVX @DPTR,A ; escribe la EEPROM con el contenido del acumulador

; Loop de espera hasta que concluya la escritura a EEPROM

LOOP_RELAY_ON: MOV A,WMCON ; se lee el estado de escritura de la EEPROM ANL A,#WDTRST ; se crequéa RDY/BSY

JZ LOOP_RELAY_ON ; vuelve a loopear si está seteado BSY ("busy") XRL WMCON,#EEMWE ; se deshabilita el acceso a EEPROM para escritura XRL WMCON,#EEMEN ; se deshabilita el acceso a EEPROM CALL LONG_BEEP RELAY_ON_END: CLR DIG_PRESSED CLR SWITCH_ON POP ACC RET ;****************************************************************************************************** ; SWITCH RELAY OFF

; Limpia un bit en el puerto 1 (P1) para apagar el relay solicitado. Por ejemplo, CLR P1.1 apaga el ; relay 1. Para ello, consulta el valor en DIGIT.

; Limpia los bits DIG_PRESSED y SWITCH_OFF.

;******************************************************************************************************

RELAY_OFF: MOV R0,DIGIT CJNE R0,#0x01,RELAY_OFF_END CLR P1.1

; se escribe en EEPROM el estado del relé (para darle persistencia)

ORL WMCON,#EEMEN ; se habilita el acceso a EEPROM ORL WMCON,#EEMWE ; se habilita el acceso a EEPROM para escritura MOV DPTR,#RELAY_1_STATUS

MOV A,#0x00 ; 0x00 significa "apagado"

MOVX @DPTR,A ; escribe la EEPROM con el contenido del acumulador

; Loop de espera hasta que concluya la escritura a EEPROM

LOOP_RELAY_OFF: MOV A,WMCON ; se lee el estado de escritura de la EEPROM ANL A,#WDTRST ; se crequéa RDY/BSY

JZ LOOP_RELAY_OFF ; vuelve a loopear si está seteado BSY ("busy") XRL WMCON,#EEMWE ; se deshabilita el acceso a EEPROM para escritura XRL WMCON,#EEMEN ; se deshabilita el acceso a EEPROM CALL LONG_BEEP

RELAY_OFF_END: CLR DIG_PRESSED CLR SWITCH_OFF RET

;****************************************************************************************************** ; GET RELAY STATUS

; Consulta si un relay está encendido o apagado, para lo cual accede al bit correspondiente ; en el puerto 1 (P1).

; Limpia los bits DIG_PRESSED y CHECK_RELAY.

;******************************************************************************************************

GET_RELAY: MOV R0,DIGIT CJNE R0,#0x01,GET_RELAY_END JNB P1.1,RELAY_IS_OFF CALL LONG_BEEP JMP GET_RELAY_END RELAY_IS_OFF: CALL SHORT_BEEP GET_RELAY_END: CLR DIG_PRESSED CLR CHECK_RELAY RET ;****************************************************************************************************** ; CHANGE PASSWORD ;******************************************************************************************************

CH_PASS: PUSH ACC MOV R0,#PASSWORD MOV R1,#0x00 NEXT: MOV @R0,DIGIT

INC R0 INC R1 CLR DIG_PRESSED CJNE R1,#0x04,WAIT_BYTE JMP END_CH_PASS WAIT_BYTE: JNB DIG_PRESSED,WAIT_BYTE JMP NEXT END_CH_PASS: CALL LONG_BEEP

CLR CHANGE_PASS

CLR LOGUED ; le obligo al usuario que se vuelva a loguear POP ACC

RET

;****************************************************************************************************** ; CHANGE RINGS

;******************************************************************************************************

CH_RINGS: PUSH ACC MOV Q_RINGS,DIGIT CLR DIG_PRESSED

ORL WMCON,#EEMEN ; se habilita el acceso a EEPROM ORL WMCON,#EEMWE ; se habilita el acceso a EEPROM para escritura MOV DPTR,#Q_RINGS_X

MOV A,Q_RINGS

MOVX @DPTR,A ; escribe la EEPROM con el contenido del acumulador ; Loop de espera hasta que concluya la escritura a EEPROM LOOP_CH_RINGS: MOV A,WMCON ; se lee el estado de escritura de la EEPROM

ANL A,#WDTRST ; se crequéa RDY/BSY

JZ LOOP_CH_RINGS ; vuelve a loopear si está seteado BSY ("busy") XRL WMCON,#EEMWE ; se deshabilita el acceso a EEPROM para escritura XRL WMCON,#EEMEN ; se deshabilita el acceso a EEPROM CALL LONG_BEEP CLR CHANGE_RINGS POP ACC RET ;****************************************************************************************************** ; EXIT PROGRAM

; Desloguéa el usuario, y arranca todo nuevamente.

;******************************************************************************************************

EXIT_PROGR: CALL LONG_BEEP DEC SP MOV R0,SP MOV @R0,#0x50 INC SP MOV R0,SP MOV @R0,#0x00 RET ;****************************************************************************************************** ; COMPARE PASSWORDS

; Compara la password ingresada por el usuario contra la password almacenada en memoria.

Art Tapa - controla por telefono.qxd 20/10/11 08:52 Página 13

(16)

Artículo de Tapa

; Setéa el CARRY si son iguales.

;******************************************************************************************************

COMPARE_PASS: PUSH ACC MOV R0,#PASSWORD MOV R1,#PASS_LOADED MOV R2,#0x00 NEXT_BYTE: MOV A,@R0

MOV AUX,@R1 CJNE A,AUX,BAD_PASS INC R0 INC R1 INC R2 CJNE R2,#0x04,NEXT_BYTE CORRECT_PASS: SETB COMP_RESULT

CALL INTRO JMP END_CMP BAD_PASS: CLR COMP_RESULT

CALL SHORT_BEEP END_CMP: POP ACC

RET

;****************************************************************************************************** ; SHORT BEEP

; Emite un beep corto.

;******************************************************************************************************

SHORT_BEEP: PUSH ACC

CLR TR0 ; se para el timer CLR TF0

CLR ET0 ; se deshabilita la interrupción asociada al timer 0 (porque ahora será usado con otro fin) MOV R0,#0xFF

LOOP2_SB: MOV A,#0xFF LOOP1_SB: MOV TH0,#0xFC MOV TL0,#0x18 SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 CPL P1.0 INC A CJNE A,#0xFF,LOOP1_SB INC R0 CJNE R0,#0x00,LOOP2_SB MOV TH0,#0x00 MOV TL0,#0x00 SETB ET0 SETB TR0 POP ACC RET ;****************************************************************************************************** ; LONG BEEP

; Emite un beep largo.

;******************************************************************************************************

LONG_BEEP: PUSH ACC

CLR TR0 ; se para el timer CLR TF0

CLR ET0 ; se deshabilita la interrupción asociada al timer 0 (porque ahora será usado con otro fin) MOV R0,#0xFF

LOOP2_LB: MOV A,#0xFF LOOP1_LB: MOV TH0,#0xFE

MOV TL0,#0x0C SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 CPL P1.0 INC A CJNE A,#0xFF,LOOP1_LB INC R0 CJNE R0,#0x02,LOOP2_LB MOV TH0,#0x00 MOV TL0,#0x00 SETB ET0 SETB TR0 POP ACC RET ;****************************************************************************************************** ; SOUND

; Dados los parámetros FREQUENCY_H, FREQUENCY_L y LENGTH, emite un sonido. ;******************************************************************************************************

SOUND: PUSH ACC

CLR TR0 ; se para el timer CLR TF0

CLR ET0 ; se deshabilita la interrupción asociada al timer 0 (porque ahora será usado con otro fin) MOV A,#0xFF

LOOP2_SOUND: MOV R0,#0xFF LOOP1_SOUND: MOV TH0,FREQUENCY_H

MOV TL0,FREQUENCY_L SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 CPL P1.0 INC R0 CJNE R0,#0xFF,LOOP1_SOUND INC A CJNE A,LENGTH,LOOP2_SOUND MOV TH0,#0x00 MOV TL0,#0x00 SETB ET0 SETB TR0 POP ACC RET ;****************************************************************************************************** ; DELAY

; Espera una cierta cantidad de tiempo, especificada en LENGTH

;******************************************************************************************************

DELAY: PUSH ACC

CLR TR0 ; se para el timer CLR TF0

CLR ET0 ; se deshabilita la interrupción asociada al timer 0 (porque ahora será usado con otro fin) MOV A,#0xFF LOOP2_DELAY: MOV R0,#0xFF LOOP1_DELAY: MOV TH0,#0xFF MOV TL0,#0xCE SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 INC R0 CJNE R0,#0xFF,LOOP1_DELAY INC A CJNE A,LENGTH,LOOP2_DELAY MOV TH0,#0x00 MOV TL0,#0x00 SETB ET0 SETB TR0 POP ACC RET ;****************************************************************************************************** ; INTRO

; Genera una melodía para introducción

;******************************************************************************************************

INTRO: MOV FREQUENCY_H,#0xFE MOV FREQUENCY_L,#0x0C MOV LENGTH,#0x02 CALL SOUND CALL DELAY CALL SOUND CALL DELAY CALL SOUND MOV LENGTH,#0x04 CALL DELAY MOV LENGTH,#0x02 CALL SOUND CALL DELAY CALL SOUND CALL DELAY CALL SOUND MOV LENGTH,#0x04 CALL DELAY MOV FREQUENCY_H,#0xFE MOV FREQUENCY_L,#0x0C MOV LENGTH,#0x02 CALL SOUND CALL DELAY MOV FREQUENCY_H,#0xFE MOV FREQUENCY_L,#0x5F CALL SOUND CALL DELAY MOV FREQUENCY_H,#0xFD MOV FREQUENCY_L,#0x8F CALL SOUND CALL DELAY MOV FREQUENCY_H,#0xFD MOV FREQUENCY_L,#0xD4 CALL SOUND CALL DELAY MOV FREQUENCY_H,#0xFE MOV FREQUENCY_L,#0x0C CALL SOUND RET ;****************************************************************************************************** ; DIGIT HANDLER

; Subrutina de "callback". De acuerdo al dígito presionado (opción seleccionada), setéa el bit ; correspondiente.

;******************************************************************************************************

DIG_HANDLER: MOV R0,DIGIT OPTION_1: CJNE R0,#0x01,OPTION_2

SETB SWITCH_ON JMP DIG_HAN_END OPTION_2: CJNE R0,#0x02,OPTION_3

SETB SWITCH_OFF JMP DIG_HAN_END OPTION_3: CJNE R0,#0x03,OPTION_4

SETB CHECK_RELAY JMP DIG_HAN_END OPTION_4: CJNE R0,#0x04,OPTION_5

SETB CHANGE_PASS JMP DIG_HAN_END OPTION_5: CJNE R0,#0x05,OPTION_9

SETB CHANGE_RINGS JMP DIG_HAN_END OPTION_9: CJNE R0,#0x09,DIG_HAN_END

SETB EXIT

SETB DIG_PRESSED ; se setéa DIG_PRESSED, porque el exit es una operación unaria, ; y debe ingresar directamente a la subrutina EXIT_PROGR RETI

DIG_HAN_END: CLR DIG_PRESSED CALL LONG_BEEP RET

END

Art Tapa - controla por telefono.qxd 20/10/11 08:52 Página 14

(17)

ISSN: 1514-5697 - Año 12 Nº 143 - 2012 Argentina: $7,90- Recargo Interior: $0,50 tapa Saber Service 143.qxd 20/10/11 08:58 Página 1

(18)

C

ÓMO

D

ESCARGAR EL

CD E

XCLUSIVO PARA

L

ECTORES DE

S

ABER

E

LECTRÓNICA

CD: Todo Sobre Sistemas de Seguridad

Editorial Quark SRL, Saber Internacional S.A. de C.V., el Club SE y la Revista Saber Electrónica presentan este nuevo producto multimedia. Como lector de Saber Electrónica puede descargar este CD desde nuestra página web, grabar la imagen en un disco virgen y realizar el curso que se propone. Para realizar la descarga tiene que tener esta revista al alcance de su mano, dado que se le harán preguntas sobre su contenido. Para realizar la descarga, vaya al sitio: www.webelectronica.com.ar, haga clic en el ícono password e ingrese la clave “CD-1184”. Deberá ingresar su dirección de correo electrónico y, si ya está registrado, de inmediato podrá realizar la descarga siguiendo las instrucciones que se indiquen. Si no está regis-trado, se le enviará a su casilla de correo la dirección de descarga (regis-trarse en webelectronica es gratuito y todos los socios poseen beneficios).

MODULO 1:

ALARMAS - GUIA PRACTICA PARA LA INSTALACION

- Capítulo 1 - Generalidades sobre alarmas - Capítulo 2 - Central de alarmas

- Capítulo 3 - Controles de habilitación - Capítulo 4 - Sensores

- Capítulo 5 - Sonorización

- Capítulo 6 - Planificación de una instalación - Capítulo 7 - Interconexión de equipos - Capítulo 8 - Casos especiales

- Capítulo 9 - Montajes de circuitos y sistemas de alarma

MODULO 2:

ALARMAS Y SISTEMAS DE SEGURIDAD

- Prólogo

- Capítulo 1 - Sistemas de seguridad

- Capítulo 2 - Sistemas sencillos con circuitos integrados - Capítulo 3 - Sistemas específicos de detección - Capítulo 4 - Circuitos de aplicación práctica

- Capítulo 5 - Equipos comerciales para sistemas de seguridad

MODULO 3: NOTAS DE ALARMAS

- 10 proyectos para alarmas - 7 proyectos de alarmas

- Alarma activada por falta de luz - Alarma con detector de movimiento - Alarma con láser

- Alarma de aproximación - 1´ - Alarma de aproximación - 2

- Alarma residencial de bajo consumo - Alarma de humo

- Alarma de nivel - Alarma de subtensión

- Alarma de temperatura con activación de ventilador - Sistema de alarma domiciliaria

- Alarma infrarroja inteligente - 1 - Alarma infrarroja inteligente - 2 - Alarma para automóvil - Alarma para moto

- Alarma residencial para principiantes - Alarma sencilla

- Alarma sónica

- Temporizador con alarma - Alarma universal programable

- Alarma universal con desarme programable - Alarma para piscinas

- Alarma tritemporizada para auto

- Discador telefónico automático para alarmas - Central de alarma microprocesada

- Circuitos para alarmas - Selección de alarmas

MODULO 4:

NOTAS DE SENSORES

- Sensor de líquidos multipropósito - Sensor de movimiento por ultrasonido - Sensor de presión

- Sensor de proximidad - Ayuda para estacionamiento - Sensor de temperatura

- Sensor digitalizado de fusible - Sensores de efecto hall - Sensor electrónico de nivel - Sensor infrarrojo pasivo

- Introducción a sensores de presión Motorola - Sensores para robot

MODULO 5:

ALARMA INTELIGENTE

- Nota - Sistema de alarma domiciliaria inteligente - Archivos de programas

- Archivos LW y PCB

Art Tapa - controla por telefono.qxd 20/10/11 08:52 Página 16

(19)

Una de las características sobresalientes del trabajo con Microcontroladores Atmel es la posibilidad de utilizar ambientes de desarro-llo, programadores, tarjetas entrenadoras y gran cantidad de circuitos de uso libre, muchos de los cuales puede bajar de Internet. En Saber Electrónica Nº 244 expli-camos qué son los microcontroladores

ATMEL y cómo se los puede programar utilizando un circuito sencillo mediante el Puerto COM de una PC. Como el Artículo de Tapa de esta edición requiere la programación de un micro-controlador AVR, volvemos a explicar detalles de este programador, brindamos una actuali-zación para poder utilizarlo con chips de varias familias de la empresa ATMEL y por último presentamos un programador por Puerto USB para aquellas personas que no tengan Puerto COM en su PC y no deseen utilizar un adaptador RS232 a USB.

Informe de Ing. Horacio Daniel Vallejo [email protected]

EASY-DOWNLOADER2.0:

PROGRAMADOR PARAATMEL DE40 PINES PORPUERTOSERIAL

Hace unos 6 años probamos el cargador des-arrollado por Wichit Sirichote ([email protected]), que se publica en la página www.kmitl.ac.th, encontrando que funciona perfectamente para programar los micros que utilizamos para desarro-llar los diferentes proyectos que publicamos en nuestra revista. En Saber Electrónica Nº 244 reali-zamos una recopilación de la página del autor, efectuando algunas ligeras modificaciones para facilitar la comprensión del proyecto y simplificar su montaje.

Este programador fue pensado para microcon-troladores de la empresa Atmel de 40 terminales. Se trata de la versión 2.0 del circuito denominado Easy Downloader (Programador Sencillo) que surge como una modificación de la versión 1.1 que es para AVRs de 20 patas y cuyo manual completo puede descargar de nuestra web: www.webelectronica.com.ar, haciendo clic en el ícono password e ingresando la clave atmelpro.

Se trata de un circuito para grabar el archivo “.HEX” dentro de la memoria de programa de los microcontroladores ATMEL de 40 pines, más espe-cíficamente la serie 89C51, 89C52 y el 89C55, la serie 90S8515 y sus equivalentes Atmel Mega.

El circuito funciona con el programa versión

M

M

ONT

ONT

A

A

JE

JE

P

ROGRAMADOR

USB

PARA

M

ICROS

AVR

DE

ATMEL

Mont - atmel usb 20/10/11 08:55 Página 17

(20)

WINDOWS, UPLOADER EZ3, EZ3.1 con firmware actualizado para el 89S51 y el 89S52.

Si necesita más espacio de codificación para su aplicación, especialmente para desarrollar pro-yectos con lenguaje C, también puede usar el Easy-Downloader V2.0, que es un programador muy fácil de usar. Es adecuado y barato, de modo que cualquiera puede construirlo fácil-mente. Esta versión puede escribir un archivo HEX de Intel en el 89C51 (4kB), 89C52 (8kB) y el 89C55 (20kB). Insistimos que este circuito es una versión que sólo sirve para micros de 40 patas. La versión

1 (que, como dijimos, puede bajar desde nuestra web) podrá bajarla a partir de un link dado en nuestra web y es para programar micros Atmel de 20 terminales, sin embargo, en este artículo, dare-mos un resumen sobre dicha versión

ELCIRCUITO DELPROGRAMADOREASYDOWNLOADERV2.0

La figura 1 muestra el diagrama circuital del car-gador “Easy-Downloader V2.0”.

El 89C51 con el programa “ez52.hex” recibe

Montaje

Figura 1 - Circuito Easy-Downloader 2.0: Programador para Atmel de 40 Pines por Puerto Serial

Lista de materiales del circuito de la figura 1

1 Fuente de alimentación de 15V x 100mA (DC Adaptor). 1 Transistor 2N2222 ó BC548. 1 Regulador LM317 1 Regulador 7805 1 Resistencia de 220Ω 2 Resistencias 1kΩ 1 Resistencia de 2k2 1 Resistencia de 8k2 8 Resistencias de 10kΩ

1 Led 5 mm color rojo 2 Capacitores de 30pF 1 Capacitor de 0,1µF 1 Capacitor de 1µF x 25V 3 Capacitores de 10µF x 25V 1 Capacitor 100µF x 25V 1 Cristal de 11,0592MHz

1 Circuito Integrado DS275 (adaptador de niveles TTL-RS232).

1 Zócalo o base de 40 patas para circuito integrado. 1 Microcontrolador Atmel AVR89C51 (ver texto). 1 Cable con conector DB9

Mont - atmel usb 20/10/11 08:55 Página 18

(21)

datos en serie a 9600 baud desde la PC y genera la señal apropiada aplicándola al zócalo ZIF.

P0 es para la transferencia bidireccional de datos.

P1 provee A0-A7.

P2.0-P2.6 provee datos a A8-A14.

La línea A14 en la figura 1, nuestro software usa el terminal P2.6 mientras que el ATMEL a grabar usa la línea P3.0. La selección del modo de programa-ción se hace mediante P3.4 a P3.7. Si desea más detalles puede ver el archivo en C: “ez52.c”.

La tensión de programación de este cargador

es un poco diferente de la versión 1.1, el terminal de predisposición requiere una tensión Vpp de sólo +5V y +12V y se activa simplemente mediante P3.3. La pata de entrada de reloj X1 del zócalo ZIF se deriva de X2 sin separador.

CONSTRUCCIÓN DE LAPLACA DE CIRCUITOIMPRESO

La placa de circuito impreso se puede construir usando una plaqueta (PCB) del tipo universal con soldadura de punto a punto. Si quiere hacer una placa específica, en la figura 2A se muestra el dia-grama del circuito impreso que, en este caso, es de doble faz. La figura 2B muestra un detalle de cómo deben ir ubicados los componentes sobre la placa.

ELSOFTWARE

“ez52.hex” es el firmware de archivo hexadeci-mal necesario para grabar en el 89C51. El archivo puede bajarlo desde nuestra página web con los datos dados más arriba. En dicho sitio encontrará el link que le pemitirá descargar tanto el archivo “ez52.hex” como los demás archivos y programas

Programador USB para Micros AVR de ATMEL

Figura 2a - PCB doble faz del programador serial de micros AVR de 40 pines

Figura 2b - Lado de componentes del PCB del pro-gramador serial de micros AVR de 40 pines

Mont - atmel usb 20/10/11 08:55 Página 19

(22)

que iremos describiendo. Lamentablemente, precisará un pro-gramador para poder cargar el firm-ware al 89C51. Si no lo posee, puede armar un programador por puerto paralelo sencillo para cargar este archivo hexadecimal. Puede emplear un esquema similar al del cargador utilizado en el artículo de tapa de Saber Electrónica Nº 244, pero para microcontrolador 89S8252 (vea la página de referencia de Internet).

En la figura 3 damos el esquema de un sencillo programador por puerto paralelo que emplea nuestro cono-cido “PoniProg” (también bájelo desde nuestra página). Es decir, si no consigue que alguien le preste un cargador para programar el 89C51, deberá montar un cargador sencillo por puerto paralelo y emplear un 89S8252 en lugar del 89C51.

Si Ud. no tiene una computadora con puerto paralelo, seguramente algún amigo o familiar debe tener una PC de escritorio con dicho puerto. De no ser así, vaya a un cybercafé y pídale al encargado que le permita cargar el microcontro-lador.

Para programar el 89S8252 deberá utilizar el mismo archivo “ez52.hex”. Ambos microcontrola-dores son compatibles pin a pin, por lo cual no deberá realizar ninguna modificación en el PCB de la figura 2A.

“Ez52.c” es el programa fuente escrito en len-guaje C para modificación posterior. Para compi-larlo, se necesita el Micro-C para el compilador 8051 de Dunfield Development System. Reiteramos que tanto el programa “Micro-C” como el archivo “Ez52.c” puede bajarlos de nues-tra web con la clave “atmel244”.

“Ez2.exe” es la versión para DOS (disk operating system) del EZ Uploader V2.0 que corre en la com-putadora con el objeto de poder programar a un Atmel por medio del cargador que estamos

pro-poniendo (Easy-Downloader). También lo encon-trará con el link dado en nuestra web.

Nota: la versión dos de Ez2 se puede usar sólo computadoras viejas, tipo 386 o 486, o en com-putadoras nuevas pero con Windows 98. Si Ud. posee una computadora con Windows 2000, XP, Vista o 7 deberá descargar la versión V3.0.

CÓMOPROGRAMAR UN

ATMEL CON EL“EASY-DOWNLOADER”

En primer lugar debemos “preparar” al micro-controlador que debe ir colocado en la placa de circuito impreso, para ello cargue el archivo “ez52.hex” en un 89C51 con otro programador, o en un 8252 con el programador de la figura 3 y colóquelo en la placa de circuito impreso armada de la figura 2A.

El software de programación deberá funcionar a 9600 baudios, con 8-Data bits, no Paridad. Conecte el conector DB9 de la placa del Easy

Montaje

Figura 3 - Programador de ATMEL por puesto paralelo, necesario para progra-mar “por única vez” el firmware sobre el micro de nuestro programador.

Mont - atmel usb 20/10/11 08:55 Página 20

(23)

Downloader en el puerto COM de la computadora y ejecute el programa de acuerdo al sistema ope-rativo de su computadora.

En la figura 4 tenemos un ejemplo del uso de la versión 2 (ejecución del programa ez2.exe) en sis-tema DOS (se ejecuta en Windows 98, recuerde que no funciona en sistemas operativos con ambiente NT).

Si tiene una PC con Windows 2000 o superior,

descargue “EZ Uploader V3.0” para Windows.

Para el 89C51, 89C52 y el 89C55, existe un byte de firma y por lo tanto ya no se necesita más seleccionar el tamaño de la memoria. El EZ recono-cerá el tamaño del código de la memoria. Tan sólo haga clic en Send Hexfile y todo se hará automática-mente (figura 5).

También puede descargar la versión V3.1 del “EZ Uploader” para Windows. Se trata de una versión beta del EZ3.1 Uploader, con las características adi-cionales READ y SAVE AS. El código HEX guardado en los integrados se puede leer y almacenar como un archivo HEX de Intel (figura 6).

INFORMACIÓNADICIONAL

Hemos realizado pruebas satisfactorias con micros de 40 patas con este cargador denomi-nado “Easy-Downloader” y que el autor va modifi-cando (en la página mencionada al comienzo puede encontrar las versiones V1.1 para micros de 20 patas y V2.0). En dicha página también se encuentra la versión 4.0 del software (deno-minado ezdl4). Con esta nueva versión no hay inconvenientes con el tipo de archivo hexade-cimal a cargar en el Atmel y además, detecta automáticamente el Puerto COM y la plaqueta del programador dada en la figura 2.

En dicha página también encontrará un pro-grama de Kurnia Wijaya de Jakarta, Indonesia, que le ayuda a escribir el programa que clasi-fica el archivo hexadecimal de Intel generado por algunos compiladores (Using Easy-Downloader V1.1&V2.0 with Unsorted HEX files). Otra opción para programar Atmel de 40 pines es el uso del “EasyPROG”: versión modificada del Easy-Downloader hecho por Francisco Barbosa.

Programador USB para Micros AVR de ATMEL

Figura 4 - Ejecución del programa ez2.exe en símbolo de sistema.

Figura 5 - Ejecución del programa EzZ Uploader V3.0 en Windows 2000 o superior.

Mont - atmel usb 20/10/11 08:55 Página 21

(24)

EASY-DOWNLOADER1.1:

PROGRAMADOR PARAATMEL DE20 PINES PORPUERTOSERE(COM)

La primera versión de Easy-Downloader fue diseñado en 1997 para ser utilizado como una herramienta para los alumnos en la construc-ción de su placa de desarrollo para micro-controladores en la categoría de "Sistema de diseño de microprocesadores". El circuito es de bajo costo y fácil construcción. La última versión V1.1 es posterior y se diseñó para los Atmel 2051 y 4051 de 20 patas. No tiene fun-ciones separadas de borrado, lectura, escri-tura, verificación etc.

Si el chip está programado, cuando lo coloco en este programador, hace todas las funcionens juntas, es decir, primero lo borra y luego lo programa con el nuevo archivo “.hex”.

La figura 7 muestra el circuito de la versión V1.1l. Como se muestra, el circuito utiliza un 89C2051 al

que se le debe grabar el correspondiente firmware (usando el programador LPT de la figura 3), tam-bién incluye un match 74LS373 de 8, un conversor

Montaje

Figura 6 - Pantalla que muestra el proceso de graba-ción sobre un micro ATEMEL.

Figura 7 - Programador para ATEMEL de 20 terminales por puerto COM.

Mont - atmel usb 20/10/11 08:55 Página 22

(25)

RS232 tipo DS275, un regulador de tensión 7805, un regulador LM317 y dos transistores 2N2222A y 2N2907A. La tensión de programación del circuito

de control es la recomendada por la nota de apli-cación ATMEL. Estas tensiones de 0V, 12V y 5V de programación son provistas por P3.5. El latch de 8 bits, 74LS373 provee la señal para la selección de los modos de programación. El byte de lec-tura y programación se envía a través de P1.

La dirección de incremento se realiza a través de un pulso posi-tivo en el terminal XTAL. El circuito se puede construir usando una placa universal o fabricando los PCD de la figura 8 (note que es una placa doble faz).

Antes de programar verifique que el programador está bien armado, para ello, debe medir con un multímetro las siguientes tensiones:

1) La tensión de alimentación de +5 V en el 7805.

2) Las tensiones de programa-ción 0V, 5V y 12V que se obtie-nen conectando los pines de control (P3.5 y D), 2N2222A y 2N2907 a +5V y / o 0V (GND). La salida debe ser de 15V x 100mA. Para poder armar el programa-dor debe bajar de nuestra web 2 archivos: “writer.hex” de 4.871 bytes, que es el archivo de firm-ware Intel Hex para el 89C2051 (el tamaño del código es 2021 bytes) y, “ez.exe” de 20.800 bytes que es el programa cargador que debe ejecutar en la PC para enviar un archivo “.hex” en el Atme a programar. El programa writer.c original fue escrito en 'C'. Para modificarlo, es necesario el compilador “Micro compilador

Programador USB para Micros AVR de ATMEL

Figura 8 - Placa de circuito impreso del programador por puerto COM de ATMEL de 20 terminales.

Mont - atmel usb 20/10/11 08:55 Página 23

(26)

de C” tal como explicamos para la versión V2.0 de este programador.

Para la prueba de funcionamiento y para saber cómo se usa el programador puede seguir pasos similares a los que ya explicamos para el progra-mador de 40 terminales o seguir las instrucciones que explicamos en el manual (versión completa) que puede descargar a través de los links dados en nuestra web.

El autor también sugiere una versión de placa de circuito impreso simple faz con la inclusión de algunos cablecitos externos, lo cual simplifica bas-tante el diseño PCB, también puede descargar dicho diseño de nuestra web.

USBASP:

ELPROGRAMADORUSB

USBasp es un programador para microcontrola-dores AVR de ATMEL que funciona por puerto USB sin necesidad de adaptador de protocolos (RS232 a USB). El diseño es simple y consiste en un micro-controlador ATMega8 o ATMega48 en conjunto con varios componentes pasivos. El programador se comunica con el puerto USB mediante el firm-ware cargado en el microcontrolador que forma parte del programador, por lo tanto no necesita ningún chip especial. Las características sobresa-lientes son las siguientes:

Montaje

Figura 9 - Circuito del programador para microcontroladores ATMEL por puerto USB. Note que no se incluye ningún adaptador RS232 a USB ni circuitos latch.

Mont - atmel usb 20/10/11 08:55 Página 24

(27)

1) Multiplataforma: Funciona bajo GNU/Linux, Mac OS X y Windows.

2) No necesita controlador USB ni componentes SMD.

3) La velocidad de progra-mación es de hasta 5kBytes/seg.

4) Opción SCK para trabajar con bajas velocidades de reloj (menores a 1,5MHz).

SOFTWARE

Una vez armado el programador y habiendo cargado el firmware en el microcontrolador ATMEL, que es parte del programador, se debe uti-lizar un software o programa para cargar un archivo “.hex” en el micro Atmel que se requiera.

Se han probado varios programas, entre los que podemos mencionar:

AVRDUDE, soporta USBasp desde la versión de firmware 5.2.

BASCOM-AVR, soporta USBasp desde la versión de firmware 1.11.9.6.

Khazama AVR Programmer, GUI para USBasp y AVRDude bajo Windows XP/Vista.

eXtreme Burner, GUI para Windows para programadores AVR basados en USB.

Desde la página del autor: puede descargar los siguientes paquetes de firmware:

usbasp.2011-05-28.tar.gz (519 kB): Es la última version, soporta TPI sup-port y compatible con ATMega88 and ATMega8.

Programador USB para Micros AVR de ATMEL

Figura 10 - Diseño de la placa de circuito impreso para el programador USBasp.

Mont - atmel usb 20/10/11 08:55 Página 25

(28)

usbasp.2009-02-28.tar.gz (260 kB) usbasp.2007-10-23.tar.gz (172 kB) usbasp.2007-07-23.tar.gz (176 kB)

usbasp.2006-12-29.tar.gz (118 kB) compatible con ATMega48 y ATMega8.

usbasp.2006-09-16.tar.gz (116 kB) usbasp.2005-11-14.tar.gz (175 kB) usbasp.2005-07-03.tar.gz (166 kB) usbasp.2005-04-21.tar.gz (169 kB) ELCIRCUITO DEUSBASP

El proyecto completo y el firmware para el microcontrolador se pueden descargar de forma gratuita desde http://www.fischl.de/usbasp/.

La figura 9 muestra el circuito eléctrico y en la figura 10 tenemos juna sugerencia para la placa de circuito impreso. Recuerde que el ATMega8P debe ser programado con anterioridad (y por única vez) con el firmware que usted quiera (puede emplear el usbasp.2011-05-28.tar.gz).

Una vez armado el programador (con el ATMEMega8 programado con el correspondiente firmware), si lo va a usar en una computadora PC con Windows, conecte el USBasp al puerto USB de su PC. Cuando Windows le pide un controlador, elija "bin / win-driver" (lo descarga desde el link dado en nuestra web con los datos dados en este mismo artículo). En los sistemas Win2K, WinXP, Vista y 7, Windows advierte que el controlador no tiene "firma digital". Ignore este mensaje y continúe con la instalación.

Ahora ya está el programador listo para ser utilizado con cualquiera de los softwares sugeridos.

Quizá, el más conocido sea el AVRDUDE, pero es un poco compli-cado tanto de instalar como de usar, sin embargo, permite una serie de operaciones muy útiles para los desarrolladores.

Un programa más sencillo es el Khazama AVR Programmer pero sólo

funciona bajo ambiente XP, Vista y 7. La primera pantalla se muestra en la figura 11 donde puede fijar la configuración de acuerdo a su proyecto. Estos pasos deberá seguirlos después de pulsar la opción "Programa Automático" en la ventana prin-cipal o pulsando “CTRL + P” (acceso directo).

A partir de la versión 1.7.0 del Khazama se pue-den seleccionar diferentes matrículas de la misma familia (por ejemplo el ATMEGA48 y el ATMega48PA son diferentes). Puede cambiar la velocidad de reloj de programación también.

Fusibles y ventana de bloqueo (figura 12) le ayudan a fijar los ajustes para la configuración de su chip AVR. Todo se documenta y se puede seleccionar fácilmente “combos” o establecer directamente las casillas de verificación que Ud. desee. ☺

Montaje

Figura 11 - Pantalla de configuración del programa Khazama AVR Programer.

Figura 12 - Los fusibles y ventana de bloqueo del Khazama le ayudan a fijar los ajustes para la configuración de su chip AVR.

Mont - atmel usb 20/10/11 08:55 Página 26

(29)

Si bien hemos publicado varios circuitos transmisores de señales de TV, en esta oca-sión presentamos un esquema sencillo y bas-tante estable. Con muy pocos componentes y un amplificador de banda ancha estamos en condiciones de generar un dispositivo de buena potencia que puede suministrar señal a un área de más de 100.000 m2, ideal para campus Universitarios o como estación comunitaria en countries y/o pequeñas comunidades. .

Por Ing. Horacio Daniel Vallejo [email protected]

ELCIRCUITOTRANSMISOR

El circuito de la figura 1 permite transmitir la señal de una cámara de video, reproductor de CD o DVD, PC, MP3 etc. en todo el perímetro de una vivienda mediana. Es muy práctico, por ejem-plo, cuando se tiene un sistema de televisión sate-lital y sólo se dispone de un sintonizador/decodifi-cador. Lo mismo sucede con los decodificadores de canales premium de los operadores de TV por cable. Aunque también es útil cuando se desea transmitir la señal de vídeo de cámaras de seguri-dad a puntos de difícil cableado.

El esquema es por demás simple. El capacitor variable cumple las veces de sintonizador, permi-tiendo ajustar la frecuencia (canal) donde se desea emitir. Dada la baja potencia de este sis-tema la antena puede ser un simple cable de unos 30 cm de largo o una antena retráctil. El

transformador T1 esta formado en su primario por 7 vueltas de alambre de 0,5mm de diámetro sobre un ferrite de los chatitos usados en radios de FM mientras que su secundario está compuesto por 18 vueltas arrolladas sobre el bobinado pri-mario con alambre de igual espesor.. El capacitor de 220pF conectado en paralelo con el secun-dario debe ser incorporado dentro de la horma del transformador. Este tipo de transformador es denominado SIF. En cuanto a la bobina L1, esta debe estar formada sobre un núcleo de ferrita de 3mm y sobre él debe enrollar 4 vueltas de alam-bre. Esta bobina está configurada para una óptima transmisión en la banda baja de la TV por aire (canales 2 al 7) si desea emplear la banda alta o la de UHF le recomendamos rediseñarla a fin de aprovechar la máxima potencia de salida.

Dado que este sistema opera con una muy baja potencia no se requiere licencia para

utili-M

M

ONT

ONT

A

A

JE

JE

T

RANSMISOR DE

TV

PARA

P

EQUEÑAS

C

OMUNIDADES

Mont - TX de TV 20/10/11 08:59 Página 27

(30)

zarlo, pero si llegase a colocar etapas de potencia que aumenten el alcance del conjunto le reco-mendamos hacerse de un abogado e interiori-zarse sobre los aspectos legales vigentes según la región donde lo vaya a emplear.

Tenga presente que una etapa se potencia mal calibrada podría causar interferencia en los equi-pos de recepción de casas vecinas. Sea cuida-doso en el armado y calibración de este tipo de equipos.

En la figura 2 se ofrece una sugerencia para el montaje en placa de circuito impreso. La bobina

L1 debe estar montada lo más cerca posible (si está pegada mejor) de la placa.

ETAPA DEPOTENCIA DEBANDAANCHA

Un simple circuito integrado es capaz de proveer una ganancia de 18dB, lo que asegura que si conectamos la salida del transmisor propuesto a la entrada de este amplificador, podemos obte-ner una potencia de salida que permita alcanzar distancia de varios cientos de metros. El

amplifica-Montaje

Figura 1 - Transmisor de TV de baja potencia

Lista de materiales del circuito de la figura 1

Q1, Q2 - BF259 - Transistores de RF. R1 - 220kΩ R2 - 470Ω R3 - 10kΩ R4 - 10kΩ VR1 - 10kΩ - Pre-set lineal C1 - 100nF - Cerámico C2 - 1nF - Cerámico C3 - 10nF - Cerámico C4 - 220pF - Plate C5 - 220pF - Plate C6 - 220pF - Plate C7 - 10pF - Cerámico C8 - 10pF - Cerámico

C9 - Trimmer (variable) color naranja o azul C10 - 82pF - Plate o poliéster

C11 - 4,7pF - Plate C12 - 100nF - Cerámico

T1 - Transformador construido sobre núcleo de derrite con alambre de cobre esmaltado de 0,5mm de diá-metro (ver texto)

L1 - Bobina (ver texto)

CN1, CN2 - Conectores RCA (hembra) CN3 - Conector BNC para antena.

VARIOS

Placa de circuito impreso, gabinete para montaje, conector para batería o fuente de alimentación de 9V x 250mA, antena, cables, estaño, etc.

Mont - TX de TV 20/10/11 08:59 Página 28

Referencias

Documento similar