Measuring wind turbine voltage production

I'm trying to use the Arduino Duemilanove to measure the voltage output of a wind turbine experiment kit, and I'm having trouble getting the right reading for the voltage.

I think it's the way I'm currently reading the values from the turbine kit.
The 3 phase AC output from the turbine is fed as input to an AC to DC rectifier with a single POS end and a single NEG end.

NEG POS
| |

INPUT

I currently have wires directly connecting the rectifier's POS end to analog pin 1 and the rectifier's NEG end to analog pin 2. The code looks like this:

int positivePin = 1; // pin connected to positive end of diodes
int negativePin = 2; // pin connected to negative end of diodes
int voltageVal = 0;
float voltage = 0;
void setup()
{

  • Serial.begin(9600); // sets the serial port to 9600*
    }
    void loop()
    {
  • // read the pos and neg values and calculate the difference*
  • voltageVal = analogRead(positivePin) - analogRead(negativePin);*
    _ voltage = voltageVal * 0.0049; // scale conversion_
  • Serial.print(voltage); // prints the value read*
  • Serial.print('\n');*
  • delay(1000); // wait 1 second between readings*
    }

Sample output:
0.50
2.30
1.61
2.54
2.61
2.88
1.81
2.48
1.42
2.11
2.25
1.74
2.36
2.30
2.30
2.62
1.99
2.61
2.19
1.74
1.52

At that same time, however, a voltmeter also directly connected to the POS and NEG ends was giving me a fairly consistent 2.65V (~.03V).

I think it's my code that needs work, but I could be wrong.
Any ideas?

Note: This is my first time ever using an Arduino.

are you trying to read the voltage out of it? if so, the negative should be connected to your arduino ground and the positive to your analog in. be aware that rectified 3 phase will be a bunch of dc pulses. so you will need a capacitor to smooth out the voltage to get meaningful readings. also, you may need some sort of input protection. if your generator exceeds 5 volts on the output your arduino pin may be damaged.

Ah, see I figured there was something I might be missing. I did try reading just the positive end after grounding the negative end, but I didn't think about the DC pulses and the need for a capacitor.

As for the input protection, the 2.65V I was generating was about the highest I could generate with the turbine kit, it's a really small kit standing about 8 inches tall, and with a tall fan at the highest speed setting blowing on it, I don't think it'll ever generate more than 3V max. But as a precautionary measure, I could always add voltage protection anyway.

So I tried out the circuit with the only capacitor I had handy, 0.01uF (my reading may be incorrect, it's 103K which should be 10,000pF). The readings are more smooth, but not correct.

Small sample without the turbine running:
2.60
2.60
2.61
2.61
2.58
2.61
2.65
2.63
2.62
2.61

If I directly connect my voltmeter, I get a value of approx. 0.23V. The odd thing is, the second I do so, my sample output from the Arduino becomes the same thing! And if I get the turbine spinning and keep both the Arduino and voltmeter connected at the same time, they both read close to the same value (Arduino tends to read slightly higher during turbine operation, by around 0.05V).

I'm thinking maybe an internal capacitance of the voltmeter is correcting for the capacitance value I am currently using. I'm not great with the electrical side, I'm more comfortable with programming, so I'm not sure what capacitance I should be shooting for. I just happened to have one and only one capacitor already handy.

Show a drawing (no matter how crude) of how you are now wiring the turbine to the Arduino, included the capacitor and where you are taking the independent measurements with your DVM. It sure sounds like a wiring problem to me.

Lefty

Current circuit diagram (using Paint... lol)

You know I have a hunch there needs a load resistor connected between the pos to neg after the rectifiers. I suspect that the diodes won't conduct without a certain minimum amount of current flow. Try anything from 10k ohm or higher.

Lefty

Hhmm... I'm not sure why I actually didn't think about using a load resistor. That is actually a better explanation of why it worked when the voltmeter was connected. It was probably acting as a load resistor. So I will just add a resistor in parallel with the capacitor, connected basically right where the voltmeter was.

I should have at least a 10kOHm and a 52kOhm resistor handy. I'll definitely have to try that when I get home. Probably won't happen until early tomorrow. Thanks for the idea.

Using a 10kOhm load resistor, now I'm back to getting more unsteady output values on the Arduino.
At a consistent speed:

0.60
0.53
0.20
0.81
0.00
0.93
0.35
0.00
0.07
0.48
0.65
0.00
0.95
0.02
0.34
0.36
0.00
0.84
0.66
0.46

Actual measurement on the voltmeter after adding the load resistor is around 0.40V, which has dropped from the 1.50V i was reading before the capacitor and resistor.

(1.5V was at medium fan speed, 2.65V quoted earlier was at max fan speed)

I can at least confirm it's not my code or conversion values. I tested exact same program but measuring the 5V and 3.3V outputs on the Arduino and had near perfect precision.

How what sort of frequency do you need to read the voltage at? If you have a load of 1k - I get to about1.5uF for a cutoff of 106Hz - would have thought that would be adequate.