I am trying to build a current sensor here. My original thoughts starts from this paper [real-time current-waveform sensor with plugless energy harvesting from AC power lines for home/building Energy-management systems][enter link description here] Anyway, if you do not scan that paper is OK. [link]: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5746292

Now just take the DC battery into consideration. I wanna detect the current as accurate as I could be when it charges. The charging current could be very small or very big(the up limit is several or decades amps, and the down limit is smaller, and better I hope)

I have two main thoughts how to realize it. One way is use the Hall effect current sensor, but I know it is costly, and I am still trying to find more things about it. (I am not sure if it is the best way, what is the state-of-art hall effect current sensor now? )

The other way is use the shunt resistor way. Depicts like this:

enter image description here WRT the current detecting device, I can use a Differential Amplifier or more complex device to get the voltage, but here is the Question, the resistor is changing when it charges, the resistor's value is a function of the temperature parameter T. So as I wanna have a very accurate current sensing, how can I deal with the resistor's change by temperature?

BTW, the resistor with low coefficient, such as the open air sense resistor, their temperature resistance range is like 0.005 ohm~0.03 ohm @70°, which is big to me. So is there any possible, I dont even need to know the exact resistor value(just know the vague value, 'cause it is changing due to temperature.), and I can also detect the current flowing the resistor? Or is there any temperature compensation way to make the change smaller than the open sense resistor?

  • \$\begingroup\$ You can buy a resistor with value from 0.005–0.03Ω range e.g. 10mΩ and this value will change with 40ppm/K. \$\endgroup\$ – Szymon Bęczkowski Feb 27 '13 at 22:23

Use a resistor with low temperature coefficient or a dedicated current sensing IC like the ones from Allegro.

  • \$\begingroup\$ can you have more details about the low temperature coeffcient resistor, if I use such a resistor, what is the accuracy improvement \$\endgroup\$ – alan Feb 27 '13 at 3:53

I have used open air resistors like these


when taking very accurate current measurements for stepper motors (to perform microstepping).

If you use a very low resistance and very sensitive amplifiers you can ignore heating effects from power loss across the device. Specialist high sensitivity current sense chips exist for this purpose. (or you can design your own using high sensitivity op amps)

As for ambient temperature changes, you can take an ambient temperature reading and adjust your voltage/current measurement based upon ambient temperature and the data sheet temperature coefficient of the resistor.

I seem to remember coming across current sense chips that have temperature compensation build in. Don't remember who makes them sorry.

Update: I may have found even better resistors for you. This one has a temperature coefficient of resistance that gets as low as 40ppm/°C


I may have misunderstood what you are saying, but it seems to me that you are obsessing about changes in resistance too much.

Using an LOB series resistor at 0.1Ω with a temperature coefficient of 40ppm/°C. Assuming you have a 25°C rise in temperature, the new resistance will be 0.1001Ω. This change in resistance is 10 times less than the tolerance (1%) of the resistor. It is not a value worth even bothering about!

See the wikipedia page for temperature coefficients to see the formula I used to calculate the resistance change


  • \$\begingroup\$ Is there any possible, I dont know exact value of the resistor,and I can still mearsure the current flowing through the resistor \$\endgroup\$ – alan Feb 27 '13 at 3:28
  • \$\begingroup\$ And the open air resistor's using life is not very long, expcet that, the temperature resistance range is still big for wHAT I hope \$\endgroup\$ – alan Feb 27 '13 at 4:13
  • \$\begingroup\$ You need to know the value of the resistor you are using to take an accurate current measurement. These resistors have very long useful lifetimes. I think you may have misunderstood the data sheets \$\endgroup\$ – Devin Feb 27 '13 at 11:49

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.