Weak Sensor Signals across Long Distance Wire

My project involves making a circuit that requires a lot of distance between the piezo elements (supposedely able to send out a max of 3V) involved and the breadboard+arduino. When I test the circuit on a miniature scale all is well, and I can get readings that make sense from the piezo (0 when left alone, 50+ when pressed). Below is our attempt of an explanation, but it sounds a bit complicated and farfetched to me for such a simple circuit, I was wondering if someone could verify it (I'm not all that familiar with circuit-electronics).

When I connect the lengthy wires between the piezos and the breadboard, my readings change. I am immediately getting readings of 500 (out of 1023 integers), and instead of increased voltage occuring when I put pressure on the piezo, there is a decrease instead. This I was stumped by.

After lots of experimentation with an electronics lecturer (who to be fair wasn't familiar with the arduino), we discovered that even though there was no powersource in the circuit and I was only using the ground and A0 pins on the arduino, we still got a reading on a voltmeter between those two pins saying there was a 1V drop. This was surprising news to me.

We thought perhaps it was down the resistance of the wire being so high, causing an increase in voltage, so the 1V was increased to roughly 3.5V due to increased resistance. When the piezo is pressed, this sends a voltage in the opposite direction and instead decreases the net voltage. But both voltages are alternating current so I would have expected that the 'opposite' manner of the voltages would not apply.

If I want to fix this issue, is there a reliable type of low resistance wire that can be used for this, assuming that is the problem?

Many thanks,
B

I think you basically have a floating input and you're seeing random voltages. Longer wires would just increase that problem -- like a longer antenna. Add a high value resistor (~1 megaohm) between A0 and GND.

1 Like

If I am to understand the term floating input correctly, then I would need for there to be a loose or open end connection somewhere along the circuit. Do you mean that the piezo element itself is nautrally a floating sensor input based due to the way it physically operates?

I added the 1Mohm resistor in series between the piezo and the ground, I also tried this in paralell. Is this what you meant? I just read up on pull-up and pull-down resistors, but that wouldn't really explain why the voltage is going up instead of the current.

The 1M resistor would be in parallel with the piezo.

Regarding a "floating" input, if you were to stick a wire into any random analog port and try analogRead() on it you'll get somewhat random values. There is no pull up or down so radio waves, noise from mains circuits, static electricity, touching it... anything can affect the reading. That would be a floating input and I think that's basically what you have when there's no resistor in parallel with the piezo.

Tapping the piezo should generate a voltage that can be read by the Arduino but only for a brief amount of time. Pushing on the piezo or holding it pressed shouldn't cause much of any reading.

I would be inclined to put the resistor on the arduino end rather than the remote end.
1M is still quite high and you will get a decent amount of pickup with that.
The fact is that your circuit is not suitable for what you are trying to do with it. You need a buffer amplifier on the output of each sensor before feeding it along a long wire.

As previously noted it is in impulse detector not a push sensor.

After lots of experimentation with an electronics lecturer

Familiar with an arduino or not, he is not much of a lecturer as this sort of thing happens with all circuits.

I understand that the analogue pin would only read random values coming from a loose wire. But I was surprised to see today that if I did this, there was actually a pattern to the randomness - It kept cycling between 0 to 1023 up and down at approx 0.3Hz.

When I for the sake of experimentation decided to reload the same code that was already on the arduino, this pattern changed to something like 0, 1023, 4, 1020, 6, 1010, 10, 1001 etc. (photo attached). You'll notice every second reading is an decreasing value from 1023, and the opposite for every other reading.

For interests sake, does anyone have an explanation for these patterns if they are supposed to be interference, and why the pattern changed form when I reloaded the same code.

These patterns were present when running the closed circuit as well (when the resistor was in series), expect at a much much slower rate. When the resistor is in paralell, I get values 30-40 constantly and when I touch the piezo this drops to zero for a moment and then returns. The reverse of what I expected, I thought it would increase voltage.

Sigh, I thought an amplifier might be the only option all right. Unfortunately, my project includes floating balloons, and they won't be able to accommodate for more weight than the piezos. Maybe its back to the drawing board, or else make MANY compromises to my project.

Below I've attached what is hopefully my final circuit. I will examine it many times before I actually set it up.
Thanks for all your help so far!

Screen shot 2014-04-18 at 16.33.09.png

Full Diagram IMT.fzz (21.5 KB)

_2_Multiplexers_With_LDRs_PiezosB.ino (6.53 KB)

For interests sake, does anyone have an explanation for these patterns if they are supposed to be interference,

Interference does not equal random.
What you are seeing is the beating of several very close frequencies affected by lots of things, your body not the least of them. Stop trying to see a pattern, even if you find one then what, it is of no use to you.

Why have you got to use piezo sensors. Why not force sensitive resistors, these are much lower impedance and so will not pick up as much.

Below I've attached what is hopefully my final circuit.

Sorry but that is useless, what communicates circuits to others is schematics. Those are not schematics.

Cheers Mike. I've just seen those Fritz diagram around here before, so I thought they were the standard, although admitedly not clear. I'll have to do a schematics sheet anyway so I'll post that next.

I've seen a lot of people here use the word random or 'noise' when referring to the floating input. Hence my concern when I saw a distinct pattern - not that I thought it would affect anything, I just didn't like not knowing the cause.

Didn't realise until this week that piezos would cause mor etrouble than FDRs. Too late to go there now, but I will investigate and include in the critical analysis. Thanks for that.

When people said put a 1M resistor across the the piezos they meant across each individual one on the input side of the multiplexer.
You have lots of unterminated inputs to that chip and the cross talk will be bad.

I've seen a lot of people here use the word random or 'noise' when referring to the floating input.

It is random in that it is not predictable but it is not statistically a rectangular distribution.

I've just seen those Fritz diagram around here before, so I thought they were the standard,

Yes you do see them. If I had my way they would be banned. Most others think that as well. They are a sort of write only diagram. In other words while you can create them they are almost impossible to read except in the more trivial cases.

They are a sort of write only diagram. In other words while you can create them they are almost impossible to read except in the more trivial cases.

Agreed and noted.

When people said put a 1M resistor across the the piezos they meant across each individual one on the input side of the multiplexer.
You have lots of unterminated inputs to that chip and the cross talk will be bad.

I've attached an updated diagram. I though having the 1M resistor in paralell to the entire multiplexing process would be ok. Is it because I have to add am what I've read as a 'pull-down resistor' before each piezo that this will minimize the cross-talk? - Although I'm still finding it hard to understand why that would be as well.

Edit: Schematics for IMT ProjectC is more accurate.

Schematics for IMT ProjectC is more accurate.

I hope not because you have shorted all the sensors together so you can never distinguish between sensors. Diagram B is better although very badly drawn.

I though having the 1M resistor in paralell to the entire multiplexing process would be ok.

It is not because it leaves all the other inputs floating and is only applied to the one sensor when it is switched through for reading.

Not only does it minimise cross talk it also limits the voltage into the multiplexer to a safe level.
When ever you get high impedance inputs being coupled together inductively ( due to close proximity ) the transformer effect will induce voltages in the other lines. This is cross talk.

Thinking about your previous observations with the reading of a floating input.
The readings you showed I think were a result of a read, print cycle. The print statement takes time and so the readings you were getting were not very fast. Make an array and read, save in array and delay for 1mS. Then when the array is filled up ( 50 samples should do) print them out. You will see a very different signal, one much more like a sin wave at 50 or 60Hz depending on your mains frequency.
For a further illustration get an oscilloscope and set it on 1V per mm. Then touch the end of the probe. You will see a huge wave, that is you acting as an antenna picking up the noise.

I hope not because you have shorted all the sensors together

Your absolutely right! God I have a long way to go yet.

Not only does it minimise cross talk it also limits the voltage into the multiplexer to a safe level.
When ever you get high impedance inputs being coupled together inductively ( due to close proximity ) the transformer effect will induce voltages in the other lines. This is cross talk.

Everything else I understand now.

Thinking about your previous observations with the reading of a floating input.

Didn't quite follow this entire paragraph, but I can't wait to read up what was covered. I actually discovered the problem by fluke before reading this. But your dead right, it was the mains. Turns out my charger has really started to let that 50Hz sing throughout the computer... This explains not only the patterns, but the constant inconsistencies and difficulty in locating the problem fact that when I'm at the computer its not as apparent, as my hands are grounding the signal. Shame cuz my mac only lasts 10 minutes without me. Time for a new computer I guess (The charger was replaced last year because of the same problem). With this last issue solved, hopefully I can progress at a faster rate.

Many thanks to all that helped.