I have to sense a voltage range of 0-25V dc and send to the ATMEGA 32 microcontroller. I want to use a voltage divider for sensing the voltage. But the problem is isolation is required between the microcontroller and the sensing side. For isolation I cant use optocoupler since the output of the optocoupler is not proportional to the input sensing side, other than using sensors any other ideas for isolation?

  • 2
    \$\begingroup\$ How much power is available on the isolated side? One obvious answer is to convert to digital on the isolated side and send the data digitally via opto to the micro. \$\endgroup\$ – Olin Lathrop Feb 27 '13 at 13:41
  • 1
    \$\begingroup\$ I edited the title of the post because the previous title was meaningless. All questions on the site should be about "electronic design". If the new title doesn't fit your meaning, please edit it to make it reflect the question you actually want answered. \$\endgroup\$ – The Photon Feb 27 '13 at 17:10
  • \$\begingroup\$ mbridgetech.com/pdfs/Opto-isolation.pdf has some worthwhile discussion. \$\endgroup\$ – Phil Frost Feb 27 '13 at 17:27
  • \$\begingroup\$ Depending on the response speed you need, you could do a voltage-to-frequency (or pulse width) conversion, pass the resulting digital signal through the opto-isolater and measure it with the microcontroller. This isn't necessarily any better, cheaper, or easier to implement than Olin's microcontroller-opto-microcontroller idea, but it's conceptually simpler which may be eiser to explain to some audiences. \$\endgroup\$ – Chris Stratton Feb 27 '13 at 17:35

There are a few ways to do this.

1) Convert to a digital signal and isolate that. You'd need an A/D converter of some kind on the signal-side of your isolation barrier. I've done this with CANbus and a full-scale microprocessor on the signal side, but that may be overkill for your purposes. I've also done it with SPI, which all ATMEGA 32 models I see have, and a stand-alone A/D converter. I used Microchip MCP3004, but Digikey lists hundreds that may work for you.

2) Use an analog optocoupler, like HCNR200 or LOC110. They require some external op-amps to run properly, so it's got a sizable footprint per signal. We found that the HCNR200 line held its linearity much better with temperature than the LOC110 did.

3) Use an isolation amplifier. I've only ever used the HCPL-7800, which gives output centered at 2.5V. That makes it problematic for DC purposes, but for AC it's quite nice. I couldn't comment on other varieties that might be out there.

4) Convert the analog signal to a PWM signal, and isolate that with a digital opto. I did this once, but then the fever broke. It's probably not worth the trouble given the other options.

My suggestion would be 1) or 2), depending on constraints like footprint, power consumption, and parts cost.


If you need the ucontroller and the signal on different sides of the isolator, there are analog linear isolators you can use, like the HCNR200 line. These are LEDs packaged with a pair of matched photoreceptors, and you use feedback tricks with external opamp circuits to provide a linear isolated signal.

I'm a bit concerned about the voltage range of 0V to 25V. That will certainly influence your choice of external op amps, but I'll leave the work of checking the HCNR200 current and voltage limits to you. You might have to attenuate a bit.

With these devices, the complications usually come when you need to isolate a bidirectional signal, which doesn't apply to your case.


Not the answer you're looking for? Browse other questions tagged or ask your own question.