Sensor for measuring frequency

Hi Guys,
I want to measure oscillation frequency of a tube.
Expected frequency is upto 300Hz.
I can't mount any sensor on the tube but can only attach on a nearby fixed surface.
Is there an optical or IR sensor?

Thanks.

Z

A piezo maybe?

PieterP:
A piezo maybe?

Piezo will be prone to a lot of noise.

How about a hall sensor?
I haven't used one yet.

zeus2kx:
I want to measure oscillation frequency of a tube.

Kind of vague! Oscillation of what? The air in the tube? The tube itself? Is the tube made of glass, copper...? What's making it oscillate? Why do you need to measure the oscillation, can't you just calculate it from the length? What precision do you need? What if its oscillating with more than one frequency at the same time (it almost certainly is)?

PaulRB:
Kind of vague! Oscillation of what? The air in the tube? The tube itself? Is the tube made of glass, copper...? What's making it oscillate? Why do you need to measure the oscillation, can't you just calculate it from the length? What precision do you need?

Oscillation of a steel tube which is oscillated by some mechanism.
I can't calculate it as it would change by changing certain parameters (which I want to test).
Precision - I can't be sure but at this stage let's say 1% error.

zeus2kx:
Oscillation of a steel tube which is oscillated by some mechanism.
I can't calculate it as it would change by changing certain parameters (which I want to test).
Precision - I can't be sure but at this stage let's say 1% error.

If the tube is creating audio frequency sounds, which your nominal 300 Hz frequency suggests, this recent thread should be relevant: http://forum.arduino.cc/index.php?topic=540969.0;topicseen

The sensor used in this case is an FC-109 amplified electret microphone module or similar.

MrMark:
If the tube is creating audio frequency sounds, which your nominal 300 Hz frequency suggests, this recent thread should be relevant: Arduino pitch detection in realtime (using autocorrelation and peak detection) - Project Guidance - Arduino Forum

The sensor used in this case is an FC-109 amplified electret microphone module or similar.

Thanks MrMark.
I am afraid that these sensors would be sensitive enough to measure small phase shift.
But I will give it a try.
Do you have a sample code (simple) for sampling data and finding frequency?

Thanks.

Z

Hi,

zeus2kx:
How about a hall sensor?
I haven't used one yet.

It would be worth a try.
If the tube is steel, can you use a magnetic field type arrangement to detect the vibrations.

Even magnetize the tube and have a coil in the vibrating field or a Hall Effect device?

You would need to make sure you use an analog output type Hall device, rather than a digital output, as you may need to amplify a small detected field change.

Tom... :slight_smile:

Assuming you're going to have just one frequency in your signal (or at least one that's very dominant): microphone --> amplifier --> Schmitt trigger --> digital input --> frequency counter.

TomGeorge:
Hi,
It would be worth a try.
If the tube is steel, can you use a magnetic field type arrangement to detect the vibrations.

Even magnetize the tube and have a coil in the vibrating field or a Hall Effect device?

You would need to make sure you use an analog output type Hall device, rather than a digital output, as you may need to amplify a small detected field change.

Tom... :slight_smile:

I was thinking of gluing a neodymium magnet and A3144E Hall Sensor.

Tube is actually SS304 which is oscillating (or going to) using electromagnet.

zeus2kx:
Thanks MrMark.
I am afraid that these sensors would be sensitive enough to measure small phase shift.
But I will give it a try.
Do you have a sample code (simple) for sampling data and finding frequency?

Thanks.

Z

Post #42 in the linked thread has the most recent code that I used. I was getting measurement errors under 1% at 300 Hz in testing.

The technique described in that thread is an approach to determining the fundamental frequency of a multi-harmonic signal, so the technique is perhaps more relevant than the particular sensor. It could be applied to the signal from any reasonably linear sensor.

wvmarle:
Assuming you're going to have just one frequency in your signal (or at least one that's very dominant): microphone --> amplifier --> Schmitt trigger --> digital input --> frequency counter.

I guess you meant to follow this hookup guide.

MrMark:
Post #42 in the linked thread has the most recent code that I used.

Thanks.
Without looking at the code, do you also have a Schmitt interrupts in the code?

zeus2kx:
I guess you meant to follow this hookup guide.

No, because I don't know that tutorial/hookup guide.

Without looking at the code, do you also have a Schmitt interrupts in the code?

A Schmitt trigger is a piece of hardware. Actually it may be unnecessary to add one, as the Arduino's pins supposedly are Schmitt triggers as well.

You know that 304 stainless is not magnetically susceptible, right? How are you planning on oscillating the tube?

ChrisTenone:
You know that 304 stainless is not magnetically susceptible, right? How are you planning on oscillating the tube?

It is slightly magnetic, moreover, I plan on attaching steel brackets around the tube for better magnetic response.

zeus2kx:
It is slightly magnetic, moreover, I plan on attaching steel brackets around the tube for better magnetic response.

Anything attached to the tube will dampen the vibration.

Paul

wvmarle:
A Schmitt trigger is a piece of hardware. Actually it may be unnecessary to add one, as the Arduino's pins supposedly are Schmitt triggers as well.

I am hesitant about using microphone. If the surrounding is noisy - alright I could use bandpass filter but still..

Paul_KD7HB:
Anything attached to the tube will dampen the vibration.

Paul

True. I will be thankful if you could suggest a different way to induce oscillations in a copper tube or any other metallic tube.
I can't use an electric motor.

This thread twists and turns! First it was how to measure frequency of vibration but the sensor could not be attached to the pipe. Later it turns out to be allowed to attach things to the pipe. Now the question is how to induce the vibrations in the first place, but a motor can't be used. Oh, and now it's copper instead of steel. What next?