Estación Meteorológica NeoTeo (Parte II)

Estación Meteorológica NeoTeo (Parte II)

0 Flares Twitter 0 Facebook 0 Google+ 0 Pin It Share 0 Email -- 0 Flares ×

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.

Estación Meteorológica NeoTeo (Parte II)

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.

Estación Meteorológica NeoTeo (Parte II)

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.

Estación Meteorológica NeoTeo (Parte II)

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.

Estación Meteorológica NeoTeo (Parte II)

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 (SHINSHOUT)
  • 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.

Estación Meteorológica NeoTeo (Parte II)

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.


Avatar de Mario
Autor: Mario
  • Luxax

    que pedazo de nota, una pregunta mario, tu vives en argentina??? me encantaria tomar clases de ti, me interesa mucho, pero entiendo poco

  • JackOzz

    Simplemente…… bárbaro!!!

  • Falke

    Estimado Mario,

    Excelente trabajo, así dan ganas de construir cosas!. Siempre estoy leyendo tus artículos.

    Un abrazo a la distancia amigo.

  • mindmaster

    gracias mario por fin podre completar mi estacion eres increible amigo¡¡¡¡¡ pero tengo una pregunta ¿habra una tercera parte?.

  • Yesbond

    Hola Mario:

    Me gusto mucho la primera parte con la que empieza el articulo, porque a varias personas les he comentado del genial proyecto de esta estacion metereologica y muchos tantos me preguntan que para que saber la direccion del viento o velocidad? o la humedad?, y lo unico que respondo es preguntadoles que si ellos por si solos podrian hacer una estacion como estas, y se quedan callados. Lo importante de estos proyectos son las cosas que los componen y como todo funciona en armonia para un mismo objetivo, ademas hay muchisimas aplicaciones que pueden tener cada cosa que nos enseñas.

    Y bueno creo que una persona es mas inteligente cuando enseña a lo demas lo que sabe, porque es tan inteligente que no le da miedo seguir aprendiendo y seguir enseñando; la gente poco inteligente no enseña porque le da miedo no aprender mas; por este motivo eres una persona que admiro mucho, y admiro tu inteligencia.

    Estare a la espera de los proximos articulos con muchas ansias.

    Un abrazo de tu amigo Colombiano, y mejorate de esa tos.

    • antiyesbond

      Ya me llegaste tio, no puedes ser mas sobon, porque de una vez no te le declaras a Mario, siempre que Mario lanza un nuevo tema tienes que estar besandole los pies, mejor haz preguntas de lo que no entiendas y deja de ser tan sobon.

  • gastrowolf

    Saludos Mario, son excelentes tus notas en esta revista digital, una pergunta que programa ocupas para el dibujo de los esquemas

  • tekenen

    Excelente maestro Mario solo queria hacerte una pregunta que lenguaje me recomiendas para aprender a programar PIC´s y que pic en particular (o algun tuto en especial) ya que deseo aprender para asi poder realizar tus proyectos, como el del receptor multibanda, y este que en particular me ha llamado mucho la atencion.
    Ya que yo he estado navegando por la red y en lugar de resolverme la pregunta me confunden mas ya que unos me dicen que assambler otros que en c otros que basic, y por fin termino sin saber cual utilizar y termino por no hacer nada y con un monton de archivos .
    Ha y si tienes un circuito para programar los pic´s ya que tambien no se cuan pudiera escoger y que funcione de verdad.

    De antemano te doy las Gracias y te felicito por tus geniales aportaciones

  • mt

    he buscado en las paginas de varias casas de electronica de bsas y no he encontrado, alguiens sabe quien tiene en stock el sensor de humedad ?
    dede ya muchas gracias

  • lord_knicker

    Mario podrias publicar algo para visualizar la información en el ordenador por medio de conexión usb ? Y si no tienes mucho tiempo al menos una ayudita a mi correo "relzon_stal@hotmail.com" de antemano muchas gracias.

    Un cordial saludo desde El Salvador.

  • Elpincho

    "Excelente maestro Mario solo queria hacerte una pregunta que lenguaje me recomiendas para aprender a programar PIC´s"

    Hey tekenen lame-escroto por que no te compras un libro y dejas de joder por aca…

  • Ferse

    Genial, Mario magnifico proyecto,solo faltaria agragarle un medidor de presion barometrica.

  • vacanito

    Don Mario de nuevo muchas gracias, ojala alcances a leer esta consulta, cuando vas a hacer un proyecto sobre luces para discoteca?. También me permito desde este momento proponerte para premio Nobel de Proyectos premio fuera de concurso por que nadie tiene competición contigo.

  • Leo

    Hola, me gusto mucho el proyecto y lo comenze pero tengo un problema, el motor que consegui tiene un sensor de efecto hall con 4 pines y no tiene numeración. Si alguien tiene una idea de como se conecta me ayudaria bastante. Muchas gracias!!

  • voltio

    Hola muy bueno el proyecto, la consulta es donde hacer los "gabinetes" o los implementos plasticos, por ejemplo veleta,o el recipiente de agua para la lluvia,etc.
    gracias

  • Jonah

    Estoy tratando de hacer este proyecto y me interesa bastante pero no hay este PIC y traerlo de afuera me saldria costosisimo alguna sugerencia con cual PIC puedo remplazarlo..??

  • Juan

    Hola, ATENCION…
    Hay un pequeño error en el esquema que puede cortocircuitar o quemar el SHT11, justo esta en la señalización de los pines IC4= Header x4 del SHT11, fíjense la pata 1 corresponde a VCC mientras que el SHT11 = GND, La pata 4 del esquema es GND mientras que dicho integrado es VCC.
    Saludos.

  • asoliard

    Muy interesante… Trabajo en Hidraulica de la provincia de Entre Ríos, tenemos una red de 10 estaciones automaticas, la verdad me llamo mucho la atención, y esta muy bien diseñada, el dato que mas nos sirve a nosotros son las precipitaciones (lluvia). En las estaciones que nosotros usamos, funciona con un embudo, que llena unas paletas (al estilo subi-baja) y este abajo tiene unos imán que generan impulsos, el problema en este caso, sería con que codificar los impulsos…

    ¡Muy interesante!

  • jam0_0

    Hola, antes que nada muy bueno y útil tu proyecto, quería saber que herramienta has usado para hacer el archivo .bas porque quiero modificarlo y me da muchos errores como por ejemplo desde "device = ****" el programa Pic Basic IDE me manda error al compilar.

    Saludos y gracias por tu respuesta

    • Juan

      Hola,
      Yo he utilizado ProtonIDE de Mecanique y va perfectamente.

      Saludos.

      • jam0_0

        Hola, gracias por tu respuesta, efectivamente, con este programa si va de pelos.

  • pelete

    Hola Mario, te escribo para felicitarte por este proyecto, como veras soy nuevo en el foro y recien estoy viendo los proyectos presentados, muchas gracias por tu tiempo y empeño.

    Saludos.

  • seslisohbet

    Great!!! thanks for sharing this information to us!

  • juan

    perdon por mi ignorancia pero ¿por que no usa el sensor hal del propio cabezal del video para medir como anemometro?

  • Anónimo

    poca madre compadre

  • Anónimo

    poca madre compadre