Name | nipiezojenapy JSON |
Version |
1.0.4
JSON |
| download |
home_page | |
Summary | A package for controlling Jena PiezoSystem NV40 3CLE amplifier vi NIDAQMX. |
upload_time | 2023-11-28 22:43:32 |
maintainer | |
docs_url | None |
author | |
requires_python | >=3.8 |
license | |
keywords |
qt3
national instruments
jena
piezo
stage
control
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Control of PiezoSystemJena NV40/3CLE via NI DAQmx
Control of the Jena's piezo accuators via their multi-channel amplifier.
https://www.piezosystem.com/products/amplifiers/multi-channel/40ma-multi-channel-amplifiers/
Uses NIDAQ device to read and write analog voltages between 0 and 10 to
three input and output voltage channels connected to a Jena NV40/3CLE
amplifier. Each input/output channel controls one of three axis (x, y, or z).
When using this software, one must at least provide three analog channels on
the NIDAQ that are connected to the NV40/3CLE amplifier that control (write)
the location of the piezo stage.
This program does not *need* to read voltages from the amplifier. If no read
channels are provided, this program will report the last written values when
reporting the current location.
This controller does *NOT* lock out usage of analog input and output channels
on the NI-DAQ card. It writes or reads to the analog channels and then releases
the resource. This would allow external programs to access those channels, so
long as the access is not simultaneous.
## Installation
#### Requirements
This python package depends upon National Instruments driver and NI DAQ card
that contains three analog input and output channels.
You must first install the NI DAQmx driver.
[http://www.ni.com/downloads/](http://www.ni.com/downloads/).
PIP should install the rest of the dependencies.
### Local Installation
```
pip install nipiezojenapy
```
## Usage
### GUI Application
From the shell prompt, launch
```
> qt3piezo
```
For help on hardware configuration use the help option (`qt3piezo -h`)
### Programmatically
```
import nipiezojenapy
pcon = nipiezojenapy.PiezoControl(device_name = 'Dev1',
write_channels = ['ao0','ao1','ao2'],
read_channels = ['ai0','ai1','ai2'])
```
### Read Position
```
print(pcon.get_current_position())
[39.953595487425225, 40.047631567251806, 39.9510191567554]
```
### Go To Position
```
pcon.go_to_position(x = 20, y = 20, z = 20)
pcon.get_current_position()
[19.935887437291537, 19.94876864898489, 19.872769502734947]
```
Note that each axis can be set independently. That is, one may move along
a single axis without specifying the other axis values.
```
pcon.go_to_position(z = 40)
pcon.get_current_position()
[19.913989377848296, 19.988700406441584, 39.91623869419529]
```
# LICENSE
[LICENCE](LICENSE)
Raw data
{
"_id": null,
"home_page": "",
"name": "nipiezojenapy",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "\"G. Adam Cox\" <gadamc@gmail.com>, Maxwell Parsons <mfpars@uw.edu>",
"keywords": "qt3,National Instruments,Jena,piezo,stage,control",
"author": "",
"author_email": "\"G. Adam Cox\" <gadamc@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/7b/af/1a6f348b15201e0daa341b98d7ceac4b8678895f0dd11c943cf75781ca1e/nipiezojenapy-1.0.4.tar.gz",
"platform": null,
"description": "# Control of PiezoSystemJena NV40/3CLE via NI DAQmx\n\nControl of the Jena's piezo accuators via their multi-channel amplifier.\nhttps://www.piezosystem.com/products/amplifiers/multi-channel/40ma-multi-channel-amplifiers/\n\nUses NIDAQ device to read and write analog voltages between 0 and 10 to\nthree input and output voltage channels connected to a Jena NV40/3CLE\namplifier. Each input/output channel controls one of three axis (x, y, or z).\n\nWhen using this software, one must at least provide three analog channels on\nthe NIDAQ that are connected to the NV40/3CLE amplifier that control (write)\nthe location of the piezo stage.\n\nThis program does not *need* to read voltages from the amplifier. If no read\nchannels are provided, this program will report the last written values when\nreporting the current location. \n\nThis controller does *NOT* lock out usage of analog input and output channels\non the NI-DAQ card. It writes or reads to the analog channels and then releases\nthe resource. This would allow external programs to access those channels, so\nlong as the access is not simultaneous.\n\n## Installation\n\n#### Requirements\n\nThis python package depends upon National Instruments driver and NI DAQ card\nthat contains three analog input and output channels.\n\nYou must first install the NI DAQmx driver.\n[http://www.ni.com/downloads/](http://www.ni.com/downloads/).\n\nPIP should install the rest of the dependencies.\n\n### Local Installation\n\n```\npip install nipiezojenapy\n```\n\n## Usage\n\n### GUI Application\n\nFrom the shell prompt, launch\n\n```\n> qt3piezo\n```\n\nFor help on hardware configuration use the help option (`qt3piezo -h`)\n\n### Programmatically\n\n```\nimport nipiezojenapy\npcon = nipiezojenapy.PiezoControl(device_name = 'Dev1',\n write_channels = ['ao0','ao1','ao2'],\n read_channels = ['ai0','ai1','ai2'])\n```\n\n### Read Position\n\n```\nprint(pcon.get_current_position())\n[39.953595487425225, 40.047631567251806, 39.9510191567554]\n```\n\n### Go To Position\n\n```\npcon.go_to_position(x = 20, y = 20, z = 20)\npcon.get_current_position()\n[19.935887437291537, 19.94876864898489, 19.872769502734947]\n```\n\nNote that each axis can be set independently. That is, one may move along\na single axis without specifying the other axis values.\n\n```\npcon.go_to_position(z = 40)\npcon.get_current_position()\n[19.913989377848296, 19.988700406441584, 39.91623869419529]\n```\n\n# LICENSE\n\n[LICENCE](LICENSE)\n",
"bugtrack_url": null,
"license": "",
"summary": "A package for controlling Jena PiezoSystem NV40 3CLE amplifier vi NIDAQMX.",
"version": "1.0.4",
"project_urls": {
"Bug Tracker": "https://github.com/qt3uw/nipiezojenapy/issues",
"Changelog": "https://github.com/qt3uw/nipiezojenapy/releases",
"Homepage": "https://github.com/qt3uw/nipiezojenapy",
"Source": "https://github.com/qt3uw/nipiezojenapy"
},
"split_keywords": [
"qt3",
"national instruments",
"jena",
"piezo",
"stage",
"control"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e09cccba436bdbce187be05051b4dd754a33cbed003b28ff0172bf3f39fc735c",
"md5": "67dab9139029b749813bd135687d3c5d",
"sha256": "93cddf724d9d6e603d935e6bb5c39c940eb8acf27f2c48e03c6de4e4ee35640c"
},
"downloads": -1,
"filename": "nipiezojenapy-1.0.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "67dab9139029b749813bd135687d3c5d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 8939,
"upload_time": "2023-11-28T22:43:31",
"upload_time_iso_8601": "2023-11-28T22:43:31.212676Z",
"url": "https://files.pythonhosted.org/packages/e0/9c/ccba436bdbce187be05051b4dd754a33cbed003b28ff0172bf3f39fc735c/nipiezojenapy-1.0.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7baf1a6f348b15201e0daa341b98d7ceac4b8678895f0dd11c943cf75781ca1e",
"md5": "c612e6c725c55cc48d376ec3df66ba53",
"sha256": "7ef6ee308c098f8e35c3e41c4b878b181c5fc5aa31cf0a294f968d23f2dbc990"
},
"downloads": -1,
"filename": "nipiezojenapy-1.0.4.tar.gz",
"has_sig": false,
"md5_digest": "c612e6c725c55cc48d376ec3df66ba53",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 9625,
"upload_time": "2023-11-28T22:43:32",
"upload_time_iso_8601": "2023-11-28T22:43:32.249906Z",
"url": "https://files.pythonhosted.org/packages/7b/af/1a6f348b15201e0daa341b98d7ceac4b8678895f0dd11c943cf75781ca1e/nipiezojenapy-1.0.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-28 22:43:32",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "qt3uw",
"github_project": "nipiezojenapy",
"github_not_found": true,
"lcname": "nipiezojenapy"
}