Skip to main content

A package for controlling Jena PiezoSystem NV40 3CLE amplifier vi NIDAQMX.

Project description

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/.

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

Project details


Download files

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

Source Distribution

nipiezojenapy-1.0.4.tar.gz (9.6 kB view details)

Uploaded Source

Built Distribution

nipiezojenapy-1.0.4-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file nipiezojenapy-1.0.4.tar.gz.

File metadata

  • Download URL: nipiezojenapy-1.0.4.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for nipiezojenapy-1.0.4.tar.gz
Algorithm Hash digest
SHA256 7ef6ee308c098f8e35c3e41c4b878b181c5fc5aa31cf0a294f968d23f2dbc990
MD5 c612e6c725c55cc48d376ec3df66ba53
BLAKE2b-256 7baf1a6f348b15201e0daa341b98d7ceac4b8678895f0dd11c943cf75781ca1e

See more details on using hashes here.

File details

Details for the file nipiezojenapy-1.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for nipiezojenapy-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 93cddf724d9d6e603d935e6bb5c39c940eb8acf27f2c48e03c6de4e4ee35640c
MD5 67dab9139029b749813bd135687d3c5d
BLAKE2b-256 e09cccba436bdbce187be05051b4dd754a33cbed003b28ff0172bf3f39fc735c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page