Wireless IV Curve Tracer for long term field testing

Wireless IV Curve Tracer

Wireless IV Curve Tracer
Wireless IV tracer

The Problem

At work, we have a long term test facility with dozens of PV modules of various makes and models that are wired up to instrumentation that records IV curves once per minute, all day every day. The hardware for this testing does a great job in terms of accuracy and resolution, but has some shortcomings: it’s expensive (~$20K minimum), and requires a lot of wiring which means it isn’t very flexible. If I want to set up a new panel, or move an existing panel to a new location, I usually have to run new wiring for the PV module, a relay bank, and the DAQ hardware.

The hardware below was designed and built as a personal project in an attempt to address the shortcomings of a traditional IV measurement setup. The hardware and software are open source. If you find what I’ve done useful, I’d love to hear about it!

My Solution

The IV tracer pictured above (my working prototype) has just two wires to connect to the panel under test. Other than that, it’s completely self-contained and portable. When the panel isn’t being measured, the logic circuitry is put to sleep and the panel’s power is instead used to charge a small lithium ion battery. Even in complete darkness, the IV tracer can run from the battery for a couple of weeks, and as soon as the sun comes out, the battery is quickly recharged.

The IV data is transmitted as ASCII text using an Xbee in transparent serial mode. On the receiving end, a simple USB-Serial adapter is connected to a linux PC and a very basic logging script.

The complete IV tracer cost me about $140 to build, which is a huge cost savings in addition to the time saved from not having to mess with miles of wiring.

The Hardware

The hardware consists of two parts:

1) A “Power Module” that charges a small Lithium Ion battery and provides a regulated 3.3V power source. It also includes an onboard relay that allows it to be disconnected from the panel during IV measurements.

2) A “Logic Module” that performs the IV measurements and handles wireless data transmission.

Each module fits on a 1.97″x3.4″ PCB, and standard screw terminals provide for wire connections between the two PCB’s. The PCB’s and battery are mounted on a small section of DIN rail in a NEMA 4X enclosure, with short male/female MC connector pigtails for connection to the panel under test. The entire assembly measures just 7.1″x5.1″x3″ and weighs about one pound.

To measure an IV curve, relay K1 (see schematics below) is activated, switching the power module out of the circuit. Capacitors C1 and C2 provide a load to the panel, and voltage and current are first buffered by the MCP604 opamp and fed into the MCP3202 two channel SPI ADC. With the Atmega644p clocked at 7.37 MHz, and the SPI clock running at FOSC/8, it takes about 100 microseconds to capture each IV point (50 us for V, 50 us for I). In practice, the panel’s current varies with irradiance, and hence the IV curve acquisition time varies as well. Under full sun, it takes about 150 milliseconds to capture a 150 point IV curve. With the panel completely shaded, it can take about 4 seconds. A very simple software algorithm is used to determine which samples to store and when the IV curve is complete.

Once the IV curve completes, the Xbee is woken up, and the data is transmitted as comma-separated text, along with a unique ID number. The ID for each IV tracer is set via a 6 position dip switch on the logic module.

The Xbee coordinator can handle a maximum of 10 sleeping end devices, which means for a large test setup of 40-50 IV tracers, the PC on the receiving end will need a USB hub with 4-5 Xbee USB/serial adapters. Some simple text parsing can then pull out the IV data and present it in whatever format is required. I use a perl script to strip the ID numbers and sort the IV curves into separate directories for each test module.

The Software

The software is written in C and compiled with avr-gcc on linux. I used an Atmega644P, but other AVR micros would probably work with minor modifications.

In addition to the IV datapoints, the microcontroller also measures battery voltage and keeps a rolling window of Isc measurements. Since Isc is a good proxy for irradiance, I’m using this measurement to increase the time between IV measurements during periods of darkness. Since the Xbee coordinator expects all the endpoints to “check in” periodically, we can’t just sleep all night long, but this at least provides a basic way to conserve battery.

So… does it work?

Yes! Below are some sample IV curves. This is a plot of the raw data from the device, and you’ll notice that it doesn’t truly measure short circuit current. When the relay contacts close, it takes about 5-10ms for the current into the capacitors to reach a peak value due to inductance. In practice, this isn’t all that important, because we can simply extrapolate back to Isc. In fact, I have to do the same thing even when measuring IV curves with $5K electronic loads.

Sample IV curves

Sample IV curves

Downloads and links

Note: the design of this IV tracer is licensed under a Creative Commons license Attribution-NonCommercial-ShareAlike 3.0 Unported

PCB files (these will work with the free version of Eagle):
NOTE: These are my revised boards based on the first prototypes, and I haven’t had a chance to test them yet. I’ll update this page once I verify these designs.

Logic Module schematic
Logic Module PCB
Power Module schematic
Power Module PCB

Logic Module Schematic
Logic Module PCB
Power Module Schematic
Power Module PCB

C source code

Either the 1000 mAh battery from Sparkfun
or the 900 mAh

NEMA 4X enclosure from McMaster-Carr

10 thoughts on “Wireless IV Curve Tracer for long term field testing

  1. Yoo-Yoo

    hey Jason:

    Where I work we are also setting up solar panels where we need to take the I-V curves regularly. I came across your site and think you’ve got a great idea with these wireless curve tracers. I wish I had time to try it myself, it looks like a really fun project.

    I was wondering if you had considered, or if you would be up for, selling any of these units. If yes, we’d be interested in buying one or more.

    thank you, hope to hear from you soon!

  2. jalderman Post author

    Hi Yoo-Yoo,
    I currently have two wireless IV tracers about 80% complete sitting on my workbench. I sent you a an email.

  3. Imran

    Hi Jason,
    thanks for sharing this! I’ve been looking around for a low-cost IV curve tracer for testing the efficiency of solar cells in the lab. I’m going to modify the schematic to remove the battery/wireless, and try to fabricate a few…

  4. Richard

    Hi Jason,

    I also wish to hardily thank you for sharing. I’ve been nominated by my employer to create an I-V Curve Tracer and was struggling along for a few days when I found your post and greatly lowered my stress level. I’m in the process of ordering parts to build one now but I would like to ask also if you are selling any of these units. If yes, we are interested in buying one or more. We are getting into setting up monitoring on roof- top installations and we have potential for a fair bit of work if we are successful. Thanks again and hope to hear from you soon.

  5. Joseph

    Hi Jason, this is impressive. I have actually gone through the schematic diagrams. In the schematic of the logic module I could not figure out the specs for some of the parts designated by S1, S2, JP1, JP2, JP3, Q1 and LED1. I was hoping maybe you can help me with the specs of these components. Thank you.

  6. Jens

    Hi Jason,
    I came across your website while I was looking for commercial solar i-v-curve tracers. The recent posts are written a while ago. I wonder if you might sell your measuring devices nowadays I would be very interested in a quotation. Best regards – Jens

  7. John Wax

    Wondering if any new improvements have been added.
    Are these devices for sale, and if so, where?
    Nice project!

  8. Chris Satterlee

    Hi Jason,

    I realize this was posted 6 years ago, but it was a huge inspiration for an IV curve tracer that I designed. Mine’s targeted for PV education and is currently being used by a class at Stanford. The wireless aspect wasn’t relevant, but the whole idea of using a capacitor for the load hadn’t occurred to me until I stumbled on your page. I used an Arduino rather than a bare uC, but I used the same ADC you used. Total cost: <$50. I also wrote an app that runs on Mac and Windows for controlling the device and viewing the results. It works great!

    GitHub: https://github.com/csatt/IV_Swinger
    YouTube: https://youtu.be/WhnTWciiNNo
    Instructables: https://www.instructables.com/id/IV-Swinger-2-a-50-IV-Curve-Tracer

    Thanks so much for posting this. IV Swinger 2 probably wouldn't exist if you hadn't!

    Chris Satterlee

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.