element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Arduino
  • Products
  • More
Arduino
Arduino Forum I want to make an ultrasonic air flow meter. Which Arduino board is suitable for it?
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Arduino to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Not Answered
  • Replies 21 replies
  • Subscribers 395 subscribers
  • Views 4113 views
  • Users 0 members are here
Related

I want to make an ultrasonic air flow meter. Which Arduino board is suitable for it?

Former Member
Former Member over 11 years ago

Hi,

 

I want to make an ultrasonic air flow meter. Which Arduino board is suitable for it? I would use two ultrasonic sensor to measure the difference of transmit time to calculate the air flow velocity. So I also want to know which circuit / circuit diagram I can use to connect between the ultrasonic sensors and the Arduino board. 

  • Sign in to reply
  • Cancel

Top Replies

  • michaelkellett
    michaelkellett over 10 years ago in reply to Former Member +1
    Kelvin, suppose your tube is 15cm diameter and the spacing between the transducers along the tube is 20cm (sounds OK for a cooker hood chimney). The path length will be 36cm so the sound will take v. approx…
  • Robert Peter Oakes
    0 Robert Peter Oakes over 11 years ago

    Do you know what range of time will be involved

     

    this would be the time from the outbound ping to the sensor on the other end receiving it (Based on distance and air velocity)

     

    with this info you can better narrow down what kind of performance you will need from the system and therefore identify the right controller type

     

    are you reflecting the ultrasonic ping back to the same place as it was sent or having separated receiver and transmitter

     

    what transducers are you going to use ?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • mcb1
    0 mcb1 over 11 years ago in reply to Robert Peter Oakes

    Have a look at the links I posted here.

    http://www.element14.com/community/groups/internet-of-things/blog/2014/04/13/impact-vibration-and-ultrasound-sensing-with-pvdf-piezo-sensors#comment-33459

     

    Vaisala have published much of the information you probably want to know.

     

    Mark

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • michaelwylie
    0 michaelwylie over 11 years ago

    I'm not sure about the Arduinos, but I have done this exact project for a senior design class. I used a PIC microcontroller. You're probably looking at 40 kHz transducers? Seriously here, do not get the hermetically sealed transducers, the received signal strength will be significantly lower and you'll have to deal with noise issues. If I recall correctly I had a 4 stage Butterworth filter in the final design and it was still finicky, all because of the very low signal levels from the sealed transducers.

     

    Are you going for a single TX to RX configuration, or are you going to array the sensors for a directional result? I.e are you measuring wind speed or velocity? The sensors I used were mounted in a triangle and were about 10 - 15 cm apart.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 11 years ago in reply to michaelwylie

    Hi Michael,

     

    Thank you for your useful information. I want to make an airflow meter to measure the flow rate of air conditioner or range hood. My idea is to use two ultrasonic transducers clamped on a tube of diameter varied from 10 - 30cm and the transducers are mounted in V method. You are right, 40kHz transducers seem appropriate. It is the beginning of my project. I have many problems to solve. 

     

    • Two ultrasonic transducers will be used transceivers to transmit and receive ultrasound alternatively to measure the difference of transit time ( upstream and downstream ), and hence the airflow velocity. The flow rate is velocity times cross section area of the tube. However, I cannot find the circuit diagram of multiplexer for this purpose. I don't know how to obtain the transit time of upstream and downstream ( Tup & Tdn ).
    • If the Tup and Tdn can be obtained, how can I use the microcontroller to convert this data and the tube perimeter into the flow rate to be displayed in a LCD panel. I don't know MCU programming well. I heard that Arduino is more easy to learn.

     

    Could you share some more information of your ultrasonic airflow meter in detail?

     

    Regards,

    Kelvin

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • michaelwylie
    0 michaelwylie over 11 years ago in reply to Former Member

    Mounted in V-method? I'm not familiar with that term, although I may know what it is, I've just never called it that before. Could you explain?

     

    You need to determine the minimum speed you want to be able to detect and calculate the time difference you expect from the ultrasonic transducers.

    This is the minimum time that your system has to measure. If you want to use a microcontroller based system, you'd likely be using a timer in the microcontroller to measure this duration. I.e. turn on the timer and pulse the transducer. When the signal returns turn off the timer and this is the time of flight + offset, where the offset is the time for the system to complete what you've asked (turn on timer, signal propagates to the transducer etc...). To determine the offset, put the transducers together (face to face) and pulse the system. The time returned is the offset and this serves as a calibration for your system.

    From this process, you could determine the flow, but you would have to account for temperature, which you can calculate if you have a temperature sensor as part of the system. If you want to complete the two measurement option, you can subtract the two measurements (differential) and eliminate the temperature component without calculating the effect temperature has on windspeed. If I can dig up any documentation I'll share it with you.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • mcb1
    0 mcb1 over 11 years ago in reply to michaelwylie

    I did some searching last time and ran across several posts about Arduino and Wind sensing.

    (Sorry I didn't keep them or where I found them)

     

    One used the reflection from a surface to effectively increase the path time.

     

    If I recall our ones at work use a physical 'template' to ensure the probes haven't moved, and then a shroud is fitted over the whole thing (which stops the wind).

    The units can then be calibrated.

     

    Mark

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 11 years ago in reply to michaelwylie

    The " V " method is shown in the image. You are right. If two measurements ( differential transmit time ) is used, the speed of sound can be eliminated and hence the temperature from the equation. What circuit I can use to pulse the transducer and receive the return pulse alternatively and calculate the differential transmit time before input into MCU.

    image

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • michaelwylie
    0 michaelwylie over 11 years ago in reply to Former Member

    What values of times do you want to measure? Tens of microseconds? Milliseconds?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 10 years ago

    Hi Kelvin,

     

    What arduino board and sensors did you end up using?

     

    I am working on a similar project to measure breathing.

     

    For now I was thinking on placing two SRF05 sensors on opposite sides of a tube (diagonal in the tube).

     

    Thanks!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Robert Peter Oakes
    0 Robert Peter Oakes over 10 years ago

    The problem you both may face is the time between the pulse out and the response being detected, I have worked with ultrasonic flow meters in the past but they where on gas pipeline measuring a meter in diameter

     

    if your pipe is only an inch or so you may not have much resolution on the measurement, without doing the math the speed of sound and the distance will give you an idea of the timing, an arduino running at 16Mhz may not be able to capture the events with much accuracy (Most of the ultrasonic sensors do not resolve mm accuracy so external hardware may be necessary or atleast the use of actual machine/assembly code on the micro

     

    Regards

     

    peter

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube