0
\$\begingroup\$

I'm developing a battery monitoring circuit. There is a problem. I launch a survey of all ports ADG507. For the test, I connect only two power supplies instead of the first and second batteries. The second power supply is 0 volts, the first 6.5 volts. No problem, I read from the ADC value of 6.508 volts on the first port. I increase the voltage of the second power supply and read from ADC the correct value on the second port. But on the first port the measured value begins to decrease and continues to fall to zero with the increase of the voltage on the second port up to 7.347 volts. The measured voltage value on the second port is correct. On the first port is 0, but I did not change the value on the first port. The voltage value at the first port remained at 6.5 volts from the beginning of the experiment. What kind of miracles? Why is not the voltage at the first port measured correctly when the voltage at the second port rises? What's my mistake?

enter image description here

Measurement log

2018-05-30 10:53:17,702 INFO tcpm. MainThread connected 6.508 0.000 0.000 0.001 0.001 0.001 0.001 0.001

2018-05-30 10:54:39,502 INFO tcpm. MainThread connected 6.391 2.057 0.000 0.001 0.001 0.001 0.001 0.001

2018-05-30 10:56:11,119 INFO tcpm. MainThread connected 4.066 4.067 0.000 0.001 0.001 0.001 0.001 0.001

2018-05-30 10:56:50,075 INFO tcpm. MainThread connected 1.229 6.513 0.000 0.001 0.001 0.001 0.001 0.001

2018-05-30 10:57:42,671 INFO tcpm. MainThread connected 0.333 7.374 0.000 0.001 0.001 0.001 0.001 0.001

The whole scheme with a controller and other kit is big. The problem is in the multiplexer circuit or (and) its interface with ADC. I append the test scheme and a sequence of measurements.

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

Nothing works. Assembled scheme from the AD7705 datasheet page 41, assembled my scheme, with resistors at the mux input, without resistors at the mux input, with connection 0 mux and ADC to 0 battery and without, in buffered and unbuffered mode of ADC. The voltage measurement is still incorrect. The ADC measured value at one input of the multiplexer depends on the voltage at the other input. And when I turn off the power of the multiplexer the inputs of the multiplexer without input resistors very heavily load the battery. What I doing wrong? MUX inputs scheme? My previous scheme assembled on the relay gives stable results of voltage measurement. In theory, it is possible to develop this scheme on multiplexers, or it is better not to waste time and leave the circuit on the relay?

enter image description here

(the text has been edited) I do not plan to power the multiplexer from the top of the battery stack, because the all battery stack is 48 volts but the power supply of the multiplexer is 16.5 volts max. And I dont need it.The entire battery is connected to the charger and I do not need to get power from it. I tried to isolate the power supply circuit using differential inputs and a DC/DC converter. I just need to measure the voltage on each cell of the battery. And now I made the test circuit (added to post) to just to understand - why voltage behave strangely. If I could to understand this then the entire circuit with 8 batteries can be assembled without problems.

I use a two-channel power supply for testing instead of batteries and DVM Fluke 27II for measurement. Set A0=A1=A2=0V ENA=+5V to use only the first port mux S1A S1B. Now set the supply voltage CH1=6 volts, CH2=0 volts. On the digital voltmeter we have 0.790 volts. I'm increasing the voltage onCH2. CH1=6V CH2=3V, and on digital voltmeter we have 0.774V. Continue increasing the voltage on CH2. CH1=6V CH2=6V, and on digital voltmeter we have 0.757V Why is this happening? Why the output voltage of the multiplexer decreases with increasing voltage CH2? How to fix?

\$\endgroup\$
  • 1
    \$\begingroup\$ Your schematic is unhelpful. Please draw the full schematic showing power supply voltages. I also believe that this circuit will never work without significant redesign. \$\endgroup\$ – Andy aka May 30 '18 at 11:08
  • \$\begingroup\$ ADG507 Single Supply VDD= +15V, VSS= GND = 0V The microcontroller controls the selection of the multiplexer ADG507 port ENA A0 A1 A2 and reads the value from the AD7705 over the SPI interface. The measurements are very accurate if the voltage is measured without ADG507, directly on AIN1 AIN2. I think that the problem is in the multiplexer ADG507 connection scheme, or ADG507 can not work at all in this mode. Before that, I used to connect to each battery element a relay. Everything worked and works correctly. \$\endgroup\$ – Sergey I. May 30 '18 at 14:07
  • 1
    \$\begingroup\$ You're wasting your time adding this information as a comment. Amend your schematic. Show all the supply voltages and explain where the battery bank connects through to 0 volts. \$\endgroup\$ – Andy aka May 30 '18 at 14:11
  • \$\begingroup\$ The whole scheme is assembled on the breadboard. Everything is in development. I change and modify a lot. But this part of the circuit was designed by me just like this. Arduino Uno manages the multiplexer and communicates with the ADC by SPI interface. Arduino Uno connect with a PC using the modbus protocol. I just needs the advice of an experienced engineer, whats wrong in the multiplexer scheme. Why the voltage rise at one input affects the measured voltage at the other input. \$\endgroup\$ – Sergey I. May 30 '18 at 19:19
  • 1
    \$\begingroup\$ Draw on the power supplies and all of them. Show how the batteries connect to 0 volts or are they totally galvanically isolated except for connections to the mux. I won’t ask again. \$\endgroup\$ – Andy aka May 30 '18 at 20:28
1
\$\begingroup\$

Here's the problem as I see it: -

enter image description here

When you have the battery system going through the multiplexer because there is no galvanic connection to a reference on the measurement side, the differential output from the mux will be the battery voltage but it could be "lifted" with a common-mode voltage up to maybe 12 volts (for instance). So the diff voltage is fine but it is highly likely that the input to the ADC will far exceed its range of GND to Vdd - read the data sheet on page 5 and look for

Absolute/Common-Mode AIN Voltage

\$\endgroup\$
  • \$\begingroup\$ Today I tried to make measurement (scheme attached). All measurements are correct until the batteries are connected in series. If the batteries are connected in series, the measured voltage at the first input changes immediately \$\endgroup\$ – Sergey I. May 31 '18 at 9:27
  • 1
    \$\begingroup\$ @SergeyI. yes I read what you said under your question and the likely reason is what I've said in my answer. \$\endgroup\$ – Andy aka May 31 '18 at 9:31
  • \$\begingroup\$ In the DataSheet is a scheme on page 41. I will try. I did not want to have a common zero with the battery. \$\endgroup\$ – Sergey I. May 31 '18 at 10:59
  • 1
    \$\begingroup\$ Ask yourself about page 41 (1) is there a sensible reason to power the mux from the top of the battery stack? (2) is there a sensible reason to ground the mux to the bottom of the stack? (3) is there a sensible reason for using the resistors on the inputs to the mux? (4) do those resistors form a significant potential divider with the resistors grounding the output of the mux? Think about this and learn! \$\endgroup\$ – Andy aka May 31 '18 at 11:10
  • \$\begingroup\$ Added study results... \$\endgroup\$ – Sergey I. Jun 1 '18 at 7:27

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.