PiezoDrive PDUS210#

class QInstrument.instruments.PiezoDrive.PDUS210.instrument.QPDUS210(portName=None, **kwargs)[source]#

Bases: QSerialInstrument

PiezoDrive PDUS210 Ultrasonic Power Amplifier.

Controls a PiezoDrive PDUS210 piezoelectric amplifier over RS-232.

Properties#

Setpoints#

frequencyfloat [Hz]

Output drive frequency.

targetVoltageint [V pp]

Target output voltage, peak-to-peak.

maxFrequencyint [Hz]

Maximum allowed drive frequency.

minFrequencyint [Hz]

Minimum allowed drive frequency.

targetPhaseint [degrees]

Target phase between voltage and current.

maxLoadPowerint [W]

Maximum load power limit.

targetPowerint [W]

Target drive power.

targetCurrentint [mA]

Target drive current.

Control Gains#

phaseGainint

Gain of the phase-tracking control loop.

powerGainint

Gain of the power-tracking control loop.

currentGainint

Gain of the current-tracking control loop.

Tracking Modes#

phaseTrackingbool

True: enable phase-tracking mode.

powerTrackingbool

True: enable power-tracking mode.

currentTrackingbool

True: enable current-tracking mode.

frequencyWrappingbool

True: enable frequency wrapping at the frequency limits.

enabledbool

True: enable the amplifier output.

Measurements (read-only)#

phaseint [degrees]

Measured phase between voltage and current.

impedanceint [Ω]

Measured load impedance.

loadPowerint [W]

Measured load power.

amplifierPowerint [W]

Measured total amplifier power.

currentint [mA]

Measured drive current.

temperaturefloat [°C]

Measured amplifier temperature.

comm = {'baudRate': qtpy.QtSerialPort.QSerialPort.BaudRate.Baud9600, 'dataBits': qtpy.QtSerialPort.QSerialPort.DataBits.Data8, 'eol': '\r', 'flowControl': qtpy.QtSerialPort.QSerialPort.FlowControl.NoFlowControl, 'parity': qtpy.QtSerialPort.QSerialPort.Parity.NoParity, 'stopBits': qtpy.QtSerialPort.QSerialPort.StopBits.OneStop, 'timeout': 1000}#
identify()[source]#

Return True if the controller responds to DISABLE with FALSE.

Sending DISABLE on identification also places the amplifier in its safe disabled state.

Return type:

bool

save()[source]#

Save current parameters to permanent storage.

Return type:

str

Returns:

str – The controller acknowledgment string.

state()[source]#

Read all controller state in one serial command.

Transmits getSTATE and reads the 80-byte binary response, which encodes 7 boolean flags followed by 18 float measurements.

Return type:

dict

Returns:

dict – Mapping of state variable names to their current values.

class QInstrument.instruments.PiezoDrive.PDUS210.fake.QFakePDUS210(*args, **kwargs)[source]#

Bases: QFakeInstrument, QPDUS210

Simulated PiezoDrive PDUS210 amplifier for UI development.

Mirrors all properties of QPDUS210 using an in-memory store. No hardware is required.

identify()[source]#

Return True if the controller responds to DISABLE with FALSE.

Sending DISABLE on identification also places the amplifier in its safe disabled state.

Return type:

bool

save()[source]#

Save current parameters to permanent storage.

Return type:

str

Returns:

str – The controller acknowledgment string.

state()[source]#

Return a default state dict with all values at their defaults.

Return type:

dict

class QInstrument.instruments.PiezoDrive.PDUS210.widget.QPDUS210Widget(*args, interval=None, **kwargs)[source]#

Bases: QInstrumentWidget

Control widget for the PiezoDrive PDUS210 ultrasonic amplifier.

Displays measured values (current, voltage, frequency, impedance, phase, load power, amplifier power, temperature) and provides controls for setpoints and tracking modes. Polls the instrument at a fixed interval.

UIFILE = '/home/docs/checkouts/readthedocs.org/user_builds/qinstrument/envs/latest/lib/python3.12/site-packages/QInstrument/instruments/PiezoDrive/PDUS210/PDUS210Widget.ui'#
INSTRUMENT#

alias of QPDUS210

class QInstrument.instruments.PiezoDrive.PDUS210.tree.QPDUS210Tree(*args, device=None, fields=None, **kwargs)[source]#

Bases: QInstrumentTree

Parameter tree for the PiezoDrive PDUS210 ultrasonic amplifier.

INSTRUMENT#

alias of QPDUS210