Interfacing a piezo to an arduino

  • Thread starter Thread starter Rx7man
  • Start date Start date
  • Tags Tags
    Arduino Piezo
Click For Summary
The discussion centers on interfacing a piezo crystal with an Arduino for a diesel engine timing monitor project. Participants highlight the need for a compatible circuit due to the piezo's high voltage output, suggesting methods like using a 1 meg resistor or a VR sensor IC like the MAX9924 for noise filtration and zero crossing detection. Concerns are raised about the piezo's output characteristics, with suggestions for using voltage clamp diodes and charge amplifiers to properly interface with an A/D converter. The importance of a fast sample rate and appropriate A/D input impedance for accurate readings is emphasized, along with the potential need for an anti-alias filter. Overall, the conversation explores various technical solutions and considerations for effective piezo integration.
Rx7man
Messages
425
Reaction score
189
I'm looking to build a device that takes a pulse from a piezo crystal and interface it to a microcontroller.. I know the piezo is a very high voltage device, so I need to find some way to make it compatible.. I looked it up on the Arduino site and it seems like a terribly primitive method to use a 1meg resistor in parallel with it.
I was thinking perhaps a VR sensor IC chip like the MAX9924 which is capable of some noise filtration, zero crossing detection, and I need them in my project anyhow.
https://datasheets.maximintegrated.com/en/ds/MAX9924-MAX9927.pdf

The application is a diesel engine timing monitor, I'll have a VR sensor on the cam gear (10* per tooth), with a hall effect sensor to sense #1 cylinder position, the Piezo crystal.. Something like what's shown here https://www.amazon.com/dp/B00063Y1LU/?tag=pfamazon01-20I may need to play with the resistor values a bit, start with more resistance and lower it until it works
1602359332530.png


Open to other ideas, maybe there's a specific chip for this? I didn't see anything when I searched Mouser
 
Engineering news on Phys.org
What's the dynamic range? The first thing that comes to mind is a log amp coupled with an automatic gain control, etc. Sorry I don't have anything specific.
 
  • Like
Likes Rx7man
I'm really not sure what the dynamic range is going to be! I'm going to have to build the piezo clamp first.

Only thing that makes me question the MAX9924 chip is it usually gets a sinusoidal input and I don't know how it'll like a very peaky input..might be some trial and error there
 
I sent a tech support question to Maxim.. maybe they have an idea.. worth a shot
 
Sorry, I'm not understanding the piezo transducer part. AFAIK, a piezo transducer converts force impulses to capacitive voltage spikes. Where are you making mechanical contact with something to provide those force impulses to the piezo transducer? I looked in your links, and did not see a datasheet for the piezo transducer that you want to use -- can you post a link to the datasheet? (sorry if I missed it)
Rx7man said:
I know the piezo is a very high voltage device
Only if the force impulses are really big, and even then the source impedance is very high. Simple voltage clamp diodes to the rails are generally enough to clip the voltage impulses from a piezo transducer.
 
  • Like
Likes Rx7man
I'm not sure which transducer to use at this point
Here's the reply from Maxim.. that last line is a little hard to english
1602695365492.png
 
Some comments:
My experience with piezoelectric transducers is that they need a charge amplifier (search the term) to properly interface with an A/D converter.

If you want to monitor pressure pulses in a diesel injection line, you will need a sample rate fast enough to capture the pulses. Figure on at least 5, and preferably 10, samples per pulse duration. And a processor fast enough to process the signal in between samples. You may also need an anti alias filter.

I did some tinkering with an Envirodiy Mayfly Arduino board: https://www.amazon.com/dp/B01F9B4WCG/?tag=pfamazon01-20. This board is designed for data acquisition. It comes with a real time clock, 10 bit and 16 bit A/D converters, multiple power supply options, and has a built in micro SD card slot. The A/D input impedance needs to be less 30K ohms for good accuracy and repeatability. I learned this after trying to measure an external battery voltage using a 1 Meg / 300K voltage divider. A 100K / 30K voltage divider worked well, while a 1 Meg / 300K divider had an unacceptable level of both random noise and bias error.
 
  • Like
Likes Rx7man and berkeman
That's an interesting board, though I don't need to know the magnitude of the pulse, so there's got to be a way of doing this without an A/D converter and repeated sampling..

A charge amplifier may be necessary though, and will be kept in mind for sure
 

Similar threads

  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 11 ·
Replies
11
Views
5K
  • · Replies 1 ·
Replies
1
Views
3K
Replies
4
Views
2K
  • · Replies 3 ·
Replies
3
Views
474
Replies
2
Views
1K
  • · Replies 13 ·
Replies
13
Views
2K
Replies
4
Views
1K