Skip to content

calibration

Andreas Biri edited this page Aug 18, 2021 · 35 revisions

RocketLogger Calibration

Requirements

  • RocketLogger with installed software
  • A Keithley 2450 Source Measure Unit (SMU)
  • Two SMU probe cables
  • RocketLogger test leads
  • A 1kΩ resistor for the low current measurements
  • An USB power bank (5V) with 1A+ current rating to decouple SMU and RocketLogger

Calibration

It is recommended to read through the full procedure before starting with the calibration procedure and to have a look a the hints below.

Calibration Measurements

  1. Power up the RocketLogger using a USB power bank to avoid coupling of the Source Measure Unit (SMU) with the RocketLogger through the power line
  2. Open your browser and open the RocketLogger's web interface
  3. Select the 'Calibration Measurement' option in the web interface
  4. Deselect all analog and digital channels and only enable the ones required for the specific measurement
  5. Capture the following sweeps with the RocketLogger: a) Voltages (V1-V4 in parallel), b) Current Low I1, c) Current Low I2, d) Current High (I1+I2 in series)
    • Configure the RocketLogger web interface and Keithley 2450 SMU as listed in the table below
    • Set/Change the SMU settings in the order of the table. The voltage measurement settings are also applied for the current measurements if not defined otherwise
  6. Connect the channel to measure to the SMU output (Force)
    • For Voltage Calibration, connect all voltage probes in parallel plus the black wire of one of the current channels (ground).
    • For Current Low Calibration, each channel should be calibrated individually. Connect a 1kΩ resistor in series to the channel being calibrated and disconnect the other current channel's probe.
    • For Current High Calibration, connect both channels in series without a shunt resistor. Each of the red wires goes to one of the SMU's terminals (the polarity does not matter as it is automatically detected by the calibration script).
  7. Run the calibration measurement by
    • Turning on the SMU output
    • Starting the measurement on the RocketLogger
    • Pressing the TRIGGER button on the SMU to run the configured sweep sequence
    • The SMU output is automatically disabled when complete and you can then stop the RocketLogger measurement
    • Move on with the next calibration measurement until you have recorded all four traces
Setting Voltage Calibration Current Low Calibration Current High Calibration
RocketLogger Web Interface
Filename YYYYMMDD_calibration_v.rld YYYYMMDD_calibration_i{1,2}l.rld YYYYMMDD_calibration_ih.rld
Sample Rate 1 kSPS 1 kSPS 1 kSPS
Calibration Measurement ON (check) ON (check) ON (check)
Analog Channels Enabled V1, V2, V3, and V4 either I1L or I2L I1H and I2H
Force High Range not relevant both OFF (uncheck) both ON (check)
Digital Input Channels OFF (uncheck) OFF (uncheck) OFF (uncheck)
Keithley 2450 SMU Settings
Basic Settings (Menu > Source > QuickSet)
Function (Measurement Mode) Source Voltage - Measure Voltage Source Current - Measure Voltage Source Current - Measure Voltage
Sweep Settings (Menu > Source > Sweep)
Type Linear Dual Linear Dual Linear Dual
Start -5.0 V -1.0 mA -100 mA (1A range not so great)
Stop +5.0 V +1.0 mA +100 mA
Definition Number of Points Number of Points Number of Points
Points 101 101 101
Source Delay 250 ms 250 ms 250 ms
Source Limit 105 uA 2 V 2 V
Source Ranging Auto Auto Auto
Generate Press Generate to store sweep Press Generate to store sweep Press Generate to store sweep
Measure Settings (Menu > Measure > Settings)
Measurement Connection 2-wire 2-wire 2-wire
Voltage Range Auto 2 V 2 V
Measurement View (Home Button)
Current Range - Auto Auto

Generate Calibration Data File

Download the four measured sweep measurements to your local machine. The Python support library includes the create_calibration.py script that servers as reference for generating calibration data files from calibration measurements. Make sure to download and install the Python package as described in the latest Python package documentation.

  1. Edit the filename_prefix value at the beginning of the create_calibration.py script to match your measurement files.
  2. Run the calibration script using
    python create_calibration.py
    to generate the calibration data file calibration.dat and related calibration statistics in calibration.log.
  3. Copy calibration.dat to /home/rocketlogger/.config/rocketlogger on the BeagleBone. Alternatively, you may copy the calibration.dat directly to the rocketlogger/config folder on the RocketLogger Data SD card.

Further information on the calibration support used in the calibration script is given in the RocketLogger Python Support Library documentation. The calibration data file format is specified in detail under Calibration File Format.

Generate Legacy Calibration Data Files

The generation of version 1.x calibration files relied on deprecated Matlab support. The instruction are kept here for reference only. The mentioned Matlab scripts are only available from older repository revisions, i.e by checking out/downloading one of the v1.x tags.

Download the four measured sweep measurements and run the calibration script in Matlab (see rl_do_cal.m Matlab script).

  1. Set the correct filename_prefix in rl_do_cal.m
  2. rl_do_cal(0) (set create_plots to 1 to plot the residuals and pareto optimal error figures) generates the calibration file from the measurements
  3. Copy calibration.dat to /etc/rocketlogger on the BeagleBone (copy it first to the rocketlogger home /home/rocketlogger)

The legacy calibration data file format is specified in detail under Calibration File Format.

Hints

  • Before triggering the sweep, SMU output has to be on (to reduce measurement noise). There should also be a step between the initial measurement and the first calibration level, hence we suggest to set the SMU output to 0 before triggering.
    • Alternatively, you can start a sweep and then push the ON/OFF button twice to stop at another level.
  • The Matlab script tries to detect the peaks caused by the SMU's internal range switching and they should therefore not cause any problems.