3d Printed Anemometer Under 5$

About: After a degree in micro-engineering in Switzerland, I moved to Russia to discover new landscapes

I am building a small stand alone meteorological station. As always, I am trying not to buy each instrument but building them as far as I can because it is :

  1. much more fun and instructive
  2. much cheaper

So I needed to find a way to measure the wind speed. An anemometer is basically a rotor with hemispherical cups mounted on it so it was a good pretext to get my 3D printer working. I also needed a way to measure the rotation speed of the rotor. I thought that a magnet and a hall sensor was a good solution.

Each time the south pole pass in front of the hall sensor, a service interrupt routine is called and a counter is incremented in the microcontroller. Each minute, the counter value is written on an SD card and reset to zero. For the moment, the result is only in rpm but if you want to have it in your favorite unit (m/h or km/h) you need to calibrate it. I will explain how I will do it. The anemometer is already on site so I will do it when returned.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Tools and Material

Tools:

  • 3D printer
  • soldering iron
  • screwdriver
  • cutter
  • sand paper
  • metal saw

Material:

  • ball bearing (D internal=5mm, D external=11mm, h=4) (it is an RC car wheel bearing)
  • hall sensor (https://www.adafruit.com/product/158)
  • magnet (cylinder d=5mm, h=10mm)
  • 3 short male headers (https://www.adafruit.com/product/3002)
  • plastic glue (I like epoxy glue like Araldite)
  • aluminium tube (d=5mm, l=27mm)
  • 3 screws without head (M3*6)

Step 2: Printing and Parts Preparation

  • Print the part with support for best result and clean it. I also like to use the brim printing option. Be sure that the parts are well adjusted before gluing it.
  • Cut your aluminium tube at 27mm length.
  • Solder the hall sensor on the header (3 pin)

Step 3: Assembly

  1. Assemble with glue the three cups with the central part
  2. Assemble with glue the tube with the central part.
  3. Press the bearing in its compartment
  4. Press the magnet in its compartment
  5. Place the bearings on the tube
  6. Press the magnet holder on the other tube end
  7. Press the three pins into its slot
  8. Screw the hall sensor box

Step 4: Program the Controller

  • You need to declare the anemometer pin (hallPin) as input and also branch a pullup resistor (physically or inside the controller by software). I did this by software with the command:

pinMode(hallPin,INPUT_PULLUP);

  • I renomment to use interruptions. In the arduino IDE, it can be done with the command:

attachInterrupt(digitalPinToInterrupt(hallPin), isr, FALLING);

  • In the ISR function I simply added the instruction:

    counter++;

  • In the main loop I check if 60 second have passed like in the arduino example (https://www.arduino.cc/en/tutorial/BlinkWithoutDelay)

unsigned long currentMillis = millis();

if (currentMillis - previousMillis > 60000) {

previousMillis = currentMillis;

//do what you want

counter=0;

}

Step 5: Calibration

As said in the introduction, my anemometer is now on site and I have all the time to prepare the calibration plan.
The plan consist in making a bike tour with the anemometer on board. By recording the anemometer speed and the wheel speed, we can calculate the relationship between the anemometer speed and the wind speed. We assume that the wind speed is equal to the bike speed so choose a day without wind.

I will soon release the code who does that.

Be the First to Share

    Recommendations

    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • CNC Contest

      CNC Contest

    2 Discussions

    None
    RaphaelT17

    Question 3 months ago

    Hello, thank very much for sharing this great piece of work with us! Have you finished the project? Would you have the calibration code? Thank for your attention :)

    None
    aparatfoto

    7 months ago on Step 5

    Hi!
    You can post entire controller software ?
    Is a possibility to make this work without interruptions?
    Thank you!