|Posted by Aravin on December 19, 2012 at 8:55 AM|
By Aravinthan Varatharaju, Electronic Design Consultant in Jaavin Electronic Solution
When designing circuits often the hardware engineer need to know the current consumption of the printed circuit board being designed. Current consumption is an important parameter to determine the type of power supply solution and the power rating of the components. Secondly it is used to determine the power trace width when doing PCB layout design. More importantly if the board is to be powered by battery, current consumption data is crucial to estimate battery life.
The most common method of determining current consumption during pre-design stage is by checking the IC manufacturer’s datasheet. The datasheet will normally state the current consumption when in normal operation. Some manufacturers will provide typical and maximum value. For some special function ICs such as RF transceivers, a list of different values depending on the modes such as transmit, receive, idle and sleep will be stated. In this case the worst case current consumption needs to be considered in the calculation.
Sum up the current consumption of all the ICs used on the board. Also check the other discrete circuits such as LED drivers, transistors and relay circuits which may consume significant power. Make sure to include the worst case current scenario. For instance assume that all the LEDs or transistors are switched on when calculating the current. Current consumption by high impedance circuits and high value pull-up resistors can usually be ignored.
The above method is fairly easy due to its steady state estimation during pre-design stages. The hardware engineer will then chose component ratings to be at least twice the actual value for a safe design. The above method however cannot be used to estimate battery life if the boards current consumption is dynamic. In an embedded design, the current consumption will be based on the firmware that controls the function of the board.
Say for instance we take a battery powered RF beacon transmitter board. The microcontroller is programmed such that it ‘wakes’ up every second to transmit data for 10 microsecond and goes to sleep mode until the next one second interval. The current draw is 30mA and 1µA during transmit and sleep mode respectively. There may be an intermediate period where the microcontroller is initialising and processing data before transmitting, which is why it is better to measure actual current consumption than to estimate theoretically.
In order to calculate battery life, the average current consumption of the board need to be determined. There are current measuring equipments that will be able to measure in wide dynamic range from µA to A to provide the average current automatically. Unfortunately these equipments are not common laboratory equipment. For very low power boards consuming <50mA, there is an alternative method to measure and calculate average current by using the common DSO (Digital Storage Oscilloscope)
Figure 1: Measurement setup
Figure 1 shows an example of the setup. A 10 Ohm resistor is connected in series between positive terminal of DC bench power supply to the positive power terminal of the board (Device Under Test, DUT). The probe of the DSO is connected parallel to the 10 Ohm +/-1% resistor to measure the voltage drop across it. Set the oscilloscope to capture the waveform. Since the waveform is periodic, only one waveform of a period is required. Next, sketch the waveform approximating it to straight lines.
Figure 2: Waveform of voltage drop across 10 Ohm resistor
Figure 2 shows an example of a 1 second periodic waveform of a RF transceiver that transmits every second. The waveform is simply the voltage drop across the 10 Ohm resistor of which the current is calculated using Ohm’s Law.
IR = VR/R
Split the waveform into sections with the same amplitude. For each section, note down the current and the time as shown in Table 1. Also take note of the period, T. Do take note that it is difficult to read the voltage drop VR during ‘sleep’ mode because the amplitude is almost zero. To tackle this, just add up the ‘sleep mode’ current consumption stated in the datasheet of the microcontroller and related ICs. In this example the sleep mode is 1µA.
Table 1: Amplitude, current and time of each sections
Now to calculate the current, one need to just sum up the area under the curve and divide by the period. Table 2 displays the area calculation of each section and how the average current is derived.
Table 2: Average current derived from the sum of area under the curve
This average current can now be used to calculate battery life. Figure 3 shows an example of battery lifetime calculation using CR2032 battery with the average current estimated just now. The method can easily be adapted with other battery types.
Figure 3: Battery life calculation
The measurement technique illustrated in this article does have its limitation. For boards that draw higher than 50mA, the voltage drop across 10 Ohm resistor exceeds 0.5V. This may cause the board to shut down due to under voltage. Using 1 Ohm resistor may not be a good idea because it will be difficult to see the amplitude when the current draw is less than 50mA. Perhaps a differential amplifier circuit with suitable gain can be used to get the voltage drop reading across the resistor. Bear in mind that the gain introduced must not be too high that it will cause the amplifier output to saturate when the current draw hits peak value. Better still Hall Effect Current sensors can be used to replace the resistor. Another limiting factor is if the current draw is not periodic then this technique is not suitable.