Skip to content

Commit a681ebc

Browse files
Refactor: Update documentation headers across multiple scripts for clarity and consistency, including program purpose, description, author details, and versioning.
1 parent 5a941d0 commit a681ebc

7 files changed

Lines changed: 157 additions & 89 deletions

File tree

Keithley_2400/Keithley_2400_Lakeshore_350_V_vs_T_V1.py

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,25 @@
1-
#-------------------------------------------------------------------------------
2-
# Name: Temperature Dependent I-V Measurement
3-
#
4-
# Purpose: Automates Voltage vs. Temperature characterization by
5-
# integrating a Lakeshore 350 Temperature Controller and a
6-
# Keithley 2400 SourceMeter. The script sets a temperature,
7-
# waits for it to stabilize, then performs a full I-V sweep.
8-
#
9-
# Author: Prathamesh Deshmukh
10-
#
11-
# Created: 18/09/2025
12-
#
13-
# Dependencies: pymeasure, pyvisa, pandas, numpy, matplotlib, tkinter
14-
#
15-
#-------------------------------------------------------------------------------
1+
'''
2+
===============================================================================
3+
PROGRAM: Temperature Dependent I-V Measurement
4+
5+
PURPOSE: Automates Voltage vs. Temperature characterization by integrating
6+
a Lakeshore 350 and a Keithley 2400.
7+
8+
DESCRIPTION: This script automates Voltage vs. Temperature (V-T)
9+
characterization by integrating a Lakeshore 350 Temperature
10+
Controller and a Keithley 2400 SourceMeter. The script sets a
11+
target temperature, waits for it to stabilize, and then
12+
performs a full I-V sweep at that temperature, repeating the
13+
process for a user-defined range of temperatures.
14+
15+
AUTHOR: Prathamesh Deshmukh
16+
GUIDED BY: Dr. Sudip Mukherjee
17+
INSTITUTE: UGC-DAE Consortium for Scientific Research, Mumbai Centre
18+
19+
VERSION: 1.0
20+
LAST EDITED: 04/10/2025
21+
===============================================================================
22+
'''
1623

1724
import pyvisa
1825
import pymeasure

Keithley_6517B/High_Resistance/6517B_high_resistance_IV_V8.py

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,25 @@
1-
#-------------------------------------------------------------------------------
2-
# Name: Keithley 6517B I-V Sweep Measurement (V5 Core)
3-
# Purpose: Combines the robust instrument handling of V5 with I-V sweep functionality.
4-
# Author: Prathamesh Deshmukh
5-
# Created: 17/09/2025
6-
# Version: 5.1
7-
#This measures resistance and calculate current
8-
#-------------------------------------------------------------------------------
1+
'''
2+
===============================================================================
3+
PROGRAM: Keithley 6517B I-V Sweep Measurement
4+
5+
PURPOSE: Perform a voltage sweep and measure current to generate an I-V
6+
curve using a Keithley 6517B.
7+
8+
DESCRIPTION: This script automates an I-V sweep measurement using a Keithley
9+
6517B electrometer. It prompts the user for sweep parameters
10+
(start/stop voltage, steps, delay), performs a zero-check
11+
correction, executes the voltage sweep while measuring current,
12+
saves the data to a CSV file, and displays a plot of the
13+
resulting I-V curve.
14+
15+
AUTHOR: Prathamesh Deshmukh
16+
GUIDED BY: Dr. Sudip Mukherjee
17+
INSTITUTE: UGC-DAE Consortium for Scientific Research, Mumbai Centre
18+
19+
VERSION: 5.1
20+
LAST EDITED: 04/10/2025
21+
===============================================================================
22+
'''
923

1024
import time
1125
import csv

Keithley_6517B/High_Resistance/6517B_high_resistance_lakeshore_V4.py

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,29 @@
1-
#-------------------------------------------------------------------------------
2-
# Name: Integrated R-T Measurement Control
3-
# Purpose: Automate and log a Resistance vs. Temperature measurement.
4-
# Author: Prathamesh Deshmukh
5-
# Date: 19/09/2025
6-
# Version: 3.1 (Gemini-Enhanced Heating Logic)
7-
# Changes_done: V3.1 - Incorporated active heating/cooling logic for the
8-
# stabilization phase from the GUI version for faster and
9-
# more robust temperature settling.
10-
#-------------------------------------------------------------------------------
11-
1+
'''
2+
===============================================================================
3+
PROGRAM: Integrated R-T Measurement Control
4+
5+
PURPOSE: Automate and log a Resistance vs. Temperature (R-T) measurement
6+
using a command-line interface.
7+
8+
DESCRIPTION: This script provides a command-line framework for automating an
9+
R-T characterization by integrating a Lakeshore 350 Temperature
10+
Controller and a Keithley 6517B Electrometer. The program
11+
prompts the user for all experiment parameters (temperature
12+
range, ramp rate, source voltage), performs a robust temperature
13+
stabilization, and then executes a linear temperature ramp.
14+
During the ramp, it continuously measures resistance and logs
15+
all data to a CSV file, while providing a live plot for visual
16+
feedback. The script ensures a safe shutdown of all instruments
17+
upon completion, error, or user interruption.
18+
19+
AUTHOR: Prathamesh Deshmukh
20+
GUIDED BY: Dr. Sudip Mukherjee
21+
INSTITUTE: UGC-DAE Consortium for Scientific Research, Mumbai Centre
22+
23+
VERSION: 3.1
24+
LAST EDITED: 19/09/2025
25+
===============================================================================
26+
'''
1227
import pyvisa
1328
import time
1429
import csv

Keithley_6517B/Pyroelectricity/Pyroelectric_Measurement_GUI_V1.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,29 @@
66
# Created: 17/09/2025
77
# Version: V2.5 (Matplotlib Style Fix)
88
# -------------------------------------------------------------------------------
9+
'''
10+
===============================================================================
11+
PROGRAM: Pyroelectric Measurement GUI
12+
13+
PURPOSE: Perform a pyroelectric current measurement with two-stage
14+
temperature ramp control.
15+
16+
DESCRIPTION: This program provides a graphical user interface (GUI) for
17+
automating a pyroelectric current measurement. It integrates a
18+
Lakeshore 350 for temperature control and a Keithley 6517B for
19+
sensitive current measurement. The experiment involves a
20+
two-stage process: first stabilizing at a start temperature,
21+
then ramping to an end temperature while logging data. The GUI
22+
features live plotting and a detailed console.
23+
24+
AUTHOR: Prathamesh Deshmukh
25+
GUIDED BY: Dr. Sudip Mukherjee
26+
INSTITUTE: UGC-DAE Consortium for Scientific Research, Mumbai Centre
27+
28+
VERSION: 2.5
29+
LAST EDITED: 04/10/2025
30+
===============================================================================
31+
'''
932

1033
# --- Packages for Front end ---
1134
import tkinter as tk

Lakeshore_350_340/lakeshore350_temp_ramp_Frontend_V4.py

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,26 @@
1-
# -------------------------------------------------------------------------------
2-
# Name: Lakeshore 350 Temp Ramp GUI (Improved Control)
3-
# Purpose: Provide a user-friendly interface for a temperature ramp
4-
# using robust stabilization and a constant high-power ramp.
5-
# Author: Prathamesh Deshmukh
6-
# Created: 26/09/2025
7-
# Version: 2.3 (Constant High-Power Ramp Logic)
8-
# -------------------------------------------------------------------------------
1+
'''
2+
===============================================================================
3+
PROGRAM: Lakeshore 350 Temp Ramp GUI
4+
5+
PURPOSE: Provide a user-friendly interface for a temperature ramp using
6+
robust stabilization and a constant high-power ramp.
7+
8+
DESCRIPTION: This program provides a graphical user interface (GUI) for
9+
automating a temperature ramp experiment with a Lakeshore 350
10+
controller. It features robust temperature stabilization at the
11+
start point, followed by a hardware-controlled ramp using a
12+
fixed high-power heater setting for consistent results. The GUI
13+
provides live plotting of temperature and heater output, a
14+
console for logging, and safe instrument handling.
15+
16+
AUTHOR: Prathamesh Deshmukh
17+
GUIDED BY: Dr. Sudip Mukherjee
18+
INSTITUTE: UGC-DAE Consortium for Scientific Research, Mumbai Centre
19+
20+
VERSION: 2.3
21+
LAST EDITED: 04/10/2025
22+
===============================================================================
23+
'''
924

1025

1126
# --- Packages for Front end ---

PICA_Launcher_V5.py

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,26 @@
11
# BUILD VERSION: 13.1 (README Parser restored)
22
'''
3-
PICA Launcher V5
4-
================
5-
A graphical launcher for Python Instrument Control & Automation (PICA) scripts, designed for laboratory automation in materials science and physics research.
6-
Provides a Tkinter-based GUI to launch measurement scripts, view documentation, and test GPIB/VISA instrument connections.
7-
Features:
8-
---------
9-
- Launches various instrument automation scripts in isolated processes.
10-
- Displays README and LICENSE files with Markdown rendering.
11-
- Opens instrument manuals and script folders.
12-
- Tests GPIB/VISA connections using PyVISA.
13-
- Styled, user-friendly interface with logging console.
14-
Dependencies:
15-
-------------
16-
- tkinter
17-
- pyvisa (optional, for GPIB test)
18-
- Pillow (optional, for logo display)
19-
Author: Prathamesh K Deshmukh
20-
Guided by: Dr. Sudip Mukherjee
21-
Institute: UGC-DAE Consortium for Scientific Research, Mumbai Centre
3+
===============================================================================
4+
PROGRAM: PICA Launcher
5+
6+
PURPOSE: A graphical dashboard for launching PICA measurement scripts.
7+
8+
DESCRIPTION: This application serves as the central graphical user interface (GUI)
9+
for the Python Instrument Control & Automation (PICA) suite. It
10+
provides a styled, user-friendly dashboard to launch various
11+
instrument automation scripts in isolated, stable processes using
12+
Python's multiprocessing library. Key features include a utility
13+
to test GPIB/VISA instrument connections, viewers for project
14+
documentation (README, LICENSE), quick access to script folders
15+
and instrument manuals, and a real-time logging console.
16+
17+
AUTHOR: Prathamesh K Deshmukh
18+
GUIDED BY: Dr. Sudip Mukherjee
19+
INSTITUTE: UGC-DAE Consortium for Scientific Research, Mumbai Centre
20+
21+
VERSION: 13.1
22+
LAST EDITED: 04/10/2025
23+
===============================================================================
2224
'''
2325
import tkinter as tk
2426
from tkinter import ttk, messagebox, Toplevel, Text, Canvas, scrolledtext, font

Utilities/gpib_interface_test.py

Lines changed: 20 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,24 @@
1-
# Name: Simple GPIB/VISA Connection Check
2-
# File: gpib_interface_test.py
3-
# Purpose: Finds all connected instruments and prints their ID strings.
4-
51
'''
6-
File: gpib_interface_test.py
7-
Author: Prathamesh Deshmukh
8-
Date: 10/09/2025
9-
Licence: MIT
10-
11-
Description:
12-
This is a simple, general-purpose script to verify connections with any
13-
instrument recognized by VISA (e.g., via GPIB, USB, Ethernet). It automatically
14-
scans for all connected devices and attempts to query each one for its
15-
identification string (*IDN?).
16-
17-
The script will print the ID for each responsive instrument and report an
18-
error for any that are unreachable, making it a quick diagnostic tool for
19-
debugging instrument control setups.
20-
21-
Dependencies:
22-
- pyvisa: A Python package for instrument control.
23-
- A VISA backend must be installed (e.g., NI-VISA, Keysight VISA).
24-
25-
Usage:
26-
Run the script directly from your terminal. No code modification is needed,
27-
as it will automatically find and test all connected instruments.
28-
29-
python simple_gpib_check.py
2+
===============================================================================
3+
PROGRAM: Simple GPIB/VISA Connection Check
4+
5+
PURPOSE: Finds all connected instruments and prints their ID strings.
6+
7+
DESCRIPTION: This is a simple, general-purpose script to verify connections with any
8+
instrument recognized by VISA (e.g., via GPIB, USB, Ethernet). It
9+
automatically scans for all connected devices and attempts to query
10+
each one for its identification string (*IDN?). The script will print
11+
the ID for each responsive instrument and report an error for any
12+
that are unreachable, making it a quick diagnostic tool for
13+
debugging instrument control setups.
14+
15+
AUTHOR: Prathamesh Deshmukh
16+
GUIDED BY: Dr. Sudip Mukherjee
17+
INSTITUTE: UGC-DAE Consortium for Scientific Research, Mumbai Centre
18+
19+
VERSION: 1.0
20+
LAST EDITED: 04/10/2025
21+
===============================================================================
3022
'''
3123

3224
import pyvisa

0 commit comments

Comments
 (0)