To extend the battery lifetime, most contemporary devices have “sleep mode,” whi
ID: 3872182 • Letter: T
Question
To extend the battery lifetime, most contemporary devices have “sleep mode,” which reduces the duty cycle of the battery. Assume that there are the following three possible states of a device with the corresponding current drainage: sleep mode – 1 [mA], receive mode – 5 [mA], and transmit – 250 [mA]. Calculate the battery lifetime as a function of the battery duty cycle if the subscriber makes 1 call: (a) once a day, (b) every 6 hours, (c) every hour. Assume, that the battery capacity is 1[A*h] and that a call lasts 3[min].
Explanation / Answer
This solution is written in Java code, where batteryLifeTime method shows the life time of battery for 3 types of subscriber's: (a) once a day, (b) every 6 hours, (c) every hour
Code:
public class Battery
{
public double callTime = 3; // call time 3 min
public void batteryLifeTime()
{
double batteryCapacity = 10; // 1Ah * 10 = 10Ah
// Let battery capacity for 1 day is 10Ah
double sMode = 0.001; // 1mAh 0r 0.001Ah Sleep Mode
double rMode = 0.005; // 5mAh 0r 0.005Ah Receive Mode
double tMode = 0.250; // 250mAh 0r 0.250Ah Transmit MOde
double tTime = 24*60; // Total time in minute for 1 day
double batteryLifeForOnceDay = batteryCapacity-(onceADay()*(rMode+tMode))-((tTime-onceADay())*sMode);
System.out.println("Battery Life for Once a day subscriber's : "+batteryLifeForOnceDay+" Ah");
double batteryLifeForSixHr = batteryCapacity-(everySixHr()*(rMode+tMode))-((tTime-everySixHr())*sMode);
System.out.println("Battery Life for every 6 Hr subscriber's : "+batteryLifeForSixHr+" Ah");
double batteryLifeForEveryHr = batteryCapacity-(everyHr()*(rMode+tMode))-((tTime-everyHr())*sMode);
System.out.println("Battery Life for every Hr subscriber's : "+batteryLifeForEveryHr+" Ah");
}
public double onceADay()
{
int numberOfCall=1; //Number of call once in a day =1
return numberOfCall*callTime;
}
public double everySixHr()
{
int numberOfCall=4; //Number of call once in a day = 24/6 = 4
return numberOfCall*callTime;
}
public double everyHr()
{
int numberOfCall=24; //Number of call once in a day = 24/1 = 24
return numberOfCall*callTime;
}
public static void main(String args[])
{
Battery btry = new Battery();
btry.batteryLifeTime();
}
}
If the final result comes in negative then the battery would consume before the day ends for a specific subscriber.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.