Heater Shakers#
Heater-shakers are a hybrid of TemperatureController
and Shaker
. They are used to control the temperature of a sample while shaking it.
PyLabRobot supports the following heater shakers:
Inheco ThermoShake RM (tested)
Inheco ThermoShake (should have the same API as RM)
Inheco ThermoShake AC (should have the same API as RM)
Heater-shakers are controlled by the HeaterShaker
class. This class takes a backend as an argument. The backend is responsible for communicating with the scale and is specific to the hardware being used.
from pylabrobot.heating_shaking import HeaterShaker
from pylabrobot.heating_shaking import InhecoThermoShake
backend = InhecoThermoShake() # take any ScaleBackend you want
hs = HeaterShaker(backend=backend, name="HeaterShaker", size_x=0, size_y=0, size_z=0)
await hs.setup()
The setup()
method is used to initialize the scale. This is where the backend will connect to the scale and perform any necessary initialization.
The HeaterShaker
class has a number of methods for controlling the temperature and shaking of the sample. These are inherited from the TemperatureController
and Shaker
classes.
set_temperature()
: Set the temperature of the module.get_temperature()
: Get the current temperature of the module.shake()
: Set the shaking speed of the module.stop_shaking()
: Stop the shaking of the module.
=(InhecoThermoShake)
Inheco ThermoShake#
The Inheco ThermoShaker heater shaker is controlled by the InhecoThermoShake
class. This heater shaker connects using a USB-B cable.
We will reuse the same hs
as above:
backend = InhecoThermoShake() # take any ScaleBackend you want
hs = HeaterShaker(backend=backend, name="HeaterShaker", size_x=0, size_y=0, size_z=0)
await hs.setup()
Shake indefinitely:
await hs.shake(speed=100) # speed in rpm
Shake for 10 seconds:
await hs.shake(speed=100, duration=10) # speed in rpm, duration in seconds
Get the current temperature:
await hs.get_temperature() # get current temperature
23.2
Set the temperature to 37°C:
await hs.set_temperature(37) # temperature in degrees C