Documents » Pololu 3pi Robot User's Guide » 5. How Your 3pi Works »5.b. Power managementBattery voltage drops as the batteries are used up, but many electrical components require a specific voltage. A special kind of component called a voltage regulator helps out by converting the battery voltage to a constant, specified voltage. For a long time, 5 V has been the most common regulated voltage used in digital electronics; this is also called TTL level. The microcontroller and most of the circuitry in the 3pi operate at 5 V, so voltage regulation is essential. There are two basic types of voltage regulators:
The power management subsystem built into the 3pi is shown in this block diagram:
The voltage of 4 x AAA cells can vary between 3.5 – 5.5 V (and even to 6 V if alkalines are used). This means it’s not possible simply to regulate the voltage up or down to get 5 V. Instead, in the 3pi, a switching regulator first boosts the battery voltage up to 9.25 V (Vboost), and a linear regulator regulates Vboost back down to 5 V (VCC). Vboost powers the motors and the IR LEDs in the line sensors, while VCC is used for the microcontroller and all digital signals. Using Vboost for the motors and sensors gives the 3pi three unique performance advantages over typical robots, which use battery power directly:
One other interesting thing about this power system is that instead of gradually running out of power like most robots, the 3pi will operate at maximum performance until it suddenly shuts off. This can take you by surprise, so you might want your 3pi to monitor its battery voltage.
A simple circuit for monitoring battery voltage is built in to the 3pi. Three resistors, shown in the circuit at right, comprise a voltage divider that outputs a voltage equal to two-thirds of the battery voltage, which will always be safely below the main microcontroller’s maximum analog input voltage of 5 V. For example, at a battery voltage of 4.8 V, the battery voltage monitor port ADC6 will be at a level of 3.2 V. Using 10-bit analog-to-digital conversion, where 5 V is read as a value of 1023, 3.2 V is read as a value of 655. To convert it back to the actual battery voltage, multiply this number by 5000 mV×3/2 and divide by 1023. This is handled conveniently by the
unsigned int read_battery_millivolts()
{
return readAverage(6,10)*5000L*3/2/1023;
}
|
|
Home
|
Contact
|
About
|
Forum
|
Wish Lists
|
US toll free: 1-877-7-POLOLU |