Esta pagina esta hecha por Esteban Chauque y Walter Garay, alumnos de la escuela, con el fin de mostrar el proyecto que presentamos en la feria de ciencias 1998. Dicho proyecto abarca las areas de computación y electrónica.
Feria de Ciencia y Tecnología
Controle sus equipos eléctricos con su computadora
Escuela Agrotécnica Salesiana Nuestra Señora de la Candelaria
Ruta 3 km. 2800 9420 – Río Grande Tierra del Fuego Índice
El proyecto se basa en diseñar y armar un circuito electrónico controlado por computadora que permita prender y apagar distintos aparatos eléctricos, por ejemplo luces, cafetera, estufas, etc. Para ello también es necesario desarrollar un programa de computadora que controle dicho circuito con distintas posibilidades de uso (manual, programado en el tiempo y secuencial). Este proyecto es novedoso ya que no se lo ve habitualmente, y por otra parte es dificultoso de realizar ya que no hay mucha información sobre el tema y es necesario saber programación y electrónica para llevarlo a cabo. Su aplicación es muy variada. Puede ser usado tanto en una casa u oficina para automatizar el control de las luces y electrodomésticos; por un disk-jokey para lograr juegos de luces en un baile o fiesta; por un comerciante para iluminar una vidriera o un cartel; etc. El circuito terminado no resulta muy costoso; el programa desarrollado es muy versátil y fácil de utilizar, y las características de la computadora necesaria son muy bajas: 286 con un mega de memoria y una disquetera, y sin necesidad de contar con un disco rígido.
Este tema fue elegido para hacer algo diferente de las tareas que habitualmente se realizan en la E.A.S. (Escuela Agrotécnica Salesiana), y partiendo de la idea de un proyecto del año pasado donde se logró que una computadora controlara el timbre del colegio. En ese caso la computadora sólo podía activar un aparato a la vez: el timbre. Ahora el objetivo es tratar de diseñar un circuito electrónico controlado por computadora que permita activar varios aparatos eléctricos distintos en forma individual, por ejemplo para prender y apagar una cafetera, una estufa eléctrica, luces, el mismo timbre del colegio, etc. El hecho que el circuito deba ser controlado por una computadora encarece mucho el costo final; pero como hoy en día es muy común que ya haya una computadora en el hogar, la oficina, el colegio, etc. esto no representa un problema tan grave. Por otra parte también se propone como objetivo que la computadora necesaria no deba ser muy sofisticada ni cara; de esa forma también se podrían usar computadoras que hoy se descartan por obsoletas. Por otra parte en Tierra del Fuego no hay circuitos similares que realicen este tipo de función, ni se encuentra fácilmente información como para poder diseñarlo. Y de contar con la información habría que saber lo mínimo de electrónica y de programación para poder hacerlo. Por eso se plantea como hipótesis: “Diseñar y armar un circuito electrónico, no muy caro, que permita prender o apagar varios aparatos eléctricos de 220v. con el correspondiente programa de computadora que lo controle, fácil de utilizar, y que corra en cualquier PC, incluso una muy barata u obsoleta”.
Se comenzó analizando el proyecto realizado el año pasado del timbre controlado por computadora, que con el sonido del parlante acciona un transistor, el cual a su vez activa un relé que acciona el timbre del colegio. La primera dificultad que se presentó fue como hacer para que funcionen varias salidas independientes entre sí. La solución encontrada fue tratar de usar como salidas independientes los pines del puerto paralelo de la computadora, normalmente utilizado para conectar la impresora. De esta forma se lograría por un lado controlar varios dispositivos y por el otro simplemente conectar una ficha del tipo paralelo a la salida de la computadora sin necesidad de hacer ninguna conexión interna dentro de la misma. Se continuó buscando información sobre dicho puerto paralelo, lo cual fue muy complicado de lograr. En las enciclopedias en CD-ROM no se consiguió información, ni en las casas de computación, ni en los libros y manuales de computadoras e impresora que hay en el colegio. Luego de buscar por un largo tiempo en Internet, se consiguió una página con los nombres y ubicaciones de los pines del puerto paralelo. El plano completo de la salida paralelo es el siguiente:
Pin | Señal | Pin | Señal | |
1 | strobe | 10 | ack | |
2 | Datos 0 | 11 | busy | |
3 | Datos 1 | 12 | pe | |
4 | Datos 2 | 13 | slct | |
5 | Datos 3 | 14 | error | |
6 | Datos 4 | 15 | init | |
7 | Datos 5 | 16 | slct init | |
8 | Datos 6 | 17 a 25 | masa | |
9 | Datos 7 | 26 |
reservado
|
La cantidad de salidas que tiene dicho puerto es de veintiséis, de las cuales son ocho las que se utilizan como salida de datos, las numeradas del 2 al 9. Aparte hay otros ocho pines de masa, y el resto para control de datos. Con esto se comenzó a pensar que se podrían armar ocho circuitos similares al del timbre y conectar cada uno de ellos a los pines de datos. Ya que el programa del timbre del colegio fue hecho en lenguaje Fox, se comenzó buscando algún comando que permita controlar en forma directa el puerto paralelo, pero no se encontró ninguno que lo lograra. La solución a este problema se presentó cuando un compañero de quinto año (Gonzales) le pregunto al asesor técnico (Alejandro Picciochi) si el colegio tenia material de electrónica que no se utilizara y que pudiera donar, ya que su hermano era integrante del grupo “Amigos de la Electrónica”. Picciochi le dijo que sí a cambio de información para la feria de ciencia, y se acordó reunirse ese fin de semana en la escuela. En esa reunión explicaron que con el comando OUT del lenguaje Qbasic se podían controlar las salidas del puerto paralelo en forma directa. Haciendo una prueba con un tester se detectó que las salidas de dicho puerto entregan 5v en cada pin activado. Con toda esta información se separaron en dos grupos: uno encargado de hacer un programa de computadora fácil de utilizar y que active cada una de las ocho salidas del puerto paralelo; y otro grupo encargado de realizar un circuito electrónico que reciba las señales del puerto paralelo de 5 volt y que active respectivamente ocho equipos eléctricos de 220 volt.
Grupo 1 - Programación: Este grupo empezó tratando de aprender a programar en Qbasic en vez de usar Fox, para lo cual usaron principalmente el mismo Help del Qbasic. Para controlar la salida del puerto paralelo se utiliza el comando OUT, por medio del cual se puede elegir a que pin del puerto se desea mandar voltaje y a cual no. Este comando se utiliza de la siguiente forma: OUT(dir), valor. La variable dir es la dirección a la cual se desea mandar un dato. En este caso como se quiere utilizar el puerto de impresión se utiliza la dirección 0378 en hexadecimal, pero también se podría utilizar el segundo puerto paralelo (03BC) o un puerto serie (03F8, 02F8, 02E8). La variable valor es el valor que se desea mandar a la dirección deseada, y su contenido puede variar de 0 hasta 255 en decimal. Para seleccionar qué pines de la salida paralelo se deben activar y cuáles no, hay que usar el código binario, donde cada pin puede estar en 0 o en 1 y la combinación de los 8 pines da las 256 posibilidades distintas. Las convenciones básicas que se usan son las siguientes:
Numero decimal | código binario |
1 |
00000001 |
2 |
00000010 |
4 |
00000100 |
8 |
00001000 |
16 |
00010000 |
32 |
00100000 |
64 |
01000000 |
128 |
10000000 |
A partir de estas combinaciones se pueden realizar otras, ya que si se desea mandar voltaje al mismo tiempo a varios pines, por ejemplo al 1 y al 4, se deben sumar los valores que corresponden a cada pin y obtener el valor final que nos permitiría realizar esa tarea, como por ejemplo: 1 + 8 nos daría como resultado 9 lo cual equivale en código binario a 00001001. A partir de esta idea se fueron desarrollando los distintos programas.
Se decidió que se desarrollarían tres programas distintos para tener diferentes posibilidades de aplicación. El primer programa que se desarrollo fue de activación manual, es decir: el usuario elige que salida activar con solo apretar una tecla que puede variar entre uno y ocho. Si lo desea también puede ingresar varios números al mismo tiempo para una activación simultánea de varias salidas. De esta forma con solo apretar una tecla de la computadora se logra prender o apagar cualquier equipo, por ejemplo una estufa eléctrica, una cafetera, un equipo mini-componente, etc.
El segundo programa que se realizo fue el de activación automática: este programa trabaja con un horario contenido en un archivo el cual puede modificarse según la necesidad del usuario. En el horario se puede cargar la hora a la que se debe activar una o varias salidas y la hora a la que deben apagarse.
El programa trabaja buscando la próxima hora a la que debe activarse cualquiera de las salidas y cuando la encuentra la compara constantemente con la hora actual hasta que dichas horas sean iguales. En ese momento el programa identifica el o los números de salida que debe activar o desactivar que correspondan a ese registro del archivo.
Como ejemplo se puede programar prender la cafetera y la estufa eléctrica a las 6:45 de la mañana, las luces y la radio a las 7:00, y apagar los cuatro equipos a las 8:00.
El ultimo programa es de activación secuencial: este programa también trabaja con un archivo que contiene la secuencia a utilizar. Dicho archivo contiene la duración y numero de salidas a activar.
El programa comienza calculando la velocidad relativa de la computadora para poder luego medir en forma exacta los segundo, décimas y centésimas. Esto es necesario ya que cada computadora puede ser mas rápida o mas lenta, y el programa debería funcionar igual en cualquier computadora. Por otra parte no se puede usar la función TIME$ ya que la misma solo llega hasta los segundos. El programa recorre todo el archivo con las secuencias grabadas. Por cada registro activa las salidas y espera el tiempo de duración correspondiente. Luego automáticamente pasa al siguiente registro realizando la misma tarea que con el registro anterior. Cuando el programa encuentra el fin del archivo (o sea el fin de la secuencia) comienza a ejecutarla nuevamente desde el principio. Este programa se puede usar, por ejemplo, en una fiesta o en una vidriera o cartel luminoso para hacer distintos juegos de luces. Por ultimo se juntaron los tres programas en un menú desde el cual se puede acceder a cualquiera de las tres opciones. Dichos programas son muy fáciles de usar por cualquier persona sin necesidad de conocimientos de programación. Todos los programas y archivos, incluido el lenguaje Qbasic y el sistema operativo, entran en un solo disquete y necesitan muy poca memoria para funcionar, por lo que el programa corre bien desde una simple computadora 286 con un mega de memoria RAM y sin disco rígido. Con esto se cumple una parte del objetivo y de la hipótesis planteada, que era realizar el programa y que funcione en una computadora barata u obsoleta. El listado completo de los programas esta al final de este informe, en el Anexo I.
Grupo 2 - Circuito electrónico: la primer prueba que se realizó fue ver si con los 5 volt directos de la salida paralelo se podía activar un relé de 6 volt. Con una fuente se suministró 5 volt al relé y el mismo se activaba pero consumía más corriente de la que puede dar la salida del puerto paralelo sin quemarse, por lo que se descartó ese circuito. Entonces se armó otro circuito usando una fuente independiente de 12 volt con un relé de 12 volt, ya que permite manejar más corriente que los de 6 volt. La idea es que el transistor actúe como llave electrónica y permita prender o apagar al relé según reciba tensión o no en su base. Cuando la salida del puerto paralelo esta desactivada entrega 0 volt, por lo que a la base del transistor llega 0 volt, y el transistor permanece abierto sin activar el relé. Cuando se activa la salida paralelo aparecen 5 volt, eso provoca una corriente por la base del transistor pero atenuada por la resistencia para que el consumo sea bajo. Esa corriente hace que se cierre el transistor, y el mismo activa el relé. Esta prueba funcionó correctamente por lo que se decidió armar otros siete circuitos iguales. Luego se agregó un led en serie por cada relé para tener una indicación visual de que el relé esta activado o desactivado, un diodo en paralelo con cada relé para evitar que el voltaje contenido en el relé no queme el transistor cuando se desconecta, y otro led con una resistencia conectados en forma directa a los 12 volt de la fuente, de forma que sirva como señal que la fuente este encendida. El circuito electrónico diseñado es el siguiente:
Lo que esta encerrado en líneas azules es el circuito para un solo pin de la salida paralelo, el circuito total lleva ocho circuitos simples, pero una sola fuente y una sola entrada de 220 volt. Todo el circuito electrónico se armo usando una placa de conexión universal que nos permite agregar o quitar componentes sin tener que soldarlos ni arruinarlos, y sobre una placa de madera se armo todo el circuito eléctrico conectado al electrónico. Las entradas de LPT1 se hacen por medio de una ficha paralelo, usando ocho cables para cada pin de datos y un noveno para conectar la masa de la salida paralelo con la masa del circuito electrónico. Los equipos eléctricos directamente se enchufan en los tomas, de forma que para las pruebas es muy fácil probar con distintos tipos de equipos, luces, etc. En la prueba final se ha usado ocho lámparas con portalámparas, uno por cada toma, y se prueban todas las opciones del programa verificando que enciendan las luces correspondientes a las opciones elegidas. Con esto se cumple la segunda y última parte del objetivo y de la hipótesis planteada, que era realizar diseñar y armar un circuito electrónico que permita prender y apagar varios aparatos eléctricos de 220 volt.
Luego de la investigación y del trabajo realizado se ha logrado diseñar y construir un circuito electrónico que prenda y apague ocho equipos eléctricos a un costo aceptable, y el correspondiente programa de computadora. El programa es fácil de utilizar y puede correr en una computadora con muy pocos requerimientos (una 286 con un mega de memoria RAM y sin disco rígido). También permite controlar los equipos en formas distintas, de manera que el circuito se puede usar tanto en una casa u oficina para controlar artefactos eléctricos; como en una fiesta o vidriera para controlar las luces de iluminación. El circuito electrónico diseñado es relativamente simple de realizar, los componentes utilizados son de uso común en electrónica, y no son costosos. El costo final del prototipo del circuito es de $181. En el Anexo II figura una lista detallada de los costos individuales. Para lograr vender el circuito habría que agregarle el costo de algún gabinete cerrado donde armar todo y a su vez los descuentos de comprar los componentes al por mayor. El costo aproximado de una computadora usada puede rondar los $200, por lo que todo el conjunto no debería superar los $400, y tal vez ser mucho menor. Algunas futuras mejoras podrían ser: · usar al mismo tiempo dos o tres salidas paralelo (LPT2 y LPT3), con lo que se llegarían a controlar hasta 24 equipos a la vez. · usar la salida serie de la computadora conectada a algún dispositivo medidor. Por ejemplo con un medidor de temperatura se podría lograr encender o apagar distintas estufas eléctricas que logren mantener una temperatura constante; con un medidor de luz se podrían encender o apagar distintas luces, etc. · armar el circuito dentro del mismo gabinete de la computadora y vender todo junto, con lo que se abarata aún más el costo general del producto.
Costos parciales
Lo que esta en parentesis es la cantidad usada, a la izquierda es el precio unitario y a la derecha el total de los que se usaron.
Programas utilizados para el desarrollo de este proyecto(273.0 K) Formato ZIP