En esta
segunda entrega, veremos el circuito que nos permitirá poner en marcha nuestra
estación meteorológica. Estará basado en un PIC16F873A y se conectará a una
unidad central de control (un ordenador) donde podremos seguir con atención las
variaciones del clima, como así también aprender y comprender algunas facetas de
su comportamiento. La temperatura y la humedad se obtienen mediante un sensor
integrado y la velocidad y dirección del viento con elementos en desuso de
viejos reproductores de video VHS. Ya no tienes excusas. Con muy poco dinero
puedes convertirte en un estudioso de la meteorología. Avancemos, parte II,
¡acción!
Por supuesto, un medidor
de temperatura y humedad puede ser útil hasta en un taller de pintura de
vehículos o en un quirófano. Nosotros te presentamos el proyecto
condensado en una estación meteorológica, pero tu capacidad, ingenio y
creatividad pueden aprovechar las partes en forma separada hasta dentro
de un túnel de viento donde se analice la aerodinamia de un coche de
carreras. Las mediciones de temperatura, humedad, velocidad y dirección
del viento pueden tener aplicaciones tan insólitas y dispares como en un
criadero de pollitos o en un invernadero de flores tropicales en países
nórdicos. Este proyecto (el conjunto completo o separado en partes)
puede serte útil para millones de usos y aplicaciones. Tú eliges.
La estación
meteorológica debe utilizarse en lugares amplios y libres de remolinos
ventosos erráticos
El circuito
Tal como adelantamos en el sumario y en el artículo anterior,
utilizaremos etapas bien definidas para cada una de las mediciones
(adquisición de datos), reuniremos toda la información mediante el uso
de un PIC16F873A (o similar) y visualizaremos los datos obtenidos en un
pequeño software que nos mostrará, además de las magnitudes observadas
por la estación, la fecha y la hora. Un programa sencillo con una
interfaz simple y clara. Como siempre, te entregaremos el código fuente
para que recuerdes las técnicas de trabajo utilizadas con el puerto
serie (COM1) y para que lo adaptes a tus necesidades, salpicándolo con
tu toque de originalidad.
La comunicación desde la estación meteorológica hasta el ordenador se
realizará mediante una red RS485, lo que nos permitirá un montaje a
buena distancia del ordenador (hasta 1200 metros). Por supuesto, te
recomendamos dar un repaso al artículo donde te mostramos cómo construir
una interfaz RS232/RS485 para el ordenador. Un equipo que estará
emplazado en la intemperie, por lógica, no dispondrá de display ni se
conectará al ordenador mediante un cable USB. Aquí hace falta una
conexión posible a largas distancias que permita el agregado voluntario
de otros sistemas como pueden ser dimmers de luz o relés para usos
múltiples. Una conectividad RS485 es la elección más acertada.
Circuito propuesto para
la estación meteorológica (al final del artículo descarga un esquema de
mayor tamaño)
En la imagen del circuito encontramos
como componente central al microcontrolador que funcionará a 20Mhz y que
utilizará todo el puerto B para tomar los datos que provienen de los
Reed Switches encargados de detectar la dirección que trae el viento. El
puerto A no se utilizará y el puerto C servirá para el resto de las
conexiones: la llegada de los pulsos provenientes del sensor Hall
(velocidad del viento), la recepción de datos desde el SHT11 y la
conexión al SN75176 para la red RS485. El circuito es muy sencillo y
utiliza los modelos clásicos que hemos visto en la mayoría de las
aplicaciones con microcontroladores. Para energizar los circuitos
utilizaremos una fuente que suministra 5Volts regulados mediante VR1,
que puede tomar alimentación desde un transformador o desde una batería
recargable mediante energía solar. No te olvides que estamos
construyendo un sistema que estará instalado en un lugar de poco acceso;
llevar energía de red a distancias muy extensas puede resultar
peligroso.
D1 servirá de protección contra posibles inversiones accidentales de
polaridad durante las conexiones y VR1 puede montarse en el PCB sin
necesidad de un disipador térmico gracias a que el consumo total de
corriente del circuito no supera los 100mA., es decir, el 10% de la
capacidad de corriente máxima de trabajo de VR1 (7805). Por el lado del
IC SN75176, utilizaremos los métodos ya empleados en artículos
anteriores donde colocamos un “jumper” (o puente) para habilitar el
sistema como terminación de red aplicando una resistencia de 120 Ohms.
Puede que a mayor distancia exista otro dispositivo de la red y que
nuestra estación meteorológica no sea el último eslabón. Por esto,
siempre debes colocar la opción. Nunca se saben las ampliaciones que el
montaje nos depara en el futuro.
Otra vista de la placa
principal con sus componentes montados
Pasando a la entrada de
los impulsos desde el sensor Hall, encontramos un operacional LM358 en
configuración amplificador inversor con una ganancia = 100 (R5/R6) que,
por estar alimentado con 5Volts, no necesita de circuitos adicionales en
la salida para proteger la entrada del PIC. Este circuito nos entregará
una serie de impulsos que serán contados durante 15 segundos (dentro del
software del PIC) y luego procesados para obtener la velocidad
aproximada del viento en Km/h. Si no logras interpretar con claridad las
conexiones del sensor Hall que viene incorporado en el conjunto del
motor, puedes aprovechar sólo la parte mecánica y acoplar de forma
física un sensor tradicional.
Concepto: Un sensor (switch) Hall es un circuito integrado que requiere
una tensión de alimentación y que, al ser expuesto a un campo magnético,
cambia el estado lógico en su terminal de salida mientras esté en
presencia del flujo magnético. O sea, posee un funcionamiento análogo a
un Reed Switch con la característica (y diferencia) de que es un
circuito integrado que cambia su estado lógico (0 a 1 o viceversa)
cuando se expone a un flujo magnético. El mercado nos ofrece decenas de
modelos de sensores, pero lo más sencillo y rápido de hacer es utilizar
los que vienen dentro de los sopladores utilizados en cada fuente de
alimentación. ¿No lo sabías? Desarma un “cooler” o “ventilador” de
12Volts de una fuente de alimentación de ordenador y allí dentro
encontrarás, en la placa donde se conectan las bobinas del estator, un
pequeño dispositivo de tres pines con aspecto de transistor pero que en
realidad es un sensor Hall. Todos lo traen. Una vez identificado,
utiliza Google para obtener su hoja de datos y así saber su conexión
correcta. Esto último no siempre es necesario al ser tan sólo tres
conexiones: alimentación, GND y salida. Por simple lógica quizás puedas
identificarlo y aprovecharlo. Identifícalo según la imagen inferior.
En el interior de todos
los sopladores encontrarás un switch Hall
El programa del PIC
Nuestro programa está hecho en Basic, todo un impedimento para muchos,
aunque las estructuras son muy sencillas de comprender y trasladar a
cualquier otro lenguaje de programación. La organización se basa en
pocas partes fundamentales:
* Definir el dispositivo y la frecuencia de reloj (DEVICE)
* Definir los parámetros de la comunicación serie hacia el ordenador a
38400 BPS (mi primera conexión a Internet era a través de un módem
Dial-Up a 28800 !!!) (HSERIAL_BAUD)
* Definir las variables a utilizar dentro del programa (SYMBOL y DIM)
* Iniciar el programa.
* Reset al SHT11.
* Leer las variables de temperatura y humedad desde el SHT11 y cargarlas
en variables (SHIN – SHOUT)
* Contar durante 15 segundos la cantidad de impulsos que nos entrega el
detector de velocidad del viento (sensor Hall) y cargar esta información
en una variable (COUNTER)
* Leer el puerto B para detectar la dirección del viento (Reed Swich) y
cargar esta información en dos variables (en formato de caracteres
ASCII) (IF-THEN)
* Generar un número aleatorio para no enviar la información al ordenador
siempre al mismo momento sino para hacerlo cada determinados intervalos
variables de tiempo (Esto es útil cuando se utilizan muchos terminales
en la red y existe la probabilidad de colisión de datos) (RANDOM)
* Observar si el bus está siendo ocupado por otro terminal (“escuchar el
bus”) y esperar a que se terminen las transmisiones (HSERIN)
* Transmitir datos obtenidos (HSEROUT)
* Reiniciar el ciclo del programa.
En sólo doce pasos, hacemos funcionar de manera satisfactoria nuestra
estación meteorológica. La rutina de trabajo del SHT11 fue adaptada a
esta aplicación según ejemplos encontrados en foros especializados en el
lenguaje Basic y la comunicación serie con el ordenador contempla la
posibilidad de ubicar la estación meteorológica como parte funcional de
una gran red. En el programa utilizado en el ordenador, las rutinas
están dispuestas para utilizar la estación como un único terminal dentro
de una red RS485, pero si estudias y observas bien el programa del PIC
descubrirás las rutinas para hace funcionar este montaje dentro de una
red más amplia, funcionando, no de manera autónoma, sino como un
terminal esclavo (slave). Por supuesto, eso forma parte de tu
investigación y ganas de aprender. Si lo único que deseas es que esto
funcione, carga el programa en el PIC y todo funcionará de manera
correcta. Cuando desees dar un paso más, todo estará allí esperándote.
El programa en el
ordenador
Para que puedas visualizar los datos recibidos desde la estación, hemos
construido una pequeña aplicación en Visual Basic que, como dijimos
antes, podrás adaptar a tus necesidades de uso. La estructura del
programa es muy elemental y en ella se destaca el uso del MSComm para
comunicarnos a través del puerto serie con el PIC. Sólo es necesaria la
correcta configuración de la comunicación y el resto serán etiquetas (LABEL)
donde se visualizarán los datos recibidos desde el PIC. Todo este
proceso será gobernado por un Timer que se refrescará cada 150mSeg.,
siempre a la espera de nuevos datos.
Aspecto que presenta la
interfaz del programa que te ofrecemos para comenzar
Recuerda, tú puedes
agregar más efectos gráficos o cambiar la distribución de los datos de
acuerdo a tu conveniencia, rescatando los datos útiles de la cadena
enviada por el PIC. Para facilitar esta operación, observarás que cada
transmisión de datos desde el PIC al ordenador viene precedida por un
código ASCII que equivale a un asterisco (42) (que aparece en los datos
visualizados, a modo de separador) y finaliza con un caracter 32
(espacio en blanco). Identificar esto caracteres dentro de la cadena de
datos te permitirá manipular la variable “buferentrada” a voluntad.
Conclusiones
Todos los desarrollos, montajes y construcciones poseen pequeños
“secretos o claves” de fabricación y armado. Demás está aclarar que el
primero y principal es la prolijidad y la buena terminación mecánica
para esta estación meteorológica. No olvides que esto estará allí afuera
expuesto al sol, al frío, a la lluvia y al calor. No puedes construir
algo que en dos semanas ya no funcione más. El resto está en conseguir
los materiales óptimos que mejor se desempeñen en cada parte del
montaje. El PIC, el SHT11, los conjuntos mecánicos de motor Drum y
tambor de obsoletos reproductores VHS, caños plásticos y una
construcción robusta son los pilares del éxito de esta realización. La
parte mecánica o física del desarrollo puede ser la más compleja de
realizar debido al tiempo que requiere un acabado óptimo, pero ten en
cuenta que será la garantía de un funcionamiento correcto. Esperamos que
las magnitudes medidas por el desarrollo presentado te resulten útiles
en múltiples aplicaciones, sea en forma individual o conjunta.
Importante: Si lo que encuentras
aquí te resulta útil, ayúdanos a mantener
este sitio. Cualquier donación es bienvenida. Tu apoyo nos
permitirá acceder a nuevos materiales y a montajes más
interesantes y útiles. Gracias por ayudarnos a hacer
Servisystem cada día mejor. Tu ayuda será muy importante
para nosotros. Gracias.