Blogs
By | 06 Feb 2026

How to Design an Integrated PV + BESS + EV Charging System

Power Matching, Battery Sizing, and Revenue Modeling (PV + BESS + EV Charging)

Integrated “solar + storage + charging” (PV + BESS + EV charging) sites succeed or fail on three things:

  1. Power matching (PV, battery, chargers, and the grid connection must work as one system)

  2. Battery sizing (both kW and kWh must be sized for the real load profile and tariff)

  3. Revenue and savings (a bankable model that captures all value streams without double-counting)

This article walks through a practical, engineering-first approach to design the system and estimate returns—using a method you can adapt to highway fast-charging hubs, commercial depots, retail parking, and fleet charging yards.


1) Start With the Site Objective and Constraint Map

Before you size anything, define what the system is optimizing:

Typical objectives

  • Maximize charging throughput (kWh/day and sessions/day)

  • Cap grid import (stay within a fixed interconnection limit)

  • Minimize electricity cost (TOU optimization, demand-charge reduction)

  • Increase renewable share (maximize PV self-consumption)

  • Improve resilience (backup power for critical loads)

Constraints you must capture (non-negotiables)

  • Grid connection limit (kW): e.g., 300 kW maximum import

  • Tariff structure: TOU prices + demand charges + export rules

  • Space and civil limits: PV area, BESS footprint, transformer capacity

  • Operating pattern: peak hours, fleet schedules, public charging demand

  • Permitting / safety: fire code, setbacks, ventilation, protection schemes

Think of this as your “design box.” Your PV, BESS, and charger mix must fit inside it.


2) Power Matching: The Core Electrical Logic

Power matching answers a simple question:

At any moment, can the site serve charging demand while staying within grid limits and using PV/BESS efficiently?

Key power variables

  • P_grid_max: Maximum allowed grid import (kW)

  • P_PV(t): PV output profile (kW over time)

  • P_charge(t): Charging demand profile (kW over time)

  • P_BESS_dis(t) / P_BESS_chg(t): Battery discharge/charge power (kW)

  • P_aux(t): Other site loads (kW)

Instantaneous power balance

At each timestep t (15-minute or 5-minute resolution is ideal):

P_grid(t) = P_charge(t) + P_aux(t) − P_PV(t) − P_BESS_dis(t) + P_BESS_chg(t)

And the grid constraint:

0 ≤ P_grid(t) ≤ P_grid_max

If your charging demand spikes above what PV + grid can deliver, the battery must discharge to fill the gap (or chargers must throttle).

Charger mix matters more than “total kW”

A site with 2×300 kW ultra-fast behaves very differently from 10×60 kW even if nameplate power is similar. Fast-charging demand is “spiky,” and spikes drive:

  • transformer sizing

  • demand charges

  • battery power rating (kW)

  • cable and switchgear costs

Rule of thumb (planning stage):

  • Public DCFC hubs → size BESS power (kW) to manage spikes

  • Fleet depots → size BESS energy (kWh) to shift bulk charging to low-cost windows


3) BESS Sizing: Separate the “kW” Problem From the “kWh” Problem

Battery sizing has two independent dimensions:

  • BESS power (kW): how fast the battery can charge/discharge

  • BESS energy (kWh): how long it can sustain that power

3.1 Size BESS Power (kW): Peak Shaving / Grid Cap / Charger Boost

If the site is limited by grid import, battery power must cover the shortfall:

P_BESS_required ≈ max_t [ P_charge(t) + P_aux(t) − P_PV(t) − P_grid_max ]

Add a margin for:

  • inverter limits at high temperature

  • aging

  • reactive power requirements (if applicable)

Practical sizing guidance

  • For public fast charging with big peaks, BESS power is often 30–80% of (peak charging power − grid limit) depending on throttling strategy.

  • If you can enforce “smart charging” limits (dynamic load management), you can reduce BESS kW significantly.

3.2 Size BESS Energy (kWh): Duration and Dispatch Value

Battery energy depends on how long you need support:

  • peak shaving duration (e.g., 1–3 hours)

  • TOU shifting window (e.g., charge at noon / off-peak, discharge at evening peak)

  • PV firming (smooth PV ramps)

  • backup requirement (e.g., 2 hours for critical loads)

A clean way to estimate minimum energy for grid-cap operation:

E_BESS_required ≈ Σ_t (P_BESS_dis(t) − P_BESS_chg(t)) × Δt / η_system

Where η_system includes inverter + battery round-trip losses.

Then adjust for usable depth-of-discharge (DoD) and reserve SOC:

  • Usable fraction often 80–90% for LFP systems (depending on warranty terms)

  • Keep operational reserve (e.g., 10–20% SOC) if resilience is needed

3.3 Don’t forget cycling and degradation

Battery life economics depend on:

  • total energy throughput (MWh/year)

  • average depth-of-discharge

  • temperature

  • C-rate (power relative to energy)

Your model should include:

  • Round-trip efficiency (typically 85–92% system-level)

  • Degradation (capacity fade over years)

  • Augmentation (optional) to maintain contracted performance


4) PV Sizing: Optimize Self-Consumption, Not Just kWp

PV design is not “max roof = max ROI” if export value is low.

PV sizing steps

  1. Estimate annual PV yield:
    E_PV_annual ≈ PV_kWp × SpecificYield (kWh/kWp/year)

  2. Map PV output against charging load:

    • How much PV is consumed on-site vs exported?

    • Does PV reduce grid import during expensive periods?

  3. Value PV correctly:

  • Self-consumed PV offsets retail electricity (high value)

  • Exported PV earns feed-in (often low value)

  • In many markets, the best ROI comes from PV sized to mid-day on-site demand, not maximum possible kWp.


5) Revenue & Savings: Build a “No Double Counting” Value Stack

Integrated sites often look profitable on paper because value streams get counted twice. Avoid that by stacking value streams carefully and enforcing energy conservation.

Common value streams

A) Charging margin (core revenue)

  • Charging revenue = delivered kWh × charging price

  • Energy cost = grid import + losses − PV self-consumption value

  • Note: in many cases, charging margin alone is thin if demand charges are high

B) Demand charge reduction (often the biggest BESS value)

  • Savings = (reduced peak kW) × (demand charge $/kW)

  • Requires accurate peak interval modeling (15-min / 30-min)

C) TOU arbitrage

  • Buy low, sell high internally:
    Savings ≈ discharged kWh × (peak price − off-peak price) × η_effective

  • Must consider: the battery may already be committed to peak shaving

D) PV self-consumption uplift

  • PV + BESS can shift PV to evening charging, increasing self-consumption

  • Value = additional PV used on-site × retail price differential vs export rate

E) Grid services (market-dependent)

  • Frequency regulation, capacity, ancillary services (if allowed)

  • These may require performance guarantees and telemetry

F) Resilience / downtime avoidance

  • Monetize as avoided lost revenue during outages (site-specific)

The “stacking rule”

At each timestep, the battery can only do one thing with the same kWh:

  • If it discharges to shave demand, that energy cannot also be counted as arbitrage unless it specifically shifts from low to high price periods.

  • If PV is used for charging directly, it cannot also be counted as “stored PV shifted.”

Model dispatch chronologically and let the value streams emerge from dispatch.


6) A Practical Sizing Workflow (Repeatable)

Here is a workflow you can use for most PV+BESS+EV charging projects:

Step 1 — Build the 15-minute load profile

  • Baseline site load (aux)

  • Charging sessions forecast (arrival curve + average session energy)

  • Convert sessions into P_charge(t) with realistic simultaneity

Step 2 — Define charger power policy

  • Max simultaneous power

  • Dynamic load management rules (priority, minimum power, throttling)

  • Service level target (e.g., “95% of sessions get ≥120 kW”)

Step 3 — Model PV profile

  • Use typical daily curves by month (or simulation data)

  • Include clipping if inverter-limited

Step 4 — Set grid import cap and tariff

  • P_grid_max

  • TOU energy prices

  • Demand charge definition (monthly max, time-windowed, etc.)

  • Export compensation

Step 5 — Size BESS power (kW)

  • Start with required peak support for worst-case windows

  • Reduce if you accept charger throttling

Step 6 — Size BESS energy (kWh)

  • Run dispatch simulation for representative days (peak season, shoulder, low season)

  • Ensure SOC constraints hold without frequent “empty battery” events

  • Optimize for minimal kWh that still captures most value

Step 7 — Run the financial model

  • CAPEX: PV, BESS, chargers, transformer, civil, EMS, installation

  • OPEX: maintenance, networking, land lease, battery augmentation (if any)

  • Revenues/savings by category

  • Outputs: annual cashflow, payback, IRR, sensitivity

Step 8 — Sensitivity analysis (must-have)

Test at least:

  • utilization (sessions/day)

  • demand charges

  • charging price spread

  • battery cost and cycle life

  • grid cap changes


7) Worked Example (Illustrative Numbers)

Site concept: Retail parking + public fast charging

  • Grid import limit: 300 kW

  • Chargers: 2×150 kW + 4×60 kW (nameplate total = 540 kW)

  • PV: 250 kWp

  • Candidate BESS: 300 kW / 600 kWh (0.5C energy-to-power ratio = 2 hours at 300 kW)

Why BESS is needed

Peak simultaneous charging might hit 420–500 kW during busy hours.
With only 300 kW grid, you must either throttle chargers or discharge battery.

Power matching outcome

  • PV contributes up to ~150–220 kW at midday (season dependent)

  • Battery provides the remaining boost during spikes:

    • Example spike: charging demand 450 kW, PV 120 kW

    • Needed from grid + battery = 330 kW

    • Grid cap = 300 kW → battery discharges 30 kW (small in this moment)

    • But if PV is low (evening), the battery could need 150 kW+

Energy sizing logic

If evening peak lasts ~2 hours with average battery discharge 200 kW:

  • Energy required ≈ 200 kW × 2 h = 400 kWh Add losses and reserve SOC:

  • With 90% round-trip and 15% reserve:
    Required nominal ≈ 400 / (0.85 usable × 0.90 efficiency) ≈ 523 kWh

So 600 kWh is reasonable to prevent “battery empty” events.

Value stack (typical)

  • Demand charge savings: reduce monthly peak from ~450 kW to 300 kW

  • TOU shifting: charge battery at midday PV/off-peak, discharge at evening peak

  • PV self-consumption: store excess PV and use later for charging

  • Customer experience: maintain higher delivered kW without expensive grid upgrades

This is exactly why integrated PV+BESS enables high-power charging under constrained interconnections.


8) System Architecture That Makes the Numbers Real

Good economics require good control and metering.

Essential components

  • EMS (Energy Management System): real-time dispatch, SOC control, tariff-aware scheduling

  • Dynamic Load Management for chargers: prevents uncontrolled peaks

  • Revenue-grade metering: separate PV generation, grid import/export, BESS charge/discharge, EV delivered kWh

  • Protection and power quality: harmonics, reactive power control, islanding protection

  • Thermal management: battery/inverter performance depends heavily on temperature

Control strategies that usually win

  • Peak shaving first, then TOU arbitrage with remaining headroom

  • PV self-consumption priority (PV → EV first, then PV → BESS) when export is low

  • SOC guardrails (keep enough SOC for forecasted peak window)


9) Common Mistakes (And How to Avoid Them)

  1. Sizing only by nameplate power
    → Use time-series modeling; peaks and simultaneity drive costs.

  2. Overbuilding PV when export is low
    → Size PV to on-site absorption or pair with storage that can monetize it.

  3. Confusing battery kW and kWh
    → kW manages spikes; kWh manages duration and shifting.

  4. Double-counting battery value
    → Dispatch chronologically; let savings emerge from power balance.

  5. Ignoring demand charge definitions
    → Some tariffs use time windows or ratchets; model the correct rule.

  6. No sensitivity analysis
    → Utilization uncertainty is huge; run best/base/worst cases.


10) Quick Checklist (Use This Before You Finalize Design)

  • 15-minute load profile built (EV + aux)

  • Charger policy defined (throttling rules and service-level targets)

  • PV profile modeled and matched to load

  • Grid cap and tariff rules confirmed (TOU + demand + export)

  • BESS kW sized for worst-case peak support

  • BESS kWh sized for peak duration + SOC reserve + losses

  • Dispatch simulation produces stable SOC behavior

  • Financial model avoids double counting and includes degradation/OPEX

  • Sensitivity analysis completed (utilization, tariffs, costs)

  • EMS + metering + protection architecture defined


Closing thought

A PV + BESS + EV charging site is not three separate products—it’s one integrated power plant with a customer-facing interface. If you match power correctly, size the battery for both kW and kWh, and model revenues with dispatch realism, you can unlock fast-charging growth even under tight grid constraints—often faster and cheaper than a grid upgrade.

Efficiency: DC charging stations are increasingly integrated with renewable energy sources, such as solar and wind, enhancing the sustainability of EV charging.