a7585d


Namea7585d JSON
Version 1.0.1 PyPI version JSON
download
home_page
SummaryLibrary to control A7585D Caen HV module (all versions)
upload_time2023-09-05 19:32:09
maintainer
docs_urlNone
author
requires_python>=3.5
license
keywords a7585d caen hv nuclear instruments sipm bias
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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](https://github.com/NuclearInstruments/a7585d/blob/master/images/img2.png?raw=true)

## Python installation

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

```bash
pip install a7585d
```

## Usage

### Module user manual

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

### Import the library

Import the library in your python script:

```python
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:

```python
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:

```python
from a7585d import A7585D 
from 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)
```
            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "a7585d",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.5",
    "maintainer_email": "",
    "keywords": "A7585D,CAEN,HV,Nuclear Instruments,SiPM bias",
    "author": "",
    "author_email": "Andrea Abba <abba@nuclearinstruments.eu>",
    "download_url": "https://files.pythonhosted.org/packages/75/a7/3b16eeaa65a460ca22678ad5fa55b96bd9428f06e36d0f39ac37f7e0caf8/a7585d-1.0.1.tar.gz",
    "platform": null,
    "description": "# CAEN - Nuclear Instruments A7585A/NIPM12 Python Control Library\n\n\nThe 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.\nHigh resolution Output Voltage and Output Current measurements enable the NIPM-12 to be used for I-V detector characterization.\nDigital (UART, I2C and USB with adapter) and analog control interface are runtime selectable by a single pin or a digital command.\nThe module integrates a temperature HV loop that regulates the SiPM output voltage as a programmable function of the SiPM temperature coefficient.\n\nThis library is a python A7585A/NIPM12 module. It allows to control the module using the UART/USB interface. \n\n## Features\n- 20-85V Output Voltage\n- 10mA Output Current\n- 1mV Output Voltage step\n- Less than 300uV rms noise\n- User Selectable Digital / Analog output voltage control\n- Automatic temperature feedback on the output voltage\n- Multi device support using I2C\n- Fully working examples designed to control the module with keypad and display or monitor multiple devices using serial port\n- Module compatible with ZEUS software for stand alone usage\n\n## Pinout of the module\n\n![pinout of the moduke](https://github.com/NuclearInstruments/a7585d/blob/master/images/img2.png?raw=true)\n\n## Python installation\n\nIn order to install the A7585D python Library, just run the following command:\n\n```bash\npip install a7585d\n```\n\n## Usage\n\n### Module user manual\n\nThe user manual can be downloaded from the CAEN website:\n[https://www.caen.it/products/a7585/](https://www.caen.it/products/a7585/)\n\n### Import the library\n\nImport the library in your python script:\n\n```python\nfrom a7585d.a7585d import A7585D \nfrom a7585d.a7585d import A7585D_REG\n```\n\n### Create the A7585D object\n\nCreate the A7585D object and connect to the module serial port:\n\n```python\nhv = A7585D()\n\n# open serial port\nhv.open(\"COM3\") # Windows\n# hv.open(\"/dev/ttyUSB0\") # Linux USB\n# hv.open(\"/dev/ttyS0\") # Linux UART\n```\n\n### Full code example\n\nCreate the A7585D object and connect to the module serial port:\n\n```python\nfrom a7585d import A7585D \nfrom a7585d import A7585D_REG\nimport time\n\n\nhv = A7585D()\n\n# open serial port\nhv.open(\"COM3\") # Windows\n# hv.open(\"/dev/ttyUSB0\") # Linux USB\n# hv.open(\"/dev/ttyS0\") # Linux UART\n\n# configure parameters HV\n\n# set control output control loop mode\n# 0 Digital mode (output voltage is vtarget)\n# 1 Analog mode (output voltage is proportional to vref)\n# 2 Thermal compensation (output voltage is vtarget - Tcoef * (T - 25)\nhv.set_parameter(A7585D_REG.CNTRL_MODE, 0)  \n\n# set voltage target to 40V\nhv.set_parameter(A7585D_REG.V_TARGET, 40)\n\n# set max voltage 1mA\nhv.set_parameter(A7585D_REG.MAX_I, 1)\n\n# set max voltage (compliance) to 50V\nhv.set_parameter(A7585D_REG.MAX_V, 50)\n\n# configure SiPM temperature compensation coefficient\nhv.set_parameter(A7585D_REG.T_COEF_SIPM, -35)\n\n# configure ramp speed to 5V/s\nhv.set_parameter(A7585D_REG.RAMP, 5)\n\n# set current monitor range\n# 0 low range\n# 1 high range\n# 2 auto select\nhv.set_parameter(A7585D_REG.CURRENT_RANGE, 2)\n\n\n# control pi controller (1 enable)\nhv.set_parameter(A7585D_REG.ENABLE_PI, 0)\n\n# enable hv\nhv.set_parameter(A7585D_REG.HV_ENABLE,1)\n\nwhile True:\n    print(\"HV V_OUT: \" + str(hv.get_parameter(A7585D_REG.MON_VOUT)))\n    print(\"HV I_OUT: \" + str(hv.get_parameter(A7585D_REG.MON_IOUT)))\n    time.sleep(0.1)\n```",
    "bugtrack_url": null,
    "license": "",
    "summary": "Library to control A7585D Caen HV module (all versions)",
    "version": "1.0.1",
    "project_urls": {
        "Bug Tracker": "https://github.com/NuclearInstruments/a7585d-python",
        "Homepage": "https://github.com/NuclearInstruments/a7585d-python"
    },
    "split_keywords": [
        "a7585d",
        "caen",
        "hv",
        "nuclear instruments",
        "sipm bias"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9951f3257f5a12f32548e030e8fb2fb4923f666d13e854fb112e8d925de6c29e",
                "md5": "706f929536496be47d4c8ceff9386319",
                "sha256": "8acc6e80c483dcaf0906f43ca5971f982923d6766c5a37ffb3b6cd5a8c807f05"
            },
            "downloads": -1,
            "filename": "a7585d-1.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "706f929536496be47d4c8ceff9386319",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.5",
            "size": 3489,
            "upload_time": "2023-09-05T19:32:07",
            "upload_time_iso_8601": "2023-09-05T19:32:07.287080Z",
            "url": "https://files.pythonhosted.org/packages/99/51/f3257f5a12f32548e030e8fb2fb4923f666d13e854fb112e8d925de6c29e/a7585d-1.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "75a73b16eeaa65a460ca22678ad5fa55b96bd9428f06e36d0f39ac37f7e0caf8",
                "md5": "c1d73e8d68ca9144c0c481a3b9903367",
                "sha256": "802cfa5527bb384778c17dcd83cdfdd612aef3c9e4fe0ee576ef43aa78c35a3f"
            },
            "downloads": -1,
            "filename": "a7585d-1.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "c1d73e8d68ca9144c0c481a3b9903367",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.5",
            "size": 3292,
            "upload_time": "2023-09-05T19:32:09",
            "upload_time_iso_8601": "2023-09-05T19:32:09.266871Z",
            "url": "https://files.pythonhosted.org/packages/75/a7/3b16eeaa65a460ca22678ad5fa55b96bd9428f06e36d0f39ac37f7e0caf8/a7585d-1.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-09-05 19:32:09",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "NuclearInstruments",
    "github_project": "a7585d-python",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "a7585d"
}
        
Elapsed time: 0.15506s