> For the complete documentation index, see [llms.txt](https://projects.tylerqwong.me/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://projects.tylerqwong.me/ada/probe-station.md).

# Probe Station Project

Shared with express permission of Curtis Berlinguette Research group

I was tasked with designing and implementing a conductivity characterization module for a new gantry slide-handling robot.

## Design Process

<details>

<summary>Problem Definition - Requirements, Constraints, and Goals</summary>

#### Requirements and Constraints

* Interfaces physically with slide-handling gantry system, may require collaboration with gantry system developer to work out details of slide manipulation.
  * Samples will be deposited on 3”x1” standard glass slides.
  * Reliably achieves ohmic contact with sample with >90% accurate validation.
  * Positional validation required (allows for correlation of conductivity and imaging).
* Solution must be safe for humans and equipment.
  * Consider consequences of robot arm and module collision error.
  * Consider pinch points for humans.
  * Consider electrical hazards for instrumentation.
* Can conduct 4-point resistance measurement on glass slide samples.
* Can record measurements for human or computational analysis which are accessible to the rest of the experimental platform.
* Reliable enough to enable automated experimentation runs of over 10 hours (20-40 samples) with over 95% success rate.

#### Goals

* Design cost is minimized.
  * Consider designing a prototype contact board for testing before implementing more expensive Signatone probe head.
  * Consider utilizing 8020 materials to align with upcoming order.
* Make use of switch-matrix to allow for additional instrumentation modules or multiplexing to multiple probe stations.
* Probe station can capture hysteresis and response time data.
* Provide a useful probe station API to the rest of the team which is easy to integrate.

</details>

### Slide-handler Design

{% tabs %}
{% tab title="Iteration 1 - Single" %}
![slide-handler design responsibilities passed from gantry-station co-worker](https://867149615-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4AszZ6cDemtjRDbZfx%2F-MRHSwxERXdimJl-Fi76%2F-MRJURtsiDFdQgP3mV9D%2FScreenshot%20\(67\).png?alt=media\&token=e4dc16c4-beb1-4ab1-bb4e-7ded7d565015)
{% endtab %}

{% tab title="Iteration 2 - Dual" %}
![early attempt to incorporate a "reference slide" of known conductivity/geometry](https://867149615-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4AszZ6cDemtjRDbZfx%2F-MRHSwxERXdimJl-Fi76%2F-MRJURtoykzORRee7Riu%2FScreenshot%20\(68\).png?alt=media\&token=636c5372-6111-4049-b3b6-804d8c5f2539)

![note the slight banana-fication from curing process](https://867149615-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4AszZ6cDemtjRDbZfx%2F-MRJVDL8ivcxRcVwz5Y7%2F-MRMErUUl1PIKo4pWva4%2Fdualslideholder2.jpg?alt=media\&token=1acd35e8-427a-4f7a-b45c-d6b1ec5b757c)
{% endtab %}

{% tab title="Iteration 3 - Single w/ Calibration Cover" %}
![space efficient solution with minimal calibration geometry](https://867149615-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4AszZ6cDemtjRDbZfx%2F-MRJVDL8ivcxRcVwz5Y7%2F-MRJURtrg-npq0Bp9oiE%2Fsingleslideholder2.png?alt=media\&token=d0c57b0f-1389-4792-bfd6-ec4f5167c9ef)
{% endtab %}
{% endtabs %}

### Conductivity Probe Design

{% tabs %}
{% tab title="Iteration 1 - Electrode Printing" %}
![original prototype, designed with a different workflow in mind](https://867149615-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4AszZ6cDemtjRDbZfx%2F-MR61YsaDU3-KW_Yzsix%2F-MRHFrRrrhUlm300iMcg%2FContact_Plate1.jpg?alt=media\&token=08fe456a-a22e-4c3a-a0c8-92f82b89c2dc)

![test printing of NanoAg electrodes and traces on glass](https://867149615-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4AszZ6cDemtjRDbZfx%2F-MR61YsaDU3-KW_Yzsix%2F-MRHGL2Y0Y-q4ZNXJ6ve%2FNanoAg_Test2.jpg?alt=media\&token=18779864-82a6-469e-9385-cef4c73c44e6)
{% endtab %}

{% tab title="Iteration 2 - 4 Point Conductivity" %}
![simple 4-point probe prototype](https://867149615-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4AszZ6cDemtjRDbZfx%2F-MR61YsaDU3-KW_Yzsix%2F-MRHFqiziab1chPGG58J%2FContact_Plate2.jpg?alt=media\&token=6b6fbe88-e2bc-4f61-b924-610568a6b45f)

To be replaced by [Signatone 4-Point Probe](https://www.signatone.com/pdf/Pro4-Brochure-2017.pdf) after kinematics are deemed safe.
{% endtab %}
{% endtabs %}

### Software

![System Block Diagram](https://867149615-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4AszZ6cDemtjRDbZfx%2F-MR35xOYy9-9MEk3CP0g%2F-MR3BgVDFTIBqE3go2Xz%2Fprobe_block_diagram.png?alt=media\&token=57c95fc9-a1f1-417b-84af-e868704dc24c)

* This project uses two off-the-shelf components: a [digital multimeter](https://www.tek.com/tektronix-and-keithley-digital-multimeter/dmm6500) to conduct measurements and a [switch matrix](https://www.keysight.com/en/pd-1322300-pn-U2751A/4x8-2-wire-usb-modular-switch-matrix?cc=CA\&lc=eng) to multiplex the multimeter.
* These instruments have native automation features written in SCPI. I used PyVisa to send SCPI commands and receive data in Python.
* I wrote separate classes for controlling each instrument (`switch matrix controller` and `dmm controller`).&#x20;
* After confirming probe/gantry integration details with project engineers I wrote a `probe station controller` class which coordinated the two instruments to carry out conductivity measurements on command.
* I documented the project, integrated it with the `gantry station control` project and submitted it for review.

## Outcomes

* The module was completed and handed over to the gantry station project owner.
* The gantry system continued to see development through until February 2021.
* In June a scientist requested use of the probe station to make swept conductivity measurements of glass-deposited films. A custom sweep routine and JSON data-output program were written and put into use for 3 weeks. End user reported satisfaction with operation and end results.

![configuration of the overall station before integration with the larger Ada platform](https://867149615-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4AszZ6cDemtjRDbZfx%2F-MR61YsaDU3-KW_Yzsix%2F-MRHFoR9AzHDL2w8WGH0%2FFull_Gantry.jpg?alt=media\&token=09020e26-f9dd-4764-88db-6c34582b8fbe)
