BP MSX 120 Solar Panel Arrays

Multicrystalline Photovoltaic Modules

This information should serve as a tutorial to those wishing to measure the voltage across the leads of any generic solar panel or array of solar panels. The BP 120W panels are used as an example product. Care should be taken, especially with other panel models, to avoid frying an mbed as solar panels produce high current and voltages.

The following information was pulled in part from the BP MSX 120 datasheets, referenced where appropriate and included in sources at the bottom of the web page.

panel electrical characteristics[1]
The BP 120 solar panel has a power rating of 120 W and can provide AC or DC power.

Quote:

"Providing 120 watts of nominal maximum power, the MSX 120 is used primarily in large battery-equipped PV systems or—through an inverter— to provide AC power directly to a load. Typical applications include grid-supplemental residential and commercial systems, telecommunications, remote villages and clinics, pumping, and land-based navigation aids. Its attractive bronze-anodized frame also suits it well for architectural applications." [1]

High-Capacity Versatile Junction Box

The junction box on this model allows the user to configure the board for 12V and 24V output.

Quote:

The junction boxes of the MSX 120 are raintight (IP54 rated) and accept PG13.5 or 1/2" nominal conduit or cable fittings. Their volume (411cc, 25 cubic inches) and 6-terminal connection blocks enable most system array connections (putting modules in series or parallel) to be made right in the boxes. Options include: an oversize terminal block which accepts conductors up to 25mm2 (AWG #4); standard terminals accept up to 6mm2 (AWG #10); a Solarstate™ charge regulator. Products with junction boxes may be rewired to provide 12V or 24V output. [1]

iv curve cut through diagram [1]

Notice as temperature rises, current output generally increases for a set voltage (there is a positive correlation between temperature and power). Also, the IV curve follows the typical P=IV relationship (in direction, not shape).

With the 24V setup, a 21 kOhm resistor, and an 3 kOhm resistor, this library and program can poll the voltage after a given delay at a given frequency for a given amount of time (see example code). Put the resistors in series across the leads of the solar panel. This will limit the maximum current to 1 mA, safe for the mbed. Make ground common to the panel and mbed. Use an analog input pin to read the voltage cross the smaller of the two resistors (place this one closer to ground). This will be in the range 0-3V (or 0 to .9 as the value read by the AnalogIn interface).

roof setup diagram

The circuit is simple.

Library:

Import librarySolar

Polls the voltage of an array of solar panels periodically user-defined times.

Polling program:

#include "mbed.h"
#include "Solar.h"

Serial pc(USBTX, USBRX);

int main() {
    pc.printf("Starting..\n\r");
    unsigned num = 20;
    solarArray sa(1, &num);
    sa.gatherInfo_secs(10, 10, 1);
    vector<float> out(sa.getPanelData(0));
    
    for (int i = 0 ; i < 10; i++)
        pc.printf("sample %d = %.3f\n\r", i, out[i]);
}

Some additional operation notes:

notes [1]

Sources:

[1] BP MSX 120 Datasheet. [Web]. Available at: http://www.soltec-solar.com/html/cms/bp/product_msx_120.pdf Accessed: October 31, 2016.


Please log in to post comments.