I'm working on a sequencer (analog + MIDI) for Arduino and I've got the MIDI and trigger output (5V pulses) done,but now I need to start on the control voltage. I need to generate a multiple (6+) -10 to 10V signals (ideally with software based scale and bias) to control a modular synthesizer. PWM won't be sufficient due to resolution issues, I'd like at least 12-bits of resolution. I'm comfortable interfacing over SPI to a multichannel 12-bit DAC such as the Microchip models.
However, I'm uncertain what type of circuit I'd need to provide amplification, scale, and biase on the output from the Microchip (which is presumably 0-5V). This is complicated by the need for bipolar output and I'd ideally have a single power supply providing power to the Arduino and the amplification section.
Any suggestions for a simple circuit I could implement?
Get a 20V supply.
Use 2 resistors to make 10V, use that as floating Gnd.
Go between "Gnd" and 20V, so it looks like 10V, to power the Ardiuno.
Use 20V as +V for the DAC, the 20V Return as -10V, and the floating Gnd as Gnd.
Okay, the Microchip 12 bit DACs are all 5V supply.
So make the same floating Gnd idea, take the DAC 0-5V output and run it thru a 100uF polarized cap so the following amp sees a +/-2.5V signal.
Hi, there are many tutorials about how to use Operational amplifiers in the internet, just google, read and learn. Using the free software LTSpice you can also simulate such things. Operational amplifiers, short term OpAmps, are what you need for your purpose. The AD712 is a good but not very cheap candidate for your purpose, I did something very like the same with these things. Go for a +/-15V and not +/-10V supply because those OpAmps don't work well when they should output something near their power rails. By using the simple cuircuit-blocks with OpAmps (you even find those on Wikipedia) do a first block that subtract 2.5V from the input - or alternatively: add -2.5 which does the same. This way you can get from +0..+5V to -2.5...+2.5V. Then put the signal through an non-inverting amplifier (done with OpAmp) that has a gain of 4 and you are done.
I'm also currently working on a modular synth with arduino based cv-interface.
I use the MCP4922 DAC without problems, but don´t forget using a 1K-resistor on each output DAC!
I found a good basic schematic (MPC instead of the MAX): but I have only used and tested the circuit with the DAC´s but gate and trigger looks also good. http://wolf.schuster.ws/wordpress/wp-content/midi2cv-main-schematics.pdf
You need some bias adjustments (voltage offset). Simply add to the final stage of CV a 100k potentiometer with 10k (or less) to GND and 10k to -15v summing the middle output with CV-Out (dirty way) or use two blocks as described above to get -10 to +10V
ModNexus:
I'm working on a sequencer (analog + MIDI) for Arduino and I've got the MIDI and trigger output (5V pulses) done,but now I need to start on the control voltage. I need to generate a multiple (6+) -10 to 10V signals (ideally with software based scale and bias) to control a modular synthesizer. PWM won't be sufficient due to resolution issues, I'd like at least 12-bits of resolution. I'm comfortable interfacing over SPI to a multichannel 12-bit DAC such as the Microchip models.
However, I'm uncertain what type of circuit I'd need to provide amplification, scale, and biase on the output from the Microchip (which is presumably 0-5V). This is complicated by the need for bipolar output and I'd ideally have a single power supply providing power to the Arduino and the amplification section.
Any suggestions for a simple circuit I could implement?
You can't do -10..+10V output with a single rail power supply. However you could have a +12V power supply (which can also power the Arduino) and use a DC-DC converter to generate -12V to feed the amplifier. Here is a possible design for the amplifier.
An improvement to that circuit would use a precision, low-drift 2.5V voltage reference (rather than a pair of resistors between Vcc and ground) to generate the 2.5V input to the op-amp.
Nantonos:
An improvement to that circuit would use a precision, low-drift 2.5V voltage reference (rather than a pair of resistors between Vcc and ground) to generate the 2.5V input to the op-amp.
As my circuit stands, subject to resistor tolerances it will generate 0V output when the DAC is commanded to produce an output that is half of full scale, because the DAC is using the same 5V supply as voltage reference that is producing the 2.5V input to the op-amp. If you use a 2.5V precision reference for the op-amp instead, while still using the 5V supply as the DAC voltage reference, then the command you need to send to the DAC to produce 0V at the op amp output will depend on the 5V supply. So using a precision reference in this way is not an improvement IMO. To make an improvement, you should use a precision voltage reference (e.g. 4.096V) to feed both the voltage divider that feeds the op amp and the Vref input of the DAC.