I'm currently using a 300A Chargery BMS in my motor home. Unfortunately this BMS is woefully deficient in measuring current. Resolution is somewhere around 1A. This results in the Chargery SOC gauge being totally unreliable. The gauge displays >90% SOC when in reality the battery is below 50%.
My objective is to design/build/test a coulomb counter with current resolution in the tens of mA.
I'm using an AD623 Instrumentation Amp to amplify the shunt signal with a gain of 2. This amp is extremely nice as it operates with an input 0.3V below-ground-signal. This is important as the shunt voltage can go negative 75 mV @ -300A.
AD623
The output of the amp goes into an ADS1116 (16-bit A/D). The A/D is scaled (by Arduino) for 0.256 V full scale. That means the full current range of 600A (+/-300A) is compacted into a 0 to 256 mV scale. Zero current is set to 256 mV / 2 = 128 mV. A reference voltage of 128 mV is injected into the amp to provide an output offset voltage of 128 mV when shunt current is zero. Current resolution is about 16 mA/bit.
The 128 mV reference voltage is derived from an AD780 2.5V voltage reference and a voltage divider consisting of 18.46k and 1 k resistors. 18.46 kohm is derived from paralleling 20k and 240k. This voltage doesn't need to be exact as voltage offset and amp gain are corrected in the Arduino sketch.
I've connected the circuit to the Chargery 300A shunt for initial measurements. The connection has no effect on Chargery current measurements. Both circuits can operate independently.
The SCL / SDA signals are connected to the I2C bus of an Arduino Uno. In addition, the Uno is mechanized as a data logger. Measurements are taken every second and stored on a SD memory card.
Here's some initial test data.
During the first 350 seconds a solar charge of 3A is turned on and off. Around 370 seconds the 2500W inverter is turned on. A -100A spike is seen as inverter caps are charged. Around 400 seconds the microwave is turned on, with current of -160A.
This graph shows about 20A of inverter ripple current. I got some 100 mH inductors and 100 uF caps on order to add a LC filter to the input of the amp. Not sure why the current has a decreasing slope. More testing/evaluation to follow.
My objective is to design/build/test a coulomb counter with current resolution in the tens of mA.
I'm using an AD623 Instrumentation Amp to amplify the shunt signal with a gain of 2. This amp is extremely nice as it operates with an input 0.3V below-ground-signal. This is important as the shunt voltage can go negative 75 mV @ -300A.
AD623
The output of the amp goes into an ADS1116 (16-bit A/D). The A/D is scaled (by Arduino) for 0.256 V full scale. That means the full current range of 600A (+/-300A) is compacted into a 0 to 256 mV scale. Zero current is set to 256 mV / 2 = 128 mV. A reference voltage of 128 mV is injected into the amp to provide an output offset voltage of 128 mV when shunt current is zero. Current resolution is about 16 mA/bit.
The 128 mV reference voltage is derived from an AD780 2.5V voltage reference and a voltage divider consisting of 18.46k and 1 k resistors. 18.46 kohm is derived from paralleling 20k and 240k. This voltage doesn't need to be exact as voltage offset and amp gain are corrected in the Arduino sketch.
I've connected the circuit to the Chargery 300A shunt for initial measurements. The connection has no effect on Chargery current measurements. Both circuits can operate independently.
The SCL / SDA signals are connected to the I2C bus of an Arduino Uno. In addition, the Uno is mechanized as a data logger. Measurements are taken every second and stored on a SD memory card.
Here's some initial test data.
During the first 350 seconds a solar charge of 3A is turned on and off. Around 370 seconds the 2500W inverter is turned on. A -100A spike is seen as inverter caps are charged. Around 400 seconds the microwave is turned on, with current of -160A.
This graph shows about 20A of inverter ripple current. I got some 100 mH inductors and 100 uF caps on order to add a LC filter to the input of the amp. Not sure why the current has a decreasing slope. More testing/evaluation to follow.