Fuel Cell–Battery Cargo Drone: ECMS Power Split and Hydrogen Use

Simulate a cargo drone mission with SOC-dependent ECMS, PEM polarization and a dynamic battery. Compare hydrogen use and climb support with a rule-based split.

#battery equivalent circuit #cargo drone #ECMS #hydrogen #PEM fuel cell #SOC control

Caution

Do not set dispatch hydrogen or landing reserves from this model alone. Use validated aircraft planning data and measured mission demand.

A fuel cell–battery cargo drone needs two different kinds of power support. The stack can supply sustained flight energy, while the battery supplies short peaks and absorbs surplus stack power when its output cannot fall quickly enough. This hydrogen drone calculator simulates that interaction over take-off, climb, cruise, delivery hover and a forward-flight descent.

Use it to compare an equivalent consumption minimization strategy (ECMS) with a simple load-following rule. Engineers can explore a measured hybrid system, students can inspect its energy-management equations, and early design teams can test whether a proposed stack and battery can support a cargo mission.

Start with total take-off mass, rotor geometry, air density and flight speeds. The tool calculates rotor profile, induced, parasite and climb power, then adds motor losses and avionics. Take-off accelerates vertically to the specified climb speed. Cruise altitude follows from take-off and climb; descent duration follows from that altitude and the selected descent rate. Cruise time covers the level leg only. The descent retains the specified cruise airspeed, so its horizontal distance is additional.

Enter a polarization fit for the warm PEM stack, including its auxiliary load, hydrogen utilization and converter efficiency. Battery inputs describe the whole pack: capacity, a linear open-circuit-voltage fit, series resistance and one polarization RC branch. Use measured charge, discharge and voltage limits for the operating temperature.

For each interval, ECMS tests continuous stack-power ramps and minimizes actual hydrogen flow plus the hydrogen-equivalent cost of battery chemical power. Battery current is recomputed as SOC and polarization voltage evolve, with electrical limits checked at the integration stages and endpoints. Its equivalence factor rises as SOC falls below the landing target. An outer search tunes its base value for this mission. The rule-based controller follows bus demand, adds SOC feedback and uses a separately tuned charging bias. Both use the same source limits and seek the same landing SOC. Tuning retains feasible missions only; it reports an unmatched target or a failed policy search separately.

Read hydrogen use alongside both landing SOC values. A positive reduction means ECMS used less hydrogen in this model; a negative value favors the rule-based policy. Differences below one percent are labeled similar use, without claiming a statistical uncertainty bound. The power and SOC charts show when the battery supplies climb peaks or recharges. Play the mission-time control to follow the instantaneous power paths.

This is an energy-management and fuel-cell drone endurance study, with mission duration specified by the user. It does not predict maximum endurance, select flight reserves, or provide flight-control commands. It excludes wind, ground effect, rotor interference, payload release, horizontal acceleration, approach and flare, stack startup, thermal drift and battery aging. Slow or vertical descent is outside its inflow model. Validate the complete aircraft and operational mission separately; published component checks here do not validate a particular drone.

How it is calculated

The controller follows the instantaneous ECMS principle of Paganelli et al. (2002) and Serrao, Onori and Rizzoni (2011), Eqs. 26–27. For each feasible candidate it minimizes J=m˙H2+s(z)Voc(z)Ib/LHVJ=\dot m_{H2}+s(z)V_{oc}(z)I_b/LHV, where discharge current is positive and s(z)=clip[s0+kz(zgoal−z),0.05,12]s(z)=\mathrm{clip}[s_0+k_z(z_{goal}-z),0.05,12]. Chemical battery power, rather than terminal power, includes the effect of the electrical losses on charge withdrawal. Negative chemical power receives a charging credit. A bounded search uses up to fourteen trials, with bisection and safeguarded secant interpolation between feasible brackets. Only a feasible full mission may become the best trial or stop the search. The early-stop SOC error is 0.0002; a feasible fit within 0.002 is accepted. Failure to find a feasible fit is reported as a tuning failure, rather than proof of insufficient hardware.

The comparison policy requests Pload+Pbias+Kz(zgoal−z)P_{load}+P_{bias}+K_z(z_{goal}-z). Its requested endpoint power is tested over a complete ramp; if necessary, a feasible grid candidate nearest that request is selected. Its bias is tuned independently to the same SOC target. This is a simple charge-sustaining load-following rule.

Rotor demand uses the profile, induced and parasite terms of Zeng et al. (2019), Appendix A. Total disk area is the sum of rotor areas. Axial climb uses actuator-disk inflow; descending forward flight solves viV2+(vz+vi)2=T/(2ρA)v_i\sqrt{V^2+(v_z+v_i)^2}=T/(2\rho A) by 24 bisections. Shaft demand is P0[1+3V2/Utip2]+kiTvi+Tvz+ρADV3/2P_0[1+3V^2/U_{tip}^2]+k_iTv_i+Tv_z+\rho A_DV^3/2. Take-off adds mvclimb/ttakem v_{climb}/t_{take} to thrust. Demand is calculated at interval boundaries and interpolated linearly within each interval. Negative shaft power is rejected because windmilling and regenerative conversion are outside this model.

The PEM fit is vc=E0−aln⁡(1+I/I0)−rcI+bln⁡(1−I/Ilim)v_c=E_0-a\ln(1+I/I_0)-r_cI+b\ln(1-I/I_{lim}). Net stack power is ηdc(NIvc−Paux)\eta_{dc}(N I v_c-P_{aux}). Hydrogen supplied is NIMH2/(2FUH2)N I M_{H2}/(2F U_{H2}); utilization includes mean purge loss. A 101-point map converts net power into current and flow on its increasing branch.

The battery obeys Vb=Voc−vp−R0IbV_b=V_{oc}-v_p-R_0I_b, z˙=−Ib/Q\dot z=-I_b/Q and v˙p=Ib/Cp−vp/(RpCp)\dot v_p=I_b/C_p-v_p/(R_pC_p) (MathWorks equivalent-circuit equations). Classical fourth-order Runge–Kutta integrates the two states. At every RK stage and at the updated endpoint, current is recomputed from the low-current root of Pb=(Voc−vp−R0Ib)IbP_b=(V_{oc}-v_p-R_0I_b)I_b. Current is not held constant as voltage changes.

Every candidate stack trajectory starts at the previous actual output and ramps linearly to its proposed endpoint, with ∣dPfc/dt∣≤Rfc|dP_{fc}/dt|\leq R_{fc}. Battery demand is the difference between bus demand and that same trajectory. The initial instant, all RK stages and the updated endpoint are checked against current, voltage, SOC and real-root limits. Infeasible candidate trajectories are excluded from selection. Hydrogen is integrated along the ramp by Simpson quadrature; charge withdrawal uses the RK4 current quadrature. Stored endpoint states and stage values have separate DC-balance checks. A rejected policy run stops at its first detected violation.

Assumptions

Defaults define a generic 25 kg cargo multirotor with a warm 72-cell stack and a 12 Ah battery. The polarization coefficients and battery fit are engineering assumptions, not a manufacturer's measured data; replace them with a fit at the intended temperature, pressure and aging state. The fitted no-load voltage absorbs operating-condition effects.

Rotor disks do not overlap; density, tip speed, mass, motor efficiency and component parameters stay constant. Quasi-steady thrust equals weight outside take-off; fuselage tilt is small. Descent retains cruise horizontal speed. Windmilling cases with negative shaft demand are rejected. Rotor regeneration and battery-converter loss are excluded. Initial battery polarization is zero. The stack stays on above minimum current; startup and shutdown fuel are excluded.

Where it applies

ECMS minimizes equivalent hydrogen over the tested ramp candidates. SOC feedback, a finite power grid and ramp constraints mean this is not a proof of a global mission minimum. The base equivalence factor and rule-based charging bias are fitted to the known mission. Feasible trials have priority; an SOC match from an infeasible run is never accepted. A failed finite search may reflect the grid, feedback policy or target as well as the source limits.

Default resolution uses at least six intervals per nonzero phase, nine uniformly spaced ECMS endpoint powers, and additional load-following and neutral-mean-power candidates. Intervals are shortened to at most 10 s and one third of the battery RC time constant; the default mission has 73 integration intervals. Reducing the phase and power grids keeps browser evaluation below a second in the measured default run. This costs switching resolution and can change small hydrogen differences. Increase the grids and reduce the maximum integration step to test convergence, especially near a battery limit.

The continuous stack ramp is resolved in every interval. SOC and polarization follow the coupled ODE with power-dependent current. Limits are checked at all Runge–Kutta stages and at stored endpoints, including both sides of a phase-demand change. These are numerical trajectory checks, not an analytic certification of every substep extremum. Flight demand is piecewise linear between aerodynamic samples; faster real demand changes require measured profiles and finer time resolution. The 8 s constant-power battery regression agrees with an independent SciPy DOP853 integration within 0.0001 V polarization and 0.000001 SOC.

Forward descent requires horizontal speed at least twice hover induced velocity, following the wake-convection limitation discussed by Johnson (2004). Negative shaft power is outside the nonregenerative domain, even when avionics would make net bus power positive. The model does not assess vortex-ring avoidance, handling qualities, approach, flare or landing. Forward-flight rotor theory is limited to advance ratio at most 0.3 and modest fuselage tilt.

An initial electrical violation is a direct source-limit failure before ramp support arrives. Later search failures are identified as policy/tuning failures. A feasible landing-SOC mismatch above 0.002 is flagged; compare hydrogen only with matched reserves. Published checks verify Faraday flow and hover inflow; the added regressions check numerical dynamics and previously reported failures. They do not validate a particular aircraft or determine dispatch fuel reserves. Playback only interpolates stored trajectories and does not rerun the ODE.

References

  • Paganelli, G., Delprat, S., Guerra, T.-M., Rimaux, J. and Santin, J.-J. (2002). Equivalent consumption minimization strategy for parallel hybrid powertrains. DOI: https://doi.org/10.1109/VTC.2002.1002989
  • Serrao, L., Onori, S. and Rizzoni, G. (2011). A Comparative Analysis of Energy Management Strategies for Hybrid Electric Vehicles. ASME J. Dyn. Syst. Meas. Control 133, 031012. DOI: https://doi.org/10.1115/1.4003267 ; author-hosted text: https://pangea.stanford.edu/ERE/pdf/OnoriPDF/Journals/3.pdf
  • Zeng, Y., Xu, J. and Zhang, R. (2019). Energy Minimization for Wireless Communication With Rotary-Wing UAV. IEEE TWC 18(4), 2329–2345. DOI: https://doi.org/10.1109/TWC.2019.2902559 ; https://arxiv.org/abs/1804.02238 , Appendix A and Table I.
  • U.S. DOE (2002). Fuel Cell Handbook, Sixth Edition, §8.7, printed p. 8-76, Eqs. 8-84–8-85 (Faraday flow worked example). https://www.govinfo.gov/content/pkg/GOVPUB-E-PURL-LPS44010/pdf/GOVPUB-E-PURL-LPS44010.pdf
  • MathWorks. Equivalent Circuit Battery, equations for terminal voltage, RC dynamics and coulomb counting. https://www.mathworks.com/help/autoblks/ref/equivalentcircuitbattery.html
  • Johnson, W. (2004). Model for Vortex Ring State Influence on Rotorcraft Flight Dynamics. NASA/TP-2005-213477; AHS San Francisco specialists' meeting manuscript, p. 3 (general inflow equation and limits in descending flight). https://rotorcraft.arc.nasa.gov/Publications/files/Johnson%20AHS-SF2004.pdf

Inputs

InputSymbolUnitDefault
Take-off mass
Include cargo, hydrogen, stack and battery.
m_airkg25
Rotor countn_rot6
Rotor radiusr_rotm0.4
Air densityrho_airkg/m^31.225
Rotor tip speedu_tipm/s150
Rotor soliditysolidity0.05
Blade profile drag coefficientcd_blade0.012
Induced power factork_ind1.1
Fuselage drag area
Equivalent flat-plate area, including cargo.
a_dragm^20.06
Motor and ESC efficiencyeta_m0.88
Avionics powerp_avW50
Take-off durationt_takes10
Climb durationt_climbs40
Vertical climb speedv_climbm/s3
Cruise durationt_cruises480
Cruise airspeed
Also the horizontal airspeed during descending flight.
v_cruisem/s16
Delivery hover durationt_hovers30
Vertical descent speedv_downm/s2
Series PEM cellsn_cell72
Cell fitted no-load voltage
Effective fitted no-load voltage at the operating condition.
v_revV0.95
Activation coefficienta_tafelV0.045
Activation current scalei_exchangeA0.1
Cell ohmic resistancer_cellohm0.0004
Concentration coefficientb_concV0.02
Limiting stack currenti_limA100
Maximum operating currenti_maxA70
Minimum operating currenti_minA5
Stack converter efficiencyeta_fc0.96
Stack auxiliary power
Supplied from stack output before its DC converter.
p_auxW100
Hydrogen utilization
Reacted hydrogen divided by supplied hydrogen; includes average purge loss.
u_h20.95
Net stack power rampramp_fcW/s100
Initial net stack power
Warm operating stack output immediately before take-off.
p_startW1400
Battery capacityq_ahA*h12
OCV at zero SOCv_emptyV40
OCV at full SOC
Linear OCV fit over the selected SOC window.
v_fullV50
Battery series resistancer_batohm0.04
Battery polarization resistancer_polohm0.02
Battery polarization capacitancec_polF1500
Discharge current limiti_disA80
Charge current limiti_chgA35
Minimum terminal voltagev_bminV36
Maximum terminal voltagev_bmaxV51
Initial SOCsoc_init0.7
Landing SOC targetsoc_goal0.7
Minimum SOCsoc_min0.2
Maximum SOCsoc_max0.9
ECMS SOC feedback gaink_soc4
Rule-based SOC feedback gain
Adds stack power in proportion to SOC deficit.
k_ruleW2000
Intervals per mission phasen_step6
ECMS grid pointsn_grid9
Mission timet_plays30
Maximum integration step
Shortened further by the battery RC time constant.
ode_steps10

Results

With the default inputs above, the calc gives:

ResultValue
Hydrogen comparisonSimilar hydrogen use
Peak supportBattery supplies peaks
ECMS hydrogen24.09 g
Rule-based hydrogen24.16 g
Hydrogen reduction0.066 g
Hydrogen reduction (%)0.273
ECMS landing SOC0.6998
Rule-based landing SOC0.7
Minimum ECMS SOC0.6745
Peak battery discharge1,560 W
Peak battery current34.2 A
Peak demand3,366 W
Maximum net stack power2,822 W
Mission electrical energy355.9 W·h
Mission time627.5 s
Base equivalence factor2.4347
Rule-based charging bias30 W
Largest controller interval10 s

Checked against sources

Each case below was calculated by this calc and agrees with the value from its source (within the tolerance where one is shown).

DOE single-cell hydrogen flow

Source: DOE Fuel Cell Handbook, Sixth Edition (2002), §8.7 design example, printed p. 8-76, Eqs. 8-84–8-85: one cell at 1 A consumes 0.007 standard L/min, using 22.4 L/mol. Rounding in the handbook explains the 0.5% difference. https://www.govinfo.gov/content/pkg/GOVPUB-E-PURL-LPS44010/pdf/GOVPUB-E-PURL-LPS44010.pdf

Inputs: the default inputs above.

ResultSourceThis calc
Single-cell hydrogen reference0.007 ± 5 × 10⁻⁵ L/min0.006965 L/min

Published hover induced velocity

Source: Zeng, Xu and Zhang, IEEE TWC 18(4), 2019, Table I, arXiv manuscript p. 27: W=100 N, R=0.5 m, rho=1.225 kg/m³ and hover induced velocity 7.2 m/s. DOI:10.1109/TWC.2019.2902559. https://arxiv.org/abs/1804.02238

Inputs: Take-off mass = 10.197 kg; Rotor count = 1; Rotor radius = 0.5 m; the others as above.

ResultSourceThis calc
Hover induced velocity7.2 ± 0.02 m/s7.209 m/s

Windmilling case is rejected

Source: Independent reviewer regression (user supplied): u_tip=100 m/s, v_down=6 m/s, ramp_fc=1000 W/s gives negative descent shaft power. Expected rejection follows the stated nonregenerative model domain; this is a domain regression, not independent aircraft validation.

Inputs: Rotor tip speed = 100 m/s; Vertical descent speed = 6 m/s; Net stack power ramp = 1,000 W/s; the others as above.

ResultSourceThis calc
Nonregenerative domain accepted00

Initial battery limit before ramp

Source: Independent reviewer regression (user supplied): the true initial take-off demand with the stack still at 1400 W requires 34.176 A; a 33.2 A battery must be rejected before the stack ramp can help. Initial current is the low-current quadratic power-balance root, not the interval-end ramp value.

Inputs: Discharge current limit = 33.2 A; the others as above.

ResultSourceThis calc
Initial source limits accepted00
Initial required battery current34.176 A34.176 A

Constant-power ODE cross-check

Source: Numerical cross-check, not measured data: independent Python/SciPy 1.15.3 DOP853 integration (rtol 1e-12, atol 1e-13) of the MathWorks battery ODEs at constant 1000 W battery output for 8 s, initial SOC 0.7 and polarization 0 V, Q=2 Ah, R0=0.04 ohm, Rp=0.3 ohm, Cp=100 F, OCV=40+10 SOC V. Reference end SOC 0.67540697 and polarization 1.55566402 V. https://www.mathworks.com/help/autoblks/ref/equivalentcircuitbattery.html

Inputs: Battery polarization resistance = 0.3 Ω; Battery polarization capacitance = 100 F; Battery capacity = 2 A·h; the others as above.

ResultSourceThis calc
Verification end SOC0.67540.6754
Verification end polarization1.556 V1.556 V
Maximum DC residual at step endpoints0 ± 1 × 10⁻⁷ W4.547 × 10⁻¹³ W
Maximum DC residual at RK stages0 ± 1 × 10⁻⁷ W4.547 × 10⁻¹³ W

Feasible tuning at minimum landing SOC

Source: Independent reviewer regression (user supplied): the default mission with landing SOC 0.2 has a feasible charge-depleting policy. Require a feasible target match rather than a specific bias; changing the integrator legitimately changes the fitted bias. Zero infeasible intervals and landing SOC within 0.002 are regression acceptance criteria, not experimental aircraft data.

Inputs: Landing SOC target = 0.2; the others as above.

ResultSourceThis calc
Infeasible ECMS intervals00
Infeasible rule-based intervals00
ECMS tuning status11
Rule-based tuning status11
ECMS landing SOC0.2 ± 0.0020.2014
Rule-based landing SOC0.2 ± 0.0020.2001

Related Resources

Responses

Your email address will not be published. Required fields are marked *

L ading...