Maker Pro
Maker Pro

Peak detector for piezo drum pad

The MCP6001 should work and for 19 cents each from Digikey seem like a bargain.
Having thought about it a bit more, you could use a single transistor to do the impedance conversion but you will lose about 0.6V of your amplitude which could be significant for you.
If you find that you really do need the peak detector, come back and we'll go from there.
By the way the GBPW for the CA3140 is 4.5MHz whilst the MCP6001 is 1MHz but the difference is of no significance in this instance.
 
The MCP6001 should work and for 19 cents each from Digikey seem like a bargain.
Having thought about it a bit more, you could use a single transistor to do the impedance conversion but you will lose about 0.6V of your amplitude which could be significant for you.
If you find that you really do need the peak detector, come back and we'll go from there.
By the way the GBPW for the CA3140 is 4.5MHz whilst the MCP6001 is 1MHz but the difference is of no significance in this instance.
I definitely do need a peak detector, let me go over it again.
Does your drum produce radio frequencies?
One opamp has a gain bandwidth of 1MHz (middle of the AM broadcast band) and the other is 4.5MHz on the shortwave band.

I think you are making an electronic piano like my kids had 30 years ago but theirs used pushbuttons tp play the notes and yours uses piezos that are struck.
There are 22 drum pads with piezo transducers. They are connected to a micro controller which converts the signal to a midi message that includes the note and the velocity which is sent to a software program that plays a sample. There are no radio frequencies or led's. If you read this entire post you'll find that this has been covered. All that needs to be done is to make the analog peaks from the piezo more easily detected so that they can be converted more accurately without loosing signal strength due to diode losses etc. The circuit in post #36 looks like it may work.
 
The MCP6001 should work and for 19 cents each from Digikey seem like a bargain.
Having thought about it a bit more, you could use a single transistor to do the impedance conversion but you will lose about 0.6V of your amplitude which could be significant for you.
If you find that you really do need the peak detector, come back and we'll go from there.
By the way the GBPW for the CA3140 is 4.5MHz whilst the MCP6001 is 1MHz but the difference is of no significance in this instance.
I do need a peak detector will the circuit in post #36 work?
 
The circuit of post #36 will work. The only limitation is the maximum output voltage from the LM324 which is 2V below the power supply when looking into 10K.
The MCP6001 will also work and without the output voltage swing limitations. If you use the MCP6001 it will most likely have a bit of an overshoot due to its superior Gain Bandwidth Product. If this is so and it is a problem for you, you will need to put a capacitor of 100pF or so in parallel with the feedback resistor.
It is possible to get the output to hold up longer than the sensor pulse with a small addition to the circuit.
 
The circuit of post #36 will work. The only limitation is the maximum output voltage from the LM324 which is 2V below the power supply when looking into 10K.
The MCP6001 will also work and without the output voltage swing limitations. If you use the MCP6001 it will most likely have a bit of an overshoot due to its superior Gain Bandwidth Product. If this is so and it is a problem for you, you will need to put a capacitor of 100pF or so in parallel with the feedback resistor.
It is possible to get the output to hold up longer than the sensor pulse with a small addition to the circuit.
So if I use the circuit in #36 and a 5v supply the the maximum output voltage would be 3v? To be clear, you're saying if I use the MCP6001 in that same circuit the output may go over 3v? When you say It is possible to get the output to hold up longer than the sensor pulse, why would I want that as the circuit needs to read the peak and be able to read the next peak as soon as possible?
 
You need to have some hold because you cannot otherwise guarantee that you will see the max. You have 22 sensors to sample, and you cannot be sampling all of them at the same time. If you hold the peak for a little more than the time between scans of the same sensor, you will catch the peak.

The MCP6001 can output up to 5V when powered by 5V, that is what is meant by a rail-to-rail output.

You need to load the piezo an amount that allows you to determine the intensity of the hit by the voltage peak output. You also need schottky diodes to ground and 5V (opposite polarity) to suppress any voltages outside the range of 0 to 5V.

Bob
 
You need to have some hold because you cannot otherwise guarantee that you will see the max. You have 22 sensors to sample, and you cannot be sampling all of them at the same time. If you hold the peak for a little more than the time between scans of the same sensor, you will catch the peak.

The MCP6001 can output up to 5V when powered by 5V, that is what is meant by a rail-to-rail output.

You need to load the piezo an amount that allows you to determine the intensity of the hit by the voltage peak output. You also need schottky diodes to ground and 5V (opposite polarity) to suppress any voltages outside the range of 0 to 5V.

Bob
THANK YOU!
 
why would I want that?
If the 22 channels are being constantly polled, the MCU would have to sample all 22 channels before the peak detector output has decayed significantly, so that output might need to be held for a while. What is the processing time required to handle one peak measurement?

Edit: Bob beat me to it :).
 
If the 22 channels are being constantly polled, the MCU would have to sample all 22 channels before the peak detector output has decayed significantly, so that output might need to be held for a while. What is the processing time required to handle one peak measurement?

Edit: Bob beat me to it :).
I don't know, a few milliseconds? the MCU is doing that already is it not? So would the circuit add to latency?
 
You can't sample each channel at the same time, they are done serially therefore you may need to hold each one up for a long enough time for the processor to read it.
On a 5V supply the 6001 will output to 5V minus the forward drop of the 1n4148 so about 4.3Volts or so.
Yes you will need the Schottky to ground. Beware though as some have a significantly high reverse leakage current that could affect you results. The one specified should be OK.
 

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
And... If you read a value, you will need to read it a few more times too make sure you have the peak value. If the first read happens during the initial rise you will have misread how hard it was struck.
 
Top