by MarcoP » Wed Nov 14, 2012 8:00 pm
by MarcoP
Wed Nov 14, 2012 8:00 pm
Hi all.
I am starting this separate topic to discuss the power management features of the robot.
The robot will have 2 Lipos (4cell,8000mAh) and one DC input.
There will be two main uses for power: Servos and onboard PC(plus remaining electronics).
To reduce electromagnetic interference it is desirable that each battery supplies one system, independently from the other.
One of the requirements for the robot is that it allows for battery hot swapping. For this to be achieved it is possible to use 1 battery (or DC input) to power both systems. Some restrictions are applied for power usage in this situation.
One of the problems that must be addressed is the inrush currents generated when a LiPo battery is connected to the system, because of the capacitance's present (in DC-DC converters and to stabilize supply of power to the servos). These currents can damage or degrade components by creating excessive heating. Also of concern is that these kinds of fast rising currents can generate strong magnetic fields that can cause erroneous behavior of electronics. This should be avoided.
Three methods are being evaluated for this:
Method 1: NTC resistors in series with power supplies. These resistors have a few ohms when they are at room temperature, thus limiting the inrush current, but their resistance drops when they heat up to avoid unnecessary power waste. They are a cheap and fast solution to implement but they have some problems. If a battery is removed and replaced quickly, the resistor may not have enough time to cool down, meaning that when the new battery is connected the protection offered by the resistor will be lower if any. Another problem is that the resistor must be selected as to remain hot (sometimes over 100ºC) at normal operating current. This wastes some power and creates unwanted heating in the electronics. Also, in the case of the servos the current consumption is highly variable, which prevents a proper dimensioning of the resistor.
Method 2: Parallel of resistor and high current mosfet in series with power supply. This application uses a resistor to limit current inrush in a similar way to the previous method, however a transistor is used in this configuration to “short-out” the resistor terminals to prevent heating. This method removes all of the disadvantages from the NTC method. It does however add some complexity because some other circuitry is required to trigger the transistor at an appropriate time. The methods for achieving this are usually via analog circuits that measure current or voltage on the circuit side, or via a timer on a micro-controller.
Method 3: Hot Swap controller. There are available chips designed for this very purpose. They control a mosfet that powers the circuit, and generally use a current sense resistor to control the current that goes through the mosfet using negative feedback. Usually an external potentiometer can be used to set the desired maximum current. They are the most versatile of methods, because they can also be used as a resettable fuse preventing things from burning if short circuits occur. Since mosfets were already planned to be used for power switching, and there is a need to monitor current in real time, this method allows for the use of some components for a dual purpose. It is however the method that requires the most components.
We are planning on using method 3.
The planned implementation is to use an arduino running a state machine, that the user can modify, for example to have power switch over to dc automatically when it's plugged in. The fact that it is not hardwired makes it very flexible.
Also incorporated will be led and buzzer for low battery alarms, readout of battery voltage and a display for expended energy (by integration of the current measurement), which is a better way to gauge remaining charge level in a battery than by simply measuring voltage.
It's intended to have one unregulated output that can handle 50A continuous (for servos), and a secondary output rated at 15A to power an onboard 5V,5A regulated power supply and also to power the motherboard (12V, 6A). Since we hope this board might be used for other applications we are planning on using an off the shelf 12V dc dc converter, instead of also implementing it in the board.
The arduino will be connected to the pc so that we can know in software the parameters, such as battery level.
If anyone has some ideas regarding this, feel free to share.
Regards
Marco
Hi all.
I am starting this separate topic to discuss the power management features of the robot.
The robot will have 2 Lipos (4cell,8000mAh) and one DC input.
There will be two main uses for power: Servos and onboard PC(plus remaining electronics).
To reduce electromagnetic interference it is desirable that each battery supplies one system, independently from the other.
One of the requirements for the robot is that it allows for battery hot swapping. For this to be achieved it is possible to use 1 battery (or DC input) to power both systems. Some restrictions are applied for power usage in this situation.
One of the problems that must be addressed is the inrush currents generated when a LiPo battery is connected to the system, because of the capacitance's present (in DC-DC converters and to stabilize supply of power to the servos). These currents can damage or degrade components by creating excessive heating. Also of concern is that these kinds of fast rising currents can generate strong magnetic fields that can cause erroneous behavior of electronics. This should be avoided.
Three methods are being evaluated for this:
Method 1: NTC resistors in series with power supplies. These resistors have a few ohms when they are at room temperature, thus limiting the inrush current, but their resistance drops when they heat up to avoid unnecessary power waste. They are a cheap and fast solution to implement but they have some problems. If a battery is removed and replaced quickly, the resistor may not have enough time to cool down, meaning that when the new battery is connected the protection offered by the resistor will be lower if any. Another problem is that the resistor must be selected as to remain hot (sometimes over 100ºC) at normal operating current. This wastes some power and creates unwanted heating in the electronics. Also, in the case of the servos the current consumption is highly variable, which prevents a proper dimensioning of the resistor.
Method 2: Parallel of resistor and high current mosfet in series with power supply. This application uses a resistor to limit current inrush in a similar way to the previous method, however a transistor is used in this configuration to “short-out” the resistor terminals to prevent heating. This method removes all of the disadvantages from the NTC method. It does however add some complexity because some other circuitry is required to trigger the transistor at an appropriate time. The methods for achieving this are usually via analog circuits that measure current or voltage on the circuit side, or via a timer on a micro-controller.
Method 3: Hot Swap controller. There are available chips designed for this very purpose. They control a mosfet that powers the circuit, and generally use a current sense resistor to control the current that goes through the mosfet using negative feedback. Usually an external potentiometer can be used to set the desired maximum current. They are the most versatile of methods, because they can also be used as a resettable fuse preventing things from burning if short circuits occur. Since mosfets were already planned to be used for power switching, and there is a need to monitor current in real time, this method allows for the use of some components for a dual purpose. It is however the method that requires the most components.
We are planning on using method 3.
The planned implementation is to use an arduino running a state machine, that the user can modify, for example to have power switch over to dc automatically when it's plugged in. The fact that it is not hardwired makes it very flexible.
Also incorporated will be led and buzzer for low battery alarms, readout of battery voltage and a display for expended energy (by integration of the current measurement), which is a better way to gauge remaining charge level in a battery than by simply measuring voltage.
It's intended to have one unregulated output that can handle 50A continuous (for servos), and a secondary output rated at 15A to power an onboard 5V,5A regulated power supply and also to power the motherboard (12V, 6A). Since we hope this board might be used for other applications we are planning on using an off the shelf 12V dc dc converter, instead of also implementing it in the board.
The arduino will be connected to the pc so that we can know in software the parameters, such as battery level.
If anyone has some ideas regarding this, feel free to share.
Regards
Marco