I have an arduino UNO at the moment. What I am going to do is to charge a mobile phone battery (3.7V Li-ion) with arduino. In addition, I want to charge the battery with the controlled current, (i.e. program the charging current within the current limit to charge the battery). The maximum rechargeable current for my battery is 1A. Can anyone tell me is it possible for arduino to do that? I am quite new to arduino at the moment. Thanks for all the help :).
It is not a good idea to have a program controlling a LiPo or LiIon battery charging circuit, especially if you are new at programming. Those batteries have very specific requirements and it can be disastrous for the battery and its surroundings if the guidelines are not followed. Buy a dedicated chip or circuit board to charge the battery. Here is one example https://www.sparkfun.com/products/11231
The Arduino is a digital microcontroller, suitable for making "digital" decisions (i.e., "on" or "off"). It has a limited capability for taking analog measurements and no facility for generating analog control voltages directly, though there are "tricks" involving PWM which can do so in an even more limited fashion.
With the exception of a charge indicator function, a battery charger (and especially so with Lithium Ion batteries) is an entirely analog function, for which there are application-specific ICs (ASICs) available and modules using them - quite cheaply on eBay. By the time you were to put together all the necessary support circuitry to use an Arduino for this function, you would find that you had replicated the function of such an ASIC and could simply remove the Arduino and it would work exactly the same!
An Arduino is not the answer to every problem. It isn't even the answer to any given problem. You do not approach it by asking "can an Arduino solve my problem" but rather by firstly studying and understanding the problem, figuring out what is needed to solve the problem, and then considering that if a substantial part of the solution is in the digital "realm" and becoming relatively complex at that, then a microprocessor - possibly an Arduino - could neatly perform that function.
In regard to battery charging, the Arduino bows out at the first step. (Not to mention the safety concern that jremington raises.)
You don't need an arduino to charge a battery. Plus the arduino doesn't give enough power to do so. I would recommend using a dedicated circuit using a dc external power supply. Like a large battery or a power adaptor. This way it's controlled and you have less of a chance destroying the battery or arduino it's self. Just go to the dollar store and buu a solar powered lawn light and see a simple charging circuit. Please take note that these usually carry a 3.5v solar panel and charge the onboard battery for 14-16 hours and only light a few cheap LEDs for only 10 minutes. To make a decent power charger you'll need a few small capacitors resistors and having a multimeter helps. please also take note that not all cell batteries have the chip built in to tell you when to unplug it.
seanvll:
Just go to the dollar store and buu a solar powered lawn light and see a simple charging circuit.
No!
He cited a Lithium-ion cell. These require very closely controlled parameters; there are ICs and modules designed specifically for the task, and it is best to use them. Exploding Li-ion cells are a very real concern. The word here is safety.