Using a solar cell to charge batteries used to be done like that in the old days, but nowadays we use charge regulators (not necessdarily expensive). There are a few problems with your approach :
- The voltage of a solar panel is not constant.
- The voltage of the battery will prevent optimal performance of the solar cell.
- The voltage of your battery will be different under load and when charging.
If you want to avoid using a regulator, you are going to need to get your multimeter out and check things are like they should be.
What is the charging voltage of the battery? The charging voltage and the operating voltage of the battery are not the same. If you are running your solar panel in parallel to your battery in parallel to your load, can your load handle the voltage difference? A charge controller will give you a (more or less) constant voltage reference.
What is the open-circuit voltage of the solar panel? You say you are measuring temperature, is it a particularly hot environment? If so, you'll need to check the voltage at the operating temperature of the solar panel. Even so the voltage of your solar cell will change as a function of light intensity and temperature.
What is the voltage drop across your diode? Your solar panel will operate at the charging voltage of the battery plus the diode voltage, about 14.6 V. You need to check that you are getting reasonable current out of your solar panel at this voltage, given temperature and light intensity. For reference check your manufacturer data sheet for a graph similar to this.
If you are confident that your solar panel is the right size for your battery you will need to connect the positive terminal of the solar panel to the positive terminal of the battery, with the diode preventing current from entering the positive terminal of the solar panel. The most reliable solution though is to buy a charge controller.
Although we have already spent some time chatting about some details of your implementation, I'll try to take you through the steps I take in designing a long-life LiFePO/Solar project and leave you to fill in the specifics.
First thing to do, with regards to all your power conversions and intermediary steps, is find the losses. If you have a microcontroller that you put to sleep a lot and uses only 1mA on average, you are not going to care about one, two or three conversions in between.
But if you have a module that uses 50mA with 400mA peaks, you may want to pay very close attention to that module: Will it run off the battery as well, or can you cheat it out of the equations by powering it directly from the Solar, for example if it reports the amount of energy generated wirelessly once an hour. In that case you may even want to control its converter with the microcontroller, to save energy for charging and other stuff the 59 minutes each hour you don't need the converter's 3 ~ 10mA quiescent current, if that's a factor.
The next thing you could consider is: Does my MCU and application need a very smooth 3.3V? LiFePO4 is a very good choice for your application for various reasons. One of them is its minimum voltage of 2V (2.5V advised), which you can even safeguard with a 2.7V brown-out setting. Most 3.3V MCU's can also handle 3.6V, which happens to be the LiFePO4 peak voltage. So you may not necessarily need anything between the battery and the application, which saves a lot of waste as well.
For the reference, LiFePO4 in this case is a very good choice for many reasons:
- Their voltage curve is very flat compared to Li-Ion or LiPo. About 80% of its power is delivered between 3.4V and 3.2V, so they offer very easy to dimension conversion settings. (The buck or boost margin to account for remains small over most of the battery energy content).
- Their internal chemistry is very robust, allowing a much wider temperature range of current drain. Be aware, though, they can still not be charged below freezing though, so you need to account for that.
- They don't easily outgas, so they don't inflate as weirdly as LiPo's.
- Damage to a cell is still extremely unlikely to cause explosions or in many cases even fire.
- Their self discharge over wide temperature range is usually marginally lower even than other Lithium chemistries.
As a point of interest: The protected Q&A posted by Russel that you link to for info about LiIon and LiFePO4 is not very useful, there's many assumptions made there that are not even correct for LiIon, let alone LiFePO4. To start with the assumption of linearity of the chemical charge process. Best to forget about that post.
When it comes to charging and discharging LiFePO4 the currents are quite limited compared to modern LiPoly cells, but they are much more permissive toward over-tension, since the Iron Phosphate structure is more resistant to pure lithium plating. But I'd still advise you to use a dedicated protection chip or ready-bought circuit (for sub-1A applications I buy them in bulk for nearly no money at all). They drain micro-ampere's, take a load of testing and risk off your hands, and the best thing is, they feature analogue circuitry that reacts quickly and efficiently to over-current situations caused by damaged wiring.
This will allow you to focus on power-management of all your modules in your MCU without the risk of overloading the interrupt window in your code, and then skipping a beat in detecting over-current, over-coltage, etc.
When charging a LiFePO4 at about 0.75C, you can usually keep the fixed current even up to 3.9V without damage (given the cell is between 5 and 50 degrees Celcius), so if you charge with a fixed current, you can just let the protection switch it off (they are often set to 3.7V and might allow a 10ms peak of 3.8V). So if you have a system (MCU or dedicated) that makes 0.75C current with a 4V or 4.5V limit, or depending on the protection, even just 5V, the protection chip or circuit will take care of it all.
If you assume you have Device 1 that needs 200mA, but not always, at 2.7V to 5V (this is a broad assumption, but many devices like wireless modules have allowances like that). And that you have a uC that uses about 1mA active, and you let it sleep at 25μA as much as possible that also handles 2.7V to 5V, you could do something like this:
simulate this circuit – Schematic created using CircuitLab
D2, D1 R1 and R2 are meant to let the uC know when the solar cell is operational enough for the buck converter to operate. You can then use this information to control charging of the battery, along with the temperature of the cell and you can use that to turn on the high power module when there is enough power.
M2 allows you to actively turn on charging of the battery. M1 allows you to control the extra device.
I added D3 to indicate the presence of the MOST body diode. It's still better to turn on the MOST when you start using higher currents from the battery, to have less waste in the MOST's body diode, or an extra diode you place.
When charging is complete, the Cell protection will release and the power rail will float away from 3.8V up to 4.25V, you could even use that to detect that happening. (Compare VCC versus internal reference, for example). You can then monitor how often you reach the maximum charge state. You can also then disable charging for a while, to prevent continually peaking it off at its limit voltage. It's better to have them relax/drain a bit before you re-charge.
Best Answer
Note: Question as originally posted asked about a photodiode, not a solar cell.
If you are not designing the device yourself, you don't need to know all those values. Most photodiodes you buy will simply have a dark current spec. If you need to know how this varies with reverse bias, you can work out Is from the dark current and the measurement conditions (V and T).
For example, Fairchild QSD2030 specifies a dark current of 10 nA with 10 V reverse bias at 25 C. Given the specified reverse bias is so high, we know this dark current is essentially equal to Is, so we know Is ~= 10 nA.
Edit
Okay, so you really want to get those values as an academic excercise.
A is just the area of the device. It can be whatever you design it to be.
Dn, Dp are the diffusion coefficients. You can get them from your textbook or from the Ioffe Institute
τn and τp are the carrier lifetimes. You can also find these values at the Ioffe Institute site.
Nd and Na are the donor and acceptor doping concentrations. You could design these however you like. Numbers between 1015 and 1020 are at least soft of reasonable.
The product NcNv is equal to ni2, the square of the intrinsic carrier concentration. You can also get this value from the Ioffe Institute on another page.