I will build a charge-pump on a breadboard and explain along the way, stupid mistakes included!
But first I need to program my Arduino UNO to give of a clock signal for the pump. I start with the blink example sketch because that is basically a clock signal.
Pin 12 and 13 both will be clock signals, however, they will be inverted to each other. The signal is slowed down to make it more easy to debug with a cheap multi-meter. Please notice how I forget to make the signals inverted to each other.
Now upload this to the device. Now thanks to the build-in LED we can see at least one of the pins is doing what it is supposed to be doing.
My multi-meter probes do not fit the Arduino headers, I put in a row of male headers to be able to measure the pins.
The top two rows on the breadboard will be power and ground. The bottom two will be connected to the clock signals on pin 13 and 14.
Lets see what we have. Assume we start with the clock signal being low. That means there is 0V or ground on the wire at the bottom. This goes to the negative side of the capacitor.
On the top side, the 5V line goes through the diode into the capacitor. The capacitor is charged up to 5V.
If I were to take out the capacitor, it remained charged at 5V. I could then link two of them in series, just like batteries, and so double the voltage.
When the clock signal goes up, being at 5V and connected to the negative end of the capacitor, the positive side will be 5V higher than the negative end.
This higher voltage on the positive end wants to flow back into the 5V line because it is a higher voltage. De diode however prevents this.
A capacitor is added to the circuit. It has its negative side connected to ground through the green wire.
This capacitor can be charged by the capacitor on the left when its clock signal is high. The diode between them prevents discharging when the clock signal is low.
Notice how after each pump the capacitor looses some of its charge, it leaks back through the diode. This is normal.
I add a second pump to be driven by the other clock signal. The storage capacitor still goes at the end of the circuit to collect the end result.
It’s important for the pumps to have opposite signals to each other. It’s like emptying one bucket of water into another. You want one bucket to remain at the ground while you pick up the other. You do not want to pick up both buckets at the same time, that wouldn’t work. So that’s why we use alternating pump signals.
As soon as I measure an even lower voltage, I realize my mistake. Both signals are identical. I never changed them in the code.
That looks a lot better.
Adding a third and final pump, which is driven by the first clock signal again.
Just look at how easy you can expand this circuit.
Once again a result we did not want to see, but it can be explained. We now have 4 diodes in the circuit, all of which are leaking power. This means that we should start pumping charges around a lot faster
than we are doing right now.
Lets reprogram this device for the last time. Instead of once every two seconds, I configure it to signal 10 times every second.
Leaky diode problem? Fixed!
Now lets turn all diodes around to have the circuit pump in the other direction and dump all charges into the ground line.
The backwards pump creates a negative voltage, which is great.