Galvanic isolation of DAC output

Goodday to you all,
I am wandering anybody could help me (newbie) on the following subject:
Galvanic isolation of output of the Arduino Due.
Situation:
The Arduino is imbedded in a system to measure and control voltages (a bit like a battery monitor system). The

ground (0) of the Arduino is hard wired to the ground (0) of the battery system under test. The battery consists

of several "stacked" cells in series. The most simple form is 2 12V batteries forming a 24V battery bank. With

some voltage dividers we can measure all voltages we want, being ground(0) or 12V or 24V, ofcourse all relative to

the ground (0) of the Arduino.
Our galvanic isolated controller, which is 12V, however is though a relais coupled to an individual cell. Therefor

the ground (0) of the controller is floating. In the example it might be coupled to the first cell, than the

ground of both the controller and the Arduino is the same i.e. 0. However when it is coupled to the second sell,

it's ground is the 12V level of the Arduino.
The controller need an voltage input referenced to the ground of the controller. Basically a voltage ranging from

1,11V through 1,24V.
the Arduino has an DAC output (2 even) which runs from 0,55V through 2,75V (1/6 through 5/6 of the reference

voltage 3,3V) when the digital value outputted is running from 0 through 4095. So our desired voltages would be

reached with digital numbers between 1052 through 1281. Which gives a resolution of 229 points in 0,13V which is

good enough for us right now.
We have available regulated voltages external from Arduino at 9V and 12V levels, all wired to ground (0) of

Arduino, as well as the regulated voltages of the Arduino itself at 3,3V and 5V.
And we have the cell voltage which we can use to power a regulated power supply with ground wired to the cell

negative pole.
What we forget to tell you is that there are at present 2 controllers to control. The above described system is

double executed, each using a DAC from the Arduino. Since there are 2 DAC's on board, that would be fine.

Question:
How do we make the DAC output of the Arduino isolated from ground. This is a hardware question. We have heard of

linear opto-couplers, but cannot find a viable solution.

Related question:
Ofcourse we can also use a digital output of the Arduino, isolate this output, and than use a separate DAC to

steer the isolated controller. Would this be a better solution than going for the DAC's of the Arduino? What

hardware would we need for this option?

Thanks in advance for the input.

Ronald

You could opto-isolate a PWM output and filter it to a DC voltage on the other side.

:smiling_imp: Like most males, I have a touch of ADD and I don't have the patience to read & study all of those words, especially without a schematic. :smiling_imp:

It's difficult to isolate a DC analog-variable signal.* So, the normal approach is to isolate the whole Arduino. That means isolating the Arduino's power supply.

For example, a hand-held multimeter may have the battery's negative terminal connected to the meter's negative/black probe,** but there is no other "ground" connection to the outside world.

An AC powered multimeter has the AC power isolated with a transformer. The power-line/earth ground connects to the chassis, but not to the internal electronics. So again, the only outside connection to the low-voltage ground is the negative/black probe.

If you want battery power, and you don't want a separate battery for your isolated Arduino, you can use an isolated DC-DC converter to power your Arduino. (The isolation is provided by a transformer in the DC-DC converter.)

  • Constant DC, or digital signals can be isolated with an opto-isolator or relay, AC signals can be isolated with a transformer.

** The negative/black probe may go to the negative input on a differential instrumentation amplifier, so there may may be no direct connection to low-voltage ground, but there is an indirect connection so the circuit board must be isolated from outside/earth ground.

All optocouplers are analog devices. They output a current that is proportional to the input. We just normally only give them two different currents and treat the output as digital.

However an optocoupler is a pretty bad analog device. Their performance changes with age and there is a lot of variation between individual devices. You would have to calibrate each individual DAC output and re-calibrate regularly, like every year.

The Due DAC is also a pretty bad DAC. There's a lot better ones out there, with SPI or I2C interfaces. Those digital interfaces are much better suited to optocoupler isolation. If there's some way of powering the DAC from the external circuit, then you can have a nearly unlimited number of them connected to one Due with their own isolators.

Linear opto-couplers are special, they use optical feedback to linearize their response and perform well,
as well as the matching of two photo-diodes.

PWM is probably a good solution though, especially from the Due with its fairly hopeless DAC.

I presume low bandwidth is all that's needed?

Thanks for the answers.
To isolate the whole Arduino seems difficult to me: I need a ground on in input and another ground on output. I understood you cannot have 2 different grounds within the Arduino. Ofcourse we can isolate the power supply easlily, but that seems to not be the answer.

Keith and Mark mention opto-isolation of PWM, do you have an example how this could be achieved?

Yes, it's low bandwidth (if I understand the remark): the DC voltage required to be ouputted varies between it's max and min value only at rates 0,1V each second or so. It is even not allowed to change more quickly.