Library to control A7585D Caen HV module (all versions)
Project description
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)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file a7585d-1.0.3.tar.gz
.
File metadata
- Download URL: a7585d-1.0.3.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | daed9f3499fb50ffd9907e18f9c1f7518611756cbdfdd68e80ee14edd09d7335 |
|
MD5 | fd4fb4c3eba3930dea72bd267e2c7afe |
|
BLAKE2b-256 | 0aedeb99a3f3e07ce404c39bbfc7fd450bfa83733870c8acae8a98576056e9ae |
File details
Details for the file a7585d-1.0.3-py3-none-any.whl
.
File metadata
- Download URL: a7585d-1.0.3-py3-none-any.whl
- Upload date:
- Size: 3.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3ad3b480c4dcf97be51954f1705fe0e3b61fec754859ad1b76e6cfbfbcccfb6 |
|
MD5 | e7189884c1fcdc6db48abb5ee2e4ee0d |
|
BLAKE2b-256 | a0d058c930a0ba778d0c552e25212d25c91314e7337700187edaf1f0df1dd2eb |