This project :
I was looking for a project idea to submit for the 2018 Hackaday Prize and when I saw the "Pickle Rick Achievement", I said to myself "I want it". That's how I got the idea of my potato robot.
My robot is currently composed of a potato battery (energy generation), two supercapacitors (energy storage), an energy harvesting module (to extract energy from the potato to supercapacitors and generate a 3V3 power supply), an I2C motor driver (to control (with PID) and monitor the two small dc motor without overloading the main µC) and an arduino nano (the brain).
Both modules can be used for anything and everything (solar energy harvester to a lipo battery, a stepper moter driver...). The potato battery is only the fun part of this project !
I did not have a potato when I took this picture, so I used an onion instead.
The potato battery :
A potato battery is basically a galvanic cell (or voltaic cell). It is an electrochimical cell that uses a chimical reaction (oxidation and reduction) to produce power. The metal from the two electrodes reacts with the electrolyte (the potato) and generates a flow of electrons ( = current ). The energy comes from the oxidation of the magnesium electrode, not the potato itself.
The voltage of the cell is determined by the "standard potential" of the two electrodes.
For my potato battery, i will use Magnesium for the anode (-) and Copper for the cathode (+).
The magnesium has an standard potential of -2.37V, and the copper has a standard potential of +0.38V. In theory, i should have 2.75V ( 0.38 - ( -2.37) ) but because of some electrochimcal stuff i don't completely understand, i only have around 1.6V.
If i want to increase the voltage of my potato battery, i have two options :
- Use a different metal for both electrodes (but it will be too expensive or too dangerous)
- Place multiples potato cell in series.
If i want to increase the current of my potato battery, i have three options :
- Increase the surface of the electrodes. The more surface you have, the more reaction there is and the more current is produced.
- Lower the pH of your electrolyte = use something more acidic than a potato (lemon for example)
- Reduce the internal resistance of the potato by placing the electrodes as close as possible. You can also boil the potato for a few minutes (you do not want mashed potatoes ...)
I measured the current and voltage of the potato battery to determine the maximum power (MPP) I could get. For the electrodes, i used a 8mm x 100mm magnesium rod and a 8 x 100mm copper pipe. Both electrodes were spaced 10mm apart :
I also took into account the efficiency of the energy harvester :
I observed an open circuit voltage of 1.45V and an short circuit current of 12.31mA.
The maximum power of THIS potato battery is 1mW (MPP = 35% of Voc).
The Supercapacitors :
The two supercapacitors of 350F and 2.7V are assembled in series. This equates to having a single supercapacitor of 175F and 5.4V.
The energy of a capacitor can be calculated with the formula : E = 1/2*C* V².
If i charge my supercacitors at 5V (I saw what happens if you overload a basic electrochemical capacitor, I really do not want to see what happens to a supercapacitor in this case...), the energy of the capacitors is : E = 1/2 * 175 * 5² = 2187,5 Joules.
Because of the ernergy harvester IC and the 3V3 regulator, i can't descharge my capacitors...
Read more »
I like your decision to use the supercapacitors. And the BQ25504 seems to be pretty amazing with its 130 mV minimum input.
You mentioned that your tiny motors use 25mA each under light load. This is interesting, since the ATmega 328p can drive up to 40 mA on its IO pins. If you're careful with pulse-modulation/gearing, depending on the situation, you might be able to skip the DRV8839 altogether and drive the thing directly from the microcontroller pins, maybe saving a few mA.
Good luck with your project---it gets one thinking about how to handle such extremely low-power situations.