hey all, I have a small solar cell it can give a voltage range from 0 to 7 volt
the problem is that in the direct sun it gives 7 volt which is more than the pic level (0 to 5) the problem also is that it's current is very small approximate 0 amp
I tried to use transistor to amplify current to use it for voltage divider instead of using the direct voltage of the cell but it didnt work, can any one help me to find a solution for this problem,
You have to use a solar cell which will supply enough current to supply your PIC in moderate sun light. Say your PIC requires 25mA at 5V. You would have to use a solar cell which delivers at least 30-50mA in direct sunlight in order to run the PIC a few hours per day.
The way this is usually done is to use the solar cell to charge a battery. The PIC runs on the battery voltage. During the time of day when the solar panel produces more current than is required to run the PIC, the excess current charges the battery. This way, you can extend the run duration.
Measure the current from the solar cell when in bright sun-light.
If it is less than 25mA, the cell is possibly damaged and not suitable for your application.
If is is more than 25mA, connect it directly to three 1.2v rechargeable cells via a diode. Measure the charging current. If the current is ok, connect the 3 cells to your micro.
It depends on the size of the cell, 25mA sounds reasonable for a small cell.
Check the rating on the datasheet, multiply it by 0.75 and if the current is any less than that in full sun then it's probably damaged or at least needs cleaning.
If the current provided by the solar cell is below the zener's rating then no resistor is required, just hook the cell up directly to the zener.
Do as suggested by blueroom with a 5.1V zener with the same power rating of the solar array without any resistor.
In other words, parallel a 5.1V zener to the solar panel power input of the microcontroller.