# Arduino Forum

## Topics => Science and Measurement => Topic started by: jeremy_rutman on Apr 09, 2012, 09:38 am

Title: energy harvesting dance stage
Post by: jeremy_rutman on Apr 09, 2012, 09:38 am
I have an electronics challenge -
With friends I have connected an energy harvesting dance stage http://www.telavivmakers.org/index.php?title=Energy_Harvesting_Dance_Stage (http://www.telavivmakers.org/index.php?title=Energy_Harvesting_Dance_Stage) to an arduino which we want to use as a monitor for how much energy is being harvested.

The stage has a set of coils that produce a voltage when dancers with magnetic shoes pass over them - that part works great. The ~300ohm coils produce ~30V when
unloaded and hit around 8 volts loaded with strings of 12V leds loading the coils. About eight coils are wired in parallel such that multiple dancers can run a set of LEDs together.  We don't see fully 12V because the LEDs already start conducting at 8V, and also since we are observing with a DVM and not a proper scope. Anyway the LEDs produce lovely light and what we want to show with the arduino is what one see with your eyes - that faster/more dancing makes more energy.

We connected the voltage on the LEDs in parallel to a capacitor and sampled the cap with the arduino adc. This works fine except then you have to let the cap discharge.  (the coils have diodes such that current doesn't go back into the coils from the cap.)
If we discharge the cap thru a parallel resistor, it seems that to see the difference between one dancer and two dancers, we have to basically load the stage with such  a small resistance, that we kill the stage LEDs.

We then connected the LED signal straight to the ADC (no cap) and see large noise voltages due to the large input impedance of the arduino (100MOhm).
So I added a pulldown resistor of 50Kohm in parallel with the LED signal and that killed the noise.
But we noticed that the arduino was loading the stage despite the 100MOhm and stealing the current, killing the light on the stage. I believe this is due to
the input capacitance of the arduino a/d (which has a s/h circuit with some capacitance); the very quick peaks of the stage signal do not suffice to charge the capacitance of the s/h.
This is confirmed by some posts I just found on the adc indicating a ~20pF capacitance ; the stage output impedance was IIRC 300kOhm which gives an RC of 6ms which I guess is long enough to kill our peaks. (I will check this out with a scope later today).

Anyway we added a buffer to the voltage off the stage and run that to the adc, which now seems to work fine.

But we run into the problem that the difference between one dancer and two dancers in terms of voltage is small; a bright LED at (for instance) 3.5V way outshines a dim one at e.g. 3.3V;
the exponential I-V curve of the LED keeps the voltage roughly the same, which works against our goal of showing clearly the diff. between one dancer and two.
Thus maybe what I should do is exponentiate the voltage to get back a signal that is proportional to current :

I=I0 (exp(V/Vo)-1)

does this make sense to the electronics gurus?
TIA
Jeremy and Dror