pymodaq-plugins-zaber


Namepymodaq-plugins-zaber JSON
Version 2.0.1 PyPI version JSON
download
home_pagehttps://github.com/Attolab/pymodaq_plugins_zaber
SummaryPlugin for Zaber actuators
upload_time2023-11-11 15:43:11
maintainer
docs_urlNone
authorRomain Geneaux
requires_python
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            pymodaq_plugins_zaber (Zaber Technologies)
#############################################

PyMoDAQ plugin for positioning devices from Zaber Technologies.
The python library for these motors is freely available as a neat python package on pypi (https://pypi.org/project/zaber-motion/) - this is most appreciated and we all wish constructors would do that more often!

Authors
=======

* Romain Géneaux
* Sebastien J. Weber (sebastien.weber@cnrs.fr)


Instruments
===========

Below is the list of instruments included in this plugin

Actuators
+++++++++

* **Zaber** All motors using the Zaber ASCII Motion Library. Rotations and translations should be both supported (units should adapt to the actuator type), but I only tested translation stages so far.
* **ZaberBinary**: control of zaber actuators using the legacy binary protocol

Installation notes
==================

Zaber developped a python package called zaber_motion. It allows two communication protocols, either ASCII
(recommended one) or Binary (legacy one). However depending on your instrument and the firmware of its controller
only the binary protocol may be available. Check this using the *Zaber Console* free software.

This ZaberBinary plugin has only be tested on a T-NA Series Micro linear actuators with built-in controllers
that only has the 5.X firmware and so is only compatible with the binary protocol.


Basic Installation
++++++++++++++++++

- Install the Zaber Software and download the latest device database.
- Use the software test your connection to the device and find the correct COM port.
- Use the software to define which motors are plugged (use the box saying "Enter peripheral ID or name", and choose your device in the list)
- Close Zaber Software (otherwise the COM port will be busy)
- Use the device in pymodaq!

Tested on Windows10 with pymodaq 3.5.2 and python 3.8.8. 
Motors used for testing: 4 x LSM050A-V2T4 (linear stages), connnected using 2 x X-MCB1 (controllers). In this configuration, there are two controllers connected on two COM ports, and two motors on each of the controllers. 

Using two actuators that share the same controller 
++++++++++++++++++++++++++++++++++++++++++++++++++

To set up two axes as two independent actuators in PyMoDAQ even though they share the same controller, you need configure it as such:

* 1st axis defined as a Zaber actuator as usual, with properties in MultiAxes/"isMultiAxes = Yes", "Status = Master",  "Axis : 1"
* Then add another Zaber actuator for the 2nd axis, this time with properties in MultiAxes/"isMultiAxes = Yes", "Status = Slave",  "Axis : 2". 
* Finally, the Controller ID of the 2nd axis (in the "Main Settings" tree) needs to be changed to match the ID of the first actuator. Then they will work together and independently.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Attolab/pymodaq_plugins_zaber",
    "name": "pymodaq-plugins-zaber",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "Romain Geneaux",
    "author_email": "romain.geneaux@cea.fr",
    "download_url": "https://files.pythonhosted.org/packages/58/cf/67a5fd72d357448055b04c74fd14ed4250635d067c416b8b539e0789a249/pymodaq_plugins_zaber-2.0.1.tar.gz",
    "platform": null,
    "description": "pymodaq_plugins_zaber (Zaber Technologies)\n#############################################\n\nPyMoDAQ plugin for positioning devices from Zaber Technologies.\nThe python library for these motors is freely available as a neat python package on pypi (https://pypi.org/project/zaber-motion/) - this is most appreciated and we all wish constructors would do that more often!\n\nAuthors\n=======\n\n* Romain G\u00e9neaux\n* Sebastien J. Weber (sebastien.weber@cnrs.fr)\n\n\nInstruments\n===========\n\nBelow is the list of instruments included in this plugin\n\nActuators\n+++++++++\n\n* **Zaber** All motors using the Zaber ASCII Motion Library. Rotations and translations should be both supported (units should adapt to the actuator type), but I only tested translation stages so far.\n* **ZaberBinary**: control of zaber actuators using the legacy binary protocol\n\nInstallation notes\n==================\n\nZaber developped a python package called zaber_motion. It allows two communication protocols, either ASCII\n(recommended one) or Binary (legacy one). However depending on your instrument and the firmware of its controller\nonly the binary protocol may be available. Check this using the *Zaber Console* free software.\n\nThis ZaberBinary plugin has only be tested on a T-NA Series Micro linear actuators with built-in controllers\nthat only has the 5.X firmware and so is only compatible with the binary protocol.\n\n\nBasic Installation\n++++++++++++++++++\n\n- Install the Zaber Software and download the latest device database.\n- Use the software test your connection to the device and find the correct COM port.\n- Use the software to define which motors are plugged (use the box saying \"Enter peripheral ID or name\", and choose your device in the list)\n- Close Zaber Software (otherwise the COM port will be busy)\n- Use the device in pymodaq!\n\nTested on Windows10 with pymodaq 3.5.2 and python 3.8.8. \nMotors used for testing: 4 x LSM050A-V2T4 (linear stages), connnected using 2 x X-MCB1 (controllers). In this configuration, there are two controllers connected on two COM ports, and two motors on each of the controllers. \n\nUsing two actuators that share the same controller \n++++++++++++++++++++++++++++++++++++++++++++++++++\n\nTo set up two axes as two independent actuators in PyMoDAQ even though they share the same controller, you need configure it as such:\n\n* 1st axis defined as a Zaber actuator as usual, with properties in MultiAxes/\"isMultiAxes = Yes\", \"Status = Master\",  \"Axis : 1\"\n* Then add another Zaber actuator for the 2nd axis, this time with properties in MultiAxes/\"isMultiAxes = Yes\", \"Status = Slave\",  \"Axis : 2\". \n* Finally, the Controller ID of the 2nd axis (in the \"Main Settings\" tree) needs to be changed to match the ID of the first actuator. Then they will work together and independently.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Plugin for Zaber actuators",
    "version": "2.0.1",
    "project_urls": {
        "Homepage": "https://github.com/Attolab/pymodaq_plugins_zaber"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0c10f54dbd2d9b4d07e3f7e5c298a36098d10348b9f4dd2f320cd95e593c0ae2",
                "md5": "d73b5658e336bdc109eea527c139bb9a",
                "sha256": "641c9064f007d43beda3ef8e7aed6ecfa976405dd8df404d0b1bc0a7089ac369"
            },
            "downloads": -1,
            "filename": "pymodaq_plugins_zaber-2.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d73b5658e336bdc109eea527c139bb9a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 12472,
            "upload_time": "2023-11-11T15:43:09",
            "upload_time_iso_8601": "2023-11-11T15:43:09.721959Z",
            "url": "https://files.pythonhosted.org/packages/0c/10/f54dbd2d9b4d07e3f7e5c298a36098d10348b9f4dd2f320cd95e593c0ae2/pymodaq_plugins_zaber-2.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "58cf67a5fd72d357448055b04c74fd14ed4250635d067c416b8b539e0789a249",
                "md5": "66ce142a028a88e892a1504c7f800556",
                "sha256": "704e9b1feb3e385522956b16b70b6673d2d9572ffab45a7bed0e0617507f48c6"
            },
            "downloads": -1,
            "filename": "pymodaq_plugins_zaber-2.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "66ce142a028a88e892a1504c7f800556",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 9844,
            "upload_time": "2023-11-11T15:43:11",
            "upload_time_iso_8601": "2023-11-11T15:43:11.616873Z",
            "url": "https://files.pythonhosted.org/packages/58/cf/67a5fd72d357448055b04c74fd14ed4250635d067c416b8b539e0789a249/pymodaq_plugins_zaber-2.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-11 15:43:11",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Attolab",
    "github_project": "pymodaq_plugins_zaber",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "pymodaq-plugins-zaber"
}
        
Elapsed time: 0.19030s