Skip to content
Snippets Groups Projects

Improvements to the DT54xxPs class

Merged Karol Krizka requested to merge kk_littleredcaen into devel

Several improvements to the support of the little red CAEN power supplies.

Per-model Subclasses

The DT54xxPs class now severs as a generic class implementing the commands for this class of power supplies. Several checks are configurable through the constructor. The actual user-facing power supply implementation, with the correct settings, is now a class with the same name as the model (ie: DT5472NPs). This is similar to SCPIPs.

The configurable checks in DT54xxPs are:

  • models: List of model identifier strings.
  • output: Polarity of the output.
  • imaxl: Maximum current [A] for low IMon range.

The supported models (ie: new classes) are:

  • DT5472NPs
  • DT5471NPs

Explicit Negative Voltage

The functions for setting the output voltage/current (setCurrentLevel/setVoltageLevel) now deal with negative values for the N variant (negative output voltage). The limit setting functions (setCurrentProtect/setVoltageProtect) use absolute values without any signs.

This results in a consistent result with a Keithley2410 connected by matching colors (ie: red is high voltage, black is 0V). For example:

Keithley24XX::setVoltageLevel(-500);
DT5472NPs::setVoltageLevel(-500);

What a given model supports is set by the output member variable, set by the constructor. The correctness of the output is is is also now part of the DT54xxPs::checkCompatibilityList check using the POLARITY command.

Semi-Auto-Ranging Current Measurement

The setCurrentLevel/setCurrentProtect functions now set the IMon range based on the requested current. If it is below imaxl, then the low range (fine resolution) is set to get the best measurement. If it is above, then the high range is set.

Fix to Wait For Ramp Finish

The DT54xx power supplies seem to be very slow. Sometimes the ramp status does not update a long time after the power supply has been turned on. This can cause the ramp check to fail and the turnOn function to complete. The ramp wait now waits 1 second before checking any status.

The wait for ramp functionality has also been put into a waitRamp function so it can be used from anywhere.

Power Supply Specific Functionality

Added the following functions that are specific to the DT54xx series of power supplies.

  • polarity: Returns the polarity of the connected power supply using the MON:POLARITY command.
  • setIMonRange: Change the current monitor resolution using SET:ISET.
  • getIMonRange: Get the currently set current monitor resolution using MON:ISET.
  • waitRamp: Waits until a ramp, as indicated by the status bits, has been completed. Checks for both up and down directions.
Edited by Karol Krizka

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Karol Krizka added 24 commits

    added 24 commits

    • 502da7eb...6af7dfee - 12 commits from branch devel
    • 59d27003 - Add REGISTER_POWERSUPPLY_ALIAS to register a power supply class with multiple...
    • 07315449 - Add support negative/positive output voltage variatiosn of the DT54xx power supply.
    • fc535f41 - DT54xxPs: Correct sign in measureVoltage result.
    • 8e7f215a - Add DT5471N to the list of supported models by DT54xxNPs.
    • 95a7fb8c - Add optimal IMon ranges for DT54xx power supplies. Remove REGISTER_POWERSUPPLY_ALIAS.
    • d6671255 - Use enum Polarity for predefined output polarity setting.
    • babc529b - Python support for DT547(1|2)Ps.
    • 5ad8afe8 - Add rampWait to DT54xxPs.
    • 349c49b4 - Add correct sign to the current.
    • a9e3cbc8 - DT54xxPs: Use absolute values for voltage protection levels.
    • d0a901d4 - Small update to text.
    • df7f8e37 - Fix mistakes in documentation.

    Compare with previous version

  • Karol Krizka added 1 commit

    added 1 commit

    • 60291ba4 - Add documentation for auto-ranging.

    Compare with previous version

  • Elisabetta Pianori resolved all threads

    resolved all threads

  • Elisabetta Pianori approved this merge request

    approved this merge request

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading