According to Pete: Charge Pumps

It's time for another visit with everyone's favorite Director of Engineering!

Favorited Favorite 0

We’ve left Pete to his own devices for a while now, so it’s time to drag him into the spotlight for another edition of According to Pete! This time around, Pete is taking us on a journey through the world of charge pumps to power some LED strips. Charge pumps are great for creating high power sources with high efficiencies. Specifically, Pete dives into the Dixon charge pump configuration and all its many possibilities.

As always, if you have any questions, comments or suggestions for other topics for Pete to cover, leave ‘em in the comments. See you next time!

Comments 18 comments

  • Great video, Give me lots of ideas. Can you do a video demo on the sparkfun Geiger Counter (SEN-11345) using the Arduino and the code for doing this.

  • I’ve been teaching myself electronics, because reasons. The goto book for this has been Art of Electronics, which initially was dry and impenetrable. Then I watched all of the According to Pete videos. It’s been a lot like the lectures that I needed for the course text. And, while you read AoE, if you imagine Pete reading it out loud in the same way he presents these videos, it works really well and fits the way the book is written. Makes reading it a lot more fun.

    I think Pete has managed to cover the majority of the text.

  • Yet another really great presentation, Pete! As always your video’s leave me hungry to learn more about various circuits (charge pumps and voltage multipliers this time round) and it’s honestly extremely helpful. I find that I get enough to usually create some sort of test circuit, a high level of theory with a healthy dash of math to make sense of things. Just awesome!

    I wondered if it’d be possible for you or one of the other amazing people on this forum to share a simple circuit to drive the charge pump circuit you described via analog only means, maybe based on a 555 timer for a simple clock pulse? Or is it your/forum members preference for folks to have a try and creating a circuit, posting it and asking questions based on that? I don’t wanna be a help vampire or being asking you or anyone else to design my goodies for me, I’m just looking for the most dead simple analog approach to driving a charge pump to learn more about them without hooking up my Arduino to try and drive it as I wouldn’t think that’d really be the best way to go (not being an Electronics Engineer it’s entirely possible that using a Mcu is absolutely the right way for some set of reasons I know nothin' about).

    Anyways, I really liked this latest video!!

  • Enjoyed the presentation and the comments below. Thank you for another lesson.

  • Isn’t the 2n2222 an NPN transistor? The schematic on the whiteboard seems to show it as PNP

    • Yep, sure enough P2N2222 is NPN and the symbol is incorrect.

      • The circuit does need a PNP transistor there to switch the high side. It looks like the P2N2222 designation is the incorrect bit.

        • Ach… yeah, you guys are totally right. I answered for it in the youtube comments (of all places).

  • What happened to #42? Hang on, let me find my towel.

  • I first learned about charge pumps many moons ago. I built a high voltage charging circuit for a photoflash cap – something like 220uF@450V. I started out with an inverter turning 12VDC into ~100VAC and then running it through a four stage Cockcroft-Walton voltage multiplier. At the time, I didn’t access to a good, high current flyback transformer, nor the knowledge to build the drive circuit. The output of the photoflash cap was used to drive each stage of a coil gun. Took me to state level science fair competition.

    In reference to the timing jitter from the RedBoard. The Atmel timer/counters can be configured to generate complementary PWM signals with dead time. See section 3.1.3 of App Note AVR447 for an explanation. Since you are using a fixed duty cycle, the concern for updating duty cycle values in parallel goes away. This does, of course, require programming the AVR at the chip level and not using the Arduino environment. Tuning the dead time should allow you to increase efficiency some too, though moving to FETs instead of BJTs may help more.

  • Thanks for another cool video, Pete. I don’t have an immediate need for a charge pump, which means I’ll probably build this very soon. :)

  • Charge pumps are fun and a very handy circuit! Thanks for the video Pete, always informative and entertaining.

    Oh, and your mention of the Cockcroft-Walton circuit at the particle accelerator - Even though it is no longer in service, its is very very cool! Especially when I stood next to it ;)

  • Got some LED Filaments and they are pretty cool.

    Closeup of filaments

    Overall setup

    I used a Nixie Tube boost circuit to test mine but I will give your charge pump a try.

  • For the timing, I wonder how well either:

    A) Use the Q and /Q (not Q) outputs of a JK flip flop with the J and K inputs held high and a clock ( a single µC I/O pin, a 555 circuit, a UJT oscillator, a fixed oscillator chip, etc.) to create your two phases. Are the two outputs of a JK flip flop coincident enough with their changing state to drive this type of ladder? Or are there weird propagation delays to worry about? (Does the /Q switch after the Q? Is the propagation of Q from 0 to 1 different than the propagation of Q from 1 to 0? etc?)

    B) If you really want to use a µC like an Arduino, instead of using digitalWrite(), resort to direct port writing. To get the fastest frequency output you might need to resort to assembler (either directly or as embedded in C) to write 0b00000001 then 0b00000010 to an I/O port and then loop forever. Make sure to put enough NOPs between the port writes to equal the number of clock cycles the loop will take, and you should have very close to 50% duty cycle. Granted, you won’t be able to use the µC for anything else…

    I’d probably first try A because simply driving two clocks 180-degrees out of phase from each other is a bit of a waste of the power and flexibility of a µC… But, B would probably be faster to prototype.

  • I went through a very similar exercise in developing an H-bridge not too long ago. In my case, I was translating TTL into +/- 12 VDC for an EV charging station circuit. The problem I had was that the input was a microcontroller output, which sometimes is Hi-Z. When it is, what happens is that the first stage transistors were biasing each other, and you short +12 to -12. I wound up using MOSFETs to solve the problem. Since there’s (effectively) no gate current, a relatively high pull-up resistance is sufficient to prevent any ambiguity in the state when the input was undriven. It also made the whole thing a lot faster. With BJTs, there was a tension between the speed and the base bias resistors and the pull-up. With MOSFETs, there’s no longer any gate bias resistor, just a pull-up to the common gate on the primary side (my circuit is two stages. The first stage turns the TTL into complimentary switching used to drive the secondary pair that switches the output voltage).

  • Pete I have used the Psoc family at an internship I had. It is a love hate relationship I have for it. But for this project I would suggest dropping down a PWM module with two out puts. Then change the duty cycle such that you know you wouldn’t have them both turned on at the same time for a fraction of a second. With the PWM modules you can make it so it has the kill and enable. Connect them to a control reg. This would allow you to start the PWMs at the same time. I think this would also introduce better tune-ability to the circuit. Right now I have some code for the FreeSoc that can control a H-bridge and some servos that uses the PWM blocks. I need to clean it up and document it so I can share it. I really enjoyed the video. Good use of the FreeSoc. I might try this circuit using the Free soc like I said and post results.

  • Awesome video Pete. I wish I had this one a year ago when I was learning about charge pumps for a design at work!

Related Posts

Recent Posts


All Tags