EEVblog Electronics Community Forum

Electronics => Projects, Designs, and Technical Stuff => Topic started by: maminej on April 07, 2014, 05:11:16 pm

Title: 0-10 V analog output / use of buffer
Post by: maminej on April 07, 2014, 05:11:16 pm
Hello,

I need general guidance for this problem.
I am interfacing with a laser controller and need to provide a 0 to 10V voltage to control the laser power.
I am thinking about using uC fast pwm, filtered by a low pass filter, along with a 2x non inverting op amp configuration to get 0 to 10v.
I can live with the Atmega328 255 resolution for this application.
My question is on using a transceiver/buffer to interface with the device, to isolate both circuits.
Can anybody help me with the selection of the buffer ?
Title: Re: 0-10 V analog output / use of buffer
Post by: lewis on April 07, 2014, 05:19:20 pm
You're on absolutely the right track. Power the MCU and the op-amp from the laser's PSU so the 0-10V ground is common with the MCU ground - not isolated in other words. Then, to get a control signal into the MCU, use a jellybean opto-isolator between the MCU and whatever you want to control it. This way, the isolation is on the digital side, not the analogue side, and you can use a much cheaper opto with greater reliability.
Title: Re: 0-10 V analog output / use of buffer
Post by: ajb on April 07, 2014, 05:49:21 pm
You could also put the isolator between the mcu and the low pass filter + buffer.  That way you still have the benefit of being able to use a digital isolator without an extra mcu (assuming you'll need an mcu on the outside of the isolator anyway).
Title: Re: 0-10 V analog output / use of buffer
Post by: maminej on April 07, 2014, 06:04:29 pm
Thank you all,

I like the idea ! and I will try to find a suitable opto-isolator.

If you have any suggestions, please let me know..

BTW, does anyone have a tutorial/course/reference of buffers, isolators, tranceivers ? I know some basics but I don't have ay practicle design experience with these ..
Title: Re: 0-10 V analog output / use of buffer
Post by: ajb on April 07, 2014, 06:33:23 pm
Depends on what you're trying to buffer, isolate, or transceive!

Buffers:

For most digital signals a simple logic gate will often do.  If you're buffering a potentially noisy input you'll likely want something schmitt-triggered, if you just need extra drive current then a standard input will do.  Be sure to match the logic levels you're using, as some families are compatible only in certain directions, and others not at all.  High speed signals (in the MHz ranges) may need special consideration and extremely high signals may need somewhat exotic signalling.

For analog signals, a simple non-inverting unity gain (no resistors, output tied directly to the inverting input) op-amp will generally do the job.  Be sure to select a part with suitable bandwidth and offset/noise figures for your application.

Isolators:

For digital signals, you can use an optoisolator, or one of the numerous digital isolator ICs out there.  There are even some bidirectional digital isolators that can be used on I2C lines and such.  If you're isolating for safety and need more than a few volts of isolation (like for local ground loop remediation) layout clearances become very important.

Analog signals are harder to isolate.  There are off-the-shelf devices from Analog Devices and the like, but these can be very expensive (up to ~$100 per channel!).  If you have the option, it's often easier to isolate a digital signal and do the analog-to-digital conversion on whichever side of the isolation you need it (such as lewis and I have suggested here).  If you already have an analog signal that you need to transfer across an isolation barrier you can convert it to a digital signal in a number of ways.  There's an interesting EDN article (http://www.edn.com/design/analog/4402736/Inexpensive-analog-isolation-using-a-digital-isolator) that uses a class D amplifier for this purpose.  Optocouplers can work for some purposes, but generally they're too non-linear to pass analog signals well.  There are some interesting possibilities using linear optocouplers with dual phototransistors (like  this one (http://www.ixysic.com/home/pdfs.nsf/www/AN-107.pdf/$file/AN-107.pdf?)), though. 

Transceivers:

You really have to be more specific as to what you're transceiving.   RS485? LVDS? Optical?
Title: Re: 0-10 V analog output / use of buffer
Post by: LukeW on April 07, 2014, 10:55:46 pm
Simple PWM from a microcontroller, assuming the output from the microcontroller is 5 volts, plus a couple of resistors and capacitors for filtering, plus an A=2 non-inverting opamp should work fine, and it's a pretty cheap, basic solution. Just make sure the opamp has an appropriate power supply to allow the output to go up to 10V and down to ground, depending on opamp choice. You could use something like a cheap jellybean 358 with a 12V power supply to the opamp, to give it that little bit of headroom before it hits the positive supply rail.

Maybe you can just use a small, cheap 8-pin microcontroller (eg. 8-pin ATtiny family) and simply program it to take a serial byte in and write that byte out as PWM, and stay in that state until a new serial byte is received.
And then just optically isolate that serial data line coming into the microcontroller.