I am a looking for a way to control the output voltage (ideally -3 to +3) from 0 to 3.3v without PWM. I have tried DACs (DAC8534 and MCP4725) and they give me the control over the voltage. However, I need the output current of the pin to be at least 100mA where the DAC only gives you maximum of 25mA.
I am trying to control a analogue device that needs the voltage to be between -3 to +3 with a typical current draw of 100mA.
Can it be a (very good) filtered PWM signal ? For 100mA, my first choice would be a filtered PWM signal.
What kind of device is it ? Is the analog signal slow ?
You can use a DC-DC converter for -5V (or use a isolated 5V). But I don't know if those can have an input of only 3.3V.
The analogue signal needs to be fast. The device is a pixel of an electrochromic display. Therefore, it cannot be slow. I have tried PWM and the output is not fast or accurate enough. Do you know how the e-link displays driver works? I need something similar with low voltage.
The DAC8534 has SPI interface (fast) and MCP4725 has I2C (not so fast).
You can use a special DAC which has a high power output, but this is something for a power OpAmp as a buffer.
Can you use the DAC8534 for output of 0...3.3V and a OpAmp/Buffer for -3 to +3V ?
The LT1010 is a buffer, but it has a unity-gain, so an extra normal OpAmp is needed to map the voltage into the negative range, as is shown in the circuit : LT1010 Datasheet and Product Info | Analog Devices
With the Arduino Due, up to 16-bit PWM is possible, where both fast and precise control of a signal with 6V span could be made (could use an opto-isolator / transistor / filter circuit). This is some possibilities:
16bit @ 1.281kHz for 0.0916 mV / step
15bit @ 2.563kHz for 0.1831 mV / step
14bit @ 5.127kHz for 0.3662 mV / step
13bit @ 10.254kHz for 0.7324 mV / step