Electrochemical Impedance Spectroscopy

Electrochemical Impedance Spectroscopy (EIS) is used to characterize the interface between a metal and a conductive solution.

Most EIS experiments are performed using a potentiostat. This electronic device is used to apply both a DC potential and a small superimposed AC excitation to a metal sample immersed in a solution. The potentiostat also requires two other electrodes that are immersed in the same solution. The first electrode supplies current and the second is used to measure the sample's electrochemical potential. The solution and the 3 electrodes are collectively referred to as an electrochemical cell.

In the most common EIS experiment, AC current and AC potential are measured as the frequency of the excitation is varied over a very wide range (often 6 decades or more). The cell voltage and current are then converted into a complex impedance. Unlike impedance measurement in most other fields, electrochemical impedance systems also have to measure DC current and potential. The DC values are required for intelligent autoranging decisions.

Analysis of a complex impedance versus frequency curve can yield information that is not easily or accurately available from other electrochemical techniques. EIS is very useful in evaluations of coatings, analysis of electrochemical mechanisms and rates, and evaluation of battery performance. Mass transfer limited systems have a well-defined EIS behavior that can be separated from kinetically controlled behavior. When used with dual reference electrodes, EIS can be used to study transport across membranes.

EIS is not the answer to all electrochemical testing needs. In general, EIS is only useful for the study of systems at equilibrium. Dynamic or stochastic systems, such as electrode fouling or localized corrosion phenomena are often better studied using swept or stepped potential techniques. In systems that exhibit multiple states (for example bare metal and metal covered with oxide), a single EIS spectrum only measures one of the states. In corrosion testing using standard practice, EIS can be used to measure a corroding systems polarization resistance. It cannot measure the Tafel constants required to convert this polarization resistance to a corrosion rate.


EIS300: Product Description

FC350: Product Description

The FC350 Fuel Cell EIS Test System provides a comprehensive set of tools for Electrochemical Impedance Spectroscopy. The FC350 uses a Gamry Instruments' FCI4 Fuel Cell Interface and an electronic load to control the large DC and AC currents from your Fuel Cell. EIS Spectra can be recorded while a DC current of ten or even hundreds of amps flow. In a typical test, an AC current of 8 amps is superimposed on a DC current of 120 amps. The FC350 has been tested with several electronic loads from TDI and certain loads from Agilent.

As in all modern EIS systems, the FC350 uses a computer to automate EIS data acquisition and assist in data analysis. The FC350 software operates under the Gamry Framework™, which in turn operates in the Microsoft WindowsÒ environment.

The FC350 runs standard EIS experiments at the click of a button. New experiments can be created using Gamry Instruments' Explain™ script language. Data manipulation and display is done using Gamry's Echem Analyst™.

The FC350 can measure impedance over a frequency range of 10 mHz to 10 kHz. The Control board's D/A and A/D converters are used to apply a sine wave to the cell and measure the cell's response. The impedance range that can be measured depends on the load used in the system.


EIS300: Current and Voltage Conventions

Current and Voltage Conventions

AC measurements are largely free from problems due to sign conventions. However, the FC350 does not only make AC measurements. It also sets and reads DC values, such as the open circuit potential and the applied DC potential. Therefore, you must be aware of the sign conventions used in the FC350.

Positive 12 A can mean different things to workers in different areas of electrochemistry. To an analytical electrochemist it represents 12 A of cathodic current. To a corrosion scientist it represents 12 A of anodic current. In the FC350's standard techniques we follow the corrosion convention for current. Positive currents are anodic, resulting in oxidation at a metal specimen.

In the EIS300, all potentials are specified or reported as the potential of the working electrode with respect to either the reference electrode or the open circuit potential. The former is always labeled as "vs Eref" and the later is labeled as "vs Eoc". The equations used to convert from one form of potential to the other are:

AC current and potential are always expressed as rms (root mean square) values. By definition, rms values cannot be negative.


EIS300: Notational Conventions

Notational Conventions

In order to make this help file more readable we have adopted some of Microsoft's standard notational conventions and added some of our own. These are used throughout this help file:

  • Key names. The names of keys are spelled out in this help file (for example escape, enter, control) appear as small capital letters. The key caps on your keyboard may abbreviate the names or represent them differently. For example, the escape key is often labeled Esc and the enter and tab keys are often labeled with arrows.
  • Key combinations. A plus sign between two characters indicates that the keys are pressed at the same time. An example is alt+escape to switch between windows.

    A comma between key names indicates that the keys are pressed sequentially, pressing and releasing one key before pressing the next key.
  • direction keys. The direction keys are the four pointing keys, labeled with arrows, on your computer's keypad. The name of the individual direction key refers to the direction the key points: up, down, right and left.
  • Italics. Italics indicate words and characters that you type.
  • Numbered lists. A numbered list is reserved for step by step procedures, with the steps always performed sequentially.
  • Bulleted List. The items in a bulleted list, such as this one, are grouped together because they represent similar items. The order of items in the list is not critical.
  • Hexadecimal numbers. Hexadecimal numbers are used for hardware related items such as I/O addresses. The Framework and this help file use the C programming language convention: all hexadecimal numbers have a prefix of 0x. For example the default I/O addresses used by a PC4 Potentiostat card are 0x220 through 0x23F.
  • File names and directories. Inside paragraphs, references to files and directories will be capitalized and enclosed in quotation marks, for example: "WIN.INI" and "\Program Files\Gamry\FRAMEWORK.EXE".
  • Windows buttons and menu selections. Labels will be shown in bold type with the accelerator key underlined as shown on the screen, i.e., File.


Impedance definition: concept of complex impedance

Almost everyone knows about the concept of electrical resistance. It is the ability of a circuit element to resist the flow of electrical current. Ohm's law defines resistance in terms of the ratio between voltage E and current I.

While this is a well known relationship, it's use is limited to only one circuit element -- the ideal resistor. An ideal resistor has several simplifying properties:

  • It follows Ohm's Law at all current and voltage levels.
  • It's resistance value is independent of frequency.
  • AC current and voltage signals though a resistor are in phase with each other.

The real world contains circuit elements that exhibit much more complex behavior. These elements force us to abandon the simple concept of resistance. In its place we use impedance, which is a more general circuit parameter. Like resistance, impedance is a measure of the ability of a circuit to resist the flow of electrical current. Unlike resistance, impedance is not limited by the simplifying properties listed above.

Electrochemical impedance is usually measured by applying an AC potential to an electrochemical cell and measuring the current through the cell. Suppose that we apply a sinusoidal potential excitation. The response to this potential is an AC current signal, containing the excitation frequency and it's harmonics. This current signal can be analyzed as a sum of sinusoidal functions (a Fourier series).

Electrochemical Impedance is normally measured using a small excitation signal. This is done so that the cell's response is pseudo-linear. Linearity is described in more detail in a following section. In a linear (or pseudo-linear) system, the current response to a sinusoidal potential will be a sinusoid at the same frequency but shifted in phase.

The excitation signal, expressed as a function of time, has the form

E(t) is the potential at time t, E0 is the amplitude of the signal, and w is the radial frequency. The relationship between radial frequency w (expressed in radians/second) and frequency f (expressed in hertz) is:

In a linear system, the response signal, It, is shifted in phase (f) and has a different amplitude, I0:

An expression analogous to Ohm's Law allows us to calculate the impedance of the system as:

The impedance is therefore expressed in terms of a magnitude, Z0, and a phase shift, f.

If we plot the applied sinusoidal signal on the X-axis of a graph and the sinusoidal response signal I(t) on the Y-axis, an oval is plotted. This oval is known as a "Lissajous figure". Analysis of Lissajous figures on oscilloscope screens was the accepted method of impedance measurement prior to the availability of lock in amplifiers and frequency response analyzers.

Using Eulers relationship,

it is possible to express the impedance as a complex function. The potential is described as,

and the current response as,

The impedance is then represented as a complex number,


Electrochemistry - A Linear System?

Electrical circuit theory distinguishes between linear and non-linear systems (circuits). Impedance analysis of linear circuits is much easier than analysis of non-linear ones.

The following definition of a linear system is taken from Signals and Systems by Oppenheim and Willsky:

A linear system ... is one that possesses the important property of superposition: If the input consists of the weighted sum of several signals, then the output is simply the superposition, that is, the weighted sum, of the responses of the system to each of the signals. Mathematically, let y1(t) be the response of a continuous time system to x1(t) ant let y2(t) be the output corresponding to the input x2(t). Then the system is linear if:

1) The response to x1(t) + x2(t) is y1(t) + y2(t)

2) The response to ax1(t) is ay1(t) ...

For a potentiostated electrochemical cell, the input is the potential and the output is the current. Electrochemical cells are not linear! Doubling the voltage will not necessarily double the current.

However, it is possible to have pseudo-linear electrochemical systems. When you look at a small enough portion of a cell's current versus voltage curve, it seems to be linear.

In normal EIS practice, a small (1 to 10 mV) AC signal is applied to the cell. The signal is small enough to confine you to a pseudo-linear segment of the cell's current versus voltage curve. You do not measure the cell's nonlinear response to the DC potential because in EIS you only measure the cell current at the excitation frequency.

If the system is non-linear, the current response will contain harmonics of the excitation frequency.

Some researchers have made use of this phenomenon. Linear systems should not generate harmonics, so the presence or absence of significant harmonic response allows one to determine the system's linearity. Other researchers have intentionally used larger amplitude excitation potentials. They use the harmonic response to estimate the curvature in the cell's current voltage curve.


Steady State Systems

Measuring an EIS spectrum takes time (often many hours). The system being measured must be at a steady state throughout the time required to measure the EIS spectrum. A common cause of problems in EIS measurements and their analysis is drift in the system being measured.

In practice a steady state can be difficult to achieve. The cell can change through adsorption of solution impurities, growth of an oxide layer, build up of reaction products in solution, coating degradation, temperature changes, to list just a few factors.

Standard EIS analysis tools may give you wildly inaccurate results on a system that is not at a steady state.


Time and Frequency Domains and Transforms

Signal processing theory refers to data domains. The same data can be represented in different domains. In EIS, we use two of these domains, the time domain and the frequency domain.

In the time domain, signals are represented as signal amplitude versus time. Click here for a representation of a signal consisting of two superimposed sine waves in the time domain.

In the frequency domain, signals are represented as signal amplitude versus frequency. Click here for a representation of a signal consisting of two superimposed sine waves in the frequency domain.

You use the Fourier transform and inverse Fourier transform to switch between the domains. The common term, FFT, refers to a fast, computerized implementation of the Fourier transform. Detailed discussion of these transforms is beyond the scope of this help file. Several of the references given at the end of this section contain more information on the Fourier transform and its use in EIS.

In modern EIS systems, lower frequency data are usually measured in the time domain. The controlling computer applies a digital approximation to a sine wave to the cell by means of a digital to analog converter. The current response is measured using an analog to digital computer. An FFT is used to convert the current signal into the frequency domain.


Electrical Circuit Elements

EIS data is commonly analyzed by fitting it to an equivalent electrical circuit model. Most of the circuit elements in the model are common electrical elements such as resistors, capacitors, and inductors. To be useful, the elements in the model should have a basis in the physical electrochemistry of the system. As an example, most models contain a resistor that models the cell's solution resistance.

Some knowledge of the impedance of the standard circuit components is therefore quite useful. The following table lists the common circuit elements, the equation for their current versus voltage relationship, and their impedance.

Common Electrical Elements

Notice that the impedance of a resistor is independent of frequency and has only a real component. Because there is no imaginary impedance, the current through a resistor is always in phase with the voltage.

The impedance of an inductor increases as frequency increases. Inductors have only an imaginary impedance component. As a result, an inductor's current is phase shifted 90 degrees with respect to the voltage.

The impedance versus frequency behavior of a capacitor is opposite to that of an inductor. A capacitor's impedance decreases as the frequency is raised. Capacitors also have only an imaginary impedance component. The current through a capacitor is phase shifted -90 degrees with respect to the voltage.


Serial and Parallel Combinations of Circuit Elements

Very few electrochemical cells can be modeled using a single equivalent circuit element. Instead, EIS models usually consist of a number of elements in a network. Both serial and parallel combinations of elements occur.

Fortunately, there are simple formulas that describe the impedance of circuit elements in both parallel and series combinations.

For linear impedance elements in series you calculate the equivalent impedance from:

For linear impedance elements in parallel you calculate the equivalent impedance from:

We will calculate two examples to illustrate a point about combining circuit elements. Suppose we have a 1 W and a 4 W resistor is series. The impedance of a resistor is the same as its resistance. We thus calculate the total impedance as:

Resistance and impedance both go up when resistors are combined in series.

Now suppose that we connect two 2 mF capacitors in series. The total capacitance of the combined capacitors is 1 mF.

Impedance goes up, but capacitance goes down when capacitors are connected in series. This is a consequence of the inverse relationship between capacitance and impedance.


Nyquist Plot

The expression for impedance, Z(w), is composed of a real and an imaginary part. If the real part is plotted on the Z axis and the imaginary part on the Y axis of a chart, we get a “Nyquist Plot”. Note that in a Nyquist plot the y-axis is negative and that each point on the plot is the impedance at one frequency.

In the representative Nyquist Plot, low frequency data are on the right side of the plot and higher frequencies are on the left. This is true for EIS data where impedance usually falls as frequency rises (this is not true of all circuits).

On the Nyquist plot the impedance can be represented as a vector of length |Z|. The angle between this vector and the x-axis is , where f = arg(Z).

Nyquist plots have one major shortcoming. When you look at any data point on the plot, you cannot tell what frequency was used to record that point.

The sample Nyquist plot results from a simple RC electrical circuit. The semicircle is characteristic of a single "time constant". Electrochemical Impedance plots often contain several time constants. Often only a portion of one or more of their semicircles is seen.


Bode Plot

Another popular presentation method is the "Bode plot". The impedance is plotted with log frequency on the x-axis and both the absolute value of the impedance (|Z|=Z0) and phase-shift on the y-axis.

The sample Bode plot for a simple RC electrical circuit demonstrates that, unlike the Nyquist plot, the Bode plot explicitly shows frequency information.


Electrolyte Resistance

Solution resistance is often a significant factor in the impedance of an electrochemical cell. A modern 3 electrode potentiostat compensates for the solution resistance between the counter and reference electrodes. However, any solution resistance between the reference electrode and the working electrode must be considered when you model your cell.

The resistance of an ionic solution depends on the ionic concentration, type of ions, temperature and the geometry of the area in which current is carried. In a bounded area with area A and length l carrying a uniform current the resistance is defined as:

where r is the solution resistivity. The conductivity of the solution, k, is more commonly used in solution resistance calculations. Its relationship with solution resistance is:

Standard chemical handbooks list k values for specific solutions. For other solutions, you can calculate k from specific ion conductances. The units for k are Siemens per meter (S/m). The siemens is the reciprocal of the ohm, so 1 S = 1/ohm.

Unfortunately, most electrochemical cells do not have uniform current distribution through a definite electrolyte area. The major problem in calculating solution resistance therefore concerns determination of the current flow path and the geometry of the electrolyte that carries the current. A comprehensive discussion of the approaches used to calculate practical resistances from ionic conductances is well beyond the scope of this help file.

Fortunately, you don't usually calculate solution resistance from ionic conductances. Instead, it is found when you fit a model to experimental EIS data.


Double Layer Capacitance

A electrical double layer exists at the interface between an electrode and its surrounding electrolyte. This double layer is formed as ions from the solution "stick on" the electrode surface. Charges in the electrode are separated from the charges of these ions. The separation is very small, on the order of angstroms.

Charges separated by an insulator form a capacitor. On a bare metal immersed in an electrolyte, you can estimate that there will be approximately 30 mF of capacitance for every cm2 of electrode area.

The value of the double layer capacitance depends on many variables including electrode potential, temperature, ionic concentrations, types of ions, oxide layers, electrode roughness, impurity adsorption, etc.


Polarization Resistance

Whenever the potential of an electrode is forced away from it's value at open circuit, that is referred to as polarizing the electrode. When an electrode is polarized, it can cause current to flow via electrochemical reactions that occur at the electrode surface. The amount of current is controlled by the kinetics of the reactions and the diffusion of reactants both towards and away from the electrode.

In cells where an electrode undergoes uniform corrosion at open circuit, the open circuit potential is controlled by the equilibrium between two different electrochemical reactions. One of the reactions generates cathodic current and the other anodic current. The open circuit potential ends up at the potential where the cathodic and anodic currents are equal. It is referred to as a mixed potential. The value of the current for either of the reactions is known as the corrosion current.

Mixed potential control also occurs in cells where the electrode is not corroding. While this section discusses corrosion reactions, modification of the terminology makes it applicable in non-corrosion cases as well.

When there are two simple, kinetically controlled reactions occurring, the potential of the cell is related to the current by the following (known as the Butler-Volmer equation).

where
I is the measured cell current in amps,
Icorr is the corrosion current in amps,
Eoc is the open circuit potential in volts,
ba is the anodic Beta coefficient in volts/decade,
bc is the cathodic Beta coefficient in volts/decade.

If we apply a small signal approximation (E-Eoc is small) to the Butler-Volmer equation, we get the following:

which introduces a new parameter, Rp, the polarization resistance. As you might guess from its name, the polarization resistance behaves like a resistor.

If the Tafel constants are known, you can calculate the Icorr from Rp. Icorr in turn can further be used to calculate a corrosion rate.


Charge Transfer Resistance

A similar resistance is formed by a single kinetically controlled electrochemical reaction. In this case we do not have a mixed potential, but rather a single reaction at equilibrium.

Consider a metal substrate in contact with an electrolyte. The metal molecules can electrolytically dissolve into the electrolyte, according to:

or more generally:

In the forward reaction in the first equation, electrons enter the metal and metal ions diffuse into the electrolyte. Charge is being transferred.

This charge transfer reaction has a certain speed. The speed depends on the kind of reaction, the temperature, the concentration of the reaction products and the potential.

The general relation between the potential and the current is:

with,

i0 = exchange current density
CO = concentration of oxidant at the electrode surface
CO* = concentration of oxidant in the bulk
CR = concentration of reductant at the electrode surface
F = Faradays constant
T = temperature
R = gas constant
a = reaction order
n = number of electrons involved
h = overpotential ( E - E0 )

The overpotential, h, measures the degree of polarization. It is the electrode potential minus the equilibrium potential for the reaction.

When the concentration in the bulk is the same as at the electrode surface, CO=CO* and CR=CR*. This simplifies the previous equation into:

This equation is called the Butler-Volmer equation. It is applicable when the polarization depends only on the charge transfer kinetics.

Stirring will minimize diffusion effects and keep the assumptions of CO=CO* and CR=CR* valid.

When the overpotential, h, is very small and the electrochemical system is at equilibrium, the expression for the charge transfer resistance changes into:

From this equation the exchange current density can be calculated when Rct is known.


Diffusion

Diffusion can create an impedance known as the Warburg impedance. This impedance depends on the frequency of the potential perturbation. At high frequencies the Warburg impedance is small since diffusing reactants don't have to move very far. At low frequencies the reactants have to diffuse farther, thereby increasing the Warburg impedance.

The equation for the "infinite" Warburg impedance is:

On a Nyquist plot the infinite Warburg impedance appears as a diagonal line with a slope of 0.5. On a Bode plot , the Warburg impedance exhibits a phase shift of 45°.

In the previous equation, the Warburg coefficient defined as:

In which,

 w = radial frequency
 (s-1)
DO = diffusion coefficient of the oxidant (cm²/s)
DR = diffusion coefficient of the reductant (cm²/s)
A = surface area of the electrode (cm² )
n = number of electrons transferred
C* = bulk concentration of the diffusing species (moles/cm³
 )

This form of the Warburg impedance is only valid if the diffusion layer has an infinite thickness. Quite often this is not the case. If the diffusion layer is bounded, the impedance at lower frequencies no longer obeys the equation above. Instead, we get the form:

with,

d = Nernst diffusion layer thickness (cm)
D = an average value of the diffusion coefficients of the diffusing species (cm²/s)

This more general equation is called the "finite" Warburg. For high frequencies where w®¥, or for an infinite thickness of the diffusion layer where d®¥, the previous equation simplifies to the infinite Warburg impedance . Two variations of the finite Warburg are the Bounded Warburg:

and the Porous Warburg:

Parameters used for these elements are Y0 in siemens-s½, and B in s½.

The Bounded Warburg describes a diffusion process through a medium where one of the boundaries blocks the diffusion species. A sample is shown below:

The Porous Warburg describes a diffusion process through a medium where one of the boundaries imposes a fixed concentration for the diffusing species. This is most prevalent in systems which contain oxygen conducting electrodes. A sample is shown below:

One other element is the Gerischer Impedance. The general admittance representation for this element is:

The impedance representation for this is:

The parameters needed for this element are Y0 in siemens- s½ and Ka in s-1. A sample is shown below:


Coating Capacitance

A capacitor is formed when two conducting plates are separated by a non-conducting media, called the dielectric. The value of the capacitance depends on the size of the plates, the distance between the plates and the properties of the dielectric. The relationship is:

With,

e o = electrical permittivity
e r = relative electrical permittivity
A = surface of one plate
d = distances between two plates

Whereas the electrical permittivity is a physical constant, the relative electrical permittivity depends on the material. The following table gives you a few useful e r values.

Typical Relative Electrical Permittivities

Notice the large difference between the electrical permittivity of water and that of an organic coating. The capacitance of a coated substrate changes as it absorbs water. EIS can be used to measure that change.


Constant Phase Element

Capacitors in EIS experiments often do not behave ideally. Instead they act like a constant phase element (CPE) as defined below.

The impedance of a CPE has the form:

When this equation describes a capacitor, the constant A = 1/C (the inverse of the capacitance) and the exponent a = 1. For a constant phase element, the exponent a is less than one.

The "double layer capacitor" on real cells often behaves like a CPE instead of like a capacitor. Several theories have been proposed to account for the non-ideal behavior of the double layer but none has been universally accepted. In most cases, you can safely treat a as an empirical constant and not worry about its physical basis.


Virtual Inductor

The impedance of an electrochemical cell can also appear to be inductive. Some authors have ascribed inductive behavior to adsorbed reactants. Both the adsorption process and the electrochemical reaction are potential dependent. The net result of these dependencies can be an inductive phase shift in the cell current .

Inductive behavior can also result from nonhomogeneous current distribution, cell lead inductance and potentiostat non-idealities. In these cases, it represents an error in the EIS measurement.


Common Equivalent Circuit Models

In the following help sessions we show some common equivalent circuits models. These models can be used to interpret simple EIS data. Many of these models have been included as standard models in the EIS300 analysis package.

Modeling Overview

Model #1 -- A Purely Capacitive Coating

Model #2 -- Randles Cell

Model #3 -- Mixed Kinetic and Diffusion Control

Model #4 -- Coated Metal

Non-linear Least Squares Fitting

Uniqueness of Models


Circuit Elements Used in Sample Models

Circuit Elements for Use in Models

The equivalent circuit elements that can be used in the Modeler are shown below. Equations for both the admittance and impedance are given for each element.

Equivalent element | Admittance | Impedance
R |  |
C |  |
L |  |
Q (CPE) |  |
W (Infinite Warburg) |  |
O (Bounded Warburg) |  |
T (Porous Bounded Warburg) |  |
G (Gerischer) |  |

The dependent variables used in these equations are R, C, L, Yo, B, and a. The EIS300 uses these as fit parameters.


Modeling Overview

EIS data is generally analyzed in terms of an equivalent circuit model. The analyst tries to find a model whose impedance matches the measured data.

The type of electrical components in the model and their interconnections controls the shape of the model's impedance spectrum. The model's parameters (i.e. the resistance value of a resistor) controls the size of each feature in the spectrum. Both these factors effect the degree to which the model's impedance spectrum matches a measured EIS spectrum.

In a physical model, each of the model's components is postulated to come from a physical process in the electrochemical cell. All of the models discussed earlier in this section are physical models. The choice of which physical model applies to a given cell is made from knowledge of the cell's physical characteristics. Experienced EIS analysts use the shape of a cell's EIS spectrum to help choose among possible physical models for that cell.

Models can also be partially or completely empirical. The circuit components in this type of model are not assigned to physical processes in the cell. The model is chosen to given the best possible match between the model's impedance and the measured impedance.

An empirical model can be constructed by successively subtracting component impedances from a spectrum. If the subtraction of an impedance simplifies the spectrum, the component is added to the model, and the next component impedance is subtracted from the simplified spectrum. This process ends when the spectrum is completely gone (Z=0).

As we shall see, physical models are generally preferable to empirical models.


Model #1 -- A Purely Capacitive Coating

A metal covered with an undamaged coating generally has a very high impedance. The equivalent circuit for a scenario like this includes a resistor (due primarily to the electrolyte) and the coating capacitance in series.

A Nyquist plot for this model is shown below. In making this plot, the following values were assigned:

R = 500 W (a bit high but realistic for a poorly conductive solution)
C = 200 pF (realistic for a 1 cm² sample, a 25 mM coating, and er= 6)
Fi = 0.1 Hz (lowest scan frequency -- a bit higher than typical)
Ff = 100 kHz (highest scan frequency)

Typical Nyquist Plot for an Excellent Coating

The value of the capacitance cannot be determined from the Nyquist plot. It can be determined by a curve fit or from an examination of the data points. Notice that the intercept of the curve with the real axis gives an estimate of the solution resistance.

The highest impedance on this graph is close to 10e10 W. This is close to the limit of measurement of most EIS systems.

The same data can be shown in a Bode plot. Note that the capacitance can be estimated from the graph but the solution resistance value does not appear on the chart. Even at 100 kHz, the impedance of the coating is higher than the solution resistance.

Water uptake into the film is usually a fairly slow process. It can be measured by taking EIS spectra at set time intervals. An increase in the film capacitance can be attributed to water uptake.


Model #2 -- Randles Cell

The Randles cell is one of the simplest and most common cell models. It includes a solution resistance, a double layer capacitor and a charge transfer or polarization resistance. In addition to being a useful model in its own right, the Randles cell model is often the starting point for other more complex models.

The following figure is the Nyquist plot for a typical Randles cell. The parameters in this plot were calculated assuming a 1 cm2 electrode undergoing uniform corrosion at a rate of 1 mm/year. Reasonable assumptions were made for the b coefficients, metal density and equivalent weight. The polarization resistance under these conditions calculated out to 250 W. A capacitance of 40 mF/cm² and a solution resistance of 20 W were also assumed.

Nyquist Plot for 1 mm/year Corrosion Rate

The Nyquist plot for a Randles cell is always a semicircle. The solution resistance can found by reading the real axis value at the high frequency intercept. This is the intercept near the origin of the plot. Remember this plot was generated assuming that Rs = 20 W and Rp= 250 W.

The real axis value at the other (low frequency) intercept is the sum of the polarization resistance and the solution resistance. The diameter of the semicircle is therefore equal to the polarization resistance (in this case 250 W).

The following figure is the Bode plot for the same cell. The solution resistance and the sum of the solution resistance and the polarization resistance can be read from the magnitude plot. The phase angle does not reach 90° as it would for a pure capacitive impedance. If the values for Rs and Rp were more widely separated the phase would approach 90°.

Bode Plot for 1 mm/year Corrosion Rate


Model #3 -- Mixed Kinetic and Diffusion Control

First consider a cell where semi-infinite diffusion is the rate determining step, with a series solution resistance as the only other cell impedance.

A Nyquist plot for this cell is shown below. Rs was assumed to be 20 W. The Warburg coefficient calculated to be about 120 W(sec)e-½ at room temperature for a two electron transfer, diffusion of a single species with a bulk concentration of 100 mM and a typical diffusion coefficient of 1.6e-5 cm²/sec. Notice that the Warburg Impedance appears as a straight line with a slope of 45°.

Nyquist Plot for a Warburg Impedance

The same data can be plotted in the Bode format. The phase angle of a Warburg impedance is 45°.

Adding a double layer capacitance and a charge transfer impedance, we get the following equivalent circuit.

Equivalent Circuit with Mixed Kinetic and Charge Transfer Control

This circuit models a cell where polarization is due to a combination of kinetic and diffusion processes. The Nyquist plot for this circuit is shown below. As in the above example, the Warbug coefficient is assumed to be to be about 150 W (sec)e-½. Other assumptions: Rs = 20 W, Rct = 250 W, and Cdl = 40 mF.

Nyquist Diagram for Mixed Control Circuit

The Bode plot for the same data is also shown below. The lower frequency limit was moved down to 1mHz to better illustrate the differences in the slope of the magnitude and in the phase between the capacitor and the Warburg impedance. Note that the phase approaches 45° at low frequency.

Bode Plot for the Mixed Control Circuit


Model #4 -- Coated Metal

The impedance behavior of a purely capacitive coating was discussed above. Most coatings degrade with time, resulting in more complex behavior.

After a certain amount of time, water penetrates into the coating and forms a new liquid/metal interface under the coating. Corrosion phenomena can occur at this new interface.

The impedance of coated metals has been very heavily studied. The interpretation of impedance data from failed coatings can be very complicated. Only a simple equivalent circuit will be discussed here.

Even this simple model has been the cause of some controversy in the literature. Most researchers agree that this model can be used to evaluate the quality of a coating. However, they do not agree on the physical processes that create the equivalent circuit elements. The discussion below is therefore only one of several interpretations of this model.

The capacitance of the intact coating is represented by Cc. Its value is much smaller than a typical double layer capacitance. Its units are pF or nF, not mF. Rpo (pore resistance) is the resistance of ion conducting paths that develop in the coating. These paths may not be physical pores filled with electrolyte.

On the metal side of the pore, we assume that an area of the coating has delaminated and a pocket filled with an electrolyte solution has formed. This electrolyte solution can be very different from the bulk solution outside of the coating. The interface between this pocket of solution and the bare metal is modeled as a double layer capacity in parallel with a kinetically controlled charge transfer reaction.

When you use EIS to test a coating, you fit a data curve to this type of model. The fit estimates values for the model's parameters, such as the pore resistance or the double layer capacitance. You then use these parameters to evaluate the degree to which the coating has failed.

In order to show a realistic data curve, we need to do this operation in reverse. Assume that we have a 10 cm² sample of metal coated with a 12 mM film and that we have 5 delaminated areas. 1% of the total metal area is delaminated. The pores in the film that access these delaminated areas are represented as solution filled cylinders with a 30 mM diameter.

The parameters used to develop the curves are shown below:

Cc = 4 nF Calculated for 10 cm² area , er = 6 and 12 mM thickness
Rpo = 3400 W Calculated assuming k = 0.01 S/cm
Rs = 20 W Assumed
Cdl = 4 mF Calculated for 1% of 10 cm² area and assuming 40 mF/cm²
Rct = 2500 W Calculated for 1% of 10 cm² area and using Polarization
Resistance assumptions from an earlier discussion

With these parameters, the Nyquist plot for this model shows that there are two well defined time constants.

In a Bode plot representing the same data the two time constants are visible but less pronounced.

The Bode plot does not go high enough in frequency to measure the solution resistance. In practice this is not a problem, because the solution resistance is a property of the test solution and the test cell geometry, not a property of the coating. Therefore, it is usually not very interesting when you are testing coatings.


Non-linear Least Squares Fitting

Modern EIS analysis uses a computer to find the model parameters that cause the best agreement between a model's impedance spectrum and a measured spectrum. A non-linear least squares fitting (NLLS) algorithm is used.

NLLS starts with initial estimates for all the model's parameters. Starting from this initial point, the algorithm makes changes in several or all of the parameter values and evaluates the resulting fit. If the change improves the fit, the new parameter value is accepted. If the change worsens the fit, the old parameter value is retained. Next a different parameter value is changed and the test is repeated. Each trial with new values is called an iteration. Iterations continue until the goodness of fit exceeds an acceptance criterion, or until the number of iterations reaches a limit.

NLLS algorithms are not perfect. In some cases they do not converge on a useful fit. This can be the result of several factors including:

  • An incorrect model for the data set being fitted.
  • Poor estimates for the initial values.
  • Noise

In addition, the fit from an NLLS algorithm can look poor when the fit's spectrum is superimposed on the data spectrum. It appears as though the fit ignores a region in the data. To a certain extent this is what happens. The NLLS algorithm optimizes the fit over the entire spectrum. It does not care if the fit looks poor over a small section of the spectrum.


Uniqueness of Models

Impedance spectra can be modeled by more than one equivalent circuit. For example, a spectrum displaying two time constants can be modeled by a number of different equivalent circuits.

You cannot assume that an equivalent circuit that produces a good fit to a data set represents an accurate physical model of the cell.

Even physical models are suspect in this regard. Whenever possible, the physical model should be verified before it is used. One way to verify the model is to alter a single cell component (for example increase a paint layer thickness) and see if you get the expected changes in the impedance spectrum.

Empirical models should be treated with even more caution. You can always get a good looking fit by adding lots of circuit elements to a model. Unfortunately, these elements will have little relevance to the cell processes that you are trying to study. Drawing conclusions based on changes in these elements is especially dangerous. Empirical models should therefore use the fewest elements possible.


Literature

The following sources were used in preparing the information in these help topics. The reader is encouraged to consult them for additional information.

Impedance Spectroscopy; Emphasizing Solid Materials and Systems , J.R. Macdonald, Wiley Interscience publications, 1987.

Electrochemical Methods; Fundamentals and Applications, 2nd ed., A.J. Bard, L.R. Faulkner, Wiley Interscience publications, 2000.

Electrochemical Impedance: Analysis and Interpretation, J.R. Scully, D.C. Silverman, and M.W. Kendig, editors, ASTM, 1993.

Physical Chemistry, P.W. Atkins, Oxford University Press ,1990.

Signals and Systems, A.V. Oppenheim and A.S. Willsky, Prentice-Hall, 1983.

The Use of Impedance Measurements in Corrosion Research; The Corrosion Behavior of Chromium and Iron Chromium Alloys, J.A.L. Dobbelaar, PhD thesis TU-Delft, 1990.

Characterization of Organic Coatings with Impedance Measurements; A Study of Coating Structure, Adhesion and Underfilm Corrosion, F. Geenen, PhD thesis, TU-Delft, 1990.

Identification of Electrochemical Processes by Frequency Response Analysis, C. Gabrielle, Solartron Instrumentation Group, 1980.

Comprehensive Treatise of Electrochemistry; Volume 9 Electrodics: Experimental Techniques; E. Yeager, J.O'M. Bockris, B.E. Conway, S. Sarangapani, Chapter 4 "AC Techniques", M. Sluyters-Rehbach, J.H. Sluyters, Plenum Press, 1984.

Mansfeld, F., "Electrochemical Impedance Spectroscopy (EIS) as a New Tool for Investigation Methods of Corrosion Protection", Electrochimica Acta 35(10), pp 1533-1544, 1990.

Walter, G.W., "A Review of Impedance Plot Methods Used for Corrosion Performance Analysis of Painted Metals", Corrosion Science 26(9), pp 681-703, 1986.

Kendig, M., J. Scully, "Basic Aspects of Electrochemical Impedance Application for the Life Prediction of Organic Coatings on Metals", Corrosion 1990 (1), pp 22.


EIS300: Overview of the Framework Structure

EIS300: Overview of the Gamry Framework Structure

The EIS300 includes experimental scripts, dynamic linked libraries, and analysis macros that run under the Gamry Instruments Framework. The Framework provides a consistent operator's interface for the EIS300 EIS System and other Gamry Instruments software, such as the DC105 DC Corrosion System and the PHE200 Physical Electrochemistry System.

The Framework works with experimental scripts to provide experimental control, data acquisition, and real-time displays. The Framework runs as a separate Windows application. It is the program you execute when you select the Framework icon in the Windows program manager.

A script contains the instructions required to run a specific experimental technique. You access EIS experimental scripts through selections on the Framework menu bar.

The EIS300 also includes analysis scripts. These scripts run under the Gamry Echem Analyst. The analysis scripts are used for data analysis & editing, presentation graphics, and results output.

Finally, the EIS300 includes a graphical editor which is used to create and modify equivalent circuit models. This editor is accessed via a menu selection in the Gamry Echem Analyst.


EIS300: Cell Cable Connections

Cell Cable Connections

The EIS300 must be connected to a cell before it can take measurements. In the Tutorial Exercises, it will be connected to the EIS dummy cell that was provided with your EIS300 System.

Not all Gamry Instruments' potentiostats connect to the cell in the same way. You should consult your potentiostats' Operator's Manual for specific cell connection instructions.


EIS300: Tutorial Conventions

Tutorial Conventions

The tutorial exercises in this section include both step by step instructions and explanatory material. To make the tutorial sections easier to read, the instructions will be in a bold type face. Explanatory material will be in a normal typeface, and indented. For example:

This is typical of a step in the enclosed tutorials.

This is typical of an explanation of the step above.

The EIS300 can be run without a mouse or other pointing device. This is convenient if you plan to run the system in the field . Keyboard operation does involve some memorization of keystroke sequences, so it is somewhat more difficult to learn than operation using a mouse.

The tutorial exercises often ask you to double click a mouse button. To double click, press the button down, release it, then quickly press it again. If this doesn't work the first time, try clicking slower or faster. Double clicking is a technique that sometimes takes some practice before you are comfortable with it.

The Window's double click speed setting can be adjusted. The setting can be found in the Mouse section of the Control Panel program.


EIS300: Tutorial Exercises

The EIS300 is a complex system for the acquisition and analysis of EIS data. This does not mean that operation of the system is difficult to learn. In these tutorials, we will demonstrate standard operation of the EIS300 System. Please run through the tutorials IN ORDER because results from earlier tutorials are used in subsequent exercises.

Recording an EIS Spectrum on the supplied dummy cell using a standard technique.

Changing parameter sets for standard techniques.

Standard data analysis and plotting.

Simple changes to an ExplainÔ script.

Examining ASCII Data and Results files.

Modifying an Equivalent Circuit Model

We strongly recommend that you run through the exercises. Practice is always the best way to get comfortable with a new program.

When you have finished performing the tutorial exercises, you should know how to make the EIS300 perform any standard operation. What these tutorials do not do is:

  • Teach you all you need to know about Windows. We do discuss Windows operations that are essential for use of the EIS300. Additional Windows knowledge is available from the Microsoft documentation and tutorials.
  • Explain the EIS experimental technique itself, why it is run and what its parameters mean. Some of this information is available in the help sections on theory.
  • Describe the Explain Control Language in enough detail that you can modify scripts. This information is available in the Explain Library Help sections.
  • Discuss the Mott-Schottky technique used to generate impedance versus voltage curves.


EIS300: Experimental Techniques

Standard Techniques

These sections describe each of the standard FC350 measurement techniques. The descriptions include:

· A short overview of the technique and its uses.

· A look at the experimental sequence.

· A description of the parameters used in the setup.

· A description of the analyses that can be performed on the technique's data.

Information relevant to all FC350 techniques is discussed prior to the FC350 EIS technique description.

The included help files describe the standard technique scripts as supplied. The scripts can be edited. While we strongly recommend that a changed version of a script be stored under a new name, we recognize that some people will ignore our recommendation. If you find that your FC350 does not work as we have described and there is a possibility that the standard script has been changed, please get your system back to normal. Save the changed script under a new name and get the standard script back by copying it from your CD to your hard disk.

Remember that the information provided here does not attempt to teach you how to interpret the results of an experiment. A textbook or the original literature may aid you in this regard.


EIS300: Common Setup Parameters

FC350: Common Setup Parameters

Each of the following are setup parameters common among the FC350 techniques.

Pstat

Identifier

Output

Notes

Area

Initial Delay Time

Delay Stability

Optimize For


EIS300: Status and Error Messages

Status and Error Messages

The EIS300 techniques provide both status and error messages as they run. These messages are displayed in the lower left hand corner of the Runner window.

The first three messages tell you how the measurement of the last point was terminated. In all cases, an impedance data point was measured.

Measurement OK

Timeout

Cycle Limit

These error messages are displayed when the FRA has failed to take an impedance data point. You will be asked if you wish to retry the measurement, go to the next frequency, or terminate the entire experiment.

Unable to Control Signal

Stuck in Reading Loop

Unable to set current range

User Interrupt

Invalid Measurement

These message occur when one attempt to record an impedance point has failed. However, the failure was not fatal. The script will reset the measurement settings and retry the measurement at the same frequency:

Vac too small

Vac too big

Iac too big

Idc too big


Galvanostatic EIS: Purpose

Galvanostat EIS applies both a DC and an AC current to the fuel cell under test. The DC current is used to bias the cell to its normal operating condition. The AC current is then used to excite the cell, creating an AC voltage. The AC voltage divided by the AC current is the cell's impedance. The impedance is generally measured over a wide range of frequencies.

The Galvanostatic EIS technique is used to characterize an electrochemical interface. It is especially useful when the potential of the interface is changing with time. A small signal AC current excitation is applied to an electrochemical cell. The phase sensitive AC voltage response of the interface is measured as the frequency of the excitation signal is varied.

Galvanostatic EIS can be useful in many areas of electrochemistry, including research in batteries, electrode kinetics, and industrial electrolysis. It can be used to measure the EIS spectrum of a battery while the battery is being discharged.

The output of an EIS experiment is a complex impedance spectrum. The term complex is used in its mathematical sense -- containing both real and imaginary terms. An EIS spectrum is usually graphed as either a Bode plot (impedance magnitude and phase plotted versus frequency) or a Nyquist plot (imaginary impedance plotted versus real impedance). Analysis of the impedance spectrum can give you the following information:

  • Polarization Resistance
  • Double layer capacitance
  • Solution Resistance
  • Mechanistic and kinetic information


Galvanostatic EIS: Experimental Sequence

The Galvanostatic EIS standard technique is run by selecting Experiment, E'Chemical Impedance, Galvanostatic EIS from the Framework menu bar. This initiates the following sequence of events:

  1. The Framework creates a Runner window and the "Galvanostatic EIS.EXP" script is run in this window.
  2. The script creates the Setup dialog box and accepts changes in the parameters.
  3. The script now obtains the use of the Potentiostat. The Runner window's Title reflects the Output filename.

    If the Potentiostat is in use or the file cannot be opened, the script returns you to the Setup dialog box.
  4. The file header information is written to the data file.

    This header information includes; a) Tags identifying possible analyses, b) the current time and date, and c) a list of the Setup parameters. This information is written to the file prior to data acquisition. If the experiment is aborted prior to acquisition of the first data point, the output file contains only this information.
  5. The script conditions the electrode if Conditioning was specified in the Setup.

    Conditioning is done by applying a fixed potential for a defined time. It establishes a known surface state on the working electrode. A plot of current versus time is displayed during the Conditioning.
  6. The cell is turned off and the specimen's Eoc is measured.

    If an Initial Delay is turned on in the Setup, this step lasts for the time specified as the Delay Time, or until the potential stabilizes . If no Initial Delay is specified, this step only lasts long enough for Eoc to be measured. A plot of potential versus time is always displayed. The last measured potential is recorded as Eoc.
  7. The script then sets up data acquisition. The Potentiostat is switched to galvanostatic mode and the cell is turned on. The measurement parameters are set to measure an impedance equal to the Estimated Z parameter. If a non-zero DC current has been requested, it is output.

    The current equal to the AC current is then output at the Initial Frequency and the cell's response to this frequency is measured. If the readings of both the E and I signals are acceptable, the script proceeds to the frequency sweep.

    If the values are not acceptable, the script generates a new estimate for the cell's impedance, resets the measurement parameters for this impedance, and reruns the measurement. If an acceptable reading cannot be reached after a set number of attempts, the script reports an error, asks if you to quit or continue, and waits for your answer.
  8. In the frequency sweep, the script first calculates the desired frequency. For the Nth step in the loop, the frequency is calculated as follows:

    Log Increment = 1.0 / Points/decade
    if Initial Frequency > Final Frequency, Log Increment = - Log Increment
    Frequency = 10(log(Initial Frequency) + N x Log Increment)

    This calculated frequency is then adjusted slightly because of the finite resolution of the oscillator and to avoid harmonics of the power line frequency.

    The script then sets the measurement parameters to measure an impedance equal to the last recorded impedance and then takes an FRA reading. If the readings of both the E and I signals are acceptable, the script converts the readings to an impedance, records the impedance point on disk, updates the displayed curve, and then proceeds to the next frequency in the frequency sweep.

    If an acceptable reading cannot be reached after a set number of attempts, the script reports an error, asks if you want to continue, and waits for your answer.
  9. When the calculated frequency exceeds the Final Frequency, the script halts, and waits for you to select SKIP. Once you do so, the script closes everything that's open, including the Runner window.


Galvanostatic EIS: Setup Parameters

The following parameters are associated with the Galvanostatic EIS experiment:

Initial Freq

Final Freq

Points/Decade

AC Current

DC Current

Estimated Z


Galvanostatic EIS: Analysis

The data file from a Galvanostatic EIS experiment is in the same format as that from a potentiostatic EIS experiment. You can analyze it using the EIS Curve or the Compare EIS data analysis packages provided with the EIS300.


Hybrid EIS: Purpose

The Hybrid EIS technique is used to characterize an electrochemical interface. It is especially useful when the potential of the interface is changing with time and the interfacial impedance is strongly dependent on the measurement frequency. A small signal AC current excitation is applied to an electrochemical cell. The phase sensitive AC response of the interface is measured as the frequency of the excitation signal is varied. The magnitude of the AC current is adjusted to obtain a nearly constant AC potential level.

Note that a single potentiostatic EIS measurement is made at the open circuit potential and the Initial Frequency to determine the optimal current level to be applied at this frequency. All measurements following this first one are made galvanostatically.

The Hybrid EIS technique can be useful many areas of electrochemistry, including research in batteries, electrode kinetics, and industrial electrolysis.

The output of an EIS experiment is a complex impedance spectrum. The term complex is used in its mathematical sense -- containing both real and imaginary terms. An EIS spectrum is usually graphed as either a Bode plot (Impedance magnitude and phase plotted versus frequency) or a Nyquist plot (imaginary impedance plotted versus real impedance). Analysis of the impedance spectrum can give you the following information:

  • Polarization Resistance

  • Double layer capacitance

  • Solution Resistance

  • Mechanistic and kinetic information


Hybrid EIS: Experimental Sequence

The Hybrid EIS standard technique is run by selecting Experiment, E'Chemical Impedance, Hybrid (Pstat/Gstat) EIS from the Framework menu bar. This initiates the following sequence of events:

1. The Framework creates a Runner window and the "Hybrid EIS.EXP" script is run in this window.

2. The script creates the Setup dialog box and accepts changes in the parameters.

3. The script now obtains the use of the Potentiostat. The Runner window's Title reflects the Output filename.

If the PC4 is in use or the file cannot be opened, the script returns you to the Setup dialog box.

4. The file header information is written to the data file.

This header information includes; a) Tags identifying possible analyses, b) the current time and date, and c) a list of the Setup parameters. This information is written to the file prior to data acquisition. If the experiment is aborted prior to acquisition of the first data point, the output file contains only this information.

5. The script conditions the electrode if Conditioning was specified in the Setup.

Conditioning is done by applying a fixed potential for a defined time. It establishes a known surface state on the working electrode. A plot of current versus time is displayed during the Conditioning.

6. The cell is turned off and the specimen's Eoc is measured.

If an Initial Delay is turned on in the Setup, this step lasts for the time specified as the Delay Time, or until the potential stabilizes . If no Initial Delay is specified, this step only lasts long enough for Eoc to be measured. A plot of potential versus time is always displayed. The last measured potential is recorded as Eoc.

7. The script then sets up data acquisition and obtains an initial value of the cell’s impedance via a potentiostatic measurement at Eoc. The Potentiostat is switched to potentiostatic mode, the potential is set to the previously measured Eoc, and the cell is turned. The measurement parameters are set to measure an impedance equal to the Estimated Z parameter.

The voltage equal to the AC voltage is then output at the Initial Frequency and the cell's response to this frequency is measured. If the readings of both the E and I signals are acceptable, the script switches the Potentiostat to galvanostatic mode and proceeds to the frequency sweep.

If the values are not acceptable, the script generates new estimate for the cell's impedance, resets the measurement parameters for this impedance, and reruns the measurement. If an acceptable reading cannot be reached after a set number of attempts, the script reports an error, asks if you to quit or continue, and waits for your answer.

8. In the frequency sweep, the script first calculates the desired frequency. For the Nth step in the loop, the frequency is calculated as follows:

Log Increment = 1.0 / Points/decade

if Initial Frequency > Final Frequency, Log Increment = - Log Increment

Frequency = 10(log(Initial Frequency) + N x Log Increment)

This calculated frequency is then adjusted slightly because of the finite resolution of the oscillator and to avoid harmonics of the power line frequency.

The script then sets the measurement parameters to measure an impedance equal to the last recorded impedance. The applied current is calculated from the last impedance and the desired AC voltage. A reading is then taken.

If the readings of both the E and I signals are acceptable, the script converts the readings to an impedance, records the impedance point on disk, updates the displayed curve, and then proceeds to the next frequency in the frequency sweep.

If an acceptable reading cannot be reached after a set number of attempts, the script reports an error, asks if you want to continue, and waits for your answer.

9. When the calculated frequency exceeds the Final Frequency, the script halts, and waits for you to select SKIP. Once you do so, the script closes everything that's open, including the Runner window.


Hybrid EIS: Setup Parameters

The following parameters are associated with the Galvanostatic EIS experiment:

Initial Freq

Final Freq

Points/Decade

AC Voltage

Estimated Z


EIS300 Analysis Overview

The EIS300 System provides a set of analysis scripts which run under the Gamry Echem Analyst. These tools are used for data analysis, presentation graphics, and reporting.

Analysis in the EIS300 includes a sophisticated complex non-linear least squares algorithm. It is used to fit an equivalent circuit model to an impedance spectrum. A number of standard equivalent circuit models are provided with the system.

In addition to the tools available in the Gamry Echem Analyst, the EIS300 includes an equivalent circuit model editor. You can use this editor to create and/or modify circuit models.


Clear All Fits

This command clears any fits which have been performed on the data. Fits on both the Nyquist and Bode plots will be cleared, and any pages which have been added will be removed. Note that this cannot be undone, and you should use this command only when you are certain that you do not wish to keep any existing fits.

This command is only available on the Impedance analysis menu.


Fit A Model...

Fit A Model (Levenberg-Marquardt Method)

The Fit A Model (Levenberg-Marquardt Method) command is used to fit a data set to an equivalent circuit model that is stored on your computer's disk. The model can be one of the standard models supplied with the EIS300 or it can be a custom model generated using the model editor.

The EIS300 uses a complex, non-linear c² minimization to fit the impedance data to the selected equivalent circuit model. Each model includes a number of adjustable parameters. Examples of adjustable parameters include:

  • The value for the cell's uncompensated resistance.
  • The cell's double layer capacitance.
  • The pore resistance of a sample with a defective paint coating.

The fitting routine searches for the parameter values that cause the model's impedance spectrum to most closely match the experimental spectrum.

The minimization algorithm is quite complex. It makes a number of estimates for the values of the adjustable parameters. After each estimate, a "goodness of fit" is evaluated. New estimates for the parameter values are then made, using the well-known Levenburg-Marquardt algorithm. The process is repeated until the fit stops improving, or until a preset number of iterations have been made.

Click here to see the dialog box that appears when you select the Fit A Model (Levenberg-Marquardt Method) command. Models are stored with a filename extension of ".MDL". Generating equivalent circuit models is described in the next section.

Click here for a description of the standard equivalent circuit models provided with the EIS300.

Click here for a list of the adjustable parameters for each of the standard models.

Once you select a model, the system displays a Parameter Initialization dialog box. Each of the adjustable parameters in the model is listed on a separate line in this dialog box. The first field on each parameter line is the initial estimate that the fit will use for the parameter. This initial parameter is set in the model file, and can be changed using the model editor.

You should not select Calculate until you have non-zero values for all the initial parameter estimates. Initial parameter values that are close to the fit values speed the fitting process and minimize non-convergence problems.

If you know the value of one of the model's adjustable parameters exactly, you should enter the known value in the parameter's field and check the Lock control for that parameter. The fitter does not vary a parameter that has its Lock control checked.

The Iterations field allows you to control the maximum number of iterations (optimization loops). The fitting process is repeated until the fit stops improving, or until the maximum number of iterations have been made. If the fit does not converge on a first attempt, increase the number in the Iterations field and try again.

There are 3 control buttons in the Parameter Initialization dialog box.

  • The Close button concludes the curve fitting and writes the current values of the parameters to the New Page.
  • The Preview button calculates the impedance spectrum of the model using the initial values for all the adjustable parameters. Plots this model spectrum on the same chart as your data curve. This command is useful when you are interested in manually changing values and previewing the corresponding fit.
  • The Calculate button begins the curve fitting procedure using the initial values displayed. This button can be pressed repeatedly allowing the user to achieve a better fit by running more iterations.

The time required to fit a spectrum to a model depends on the speed of your computer, the number of parameters in the model, the number of points in the spectrum, and the degree to which the model describes the spectrum. In most cases the fit should be completed within a few seconds.

NOTE: There will be some cases in which the fit will not converge on a reasonable set of values. This situation can be detected quite easily on the graph. The fit plotted on the chart does not even remotely resemble the original data.

Several factors can cause a convergence failure:

  • Fitting to an incorrect model. This is the most common problem. Increasing the number of iterations or improving the initial estimates cannot help the least squares algorithm fit an incorrect model to a data set. Try a different model.
  • Not enough iterations. Try increasing the value of the Iterations parameter in the Parameter Initialization dialog box.
  • Poor initial estimates for one or more of the fit parameters. Try different values.
  • Stray data points in the data set. You can disable any stray data points by right clicking on the point and saying disable. Alternatively, the fit is performed on the selected region (or the full data set if no region is selected). You can select a smaller region for your data set. If a data point is disabled, it will not be used, even if in the selected region. To re-enable a point, right click on the point and say enable. To disable or enable multiple points, select those points with the Select Portion of Curve tool [image], and then right click on any point to specify disable or enable.

Once the fit has been completed the script:

  1. Calculates the impedance spectrum of the model using the fit values for the adjustable parameters.
  2. Plots this model spectrum on the same chart as your data curve. This includes both the Bode and Nyquist charts.

Upon closing the Model Parameter Window the Impedance analysis script generates a list of the fit values and the estimated errors for the fit values. This list is written to a new page which has the same name as the model.


Model Editor

The Model Editor command is used to access the EIS300's graphical model editor. The model editor is a separate program that runs in its own window. It is used create new equivalent circuit models or modify the standard models provided with the EIS300.

The model editor program is described in detail in its help section.

This command is only available on the Impedance analysis menu.


Normalize By Area

The Normalize By Area command is used to remove the effect of area in cases where electrodes of different sizes have been used. This command takes the acquired data, impedance, and multiplies it by the electrode area.

The steps to use this command are as follows:

  1. Make the trace you wish to Normalize the Active trace. This can be done by right clicking on the trace and pressing Activate Trace.

  2. Select the Normalize By Area command from the document menu. At this point, the data will be processed, and a modified trace, assuming one does not already exist, will be added to the chart. This modified trace will have a [NA] appended to its legend text, to let you know that it has been normalized by area.


Impedance Analysis Overview

The Impedance analysis script allows the user to open Potentiostatic EIS, Galvanostatic EIS, and Hybrid Mode EIS data files by selecting the data file from the File Open window. The data file will open, and a series of tabbed pages are created in a new window. These tabs contain two graphs of the data, experimental setup information, notes, and hardware settings.

The standard Impedance analysis script shows a Bode plot on the first page. A Nyquist plot is available on the second page.


Impedance Analysis Pages

The standard impedance analysis contains the following pages at startup:

Bode

The Bode page is the heart of the impedance analysis. It contains the data plotted in a Frequency versus Magnitude and Phase format.

Nyquist

The Nyquist page contains a Nyquist plot of the data. This plot graphs the real versus the imaginary values of the impedance data.

Experimental Setup

The Experimental Setup page contains a list of the parameters used to acquire the data presented on the Chart page.

Experimental Notes

The Experimental Notes are the notes entered by the user prior to the data acquisition. The Notes can be edited in the analysis, and saved with the changes to an analysis data file.

Hardware Settings

The Hardware Settings Page contains all of the potentiostat settings used during the run of the experiment.

Curve

The Curve Page displays the EIS raw data as a large grid. You may use this tab to view the raw data file. You may also print the data or copy the data to the clipboard. From the clipboard, the data may be 'pasted' into another application, such as Excel.

To select the entire data set, left-click on the upper left hand edge of the grid. To print the data or to copy it to the clipboard, right-click on the selected area.

Additional Pages Which May Become Visible

Various Models

Once a fit is performed on the impedance data, a page is added to summarize the results of that fit. The page name is the same as the model which was used to fit the data. In the event the same model is used more than once, only one page is added, and the results are updated to reflect the most recent fit. If different models are used, a new page is added for every model.

The fit results are displayed in a grid. You may print the grid or copy the grid to the clipboard. From the clipboard, the results may be 'pasted' into another application, such as Excel.

To select the entire grid set, left-click on the upper left hand edge of the grid. To print the grid or to copy it to the clipboard, right-click on the selected area.


EIS300: Model Editor

Equivalent Circuit Models: Creating

The EIS300 includes a powerful nonlinear least squares curve fitting tool. Normally you use this tool to fit equivalent circuit models to impedance spectra. However, it can be used to fit any model that can be expressed in a standard mathematical form.

The EIS300 is supplied with equivalent circuit models for a few of the more common electrochemical situations. However, these do not approach the enormous number of models required to describe real world electrochemical cells.

Because of this, the EIS300 also includes a graphical model editor. This editor is used to modify the standard EIS300 models or to create completely new equivalent circuit models. Models are built up using resistors, capacitors and inductors, all of which are familiar to electrical engineers. You can also add less common components to your design -- Warburg and Gerischer impedances which describe diffusion and Constant Phase Elements which describe non-ideal capacitors.

This section discusses the routine use of the model editor in creating and editing equivalent circuit models. This discussion assumes that you have not altered the model editor in any way and that you will only use the supplied circuit elements in your design. A simple example -- creating a new Randles Cell model -- is used to illustrate the use of the model editor.


Starting Up the Model Editor

The model editor is a separate program that runs in its own window. You normally start up the model editor from the Impedance analysis script in the Gamry Echem Analyst. Select the Impedance, Model Editor command

When you start up the model editor, you will see an Empty Model Editor Window new window that looks similar to the figure below. This window can be moved and resized just like other Windows applications windows. It is not a child window, so it is independent of the Echem Analyst window.


Drawing a Model

The lower portion of the model editor screen is blank except for two symbols labeled W.E. and R.E. This area will be referred to as the drawing area. The schematic diagram for your equivalent circuit model is drawn in this blank area.

The symbol labeled W.E. is the working electrode terminal and the symbol labeled R.E. is the reference electrode terminal. The model impedance is calculated as the impedance between these two terminals. All circuit elements must be directly or indirectly connected to each of these terminals. If they are not, a "Wiring Error" is reported when the model is saved or compiled.

You can move the W.E. or R.E. terminal or any other circuit elements around in the drawing area. The moving process is called drag and drop. The terminals cannot be moved outside the drawing area and they cannot be discarded using the trash can icon.

To drag and drop a circuit element, simply point at it with the mouse and hold down the mouse button. A frame will appear, which can be dragged around the windows as long as the mouse button is held down. Once the button is released, the component is redrawn (dropped) in the current location of the frame.

Circuit elements are added to the model using the pushbuttons above the drawing area. The figures below identifies the pushbuttons.

Resistor Resistor

Capacitor Capacitor

Inductor Inductor

Infinite Warburg Infinite Warburg

Bounded Warburg Bounded Warburg

Porous Warburg Porous Warburg

Constant Phase Element Constant Phase Element

Gerischer Gerischer

Wire Wire

The impedance expressions for the first eight elements are given in the theory section. Wires are special circuit elements that will be discussed later in this section.

When you select the button for an element, a copy of the element is added to the drawing. Initially the new element is located just below its push button. Note that the element includes a symbol and one or more pushbuttons located below the symbol. You drag and drop the newly created element to move it to its desired location.

In our example below , we will build a Randles cell model. We start by placing three circuit elements on the drawing area. After the elements were placed, a wire was created by selecting the wire pushbutton. The wire is seen below the pushbutton.

Wires differ from other components in several ways. They do not have an associated pushbutton. You drag and drop each end of the wire separately. When you are dragging one end of a wire you do not see a frame. Instead you see a small dark rectangle inside a slightly larger rectangular outline.

Wiring two elements together is quite simple. Drag one end of a wire to the first element to be connected. Drop this end of the wire on the small dot at the end of this element's outline. Drag the second end of the wire to the second element to be connected and drop it on its small dot. The wire should be aligned with the symbol in the element's outline.

Watch the following demonstration to learn how to use the model editor.

Model Editor Demonstration


Deleting Elements

Circuit elements, including wires, can be removed from the drawing area by dragging them to the trash can symbol. The point on the end of the mouse cursor must point within the trash can when you drop the element. You only have to drag one end of a wire to the trash can.

You can also right click on an element and select Delete from the context sensitive menu.


Modifying Element Parameters

In the example in the last section, the circuit elements all have the same label - Param1. Before you use the model, the labels should be changed such that each parameter label is unique. This includes the two labels associated with several of the elements.

NOTE: If the parameter names are not unique, no error is reported. The non-linear curve fitter will treat parameters with the same name as one parameter. The fitter will find one value for each set of parameters that share a name.

You change the parameter names and the limits of an element by clicking on the button associated with that element. This brings up a dialog box similar to that in the figure below.

Circuit Element Parameter Dialog Box

As you can see in this figure, the Parameter Name field in used to enter a new label. The parameter label is an alphanumeric string of up to 15 characters. In the figure above, the label is being changed to Cdl, standing for double layer capacitance. We recommend that you try to find descriptive names for your parameters.

The Initial Value is the value which is first put into the fit dialog box. We recommend that you put in a number that would be most likely to be a good starting point for a fit. For example, for a solution resistance, an Initial Value of 50 ohms might be suitable.

The Lower Limit Test and Upper Limit Test sections are used to bound the parameter value in the curve fitter. In the figure above the Lower Limit Test has been enabled with a boundary value of zero. This prevents the fitter from trying negative values for the parameter. This is a sensible thing to do, since a negative capacitor is an unlikely component to find in a real world circuit model. Enabling the limit tests on parameters can speed up the curve fitting process and can help prevent nonconvergence.


Model Editor Menu Bar

There are only two selections on the model editor Menu bar. They are File and Tools.

When you select File, a pull down menu appears. The selections on this pull down are described below.

New

Open

Save

Save As

Exit

When you select Tools, a pull down menu appears. The selections on this pull down are described below.

Compile


EIS300: Analysis Tags

Analysis Tags

The first entry in the sample file is an Analysis Tag. Analysis Tags prevent data from being analyzed by inappropriate analysis GScripts.

The tutorial data allows analysis by Impedance.GScript. A VBA GScript will not analyze a file that does not contain the correct tag for that package. All standard data files will have at least one Analysis Tag in their data file.


EIS300: Curve Tag

The Data Curve

In the sample figure, the data portion of the file begins with this line.

ZCURVE

The tag identifies the data set as a "ZCURVE" datatype. The FRAMEWORK exclusively uses the ZCURVE datatype. Other experiments, such as the DC105 test techniques, produce other data types.

The first line following the datatype is a set of descriptive column headings. These headings are for file readability only. The EIS300 analysis GScripts do not use the column headings to identify data positions within the curve. Click on the headings below to get a description.

ZCURVE TABLE

Pt Time Freq Zreal Zimag Zsig Zmod Zphz Idc Vdc IRange
# s Hz ohm ohm V ohm ° A V

0 7 5000 201.039 -33.332 1 203.784 -9.41393 8.89475E-006 0.005877 4

1 12 4032.26 198.969 -41.875 1 203.328 -11.885 4.45025E-006 0.004065 4

2 17 3205.13 201.301 -49.936 1 207.402 -13.9319 8.30867E-006 0.005587 4


EIS300: Data File Format

Data File Format: EIS300

In this section, we will discuss the structure of a EIS300 data file. This information is provided so that you can:

· Understand the data file contents.

· Write your own data analysis program.

· Edit a data file.

· Format data from other sources so that you can analyze it using the EIS300 analysis macros.

We will discuss the following topics:

· An overview of the file and the tools you can use to examine and/or modify it.

· Analysis tags.

· Setup parameters.

· Non-curve data.

· The data curve, concentrating on the CURVE data type.

· Special file formats for specific techniques.

Throughout this discussion, we will be using the data file produced by the tutorial experiment as an example.


EIS300: Data File Overview

Data File Overview

AnFC350 data file is a standard ASCII file. By default it has a ".DTA" filename extension. You can use other filename extensions, but they will be less convenient.

The Windows Notepad is a convenient editor that you can use to examine and modify FC350 data files. However, it is limited to files shorter than 64 kbytes. Microsoft Excel, with its powerful text formatting, is the preferred tool for printing all data files and editing files too long for Notepad.

EXPLAIN

The EXPLAIN tag identifies this file as one output from an Explain Script. Without this tag, a file will not be read in by the Gamry Echem Analyst.

The data file consists of data objects identified by types and tags. The type is a text descriptor of the type of object which should be created from this information. Each type begins a line in the file. Any text at the beginning of a line is assumed to be a type. The data objects can be of various types. One object, uniquely identified as type TAG, is used to specify which experiment created the data file. This is used by the Gamry Echem Analyst to determine which Analysis script should be used when this data file is opened.

TAG POTENTIODYNAMIC

After each type identifier, there is a TAG identifier. This tag is a unique name for a specific object. Setup parameter data objects have one or more values following the type and tag. In the following example, the tag of the object is "VDC". The object is of type "POTEN", and the information about the poten is contained in the following 3 fields.

POTEN VDC -5.00000E-001 F DC &Voltage (V)

One special type is a TABLE. A TABLE is output by a data curve. The tag for a data curve is followed by the entire data array.

ZCURVE TABLE

 Pt Time Freq Zreal Zimag Zsig Zmod Zphz Idc Vdc Irange
# s Hz ohm ohm V ohm ° A V #
 0 7 5000 201.039 -33.332 1 203.784 -9.41393 8.89475E-006 0.005877 4
 1 12 4032.26 198.969 -41.875 1 203.328 -11.885 4.45025E-006 0.004065 4
 2 17 3205.13 201.301 -49.936 1 207.402 -13.9319 8.30867E-006 0.005587 4

Fields (tags and values) within data objects are separated by tabs. One exception is the separator between data points in a data curve, which is a carriage return. Notice that the fields do not always line up when the data file is printed and/or edited.

CAUTION: Do not add spaces to the tabs separating the fields. Do not edit the data file with an ASCII editor that substitutes spaces for tab characters.

Data objects can appear in any order in the file. The Echem Analyst's GScripts locate objects within the file by means of their tags.


Freq (EIS300)

Freq

This column is Frequency, and the column label is Freq. The frequencies are in Hz.


Idc and Vdc (EIS300)

Idc and Vdc

These columns are the measured DC current and voltage. These quantities are measured at each frequency, because they are required in the autoranging decision.


Irange (EIS300)

Irange

This is the potentiostat current range used to record the data point. It is included as a trouble shooting tool. It is not required. Gamry Instruments reserves the right to drop this field from the data file in future software releases.


Non-curve Data

In the sample figure, the value for Eoc isn't exactly a parameter, because all parameters are numbers entered by the system's user.

EOC -0.001200

This is the open circuit voltage recorded at the end of the open circuit delay. The units are volts.


Point Number (EIS300)

Point Number

The numbers in the first column, under the column label "Pt", are data point numbers. As is typical in computer programs,FC350 data point numbering starts with zero, not one. The first data point recorded is stored as the "zeroth" point.

The data point numbers for a normal FC350 data file are always sequential integers. Data that has been edited can have gaps in the point number sequence. This creates no problems in the analysis GScripts. If you write your own data manipulation program, we recommend that you also allow for non-sequential point numbers.


Setup Parameters

In the sample figure, the setup parameters follow the Analysis Tags. The parameter tags are quite descriptive. We will therefore not bother with a line by line description of the parameters.

Remember that values are separated from their tag and from each other by tabs. Parameter values are stored in the data file in the units in which they are entered into the setup. Logical variables are stored as T (true) or F (false). Potentials have both a numerical value and a logical value which records the status of the versus Eoc switch. For example:

IDC 0.00000E+000 F


The Tutorial Data File

The following figure shows a data file produced by running the Tutorial experiment. Space limitations limit the figure to the first 5 data points for both the open circuit data and the ZCURVE data. The file contains more points not shown in the figure.

Tutorial Data File

EXPLAIN

TAG EISPOT

TITLE LABEL Potentiostatic EIS Test &Identifier

DATE LABEL 4/27/2001 Date

TIME LABEL 8:41:38 Time

NOTES NOTES 1 &Notes...

PSTAT PSTAT MyPstat Potentiostat

VDC POTEN 0.00000E+000 T DC &Voltage (V)

FREQINIT QUANT 1.00000E+005 Initial Fre&q. (Hz)

FREQFINAL QUANT 2.00000E-001 Final Fre&q. (Hz)

PTSPERDEC QUANT 1.00000E+001 Points/&decade

VAC QUANT 1.00000E+001 AC &Voltage (mV rms)

AREA QUANT 1.00000E+000 &Area (cm²)

DENSITY QUANT 7.87000E+000 &Density (gm/cm³)

EQUIV QUANT 2.79200E+001 Equiv. &Wt

CONDIT TWOPARAM F 1.50000E+001 0.00000E+000 Conditionin&g Time(s) E(V)

DELAY TWOPARAM T 1.00000E+002 0.00000E+000 Init. De&lay Time(s) Stab.(mV/s)

SPEED SELECTOR 1 &Optimize for:

ZGUESS QUANT 1.00000E+002 E&stimated Z (ohms)

OCVCURVE TABLE 27

Pt T Vf Vm Ach Over

# s V V V bits

0 0.258332 -7.85582E-005 0.00000E+000 8.55800E-004 ......

1 0.516663 -7.40582E-005 0.00000E+000 -1.24420E-003 ......

2 0.774994 -7.05582E-005 0.00000E+000 8.55800E-004 ......

3 1.03333 -6.85582E-005 0.00000E+000 -1.14420E-003 ......

4 1.29166 -6.90582E-005 0.00000E+000 8.55800E-004 ......

5 1.54999 -7.20582E-005 0.00000E+000 -1.04420E-003 ......

EOC QUANT -6.55582E-005 Open Circuit (V)

PSTATMODEL IQUANT 32 Pstat Model

CTRLMODE IQUANT 1 Control Mode

IESTAB IQUANT 0 I/E Stability

CASPEED IQUANT 1 Control Amp Speed

CONVENTION IQUANT 1 Current Convention

ICHRANGE IQUANT 2 Ich Range

ICHRANGEMODE TOGGLE F Ich Auto Range

ICHOFFSETENABLE TOGGLE T Ich Offset Enable

ICHOFFSET QUANT 0 Ich Offset (V)

ICHFILTER IQUANT 2 Ich Filter

VCHRANGE IQUANT 2 Vch Range

VCHRANGEMODE TOGGLE F Vch Auto Range

VCHOFFSETENABLE TOGGLE T Vch Offset Enable

VCHOFFSET QUANT 0 Vch Offset (V)

VCHFILTER IQUANT 2 Vch Filter

ACHRANGE IQUANT 0 Ach Range

IERANGELOWERLIMIT IQUANT 3 I/E Range Lower Limit

IERANGEMODE TOGGLE F I/E AutoRange

IERANGE IQUANT 11 I/E Range

POSFEEDENABLE TOGGLE F Positive Feedback IR Comp

POSFEEDRESISTANCE QUANT 0 Positive Feedback Resistance (ohm)

ZCURVE TABLE

Pt Time Freq Zreal Zimag Zsig Zmod Zphz Idc Vdc IERange

# s Hz ohm ohm V ohm ° A V #

0 4 100007 198.176 0.471806 1 198.176 0.136406 -1.07907E-007 0.000413 9

1 6 79433.6 198.228 -0.777778 1 198.229 -0.224808 -1.29594E-007 0.000374 9

2 8 63105.5 198.564 -1.8434 1 198.572 -0.531902 8.60578E-007 0.000224 9

3 10 50123.7 198.863 -2.76984 1 198.882 -0.797988 -7.77346E-008 0.000361 9

4 12 39811.2 199.091 -3.71723 1 199.126 -1.06965 2.30313E-007 0.000316 9

5 14 31634.1 199.242 -4.69931 1 199.298 -1.35112 8.08844E-007 0.000261 9


Time (EIS300)

Time

The next column in the CURVE datatype is time. The column label is T. The times are in seconds since the start of data curve acquisition. Time is reported in all Framework data files, even if it is not a variable in a experiment.


Zreal, Zimag, Zmod and Zphz (EIS300)

Zreal, Zimag, Zmod and Zphz

These columns are the measured impedance. The impedance is represented in both complex form and polar notation. For a capacitor, Zimag and Zphz are negative.


Zsig (EIS300)

Zsig

Reserved for future use.


EIS300: Library Routines

Library Routines: EIS300

The EIS300 uses functions and classes that are specifically designed for AC measurements. These include two simple math functions that calculate modulus and phase from a complex number.

The system's FRA drivers are found in dynamic link libraries (DLLs) that are loaded by the Framework as required. Each particular FRA has its own library in its own DLL. At present, 2 such drivers are included in the EIS300, one for the SRS SR810 or SR830 DSP Lock In Amplifier, and one for Gamry's software only SoftFra.

Each driver defines two classes, class FRA and class FRACURVE. The functions in these drivers are, for the most part, unique and individual to the driver. However, the function names and parameters are the same in each driver. This allows EIS300 scripts to be oblivious to which driver is being used. These names and parameter lists are described below.

The following items are described in this section.

Curve Classes
class FRACURVE AC Impedance current versus potential curve


FRACURVE

Type: Class

Purpose: The class FRACURVE performs a single frequency AC current/voltage measurement. It displays a curve in a real-time curve window during acquisition. This curve may be either a Lissajous figure (I vs. E) or a pair of time traces. The FraCurve object goes on to calculate and report the frequency response at that frequency as well as the DC current at the time the AC measurement was taken. One should note that the FRACURVE name is a general term and is replaced with FRACURVE4 for both the PCI4 and PC4 families of potentiostats.


FRACURVE.New()

Type: Class Function

Purpose: The function FRACURVE.New creates a new FRACURVE object. This object, being a real time curve, will be entered on the list of curves in the runner window. It may or may not be displayed, depending on the curve that the user has selected in the F5-CURVE control.

Usage:

FraCurve.New(Tag, Fra, Frequency, Amplitude, Precision)

Tag | STRING | Object Tag.
Fra | FRA | The Fra object that will run this curve.
Frequency | REAL | The test frequency. The driver may use a frequency slightly different from the requested frequency either because of rounding errors or in order to minimize noise.
Amplitude | REAL | The RMS signal to be applied.
Precision | REAL | The requested measurement precision.


FraCurve.Activate()

Type: Instance Function

Purpose: Make FraCurve the Active curve. If the user has chosen to look at Active on the curve list, bring this curve to the top.

Usage:

FraCurve.Activate()


FraCurve.Count()

Type: Instance Function

Purpose: Return the number of points actually acquired in a FRACURVE object. The number returned is not the same as the number of points allocated.

Usage:

NumPoints = FraCurve.Count()

NumPoints INDEX The number of points in the FRACURVE object. Zero is
returned if no data has been acquired yet.


FraCurve.CycleLim()

Type: Instance Function

Purpose: Set the maximum and minimum number of cycles the FRA can use to make its measurements.

Usage:

FraCurve.CycleLim(CycleMin, CycleMax)

CycleMin | INDEX | Minimum number of cycles to be used in the measurement. The first cycle which contains a startup transient distortion will not be counted.
CycleMax | INDEX | Maximum number of cycles to be used in the measurement.


FraCurve.DataCol()

Type: Instance Function

Purpose: Extract a data column from a FraCurve object. This data column is packaged in a DATACOL object that can then be used for further processing.

Usage:

Result = Cgen.DataCol(ColNumber)

ColNumber | INDEX | number from 0 to 3
 | 0 | Time
 | 1 | Voltage
 | 2 | Current
 | 3 | Phase
 | Constants | Predefined Constants
 | FRACURVE_T | Time
 | FRACURVE_Vm | Voltage
 | FRACURVE_Im | Current
 | FRACURVE_Phi | Phase
Result | DATACOL | A DATACOL object with a tag derived from the curve object's tag. The new tag is <Tag>_C<COLNO> where COLNO is the requested column number.


FraCurve.DataValue()

Type: Instance Function

Purpose: Extract a single data item from a FRACURVE object. The data item is taken from the ith data point and the jth data column. If no data has been taken the returned value is NIL.

Usage:

Data Value = FraCurve.DataValue(PointNum,ColNumber)

Result REAL The returned value.

or

NIL No data acquired yet.

PointNum INDEX Point number, zero based. If PointNum is out of range,
a value from the last acquired point is returned.

or

NIL Always return a value from the last acquired point.

ColNumber INDEX Data column, with a range of 0 to 3. The meaning of
the data in each column is described under
FraCurve.DataCol().


FraCurve.Freq()

Type: Instance Function

Purpose: Return the actual measurement frequency. This may be slightly different from the requested frequency due to roundoff errors or noise rejection algorithms.

Usage:

Result = FraCurve.Freq()

Result

REAL

Frequency in Hz.


FraCurve.Idc()

Type: Instance Function

Purpose: Return the measured DC current.

Usage:

Result = FraCurve.Idc()

Result

REAL

DC current in Amps.


FraCurve.Iimag()

Type: Instance Function

Purpose: Return the imaginary portion of the AC current.

Usage:

Result = FraCurve.Iimag()

Result

REAL

RMS AC current in Amps.


FraCurve.Imod()

Type: Instance Function

Purpose: Return the modulus of the AC current.

Usage:

Result = FraCurve.Imod()

Result

REAL

RMS Magnitude of AC current in Amps.


FraCurve.Iphz()

Type: Instance Function

Purpose: Return the phase of the AC current.

Usage:

Result = FraCurve.Iphz()

Result

REAL

Phase of AC current in Degrees.


FraCurve.Ireal()

Type: Instance Function

Purpose: Return the real portion of the AC current.

Usage:

Result = FraCurve.Ireal()

Result

REAL

RMS AC current in Amps.


FraCurve.OverIac()

Type: Instance Function

Purpose: Return the voltage overload status. If the signal conditioning and/or analysis circuitry is overloaded both for maximum peak and minimum peak current, this function will return TRUE. TRUE therefore indicates the current range must be corrected.

Usage:

Result = FraCurve.OverIac()

Result

BOOL

AC overload status of the current signal.


FraCurve.OverIdc()

Type: Instance Function

Purpose: Return the current overload status. If the signal conditioning and/or analysis circuitry is overloaded on either maximum or minimum current but not both, this function will return TRUE.

Usage:

Result = FraCurve.OverIdc()

Result

BOOL

DC overload status of the current signal.


FraCurve.OverVac()

Type: Instance Function

Purpose: Return the voltage overload status. If the signal conditioning and/or analysis circuitry is overloaded both for maximum peak and minimum peak voltage, this function will return TRUE. TRUE therefore indicates the voltage range must be corrected.

Usage:

Result = FraCurve.OverVac()

Result

BOOL

AC overload status of the voltage signal.


FraCurve.OverVdc()

Type: Instance Function

Purpose: Return the voltage overload status. If the signal conditioning and/or analysis circuitry is overloaded on either maximum or minimum voltage but not both, this function will return TRUE.

Usage:

Result = FraCurve.OverVdc()

Result

BOOL

DC overload status of the voltage signal.


FraCurve.Printl()

Type: Instance Function

Purpose: Print the curve onto the output file. The curve data includes point number, phase, voltage, and current.

Tag <tab> "TABLE" <tab> Frequency
<tab> "P" <tab> "Phz" <tab> "Em" <tab> "Im"
<tab> "#" <tab> "°" <tab> "V" <tab> "A"
<tab> Pt1 <tab> Phz <tab> E <tab> I
etc.

Usage:

FraCurve.Printl(Tag)

Tag | STRING | String to be printed in line 1
 | (missing) | Use default tag from FRACURVE.New(Tag...)


FraCurve.Run()

Type: Instance Function

Purpose: Run an FraCurve. Start the data acquisition and make this curve the active curve. This function will block further execution of the Explain script until the curve is finished running.

Usage:

Status = FraCurve.Run()

Status | INDEX | Measurement status
 | 0 - Skip | User hit skip button before precision criterion was met.
 | 1 - OK | Precision criterion met.
 | 2 - Invalid | Completely bogus measurement, usually a fractional cycle. Do not use the values to make a new Z estimate.
 | 3 - CommErr | Communications error with external FRA. Do not use values to make a new Z estimate.
 | 4 - Timeout | Timeout on measurement before precision criterion was met. FraCurve contains best estimate of Z.
 | 5 - CycleLim | Upper limit on number of cycles exceeded. FraCurve contains best estimate of Z.
 | 6 - Reserved |
 | 7 - Overrun | Interrupt overrun. Check Windows operating mode & computer speed.
 | 8 - Overrange | Some FRA channel was overloaded. Check Overload command to see the cause.


Fracurve.SetPlot()

Type: INSTANCE FUNCTION

Purpose: Format the real time display using the SetPlotView and Set Axis functions.

Usage:

Fracurve.SetPlot(View, MinI, MinV, MinT)
View | INDEX | 0 = V vs I
 |  | 1 = Log V vs I
 |  | 2 = I vs T, E vs T
 |  | Or use the predefined constants:
 |  | FRACURVE_LINIV
 |  | FRACURVE_ITVT
MinI | REAL | Minimum current value to display (optional)
MinV | REAL | Minimum voltage value to display (optional)
MinT | REAL | Minimum time value to display (optional)


FraCurve.Sprint()

Type: Instance Function

Purpose: Print information about the FraCurve to a string. The format is "Tag,Frequency"

Usage:

Result = FraCurve.Sprint()

Result

STRING

"Tag,Frequency"


FraCurve.Vdc()

Type: Instance Function

Purpose: Return the measured DC voltage.

Usage:

Result = FraCurve.Vdc()

Result

REAL

DC voltage in Volts.


FraCurve.Vimag()

Type: Instance Function

Purpose: Return the imaginary portion of the AC voltage.

Usage:

Result = FraCurve.Vimag()

Result

REAL

RMS AC voltage in Volts.


FraCurve.Vmod()

Type: Instance Function

Purpose: Return the modulus (magnitude) of the AC voltage.

Usage:

Result = FraCurve.Vmod()

Result

REAL

RMS magnitude of AC voltage in Volts.


FraCurve.Vphz()

Type: Instance Function

Purpose: Return the phase of the AC voltage.

Usage:

Result = FraCurve.Vphz()

Result

REAL

Phase of AC voltage in Degrees.


FraCurve.Vreal()

Type: Instance Function

Purpose: Return the real portion of the AC voltage.

Usage:

Result = FraCurve.Vreal()

Result

REAL

RMS AC voltage in Volts.


FraCurve.Zimag()

Type: Instance Function

Purpose: Return the imaginary portion of the AC impedance.

Usage:

Result = FraCurve.Zimag()

Result

REAL

RMS AC impedance in Ohms.


FraCurve.Zmod()

Type: Instance Function

Purpose: Return the modulus (magnitude) of the AC impedance.

Usage:

Result = FraCurve.Zmod()

Result

REAL

RMS magnitude of AC impedance in Ohms.


FraCurve.Zphz()

Type: Instance Function

Purpose: Return the phase of the AC impedance.

Usage:

Result = FraCurve.Zphz()

Result

REAL

Phase of AC impedance in Degrees.


FraCurve.Zreal()

Type: Instance Function

Purpose: Return the real portion of the AC impedance.

Usage:

Result = FraCurve.Zreal()

Result

REAL

RMS AC impedance in Ohms.


Optimize for

Optimize for is a Setup parameter in Electrochemical Impedance Spectroscopy Scripts. It offers two choices: Speed and Accuracy. Speed is the appropriate selection when a) the cell's stability is poor and a spectrum must be measured rapidly or b) the system's impedance is low and well defined. Accuracy is the appropriate selection when the cell's impedance is high or the electrochemical system is noisy.

When Accuracy is chosen, the time required to record an EIS spectrum can be quite long. The EIS300 tries to explain 99.9% of the variation in each Lissajous curve by fitting the E and I data to sine waves at the excitation frequency. It will record and average as many as 20 Lissajous curves to achieve this accuracy. There is a 2 second delay after each data point to allow the user to examine a Bode plot of the impedance spectrum.

When Speed is chosen, the time required to record a spectrum is much shorter (often by a factor of 5). The fit accuracy is reduced from 99.9% to 99.5%. The maximum number of Lissajous curves is reduced to 10 at high frequency and 2 at low frequency. The Lissajous curve is not displayed after the first ranging point, so there is no need for delays when the display changes.


Dialog Box for Selecting a Named Model


Standard EIS300 Model Descriptions

Title | Filename | Description
Randles | RANDLES.MDL | Simple Randles Cell The most common model used for bare metal in solution
Diffusion Model | OTCWAR.MDL | One Time Constant Warburg A Warburg element models the diffusion process.
Depressed Nyquist | CPE.MDL | Constant Phase Element Similar to the Randles Cell, but with a Warburg replacing the Double Layer Capacitance. Used when the center of the semicircle lies below the Real axis on a Nyquist plot.
Coated Rebar | REBAR.MDL | Coated or Passivated Rebar in Concrete (Use Randles.MDL if rebar is not coated)
Painted Metal | PAINT.MDL | Painted Metal. REAP model includes Pore-like defects and possible blistering
Painted Metal (Modified) | REAP2CPE.MDL | Painted Metal Similar to REAP model, but with Constant Phase Elements replacing Coating Capacitance and Double Layer Capacitance


Standard EIS300 Model Fit Parameters

Filename | Parameter | Description | Units | Range
RANDLES.MDL | Ru | Uncompensated Solution Resistance | W | 0 ® ¥
 |  | Cf | Double Layer Capacitance | farad | 0 ® ¥
 |  | Rp | Polarization Resistance | W | 0 ® ¥
CPE.MDL | Ru | Polarization Resistance | W | 0 ® ¥
 |  | Y0 | CPE Y0 Value | S-s-alpha | 0 ® ¥
 |  | alpha | CPE exponent | -- | -1 ® +1
OTCWAR.MDL | Ru | Uncompensated Solution Resistance | W | 0 ® ¥
 |  | Y0 | CPE Y0 Value | S-s-alpha | 0 ® ¥
 |  | alpha | CPE Exponent | -- | -1 ® +1
 |  | RU2 | Pore Resistance | W | 0 ® ¥
 |  | Wd | Warburg | S-s-½ | 0 ® ¥
REBAR.MDL | Ru | Uncompensated Solution Resistance | W | 0 ® ¥
 |  | Cc | Coating Capacitance | farad | 0 ® ¥
 |  | Rc | Pore Resistance | W | 0 ® ¥
 |  | RP | Polarization Resistance | W | 0 ® ¥
 |  | Cf | Exposed Metal Capacitance | farad | 0 ® ¥
PAINT.MDL | Ru | Uncompensated Solution Resistance | W | 0 ® ¥
 |  | Cc | Coating Capacitance | farad | 0 ® ¥
 |  | Rpo | Pore Resistance | W | 0 ® ¥
 |  | Rf | Faradaic (Polarization) Resistance | W | 0 ® ¥
 |  | Cf | Exposed Metal Capacitance | farad | 0 ® ¥
REAP2CPE.MDL | Rsoln | Uncompensated Solution Resistance | W | 0 ®¥
 |  | Cc | Coating "Capacitance" (CPE) | S-s-m | 0 ®¥
 |  | m | CPE Exponent | --- | 0 ® +1
 |  | Rpo | Pore Resistance | W | 0 ®¥
 |  | Ccor | Corrosion (Double Layer) "Capacitance" (CPE) | S-s-n | 0 ® ¥
 |  | n | CPE Exponent | --- | 0 ® +1
 |  | Rcor | Corrosion Resistance | W | 0 ® ¥

Note: S = siemens, s = second


Typical Parameter Initialization Dialog Box

Impedance Fitting Dialog


Fit a Model (Simplex Method)

The Fit A Model (Simplex Method) command is used to fit a data set to an equivalent circuit model that is stored on your computer's disk. The model that is used can be one of the standard models supplied with the EIS300 or it can be a custom model generated using the model editor.

The EIS300 uses a the Simplex method to minimize c² to fit the impedance data to the selected equivalent circuit model. Each model includes a number of adjustable parameters. Examples of adjustable parameters include:

  • The value for the cell's uncompensated resistance.
  • The cell's double layer capacitance.
  • The pore resistance of a sample with a defective paint coating.

The fitting routine searches for the parameter values that cause the model's impedance spectrum to most closely match the experimental spectrum.

The minimization algorithm makes a number of estimates for the values of the adjustable parameters. After each estimate, a "goodness of fit" is evaluated. New estimates for the parameter values are then made, using the Simplex algorithm. The process is repeated until the fit stops improving, or until a preset number of iterations have been made.

Click here to see the dialog box that appears when you select the Fit A Model (Simplex Method) command. Models are stored with a filename extension of ".MDL". Generating equivalent circuit models is described in the next section.

Click here for a description of the standard equivalent circuit models provided with the EIS300.

Click here for a list of the adjustable parameters for each of the standard models.

Once you select a model, the system displays a Parameter Initialization dialog box. Each of the adjustable parameters in the model is listed on a separate line in this dialog box. The first field on each parameter line is the initial estimate that the fit will use for the parameter. This initial parameter is set in the model file, and can be changed using the model editor.

You should not select Calculate until you have non-zero values for all the initial parameter estimates. Initial parameter values that are close to the fit values speed the fitting process and minimize non-convergence problems.

If you know the value of one of the model's adjustable parameters exactly, you should enter the known value in the parameter's field and check the Lock control for that parameter. The algorithm does not vary a parameter that has its Lock control checked.

The Iterations field allows you to control the maximum number of iterations (optimization loops). The fitting process is repeated until the fit stops improving, or until the maximum number of iterations have been made. If the fit does not converge on a first attempt, increase the number in the Iterations field and try again.

There are 3 control buttons in the Parameter Initialization dialog box.

  • The Close button concludes the curve fitting and writes the current values of the parameters to the New Page.
  • The Preview button calculates the impedance spectrum of the model using the initial values for all the adjustable parameters. Plots this model spectrum on the same chart as your data curve. This command is useful when you are interested in manually changing values and previewing the corresponding fit.
  • The Calculate button begins the curve fitting procedure using the initial values displayed. This button can be pressed repeatedly allowing the user to achieve a better fit by running more iterations.

The time required to fit a spectrum to a model depends on the speed of your computer, the number of parameters in the model, the number of points in the spectrum, and the degree to which the model describes the spectrum. In most cases the fit should be completed within a few seconds.

NOTE: There will be some cases in which the fit will not converge on a reasonable set of values. This situation can be detected quite easily on the graph. The fit plotted on the chart does not even remotely resemble the original data.

Several factors can cause a convergence failure:

  • Fitting to an incorrect model. This is the most common problem. Increasing the number of iterations or improving the initial estimates cannot help the least squares algorithm fit an incorrect model to a data set. Try a different model.
  • Not enough iterations. Try increasing the value of the Iterations parameter in the Parameter Initialization dialog box.
  • Poor initial estimates for one or more of the fit parameters. Try different values.
  • Stray data points in the data set. You can disable any stray data points by right clicking on the point and saying disable. Alternatively, the fit is performed on the selected region (or the full data set if no region is selected). You can select a smaller region for your data set. If a data point is disabled, it will not be used, even if in the selected region. To re-enable a point, right click on the point and say enable. To disable or enable multiple points, select those points with the Select Portion of Curve tool [image], and then right click on any point to specify disable or enable.

Once the fit has been completed the script:

  1. Calculates the impedance spectrum of the model using the fit values for the adjustable parameters.
  2. Plots this model spectrum on the same chart as your data curve. This includes both the Bode and Nyquist charts.

Upon closing the Model Parameter Window the Impedance analysis script generates a list of the fit values and the estimated errors for the fit values. This list is written to a new page which has the same name as the model.


Bode Plot for a Failed Coating


Bode Plot for a Warburg Impedance


Common Electrical Elements


Current versus Voltage Curve Showing Pseudo-linearity


Equivalent Circuit for a Failed Coating


Equivalent Circuit Models with Two Time Constants


Impedances in Parallel


Impedances in Series


Infinite Warburg Impedance


Lissajous Figure


Nyquist Plot for a Failed Coating


Nyquist Plot with Impedance Vector


Ohm's Law


Purely Capacitive Coating


Randles Cell Schematic Diagram


Sample Bode Plot


Simple Equivalent Circuit with One Time Constant


Sinusoidal Current Response in a Linear System


Two Sine Waves in the Frequency Domain


Two sine Waves in the Time Domain


Two Time Constant Spectrum


Typical Bode Plot for an Excellent Coating


Area

The Area parameter is the surface area of the sample (in cm2) exposed to the solution and thus available to be corroded.

This parameter is used to calculate current density. If you do not want to enter an area, leave this parameter at its default area of 1.00 cm2. Do not enter a value of zero.


Cycle Limit

The FRA could not make a known good measurement within a set number of AC cycles. Readings were obtained but they did not stabilize within the precision limit in the script.

The impedance data point may or may not be a good estimate of the test cell's impedance.


Estimated Z

The Estimated Z parameter is a user entered estimate of the cell's impedance at the Initial Frequency. It is used to limit the number of trials required before acquiring the first data point in an impedance spectrum. Before taking the first data point, the FC350 sets up the potentiostat and FRA to measure an impedance equal to Estimated Z and tries to measure the cell's impedance. If the estimate is fairly accurate, the first (or second) attempt to measure the impedance will succeed. If the estimate is poor, the system may take up to 5 trial readings before it finds the correct settings. It is generally sufficient if Estimated Z is within a factor of 5 of the cell's impedance.

After the first data point, the last measured impedance is used to calculate new measurement settings, so the entered Estimated Z becomes unimportant.

An accurate Estimated Z is more valuable when the initial frequency is low. Remember, 1 mHz is 1000 seconds per cycle. Each impedance reading requires at least 3 cycles at a given frequency, so 5 readings to find a range at 1 mHz will take over 4 hours!

The units for Estimated Z are ohms. There is no reason to enter values larger than 1 TW or smaller than 0.01 W because these values drive the system settings to their most sensitive and least sensitive settings respectively.


Final Freq

Final Frequency

The Final Freq. parameter defines the ending point for the frequency sweep during data acquisition. The frequency is entered in Hertz. The allowed range for Final Freq. is 10 mHz to 300 kHz (PCI4).

EIS scans are usually run with the Initial Freq larger than the Final Freq. This relationship is not required in the EIS300.

NOTE: The frequency sweep may not stop exactly at the final frequency. It is mathematically impossible to control both the Points/decade and Final Freq parameters exactly for all scan ranges. The EIS300 chooses to control the Points/decade parameter exactly.


AC Current

The AC Current parameter determines the amplitude of the AC signal applied to the cell. The units are rms (root mean square) amps. To convert the entered value into a peak to peak value, multiply by 2Ö2 (which is approximately 2.83).

The range of the AC Current parameter is a complex topic.

You want an AC Current that will keep the electrochemical cell in a pseudo-linear region of its current to voltage curve. In general, you should avoid AC Currents that create more than 25 mV of rms voltage signal.

If your DC Current is zero, the largest AC Current you should enter is about 60% of the instruments maximum compliance current. You cannot enter the full compliance current, because you are specifying an rms value that is smaller than the peak value. If your DC Current is not zero, you must make sure that the sum of the absolute value of the DC current and 1.414 times the AC Current does not exceed the instruments compliance current.

If your DC Current is zero, the smallest AC current that you should enter is a function of the maximum frequency in your experiment. Calculate the ratio of your maximum frequency divided by 100 kHz. You should not enter a current smaller than 5 mA times this ratio. For example, if your maximum frequency is 1 kHz, you can enter a current as small as 50 nA. Regardless of the frequency, we do not recommend entering an AC Current less than 1 nA.

If you have a non-zero DC current, we recommend that your AC current be within 2 orders of magnitude of the DC current (between 1% of the DC Current and 100 times the DC Current).

The system does not control the AC Current exactly. At higher frequencies, the potentiostat often cannot maintain a one-to-one ratio between the AC signal at the galavanostat input and the resulting current signal.

The EIS300 system automatically compensates for this effect. When it does so, it adjusts the applied signal such that the measured AC current is close to being correct. It does not attempt to keep the measured I signal exactly equal to the AC Current parameter. The measured impedance relies on a measured AC Current so this lack of accuracy does to carry over to the experimental results.

In some cases, the potentiostat simply cannot apply the requested AC current. This occurs at high frequency on cells with high solution resistance. An error message such as "Unable to Control AC Cell Current should be seen on the real time display. If you see this message, try limiting your sweep range to avoid higher frequencies, lowering the setting on the AC Current parameter, or lowering your cell's solution resistance.


DC Current

The DC Current parameter defines the constant current applied to the cell throughout the frequency sweep. The AC Current is summed with the DC Current. In most cases, the DC Current should remain at its default value of zero.

The DC Current is entered in amps. The discussion of AC Current (above) describes some limitations on the DC Current value.


Estimated Z

The Estimated Z parameter is a user-entered estimate of the cell's impedance at the Initial Frequency. It is used to limit the number of trials required before acquiring the first data point in an impedance spectrum. Before taking the first data point, the EIS300 sets up the potentiostat to measure an impedance equal to Estimated Z and tries to measure the cell's impedance. If the estimate is fairly accurate, the first (or second) attempt to measure the impedance will succeed. If the estimate is poor, the system may take up to 5 trial readings before it finds the correct settings. It is generally sufficient if Estimated Z is within a factor of 5 of the cell's impedance.

After the first data point, the last measured impedance is used to calculate new measurement settings, so the entered Estimated Z becomes unimportant.

An accurate Estimated Z is more valuable when the initial frequency is low. Remember, 1 mHz is 1000 seconds per cycle. Each impedance reading requires at least 3 cycles at a given frequency, so 5 readings to find a range at 1 mHz will take over 4 hours!

The units for Estimated Z are ohms. There is no reason to enter values larger than 1012 W or smaller than 0.01 W because these values drive the system settings to their most sensitive and least sensitive settings respectively.


Final Frequency

The Final Freq. parameter defines the ending point for the frequency sweep during data acquisition. The frequency is entered in Hertz. The allowed range for Final Freq. is 10 mHz to 300 kHz (PCI4).

EIS scans are usually run with the Initial Freq larger than the Final Freq. This relationship is not required in the EIS300.

NOTE: The frequency sweep may not stop exactly at the final frequency. It is mathematically impossible to control both the Points/decade and Final Freq parameters exactly for all scan ranges. The EIS300 chooses to control the Points/decade parameter exactly.


Initial Frequency

The Initial Freq. parameter defines the starting point for the frequency sweep during data acquisition. The frequency is entered in Hertz. The allowed range for Initial Freq. is 10 mHz to 300 kHz (PCI4).


Points per Decade

The Points/decade parameter defines the density of the data in the impedance spectrum. The data is spaced logarithmically and the number of data points in each decade in frequency exactly equals Points/decade.

As a consequence, the frequency sweep often does not stop exactly at the final frequency. It is guaranteed to do so only when the scan range contains an integer number of decades, such as 5 kHz to 0.05 Hz (5 decades).

You can use the Initial Freq, Final Freq, and Points/decade parameters to calculate the total number of data points in the spectrum. Assuming that Initial Freq = 5000, Final Freq = 0.2 and Points/decade = 10 :

Sweep Range = log (Initial Freq) - log(Final Freq) = 3.69 - (-0.69) = 4.39 decades

Estimated Points = 1.5 + Sweep Range x Points/decade = 1.5 + 4.39 x 10 = 45.4

Number of Points = 45 points

The estimated number of points is always converted to an integer by truncating the fractional part of the number. The spectrum cannot contain more than 32,000 data points. This is not a serious limitation since most impedance spectra contain fewer than 100 points.


AC Voltage

The AC Voltage parameter determines the amplitude of the desired AC voltage signal measured at the cell. The applied current is changed to a value that should give the desired AC Voltage. The units are rms (root mean square) millivolts. To convert the entered value into a peak to peak value, multiply by 2Ö2 (which is approximately 2.83).

In general, you can enter AC Voltage values between 0.1 mV and 3000 mV. Values greater than 25 mV will cause a non-linear response in most electrochemical systems and are therefore not recommended.

The system does not control the AC Voltage exactly. It is satisfied with an AC Voltage close to the desired value. This inaccuracy does not carry over into the measured impedance, because an accurately measured AC Voltage is used in the impedance calculation.


Points per Decade

The Points/decade parameter defines the density of the data in the impedance spectrum. The data is spaced logarithmically and the number of data points in each decade in frequency exactly equals Points/decade.

As a consequence, the frequency sweep often does not stop exactly at the final frequency. It is guaranteed to do so only when the scan range contains an integer number of decades, such as 5 kHz to 0.05 Hz (5 decades).

You can use theInitial Freq , Final Freq, and Points/decade parameters to calculate the total number of data points in the spectrum. Assuming that Initial Freq = 5000, Final Freq = 0.2 and Points/decade = 10 :

Sweep Range = log (Initial Freq) - log(Final Freq) = 3.69 - (-0.69) = 4.39 decades

Estimated Points = 1.5 + Sweep Range x Points/decade = 1.5 + 4.39 x 10 = 45.4

Number of Points = 45 points

The estimated number of points is always converted to an integer by truncating the fractional part of the number. The spectrum cannot contain more than 32,000 data points. This is not a serious limitation since most impedance spectra contain fewer than 100 points.


Iac too big

The AC current signal is outside the FRA's range. The script will reset either the FRA sensitivity or the potentiostat's current range.


Idc too big

The DC current signal is outside the potentiostat's range or the FRA's common mode range. The script will reset either the FRA sensitivity or the potentiostat's current range.


Identifier

The Identifier parameter is a string that is used as a name. It is written to the data file, so it can be used to identify the data in database or data manipulation programs.

The Identifier string defaults a name derived from the technique's name. While this makes an acceptable curve label, it does not generate a unique descriptive label for a data set.

The Identifier string is limited to 80 characters. It can include almost any normally printable character. Numbers, upper and lower case letters, and most normal punctuation characters including spaces are valid.


Initial Freq

The Initial Freq. parameter defines the starting point for the frequency sweep during data acquisition. The frequency is entered in Hertz. The allowed range for Initial Freq. is 10 mHz to 300 kHz (PCI4).

EIS scans are usually run with the Initial Freq larger than the Final Freq. This relationship is not required in the EIS300.


Invalid Measurement

The FRA has been unable to make any meaningful measurement on either the I or E signal.


Measurement OK

The FRA has been able to make a measurement within the precision limit set in the script. The data point is most likely of high quality.


Output

The Output File parameter is the pathname of the file in which the output data will be written. It can be a simple filename with no path information. In this case the output file is located in the default data directory. The default data directory is specified in the Gamry.INI file under the [FRAMEWORK] section with a Key named DataDir. This default pathname can be changed using the Paths command under the Options Menu.

It can also include path information, such as "C:\DATA\YOURDATA.DTA." In this example, the data will be written to the "YOURDATA.DTA" file in the "DATA" directory on drive C.

The default value of the Output File parameter is an abbreviation of the technique name with a ".DTA" filename extension. We recommend that you use a ".DTA" filename extension for your data filenames. The data analysis package assumes that all data files have ".DTA" extensions.

NOTE: The software does not automatically append the ".DTA" filename extension. You must add it yourself.

If the script is unable to open the file, an error message box, "Unable to Open File," is generated. Common causes for this type of problem include:

  • An invalid filename.

  • The file is already open under a different Windows application such as Excel.

  • The disk is full.

After you select OK in the error box, the script returns to the Setup box where a new filename can be entered.


Points/decade

The Points/decade parameter defines the density of the data in the impedance spectrum. The data is spaced logarithmically and the number of data points in each decade in frequency exactly equals Points/decade.

As a consequence, the frequency sweep often does not stop exactly at the final frequency. It is guaranteed to do so only when the scan range contains an integer number of decades, such as 5 kHz to 0.05 Hz (5 decades).

You can use the Initial Freq, Final Freq, and Points/decade parameters to calculate the total number of data points in the spectrum. Assuming that Initial Freq = 5000, Final Freq = 0.2 and Points/decade = 10 :

Sweep Range = log (Initial Freq) - log(Final Freq) = 3.69 - (-0.69) = 4.39 decades

Estimated Points = 1.5 + Sweep Range x Points/decade = 1.5 + 4.39 x 10 = 45.4

Number of Points = 45 points

The estimated number of points is always converted to an integer by truncating the fractional part of the number. The spectrum cannot contain more than 4000 data points. This is not a serious limitation since most impedance spectra contain fewer than 100 points.


Possible Fix

a) increase the conductivity in the cell's electrolyte

b) lower the requested AC signal magnitude

c) avoid higher frequencies.


Pstat

The Pstat parameter selects the PCI4 or PC4 potentiostat/galvanostat that will perform the experiment. Each labeled button corresponds to an installed potentiostat. When a potentiostat has been selected, its corresponding button is filled in.

In a multiple potentiostat system you can change the potentiostat selection by clicking on a Pstat's button using the mouse. From the keyboard, you can tab down until a dotted line appears around one of the Pstat labels and then press space to select among the potentiostats. Only one potentiostat can be selected at a time, so selecting one potentiostat will deselect another one.

You can use the Pstat control to choose which of several potentiostats you wish to use for a single experiment.


Stuck in Reading Loop

The script has made too many attempts to measure the impedance at this frequency. The automatic setting of the FRA and potentiostat parameters has been unable to find a set of parameters that give meaningful readings.


Timeout

The FRA could not make a known good measurement within a set time period. Readings were obtained but they did not stabilize within the precision limit in the script.

The impedance data point may or may not be a good estimate of the test cell's impedance.


Unable to Control Signal

Often the FRA must output an AC signal larger than that requested in Setup, in order to obtain a potential signal that is close to the requested value. This most often at higher frequencies, when the working electrode impedance is smaller than the cell's solution resistance.

When this error message is seen, the FRA cannot output a large enough signal. It is at its output amplitude limit and the measured potential signal is still too small.

You may be able to fix this problem.


Unable to set current range

The script has calculated that it needs to be in an invalid current range to make the measurement. For example, the script calculates that the current will be 600 mA and it knows that the potentiostat being used is a PCI4 with a 300 mA current limit.


User Interrupt

The user has pressed Skip(F2) during a measurement.


Vac too big

The voltage signal is significantly bigger than the value entered in Setup. The script will decrease the FRA's signal output and try again.


Vac too small

The voltage signal is significantly smaller than the value entered in Setup. The script will increase the FRA's signal output and try again.


Notes

The Notes button allows you to enter several lines of text that describe the experiment. A typical use of Notes is to record the experimental conditions used when recording a set of data.

Notes defaults to an empty string.

The Notes string is limited to 400 characters. It can include all printable characters including numbers, upper and lower case letters, and the most normal punctuation including spaces. In addition, it can include new line characters entered as control +enter. tab characters are not allowed in the Notes string.

Notes are not saved or recalled with the other parameters.


FraCurve.SetIchMultiplier()

Type: INSTANCE FUNCTION

Purpose: Change the value of the Ich measurements on the FraCurve Lissajous by a set amount, strictly for display purposes.

Usage:

Fracurve.SetIchMultiplier(Multiplier)

Multiplier

REAL

The value to multiply each point on the Current Axis


FraCurve.SetVchMultiplier()

Type: INSTANCE FUNCTION

Purpose: Change the value of the Vch measurements on the FraCurve Lissajous by a set amount, strictly for display purposes.

Usage:

Fracurve.SetVchMultiplier(Multiplier)

Multiplier

REAL

The value to multiply each point on the Voltage Axis


Fracurve.SetAxis()

Type: INSTANCE FUNCTION

Purpose: Helps to define the real time display of a FRACURVE object. Associates an axis with a data column in the object. Controls linear/log display formatting and allows labeling of the axis.

You must call Fracurve.SetAxis for each of the axes in the real time plot. For a Y and Y' versus X plot you need 3 calls to Fracurve.SetAxis().

Usage:

Fracurve.SetAxis(AxisNo, Source, Scale, MinVal, Label, Units)
AxisNo | INDEX | Defines which axis is being configured. In a Y versus X plot, 0 = X axis, 1 = Y axis or use the following constants: X_AXIS, Y_AXIS In a Y & Y' versus X plot, 0 = X axis, 1 = Lower Y and 2 = Upper Y or use the following constants X_AXIS, Y_AXIS, Z_AXIS
Source | INDEX | The column number containing the data to be plotted or use the predefined constants defined in Fracurve.DataCol() .
Scale | INDEX | 0 = Linear, 1 = Log or use the following constants LIN_AXIS, LOG_AXIS
MinVal | INDEX | Minimum value used in prevention of "ugly" plot scaling. MinVal is used differently depending on Scale setting. On a linear axis, this is the minimum resolution of the plot. The range of values shown on the axis cannot be smaller than MinVal. This prevents excessively fine scaling when plotting data where all the values are identical or very similar. On a log axis, this value is substituted for 0's in the data. This prevents infinite log values.
Label | STRING | The label used for the axis. Short names (one or two character labels are preferred).
Units | STRING | The units used for the axis. Short names (one or two character labels are preferred).


Fracurve.SetPlotView()

Type: INSTANCE FUNCTION

Purpose: Set the number of graphs displayed in the real time display.

Usage:

Fracurve.SetPlotView(Format)
Format | INDEX | 0 = No Graph Displayed
 |  | 1 = Single Graph Displayed
 |  | 2 = Two Graphs displayed
 |  | Or use the predefined constants:
 |  | VIEW_NONE
 |  | VIEW_SINGLE
 |  | VIEW_DOUBLE


Compile (Model Editor)

Compile

When you select Compile, the model editor does a test compile on the equivalent circuit currently in the drawing area. It checks the model for errors and outputs a small error dialog box if any problems are found. Compile does not make disk files or other record of the model. The model is also compiled as it is stored on disk.


Empty Model Editor Window

Model Editor Window


New (Model Editor)

New

The File, New command clears the drawing area. The previous contents of the drawing area are lost.


Open (Model Editor)

Open...

The File, Open... command is used to recall a previously stored model from disk. The model file contains both the schematic diagram and the mathematical description of the model.

You select the file containing the desired model from a standard filename selector dialog box. By default, models are stored in the Framework directory in files with a filename extension of ".MDL".

The drawing area is cleared before the recalled model is drawn. The previous contents of the drawing area are lost.


Save As (Model Editor)

Save As...

The File, Save As... command is used to store a model on disk under a new filename.

You enter the filename in a standard filename selector dialog box. By default, models are stored in the Framework directory with a default filename extension of ".MDL". Changing either default, adds steps to the process of opening the model file later.

The model is compiled as it is saved. Errors found in the compilation of the model are reported in an error dialog box. The file will be saved even if errors are found.

A dialog box will be output if your new filename points to an existing file. This dialog box gives you the option of canceling the Save As... operation or overwriting the old file contents.


Save (Model Editor)

Save

The File, Save command is used to store the currently displayed model on disk.

If the model is associated with a filename because of an earlier File, Open... or File, Save As... command, the model is stored under that name. The previous contents of the file are lost. If there is no filename associated with the model, this command is executed as a File, Save As... command.

CAUTION: If you make a new model by editing an existing model, make sure that you initially save the new model under a new name. Use the File, Save As... command. If you accidentally overwrite an existing model, don't panic. You can recover the original model from your EIS300 Distribution CD.

The model is compiled as it is saved. Errors found in the compilation of the model are reported in an error dialog box. The file will be saved even if errors are found.


Clear All Fits (popup)

Clear All Fits

Used to clear all of the fits shown on the Bode and Nyquist plots.


Edit Dialog Box Text Field (Keyboard)

Use the TAB key to move the input focus to the field in question. When the focus is on a text field the text will be highlighted. Alternately you can use an accelerator key to move the focus to the field. The accelerator is underlined in the field's label. In Output File, the accelerator is ALT + F. Most, but not all, Framework fields have accelerators. Type in the new field contents. DO NOT press ENTER. Pressing ENTER will close the dialog box.


Edit Dialog Box Text Field (Mouse)

Point the mouse cursor somewhere in the text field so that it points at one of the letters in the field contents. In this case point at any letter in "EISPOT.DTA". and click the left mouse button. The cursor will change to a vertical "text" cursor. Type in the text, but DO NOT press ENTER. Pressing ENTER will close the dialog box.


Editing a Numeric Field (Keyboard)

Use the TAB key to move the input focus to the field in question. Type in the new number. The old number will be automatically replaced. Do not press ENTER.


Editing a Numeric Field (Mouse)

Point the mouse cursor somewhere in the number. Single click the left mouse button. The cursor will change to a vertical "text" cursor. Use the BACKSPACE and/or DELETE keys to erase the old number. Type in the new number using the keyboard. Do not press ENTER.


Ex2-0

Running the Standard EIS Technique

The primary script provided with the Framework records an EIS spectrum on a potentiostated sample. The excitation is a small AC voltage centered on a specified DC potential.

In this exercise you will record an EIS spectrum on the dummy cell provided with your EIS300 system. This dummy cell is a small (7.5 cm by 2.5 cm) printed circuit board with the words "Test Cell" printed in the metal on the board.

The dummy cell is a simple Randles cell, with a 3.01 kW polarization resistance, 1 mF double layer capacitance and 200 W uncompensated solution resistance. Note that the capacitor has a 5% tolerance so its value can be as low as 0.95 mF and as high as 1.05 mF.


Ex2-1

Running the Standard EIS Technique

Close any other open Windows applications and any other Framework child windows such as an editor window.

CAUTION: Unlike some of the other Framework scripts, the EIS300 data acquisition process uses a large fraction of your computer's time. You must not acquire data on any other potentiostats in your system while running a EIS300 experiment. Other Windows applications may interfere with EIS300 data acquisition as well.

If you do run other applications while acquiring EIS300 data, you may notice that they are sluggish. This is normal. Data acquisition in the EIS300 may use 80 or 90% of the computer's time.

Continue


Ex2-2

Connecting the Cell

Connect the cell cable on potentiostat number 1 to the dummy cell. The printed circuit board contains labels identifying the locations for the cell cable's alligator clips. Each clip goes on two solder posts.

Clipping the alligator clip onto 2 posts keeps the leads from twisting and shorting together.

The cell cables on some potentiostats do not have a working sense lead. The experiment will still work fine with these potentiostats.

Continue


Ex2-3

Selecting Experiment

Select Electrochemical Impedance on the Experiment pull down menu. On the EIS child menu, select Potentiostatic EIS

This will select the standard EIS experiment.

Continue


Ex2-5

Runner Window

You now see a new window (called a Runner window) and a dialog box within the window.

The Runner window has a Title Bar at the top. The Runner window's title, shown in the Title Bar, is "Potentiostatic EIS.EXP-". The first portion of the name, "Potentiostatic EIS.EXP" is the file name of the script that is running in the Window. When an output file name is selected, its name will be appended to the runner window title. We will describe the buttons in the window, such as the F1-ABORT button, later.

When you type on the keyboard, the information that you type goes to the Window with the "input focus". The Title Bar of the window that has the input focus is always highlighted. Notice in the figure that the Runner window does not have the input focus. The dialog box does have the input focus, as shown by its highlighted Title Bar.

The dialog box contains the parameter settings used by the experiment, controls to globally change the parameters, and controls for the dialog box itself. First, Press the Default button to restore the default parameters in the event they have been modified. Pressing the Default button will restore the initial parameter values as they are specified in the Gamry Explain Script.

You will now examine a few of the parameters before we go on to run the experiment. Notice the Pstat (potentiostat) selector towards the top of the dialog box. The number of these selectors labeled depends upon the number of potentiostats installed in your system. The highlighted selector indicates that the scan will be performed on that potentiostat number.

Skip down a few fields, and note that the Output File field contains the file name of the output (data) file. The Potentiostatic EIS technique by default stores its results in a file called "EISPOT.DTA". If the filename is not "EISPOT.DTA", make it "EISPOT.DTA".

The two parameter fields, Initial Freq and Final Freq define the limits of the frequency scan. The EIS300 always uses a logarithmic frequency sweep. The Points/decade parameter defines the data density in the spectrum. The AC Voltage parameter is the rms excitation voltage in millivolts.

The DC Voltage parameter is the constant portion of the applied voltage. The label to the right of the value currently reads vs. Eoc indicating that this potential is relative to the cell's open circuit voltage. If you clicked on the box next to this label, the label would change to vs. Eref. This would indicate that the potential was relative to the cell's reference electrode potential.

You can use the Initial Freq, Final Freq, and Points/decade parameters to calculate the total number of data points acquired. Using the default sweep values:

Sweep Range = log (Initial Freq) - log (Final Freq) = 3.69 - (-0.69) = 4.39 decades

Estimated Points = 1.5 + Sweep Range x Points/decade = 1.5 + 4.39 x 10 = 45.4

Number of Points = 45 points

The estimated number of points is converted to an integer by truncating the fractional part of the number.

The Area, Density and Equiv.Wt parameters are used when you calculate a corrosion rate. They are specific to the sample under test. Although these parameters are not required when acquiring the data, it is often convenient to save them with the data file.

The default parameter set for the EISPOT experiment includes a 100 second initial delay at open circuit. Usually the initial delay is used to allow a sample's open circuit potential to stabilize prior to scanning the potential. The "drift rate" parameter allows you to specify variable delays depending on the stability of the open circuit potential. If the drift in open circuit potential is less than the stability parameter, the delay will end prior to the time limit. The Tutorial's default drift rate is 0 mV/sec. The drift rate cannot fall below zero, so the initial delay will always take the full 100 seconds.

The final parameter is Estimated Z. The EIS300 autoranges as it makes measurements. It does so by estimating the cell impedance and setting the hardware to measure that estimated impedance. During a sweep, the software uses the last measured impedance as the estimate of the next impedance. At the start of a sweep, it has no last measured impedance to use as an estimate. It uses the Estimated Z parameter as an estimate for the impedance to be recorded at the initial frequency. A poor guess for this parameter can cause the software to waste several AC cycles trying to find reasonable instrument settings. These extra cycles can take a long time if the initial frequency is in the millihertz or microhertz range.

Continue


Ex2-6

Selecting a Potentiostat

Select the Potentiostat that you will use to record the tutorial data.

You must select the potentiostat that is attached to the EIS dummy cell.

In many cases the desired selection will already be highlighted.

Continue


Ex2-7

Beginning the Experiment

Select the OK button. If the EIS300 has been run previously, the software may place a small dialog box on the screen, asking: Replace output file "EISPOT.DTA". Select Yes if this occurs (unless the old EISPOT.DTA file contains important data that must be saved first.)

Continue


Ex2-8

Congratulations!

You have just started your first EIS experiment. The Framework will now start the experiment beginning with the 100 second initial delay. The dialog box will disappear and a graph of open circuit potential versus time will appear on the screen.

This initial delay curve on the dummy cell is unexciting, since the open circuit potential is zero. Notice that some of the 5 buttons at the top of the experiment window have new labels.

The status of the experiment is always displayed at the bottom of the screen. This display will be referred to as the Status Display. The current contents of the Status Display is "Measuring Open Circuit".

Continue


Ex2-9

Pausing the Experiment

Select the F3-Pause button. The display will stop updating.

Pausing any portion of an experiment causes that experiment's timer to stop running. All time dependent actions, such as data acquisition, stepping the voltage, or measuring a time delay, cease to occur. The Status Display changes to "Paused" when you select Pause.

Continue


Ex2-10

Continuing the Experiment

Select the "F3-Continue" button. The timer will start again.

Continue


Ex2-11

Skipping

After 100 seconds the initial delay will stop by itself. If the initial delay is still going on (Status display still shows "Open Circuit") when you read this, select the "F2-Skip" button.

The Skip button always causes the Framework to skip the rest of whatever action it is currently performing and go on to the next step in the experimental script.

The Abort button always cancels the entire experiment. Unless data acquisition has been completed, any data collected prior to selection of Abort will be lost.

Continue


Ex2-12

Acquiring Impedance Data

Following the initial delay, the Framework begins acquiring impedance data. A plot of current versus potential will appear. The Status Display will change to "Freq = 5000".

The display of AC data in an XY plot format is called a Lissajous figure. Problems with data acquisition are usually apparent on this display. At 5 kHz the Lissajous figure does not contain many points. As the frequency gets lower there are more points that form a well defined oval.

The number in the Status Display is the frequency currently being measured. It will update as each point is acquired.

Two numbers are shown in the upper left hand corner of the box bounding the curve. These numbers represent coordinates of a selected spot on the real time chart. On the Lissajous figure the first number is the current and the second number is the potential. You update the numbers by pointing the mouse at a spot on the chart and clicking the mouse button. This feature is available on all the Framework real time displays. In general, the first number is the value of the quantity displayed on the curve's X axis and the second number is the value of quantity displayed on the curve's Y axis.

At the top of the runner window, there are 5 controls. The four buttons are currently labeled, F1-ABORT, F2-Skip, F3-Pause, and F4-Point. The 5th control is linked to the F5 key, but it is not a button. It controls curve display. When this control is selected, a curve list is displayed. Each item on the list corresponds to a curve that can be displayed.

Continue


Ex2-13

Navigating the Curve List

Wait until the Status Display shows the frequency is below 2 kHz. Select the Curve List. Move down the list and examine the display for each selection.

ZCURVE The EIS spectrum being acquired as a Bode plot (magnitude & phase vs. frequency).

OCVCURVE The Open Circuit voltage vs. time curve recorded prior to the frequency sweep.

FRACURVE The current versus potential curve (Lissajous figure) recorded at the current frequency.

NYQUIST The EIS spectrum being acquires as a Nyquist plot (real vs. imaginary)

ACTIVE The last display that has been changed.

Notice that the FRACURVE is constantly changing as new A/D converter values are taken. The FRACURVE is shown even for points acquired using an external analyzer. The external analyzer applies a sine wave and the potentiostat's internal A/D converter is used to measure both E and I. In this case, the A/D converter's values are used to determine the DC values required for intelligent autorange decisions. The actual impedance is measured in the external analyzer.

By default, the Curve List selection is set to ACTIVE. In the ACTIVE setting, the displayed curve is changed whenever information is written to a curve different from the curve that is currently displayed. In practice, the EIS300 most often displays the FRACURVE. After each point is acquired, the ZCURVE is shown momentarily, but is quickly replaced with an FRACURVE from the next frequency.

Continue


Ex2-14

Finishing the Experiment

When data acquisition has been completed, the Status Display changes to "Curve Done". The curve will switch to the ZCURVE. Admire your new impedance data, then select F2-Skip to close the Runner window.

When the curve is done, the data is written to the output file, the Status Display is changed to "Curve Done", and the program pauses. Selecting F2-Skip closes the experiment window.

Continue


Ex2-15

Congratulations!

You have completed this tutorial!


Ex3-0

Manipulation of Experimental Parameters

The standard EIS technique is useful but it does have limitations. One of these is that its default parameters (such as AC amplitude and frequency limits) are not usable for all samples and/or tests. In most cases you will need to make changes in the experimental parameters to match your test conditions. Changing parameters does not involve any programming or generation of a new technique. All that is required are some entries into a dialog box on the computer's screen.

Once you have made your changes to the parameters used by an experiment, you can save all your new parameters in a named parameter set. When you need to repeat a test, you can recall that parameter set. This tutorial exercise demonstrates the techniques used to generate, save and recall parameter sets.


Ex3-1

Preparing Environment

Close any open windows, so that the only program running is the Framework software.

Continue


Ex3-2

Selecting the Experiment

Select Experiment. On the pull down menu, select Electrochemical Impedance. On the child menu select Potentiostatic EIS. You will see a Runner window and a Setup dialog box.

The PStat selector (shown as circles with text) near the top of the Setup dialog box is used to select one of the potentiostats in a multiple potentiostat system. Labels for potentiostat will only appear if they are installed in the system. For example, a system with 2 potentiostats will have 2 selector circles, while a system with 1 potentiostat will have only 1 selector circle. The selectors for installed, but unavailable potentiostats, have an asterisk by their label. This asterisk means that the potentiostat is currently in use. The potentiostat which will be used to run the technique is highlighted with a dark circle in its selector. Only one selector can be highlighted at a time.

Continue


Ex3-3

Selecting a Potentiostat

If you have more than one potentiostat, practice selecting potentiostats. Once you are comfortable with PStat selectors select the first potentiostat again.

This can be done using either the mouse or the keyboard.

The Test Identifier parameter is the label used to identify the real time graph. We will skip over it in this tutorial.

Continue


Ex3-4

Specifying Output File

Change the Output File parameter to "TEST.DTA".

Editing a dialog box text field such as the Output File field can be performed using either the mouse or the keyboard.

Output file names must follow the DOS file name conventions. Both upper and lower case characters are acceptable. We recommend that you use a ".DTA" filename extension for your data files. The data analysis macros look for files with a ".DTA" extension by default.

You must add the ".DTA extension manually.

We will discuss the Notes... button later in this exercise .

Continue


Ex3-5

Initial Frequency

Change the Initial Freq. parameter to 2000 Hz.

Editing a numerical field is very similar to editing a text field. This can be done using both the mouse or the keyboard.

Notice that most numbers in the Framework are entered as floating point numbers. You can enter the number with or without a decimal point. Numbers in "E format" such as 1.0e-3 are also acceptable. All parameters are entered in SI units (volts, meters, amps, etc.) unless otherwise noted.

In a few cases numbers are entered as integers. In general these are used as counts, such as a number of data points. Entering a decimal point in an integer field can cause problems, so you should avoid decimal points where they are not needed.

Continue


Ex3-6

DC Voltage

Select the radio button to the right of the DC Voltage to make the potential relative to the reference electrode. This is the button next to the "vs. Eref" label.

Continue


Ex3-7

Initial Delay

Select the check box next to Init. Delay. The "X" in the box will disappear, indicating that the Initial Delay is now off. Notice that the parameters associated with the Initial Delay are grayed out.

With Initial Delay off, the experiment will still perform a very short delay at open circuit -- just long enough to measure the open circuit potential.

We will now return to the Notes... button that we skipped over previously. Notes are text that you enter to describe a given experiment. Typically you will use notes to save data such as sample identification, media in which the test is performed, and other experimental conditions. The text in the notes becomes part of the data file for an experiment.

CAUTION: Pressing the enter key when entering notes does not have the effect you may expect. enter is equivalent to selecting the OK button - terminating the Notes... dialog box. If you want a new line in your notes, use control+enter.

Continue


Ex3-8

Notes

Select the Notes... push button.

A dialog box for the entry of your experimental notes will appear on the screen. A text cursor will be seen at the start of the dialog box.

Enter the following text. Remember to use control+enter to get a new line.

These are the Notes for the

Tutorial Exercise

.

You can use the direction keys, backspace and delete to fix any typing errors that occur while entering Notes. To start a new line, press ctrl+enter.

Continue


Ex3-10

Notes

Select the OK button.

The Notes... dialog box will disappear.

Once you have the parameter set that you desire, you will often save it to the disk. You may want to save a parameter set even if you think it will only be reused a few times. It is easier to restart an experiment by restoring parameters than by reentering them.

Parameter sets are stored in a file with a ".SET" file name extension. More than one parameter set can be stored in each file, with the set distinguished by a Set Name. This system is a powerful tool for organizing your experimental setups. For example, each worker in a lab can have his own setup file ("JOE.SET", "KAREN.SET", etc.). Within her file, Karen can save multiple parameter sets under descriptive Set Names ("Quick EIS ", "Inhibitor Test", etc.).

The notes that you enter in the Notes... dialog box are not a parameter in the normal sense. They are not saved/recalled with the parameter set. They are written into the data file as part of the permanent record of your experiment.

The Default button on the dialog box is used to restore the parameters on the screen to their default values. You can use it to fix typing errors or find out previous values for a parameter you have already retyped. The Save... and Restore... buttons always change the default values to the set being saved or recalled.

Continue


Ex3-11

Saving Setup File

Select the Save... button. A dialog box will appear on the screen. Change the File name field to "TEST.SET". Change the Set Name field to EIS TUTORIAL. Select OK.

You have just saved the parameters seen on your display in the file "TEST.SET ". This file now contains only one parameter set, stored under the set name "EIS TUTORIAL".

Now we will abandon this parameter set by canceling the experiment. We will then start up a new experiment and recall this parameter set to demonstrate how the restore process works.

Continue


Ex3-12

Canceling the Experiment

Select Cancel. This will abort the experiment in progress and return you to the Framework.

Continue


Ex3-13

Re-selecting the Experiment

Select Experiment, Electrochemical Impedance, Potentiostatic EIS.

The dialog box will display the original default parameters for this technique.

Continue


Ex3-14

Restoring the Saved Parameters

Select Restore... In the Restore dialog box, select "TEST.SET" from the File name list box.

This can be performed using either the mouse or the keyboard.

Continue


Ex3-15

Restoring the Saved Parameters

Select EIS TUTORIAL in the Set Name list box. Select the OK button.

You will return to the Setup dialog box. The parameter settings in the Setup dialog box should now be those that you had saved in the "TEST.SET" file. At this point you would normally make any additional changes in the parameters, then select OK to run the experiment with the new parameter set.

Continue


Ex3-16

Finishing the Tutorial

Select the Cancel button.

This will cancel the experiment.

Continue


Ex3-17

Congratulations!

You have completed this tutorial!


Ex4-0

Data Analysis and Plotting

Data analysis in the Framework is performed using the Gamry Echem Analyst. We have provided analysis scripts suitable for analysis and display of all EIS300 data files. We will use one of these standard scripts to analyze the Tutorial data file. We do not need a special tutorial analysis package.

You will normally invoke the Gamry Echem Analyst from the Framework Analysis menu selection. The Start Analysis function in the Framework makes the Echem Analyst the active Windows application program. If the Echem Analyst is not running when you select theStart Analysis command, the Framework program will automatically start it

This tutorial demonstrates:

· Use of the Framework Analysis Menu to start the Gamry Echem Analyst

· Loading a data file into the Gamry Echem Analyst

· Defining a region of interest

· Fitting a spectrum to a standard model

· Transforming and rescaling the display


Ex4-1

Preparing the Environment

Close any open windows, so that the only program running is the Framework software.

Continue


Ex4-2

Starting the Gamry Echem Analyst

Select Analysis, Start Analysis

The Gamry Echem Analyst will take some time to load and initialize. As the package loads, the screen will switch to the Echem Analyst.

Continue


Ex4-3

Switching Between Programs

Practice switching between the Framework and Echem Analyst windows.

Switching between windows in a Windows environment can be accomplished using either the mouse or the keyboard.

A Windows application program can continue running even when its window is not displayed. You can minimize the Framework program while it is running an EIS experiment and it will continue to take data.

After practicing, be sure to end with the Echem Analyst as the active window.

Continue


Ex4-4

Opening a data file

On the Echem Analyst Menu bar, select File, Open... In the resulting dialog box, select "EISPOT.DTA" from the Files selector. Select Open.

Data files contain tags that identify suitable analysis packages for that file. The Gamry Echem Analyst uses this tag in conjunction with a database to determine which analysis script to use with the data file. There is no need for you to select different analysis packages.

Eventually you will see a Bode plot on your screen.

Continue


Ex4-5

Exploring the Impedance Menu

Select Impedance. Do not select any of the items on the pull down menu at this time.

The standard items on this menu and their functions are:

Model Editor

Fit a Model

Clear all Fits

Continue


Ex4-6

Selecting a Region

Change the select region of the curve to exclude the data from above 3 kHz.

To operate this tool, left click in the main chart body, near the first point bounding the region you wish to select. Finally, left click again, near the second point bounding the region you wish to select. Once you make these two selections, you will see the chart highlight the region you have selected.

This tool will snap to the closest point for the data plotted on the Y-axis. In this case it will snap to the Modulus of the impedance, which is fine for most cases. If you wished to select using the phase, you would have to swap the Y and Y2 data using the Curve Selector, making the Phase on the Y-axis and Modulus on the Y2-axis.

NOTE: The Gamry Echem Analyst, unlike the Framework program itself, is really designed for mouse driven operation. Some Analysis operations are not possible without a mouse.

Continue


Ex4-7

Setting Up Fit Parameters

Select Impedance, Fit a Model. In the Resulting dialog box, select the "Randles.mdl" model. A dialog box will pop up which displays the fit parameters. In the Randles Cell Dialog box, enter starting values for the fit parameters as follows:

Rf = 100
Cf = 0.001
Ru = 10

Select Calculate.

The fit algorithm being used requires initial estimates for all the parameters that are adjusted to yield the best fit. Extremely poor initial estimates can cause fitting problems.

Notice that the values that you have entered are not very good estimates. Your entered values are: Rf = 100 W, Cf = 0.001 F, and Ru = 10 W. The real values for the parameters are: Rf = 3010 W ± 1%, Cf = 1 mF ± 5% and Ru = 200 W ± 1%.

Continue


Ex4-8

Viewing the Results

The fit may take a few seconds. When it is complete a the dialog box will become visible again, with the fit results for each parameter shown in the entry boxes. Select the Close button.

When you select Close, the program create a new page. This page has the same name as the model. In this case, "Randles". On this page are the results from the most recent Randles fit. If you were to run another Randles fit, the results would overwrite the results currently shown on the page. If, however, you were to run a different model, it too would get its own page for results.

You will see the fit plotted as a curve on the graph.

Continue


Ex4-9

Displaying a Nyquist Plot

Select the Nyquist Tab.

There is a separate page which contains a Nyquist plot.

Continue


Ex4-10

Exiting the Analysis

Select File, Exit on the Gamry Echem Analyst menu bar. Answer No to any questions asking if you wish to save changes in the Charts or data files.

Continue


Ex4-11

Congratulations!

You have completed this tutorial!


Ex5-0

Modifying an Explain Script

Normally you modify an existing Explain script whenever you need a new experiment type. This tutorial exercise demonstrates how you generate, save, and execute a new script.

You will modify the Potentiostatic EIS experiment to create a new experiment with different default parameters and a highly simplified Setup dialog box. The experimental parameters such as frequency limits and AC amplitude can no longer be changed in this modified experiment. You can use this type of fixed parameter experiment to insure consistency among repetitive tests.

Explain scripts are programs written in the Explain experimental control language. They are stored on the disk as ASCII text files. Their file names have an ".EXP" filename extension.

The object of this tutorial is to give you familiarity with the techniques used when modifying scripts, rather than to teach you the Explain language. The Explain language is discussed in the Explain help files.

If you have a question about changing a script give us a call. We will be happy to give you assistance in making simple changes.


Ex5-1

Preparing the Environment

Close any open windows, so that the only program running is the Framework Software.

Continue


Ex5-2

Connecting the Cell

Connect the cell cable on potentiostat number 1 to the EIS dummy cell provided with your system.

Continue


Ex5-3

Opening a Script

Select File, Open... In the resulting dialog box, chose the file "Potentiostatic EIS.EXP" from the files list.

By default only existing files with the ".EXP" file name extension are displayed in the file list. All the standard techniques are Explain files with an ".EXP" filename extension. Any custom Explain scripts must also use the ".EXP" filename extension.

This command opens up an edit window. In the unlikely event you are creating a script from scratch, you would select File, New to open up the editor window.

The script for the Potentiostatic EIS experiment will now appear in the editor window.

Continue


Ex5-4

Maximizing the Window

Maximize the Editor window so that it fills the available Framework window.

This can be done using either the mouse or the keyboard.

Continue


Ex5-5

Saving File Under a New Name

Select File, Save As... A dialog box will appear asking for the file name you wish to use for the new file.

CAUTION: There is a good reason for saving the file under a new name prior to changing it. This prevents File, Save commands from overwriting the original Potentiostatic EIS script. If you don't save the file to a new name, overwriting the file is an easy mistake to make.

If you do overwrite any standard script, don't panic. It can be recovered easily by copying the original script still safely stored on your distribution CD.

Continue


Ex5-6

Entering a Name

Type "MYEIS.EXP" in the Save File Name As field. Select OK.

Continue


Ex5-7

Navigating

Use the scroll bar or direction keys to move down into the file. About 50 lines into the file, you will see the following line of code.

FreqFinal = QUANT.New("FREQFINAL.",0.2,"Initial Fre&q. (Hz)")

This line defines the final frequency as an object of the class called QUANT, and assigns an initial value of 0.2 Hz to this object. This object stores the last frequency to be used in the scan,

We are going to change this value to 1.0 Hz so that our test runs more quickly.

Continue


Ex5-8

Changing Code

Change the value in the line from 0.2 to 1.0.

The line now reads:

FreqFinal = QUANT.New("FREQFINAL.",1.0,"Final Fre&q. (Hz)")

Continue


Ex5-9

Changing Code

About 20 lines further into the program, you will see the following section of code. Locate this code.

result = Setup("Potentiostatic EIS",
& PstatSelect.Selector(selector_asterisk),
& Title,
& Output,
& Notes,
& FreqInit,
& FreqFinal,
& PointDensity,
& ACAmpl,
& DCAmpl,
& Area,
& Density,
& Equiv,
& Condit,
& Delay,
& ZGuess
& Fast)

if (result eq FALSE) ; Cancel
return

This code calls a complex Framework library function named Setup(). Setup() creates the Setup dialog box and handles user entry of parameters. Setup() returns a value that is FALSE if you exit the dialog box with the Cancel button rather than the OK button.

Continue


Ex5-10

Changing Code

Select the text starting with FreqInit and ending with Fast. Press delete on your keyboard. The new section of code should look like this:

result = Setup("Tafel",
& PstatSelect.Selector(selector_asterisk),
& Title,
& Output,
& Notes)

if (result eq FALSE) ; Cancel
return

Selecting text can be accomplished using either the mouse or the keyboard.

CAUTION: Be careful that there is a close parenthesis ")" after the word Notes. If there isn't the script will not work properly.

Continue


Ex5-11

Saving the Script

Select File, Save. This will save the file under the "MYEIS.EXP" filename that you entered earlier.

At this point you can run the script using either the Current Script or Named Script... selections in the Experiment pull down menu. We will use Named Script... because it's the more generally useful method.

Continue


Ex5-12

Selecting your Script

Select Experiment, Named Script... In the resulting dialog box, select "MYEIS.EXP" from the File name list. Select OK.

From this point on, the script will run like the script for a standard experiment.

Continue


Ex5-13

Specifying the Output File

On the shortened dialog box, change the Output field to MYEIS.DTA. Select OK.

Continue


Ex5-14

Finishing the Tutorial

When the experiment is complete, select F1-ABORT.

Continue


Ex5-15

Congratulations!

You have completed this tutorial!


Ex6-0

Data and Results Files

EIS300 experiments generate two types of disk files. Both files are ASCII text files that can be edited and printed using ordinary tools such as Notepad. You should also find it easy to transport the EIS300 files into other programs such as databases, word processors, and spreadsheets.

The basic type of file is a data file, with a ".DTA" file name extension. A data file normally contains:

· The experimental parameters for the experiment

· Any notes entered as part of running the experiment

· The data curve

All output to the data file occurs via Explain commands in the experimental script. A user can alter the format of a data file by making changes in the script that generates the file.

This tutorial examines the Framework Output files.


Ex6-2

Start Notepad

Run the NOTEPAD accessory program provided with Windows. NOTEPAD is generally found under Start + Programs + Accessories.

Continue


Ex6-3

Open Data File

Select File, Open...

In the resulting dialog box, type "\Program Files\Gamry Instruments, Inc\Framework\Data\EISPOT.DTA" into the File name field. Select OK.

You should now see the data file from the first tutorial on the screen. If you don't see the file, NOTEPAD may be looking for it in the wrong directory. Check that "\Program Files\Gamry Instruments, Inc\Framework\Data\" is the correct path to your data files. If it isn't try again with the correct path.

Let's look at the contents of the file. As we work our way down the file, use the page down key or the scroll bar to move through the file.

The first entry is the tag EXPLAIN. This tag lets the Gamry Echem Analyst know that this file was produced using Explain.

The next entry TAG EISPOT is a tag for the Gamry Echem Analyst. This entry indicates that this data set was obtained from the Potentiostatic EIS experiment and should be analyzed as such. After the analysis tag you will see the experimental parameters. Each parameter is labeled, so this section of the file is easy to follow. Notice that the labels identifying the parameters are always found at the extreme left hand side of the screen. The standard EIS300 analysis scripts use the labels to find the parameters. The parameters can therefore appear in the output file in any order.

The last section is the actual curve data acquired during the experiment. Its label is ZCURVE. Following this label you will see a set of column labels for the data to follow. In the Potentiostatic EIS experiment, they are point number, time, Z real, Z imaginary, Z modulus, Z phase, Sigma (a goodness of fit measure), DC current, and DC potential.

Continue


Ex6-6

Finishing the Tutorial

Select File, Exit.

Continue


Ex6-7

Congratulations!

You have completed this tutorial!


Ex7-0

Equivalent Circuit Model Editing

The EIS300 includes a graphical Model Editor that can be used to generate new equivalent cell models. As with scripts, new models are usually generated by making changes to an existing model.

We need to start an EIS Analysis session using the Gamry Echem Analyst.

NOTE: The Model Editor cannot be operated from the computer keyboard. Therefore this exercise can only be run using a mouse or similar pointing device.


Ex7-2

Starting the Gamry Echem Analyst

Run the Gamry Echem Analyst. The Echem Analyst has an icon in the Gamry Framework program group or on the Desktop.

Continue


Ex7-4

Selecting the Data File

Once the Echem Analyst has loaded, select File, Open... In the resulting dialog box, select "EISPOT.DTA".

Continue


Ex7-5

Starting the Model Editor

Select Impedance, Model Editor from the Echem Analyst Menu bar. A new application window will appear.

The Model Editor is actually a separate program. The filename for this program is "MODELED.EXE." This program and all its associated files are located in the Framework directory.

When you run the Model Editor, it becomes the active application. The Echem Analyst is still running, but is currently inactive. You can switch between the model editor, the Echem Analyst and any other active programs by hitting alt + tab.

The icons toward the top of the Model Editor window represent the components that you use to construct a schematic diagram of your equivalent circuit. From left to right they are a resistor, a capacitor, an inductor, a generalized constant phase element, an infinite Warburg impedance, a bounded Warburg, a porous bounded Warburg, a Gerischer element, and a wire.

Moving a component to the trash can icon removes that component from the screen and from the model. You can also right click on a component and select Delete.

In this exercise, you are going to add an inductor to the Randles Cell model. This is being done for instructional purposes only. The modified model is actually a poorer model for the dummy cell data than the original Randles cell model.

Continue


Ex7-6

Opening a Model

On the Model Editor menu bar, select File, Open... In the resulting dialog box, Select "randles.mdl" in the Filename selection box.

A schematic diagram of the Randles Cell will appear in the Model Editor window.

Continue


Ex7-8

Changing the Model

Remove the wire connecting Cf to the working Electrode (shown as W.E.) Point the mouse at the dot on the left end of the wire. Press down and hold the left mouse button. The cursor should change to a dot within a square. Drag this symbol to the trash can icon and then release the left mouse button.

Alternatively, you can right click on the wire and select Delete.

Continue


Ex7-9

Adding an Inductor

Click on the inductor icon (third icon from the left).

An inductor symbol will appear on the screen, with a button beneath it labeled Param1. Clicking on the button for a parameter allows you to edit the name and the allowed limits for the parameter.

Continue


Ex7-10

Labeling the Inductor

Click on the button labeled Param1. In the resulting dialog box, type L in the Parameter Name field.

Continue


Ex7-11

Repositioning a Component

Drag the inductor to a position just to the right of Cf. If it is not positioned correctly, try picking it up again and moving it slightly.

When you drag a component, it is shown as a dotted line rectangle.

When the inductor is properly positioned, the dot on its left side should overlap the dot on the right side of Cf.

Continue


Ex7-12

Adding a Wire

Click on the wire icon to add a wire to the schematic.

Continue


Ex7-13

Connecting the Wire

Drag the left side of the new wire to the right side of inductor L. Drag the right side of the new wire to the connection dot on the working electrode.

Continue


Ex7-14

Saving the Model

Select File, Save As... In the resulting dialog box, type TUTORIAL.MDL in the Filename field. Select OK.

This saves the model on the disk. You will now go back to the Echem Analyst and use this new model.

Continue


Ex7-15

Switching Back to the Echem Analyst

The Echem Analyst window should be visible behind the Model Editor Window. Click anywhere on the Echem Analyst window to return to it. If the Echem Analyst window is not visible, press alt + tab until it becomes the active application.

Continue


Ex7-16

Selecting the New Model

On the Echem Analyst menu bar select Impedance, Fit a Model... In the resulting dialog box, select "TUTORIAL.MDL" in the Filename selection box. Select Open.

Continue


Ex7-17

Checking your Work

In the dialog box, set the value fields as follows:

100 Rp

1E-5 Cf

10 Ru

1E-8 L

NOTE: The new inductor is listed in the dialog box.

Select OK.

These are fairly poor estimates for the real values in the cell. When the fit is complete, the values for Rp, Cf and Ru should be unchanged from the previous fit (close to 3010, 1e-6, and 200 respectively). The value for L should be quite small - around 1e-10. Its percentage uncertainty will be quite large.

Continue


Ex7-18

Congratulations

You have completed this tutorial!


Maximize Window (Keyboard)

Press the ALT followed by the Up-Arrow key. Then select maximize from the resulting menu.


Maximize Window (Mouse)

Click on the Middle button in the upper right hand corner of the window. This button will have a picture of a window.


Model Editor(popup)

Model Editor

Used to call in a graphical equivalent circuit model editor. This editor can be used to modify an existing model or to generate a new model.


Named Model(popup)

Fit a Model

Used to fit a curve to an equivalent circuit model stored on the computer's disk.


Nyquist Plot Axes

Minus Imaginary Impedance versus Real Impedance


Schematic Diagram of Dummy Cell


Selecting a Potentiostat (Keyboard)

To change the potentiostat selection, use TAB or SHIFT+TAB to move the input focus to one of the PStat selectors. The number for a selector will be surrounded by a dotted box when the focus is on that selector. Use the RIGHT or LEFT arrow key to change the PStat selection.


Selecting a Potentiostat (Mouse)

To select a potentiostat, move the mouse so that its cursor points to its selection circle. Single click the left mouse button.


Selecting Item in List Box (Keyboard)

Use the TAB key to move the input focus to the field on top of the list box. Use the DOWN arrow key to move down the list. The highlight will move into the list and will show the currently selected item. This item will also appear in the box on top of this list. Use TAB to move to another field in the dialog box. Do not press ENTER unless you are satisfied with all the fields in the dialog box. ENTER is equivalent to the OK button.


Selecting Item in List Box (Mouse)

To select an item in a list box, move the mouse so that its cursor points to the item you wish to select. If there are too many items in the list to fit inside the box, a scroll bar will be seen to the right of the list to allow display of all the items. Once you are pointing at the desired item, click the left mouse button.


Selecting Text (Keyboard)

Use the cursor keys to place the cursor at the start of the selection. Hold down the SHIFT key and press the cursor keys at the same time to select the text. Release the SHIFT key.


Selecting Text (Mouse)

Point the mouse at the start of the section. Hold down the left mouse button as you drag the mouse to the end of the text selection. Release the mouse button.


Switching Windows (Keyboard)

ALT+ESCAPE will cycle between the windows for all application programs currently running. When the one you want to view is highlighted in the taskbar, press ENTER. Alternatively you can press ALT+TAB until the window you want to view is visible. Be sure to hold down the ALT key while tapping the TAB key to switch between windows.


Switching Windows (Mouse)

There are many different ways to switch windows with the mouse in Windows 95. The easiest and most common is to select the window you want to display from the Taskbar by clicking on it with the left button.


Toggle a Check Box (Keyboard)

Use the TAB and SHIFT+TAB keys to move the input focus to the check box. When the focus is on the box the label to its right will be surrounded by a dotted box. Press SPACE to change the check box setting.


Toggle a Check Box (Mouse)

To select a check box, move the mouse so that its cursor points to the check box. Click the left mouse button.