Oscillator help

Anyone know how to hook up a quartz pressure transducer to the arduino.

The sensor is based on a pressure controlled quartz crystal oscillator with frequency 36-40kHz 0-200psia. It says integration is 40 secs.

I've been trying to read up on this, but still don't know what to do. Any help?

I think it needs to be a low power oscillator circuit. There may need to be an amplifier in there somewhere?

Can you provide a link to the datasheet for the transducer?

wwdd: Anyone know how to hook up a quartz pressure transducer to the arduino.

Would expect to see this kind of thing in the datasheet or application notes - first port of call.

Unfortunately there is no datasheet with this transducer because it is from an old instrument (1970's). So, I've been attempting to figure out how to hook it up, but am a complete novice. There is a link for the companies newest transducers, but they include things that mine does not, and when I contacted the company I was told that they were unable to assist me and had no information on the transducer.

Can you provide some photographs of the transducer, along with any other information you have about it? Do you know how it was connected in the old instrument?

Based on:

The sensor is based on a pressure controlled quartz crystal oscillator with frequency 36-40kHz 0-200psia.

I would guess that it has 3 pins (power, ground, and output). In that case, you would need to apply the correct voltage to the power pin with respect to ground (probably +5V, but could be different), and use the Arduino to measure the frequency of the signal from the output pin.

The transducer looks similar to that attached. Info on mine is: Model 2200 as-002, 0-200psia, digiquartz pressure transducer. I believe the voltage supplied to the transducer is 6v. If I hook this straight up to a dmm it will give me a frequency in the 13-14kHz range.

The old circuit was setup to record to reel to reel tape, so I am assuming that the circuit is completely different. The 2nd attachment to this post is for another pressure transducer from the same company, but it might provide some insight to someone. The 3rd attachment is from another instrument as well, but uses the same type of pressure transducer. I don’t even have a manual for the instrument I have.

Final Calibrations.pdf (110 KB)

Doc2.doc (186 KB)

wwdd: The transducer looks similar to that attached. Info on mine is: Model 2200 as-002, 0-200psia, digiquartz pressure transducer. I believe the voltage supplied to the transducer is 6v. If I hook this straight up to a dmm it will give me a frequency in the 13-14kHz range.

What's the problem then? All you need to do is to hook it up to an Arduino configured as a frequency counter. Then map the result from frequency to pressure. See for example http://interface.khm.de/index.php/lab/experiments/arduino-frequency-counter-library/.

What's the problem then? All you need to do is to hook it up to an Arduino configured as a frequency counter. Then map the result from frequency to pressure.

Would I not have to hook this up to an amplifier circuit first? Or just straight to the Arduino? As well, I wouldn't really know how to go about mapping the result to pressure, as the frequency readings I get from a dmm and the frequency counter are completely different.

Sorry, I forgot about the schematics on that link. I will try and find an amplifier and hope that works for more stable results.

wwdd: Would I not have to hook this up to an amplifier circuit first? Or just straight to the Arduino?

Try hooking it to the Arduino T1 input (digital pin 5) through a 10K series resistor. If that doesn't work, you can use either of the two preamplifiers shown in that page I linked to.

Another possibility is to use the analog comparator (with noise filter enabled) as the amplifier, and measure the time taken to receive a fixed number of interrupts.

wwdd: As well, I wouldn't really know how to go about mapping the result to pressure, as the frequency readings I get from a dmm and the frequency counter are completely different.

You said "The sensor is based on a pressure controlled quartz crystal oscillator with frequency 36-40kHz 0-200psia.". Doesn't that give you the required mapping? Do the readings from the frequency counter agree with that?

Thank you for your assistance. I am getting readings from the arduino although they are not giving me what I would expect. an image is attached of the readings. I am looking into the noise filtering option now among other options to test. Thank you again.

Doc3.doc (45.5 KB)

Do you have access to an oscilloscope? If so, take a look at the transducer output signal, look at its wave shape, and measure its amplitude.

Do you have access to an oscilloscope? If so, take a look at the transducer output signal, look at its wave shape, and measure its amplitude.

Settings:
Volts: 0.5V/div; Time: 5us sec/div
The circuit is 6Vdc on red wire, black to ground, and blue wire hooked up to the oscilloscope. Attached is a picture of the oscilloscope screen. There is 0 pressure being applied to the transducer. when the dmm is hooked up it reads 38.12kHz (I know before I said different, but I must have done something wrong then). Now the oscilloscope seems to give me approximately 14us time which is approximately 71kHz…

Apparently I need to brush up on how to read an oscilloscope. That image is actually showing 37kHz.

Looks like you have a clean 3V peak-to-peak signal, that you should be able to feed into the Arduino input without amplification. You may possibly need to level-shift it Was the oscilloscope input set to AC or DC coupling? If it was set to DC, where on the scale is 0V?

Was the oscilloscope input set to AC or DC coupling? If it was set to DC, where on the scale is 0V?

Under the volts/div it was set to AC, but the coupling was set to DC.

wwdd:

Was the oscilloscope input set to AC or DC coupling? If it was set to DC, where on the scale is 0V?

Under the volts/div it was set to AC, but the coupling was set to DC.

Sorry, I don’t understand what you mean.

There are two possibilities:

  1. The transducer has no capacitor in series with the output. If the scope is set to DC coupling, then 0V will be lower on the screen than the negative peaks. If the negative peaks of the signal are at about 1.5V or less and the positive peaks are at about 3.5V or more, then you should be able to get a good signal by connecting the output to the Arduino pin through a 10K resistor.

  2. The transducer has a capacitor in series with the output. if the scope is set to DC coupling, then 0V will be about half way up the screen. In that case, as well as the 10K series resistor, try connecting a 100K resistor between the Arduino pin and +5V, and another between the Arduino pin and ground.

dc42, sorry about the confusion. I now have a 10kOhm resistor, and a 0.1uF capacitor is series with the transducer output and the oscilloscope. The oscilloscope is set to dc coupling. The line on the screen, when set to gnd, was set to be mid screen. So the waveform goes above and below the midpoint of the graph on the screen.

I am now going to set up a clamper circuit to raise the waveform above 0V, so that maybe I will get better readings with the arduino. I hadn’t even thought of that.

wwdd: dc42, sorry about the confusion. I now have a 10kOhm resistor, and a 0.1uF capacitor is series with the transducer output and the oscilloscope. The oscilloscope is set to dc coupling. The line on the screen, when set to gnd, was set to be mid screen. So the waveform goes above and below the midpoint of the graph on the screen.

Try it without the 0.1uF capacitor.

DC42,

Thank you so much for all of your help. I hooked the signal up to a level shifting circuit prior to reaching the Arduino and now it works great. Although while the old manual said 38-40kHz range, it is actually going from about 38-36kHz but that's alright with me. I am getting reading in the right range now. I was getting a little worried that I would not be able to get this figured out, but with your tremendous help it seems to be working great now.