Skip to content

Module potentiostat

Oliver Rodriguez edited this page Jan 17, 2023 · 2 revisions

Module: potentiostat

Module to select the potentiostat to use and perform electrochemical experiments (CV, LSV, CA, OCP).

potentiostat.Setup(model=0, path=',', folder=',', port=None, verbose=1)

Initializes the potentiostat to use and selects folder to save data files.

Parameters

  • model: str or False. Potentiostat model to use. Accepted values: 0, False, 'chi760e', 'chi1205b', 'emstatpico'
  • path: str. Directory where the potentiostat executable is located.
  • folder: str. Name of and existing directory where data files will be saved.
  • port: str. Port to be used for the emstatpico, by default it is automatically detected but it can be selected here. CH Instruments do not use this option.
  • verbose: boolean. Print information on the console. 1 by default.

Methods

pytentiostats.Setup.info() Prints the potentiostat model, executable path and directory to save the data files.

potentiostat.Technique(text='', fileName='CV')

Class to initialize electrochemical techniques. Only used by the techniques to inherit from this class.

Parameters

  • text: str. String containing the macro or commands to send to the potentiostat.
  • fileName: str. Base filename to save data files.

Attributes

  • bpot: boolean. False by default. If True, activates the second working electrode.

Methods

  • Technique.writeToFile(). Saves the macro or commands send to the potentiostat as a file.
  • Technique.run(). Performs the measurement and calls writeToFile to save the macro.
  • Technique.message(). Used to output to console when the experiment starts and finishes.
  • Technique.bipot(E=-0.5, sens=1e-6). If pytentiostats.Technique.bpot is set to True, it will activate the second working electrode with the specified parameters.
  • Technique.plot(). Plots the measured data.

potentiostat.CV(Eini=-0.2, Ev1=0.2, Ev2=-0.2, Efin=-0.2, sr=0.1, dE=0.001, nSweeps=2, sens=1e-6, fileName='CV', header='CV', resistance=0)

Cyclic voltammetry (CV). The direction of the sweeps is: Eini > Ev1 > Ev2 > Efin.

Parameters

  • Eini: double. [V] initial potential.
  • Ev1: double. [V] first vertex potential.
  • Ev2: double. [V] second vertex potential.
  • Efin: double. [V] final potential.
  • sr: double. [V/s] scan rate.
  • dE: double. [V] potential increment.
  • nSweeps: int number of sweeps.
  • sens: double. [A/V] current sensitivity.
  • fileName: str. Name to save data file. File will be overwritten if it exists.
  • header: str. Header of the txt data file. Use it to include comments.

Optional parameters

  • qt: int. [s] quite time, 2 s by default. Only available on the chi1205b, chi1242b, chi601e and chi760e.
  • resistance: double. [ohms] solution resistance to perform automatic iR compensation, zero by default (no compensation). Only available on the chi601e and chi760e.
  • mode: str. Emstat Pico mode: low_speed, high_speed, max_range. Defaults to max_range.

potentiostat.LSV(Eini=-0.2, Efin=0.2, sr=0.1, dE=0.001, sens=1e-6, fileName='LSV', header='LSV')

Linear sweep voltammetry (LSV). The direction of the sweep is Eini > Efin.

Parameters

  • Eini: double. [V] initial potential.
  • Efin: double. [V] final potential.
  • sr: double. [V/s] scan rate.
  • dE: double. [V] potential increment.
  • sens: double. [V/A] current sensitivity.
  • fileName: str. Name to save data file. File will be overwritten if it exists.
  • header: str. Header of the txt data file. Use it to include comments.

Optional parameters

  • qt: int. [s] quite time, 2 s by default. Only available on the chi1205b, chi1242b, chi601e and chi760e.
  • resistance: double. [ohms] solution resistance to perform automatic iR compensation, zero by default (no compensation). Only available on the chi601e and chi760e.
  • mode: str. Emstat Pico mode: low_speed, high_speed, max_range. Defaults to max_range.

potentiostat.CA(Estep=0.2, dt=0.001, ttot=2, sens=1e-6, fileName='CA', header='CA')

Chronoamperometry (CA).

Parameters

  • Estep: double. [V] potential step to apply.
  • dt: double. [s] time increment.
  • ttot: touble. [s] total time of the step.
  • sens: double. [V/A] current sensitivity.
  • fileName: str. Name to save data file. File will be overwritten if it exists.
  • header: str. Header of the txt data file. Use it to include comments.

Optional parameters

  • qt: int. [s] quite time, 2 s by default. Only available on the chi1205b, chi1242b, chi601e and chi760e.
  • resistance: double. [ohms] solution resistance to perform automatic iR compensation, zero by default (no compensation). Only available on the chi601e and chi760e.
  • mode: str. Emstat Pico mode: low_speed, high_speed, max_range. Defaults to max_range.

potentiostat.OCP(ttot=2, dt=0.01, fileName='OCP', header='OCP')

Open circuit potential (OCP).

Parameters

  • ttot: double. [s] total time of the step.
  • dt: double. [s] time increment.
  • fileName: str. Name to save data file. File will be overwritten if it exists.
  • header: str. Header of the txt data file. Use it to include comments.

potentiostat.NPV(Eini=0.5, Efin=-0.5, dE=0.01, tsample=0.1, twidth=0.05, tperiod=10, sens=1e-6, fileName='NPV', header='NPV performed with CHI760')

Normal pulse voltammetry (NPV). Only available for the CHI760E.

Parameters

  • Eini: double. [V] initial potential.
  • Efin: double. [V] final potential.
  • dE: double. [V] potential increment.
  • tsample: double. [s] sampling time.
  • twidth: double. [s] width time.
  • tperiod: double. [s] period time.
  • sens: double. [A/V] current sensitivity.
  • fileName: str. Name to save data file. File will be overwritten if it exists.
  • header: str. Header of the txt data file. Use it to include comments.