Author Topic: bare bones charge pump  (Read 895 times)

0 Members and 1 Guest are viewing this topic.

Offline OM222O

  • Frequent Contributor
  • **
  • Posts: 558
  • Country: gb
bare bones charge pump
« on: July 14, 2019, 02:33:14 pm »
I need to generate a negative rail for my op amps from a +12V input. The simplest way would be a an inverting charge pump and I do have two schottky diodes and suitable capacitors, the problem will be the oscillator ... I'm not sure how to create one using the parts I have on hand (some transistors and mosfets, capacitors, resistors and MCP6002). mos people have recommended a 555 or comparator based oscillator but I don't have any on hand.

I'm currently traveling, so if I can make the circuit with what I have (I'm not sure how to purchase chips here), that would be preferable.Before I travel, I bought a 7912 LDO not realizing that it needs a negative supply to begin with  :palm:

The main issue is that the MCP6002 has a max VCC of 6V and even with an inverting charge pump, I can get about -4V (fed from a 5V LDO) which is 1/3 of the -12V goal. maybe I can cascade them somehow? even then I'm not sure about the output current capacity? maybe I can create the oscillator with the op amp and use the transistors as a voltage and current booster stage?

Edit: the current goal is about 100 to 150mA (which I know is a bit large for a charge pump)
« Last Edit: July 14, 2019, 02:39:40 pm by OM222O »
 

Offline StillTrying

  • Super Contributor
  • ***
  • Posts: 2117
  • Country: fi
  • Country: Broken Britain
Re: bare bones charge pump
« Reply #1 on: July 14, 2019, 03:29:05 pm »
Producing a stable -12V @ 150mA from what you've got is just about impossible, :) I think you're going to have to change something.
CML+  That took much longer than I thought it would.
 

Offline Audioguru

  • Super Contributor
  • ***
  • Posts: 1508
  • Country: ca
Re: bare bones charge pump
« Reply #2 on: July 14, 2019, 03:39:53 pm »
Opamps work fine without a negative supply if you bias the (+) input at about half the supply voltage and use coupling capacitors for input, output and feedback ground.
 

Offline duak

  • Frequent Contributor
  • **
  • Posts: 644
  • Country: ca
Re: bare bones charge pump
« Reply #3 on: July 14, 2019, 04:03:16 pm »
Looking up "opamp relaxation oscillator" returns a number of links.  Here's one: http://www.analogzoo.com/2015/01/relaxation-oscillator-design/

Are you able to take it from here?
 

Offline David Hess

  • Super Contributor
  • ***
  • Posts: 9902
  • Country: us
  • DavidH
Re: bare bones charge pump
« Reply #4 on: July 14, 2019, 05:35:37 pm »
If you have transistors available, then a 2 transistor astable multivibrator will do it.
 

Offline OM222O

  • Frequent Contributor
  • **
  • Posts: 558
  • Country: gb
Re: bare bones charge pump
« Reply #5 on: July 14, 2019, 06:51:51 pm »
this is the circuit I've come up with so far:
784926-0

although it has quite a lot of issues already:
-the 10 ohm resistor will dissipate a LOT of power
-the voltage doesn't really reach -12V and is not regulated

I'm not sure how to add another stage to increase the output voltage to about -24V, then I can use the LDO to reduce noise,improve load regulation etc.

Also I'm not sure how to increase the output power. 2 things that I found that help are:
-increasing C2 and C3 capacitor values
-reducing R5

but R5 needs to be an order of magnitude larger (or two orders for that matter!)
capacitor values can be so large without going insane ... 4700uF capacitors are gigantic but I have two on hand so I can use them as a last resort.

I have more op amps available. is there a way to somehow put these circuits in parallel to boost the output current?

Edit: here is another simulation with a 100ohm load (output voltage drops to about 10 volts):
784938-1
« Last Edit: July 14, 2019, 07:01:51 pm by OM222O »
 

Offline StillTrying

  • Super Contributor
  • ***
  • Posts: 2117
  • Country: fi
  • Country: Broken Britain
Re: bare bones charge pump
« Reply #6 on: July 14, 2019, 07:15:44 pm »
Instead of Q1 and 10R a PNP+NPN follower might be better, base to base and emitter to emitter, collectors to the supply.
CML+  That took much longer than I thought it would.
 

Offline patrick1

  • Contributor
  • Posts: 49
  • Country: au
Re: bare bones charge pump
« Reply #7 on: July 14, 2019, 07:33:48 pm »
have you got a spare spade or shovel ? or even an anvil ?. - transformers are not that* hard too work with....
 

Offline MagicSmoker

  • Super Contributor
  • ***
  • Posts: 1183
  • Country: us
Re: bare bones charge pump
« Reply #8 on: July 14, 2019, 08:57:26 pm »
I need to generate a negative rail for my op amps from a +12V input
...
Edit: the current goal is about 100 to 150mA (which I know is a bit large for a charge pump)

Yeah, this is a bit more than is usually tolerable with a charge pump. Are you sure you need that much current just for supplying a few op-amps? I mean, unless they are high speed, current-feedback types they are unlikely to require more than about 5-10mA each.
 

Offline Audioguru

  • Super Contributor
  • ***
  • Posts: 1508
  • Country: ca
Re: bare bones charge pump
« Reply #9 on: July 14, 2019, 10:15:22 pm »
Please post your high current opamp circuit that needs a +12V and -12V supply and we can show how we can simplify it.
 

Online John B

  • Regular Contributor
  • *
  • Posts: 219
  • Country: au
Re: bare bones charge pump
« Reply #10 on: July 14, 2019, 10:33:01 pm »
Firstly, is this actually an audio circuit? If there's only a few op amp stages, a half rail solution can work, but they do get annoying when you want to add in more stages and volume control.

150mA is achievable with a charge pump, but the issue is the output impedance. I made a synchronous charge pump out of 2x 555 where the second is 180 degrees with the master timer. It reduces the ripple and output impedance.

I think I drew a max of 200mA from it, but can't remember the negative voltage (it was being fed from +12V). You will get a lot of voltage drop maybe leaving you with only -4V or so.

100mA maybe quite workable, but then don't forget the voltage drop from the linear regulator. Also the output of a charge pump really needs an LC filter.
 

Offline ledtester

  • Frequent Contributor
  • **
  • Posts: 534
  • Country: us
Re: bare bones charge pump
« Reply #11 on: July 14, 2019, 11:01:57 pm »
FWIW, this video covers charge pumps circuits to produce both negative voltages and voltage doublers/triplers:

https://youtu.be/T47TYuLDtrs
« Last Edit: July 14, 2019, 11:03:34 pm by ledtester »
 

Offline OM222O

  • Frequent Contributor
  • **
  • Posts: 558
  • Country: gb
Re: bare bones charge pump
« Reply #12 on: July 15, 2019, 04:10:32 am »
Yes, it is somewhat an audio circuit  :P
I want to use my PC/Phone as a signal generator in a pinch (there are quite a lot of tone/signal generator apps available for that). I have already created the circuit to manipulate the signal which consist of multiple amplifier stages: First is a non inverting amplifier with adjustable gain(or a attenuator with unity gain follower) for the "volume" control. Then it is fed to a instrumentation amplifier (INA122 with a fixed gain of 5). Then there is a summing amplifier which is used to add a DC offset, followed by another inverting stage to get rid of the inversion in the summing stage.

I know it's a bit too complicated but that signal is then used to test a few different circuits so I need control over all aspects of the waveform. The -12V rail will be used for the DUT as well, not just the op amps and the actual max current is about 50-60mA. I just want some margin and if I can use multiple oscillators and charge pumps to achieve 100mA, I think it's worth doing so, just in case I need to change the circuits which might consume more current.

Edit: I tried simulating a push pull (class B amplifier) but the issue is that the switching voltage is only as high as the op amp voltage and as I mentioned, the MCP6002 can only be powered from 5V. I tried making a "Not gate" from an NPN and a 10K resistor which worked fine and boosted the PWM voltage to 0 to 12 instead of 0 to 5.I then followed that with a class B amplifier again and the output of that was correct too! I then tried connecting the inverting charge pump and LTspice crashed!
I then tried putting a 1K load on the charge pump which only resulted in massive noise spikes and another crash! is there something I'm doing wrong with the simulations? How can I boost the output voltage without creating so much noise? using the resistor approach, I couldn't spot much noise, so I'm not sure why it exists? maybe that resistor was slowing the charge and discharge time of the capacitors and reducing the noise?
« Last Edit: July 15, 2019, 08:46:40 am by OM222O »
 

Offline MagicSmoker

  • Super Contributor
  • ***
  • Posts: 1183
  • Country: us
Re: bare bones charge pump
« Reply #13 on: July 15, 2019, 09:26:00 am »
...Then it is fed to a instrumentation amplifier (INA122 with a fixed gain of 5).

You go with an IA when you have to amplify a small differential signal in the face of high common mode voltage (a load cell in a Whetstone bridge, a high-side current shunt, etc); neither apply when a phone's headphone jack is your signal source: the signal level is high and there is no common mode voltage.

...I then tried connecting the inverting charge pump and LTspice crashed!

Hmm, LTSpice has never crashed on me, though I have often brought it to its proverbial knees with Defcon 1 warnings and time steps dropping down into the picosecond range... You're probably going to have to post your LTSpice .asc file if you want others to help you on this, then.

 

Offline OM222O

  • Frequent Contributor
  • **
  • Posts: 558
  • Country: gb
Re: bare bones charge pump
« Reply #14 on: July 15, 2019, 12:25:55 pm »
...Then it is fed to a instrumentation amplifier (INA122 with a fixed gain of 5).

You go with an IA when you have to amplify a small differential signal in the face of high common mode voltage (a load cell in a Whetstone bridge, a high-side current shunt, etc); neither apply when a phone's headphone jack is your signal source: the signal level is high and there is no common mode voltage.

...I then tried connecting the inverting charge pump and LTspice crashed!

Hmm, LTSpice has never crashed on me, though I have often brought it to its proverbial knees with Defcon 1 warnings and time steps dropping down into the picosecond range... You're probably going to have to post your LTSpice .asc file if you want others to help you on this, then.

the INA122 is the lowest noise and offset op amp that I have on hand. it's probably overkill, but hey, I don't have many options right now.just the chips that I have in my SMD box. it works quite well, so no complaints there!

after the LTspice crashed, I went back and this time increased the base resistor values and dropped the capacitor values, added a second inverting stage and a few other minor tweaks and this time it works fine.

785694-0

I initally assumed the 13V is due to high current load (100mA constant load) but after dropping it to 10mA the voltage was still only 13v! I checked the PWM signals and after the push pull transistors, the signals are about 8 to 8.5V, instead of the expected 12V. is there something loading down the transistors? maybe fets would be better for this application?

also on a side note: I tried a very basic inverting charge pump with the op amp oscillator. the input voltage was 4.73 and the output was about -5.2v without any load. I then tried adding a 10k resistor and the voltage dropped to -4.38. I then tried adding a class B amplifier to the output of the oscillator but the voltage dropped instead of increasing! I first tried it with TIP122 and TIP127 (output was about -3.2V) and with IRFZ44N + IRF4905 (output was -2.2V). I suspect the result of the fets is due to the fact that they are not logic level fets and won't fully turn on / off with 5V Vgs but I'm not sure why the BJTs also did worse! any comments on that?

I'm also going to attach the .asc file for the two stage inverting simulation. feel free to play around with it.
 

Online MarkL

  • Supporter
  • ****
  • Posts: 1536
  • Country: us
Re: bare bones charge pump
« Reply #15 on: July 15, 2019, 12:48:12 pm »
How about a DC-DC converter instead of a charge pump?  There are some inexpensive non-isolated ones that can be connected to produce either positive or negative outputs.

For example, the CUI VXO78012-500 can give you -12V regulated @ 150mA, USD$2.36:

  https://www.cui.com/product/resource/pdf/vxo78-500.pdf
 

Offline OM222O

  • Frequent Contributor
  • **
  • Posts: 558
  • Country: gb
Re: bare bones charge pump
« Reply #16 on: July 15, 2019, 12:54:01 pm »
How about a DC-DC converter instead of a charge pump?  There are some inexpensive non-isolated ones that can be connected to produce either positive or negative outputs.

For example, the CUI VXO78012-500 can give you -12V regulated @ 150mA, USD$2.36:

  https://www.cui.com/product/resource/pdf/vxo78-500.pdf

Only if I could ... at the first post I mentioned that I'm traveling (Iran  :palm:) so digikey, mouser, etc are out of the question since nobody ships here. I also have no clue where the local suppliers are to buy from them. making a charge pump or finding a 12v battery are my only options rn and the charge pump idea just needs a tiny bit more tweaking to work (the issue with low voltage to be regulated by the LDO) so I'd rather stick to it.
 

Offline duak

  • Frequent Contributor
  • **
  • Posts: 644
  • Country: ca
Re: bare bones charge pump
« Reply #17 on: July 15, 2019, 09:52:26 pm »
Here is a complementary clock driver with low voltage loss using bipolar transistors.  I use Linux and the only circuit design package I have right now is Oregano and it has many, many bugs that I don't have time to fix.  I hope it will give you an idea of how to proceed.

The Input square wave is applied to V1 and the complementary outputs are the two test points.  The output devices are connected as common emitter to minimize voltage loss by being saturated.  Q3 & Q4 are drivers that use the same current twice to drive the complementary output devices out of phase.  D1 & D2 should be 8.2 or 9.1V - high enough so that only one conducts at one time.  An improvement would be to use a diode gate so that operation isn't so dependant on supply voltage.

The 2N2219/2N2905A transistors shown should be capable of about 150 mA but are not the best choice.  Something capable of 1 A or greater would be better.
 

Online Ian.M

  • Super Contributor
  • ***
  • Posts: 8011
Re: bare bones charge pump
« Reply #18 on: July 16, 2019, 12:55:10 am »
Hmmmm.  I'd be concerned about shoot-through.  Also is it fast enough? 

The size of the capacitors required in a charge pump is inversely proportional to the frequency and directly proportional to the required output current so there is a strong incentive to use a fairly high operating frequency.

Another concern is output voltage sag under load - if you need symmetrical rails, you are going to need a voltage doubling charge pump + post-regulation.  With Vcc much greater than typical Vbe drop and Vce_sat losses that removes most of the incentive to drive as close to rail to rail as possible, as a doubler will have fairly generous headroom for post-regulation anyway.


If you've got a suitable choke and  P-MOSFET for the high side switch, you might well be better off cobbling together a switched mode inverting buck-boost converter.  The controller could be scratch-built from discretes and OPAMPs.


@Duak: Can't your system run LTspice under Wine?
« Last Edit: July 16, 2019, 12:57:27 am by Ian.M »
 

Offline duak

  • Frequent Contributor
  • **
  • Posts: 644
  • Country: ca
Re: bare bones charge pump
« Reply #19 on: July 16, 2019, 06:15:28 pm »
Ian.M - I'm an old retired guy with too many things to do in the twilight of my life - I'm helping a friend with racing a Bugeye Sprite and still trying to finish up a renovation.  Until then my lab and workshop is so full of crap that CAD is the least of my problems.  I came from a time when the company paid $$$ for SPICE and CAD (PCAD and then Protel/Altium) and there was no way to get it to run at home with the licensing or copy/execute protection.  I never used SPICE much professionally but decided to at least try something simple so I went for Oregano - not a good idea.

So, LTspice under Wine is the way to go?  I downloaded a copy of Eagle CAD recently but haven't installed it yet.  Is Eagle a good choice and does it work with LTspice?

Thx & Cheers,
« Last Edit: July 16, 2019, 08:14:33 pm by duak »
 

Online Ian.M

  • Super Contributor
  • ***
  • Posts: 8011
Re: bare bones charge pump
« Reply #20 on: July 18, 2019, 12:02:30 pm »
There's little dispute that LTspice has one of the best SPICE engines and most comprehensive component libraries* of all freeware or non-crippled free demo PC SPICE packages.  Its UI is somewhat clunky but is consistently usable. Where you'll find it lacking when compare to payware SPICE programs is presentation of results. e.g. It lacks pretty on-schematic 'meters' - you have to open the error log to see .measure results or click a trace in the waveform viewer to put a cursor readout on it. 

Although its developed primarily to run on Windows, its development team actively check for WINE compatibility, so you shouldn't have much trouble getting it running on any 'mainstream' x86 LINUX distro.

Unfortunately LTspice doesn't support the package/footprint and part number attributes for each component that are essential for PCB layout, nor does it have explicit support for multiple devices in a single package, nor for tagging some parts as for sim only, so its a very poor schematic editor for PCB layout.  If your layout package can import from LTspice, you'll need to do a lot of fixup work to assign footprints and part numbers.  Going the other way, exporting a schematic from a layout package to LTspice for simulation is much easier if your layout package supports it or has a full scripting language that can write arbitrary files.  If not, you can almost certainly export a simulatable netlist that LTspice will accept, though that looses you point and click waveform probing.

* If you include user contributed libraries from ltwiki.org and the LTspice Yahoo group.
« Last Edit: July 18, 2019, 01:05:04 pm by Ian.M »
 

Offline MagicSmoker

  • Super Contributor
  • ***
  • Posts: 1183
  • Country: us
Re: bare bones charge pump
« Reply #21 on: July 19, 2019, 04:51:17 pm »
...
after the LTspice crashed, I went back and this time increased the base resistor values and dropped the capacitor values, added a second inverting stage and a few other minor tweaks and this time it works fine.
...
I'm also going to attach the .asc file for the two stage inverting simulation. feel free to play around with it.

Your circuit is a little clunky but it simulates fine for me, even with that brutal 100mA constant current load on the output of the charge pump multipliers. That said, I do use the alternate solver and set trol to 4 instead of the default of 1.

And I agree with Ian.M that LTSpice has an excellent SPICE engine. In fact, it was what changed my mind completely about SPICE, which I had written off as totally useless (especially for SMPS design, which is what I mostly do).

 

Online Ian.M

  • Super Contributor
  • ***
  • Posts: 8011
Re: bare bones charge pump
« Reply #22 on: July 19, 2019, 06:43:31 pm »
Hmmm.  I've been playing with a sim of a brute of a voltage doubling charge pump.  It delivers -20V into 50 ohms, which is 400mA, with nearly 75% efficiency and runs at approx 950KHz to do so with relatively small capacitors.  It has a single BJT Colpitts oscillator (I assume you can scrounge up a small plain inductor) driving a BJT push-pull emitter follower buffer driving complimentary power MOSFETs.  I'm sure it needs a lot more work before a real-world implementation will keep the smoke in. I'd be especially wary of the pump's flying capacitors: 1.7A RMS is a bit much for most 330nF caps!
« Last Edit: July 19, 2019, 06:49:16 pm by Ian.M »
 
The following users thanked this post: MagicSmoker

Offline ledtester

  • Frequent Contributor
  • **
  • Posts: 534
  • Country: us
Re: bare bones charge pump
« Reply #23 on: July 19, 2019, 10:04:43 pm »
... Unfortunately LTspice doesn't support the package/footprint and part number attributes for each component that are essential for PCB layout, ...

At one point Eagle tried to support import/export to and from LTSpice. However, they've abandoned that in favor of building simulation into Eagle using the open source ngspice.

KiCad also supports simulation, and you can use LTSpice as the simulation engine.

However, it seems that the trend is to layout the circuit and initiate simulation from your PCB design application.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf