Skip to main content

Interface to Zaber motorized linear slides.

Project description

This Python package (zaber_device) creates a class named ZaberDevice, which contains an instance of serial_interface.SerialInterface and adds methods to it to interface to Zaber motorized linear slides.

Authors:

Peter Polidoro <peterpolidoro@gmail.com>

License:

BSD

Example Usage:

from zaber_device import ZaberDevice
dev = ZaberDevice() # Might automatically find device if one available
# if it is not found automatically, specify port directly
dev = ZaberDevice(port='/dev/ttyUSB0') # Linux
dev = ZaberDevice(port='/dev/tty.usbmodem262471') # Mac OS X
dev = ZaberDevice(port='COM3') # Windows
dev.get_actuator_count()
2
dev.get_position()
[130000, 160000]
dev.home()
dev.moving()
[True, True]
dev.moving()
[False, False]
dev.get_position()
[0, 0]
dev.move_relative(10000)
dev.get_position()
[10000, 10000]
dev.move_relative(10000,0)
dev.moving()
[True, False]
dev.get_position()
[20000, 10000]
dev.store_position(0)
dev.get_stored_position(0)
[20000, 10000]
dev.move_at_speed(1000)
dev.stop()
dev.get_position()
[61679, 51679]
dev.move_to_stored_position(0)
dev.get_position()
[20000, 10000]
from zaber_device import ZaberDevices
devs = ZaberDevices()  # Might automatically find all available devices
# if they are not found automatically, specify ports to use
devs = ZaberDevices(use_ports=['/dev/ttyUSB0','/dev/ttyUSB1']) # Linux
devs = ZaberDevices(use_ports=['/dev/tty.usbmodem262471','/dev/tty.usbmodem262472']) # Mac OS X
devs = ZaberDevices(use_ports=['COM3','COM4']) # Windows
devs.keys()
dev = devs[serial_number]
from zaber_device import ZaberStage
stage = ZaberStage()  # Might automatically find all available devices
# if they are not found automatically, specify ports to use
stage = ZaberStage(use_ports=['/dev/ttyUSB0','/dev/ttyUSB1']) # Linux
stage = ZaberStage(use_ports=['/dev/tty.usbmodem262471','/dev/tty.usbmodem262472']) # Mac OS X
stage = ZaberStage(use_ports=['COM3','COM4']) # Windows
stage.get_aliases()
{123: [10, 11]}
serial_number = 123
alias = 10
stage.set_x_axis(serial_number,alias)
alias = 11
stage.set_y_axis(serial_number,alias)
# Lookup microstep_size on Zaber website
stage.set_x_microstep_size(0.49609375e-3)
stage.get_x_microstep_size()
0.00049609375
stage.set_y_microstep_size(0.49609375e-3)
stage.home()
stage.moving()
(True, True, False)
stage.moving()
(False, False, False)
stage.get_positions()
[0.0, 0.0, 0.0]
stage.move_x_at_speed(5)
stage.moving()
(True, False, False)
stage.get_positions()
[76.4619375, 0.0, 0.0]
stage.stop_x()
stage.moving()
(False, False, False)
stage.get_positions()
[94.38133984375, 0.0, 0.0]
stage.move_y_relative(125)
stage.moving()
(False, True, False)
stage.moving()
(False, False, False)
stage.get_positions()
[94.38133984375, 124.99975, 0.0]
stage.move_x_absolute(50)
stage.move_y_absolute(75)
stage.moving()
(False, False, False)
stage.store_x_position(0)
stage.get_stored_x_position(0)
49.99980078125
stage.move_x_relative(50)
stage.get_positions()
[99.9996015625, 74.99994921875, 0.0]
stage.move_to_stored_x_position(0)
stage.get_positions()
[49.99980078125, 74.99994921875, 0.0]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
zaber_device-2.1.1-py2.py3-none-any.whl (11.8 kB) Copy SHA256 hash SHA256 Wheel py2.py3
zaber_device-2.1.1.tar.gz (11.3 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page