Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Credit card-sized, USB-powered 4 quadrant source-measure unit hardware and firmware

License

NotificationsYou must be signed in to change notification settings

joeltroughton/uSMU

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

μSMU

μSMU is a smallsource-measure unit designed for the very low-cost electrical characterisation of photovoltaic cells.

Get a μSMU

Want to buy a pre-assembled and calibrated μSMU with USB and test leads?Grab one from Tindie

I sell on Tindie

Background

SMUs are "4-quadrant" devices, meaning they can both sourceand sink current at both positiveand negative voltages. This makes them very useful for semiconductor device characterisation - including LEDs, transistors and solar cells.

In photovoltaic research laboratories, a SMU is typically used to vary the voltage applied to an illuminated solar cell, whilst simultaneously measuring the current. This voltage sweep allows us to plot the solar cell's I-V characteristics, and calculate its light-to-power conversion efficiency.

SMUs are generalised pieces of test equipment, designed to be highly sensitive over vast current & voltage ranges. For example, the workhorseKeithley 2400 has a voltage range between 100 nV and 200 V, and a current range between 1 pA to 10 A. This is likely overkill for most research and education applications concerning solar cells, which tend to operate between 0-5 V and μA to mA. The μSMU doesn't intend to replace precision SMUs, rather to supplement them in cost-sensitive areas where such precision is not required.

The μSMU is a USB-powered SMU with a +/- 5 V voltage range and +/- 50 mA source/sink capability. The PCB is only 70mm x 43mm

Function

The μSMU was originally inspired byLinear Technology's DC2591A evaluation board, which demonstrates an I2C address translator IC to interface up to 8 modules containing several I2C devices with an Arduino-style board. Somewhat consequentially, these boards also contain fantastic SMU circuits!

The voltage applied to the device-under-test (DUT) is supplied by a LT1970 opamp driven by a 16-bit DAC on the non-inverting input and a 2.048V reference on the inverting input. The current flowing through the DUT is measured by amplifying the voltage drop through a high-side 50 Ohm shunt resistor using a precision programmable gain amplifier. Both the DUT voltage and shunt resistor voltage drop are measured using a 16-bit ADC. The whole system is controlled using a STM32F072 microcontroller, which presents a USB virtual communications port for interfacing.

Capabilities

Parameter
Voltage range-5 to +5 V
Voltage measure resolution~0.6 mV
Minimum voltage step size<1 mV
Current limit-50 to +50 mA
Current resolution~10 nA

Free I-V Curve Tracer

A free, browser-based I-V curve tracer for the μSMU is available from Undalogic

https://www.undalogic.com/usmu

Usage

A simplepython package is available to interface with the μSMU and perform basic measurements.

You can install this package directly from PyPI:

pip install usmu_py

Here is a minimal script demonstrating how to initialise the SMU, set a voltage, measure it and the current, and then close the session.

fromusmu_py.smuimportUSMUdefmain():# Open SMU on the specified port (e.g., 'COM3' or '/dev/ttyUSB0')smu=USMU(port="COM3",baudrate=9600,command_delay=0.05)try:# Identify the SMUidn=smu.read_idn()print("IDN:",idn)# Enable output and configure current limitsmu.enable_output()smu.set_current_limit(20.0)# 20 mA current limit# Set voltage and measurevoltage,current=smu.set_voltage_and_measure(1.0)print(f"Set voltage: 1.0 V | Measured Voltage:{voltage:.3f} V, Current:{current:.6f} A")# Disable output after testingsmu.disable_output()finally:smu.close()if__name__=="__main__":main()

Errata

Version 10 (release 1.0)

  • The board layout is missing grounding on the MCU for some reason. Make sure to place a couple of vias in the MCU's exposed pad to ensure proper grounding. Sorry!

Changelog

Version 10 (release 1.0)

  • Voltage DAC changed from a 12-bit Microchip MCP4725 to a 16-bit TI DAC8571
    • Can now achieve sub-mV voltage steps
  • Current sense amplifier changed from an Analog LT1991 to a TI PGA281
    • PGA281's gain can be programmed using 5 GPIOs ranging from 0.125 to 176. This allows low currents to be gained more than high currents, improving current resolution.
  • Current shunt resistor increased from 10 to 50 Ohms.
    • The programmable current sense amplifier (PGA) means we can use a high value shunt resistor and decrease the gain when measuring high currents.
    • Voltage drop across a 10 Ohm shunt is sensed by the power amp (U10) to impart programmable current limiting. Measuring this across the main 50 Ohm shunt would limit the current output to ~10 mA due to limitations in the LT1970
    • The increase in current shunt value along with the new PGA means we can now sense currents on the order of ~10 nA
  • Buffer amplifier changed from a quad Maxim MAX44252 to 4x Gainsill GS8331
    • Less expensive and lower VOS
  • Electrostatic discharge protection added to USB port (U5)
  • Isolated DC-DC converter replaced with bipolar switching regulator TI TPS65131 supplying ±9.7V
    • Extra headroom for power amplifier to push higher currents through 50 Ohm current shunt
  • 4.5V LDO added for DAC and ADC
  • USB-C port replaced with lower cost 2.0-pinned version

License

Hardware

CERN Open Hardware License Version 2 - Permissive (CERN-OHL-P-2.0).

Software

GNU General PublicLicence v3.0.

Documentation:

Creative Commons License
This work is licensed under aCreative Commons Attribution 4.0 International License.

About

Credit card-sized, USB-powered 4 quadrant source-measure unit hardware and firmware

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp