| Artículos | 01 MAY 1999

Cómo conectar dispositivos digitales a nuestro ordenador

Tags: Histórico
Elementos para controlar su casa desde un PC (III)
Angel Perles, Antonio Martí y Francisco Rodríguez.

En esta tercera parte del curso de aplicación de las tarjetas de adquisición de datos veremos cómo conectar dispositivos digitales simples a nuestra tarjeta, y cómo gobernarlos desde un sencillo programa . Describiremos también el uso básico del conversor A/D que usaremos para conectar un sensor de temperatura .

En el primer capítulo se describió el concepto de entrada/salida digital . Recuerde que una señal digital puede estar en dos posibles estados, 0 ó 1, y que en nuestra tarjeta de adquisición de datos, un 0 corresponde a una tensión de 0 voltios y un 1 corresponde a una tensión de 5 voltios . Asimismo, las entradas/salidas analógicas nos permitirán leer el valor de una tensión o generarlo .

Entradas digitales .

Ahora vamos a trabajar con un sencillo ejemplo que nos permita leer el estado de un dispositivo digital . A éstos se les suele denominar captadores, pues permiten captar el estado de una determinada variable . Por ejemplo, un sensor de presencia, un detector de luz o humedad, un pulsador, etc . No todos los captadores son digitales, sólo aquellos que ofrecen dos valores ( como los detectores de presencia, que nos indican si hay alguien en la habitación, o por el contrario no hay nadie ) . Los que ofrecen muchos valores distintos, como un sensor de temperatura, son analógicos, y veremos como manejarlos más adelante .

Para ver cómo utilizarlos usaremos un sencillo ejemplo como muestra de lectura de un ?captador digital?, que en este caso es un interruptor montado tal como se indica en la Figura 1 . Suponiendo que la entrada digital elegida es la 0 ( DI 0 ) , en ella tendremos 5 voltios cuando el interruptor esté abierto y por tanto un ?1? lógico, y 0 voltios cuando se cierre, es decir, un ?0? lógico . Dicha entrada corresponde al bit 0 del registro BASE+6 de nuestra tarjeta de adquisición, tal como vimos en los capítulos anteriores, así que un programa podrá saber el estado del interruptor leyendo este registro .

El programa del Listado 1 permite conocer el estado del pulsador y de ello nos informa mediante un mensaje en pantalla . Como las entradas digitales se leen en grupos de 8 bits ( un byte ) y el bit que corresponde a nuestro interruptor es el 0, el programa debe ser capaz de distinguir el estado de ese bit, ignorando el resto . Esto se consigue usando la operación lógica AND ( producto lógico ) que se escribe en C con el operador ?&? . La Tabla 1 muestra la ?tabla de verdad? de esta operación y el resultado de la misma para todas las posibles combinaciones de ?0? y ?1? .

Como hemos dicho, en el registro de la entrada digital ( registro BASE+6 ) tendremos bits con un valor de ?0? ó ?1?, pero nos interesa sólo el bit de la posición 0, que es el que nos indicará el estado de nuestro interruptor . Para discriminar los bits 1 a 7 se realizará la operación AND entre el valor del registro de entrada y el número binario 00000001 ( 0x01 en hexadecimal para C ) anulándose los bits ?molestos? . En la tabla anterior podemos ver el resultado de la operación: éste valdrá 0 si X0 vale 0, y distinto de 0 si X0 vale 1, independientemente del valor ( 0 ó 1 ) de los demás bits ( X1 . . X7 ) .

Esta es la estrategia usada habitualmente y que permite a nuestro programa saber el estado del interruptor . Un buen ejercicio es que el lector conecte el interruptor a otra entrada digital y modifique el programa para que se acomode a la nueva situación .

La mayoría de dispositivos digitales funcionan como un interruptor, por lo que puede sustituir este pulsador por el captador que necesite para su problema . Además, existen diferentes tipos de pulsadores e interruptores, no diseñados para ser accionados por una mano humana, sino por algún tipo de objeto . Son lo que se llama finales de carrera, que no es más que un pulsador pero con una forma diferente . Sustituyendo el de nuestro circuito por un final de carrera adecuado, usted puede saber si una puerta está cerrada, una persiana ha llegado hasta una determinada altura, o si un producto ha llegado al final de una cinta transportadora .

Salidas digitales

Una vez visto cómo trabajar con las entradas digitales, vamos a ver cómo gobernar las salidas digitales . La mayoría de las tarjetas ( incluyendo la 8112 ) permiten generar una tensión de 0 ó 5 voltios por dichas salidas . Con éstas podemos activar y desactivar dispositivos, por ejemplo, luces, electroválvulas de sistemas de riego, motores, una estufa, un abrepuertas, etc . Sin embargo, la poca corriente suministrada por las salidas digitales no permite gobernar directamente dispositivos que tengan un consumo superior a unas decenas de miliamperios, así que para controlar los elementos anteriores es necesaria una etapa de potencia, que se describirá en la próxima entrega . No obstante, el software de control no se verá alterado por esta sutileza . El mismo programa puede controlar una pequeña bombilla o un motor de gran potencia con sólo conectar externamente la placa de potencia adecuada .

Ilustraremos el uso de las salidas digitales usando tres sencillos diodos luminescentes led, montando 3 circuitos como el mostrado en la Figura 2 . Estos circuitos los conectaremos a la salida digital DO0, DO1 y DO2, que corresponden a los bits 0, 1 y 2 respectivamente del registro BASE+13 . En nuestro caso hemos usado un led verde, uno amarillo y uno rojo .

Al contrario de lo que pueda parecer lógico, para encender un determinado led tendremos que poner a ?0? el bit correspondiente y a ?1? si deseamos apagarlo . No hay ningún problema en diseñar el circuito para que funcione al revés, pero con nuestra tarjeta ( y otras muchas ) es la forma más adecuada de trabajar debido a su diseño eléctrico . ( En este caso, lo que se consigue al poner a 0 voltios una determinada salida es que ésta haga de masa eléctrica . )

En la Tabla 2 se muestran los valores que permiten encender el led verde, el amarillo o el rojo . Para probar el funcionamiento de las salidas proponemos el programa del Listado 2 . En éste, cuando se pulsa la tecla ?1? se enciende el led verde, al pulsar la ?2? se enciende el amarillo y al pulsar el ?3? se enciende el rojo . Finalmente, pulsando el ?0? se termina el programa .

En el caso que usted quiera utilizar las salidas digitales para controlar un pequeño motor, una estufa o una bombilla, no puede sustituir directamente el led por uno de estos dispositivos . Uno de los inconvenientes de las tarjetas de adquisición de datos son los bajos valores de corriente y voltaje que son capaces de manejar . Deberá sustituir el led por una etapa de potencia, que estará formada por un transistor o un relé, o por ambos . Puede usted diseñar estos circuitos, pero suele ser más cómodo utilizar una de las muchas soluciones que ofrecen los propios fabricantes de tarjetas de adquisición en forma de ampliaciones, y de las cuales, como ya hemos comentado, hablaremos en el próximo capítulo .

Entradas analógicas .

Las entradas y salidas digitales sólo nos permiten conocer el estado y gobernar dispositivos que pueden estar en dos posibles estados, activo e inactivo, pero en muchas ocasiones es necesario saber el valor de una magnitud, como por ejemplo la temperatura de una máquina, la presión, la velocidad, etc . Para ello se utilizan sensores y captadores que convierten una magnitud física como la temperatura, en voltios, proporcionando un gran número de valores diferentes . Es posible conectar un sensor de este tipo a las entradas de conversión A/D de la tarjeta de adquisición y que nuestro ordenador conozca cuál es el valor de la magnitud leída por el sensor . Pero antes de ver un circuito de este tipo, es necesario saber un poco más sobre esta característica de la 8112pg .

Señalar que dispon

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información