Measuring power of generator

Discussion in 'The Projects Forum' started by Genoil, Oct 30, 2013.

  1. Genoil

    Thread Starter New Member

    Aug 5, 2011
    21
    1
    I'm doing a little experiment attempting to measure the power delivered from a hand crank (actually a lego motor used as a generator) where an Arduino is used as a VA meter. Measuring the voltage works fine. I'm trying to measure amps by measuring the voltage across a small (1R for now) resistor placed in series with the load. Because the voltage drop is tiny, I'm attempting to amplify the signal using a 741 op amp in a basic non-inverted setup. I can power the op amp from 2 sources, either the hand crank itself, or from the Arduino. It seemed more straightforward to power it from the Arduino (5V), but when I try that, no matter what gain I set, it always reads about 4.3 - 4.5 Volts, also regardless of turning the crank or even connecting it. When I power the op amp using the hand crank, it seems to amplify the signal, but I have no idea how reliable the output is, because the supply voltage is constantly fluctuating.

    Ideally I don't want to power the op amp using the crank, but does anybody have a clue why the op amp just sits at a fixed output when I power it from Arduino? I'll try to supply a cicruit diagram later.
     
  2. MikeML

    AAC Fanatic!

    Oct 2, 2009
    5,450
    1,066
    Are you using split supplies to the 741? Post your circuit.

    The 741 is about the worst opamp you could choose for this task...
     
  3. wayneh

    Expert

    Sep 9, 2010
    12,100
    3,034
    Just use a larger value shunt resistor and forget the op-amp.

    Your generator likely has peak power into a load far smaller (larger resistance) than your 1Ω resistor. So not only will you get more voltage, you might get more power as well.

    You may want to experiment with a series of values for your shunt, to map out the power curve. This will show you where - into what resistance - the peak power is obtained.
     
    Last edited: Oct 30, 2013
  4. Genoil

    Thread Starter New Member

    Aug 5, 2011
    21
    1
    Here's the schematic. The "load" is a step-up boost controller that drives a LiPo charging circuit with a LiPo attached. I'd rather waste as few power on the shunt as possible, as I want to keep all that power to charge the LiPo. The Arduino is powered from USB for now, will ultimately be powered from the LiPo of course.

    In the variant where the opamp is powered through the crank, the opamp sits in parallel with the load.

    The 741 just happened to sit in my box of unused parts. What would you recommend?
     
  5. MikeML

    AAC Fanatic!

    Oct 2, 2009
    5,450
    1,066
    First off, the 741 will not operate on a single 5V supply. You need a modern CMOS rail-to-rail input and rail-to-rail output opamp. Look at DigiKey, there are several hundred that could work in your circuit.
     
  6. wayneh

    Expert

    Sep 9, 2010
    12,100
    3,034
    Sorry, I thought the resistor itself was your load.

    FWIW, I use the LM358N for a similar application. Old and slow but cheap and easy to find. Includes the negative rail on the input.
     
  7. Genoil

    Thread Starter New Member

    Aug 5, 2011
    21
    1
    Thanks. I know I have a LM358 around somewhere and I was even already planning to use it, but I couldn't find it :). I'll pick up a new one (or a bunch of them for that matter) and test again.
     
  8. Genoil

    Thread Starter New Member

    Aug 5, 2011
    21
    1
    I've installed a rail-to-rail op amp and now it works as expected. I can now measure current going through the crank. Now I also want to measure the current coming out of the boost controller. I've updated the schematic to give a bit more detail about the load. I can measure the voltage drop accross the charger, but how do I subtract Voltage across R4 (0R1) to then amplify it? Is that as simple as connecting OpAmp + after R4 and OpAmp - before?
     
  9. MikeML

    AAC Fanatic!

    Oct 2, 2009
    5,450
    1,066
    Possibilities:

    Move the second current sampling resistor to the low-side of the boost input. Add a second LM358, call its output B. The current you are trying to measure is V(B)-V(A). Do the subtraction in the Arduino.

    If you want a high-side current monitor as you have drawn it, look into the IC chips that are specifically made for that purpose, such as a ZXCT1009 and its bretheren. You could also use an instrumentation amplifer, or even a differential amplifer (google both).
     
  10. Genoil

    Thread Starter New Member

    Aug 5, 2011
    21
    1
    Thanks. I don't understand the first option you listed. R4 would go between the rectifier and the boost input? And then from where to the second op-amp? I don't understand how that would translate into a current on the high-side...

    The high-side current sense IC's seem straightforward in use. Pity they don't come in DIP though.
     
  11. MikeML

    AAC Fanatic!

    Oct 2, 2009
    5,450
    1,066
    Look at this.

    V(A) = (first opamp Gain) x (total current from the crank) x R3.

    V(B) = V(A) + (second opamp Gain) x (current into boost) x R4.

    You can do the math to find (current into boost).
     
  12. Genoil

    Thread Starter New Member

    Aug 5, 2011
    21
    1
    ah! of course! it is so simple i feel stupid now :). i'll try both approaches and compare the results.

    thanks again!
     
Loading...