I've started testing the Panucatt CS-100 unit and have a few questions if I may:
With the sensitivity of 20mV/A if I theoretically put +100A through, Vout would be (2+2.5) = 4.5V and if I put -100A it would be (-2+2.5) = 0.5V. Given analogRead on the arduino can read 0 - 5V range then in theory the current reading range is -125 to +125 amps. So ...
1) Is the 100A limit simply a heat management issue, with suitable heat could it read up to 125A sink and still produce a valid Vout voltage?
In my project I want to read scooter amps in range from +70A to -10A with reasonable accuracy even at low currents. I put the CS100 in a circuit with 12V battery and 2 x 1 ohm 50W accurate resistors and the CS100 reported values jumped around a little, with values in a range like this (actual current was 5.8A):
It's in right range, but 1.4 amps uncertainty is a bit too much for my purposes. So now I'm interested in two issues: sensitivity and stability.
2) If the CS100 can actually handle 125A, then could the CS50 possibly handle 62.5A, with heat sink ? (this would give me its higher sensitivity of 40mV/A)
3) is the instability for reporting a constant current that I'm seeing above normal, or do I have a noise problem ? (my prototype is pretty rough)
if it's normal then I'll have to resort to averaging readings over a time window
Lastly I'm going to make a bold suggestion regarding the formula in your application sheet:
Current = ((analogRead(1)*(5.00/1024))-2.5)/0.02
I believe the 1024 should be 1023. I have a spreadsheet which maps the range of analogRead values 0 - 1023 against voltages. Assuming the reading for 0 volts = 0 and for 5 volts = 1023. This shows that using 1024 increments gives max range of 4.9951 Volts, not 5 volts. Whereas using (1024-1) increments gives full range of 0 - 5.00 volts. (how do I attach my spreadsheet file to this thread?). So I believe the formula should be
Current = ((analogRead(1)*(5/1023
An easy way to see the issue is consider it resolution of analogRead was just 2 bits instead of 10 bits, then only four voltages can be resolved:
Volts analogRead Amps
5.00 3 125
3.33 2 42
1.67 1 -42
0.00 0 -125
so the correct voltage increment for each bit is 5/3 = 1.67 V/bit and if I use 5/4 = 1.25 V/bit the range drops to just 0 - 3.75 volts.
For your consideration ...
(BTW I believe the Arduino analogRead reference is the source of this mistake http://arduino.cc/en/Reference/AnalogRead
and it should e corrected to 1023 as well.)