Modular Anemometer with roller scate bearing and data logger

I designed this in order to find the best place in my garden to mount my vertical wind turbine, it turned out so well…
23
122
0
839
updated May 2, 2025

Description

PDF

The python code for the project is published here:  jattie-ire/anemometer: 3D printed anemometer with a raspberry pi data logger (github.com)

I designed this in order to find the best place in my garden to mount my vertical wind turbine, it turned out so well I decided to share it.

Also see the rain meter that works on the same principles used here: Tipping Bucket Rain Meter by jattie | Download free STL model | Printables.com

To create a frequency counter using the EE-SX672 sensor with a Raspberry Pi, you can follow these steps:

  • Connect the EE-SX672 sensor to the Raspberry Pi. The sensor has four pins: Vcc, Gnd, Output, and Input. Connect Vcc to a 5V pin on the Raspberry Pi, Gnd to a ground pin, Output to a GPIO pin (e.g., GPIO 17), and Input to the signal you want to measure the frequency of.
  • Install the necessary software libraries. You will need the RPi.GPIO library for Python to control the GPIO pins. You can install it by running the command pip install RPi.GPIO.
  • Write a Python program to read the GPIO pin and measure the frequency. Here is an example code:

Python code for rpm counter

import RPi.GPIO as GPIO import time

GPIO.setmode(GPIO.BCM) GPIO.setup(17, GPIO.IN)

def count_frequency(channel): global count count += 1

count = 0 GPIO.add_event_detect(17, GPIO.RISING, callback=count_frequency)

try: while True: time.sleep(1) print("Frequency: ", count, "Hz") count = 0

except KeyboardInterrupt: GPIO.cleanup() In this code, we set up GPIO 17 as an input pin and use the GPIO.add_event_detect function to detect rising edges on the pin. Each time a rising edge is detected, the count_frequency callback function is called, which increments the count variable. We then print the frequency every second and reset the count.

  • Save the program as a Python file (e.g., frequency_counter.py) and run it using the command python frequency_counter.py.

This code will count the number of rising edges on the GPIO pin within a one-second interval and print the frequency in Hz. You can modify the code to suit your specific requirements, such as storing the frequency in a file or displaying it on an LCD screen.

Calculating wind speed

For a three cup anemometer with half spherical cups of 80mm diameter and the cup centers at 155mm from rotation point and the device turns and 60 rpm, what is the resulting wind speed?

To calculate the wind speed, you can use the formula:

Wind Speed (in meters per second) = (πD RPM) / (2* C)

Where:

  • D is the diameter of the cups (in meters)
  • RPM is the revolutions per minute
  • C is the distance from the cup center to the rotation point (in meters)

In our case:

  • D = 80mm = 0.08m
  • RPM = 60 (revolutions per minute)
  • C = 155mm = 0.155m

Plugging in the values into the formula:

Wind Speed = (π0.08 60) / (2* 0.155)

Simplifying the equation:

Wind Speed ≈ 7.307 m/s

Therefore, with a rotation speed of 60 RPM, the resulting wind speed would be approximately 7.307 meters per second.

Print Settings

Printer Brand:

Creality

Printer: 

CR-10S

Rafts:

No

Supports: 

Yes

Resolution:

0.2

Infill: 

10%

Filament: Xinting PETG+ White 

 

How I Designed This

 

Started with a sphere, sliced it in half, added a shaft with supports for strength. Then proceeded with a bearing holder and insets to screw the cups into.

Lastly I designed and printed mountings.

 

Category: Physics & Astronomy

Tags



Model origin

The author marked this model as their own original creation. Imported from Thingiverse.

License


Featured in Articles

Highlighted models from creator

View more