Drogheda/03-Architecture-Hardware/Auditoria-Final-V56-V57/sec5-bateria.tex

114 lines
9.1 KiB
TeX
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

% ================================================================ BATERÍA
\section{C $\cdot$ Batería, apagón del módem y ciclo de 10 minutos}\label{sec:bateria}
\subsection{Presupuesto de corriente en respaldo}
En respaldo el LTC4040 eleva el paquete (3.2--3.5 V) a \textbf{4.79 V} en VSYS y puede entregar \textbf{2.5 A}
(12 W) con el paquete en 3.2 V. De ahí cuelga todo:
\hwtab{\begin{tabular}{@{}L{3.87cm}L{2.52cm}L{2.52cm}L{6.58cm}@{}}
\toprule
\cab{\cw{Carga} & \cw{Promedio} & \cw{Pico} & \cw{Base del número}}\\
\midrule
Etapa RTK (simpleRTK2B Pro + F9P) & 0.7 W (0.15 A) & 1.0 W & F9P $\approx$ 85 mA a 3.3 V + LDO + LEDs; medido 0.9 s a NMEA tras STACK ON.\\
\rowcolor{HelgenMist} Módem 4G (vía U7, $\eta$ 0.9) & 1.5 W (0.31 A) & \textbf{7.3 W (1.5 A)} & 0.4 A promedio a 3.3 V; ráfagas LTE de 2 A a 3.3 V durante $\sim$1 ms (incidente PFI del 24-jul).\\
MCU y lógica (\net{3V3} por U17) & 0.5 W (0.1 A) & 0.6 W & STM32 a 96 MHz, SC16IS752, MAX3232, SP3485, PCF8574, sensores, LEDs.\\
\rowcolor{HelgenMist} W5500 (U12, \net{3V3\_ETH}) & 0.05 W en power-down $\cdot$ 0.3--0.5 W activo & — & 13 mA en PD; 65 mA sin enlace; 132 mA con enlace (hoja de datos p.~59).\\
K1 (Modo B) & 0.15 W si está enganchado & — & Bobina G5V-1 5 V: 30 mA.\\
\rowcolor{HelgenMist} Ventilador & \textbf{0} & 0 & Sin 24 V no hay 5V\_FAN en ninguna de las dos tarjetas.\\
\textbf{Total ventana encendida} & \textbf{$\approx$ 2.9 W (0.6 A)} & \textbf{$\approx$ 8.7 W (1.8 A)} & Pico $<$ 2.5 A del boost: margen 0.7 A. Del paquete a 3.2 V: 1.0 A promedio, 3.0 A de pico (0.2 C del 1S4P).\\
\bottomrule
\end{tabular}}
\begin{helgennotice}[Por qué ya no hay apagón del módem (mandato 4)]
El caso que mató a la V5.5 fue estructural: su buck del módem (MP1584) necesitaba 4.5 V y el riel de respaldo
era 4.6--4.79 V; una ráfaga lo hundía bajo 4.5 V, el PMIC del módem abortaba y no reintentaba. En V5.6/V5.7 el
AP64350 regula desde \textbf{3.8 V} (1 V de margen bajo los 4.79 V), tiene 220 $\mu$F en su salida y el boost del
LTC4040 entrega 2.5 A contra 1.8 A de pico. El PFI quedó en 4.40 V, 0.2 V más abajo que en EinarBoard 1.0.
Lo que queda es \emph{secuencia}, y eso es firmware: nunca encender el módem al mismo tiempo que la etapa (el
inrush de C3 220 $\mu$F + C40 a través de Q1 es un escalón que el boost cubre en $\sim$100 $\mu$s, pero mejor sin el módem
colgado), y nunca encenderlo con el paquete bajo la rodilla de LFP (2.95 V). Si el firmware respeta eso, no hay
caso de brownout en el hardware de hoy.
\end{helgennotice}
\subsection{Piso dormido: lo que consume la tarjeta con todo apagado}
\hwtab{\begin{tabular}{@{}L{5.17cm}L{2.39cm}L{8.35cm}@{}}
\toprule
\cab{\cw{Componente (estado dormido)} & \cw{Potencia} & \cw{Comentario}}\\
\midrule
W5500 en PHY power-down, vía U12 ($\eta$ 0.85) & \textbf{50 mW} & El rubro más grande; sin power-down serían 300--500 mW. No hay enable de \net{3V3\_ETH} (hallazgo E-3).\\
\rowcolor{HelgenMist} MCU en STOP + RTC (LSE), reg. principal & 1.5 mW & 42 $\mu$A a 25 °C, $\sim$300 $\mu$A a 85 °C.\\
MAX3232 (sin shutdown) $\cdot$ SP3485 (DE = \nbar{RE}: receptor o transmisor siempre uno encendido) & 1.5 + 2.5 mW & El SP3485 no puede entrar en shutdown con DE y \nbar{RE} unidos.\\
\rowcolor{HelgenMist} LED D18 (PWR, siempre encendido) $\cdot$ Rdfu1 22 k hacia el F9P apagado & 4.3 + 0.5 mW & D18 no tiene control; 1.3 mA.\\
U17 TLV1117LV (100 $\mu$A) $\cdot$ LTC4040 boost en Burst (40 $\mu$A) $\cdot$ U12 Iq $\cdot$ divisores & 1.5 mW & \\
\rowcolor{HelgenMist} SC16IS752 (sleep) $\cdot$ TMP102 ×2 (shutdown) $\cdot$ SHT40 $\cdot$ SC7A20 (low power) $\cdot$ PCF8574 & 0.5 mW & \\
U7 AP64350 apagado $\cdot$ etapa apagada $\cdot$ K1 suelto & 0 & Son los tres cortes que tiene el firmware.\\
\rowcolor{HelgenMist} \textbf{Total estimado} & \textbf{$\approx$ 65--75 mW} & Se mide en el piloto con un PPK2 en BAT+ (gate G1 del plan del 9-sep: $<$ 50 mW era la meta; $<$ 100 mW vale para 10 min).\\
\bottomrule
\end{tabular}}
\begin{figure}[H]\centering
\includegraphics[width=0.8\linewidth]{fig/fig-autonomia.png}
\caption{Autonomía del paquete LFP 1S4P (37 Wh útiles) según la ventana encendida por ciclo, el periodo y el piso
dormido. Con 45 s de ventana cada 10 min y 75 mW de piso: $\approx$ 5 días; cada 20 min: $\approx$ 8.5 días.
Con el W5500 activo (450 mW) ninguna combinación llega a 7 días.}\label{fig:autonomia}
\end{figure}
\subsection{La secuencia del ciclo (lo que 0.7.0 tiene que hacer)}
\begin{figure}[H]\centering
\begin{tikzpicture}[node distance=3mm and 4mm, font=\scriptsize,
paso/.style={caja, text width=22mm, minimum height=11mm},
pasoacento/.style={cajaoscura, text width=22mm, minimum height=11mm}]
\node[paso] (s1) {\textbf{1 $\cdot$ Detectar respaldo}\\\net{5V\_SENSE} $<$ 4.2 V (media 200 ms); evento \$PHEV BACKUP};
\node[paso, right=of s1] (s2) {\textbf{2 $\cdot$ Última palabra}\\\$PHLG + posición guardada por el módem; esperar TX vacío};
\node[paso, right=of s2] (s3) {\textbf{3 $\cdot$ Apagar}\\MODEM\_EN = 0 $\cdot$ PA1 = 0 $\cdot$ K1 suelto $\cdot$ UARTs en alta Z $\cdot$ W5500 PD $\cdot$ LEDs off};
\node[pasoacento, right=of s3] (s4) {\textbf{4 $\cdot$ STOP}\\alarma RTC a 10 min (LSE; LSI si no arrancó) $\cdot$ EXTI9 (movimiento) $\cdot$ EXTI \net{5V\_SENSE}};
\node[paso, below=of s4] (s5) {\textbf{5 $\cdot$ Despertar}\\restaurar relojes; medir vbat (media 200 ms): $<$ 2.95 V $\to$ dormir otra vez (sin módem)};
\node[paso, left=of s5] (s6) {\textbf{6 $\cdot$ Etapa ON}\\PA1 = 1 (rampa 20 ms opcional); esperar NMEA ($\le$ 30 s)};
\node[paso, left=of s6] (s7) {\textbf{7 $\cdot$ Módem ON}\\$\ge$ 2 s después: MODEM\_EN = 1; LED en PC2 o RTCM en PC7 en $\le$ 90 s, si no: pulso MODEM\_RST (PC1) 0.5 s, máx. 2};
\node[paso, left=of s7] (s8) {\textbf{8 $\cdot$ Reportar}\\K1 enganchado; 2 × \$PHLG/\$PHCG (pwr = BATT) + GGA fresco si hay fix; \$PHEV con tiempos del ciclo};
\node[pasoacento, below=of s8] (s9) {\textbf{9 $\cdot$ Dormir}\\paso 3 otra vez. Ventana meta $\le$ 60 s. Si vuelve el 24 V en cualquier punto: salir a RUN};
\draw[flecha] (s1) -- (s2); \draw[flecha] (s2) -- (s3); \draw[flecha] (s3) -- (s4); \draw[flecha] (s4) -- (s5);
\draw[flecha] (s5) -- (s6); \draw[flecha] (s6) -- (s7); \draw[flecha] (s7) -- (s8); \draw[flecha] (s8) -- (s9);
\draw[flechaacento] (s9.west) -- ++(-5mm,0) |- (s4.west);
\end{tikzpicture}
\caption{Ciclo de respaldo de 0.7.0. Lo que lo hace posible en hardware: \net{MODEM\_EN} (PC3), \net{PWR\_CTRL} (PA1),
el MCU alimentado en respaldo, el LSE Y4 y la INT1 del SC7A20 en PB9.}\label{fig:ciclo}
\end{figure}
Reglas que salen del hardware y entran al firmware:
\begin{itemize}
\item \textbf{Umbrales LFP, no Li-ion.} 0.6.3 corta la etapa a 3.40 V y rearma a 3.70 V (Li-ion). En LFP la meseta
está en 3.2--3.3 V: con 3.40 V la tarjeta se declararía vacía con el paquete a medio llenar. Corte en
\textbf{2.95 V} (media de 200 ms, nunca una muestra dentro de una ráfaga), rearme en \textbf{3.20 V}; SoC por
conteo de culombios, no por voltaje (hallazgo F-2 / riesgo R12).
\item \textbf{Nada de \texttt{loop()} a 96 MHz mientras «duerme».} Hoy el estado SLEEP corta \net{PWR\_CTRL} y sigue
girando a 96 MHz ($\approx$ 165 mW): eso solo ya duplica el piso. STOP con alarma RTC es el cambio sustantivo.
\item \textbf{W5500 en power-down, no en reset.} La corriente con RSTn en bajo no está especificada; en
power-down son 13 mA. Sacarlo del reset, escribir PHYCFGR (OPMD = 1, OPMDC = 110) y dejarlo.
\item \textbf{K1 suelto entre ventanas}: 150 mW de bobina serían 2× el piso. Se engancha solo durante los
reportes; la lógica de 0.5.1 (insertar en huecos de $\ge$ 8 ms, soltar antes de cortar) sigue valiendo.
\item \textbf{Módem «encendido pero muerto».} Rdfu1 (22 k en PA10) puede sostener a medias el riel del módem
apagado a través de K1 (NC) y su ESD: el pulso de \net{MODEM\_RST} después de cada \net{MODEM\_EN} es la
defensa, y ya está probado (SW4G1).
\item \textbf{Si el 24 V vuelve a mitad de ciclo}, se sale al modo normal sin reset (en V5.5 el reset era la única
forma de revivir el módem; aquí el riel se controla con un pin). Se conserva como opción
(\texttt{ENABLE\_WAKE\_RESET}).
\end{itemize}
\subsection{Qué mide el piloto para cerrar esta sección}
\hwtab{\begin{tabular}{@{}L{5.37cm}L{4.97cm}L{5.57cm}@{}}
\toprule
\cab{\cw{Medición} & \cw{Cómo} & \cw{Criterio de aceptación}}\\
\midrule
Piso dormido & PPK2 o Joulescope en BAT+, 10 min & $<$ 100 mW (meta 75); histograma sin picos del W5500\\
\rowcolor{HelgenMist} Arranque del módem en batería & Paquete al 20 \% (3.0 V/celda) y $\ge$ 45 °C; 20 ciclos de 10 min & LED/RTCM en $\le$ 90 s en los 20; \net{MAIN5V} $\ge$ 4.3 V en el osciloscopio durante el arranque\\
Ráfaga LTE en respaldo & Osciloscopio en \net{SYS5V} y \net{3V3\_MODEM} durante el registro & \net{SYS5V} $>$ 4.3 V; \net{3V3\_MODEM} $>$ 3.1 V; sin reinicio del MCU\\
\rowcolor{HelgenMist} Carga a 24 V con el sistema encendido & TP1 ÷ 32 contra V$_{RS1}$ (§4.5 de la auditoría del 16-oct) & razón 1.0--1.1 (Kelvin); carga 1.2--1.4 A con etapa + módem encendidos\\
Transiciones 24 V $\leftrightarrow$ batería & 20 cortes de 10 s con módem registrado & sin reset del MCU; sin caída del módem; \$PHEV BACKUP\_START/END en el servidor\\
\bottomrule
\end{tabular}}