Autor Tema: Medidor de velocidad de viento para estacion met.  (Leído 6836 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado lu6vg

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 313
Medidor de velocidad de viento para estacion met.
« en: 28 de Abril de 2003, 22:38:00 »
Hola

De los ejemplos del PCW saque este programa para contar pulsos. Lo modifique para que midiera frecuencias muy bajas y lo probe con el Proteus. Con ondas cuadradas simetricas funciona muy bien, pero con pulsos de muy corta duracion no. Me prestaron una veleta Davis y averigue como funciona. Estas tiene una tension siempre de +5V y cuando pasa el iman frente al sensor cae a 0V durante el escaso tiempo que esta el iman frente al sensor y luego vuelve a +5V hasta que pasa nuevamente. Usando el generador de pulsos de proteus simulo esto asignandole distintos tiempos a ese pulso, pero cuando el tiempo deja de ser 50% ya no funciona el programa, es decir el valor que muestra deja de ser el correcto. Como no tengo PICs disponibles no puedo probarlo en la realidad. No se si es un problema de programacion o de proteus. Les mando el programa para ver si alguien averigua que pasa.

Gracias

Luis

#include <16F877.h>
#fuses HS,NOWDT,NOLVP,NOPROTECT,
#use delay(clock=10000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)  // Jumpers: 8 to 11, 7 to 12

#define VECES 1
float fHz;


void mido_frecuencia_en() {

   char cCnt;
   long tiempo;
   int32 time;

time = 0;
for (cCnt = 0; cCnt < VECES; cCnt++) {       // Acumula VECES lecturas
   while(input(PIN_B1)) ;       // if it"s high, wait for a low
   //delay_us(3);                 // account for fall time
   while(!input(PIN_B1));       // wait for signal to go high
   set_timer1(0);

//   delay_us(3);                 // account for fall time
   while(input(PIN_B1)){        // wait for signal to go high
      tiempo=get_timer1();
      if (tiempo > 65500) {     // Controla si el contador excedio el tiempo. Valor Original = 60000
         set_timer1(0);         // Restaura el timer1 para seguir sumando el tiempo de este pulso
         time += tiempo;        // Acumula para velocidades de viento baja
      }                         // Fin if
   }                            // Fin while

   time += get_timer1();
}
time /= VECES;

   fHz = 1 / ( float ) time / 16 * 2.5;    // Periodo en uS
   fHz *= 1000000;                             // Periodo en segundos

}

void wait_for_high() {

}

main() {

   char scale;


   setup_timer_1 (T1_INTERNAL | T1_DIV_BY_8 );
   do {
      mido_frecuencia_en();
      printf("FRECUENCIA %05.1f Hz",fHz);

   } while (TRUE);
}

Desconectado diegonet

  • PIC10
  • *
  • Mensajes: 6
RE: Medidor de velocidad de viento para estacion met.
« Respuesta #1 en: 29 de Abril de 2003, 19:43:00 »
Estimado:

Te envio esta lineas con un par de ideas que espero te sean de ayuda.

En primer lugar, cuantos pulsos por vuelta entrega la veleta?
Cuantos pulsos necesitas contar?
Los transcurridos en un segundo?

Para contar los pulsos te recomiendo dos cosas,
en primer lugar no hay necesidad de conectar la veleta DIRECTAMENTE al PIC. Es mas no es recomendable.
En tu lugar, utilizaria (por usar algo barato y que funciona bien), un 555 CMOS, configurado como monoestable y que te servirá para obtener pulsos cuadrados (duty cycle del 50%).

Su funico será la de alargar los pulsos de entrada al PIC, lo que los hará más fáciles de leer.

Lo segundo, si quieres contar los pulsos transcurridos en un segundo, lo mejor sería utilizar un cristal de 3.2768MHz.

Con esta frecuencia y con el preescaler dividiendo entre 128, vas a tener una interrupcion por overflow del TMR0, 25 veces por segundo.
Sencillamente incrementas una variable, la comparas con 25 y si es asi, transcurrió un segundo.

Ahi tomas el valor de "pulsos" que se hayan leido,
le aplicas la formula del programa y los muestras.
Antes de salir, recuerda poner la variable de segundos a cero.

Al mismo tiempo puedes conectar la entrada de pulsos al port b, y habilitar las interrupciones (portb change).
Asi con cada pulso (que pase de 1 a 0), se te generará una interrupcion.

La rutina que da servicio a esta interrupcion, solo debe incrementar una variable en uno (ej, pulsos++,
que utilizará la interrupcion del TMR0 para calcular los valores necesarios.

Espero que te sea de ayuda, si te parece aceptable, escribime un mensaje a diegonet@adinet.com.uy,
ya que hace tiempo tengo ganas de armar una anemometro.

Saludos cordiales,
Diego

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
RE: Medidor de velocidad de viento para estacion met.
« Respuesta #2 en: 03 de Mayo de 2003, 09:51:00 »
Hola Lu6vg, podrias colocar nuevamente tu tabla de velocidad para el anemometro?, y si tienes alguna formula para el calculo, creo tienen que ver el tamaño de las coperolas, el largo del brazo (inercia , rozamiento...)

Gracias, un abrazo

Norberto
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado lu6vg

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 313
RE: Medidor de velocidad de viento para estacion met.
« Respuesta #3 en: 04 de Mayo de 2003, 15:43:00 »
Hola Norberto

La relacion entre la velocidad del viento y la velocidad de rotacion esta dada por:

Hz = Vv/(3.6 * Bp * 2 * pi )

Vv = 3.6 * Bp * 2 * pi * Hz


Hz: velocidad de giro en 1/seg o Hz
Vv: Velocidad del viento en km
Bp: Distancia entre el centro de la coperola y el eje de giro
pi: 3.1415927...

Saludos
Luis

Desconectado pikman

  • Moderador Local
  • PIC24F
  • *****
  • Mensajes: 682
RE: Medidor de velocidad de viento para estacion met.
« Respuesta #4 en: 28 de Mayo de 2003, 18:53:00 »
Hola, LUIS.
                 Me comentaste que estabas con 16f877, este esta dotado de un puerto de captura, yo estuve trabajando en un desarrollo para avanzar los motores con GNC y la unica alternativa valida que tuve fue usar esto, no lo termine porque hubieron algunso problemas pero es un recurso muy poderoso, como yo recien empiezo con C, y justamente las complicaciones mas grandes que yo he tenido desde siempre es el calculo matematico que desde el c son solo lineas, yo tengo un anemometro pero nunca probe nada asi que voy a ver si anda tu programa.

saludos

Ariel


               
saludos
PikMan

Desconectado lu6vg

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 313
RE: Medidor de velocidad de viento para estacion met.
« Respuesta #5 en: 28 de Mayo de 2003, 19:00:00 »
Hola

Unos amigos de PICLISTLATINA me dieron una mano y el programa ahora funciona bien. Tengo dos versiones una usando interrupciones y otra sin. Las dos me funcionan en proteus y en breve voy a armarlas en un pic. Necesitaria simular un pulso. Me comentaron que con un 555 podes generar distintas frecuencias e incluso estas se pueden hacer de tal manera que no sean simetricos los 1 y ceros. ¿Tenes idea de como hacerlo?

Saludos

Luis

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: Medidor de velocidad de viento para estacion met.
« Respuesta #6 en: 29 de Mayo de 2003, 00:12:00 »
Hola lu6vg.

¿Podrías bajar esas dos versiones? La semana pasada realicé un frecuencímetro contando los pulsos que le llegan al TMR1 en un determinado intervalo de tiempo. Si te interesa ... ya sabes.

Un saludo

Desconectado pikman

  • Moderador Local
  • PIC24F
  • *****
  • Mensajes: 682
RE: Medidor de velocidad de viento para estacion met.
« Respuesta #7 en: 29 de Mayo de 2003, 20:47:00 »
Hola LUIS,
                Tengo algunos circuitos e informacion que te pueden servir, pasame una direccion de mail y te lo envio,  tengo una anemometro que me regalaron, voy a probar tu programa, no se el ancho de los pulsos pero voy a tener en cuenta lo que me decis, lo unico que voy a modificar es el programa para que me lo amnde al LCD, lo que me parece es que solo me faltaria medir la humedad y la posicion de la veleta, pues la presion la tengo....la velocidad del viento casi es un hecho, vos sabes que participe de un seminario de microchip hace unos años en donde ponian como ejemplo una estacion meteorologica, bueno espero tu respuesta, asi te mando la info sobre el 555,

saludos

Ariel

saludos
PikMan

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
RE: Medidor de velocidad de viento para estacion met.
« Respuesta #8 en: 29 de Mayo de 2003, 22:25:00 »
Hola Ariel, asi que fuiste al seminario!!!, yo tambien estube por alli!...., practicamente fui a todos, solo falte a uno....
un abrazo, y espero encontrarte personalmente en un proximo seminario...


Norberto
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado marmatar

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1220
    • MSTools
RE: Medidor de velocidad de viento para estacion met.
« Respuesta #9 en: 30 de Mayo de 2003, 13:24:00 »
Por ahí tengo un circuito de un cuentarrevoluciones óptico para aeromodelismo que utiliza un pic, no se como resuelve el tema de la cuenta de los pulsos pero quizás les de alguna idea, en cuanto lo encuentre lo coloco aquí... lo que no recuerdo es si el programa esta compilado o si es el código...

Si les sirve ya saben.

marmatar
Lo posible ya está hecho, entonces hagamos lo imposible - Platón

Desconectado marmatar

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1220
    • MSTools
RE: Medidor de velocidad de viento para estacion met.
« Respuesta #10 en: 30 de Mayo de 2003, 15:13:00 »
Bueno... no encontré el que les nombré en el mensaje anterior (ya va a aparecer) , poro encontré otro.
Les paso el esquemático y el programa... que lamentablemente está en .hex
Pero quizás puedan traducirlo a asm con algún programa y sacar alguna conclusión...

espero sirva de algo..
marmatar
Lo posible ya está hecho, entonces hagamos lo imposible - Platón

Desconectado pikman

  • Moderador Local
  • PIC24F
  • *****
  • Mensajes: 682
RE: Medidor de velocidad de viento para estacion met.
« Respuesta #11 en: 30 de Mayo de 2003, 20:34:00 »
Hola, LUIS,
                 Te mande un mail, es el que esta en un post, en todo caso si no te llega pasame una direccion y te lo reenvio, es info con respecto a lo que preguntas del 555.

saludos

Ariel
saludos
PikMan

Desconectado pikman

  • Moderador Local
  • PIC24F
  • *****
  • Mensajes: 682
RE: Medidor de velocidad de viento para estacion met.
« Respuesta #12 en: 30 de Mayo de 2003, 20:40:00 »
Hola, Norberto,
                        Si estuve ahi, en Julio 7 de 2000 en donde estan los cines, en la calle corrientes, que frio no?, bueno desde aquella vez creo que nunca mas hicieron nada, habia una idea de juntarse que me comentaron para cambiar algunas ideas pero el que lo estaba organizando se caso y bueno ahi quedo, espero que hagan algo y seguro que nos vemos por ahi,

saludos

Ariel

saludos
PikMan

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
RE: Medidor de velocidad de viento para estacion met.
« Respuesta #13 en: 09 de Febrero de 2005, 21:04:00 »
La humedad

La humedad.


Tension de vapor saturante.

La tension saturante, o presion parcial de vapor de agua queproduce la saturacion de humedad, a una temperatura determinada viene dada por la fórmula(usando notacion del C) :

double Esat(double t){  return 193145600.0 * pow(10,-1779.75/(237.3+t));}

En esta fórmula, la temperatura viene dada en grados centígrados, con unaprecision recomendada de una décima de grado. La constante 237.3 está bien así, noconfundir con 273.15, ya que esta es una fórmula empírica y no tiene nada que ver latemperatura absoluta en grados kelvin.

El resultado viene dado en milibares, con una precision de una décima de milibares suficiente.

El operador "pow(10, ..."  significa "diezelevado a ..." notacion propia de C.

------------------------------------------------- --> -------------------------------------------------- -->

Tension de vapor calculada con el psicrómetro.

La formula siguiente, nos proporciona la tension de vapor o presionparcial de vapor actual, calculada a partir de las temperaturas del termómetro secoy el termómetro humedo.

  emb = Esat(th) - 0.000799 * pmb * (ts-th); 

En esta fórmula,  ts-th es la diferencia entre el termómetro secoy el termómetro humedo, en grados centígrados, con una precision recomiendada de unadécima de grado.

La presion  pmb   es la presion atmosférica en milibares,tiene  poca influencia en el resultado final, se puede adoptar el valorcorrespondiente a la atmósfera estandard a la altitud en la que nos encontremos, o bienen altitudes bajas un valor de 1000.  En cualquier caso, influye más cuando lahumedad es baja.

El sumando  Esat(th)  es la tension saturante calculada para latemperatura del termómetro humedo con la fórmula mostrada anteriormente.

El resultado  emb es la tension de vapor actual en milibares, conuna precisión de una décima de milibar es suficiente.


Humedad relativa.

La humedad relativa es el cociente, expresado en tanto por ciento, entre la tensionde vapor actual y la máxima tension de vapor (es decir la saturante)a la temperatura actual. La formula por lo tanto es la siguiente:

  H = 100 * emb/Esat(ts); 

Los valores  emb  y   Esat(ts) se calculancon las fórmulas anteriores  (ts es la temperatura del termómetro seco).

En el valor de H se puede prescindir de decimales.


Punto de rocío.

El punto de rocío viene dado por la siguiente fórmula:

   td = -237.3 - 4098.0258/log(emb/193145600); 

En esta fórmula, emb es la presion parcial de vapor actual, lafuncion log es un logaritmo neperiano (En C se escribe log, no ln).El resultado se obtiene en grados centígrados.

Esta fórmula es la inversa de la formula Esat(t) , por lo que si laformula anterior se ha implementado con una tabla, se puede realizar ahora una búsquedaen la misma tabla pero a la inversa.

 


Humedad absoluta.

La humedad absoluta se expresa en gramos de vapor de agua por metrocúbico, y se puede calcular con la siguiente formula:

   a = 216.9 * emb / T; 

El valor emb es la tension de vapor, en milibares. T es la temperatura en gradoskelvin, por lo tanto:

   T = ts + 273.15;                 

Proporción de mezcla.

La proporción de mezcla es la humedad expresada en gramos de vapor deagua por kilogramo de aire. No hay mucha diferencia si se considera el Kg de aire seco ohúmedo, y vale como aproximación la siguiente fórmula:

   q = (5 / 8) * (emb / P) * 1000;            

En esta fórmula emb es la tension de vapor en milibares, P esla presion atmosférica en milibares, y el resultado se obtiene en gr/Kg.


Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
RE: Medidor de velocidad de viento para estacion met.
« Respuesta #14 en: 10 de Febrero de 2005, 05:15:00 »
Maestroo!!
Ya utilizaste el sensor de humedad ??
Me interesa tener mas info, ya que es el proximo paso de mi proyecto, tengo el sensor pero aun no hice experiencia...Sonrisa GiganteSonrisa Gigante
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.


 

anything