0
0
Pcb-designHow-ToBeginner · 4 min read

How to Select Battery for Drone: Key Factors and Example

To select a battery for a drone, choose a LiPo battery with the correct voltage (V) matching your drone's motor requirements and sufficient capacity (mAh) for desired flight time. Also, consider the battery's weight to maintain drone balance and performance.
📐

Syntax

When selecting a drone battery, the key parameters to consider are:

  • Voltage (V): Number of cells in series, affects motor speed and power.
  • Capacity (mAh): Battery charge amount, affects flight time.
  • Discharge Rate (C): Maximum current the battery can safely provide.
  • Weight (grams): Heavier batteries reduce flight time and agility.
python
Battery(voltage: float, capacity_mAh: int, discharge_C: float, weight_g: float)
💻

Example

This example shows how to calculate if a battery suits a drone's motor requirements and estimate flight time.

python
class Battery:
    def __init__(self, voltage, capacity_mAh, discharge_C, weight_g):
        self.voltage = voltage
        self.capacity_mAh = capacity_mAh
        self.discharge_C = discharge_C
        self.weight_g = weight_g

    def max_current(self):
        return self.capacity_mAh / 1000 * self.discharge_C

    def flight_time_minutes(self, average_current_A):
        hours = (self.capacity_mAh / 1000) / average_current_A
        return hours * 60

# Drone motor needs 11.1V and max 20A current
motor_voltage = 11.1
motor_max_current = 20

# Battery specs
battery = Battery(voltage=11.1, capacity_mAh=2200, discharge_C=25, weight_g=180)

print(f"Battery Voltage: {battery.voltage}V")
print(f"Max Current: {battery.max_current():.2f}A")
print(f"Battery Weight: {battery.weight_g}g")

if battery.voltage == motor_voltage and battery.max_current() >= motor_max_current:
    flight_time = battery.flight_time_minutes(15)  # Assume average current 15A
    print(f"Estimated Flight Time: {flight_time:.1f} minutes")
else:
    print("Battery not suitable for this motor.")
Output
Battery Voltage: 11.1V Max Current: 55.00A Battery Weight: 180g Estimated Flight Time: 8.8 minutes
⚠️

Common Pitfalls

Common mistakes when selecting drone batteries include:

  • Choosing a battery with voltage too low or too high for the motor, causing poor performance or damage.
  • Ignoring the discharge rate (C rating), which can lead to battery overheating or failure.
  • Picking a battery that is too heavy, reducing flight time and maneuverability.
  • Not considering the battery connector type, causing compatibility issues.
python
class Battery:
    def __init__(self, voltage, capacity_mAh, discharge_C, weight_g):
        self.voltage = voltage
        self.capacity_mAh = capacity_mAh
        self.discharge_C = discharge_C
        self.weight_g = weight_g

# Wrong: Voltage too low
battery_wrong_voltage = Battery(7.4, 2200, 25, 180)

# Right: Correct voltage
battery_right_voltage = Battery(11.1, 2200, 25, 180)

print("Wrong voltage battery suitable?", battery_wrong_voltage.voltage == 11.1)
print("Right voltage battery suitable?", battery_right_voltage.voltage == 11.1)
Output
Wrong voltage battery suitable? False Right voltage battery suitable? True
📊

Quick Reference

Summary tips for selecting drone batteries:

  • Match battery voltage to motor voltage requirements.
  • Choose capacity based on desired flight time and weight limits.
  • Ensure discharge rate (C) supports maximum motor current.
  • Keep battery weight as low as possible for better flight performance.
  • Check connector compatibility with your drone.

Key Takeaways

Always match battery voltage to your drone motor's voltage requirements.
Select a battery with a discharge rate (C) that can handle your motor's max current.
Higher capacity (mAh) means longer flight time but also more weight.
Battery weight affects drone agility and flight duration, so keep it minimal.
Check battery connectors to ensure they fit your drone's power system.