Electrical Power Subsystem (EPS)

This page needs to be updated to the newest EPS version docs FIXME

The open source hardware for the octanis EPS board can be found at https://github.com/Octanis1/Octanis1-Electronics/tree/master/octanis_eps/v0.4_second_run with its gerber files. The last version to date is named octanis_eps_revised. The Electrical Power Subsystem (EPS) Board is in charge of the power monitoring and delivery. It is driven by a low power MSP430G2544 MCU from Texas instruments. It ensures some critical functions:

  • Battery voltage monitoring
  • Battery temperature control
  • Battery charge and discharge
  • 3.3V voltage bus regulation
  • Solar panels voltage monitoring
  • Solar panels current monitoring
  • External modules current motoring
  • External modules power supply on TPS2022D switches (X3)
  • External modules heaters (X3 including battery heater)
  • Power dissipation loop
  • Analog entries (X4 including battery temperature)
  • I2C bus communication

In case the power capabilities of the rover become critically low, the EPS board is able to take the hand, shutting down all the other modules and becoming the I2C master for a while. These features allow the EPS to restart the Main board or/and the ISS if they become unresponsive. As the EPS is constantly monitoring the current consumption of the external modules it is able to detect a motor stall and tell the Main board so to find which motor is stuck and get the rover back on track. The temperature control of different modules is also ensured by the EPS because it is critical for some modules (eg. the batteries) not to freeze. In theory the EPS is able to develop 3A at 3.3V at full performance.

For clarity hereafter comes a detailed diagram of the inner mode of operation of the EPS board. The EPS is externally connected to the batteries (BT+ BUS) and the Solar panels (SC+ BUS) which provides input power for the whole rover. It receives as well as additional inputs information from external sensors. For instance it receives the temperature of the batteries to ensure a proper monitoring of this parameter required for controlled heating. Finally the EPS is connected on the I2C bus to communicate with the Main Board.

The EPS internally monitors two currents : the current provided to the system by the solar panels and the current consumed by all the external modules together. It monitors as well the voltage of the 3.3V regulated bus distributed over all the rover and the voltage at the battery bus. The power production/consumption balance is thus easily obtained through simple math:

Pin= V_bus * I_SC

Pout= V_bus * I_ext

With these informations on Power balance and battery charge state, the MCU can take the decision to selectively turn ON or OFF external modules. When the Main Board is Master on the I2C bus a handshake is performed with the Master before that kind of operation to avoid conflicts. If the Main Board is down for some reason, the EPS automatically take the hand as I2C master.

The discharge loop is constantly ON because it is the one providing stable 3.3V power supply to all the components on the board itself and locks the solar panels to this same operating voltage. The battery charge loop however is driven by an analog feedback control loop which provides the correct charging voltage for the battery (always below 4.2V) and draws different amounts of current to the battery depending on the situation. Finally, the EPS provides an extra safety dissipation circuit which allows the power to be dissipated in an external heater in case both the regulated bus is above 3.35V and the battery is fully charged. This last safety features prevent the destruction of components by overvoltage supply.

Nota Bene: MCU controlled shutdown of the charge / discharge loop: everything is analog for now. The question of knowing whether the charge and discharge systems can be ON without a problem stays open. Basically the discharge circuit is by default always ON for now and the charge is autoregulated. A jumper as been put (0 Ohm SMD resistor) on the EN pin of the buck discharge converter so to allow easy modification but the fact is the discharge system is the one that provides that the bus is regulated… However it could be interesting to be able to selectively shutdown the charging part from the MCU (one small mosfet to add in this case).

The image above features the external power supply header of the EPS as displayed on Eagle CadSoft free edition. It will serve as a reference for the explanations to come in this paragraph. First of all, the EPS board must be connected to its power supply sources that are the two external LiPo batteries and the Solar panels. It is important as the batteries are connected in a parallel configuration that the battery come with a short circuit protection feature so that if one battery comes to die the rover can still operate (though at reduced pace). As stated before, the two batteries must be connected in parallel as the circuit do not provide individual control for each battery. The connection pins are the ones indicated in the picture hereafter.

For the solar panels the configuration must be as follows: two solar cells (MPP ~2V) are connected in series followed by a Schottky diode. The configuration is repeated and each unit is connected in series with the previous one. The Schottky diode is here to prevent a battery discharge toward the solar cells when the cells are not receiving light (thus not producing any electrical current). If one cell came to die, this redundant configuration and the protection provided by the diodes ensure that the system can still operate.

Back to the EPS header connector, the solar panels connect as follows with a special care for the polarity when assembling:

The external heaters connect as provided by the next picture. They share a common positive voltage and are ground controlled by N-HEXFETs via the MCU. Up to three external heaters can be connected that way. One heater is dedicated to battery heating.

Nota Bene: Although the output reserved for external heating are not as well protected as the on reserved to external modules powering (they rely on a N-HEXFET instead of a TPS2022D), they could be reallocated to power a different external module. It allows for some flexibility in case 3 external heaters aren't needed but the control of an additional external module by the EPS is required.

The external modules (Main Board, ISS, and a third module) connect as provided by the next picture. They share a common negative voltage and are EXT_PW controlled by TPS2022D switches via the MCU. Note that each TPS2022D can safely provide up to 1.5A of current. As the front part of the bus should not have enough GND pins available anymore it is recommended to connect the external modules on the back side of the board. For that reason long pins that allow proper connection from both sides should be chosen (it is also possible for two different modules to share the same GND pin and have a front connection).

Finally the safety external dissipation heater comes on the two last pins of the header as follows.

here comes the explanation and images for the analog IN pins

Nota Bene: From a practical point a view a GND pin should be provided near to the analog entries to ease cabling in case an external connection to the global ground isn't possible for the sensor. That modification could be implemented on a next version of the board.