Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Creating a galvanostat/potentiostat

  1. Sep 24, 2013 #1

    I really would appreciate any insight regarding my project. I want to perform a form of electrochemical impedance spectroscopy on consumer electronic batteries (ie. measure the impedance of a battery - real and imaginary). Basically I want to create a device which is capable of doing one of two things:

    1. Draw current from a battery in a sinusoidal manner
    2. Draw current from a battery in such a way that causes the voltage of that battery to vary sinusoidally
    The batteries I'll use are Li-ion (3.6V single cell - 4.2V fully charged). My target peak-peak current of 1) would be ~100mA. My target peak-peak voltage of 2) would be 25mV. Remember I only need to achieve one of these. I also want to be able to vary the frequency over a very small range (ideally 10Hz - 0.1Hz).

    The ideas I've had so far are:
    • Use a digital rheostat (ie. constantly change the resistance value)
    • Use a fixed resistor with a wienbridge oscillator as a reference voltage

    Of course I also need to measure the battery voltage and current. I would like to be able to measure to a resolution of ~250uV and ~1mA.

    If you have any advice I would be grateful.

    Attached Files:

  2. jcsd
  3. Sep 25, 2013 #2


    User Avatar
    Gold Member

    There are lots of ways to approach this. Basically you want a variable current source. (lookup current source on wikipedia) A current source can sink or source current depending on what you want to do. The complexity can range for a simple 1 transistor or FET source/sink to a digital to analog converter (most DACs are actually current DACs). With an opamp current source you can change the feedback such it becomes a voltage generator.

    As for the source of your current waveform, it can range from the output of a sound card or portable device to a hardware variable frequency oscillator, to a uP that generates a sine wave or test signal digitally. A digital generator would also allow step or impulse changes, which can give very good information.

    You may also want to characterize the battery with regard to accepting a charge.

    What you are asking for covers a broad range of possible implementations depending on desired accuracy, flexibility, battery sizes, and your design skills.
  4. Sep 29, 2013 #3

    Thank you for your post! Yes, I imagined there would be a plethora of possible implementations. My goal is to keep it as simple as possible, at least at the start.

    It appears you have some experience in the area of battery characterization. Indeed it would be even more ideal to generate other signals (square wave, impulse, etc). In regards to the battery accepting charge, that also is me attempting to keep it simple. I would eventually like to have a device that does not need a power source, but instead is powered by the same battery on which it is performing EIS. In this case it would add complications storing energy to give back to the battery.

    The batteries will always be single cell (nominal voltage 3.6V) with capacities of lets say 1000mAh to 5000mAh. For now I want to limit the device to a sinusoidal waveform. I want to be flexible on peak amplitude and frequency.

    Would you be able to provide me with an illustration of your idea of the most simple implementation. Something I can get my hands dirty with as I converge to a more flexible and elegant design.

  5. Sep 29, 2013 #4


    User Avatar
    Gold Member

    The simplest, that is meaningful as well, would be an opamp current source/sink driven by a sine wave from a signal generator (possibly a sound card or mobile device like an ipod).

    Assume only a current sink for the moment. A typical circuit would be one of many you can find with a google image search for opamp current sink. I'd recommend using a NFET as the output device. The wikipedia page for "nullor" describes what is going on.

    Basically the sink circuit works by creating a voltage (based on the input) across a sense resistor to ground which causes the required current to be drawn from the load. For example, a 1V pk-pk sine wave across a 10 ohm sense resistor would cause a 100ma pk-pk sine wave.

    The main practical problems are power dissapation in the output device and the input bias circuit.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook