Battery management PCB

The battery charging circuit is required to provide battery power for running the standalone configuration of PetapicoVoltron (PPV) that includes a HVPS power supply, a Raspberry Pi and a touchscreen in order to make a completely stand-alone unit. Its functions are

  • Manage the charging/discharging of the battery used to power the circuit
  • Step up the battery voltage to power the different components (HVPS, Raspberry Pi, and touchscreen)
  • Manage communication from an external computer, so that the stand-alone configuration can also be controlled from an external computer.

Schematics of the battery management circuit

The different parts of the circuit are described below.

Battery charger

Schematics of the battery charger

The battery charger IC (U2) is a switch mode charger (BQ24192 by Texas Instruments) which bucks down the supply voltage to charge the battery at high efficiency. This charger works with single cell Li-Po or Li-Ion batteries, which have a typical voltage range of 2.6-4.2 V. In the design presented here, the default maximum charging current is 3A, which is set by the value of R15. However, the charger will adapt to the current capabilities of the charging source. The battery can be charge using two different ports: 1) the DC Jack (P5) which can safely tolerate voltages in the range 5-15 V and can be used to charge the battery at high current. 2) the micro USB plug (P3). By default the USB current draw is limited to 500mA. P13 and P14 are two headers for LEDs that give information on the status of the charger. STAT (P13) will turn on while charging and blink there is a problem (no battery,no thermistor, etc.) !PG (P14) is used to show that a charging source is available. In other word, if the circuit is connected to a source of power that can be used to charge the battery, P14 will be on. P13 turns off once the battery is charged.

P7 and P8 are two connections for 10 kΩ NTC thermistors that enable sensing the temperature of the battery and prevent damage. Using two sensors enables monitoring the battery temperature at two different location. If a single sensor is used, the second must be replaced by a fixed 10 kΩ resistor, or the circuit won’t work (STAT LED will blink). The circuit is protected against short circuit of the battery, and if more than 9A is drawn from the battery, the battery will be disconnected. All charging source must be removed to reset the charger.

Boost Converter

Schematics of the boost converter, which produces the 5V required by the HVPS and other components.

The Boost Converter (U3) steps up the protected battery voltage VSYS to  a 5 V supply rail to power the different components: Raspberry Pi, LCD screen, and HVPS. P9 is a header for a switch which enables to connect the battery to the converter. This switch can therefore be used as a main power switch. This circuit uses the on resistance of the MOSFET (Q2) as a current sense resistance. This improves efficiency by limits the adaptability of the system. In the current configuration, this puts a limit on the current drawn from the 5V rail to 3.9 – 4.8 A, depending on the temperature and battery charge state. Higher currents will cause a voltage drop of the 5V supply rail. The 5 V rail is fed to three different locations. Header P2 (see complete schematics on the top of the page) powers the Raspberry Pi. Header P10 powers the LCD touch screen, and  header P11 powers the HVPS.

USB to serial converter

The micro USB connector on the board has two functionalities

  1. It enables charging the battery through the USB connector (providing jumper H2  is set)
  2. It enables sending commands to the HVPS. In the stand-alone configuration, the HVPS USB port is connected to the Raspberry Pi. However, the USB connector of the battery management circuit is connected to a USB-to-Serial chip, which also lowers the communication voltage to 3.3 V, to make it compatible to the Raspberry Pi. The serial output of the chip is connected to the Raspberry Pi, thus enabling communication with the Pi from an external computer. The Python HVPS user interface has a serial listening mode, which forwards any instruction received by the Pi to the HVPS. Therefore, in stand-alone configuration, direct control of the HVPS from an external computer remains possible