0
\$\begingroup\$

A little explanation first.

I am working on an Arduino project where I want to measure photovoltaic power generation by measuring voltage and current of an array of 10 small PV modules at 5.5 V. Maximum current output is 1.2 A. This PV array is powering up the Arduino while charging a battery.

I have successfully used a voltage divider to measure PV voltage, but I am having a really hard time in measuring current. I tried using a ACS712 hall sensor but the current draw is too low and the sensor doesn't identify it.

The question follows.

So I would like to use a resistor with a low ohmic value to measure voltage drop across it and estimate current draw.

Since using a resistor to measure current draw is the most inefficient circuit I can think of, I would like to use an SPDT relay to temporary switch on the "resistor circuit" and measure current. After the measurement, I would switch off the resistor circuit and use the normal circuit.

On another topic I read about the SPDT analog switch TS5A3157 by Texas Instruments, which does exactly what I am looking for. Only problem is it can only work with currents up to 100 mA, which is not enough.

So, could anyone recommend another SPDT?

Or should I switch to another type of switch (ahah), such as a mechanical relay?

Many thanks for your help!

Additional Notes

As explained above, I am measuring a maximum current of 1.2 Amps (from PV Panels). Nonetheless, I would say typical current draw will be around 50 mA when all of my sensors are on (temperature, LDR resistor, pressure sensor).

I read somewhere (here) that a 4.9 ohm resistor could work pretty good: 1 mA of draw translates to 1 mV of voltage drop. So 50 mA would mean 0.24 V voltage drop, which is inacceptable in my view.

That's the reason why I thought about a switch: to power the resistor only for a few seconds in order to take a measurement.

\$\endgroup\$
  • \$\begingroup\$ "Since using a resistor to measure current draw is the most inefficient circuit I can think of" Except that's how everybody does it. \$\endgroup\$ – Ignacio Vazquez-Abrams Nov 10 '15 at 10:22
  • 1
    \$\begingroup\$ What current range are you trying to measure and what would be an acceptably low value of measurement resistance. Forget about a switch. \$\endgroup\$ – Andy aka Nov 10 '15 at 10:37
  • \$\begingroup\$ Well, I might be wrong, but the Hall sensor I was trying to use is based on the Hall effect and as such does not make use of resistors. \$\endgroup\$ – Marco Serpelloni Nov 10 '15 at 10:44
  • \$\begingroup\$ @MarcoSerpelloni It doesn't, but the point is that you can get the power wasted by the shunt almost arbitrarily low. There's no point in overcomplicating things with a switch - just use a small shunt. \$\endgroup\$ – Nick Johnson Nov 10 '15 at 12:06
  • \$\begingroup\$ The problem is that at 1.2A a 4.9ohm resistor will drop 5.88V. This is more than the cells are capable of generating. \$\endgroup\$ – Ignacio Vazquez-Abrams Nov 10 '15 at 12:22
2
\$\begingroup\$

So I would like to use a resistor with a low ohmic value to measure voltage drop across it and estimate current draw.

Here you go.

The INA250 is a voltage-output, current-sensing amplifier family that integrates an internal shunt resistor to enable high-accuracy current measurements at common-mode voltages that can vary from 0 V to 36 V, independent of the supply voltage. The device is a bidirectional, low- or high-side current-shunt monitor that allows an external reference to be used to measure current flowing in both directions through the internal current-sensing resistor sensor.

\$\endgroup\$
0
\$\begingroup\$

You can easily get resistors with as small resistance as 10mOhm, which will give you some 12mV of voltage drop at full current. The only problem is, that you will need to amplify this voltage to measure it with Arduino, as its ADC resolution will be not enough.

Alternatively try another search on integrated current sensors. I'm sure that you can find a low current alternative i.e. ACS712ELCTR-05B from Allegro Microsystems.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.