Charge Controllers: PWM vs MPPT
The charge controller sits between the solar panel and the battery. It regulates current flow to prevent battery overcharge and manages the charging profile. Two fundamentally different control topologies are in common use: Pulse Width Modulation (PWM) and Maximum Power Point Tracking (MPPT). Selecting the wrong type can waste 20 - 35% of available solar energy or damage batteries.
How PWM Controllers Work
A PWM charge controller connects the solar panel directly to the battery through a switch (MOSFET or relay). When the battery voltage is low, the switch is fully on - the panel feeds the battery at whatever current the panel can supply at the battery's current voltage. As the battery approaches full charge, the controller begins pulsing the switch on and off at a duty cycle proportional to the difference between target and actual battery voltage. This reduces average current flow, preventing overcharge.
The critical limitation of PWM: the panel is forced to operate at battery voltage, not at its own maximum power point (MPP). A 12 V nominal panel has an MPP voltage (Vmpp) around 17 - 18 V but the battery sits at 12 - 14.6 V. The panel is clamped to the lower voltage, operating well off its power curve. This is the root cause of PWM's lower efficiency.
How MPPT Controllers Work
An MPPT controller inserts a DC-DC buck (or boost) converter between the panel and battery. The controller continuously monitors the panel's voltage and current output, computing P = V × I. It then incrementally adjusts the panel's operating point (by changing the duty cycle of the converter's switching transistor) to locate and track the voltage at which the panel delivers maximum power - the Maximum Power Point.
Because the converter can step voltage down (or up) at high efficiency, the panel operates at its optimal Vmpp (~17 - 18 V for a 12 V panel) while the battery receives the current it needs at battery voltage. This voltage step-down comes with a compensating current increase, delivering more total watts to the battery.
Efficiency Comparison
| Parameter | PWM Controller | MPPT Controller |
|---|---|---|
| Typical conversion efficiency | 65 - 75% of panel STC rating | 93 - 97% of panel STC rating |
| Panel voltage utilisation | Poor - clamped to battery voltage | Excellent - panel at MPP |
| Cold weather advantage | None | Significant - cold panels have higher Voc/Vmpp, MPPT captures this gain |
| Partial cloud benefit | None | Moderate - can still track the shifted MPP under clouds |
| Typical cost (5 - 20 A range) | $5 - 15 | $20 - 60 |
| Quiescent current consumption | 5 - 15 mA | 10 - 30 mA |
| Complexity / failure modes | Low - simple circuit | Moderate - switching converter can fail; firmware-dependent tracking |
When the Difference Matters
Small Panels (under ~10 Wp)
For very small panels (2 - 5 Wp paired with a small LiPo and an ESP32 or nRF52840 node), the absolute watt improvement from MPPT is tiny - perhaps 1 - 2 W - and the MPPT controller's own quiescent current (20 - 30 mA = 0.07 - 0.11 Wh/h) becomes a significant fraction of the total load. For these micro-installations, a dedicated LiPo solar charger IC such as the CN3791 (MPPT-capable IC, ~$1) or TP4056 (simple CC/CV, no MPPT, ~$0.30) is the appropriate solution. Full-featured MPPT controllers add cost, quiescent drain, and complexity with minimal return.
Medium Panels (10 - 100 Wp)
This is where MPPT begins to pay for itself. A 20 Wp panel with a PWM controller delivers approximately 15 Wp to the battery in ideal conditions. The same panel with an MPPT controller delivers approximately 19 Wp - a 27% improvement. Over a 5-day winter week at Seattle's 1.8 PSH:
PWM: 20 Wp × 0.70 × 1.8 PSH × 5 days = 126 Wh MPPT: 20 Wp × 0.95 × 1.8 PSH × 5 days = 171 Wh Difference: 45 Wh - enough to run an extra day of autonomy
Large Panels (over 100 Wp) and Cold Climates
MPPT is the only correct choice. In cold climates (below freezing), panel Vmpp rises significantly - a 36-cell panel that has Vmpp = 17 V at 25 °C may have Vmpp = 20 - 21 V at −10 °C. A PWM controller cannot exploit this; an MPPT controller captures all of it.
LVD Settings for LiFePO4 Packs
Low Voltage Disconnect (LVD) is the battery voltage at which the charge controller cuts power to the load, protecting the battery from over-discharge. Setting LVD correctly for LiFePO4 is critical - these batteries have flat discharge curves that make "soft" voltage warnings less useful.
| Parameter | 12 V LiFePO4 (4S, 12.8 V nominal) | 12 V Lead Acid (12 V nominal) |
|---|---|---|
| LVD (disconnect) voltage | 11.5 - 11.8 V (≈ 10 - 15% SoC) | 11.4 - 11.8 V (≈ 40 - 50% SoC) |
| LVD reconnect voltage (hysteresis) | 12.5 - 12.8 V (≈ 30 - 50% SoC) | 12.2 - 12.5 V |
| Absorption charge voltage | 14.2 - 14.6 V (3.55 - 3.65 V/cell) | 14.4 - 14.8 V |
| Float voltage | 13.5 - 13.8 V (3.375 - 3.45 V/cell) | 13.2 - 13.8 V |
| Equalization | Do NOT equalize LiFePO4 | 15.0 - 16.0 V periodically |
Critical: Many PWM controllers sold as "12 V" ship with default lead-acid charge profiles. If used with LiFePO4, the float voltage will be too low and the absorption voltage may be set for gel/AGM lead acid (14.1 V) which undercharges LiFePO4. Always verify and configure the LiFePO4 profile. Renogy Rover, Victron BlueSolar, and Epever controllers have configurable user-defined battery profiles.
Common Charge Controllers for Small LoRa Deployments
IC-Level (for integration into custom PCBs)
| IC | Type | Input Voltage | Max Charge Current | Chemistry | Cost |
|---|---|---|---|---|---|
| TP4056 | CC/CV linear (no MPPT) | 4.5 - 8 V | 1 A | LiPo (4.2 V cutoff) | $0.25 - 0.40 |
| CN3791 | MPPT, switching | 4.5 - 6 V | 2 A | LiPo (4.2 V cutoff) | $0.80 - 1.20 |
| BQ24650 | MPPT, synchronous buck | Up to 28 V | Up to 10 A | Configurable (Li, LiFePO4) | $2 - 4 |
| SPV1040 | MPPT, boost converter | 0.3 - 5 V | 1.8 A out | LiPo, NiMH | $1.50 - 2.50 |
Module-Level (drop-in for 12 V systems)
| Module | Type | Panel Watts (max) | Features | Cost |
|---|---|---|---|---|
| Renogy Wanderer 10A PWM | PWM | 120 W | LCD, LVD, USB output | $20 |
| Epever Tracer AN 10A MPPT | MPPT | 130 W | RS485 MODBUS, LCD, configurable profiles | $35 - 45 |
| Victron SmartSolar 75/10 | MPPT | 145 W @ 12 V | Bluetooth, VictronConnect app, LiFePO4 profile | $55 - 65 |
| Genasun GVB-8 (8A MPPT) | MPPT | 110 W | Purpose-built LiFePO4 profiles, waterproof | $75 - 90 |
| SRNE ML2430 30A MPPT | MPPT | 390 W @ 12 V | LCD, multiple battery profiles, USB | $45 - 55 |
For most LoRa gateway installations (20 - 100 Wp), the Victron SmartSolar 75/10 is the recommended choice: Bluetooth monitoring allows verifying charge behaviour remotely, and the LiFePO4 profile is well-tested. For budget-constrained multi-node deployments, the Epever Tracer AN 10A provides RS485 telemetry for integration with Grafana monitoring stacks.
No comments to display
No comments to display