GithubHelp home page GithubHelp logo

pariahgh / electrochemical_analysis Goto Github PK

View Code? Open in Web Editor NEW
11.0 2.0 2.0 63 KB

Various programs written to help with analysis of electrochemical data for the characterization of electrodes

License: MIT License

Python 100.00%
research electrochemistry analysis cyclic-voltammetry electrodes tesseract laboratory

electrochemical_analysis's Introduction

Misc Lab Programs

The programs in these repo were written for usage in analysis of electrochemical analysis data, specifically processing cyclic voltammetry data as well as discrete chronoamperometric data, for the characterization of electrodes.

Screen Recorder

This script is used for recording experimental data. The program that talks to the equipment displays a window on the screen during run time that show real time results. The data of interest is recorded from this window at intervals. This data must be written down by hand, as the end output of the program is not easy to search through, especially with higher sampling rates. This program takes a screen shot of the displayed data as well as tracking steps in the experiment, then OCRs the screen shots with Tesseract to output a nicely formatted CSV which can be consumed by the data analysis program, as well as being easier to read manually - this method also allows for the tracking of other data that cannot necessarily be obtained from the equipment software.

The screen recorder requires that Tesseract OCR be installed and in PATH

Data Analysis

The data analysis script consumes the output of the screen recorder - it can also consume cyclic voltammetry data from the controller software, as the timeframe for that data is fixed. It produces graphs using matplotlib, and can output paired graphs (ie both of the electrodes in dual configuration cell) as well as customized averages (with +- SEM).

Fuel Cell Power Modeling

This program is intended to assist with identifying minimum viable fuel cell parameters for a system with a known average load and battery capacity. This is because it is not strictly necessary to power some systems solely with a fuel cell. In many cases, including pacemakers and sensors, the device only has to have power for a predetermined minimum amount of time. A battery and fuel cell can be used in combination - the fuel cell only has to be good enough to extend the battery life past the minimum lifetime. This program is intended help with evaluating fuel cells for this application.

It takes as args the average load (mW), the starting energy storage (mJ - currently assumed to be max capacity as well), and three points on the fuel cell decay curve, spitting out a graph showing the battery charge and fuel cell output over time, and a table displaying some key metrics.

This is currently in proof of concept stage and requires more refining to be actually useful - I intend to replace the three point system with an actual user defined table, add more system options, and add generation of minimum viable fuel cell decay curves given system constraints.

Final Thoughts

This is all still in development as I figure out better ways of processing the data or additional features that would be helpful. It's pretty specific to my use case, but if there is anyone out there that has similar issues with electrochemical analysis equipment, reach out!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.