Centrifuges#
PyLabRobot supports the following centrifuges:
Centrifuges are controlled by the Centrifuge
class. This class takes a backend as an argument. The backend is responsible for communicating with the centrifuge and is specific to the hardware being used.
from pylabrobot.centrifuge import Centrifuge
backend = SomeCentrifugeBackend()
pr = Centrifuge(backend=backend)
await pr.setup()
The setup()
method is used to initialize the centrifuge. This is where the backend will connect to the centrifuge and perform any necessary initialization.
The Centrifuge
class has a number of methods for controlling the centrifuge. These are:
open_door()
: Open the centrifuge door.close_door()
: Close the centrifuge door.lock_door()
: Lock the centrifuge door.unlock_door()
: Unlock the centrifuge door.lock_bucket()
: Lock centrifuge buckets.unlock_bucket()
: Unlock centrifuge buckets.go_to_bucket1()
: Rotate to Bucket 1.go_to_bucket2()
: Rotate to Bucket 2.rotate_distance()
: Rotate the buckets a specified distance (8000 = 360 degrees).start_spin_cycle()
: Start centrifuge spin cycle.
Start spin cycle:
await cf.start_spin_cycle(g = 800, duration = 60)
VSpin#
The VSpin centrifuge is controlled by the VSpin
class.
from pylabrobot.centrifuge import Centrifuge, VSpin
cf = Centrifuge(name = 'centrifuge', backend = VSpin(bucket_1_position=0), size_x= 1, size_y=1, size_z=1)