Electronic – Offsetting Op-Amp output offset in combination with charge pump

charge-pumpdc/dc converteroperational-amplifier

I want to have a +-12.0V square wave output from an opamp fed from a 3.3 and 5V power supply. The signal is 2.5kHz with a low duty cycle of 3-10% generated by an MCU. Peak voltage at both ends need to be within 0.1V from +-12V. The load I am driving is 1kOhm so max 12mA. The slew rate requirement is 20V/us.

I have have tried a 5V to +-12V DC/DC converter as well as chargepump a. Given the low load I would think a chargepump is the most econimical. Using rail to rail opamps gave me 11.9V but I have never found an opamp with high enough slew rate. Meaning the rail to rail opamps seemed to0 slow.

Then I have searched for ‘trimmable’ charge pumps at say +-12.5V that would drive a faster opamp with a 0.5V output drop but have just not found it.

Was just wondering if you guys could help me with this. My situation is just easier with a more accurate 12V output. Even 11.9 has some downsides. Thanks


EDIT:
Built the circuit per first answer. It works great!. Albeit the output is inverted. I solved this by modifying the circuit. Removed the inverting transistor for the +12V and added a second inverting transistor for the -12V side. But other than what I had expected, the circuit became clearly 'slower' in the second, non-inverting case than it was in the inverting case per the first answer.

I learned (by doing) that switching at 3.3V is slow and at 12V it is fast. What I do not understand is why the transistor M22 that I added makes the circuit slower. It is switched at 12V. What can I do to make my signal faster? (note that I simulate at 1Mhz and will build at 2.5kHz).

Top schematic: inverting, bottom: non-inverting:
Top schematic: inverting, bottom: non-inverting

Response graphs of OUTPUT (inverting schema) and OUTPUT2 (non-inverting schema). Clear that OUTPUT2 is 'slowish'.
enter image description here

Probably better way to switch a -12V signal with at the inverse of a 3.3V signal than what I have done. Help appreciated!!

Best Answer

You can use transistors as so.. assuming you have solid +/-12V rails available (you could use a +/-15V DC-DC converter and linear regulators):

This circuit uses 5 inexpensive MOSFETs and one 4-resistor resistor network to shift the MCU signals to +/-12V. The necessity to keep |Vgs| < 20V adds a bit to the complexity.

enter image description here

This will give rise/fall times in the 100ns range and voltage drop typically < 50mV.