# Feasibility of measuring multiple voltages and comparing to stored data

Hi,

As part of a project I need to create a tester which measures the voltage and current given out from a solar module. I will use a shunt resistor so I'll measure the shunt voltage and calculate the current given afterwards.

Ideally, I would use the Arduino UNO to compare the measured voltage and shunt voltage with an expected/acceptable range for each. If the voltages lie inside their respective ranges, then a green LED will light up, for example - and a red LED if one/both lie outside the acceptable ranges.

I have almost no electronics experience but it seems like this part should be feasible.

One possible problem is that I need to test various solar modules which have different acceptable ranges for voltage and current (or shunt voltage).

Would it be possible to somehow store the different comparison ranges for each module and compare the measured voltages to one of these ranges depending on which mechanical button a technician was to push, for example?? (The technician would know that to test a certain module, they needed to press button 3, for example.)

Any help or other advice would really be appreciated.

Thanks,

Chris

Hi Chris

Ideally, I would use the Arduino UNO to compare the measured voltage and shunt voltage with an expected/acceptable range for each. If the voltages lie inside their respective ranges, then a green LED will light up, for example - and a red LED if one/both lie outside the acceptable ranges.

Would it be possible to somehow store the different comparison ranges for each module and compare the measured voltages to one of these ranges depending on which mechanical button a technician was to push, for example?? (The technician would know that to test a certain module, they needed to press button 3, for example.)

Yes, that is possible. Your program would detect which switch has been closed and could then use the relevant min / max values.

As part of a project I need to create a tester which measures the voltage and current given out from a solar module. I will use a shunt resistor so I'll measure the shunt voltage and calculate the current given afterwards.

Are you planning to use the analog to digital converter (ADC) built into the Arduino? It has an input range of 0 to +5V with a resolution of about 5mV. What voltages are you expecting from the module and the shunt resistor? You may need to scale the values down (or up) and you should also think about overvoltage protection.

Regards

Ray

Thanks a lot Ray.

I would think I will use the ADC, yes. It seems like the currents may not be bigger than 0.5 A so the shunt voltage would be very small? The standard voltages seem to be around 8 V so they would have to be scaled down.

Regards,

Chris

These may be of interest:

http://www.vwlowen.co.uk/arduino/current/current.htm

The Arduinos which do NOT use an Atmega 328 (i.e. NOT an Uno, but for example a Mega or Leonardo would be OK) have a differential voltage measurement capability (i.e. between 2 pins of the ADC) in the ADC and an internal amplifier which should allow for direct measurement of the small voltage across the shunt. Just be careful to ensure that the voltages on each of the ADC pins must be within the range 0 - 5v with respect to Arduino GND.

I THINK that, if the two pins have no common connection with Arduino GND the Arduino won't care what the voltage is as long as the differential is below 5v. The Atmel datasheet will explain the limits properly.

However if you also need to measure the actual output voltage of the solar panel it seems almost certain that there will be a common GND between the differential pins and the Arduino.

...R

Thanks a lot to both of you for the advice.

At the minute the UNO is my only choice but hopefully I can work with my colleague (who has much electronics experience) to change the voltages before the ADC. If I was able to divide the module voltages by 3 and multiply the shunt voltages by 80, for example, this should give good input voltages (0-5 V) for the ADC.

Appreciate the help,

Chris