Control the Biologic potentiostat to test CV experiment via Python (combination with OT-2)
Project description
Automatic CV
A library allowing easy control over EC-BioLogic devices via simple Python code. You can integrate this project with your automated robot (such as the OT-2 robot) to achieve automated electrochemical test tasks. At this stage, only the CV experiment can be tested through this library. Further electrochemical experiments are on the way and will be released in the following update.
Install with
python -m pip install Automatic-CV
For details of techniques and parameters, please see: the official development user's guide: EC-Lab Development Package.pdf.
Biologic Program
Abstract Class
Represents a program to be run on a device.
Methods
-
BiologicProgram( device, params, channels = None, autoconnect = True, barrier = None, stop_event = None, threaded = False ): Creates a new program.
-
channel_state( channels = None ): Returns the state of the channels.
-
on_data( callback, index = None ): Registers a callback function to run when data is collected.
-
run(): Runs the program.
-
stop(): Sets the stop event flag.
-
save_data( file, append = False, by_channel = False ): Saves data to the given file.
-
sync(): Waits for barrier, if set.
-
_connect(): Connects to the device
Properties
- device: BiologicDevice.
- params: Passed in parameters.
- channels: Device channels.
- autoconnect: Whether connection to the device should be automatic or + not.
- barrier: A threading.Barrier to use for channel syncronization. [See ProgramRummer]
- field_titles: Column names for saving data.
- data: Data collected during the program.
- status: Status of the program.
- fields: Data fields teh program returns.
- technqiues: List of techniques the program uses.
Base Programs
This project can be used to scan the CV
experiment only. Further experiments, including OCV
, PEIS
, etc., are on the way and will be released in the following update.
CV
Performs a CV
scan.
Ewe ^
| E1
| /\
| / \ Ef
| / \ /
| / \ /
| / \ /
| Ei \/
| E2
|
-----------------------> t
Params
-
start: Initial voltage (Ei). [Default: 0]
-
E1: Boundary potential that first reaches (E1).
-
E2: Boundary potential that reaches later.
-
Ef: Potential vs reference. [Default: 0]
-
step: Voltage step. [Default: 0.001]
-
rate: Scan rate in V/s. [Default: 0.05]
-
average: Average over points. [Default: False]
Find Devices
A convenience script for finding connected devices.
Use
From a terminal run python -m automatic_cv.find_devices
.
EC Errors
Implements EC errors.
Classes
- EcError( value = None, code = None, message = None )
Example
A basic example that runs a CV experiment on channel 1.
import logging
import automatic_cv as acv
import automatic_cv.base_programs as abp
logging.basicConfig(level=logging.DEBUG)
# create device
bl = acv.BiologicDevice('169.254.72.33') #IP address is to be confirmed.
# channels to be used
channels = [0]
by_channel = False
# data saving directory
save_path = f'D:\Data\EC lab\data_output' # file name is to be defined.
if not by_channel:
save_path += '.csv'
# create CV program
params_CV = {
'start': 0.9,
'E1': -0.4,
'E2': 0.3,
'Ef': 0.9,
'vs_initial': False,
'rate': 0.05, #unit: V/s
'step': 0.001, #step = dEN/1000
'N_Cycles': 0,
'average_over_dE': False,
'begin_measuring_I': 0.5,
'End_measuring_I': 1.0,
'I_range' : 'KBIO_IRANGE_AUTO',
'E_range' : 'KBIO_ERANGE_2_5',
'bandwidth': 'KBIO_BW_5'
}
CV = abp.CV(
bl,
params_CV,
channels = [0] #channel is to be claimed.
)
# run program
CV.run( 'data' )
CV.save_data(save_path)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file Automatic-CV-1.0.0.tar.gz
.
File metadata
- Download URL: Automatic-CV-1.0.0.tar.gz
- Upload date:
- Size: 5.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98e1923055397a8c08126896eee226a6107d7d6ebe2dece58d49c0aad11da912 |
|
MD5 | c4a279f380ccc2b252e1e34208dc8c96 |
|
BLAKE2b-256 | 80fd78b4c10dba6372c673299cc33b95586f60864e11064f23ddd3370e672915 |
File details
Details for the file Automatic_CV-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: Automatic_CV-1.0.0-py3-none-any.whl
- Upload date:
- Size: 5.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6130bc02de6a1d3e6c37093b42d6ed2f460bb286eab4ef24ba8f0a28f16b22d6 |
|
MD5 | 23660070066dae8e8ae8d22eebdcb8e0 |
|
BLAKE2b-256 | ac77d7df84a5d0af5f4f4883affeced6a2822350fa889418a6ebc0787680ab3f |