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
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)
| File | Size | Uploaded | |
|---|---|---|---|
| a7585d-1.0.3.tar.gz | 4.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|