EEVblog Electronics Community Forum
Electronics => Projects, Designs, and Technical Stuff => Topic started by: rs20 on September 02, 2014, 11:51:06 pm
-
In my projects, I often find myself wanting a bunch of control/calibration voltages that are set by the MCU, but then the MCU can just sit back and those voltages will hold steady. These analog control voltages are needed a long way from the MCU (many metres down a cable), and I need several channels (let's say, 8), so I'd prefer to generate the voltages at the remote end of the cable rather than having a 10-way cable. I can think of many approaches, but they all have little issues, so I'm wondering if there's a class of chips specially suited to this task (for example, I imagine oscilloscope frontends would probably have a need of this sort of thing for calibration/flattening of the response in a two-path FE).
-- Microcontroller + RC filters. Small R means lots of ripple or a massive C; big R means high impedance on the analog voltage and the need for a buffer. Needs to be programmed, typical uCs only have a small numbers of timer outputs.
-- DACs -- the only issue I see here is that presumably, you have to keep streaming data to a DAC for it to work. I'd much prefer a set-and-forget model of operation.
-- An array of digital pots -- this would probably work fine, although dpots are presumably optimized towards effectively multiplying an input signal by the programmed multiplier. A device optimized towards just maintaining a steady output might be better at that job. This is probably the way I'd go in the absence of further advice.
Any part numbers or advice would be greatly appreciated.
-
You will need to figure out first if you want a closed-loop system or an open loop system.
In the simplest form, you could start with something like a 7805 (or 317), and use a mcu to generate a set of analog voltages (pwm or dac or digital pots), and call it a day. The adj or gnd pin on a 7805 has very high impedance so this would work fine.
A more complicated form would require adc sampling of the output signal and adjusting the mcu's analog output to compensate for errors.
Still more complicated would be to use a smps (chip or otherwise) and use the pwm output from the mcu to control the output voltage.
Each approach has its own set of issues and advantages. All very simple to implement until you close the loop and / or demand fast responses.
-
As to chips, many in the PIC24 family has 5 dedicated pwm generator + 5 timers, for a total of 10 pwm outputs, not to mention software-based pwm generators.
TI's LM4F has 12 timers / pwm generators, all in hardware, plus a systick timer, for a total of 13 pwm outputs.
...
The list is limitless.
-
You can get quad- and octal- channel DACs with SPI or I2C interfaces. Set them once and leave them - no need to constantly refresh. Maxim and TI spring to mind, there may be others.
sca
-
Thanks for the replies Danny,
I'm going for open loop, I just want my MCU to be able to say "you there, output 2.3V" and have that happen. And I'm assuming that I have a stable +5V to start off with that's as accurate as I need it to be, so no need for a 7805. Good to know about those alternative chips, but I was hoping to avoid programming anything :-).
You can get quad- and octal- channel DACs with SPI or I2C interfaces. Set them once and leave them - no need to constantly refresh. Maxim and TI spring to mind, there may be others.
Awesome, this looks like a winner. Thanks!
-
Some digipots (and maybe even some DACs?) are available in nonvolatile versions if you REALLY want a set-and-forget solution.
-
Another option is using a CMOS type input opamp like the TL072 and an analog much like the 4067. Just charging a capacitor at the + input of a CMOS opamp can make it hold it's output voltage for a considarable period. A lot of test equipment uses this method to get all kinds of calibration voltages from one precision DAC.
-
Octal rail-to-rail voltage output DAC from Linear with SPI-interface available with 12-, 14- or 16-bit resolution.
Easy to use SSOP-16 package as well.
http://www.linear.com/product/LTC2620 (http://www.linear.com/product/LTC2620)
-
Like sca says, there are lots of multichannel DACs with serial interfaces that are ideal for this sort of application. Serial interfaces allow easy remote operation with a minimum of wiring.
In the past when DACs were expensive, it was common to use one DAC and an analog multiplexer to set the voltage on small capacitors which were then buffered with low bias current voltage followers or amplifiers. This requires only a slow periodic refresh cycle.