Circuit board to amplify and filter the electrical signals from the piezoelectric disks

Thread Starter

Momme

Joined Oct 27, 2023
13
Hi, im working on creating a step counter using piezoelectric disks. The idea is that I want to use the disks as sensors and be able to read their voltage and current values with an Arduino Uno. Im also using a voltage sensor, the sensor that will be used is an ACS712 that can detect the flowing current up to 20 A for both AC and DC and output it to an Arduino. And I'm using an Arduino UNO to read the values. Before all this, I want to create a circuit board that will amplify the signal from the disks and also filters.

My question is if anyone can recommend a board that I can create in orCAD that I can use, maybe a board that can be
adjusted to change the amplify level when wanted?

Thanks in advance!
 

Reloadron

Joined Jan 15, 2015
7,523
Which piezo disk were you going to use?

You will face a few obstacles along the way. First the open circuit voltage out of most piezo disk, similar to these, is more a result of shock or vibration rather than counting steps. Step counters generally use a tilt switch. Next problem is piezo transducers like those linked to really do not output any current to speak of. You are likely looking at nano amp measurements depending on load resistance the disk is driving. An ACS 712 is not going to measure the very low currents generated. Next, piezo disk output an AC signal, that is the output goes above and below a zero volt (or zero current) line. Positive and negative above and below zero baseline. An Arduino can not have a negative input. Any analog input must be above a zero baseline or you damage the ADC input. Therefore the output of a piezo needs to be level shifted so the output waveform is never going below zero.

Step counting is one thing but using an Arduino to accurately measure voltage and current from a piezo disk gets complicated. Complicated and costly.

Ron
 

Thread Starter

Momme

Joined Oct 27, 2023
13
Which piezo disk were you going to use?

You will face a few obstacles along the way. First the open circuit voltage out of most piezo disk, similar to these, is more a result of shock or vibration rather than counting steps. Step counters generally use a tilt switch. Next problem is piezo transducers like those linked to really do not output any current to speak of. You are likely looking at nano amp measurements depending on load resistance the disk is driving. An ACS 712 is not going to measure the very low currents generated. Next, piezo disk output an AC signal, that is the output goes above and below a zero volt (or zero current) line. Positive and negative above and below zero baseline. An Arduino can not have a negative input. Any analog input must be above a zero baseline or you damage the ADC input. Therefore the output of a piezo needs to be level shifted so the output waveform is never going below zero.

Step counting is one thing but using an Arduino to accurately measure voltage and current from a piezo disk gets complicated. Complicated and costly.

Ron
Hi Ron thanks for the answer, I understand but is it possible to still do step counting and have some sort of measurements?
 

Reloadron

Joined Jan 15, 2015
7,523
Oh yes, you can still do step counting. I would suggest a tilt switch to detect step movement. You can roll your own using just a tilt switch or you can just start with an off the shelf module. I would start with the latter. This gives you pulses and you want one pulse per step. Now you just run your pulse train into about any Arduino DIO and get a cumulative count. Each time the DIO pin goes high we increment the count (++) .

Syntax
x++; // increment x by one and returns the old value of x
++x; // increment x by one and returns the new value of x

You may want to try a Google of "step counter circuits" but I would go about it the way I mentioned.

Ron
 

Reloadron

Joined Jan 15, 2015
7,523
That's one way of doing it. Also and just as an example let's assume an ACS712 and an Arduino UNO. I could use a circuit like this:

Arduino AC.png

The above is an example of measuring AC Mains voltage so R1 and R2 are just a voltage divider but note what R3 and R4 are doing. See how we shifted the AC baseline level up to 2.5 volts.

Something else comes into play when measuring an AC signal. We need to find the peak of the waveform and then multiply by 0.707 (Sq. root of 3.0) to get the RMS value of the waveform and there is more to it for non sinesoidal waveforms. Anyway, yes, we shift the baseline. Actually since we want a baseline 1/2 of VCC the same above circuit would work for 3.3 volts moving the baseline to 1.65 volts.

Ron
 

Sensacell

Joined Jun 19, 2012
3,451
This circuit was designed to create logic pulses from piezo disks.

It's important to have a variable gain, the voltage produced can vary all over the place, depending on the situation.
You will not get a single clean pulse from this, you will need to do some filtering in software to discern single steps.
This circuit responds equally to positive and negative going pulses.
 

Attachments

LowQCab

Joined Nov 6, 2012
4,075
So far, there has not been any discussion as to whether or not the proposed Piezo-Discs
are a truly practical, viable solution to creating the desired Pulses / Measurements.

A concise explanation of exactly what this overall Project is supposed to accomplish
might result in a more practical, or maybe even superior,
method of achieving the same, desired end-goal.
.
.
.
 

Thread Starter

Momme

Joined Oct 27, 2023
13
This circuit was designed to create logic pulses from piezo disks.

It's important to have a variable gain, the voltage produced can vary all over the place, depending on the situation.
You will not get a single clean pulse from this, you will need to do some filtering in software to discern single steps.
This circuit responds equally to positive and negative going pulses.

How much will this circuit increase the voltage levels and will it also level shift so that I can read the signals with my ACS712 sensor?
 

Sensacell

Joined Jun 19, 2012
3,451
How much will this circuit increase the voltage levels and will it also level shift so that I can read the signals with my ACS712 sensor?
It creates 5V logic pulses for digital inputs.
You don't need the current sensor.
 
Last edited:

Thread Starter

Momme

Joined Oct 27, 2023
13
It creates 5V logic pulses for digital inputs.
You don't need the current sensor.
okay so I only need to connect my piezo disk to it and it will create a 5v signal every time? Will this 5 v change depending on the pressure on the piezo disk?
 

LowQCab

Joined Nov 6, 2012
4,075
No.
Because your Piezo-disc does not put out a "Digital-Signal".

This is the reason why I wrote Post #8 above.

What are You trying to accomplish ?
What is supposed to be the end result ?
.
.
.
 

Thread Starter

Momme

Joined Oct 27, 2023
13
No.
Because your Piezo-disc does not put out a "Digital-Signal".

This is the reason why I wrote Post #8 above.

What are You trying to accomplish ?
What is supposed to be the end result ?
.
.
.
I would like to make a step counter, but I want my step algorithm to go after the voltage level and characteristic, so I need to be able to measure these kind of levels.
 

LowQCab

Joined Nov 6, 2012
4,075
What is a "Step-Counter" ?
( Is this device supposed to go inside a persons shoes ? )

What is a "Step-Algorithm" ?

"Characteristics" of what ?

Piezo-Discs are not very useful for measuring Pressure.

Under certain "Controlled-Conditions", Piezo-Devises will
generate a very tiny AC-Voltage, with virtually zero Current-generating-capacity,
when they are deformed by an outside-force, in a very specific manner.
.
.
.
 

Reloadron

Joined Jan 15, 2015
7,523
What is a "Step-Counter" ?
( Is this device supposed to go inside a persons shoes ? )

What is a "Step-Algorithm" ?

"Characteristics" of what ?

Piezo-Discs are not very useful for measuring Pressure.

Under certain "Controlled-Conditions", Piezo-Devises will
generate a very tiny AC-Voltage, with virtually zero Current-generating-capacity,
when they are deformed by an outside-force, in a very specific manner.
.
.
.
I tried to make that point in Post #2 but I was not successful. :( Hopefully you can do better. :)

Ron
 

Sensacell

Joined Jun 19, 2012
3,451
okay so I only need to connect my piezo disk to it and it will create a 5v signal every time? Will this 5 v change depending on the pressure on the piezo disk?
No, it just outputs a signal when the input has reached the threshold, and the output is always a 5V pulse.

Why do you need to know the characteristics of the signal? isn't it good enough just to count pulses?
 
Top