Construcción de Anemómetro - Una bonita ración de...

NUEVAS ENTRADAS

domingo, 11 de marzo de 2018

Construcción de Anemómetro

En los inicios del proyecto observamos como a la hora de calcular factores atmosféricos como la sensación térmica, existen diferentes modelos en función de los parámetros que los forman. En nuestro proyecto hemos empleado dos de esos modelos: uno en el que la sensación térmica se calcula en función de la humedad relativa y la temperatura ambiente y otro en el que también se tiene en cuenta la velocidad del viento.

Para poder obtener medidas de la velocidad del viento barajamos 2 opciones: Medirla directamente con un transductor o bien estimarla a través de medidas atmosféricas recogidas por la red ambiental de estaciones atmosféricas del Gobierno Vasco: Estaciones Atmosféricas

Dado que disponíamos de capacidad para construir un Anemómetro decidimos lanzarnos a la aventura. A través del enlace: https://www.thingiverse.com/thing:2559929 nos hicimos con el modelo .stl del cuerpo de un anemómetro imprimible en 3D. La estructura del dispositivo está compuesta por 3 elementos: base, copas y cubierta.

El proceso de impresión 3D del anemómetro:







      Impresión de las cucharas y del                elemento soporte












-El ensamblado de las cucharas sobre la cubierta se realiza mediante pegamento epoxi, introduciendo cada cuchara en su orificio correspondiente.  A la cubierta se le realiza un orificio en el borde inferior en el que se aloja un imán de neodimio que servirá como elemento transductor. Por su parte, sobre la base, se introduce por un lado un sensor de Efecto Hall digital (1 ó 0 en presencia o no de un campo magnético) así como un rodamiento 608zz que permite el giro libre del conjunto cubierta-cucharas accionado por el viento.




















Una vez el anemómetro gira, el sensor de efecto hall detecta en cada giro el imán, lo que nos permite recibir un flanco en la señal del señal y que a su vez activ aun led para visualizar la detección. La programación llevada a cabo para traducir impulsos en velocidad de viento queda dispuesta :


# -------------------------------------------------------------------
# DESARROLLO DE PROGRAMA PARA TOMAR MEDIDA DEL ANEMOMETRO (sensor efecto Hall)

# Inicialización de Variables
dist_meas = 0.00
km_por_hora = 0
rpm = 0
intervalo = 0
sensorHALL = 14 # Nº de Pin GPIO al que está conectado el sensor HALL
pulso = 0
iniciar_timer = time.time()

def init_GPIO(): # inicializar el pin GPIO
 GPIO.setmode(GPIO.BCM)
 GPIO.setwarnings(False)
 GPIO.setup(sensorHALL,GPIO.IN,GPIO.PUD_UP)

def calculo_intervalo(channel): # Función CALLBACK
 global pulso, iniciar_timer, intervalo
 pulso+=1 # incrementa el pulso en 1 cuando se da una interrupción.
 intervalo = time.time() - iniciar_timer # intervalo para cada una de las vueltas dadas.
 iniciar_timer = time.time()  #Tiempo actual = iniciar el timer de nuevo  

def calcular_velocidad_viento(r_cm): # Llamar a la función con el radio en cm como parámetro.
 global pulso,intervalo,rpm,dist_km,dist_meas,km_por_seg,km_por_hora
 if intervalo !=0:       # to avoid DivisionByZero error
  rpm = 1/intervalo * 60
  circ_cm = (2*math.pi)*r_cm # Calcular el perímetro de la circunferencia descrita por las palas del anemometro en [cm].
  dist_km = circ_cm/100000  # Convertir cm a kM
  km_por_seg = dist_km / intervalo  # calcular KM/seg
  km_por_hora = km_por_seg * 3600   # calcular KM/h
  dist_meas = (dist_km*pulso)*1000  # medida de distancia en metros
  return km_por_hora
def init_interrupt(): # Espera a detectar evento = flanco en el pin sensor hall
 GPIO.add_event_detect(sensorHALL, GPIO.FALLING, callback = calculo_intervalo, 
        bouncetime = 20)

init_GPIO() # Inicializo pin GPIO
init_interrupt() # Inicializo Interrupción


2 comentarios:

  1. hola, ¿podrá funcionar igual si aplico este tipo de sensor hall?

    Sensor Efecto Hall Lineal ss49E KY-024

    ResponderEliminar