Skip to main content

CAEN - Nuclear Instruments A7585A/NIPM12 Python Control Library

The NIPM-12 SiPM Power Module is a compact and integrated solution to provide stable and noiseless power supply for single and array / matrix SiPM detectors. High resolution Output Voltage and Output Current measurements enable the NIPM-12 to be used for I-V detector characterization. Digital (UART, I2C and USB with adapter) and analog control interface are runtime selectable by a single pin or a digital command. The module integrates a temperature HV loop that regulates the SiPM output voltage as a programmable function of the SiPM temperature coefficient.

This library is a python A7585A/NIPM12 module. It allows to control the module using the UART/USB interface.

Features

  • 20-85V Output Voltage
  • 10mA Output Current
  • 1mV Output Voltage step
  • Less than 300uV rms noise
  • User Selectable Digital / Analog output voltage control
  • Automatic temperature feedback on the output voltage
  • Multi device support using I2C
  • Fully working examples designed to control the module with keypad and display or monitor multiple devices using serial port
  • Module compatible with ZEUS software for stand alone usage

Pinout of the module

pinout of the moduke

Python installation

In order to install the A7585D python Library, just run the following command:

pip install a7585d

Usage

Module user manual

The user manual can be downloaded from the CAEN website: https://www.caen.it/products/a7585/

Import the library

Import the library in your python script:

from a7585d.a7585d import A7585D 
from a7585d.a7585d import A7585D_REG

Create the A7585D object

Create the A7585D object and connect to the module serial port:

hv = A7585D()

# open serial port
hv.open("COM3") # Windows
# hv.open("/dev/ttyUSB0") # Linux USB
# hv.open("/dev/ttyS0") # Linux UART

Full code example

Create the A7585D object and connect to the module serial port:

from a7585d.a7585d import A7585D 
from a7585d.a7585d import A7585D_REG
import time


hv = A7585D()

# open serial port
hv.open("COM3") # Windows
# hv.open("/dev/ttyUSB0") # Linux USB
# hv.open("/dev/ttyS0") # Linux UART

# configure parameters HV

# set control output control loop mode
# 0 Digital mode (output voltage is vtarget)
# 1 Analog mode (output voltage is proportional to vref)
# 2 Thermal compensation (output voltage is vtarget - Tcoef * (T - 25)
hv.set_parameter(A7585D_REG.CNTRL_MODE, 0)  

# set voltage target to 40V
hv.set_parameter(A7585D_REG.V_TARGET, 40)

# set max voltage 1mA
hv.set_parameter(A7585D_REG.MAX_I, 1)

# set max voltage (compliance) to 50V
hv.set_parameter(A7585D_REG.MAX_V, 50)

# configure SiPM temperature compensation coefficient
hv.set_parameter(A7585D_REG.T_COEF_SIPM, -35)

# configure ramp speed to 5V/s
hv.set_parameter(A7585D_REG.RAMP, 5)

# set current monitor range
# 0 low range
# 1 high range
# 2 auto select
hv.set_parameter(A7585D_REG.CURRENT_RANGE, 2)


# control pi controller (1 enable)
hv.set_parameter(A7585D_REG.ENABLE_PI, 0)

# enable hv
hv.set_parameter(A7585D_REG.HV_ENABLE,1)

while True:
    print("HV V_OUT: " + str(hv.get_parameter(A7585D_REG.MON_VOUT)))
    print("HV I_OUT: " + str(hv.get_parameter(A7585D_REG.MON_IOUT)))
    time.sleep(0.1)

Release files for a7585d 1.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for a7585d 1.0.3
File Size Uploaded
a7585d-1.0.3.tar.gz 4.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for a7585d 1.0.3
File Interpreter ABI Platform
a7585d-1.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 7.7 kB

Release files / a7585d-1.0.3.tar.gz

Download URL a7585d-1.0.3.tar.gz
Size 4.2 kB
Tags Source
SHA-256 checksum
How to use checksums
daed9f3499fb50ffd9907e18f9c1f7518611756cbdfdd68e80ee14edd09d7335
BLAKE2b-256 checksum
How to use checksums
0aedeb99a3f3e07ce404c39bbfc7fd450bfa83733870c8acae8a98576056e9ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.4

Release files / a7585d-1.0.3-py3-none-any.whl

Download URL a7585d-1.0.3-py3-none-any.whl
Size 3.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c3ad3b480c4dcf97be51954f1705fe0e3b61fec754859ad1b76e6cfbfbcccfb6
BLAKE2b-256 checksum
How to use checksums
a0d058c930a0ba778d0c552e25212d25c91314e7337700187edaf1f0df1dd2eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.4

Release history Release notifications | RSS feed

This release

1.0.3 This release

2 release files

1.0.2

2 release files

1.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page