Skip to content

Commit 981ef4b

Browse files
authored
Docs Update: Hamilton HEPA Fan (old) (#664)
1 parent 159fd78 commit 981ef4b

File tree

6 files changed

+144
-79
lines changed

6 files changed

+144
-79
lines changed

docs/user_guide/01_material-handling/fans/fans.ipynb

Lines changed: 0 additions & 79 deletions
This file was deleted.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Fans (Air Filtration Systems)
2+
3+
In PyLabRobot, fans refer to air filtration units that condition air within or around the deck to protect the sample from contamination.
4+
5+
Their main purpose is to maintain a clean environment for experiments by ensuring consistent airflow and particle removal, reducing risks from dust, aerosols, and microorganisms.
6+
These systems are not primarily designed for operator safety; separate equipment like fume extractors or biosafety cabinets serves that role.
7+
8+
Common filter technologies include:
9+
10+
- **HEPA filters**: Capture ≥99.97% of airborne particles ≥0.3 µm, widely used to keep samples clean.
11+
12+
- **ULPA filters**: Capture even smaller particles for higher-level cleanroom requirements.
13+
14+
- **Activated carbon filters**: Remove volatile organic compounds (VOCs) and chemical fumes.
15+
16+
- **Prefilters**: Trap larger particles to extend the lifespan of HEPA/ULPA filters.
17+
18+
19+
```{toctree}
20+
:maxdepth: 1
21+
:hidden:
22+
hamilton_hepa_scap
23+
```
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "markdown",
5+
"metadata": {},
6+
"source": [
7+
"# Hamilton HEPA Fan\n",
8+
"\n",
9+
"| Summary | Photo |\n",
10+
"|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------|\n",
11+
"| - OEM Link (none exists?)<br>- **Communication Protocol / Hardware**: Serial (FTDI)/ USB-A<br>- **Communication Level**: Firmware<br>- Old HEPA CAP discontinued in 2020, replaced with Clean Air Protection (CAP) Fan (Hamilton cat. no.: 92173-22)<br>- Old HEPA CAP VID:PID 0856:ac11 \"USOPTL4\"<br>- Adds 321 mm to height of STAR(let)<br>- Takes in ambient air, filters it and supplies it to the inside of the STAR(let) | ![quadrants](img/hamilton-old-hepa-cap.png) |"
12+
]
13+
},
14+
{
15+
"cell_type": "markdown",
16+
"metadata": {},
17+
"source": []
18+
},
19+
{
20+
"cell_type": "markdown",
21+
"metadata": {},
22+
"source": [
23+
"---\n",
24+
"## Setup Instructions (Physical)\n",
25+
"\n",
26+
"The Hamilton HEPA Fan for a STAR or STARlet liquid handling workstation has to be placed on top of the machines chassis.\n",
27+
"\n",
28+
"It requires two cable connections to be operational:\n",
29+
"1. Power cord (standard IEC C13); if you are using an older HEPA Fan model ensure that the voltage switch is set to your country's mains voltage!\n",
30+
"2. USB cable (USB-B with at fan end; USB-A at control PC end)"
31+
]
32+
},
33+
{
34+
"cell_type": "markdown",
35+
"metadata": {},
36+
"source": [
37+
"---\n",
38+
"## Setup Instructions (Programmatic)"
39+
]
40+
},
41+
{
42+
"cell_type": "code",
43+
"execution_count": null,
44+
"metadata": {},
45+
"outputs": [],
46+
"source": [
47+
"from pylabrobot.only_fans import Fan\n",
48+
"from pylabrobot.only_fans import HamiltonHepaFanBackend"
49+
]
50+
},
51+
{
52+
"cell_type": "code",
53+
"execution_count": null,
54+
"metadata": {},
55+
"outputs": [],
56+
"source": [
57+
"fan = Fan(backend=HamiltonHepaFanBackend()) \n",
58+
"# NB.: fans are only machines, they are not modelled as resources -> require no str name\n",
59+
"\n",
60+
"await fan.setup()"
61+
]
62+
},
63+
{
64+
"cell_type": "markdown",
65+
"metadata": {},
66+
"source": [
67+
"---\n",
68+
"\n",
69+
"## Usage / Machine Features"
70+
]
71+
},
72+
{
73+
"cell_type": "markdown",
74+
"metadata": {},
75+
"source": [
76+
"Running for 60 seconds:"
77+
]
78+
},
79+
{
80+
"cell_type": "code",
81+
"execution_count": null,
82+
"metadata": {},
83+
"outputs": [],
84+
"source": [
85+
"await fan.turn_on(intensity=100, duration=30)"
86+
]
87+
},
88+
{
89+
"cell_type": "markdown",
90+
"metadata": {},
91+
"source": [
92+
"Running until stop:"
93+
]
94+
},
95+
{
96+
"cell_type": "code",
97+
"execution_count": null,
98+
"metadata": {},
99+
"outputs": [],
100+
"source": [
101+
"await fan.turn_on(intensity=100)"
102+
]
103+
},
104+
{
105+
"cell_type": "code",
106+
"execution_count": null,
107+
"metadata": {},
108+
"outputs": [],
109+
"source": [
110+
"await fan.turn_off()"
111+
]
112+
}
113+
],
114+
"metadata": {
115+
"language_info": {
116+
"name": "python"
117+
}
118+
},
119+
"nbformat": 4,
120+
"nbformat_minor": 2
121+
}
400 KB
Loading
180 KB
Loading
27.4 KB
Loading

0 commit comments

Comments
 (0)