Hi. I have a 20W solar panel with Vlp=16.9V, Ilp=1.2A. I am thinking about building a system that can produce power to two Arduinos that draws maybe 500mA at most.
My simple idea is to connect the panel to a dc/dc step down converter to 7.2V through a forward diode, then connect the 7.2V output to 6 Ni-Cd connected in series. The output of the battery then goes to the onboard DC regular of the first Arduino, and connect its 5V pin to the 5V pin of the second Arduino.
Both Arduino is going to be located in an extremely remote location and I expect it to keep operating for a long time. So do you think the system is going to work? There is no current control element in my circuit to restrict the charge rate. Is it going to be a problem? Do I need another diode goes from the output of the dc/dc converter to the battery? Thanks a lot.
You should look at Tim Nolan's MPPT charger at Error. Not necessarily because you want to do MPPT but because it contains all the elements for controlling power from a solar panel and explains them pretty well.
NiCD batteries should be charged to 1.45V per cell in the pack; 1.2V is only the nominal voltage. Typical charge rate is 1/10th the amp hour rating. For example, if the battery is 600mah then charge it at a rate of ~60ma.
My thinking would be skip the batteries in between, cause eventually they will die (their recharge life goes kabonkers). You could regulate your power source and input it through the Vin pin on your board. If your project needs to run at night, create a little photo sensor to switch to battery at dark.
Good quality NiCd cells will work with a C/10 (1/10th capacity) charge current and can handle overcharge well at this point. I'm more concerned with the cutting power off when fully discharged. I would also recommend a higher voltage than 7.2 volts due to the limitations of the Arduino regulator. I recommend at least 7 cells (8.4 volts) so that when the cells near full discharge you still have enough power to have the Arduino cut off power. The over discharge cutoff would be simple. Run B+ through a voltage divider into an analog input. See what 7.2 volts (off of a lab supply shows as an analog value in your input through the divider) and the logic is simple from there. If your analog input is less than 7.2 volts then simply turn a digital output to low. This output would feed a reed relay (assuming you have the current available on the Arduino to have an additional 20ma digital output) which in turn would drive the master relay running on B+ but also interrupts B+. When an overdischarge happens the Arduino would simply shut the power down from the battery. A reset switch across the B+ relay terminals would be used to reset the power circuit when the battery is charged.