{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Hello World, Inheco CPAC!\n", "\n", "The Inheco CPAC is a `TemperatureController` machine that enables:\n", "- heating & cooling\n", "\n", "...of plates.\n", "\n", "- Variants:\n", " - **CPAC Microplate**:\n", " - Part number: 7000179\n", " - Temperature: +4°C to +70°C\n", " - **CPAC Microplate HT 2TEC**:\n", " - Part number: 7000163\n", " - Temperature: +4°C to + 110°C\n", " - **CPAC Ultraflat**:\n", " - Part number: 7000190, 7000193\n", " - Temperature: +4°C to +70°C\n", " - **CPAC Ultraflat HT 2TEC**:\n", " - Part number: 7000166, 7000165\n", " - Temperature: +4°C to + 110°C\n", "\n", "Check out the [CPAC User and installation manual](https://www.inheco.com/data/pdf/cpac-manual-1019-0826-30.pdf) for more information." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "\n", "## Setup Instructions (Physical)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "Connect the ThermoShake to the Inheco TEC Control Box using the provided cable. The Control Box can control up to 6 ThermoShakes. Plug the Control Box into a power outlet and connect it to your computer using a USB B cable.\n", "\n", "There are two versions of the TEC Control Box:\n", "\n", "- The Inheco Single TEC Control (STC) unit controls one device.\n", "- The Inheco Multi TEC Control (MTC) unit can control up to 6 Inheco devices in parallel.\n", "\n", "See [https://www.inheco.com/tec-controller-and-slot-modules.html](https://www.inheco.com/tec-controller-and-slot-modules.html) for more information like slot module variants.\n", "\n", "Also check out the [CPAC User and installation manual](https://www.inheco.com/data/pdf/cpac-manual-1019-0826-30.pdf)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "## Usage" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from pylabrobot.temperature_controlling import InhecoTECControlBox\n", "\n", "control_box = InhecoTECControlBox()\n", "await control_box.setup()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from pylabrobot.temperature_controlling import inheco_cpac_ultraflat\n", "\n", "tc = inheco_cpac_ultraflat(\n", " name=\"CPAC\",\n", " control_box=control_box,\n", " index=1,\n", ")\n", "await tc.setup()\n", "type(tc)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Temperature Control" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "await tc.get_temperature() # Get current temperature in C" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "await tc.set_temperature(37) # Temperature in degrees C" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "await tc.wait_for_temperature() # Wait for the temperature to stabilize" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Closing Connection to Machine" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "await tc.stop()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Closing Connection to Control Box\n", "\n", "When all devices are no longer needed, the connection to the control box can be closed using the {meth}`~pylabrobot.temperature_controller.inheco.control_box.InhecoTECControlBox.stop` method. This will close the connection to the control box." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "await control_box.stop()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "## Using Multiple Inheco Devices" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can use multiple Inheco ThermoShake machines using one control box if you are using the Inheco MTC (Multi TEC Control) unit. In this case, simply instantiate more than one {class}`~pylabrobot.temperature_controlling.inheco.cpac_backend.InhecoCPACBackend` with the same {class}`~pylabrobot.temperature_controlling.inheco.control_box.InhecoTECControlBox` instance, but different `index` values (1-6)." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "tc2 = inheco_cpac_ultraflat(\n", " name=\"CPAC\",\n", " control_box=control_box,\n", " index=2,\n", ")\n", "await tc2.setup()" ] } ], "metadata": { "kernelspec": { "display_name": "env", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.15" } }, "nbformat": 4, "nbformat_minor": 4 }