Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Autonomous battery slurry optimization system #141

Open
sgbaird opened this issue Jan 8, 2025 · 15 comments
Open

Autonomous battery slurry optimization system #141

sgbaird opened this issue Jan 8, 2025 · 15 comments

Comments

@sgbaird
Copy link
Member

sgbaird commented Jan 8, 2025

https://hasanyone.com/?id=f2572055

Talking with @MatPopp,

Using Science Jubilee and performing optical microscopy and viscosity measurements.

Possibly machining a hole into the Science Jubilee plate to make room to attach the OpenFlexure delta stage microscope (reflection version) underneath for imaging the slurry from the bottom of a wellplate, where the wellplate is moved around via a press fitted 3D printed attachment into one of the wells near the center of the well plate (maybe with some adhesive for robustness).

Using a pressure sensor connected to a syringe at various plunger speeds as a proxy measure for viscosity.

Microscope

We also considered a custom attachment to a glass slide to enable pickup and having the microscope near one of the corners of the Science Jubilee (i.e., without machining a hole into the build plate), but drop casting into a wellplate and moving it around may be simpler to implement.

Attaching the delta stage as a science jubilee tool might be a bit unwieldy in terms of size, but it's not overly heavy. It would probably leave room for one or two other tools (possibly an ultrasonicator and/or a doctor blade).

Rather than machining a hole into the Science Jubilee build plate, creating a standoff plate to raise the vials and the well plate (or perhaps just making a base for the wellplate and vial stand that's really tall), and putting the microscope and anything else required directly on the build plate is another option. There just needs to be enough XY clearance relative to the cross bar and the tool.

Stacking wellplates and moving them with the fake tip procedure mentioned above is an option.

Viscosity

https://hasanyone.com/?id=1b242604

There was mention on the discord forum about possible difficulty with calibration with too much weight on the build plate. Maybe not a big deal if we don't need high XY precision. Not sure how much center of gravity will affect things either. For sure need to be careful to keep the weight towards the end with the two rods instead of the two corners nearest the sides with the the single rod, since too much pressure on those corners can tip the build plate.

Many of the suggestions and comments in https://chatgpt.com/share/677df81f-13a8-8006-8817-51b40cad70ce seem reasonable to me. Use of a glass slide where the slurry has been spread may prove more informative than the well plates, similarly coating the slurry onto aluminum foil and using the microscope as a science jubilee tool would allow for inspection in the as-coated state.

Always consider that the build plate moves in the Z-direction (not the toolhead), so for example, having the microscope down low to the desk wouldn't work (it would have to either already be very high up, and have lateral clearance so the build plate doesn't hit it and it doesn't interfere with the cross-bar, or move with the build plate itself).

Heated/vacuum drying may be difficult to implement. An ultrasonic probe would be especially helpful with the water-based slurries it would seem.

Making the feet of Science Jubilee much taller would reduce the chances of having a tall item that's fixtured underneath the build plate crash into the desk. Raising Science Jubilee up too tall could also pose problems though.

@sgbaird
Copy link
Member Author

sgbaird commented Jan 8, 2025

@Yang1Bai feel free to weigh in with any comments here.

@MatPopp
Copy link

MatPopp commented Jan 9, 2025

Thanks @sgbaird for summarizing our discussions so nicely!

I will set this comment up as a TODO list / work plan.

High Level Targets

  • Contribute to cheap and performant batteries for climate change mitigation
    This project only contributes small parts.
  • Develop SDL / MAPs methods serving a very broad scope in science.
    ** Make make machine learning and artificial intelligence usable for (material) science by connecting it to (fully) automated experiments
    ** Find ways to these methods in the context of recycling / circular economies -> automatically build process models for optimizations in an overarching scope

Targets:

(1) get modules for slurry mixing map up and running for the following involved processes:

  • (a) mixing of (viscous) liquids
  • (b) measuring viscosity (proxy) values
  • (c) moving material (weelplates, microscopy slides (optional)) around (@Neil-YL)
  • (d) (optional) microscopy on slurry in wet or dried state
  • (e) (optional) deposit slurry, e.g. on microscopy slides with aluminum / copper foil.
  • (f) (optional) sample drying.
  • (g) (very optional) electrical characterization of dried active material (4Point / 4Bar Measurements)
  • (h) (here out of scope) electrochemical characterization of dried active material (e.g. in half-cell geometry, needs electrolyte, therefore out of scope)
  • (j) (here out of scope) (temporary) assembly of cells. (ideas like "continuous endless cell": Assembling only Electrodes+Active material and re-using structural parts in between experiments)
  • (k) (here out of scope) performance characterization of (temporary) Laboratory cells

(2) Apply Machine Learning / AI

  • (a) use well-established Bayesian Optimization for validation of experimental setup
  • (b) find a way to use Bayesian Optimization to deal with varying input quality

TODOs:

Phase 1 Experimental preparation

  • (a) Slurry mixing

    • get used to working with Science Jubilee to be able to transport samples
    • get used to working with the available pipetting systems
      ** test if mixing of viscous liquids (i.e. the slurry components) can be accomplished by
  • (b) viscosity proxy
    ** set up software for LPS22 Pressure sensor
    *** Done: (micropython <-> LPS22)
    ** design + build air-tight enclosure for LPS22 Pressure sensor with connector to hose
    ** design + build air-thight connector between syringe (for first tests) and hose
    ** acquire first test data with syringe + water
    ** acquire first test data with syringe + glycerine
    ** design + build air-thight connector between OT2 pipette and hose
    ** design + build mechanical attachments to OT2 pipette. (including wiring)

  • (c) moving stuff:
    ** @Neil-YL design press-fit connector between wellplate and OT2 Pipette
    ** @Neil-YL show working example (moving + positioning wellplate)
    ** @Neil-YL (?) Design new (plastic) Frame attachment for Jubilee (aluminum) build-Plate:
    *** two places for piles of wellplates, raw material containers, ... pipette tips (?)
    *** One large "working yard" where stuff can be positioned freely. The edges of that "yard" might be used to align wellplates rotationally, by shortly touching off

  • (d) microscopy
    ** test with actual battery slurry if it is worth it
    ** @sgbaird decide, if we can have a cutout into the aluminum plate, make contact to necessary personell/contractor
    ** attach microscope to bottom of build-plate.

  • integration of modules into setup
    ** wire everything
    ** transport it to NRC (@sgbaird a car might be beneficial for that)

Phase 2: Utilizing setup + Algorithmic / Software work

  • (a) Bayesian Optimization campaign:
    ** prepare pre-mixed raw-slurries: [water, NMP, CarbonBlack, CMC in water, SBR in water, NMC in water, NMC in NMP, Graphite in water, PVDF in NMC] (?)
    ** inputs: mixture fractions of raw-slurries (or rather subsets thereof)
    ** outputs: pressure-derived viscosity proxy, shear rate dependence proxy (?)
    ** optimization target: deviation from target viscosity, (optional) shear rate dependence, (optional) microscopy homogeneity measure, (optional) microscopy particle size distribution

  • (b) Algorthm enhancement for recycling/Process modelling:
    ** optimization campaign that re-uses already characterized slurry mixtures
    *** comment: this would make results (more) transferrable to industry: the properties af the slurry in a large mixing pot could be used to determine what has to be added.
    *** free inputs: inputs of (2)(a)
    *** clamped inputs / parameters: all available measurements on intermediate slurry mixture
    *** optimization target: like (2)(a) but with extra cost for the use of (precious) raw material
    -> "Find a way to mix good battery slurry using as few expensive (raw) material as possible. Use cheap (recycled) material yielding well enough quality"
    -> "Remember what you did to build an data-based understanding of what dominates the behavior of this type of process"

@Neil-YL
Copy link
Contributor

Neil-YL commented Jan 10, 2025

  • ** @Neil-YL show working example (moving + positioning wellplate)

The video is posted in this issue.

@MatPopp
Copy link

MatPopp commented Jan 10, 2025

20250110_160407.mp4

Video of pressure sensor with syringe making their first steps

@sgbaird
Copy link
Member Author

sgbaird commented Jan 10, 2025

Wellplate above delta stage

Because there is a lip to the wellplate, not all wells can be accessed while keeping it flat.

PXL_20250110_220554001.mp4

There would likely need to be something stick or something grippy to make sure the wellplate that is dropped onto the microscope maintains it's orientation relative to the microscope stage.

PXL_20250110_220856103.mp4

Mounting the microscope as a tool essentially negates any utility of the XYZ stage. SciJub is the XYZ at that point.

There is clearance to put the microscope on the OT-2 base and put a wellplate on top of it.

@MatPopp
Copy link

MatPopp commented Jan 13, 2025

First tests of pressure sensor viscosity proxy

Setup

grafik

  • syringe actuated by linear actuator (controlled via pi pico)
  • pressure sensor (in white box) connected to syringe, data recorded by pi pico

Documentation

  • n=1: inhale and exhale air:
    air_n=1

  • The sensor is exact enough to sense pressure changes due to sucking air into the pipette and pushing it out again.

  • The movement of the syringe is retarded compared to the setpoint (which is expected)

  • video: aspirate dish soap:
    https://github.com/user-attachments/assets/961f66c5-6803-41f0-95d5-530d268eeef4

  • some experiments, aspirating water or soap. The Actuator was moved only as few as possible (stick-slip behavior of the large syringe), then the drop-off of pressure was observed (more stable than when servo is still active):
    soap_n=20
    soap_n=18
    soap_n=19

  • rather exponential decay observable

water_n=22
water_n=23
water_n=21

  • again, exponential decay observable with smaller decay time (~30x).

  • https://www.michael-smith-engineers.co.uk/resources/useful-info/approximate-viscosities-of-common-liquids-by-type suggests viscosities for shampoo of 3000 cP which is rather a factor of 3000 larger than water.

  • the origin of spikes in measurements is currently unclear. Possibly false packets in i2c conneciton.
    possible reasons for the deviaiton:

  • the 3D-printed connection-piece between the syringe and the pipette tip is not fully air-thight. (tested by closing the tip with a finger. After sucking + waiting air is pushed out when exhaling fast.

  • non-newtonian behavior (seems a bit unlikely to me)

@sgbaird
Copy link
Member Author

sgbaird commented Jan 13, 2025

Nice! Any luck with position feedback from the new linear actuator? Maybe we do a resin print, assemble, apply some additional resin, and cure it to keep everything airtight.

@MatPopp
Copy link

MatPopp commented Jan 14, 2025

No luck with position feedback so far. A voltage booster might be needed. (https://www.actuonix.com/lac-board-intro?srsltid=AfmBOopJR0bP6b83xY1mzNJnjBf2eja3fOiL6rOgy8MKNan4byd39Wzr)
The housing of the sensor is air-tight, Superglue worked fine. The leakage was at the adapter between the syringe and tip. There is a small kink at the circumference of fdm printed round parts which lets some air through

Possible solutions:

  • sanding the circumference (I tried that, will see tomorrow how it worked)
  • resin 3d printing for better accuracy
  • including an o-ring or some soft material at the connections.

@sgbaird
Copy link
Member Author

sgbaird commented Jan 14, 2025

With enough super glue you'd be able to seal it though, right? I'll open a separate issue for the linear actuator.

@MatPopp
Copy link

MatPopp commented Jan 16, 2025

@sgbaird played a bit with the jubilee python interface. Do you know if/where the end stop of the pipette is implemented in science jubilee? Could not find a spot i python. Does it stop the z motion within duet?

@sgbaird
Copy link
Member Author

sgbaird commented Jan 16, 2025

@sgbaird played a bit with the jubilee python interface. Do you know if/where the end stop of the pipette is implemented in science jubilee? Could not find a spot i python. Does it stop the z motion within duet?

@yakavetsiv do you know for this one?

@sgbaird
Copy link
Member Author

sgbaird commented Jan 16, 2025

@MatPopp starting around here https://science-jubilee.readthedocs.io/en/latest/building/pipette_tool.html#wiring-connections maybe something that can help.

@MatPopp
Copy link

MatPopp commented Jan 16, 2025

I finally found it: the science jubilee version was not up-to-date and the "H4" that makes the movement stop when the switch is pressed was missing.

https://github.com/machineagency/science-jubilee/blob/079c43d02f991f1a2c07129b77c9af8fdadeb5a2/src/science_jubilee/tools/Pipette.py#L663

(line 663)

@sgbaird
Copy link
Member Author

sgbaird commented Jan 16, 2025

Ah, wow! Really nice find

@yakavetsiv
Copy link

@MatPopp I can check Jubilee setup configuration at SDL6 tomorrow, if you will have more questions. Please let me know if you will have any questions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants