Profundidad de descarga: capacidad útil y ciclos
La capacidad indicada en una batería no equivale a la energía que conviene utilizar en cada ciclo.
Ejecutar — gratis
Esta calculadora convierte la profundidad de descarga elegida en amperios-hora y vatios-hora utilizables, muestra la reserva restante y estima cómo puede variar la vida útil frente a una especificación publicada. Introduzca la capacidad del banco, la tensión nominal, la descarga prevista y los ciclos de referencia. También puede ajustar la profundidad de referencia y el exponente si dispone de datos específicos de la química empleada.
Convierta la capacidad nominal en un presupuesto energético
Las etiquetas suelen indicar amperios-hora nominales, aunque un diseño responsable casi nunca pretende extraer toda esa carga antes de recargar. La profundidad de descarga, o DoD, representa el porcentaje retirado durante un ciclo. Un banco de 400 Ah usado al 60% ofrece por tanto 240 Ah utilizables y conserva 160 Ah como reserva prevista. La calculadora multiplica además los amperios-hora por la tensión nominal para expresar el presupuesto en vatios-hora, una unidad más práctica para comparar consumos. Considere el resultado una cifra de planificación, no una garantía. La temperatura, la intensidad de descarga, la edad, el desequilibrio de celdas, las pérdidas del inversor y la tensión final admitida pueden reducir la energía real. Para dimensionar el sistema, aplique esas pérdidas aparte y conserve un margen de seguridad suficiente.
Comprenda la estimación de ciclos y sus supuestos
La vida en ciclos suele depender de la descarga: los ciclos menos profundos tienden a permitir más repeticiones, aunque la relación cambia con la química, la construcción, la temperatura, la carga y el criterio de fin de vida. La calculadora parte de la especificación que usted introduce. Multiplica los ciclos nominales por la profundidad de referencia dividida entre la elegida, elevada al exponente de vida. Con el valor predeterminado 1.5, reducir la descarga aumenta los ciclos estimados de forma no lineal. Es una aproximación técnica, no una ley universal. Use una curva del fabricante y, si es posible, ajuste el exponente con dos puntos de esa misma curva. El cambio porcentual se mide frente a la especificación introducida. El envejecimiento por calendario no está incluido, por lo que una batería poco utilizada podría envejecer antes de completar los ciclos calculados.
Elija la descarga para el sistema completo
Un límite razonable equilibra energía disponible, frecuencia de sustitución y reserva ante demandas imprevistas. Empiece por la energía necesaria entre oportunidades de carga e incluya pérdidas de conversión y consumos en espera. Compare esa necesidad con los vatios-hora utilizables en varios niveles de DoD y revise las estimaciones de ciclos. Un límite menor puede prolongar la vida modelada, pero exige un banco mayor, más pesado o más costoso para alimentar la misma carga. Una descarga mayor aprovecha más la capacidad instalada, aunque deja menos reserva y puede acortar el servicio. Compruebe también que el sistema de gestión, el corte del inversor y el cargador puedan imponer el límite. En baterías de plomo, vigile la caída de tensión y la recarga incompleta; en sistemas de litio, respete la ventana de tensión y las protecciones del fabricante. Evalúe escenarios conservadores, normales y exigentes.
Qué puede hacer con ella
Dimensionar un banco aislado
Convierta la demanda energética diaria en capacidad útil sin suponer que todos los amperios-hora nominales están disponibles.
Comparar límites de operación
Evalúe cómo objetivos del 50%, 70% y 90% intercambian vatios-hora utilizables por vida en ciclos modelada.
Interpretar una ficha de ciclos
Base el modelo en los ciclos y la DoD de referencia del fabricante y pruebe el punto de operación previsto.
Preguntas frecuentes
¿Cuánto cuesta la calculadora?
Puede ejecutarla gratis en el navegador. Cada solicitud API cuesta $0.002.
¿Qué es la profundidad de descarga?
Es el porcentaje de la capacidad nominal retirado durante un ciclo y el complemento de la reserva prevista del estado de carga.
¿La vida estimada equivale a una garantía?
No. Es una escala determinista basada en la especificación, la DoD de referencia y el exponente; la vida real también depende de la química, temperatura, carga, edad y límites operativos.
¿De dónde debe salir el exponente?
Preferiblemente, del ajuste de varios puntos de la curva de ciclos del mismo modelo. Sin esos datos, el valor 1.5 solo sirve como supuesto general.
¿Por qué se calculan amperios-hora y vatios-hora?
Los amperios-hora describen carga a la tensión del banco; los vatios-hora expresan energía y facilitan comparar baterías, cargas y tensiones distintas.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/elec/battery-dod \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"capacity_ah":400,"voltage_v":48,"depth_of_discharge_percent":60,"rated_cycle_life":3000}'const res = await fetch("https://api.kit.forhosting.com/elec/battery-dod", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"capacity_ah": 400,
"voltage_v": 48,
"depth_of_discharge_percent": 60,
"rated_cycle_life": 3000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/elec/battery-dod",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"capacity_ah": 400,
"voltage_v": 48,
"depth_of_discharge_percent": 60,
"rated_cycle_life": 3000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/elec/battery-dod", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"capacity_ah":400,"voltage_v":48,"depth_of_discharge_percent":60,"rated_cycle_life":3000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"capacity_ah":400,"voltage_v":48,"depth_of_discharge_percent":60,"rated_cycle_life":3000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/elec/battery-dod", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"capacity_ah": 400,
"voltage_v": 48,
"depth_of_discharge_percent": 60,
"rated_cycle_life": 3000
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "elec.battery_dod",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |