Electrical/PCB: - LTC4040 Block B sized to the 12 Ah 1S4P pack (RPROG 825R -> 2.42 A ~ C/5, RS 8 mR -> 3.1 A input limit, PFI 4.60 V, backup 4.79 V, charge 4.00 V Li-ion via VSYS-referenced straps) + Block E cutoff (P11) + Block F PA4->VEH5V re-tap + Block H fail-safe Modo-B bypass (K1 normally-closed relay) + Block I NTC->PB1. - CARRIER-BOARD conversion: simpleRTK2B Pro on UNO-pattern female headers (MOD1; D0/D1=UART1, D2=RX2, D8=TX2, IOREF=3V3, 5V=SW_5V) + 4G NTRIP Master on on-board XBee socket (J7/J8; VCC=3V3_MODEM via new Block K MP1584 buck off SW_5V - the HP XBee socket is 3.3 V not 5 V). Board 120x100, placement + GND pour + DRC baselines. Custom symbols: LTC4040EUFD, AO4406A, SimpleRTK2B_Pro_Socket. - Fixed duplicated U2, stale no-connects, A4->A3 sheet; ERC 0 errors. Docs: - Canonical electrical-design-state + production delta (Block B values table, 5b/5c/5d/5e) + design/rationale/connections/BOM swept to the Jul-2 assumptions ledger (Conexiones-por-Bloque xlsx). - Guia de Conexion Protoboard: LaTeX source now maintained in-repo -> v2.1 PDF. - CircuiTikZ sheet + wiring Beamer: block 11 (NTC->PB1) + guinda ignition legend. - Client decks: Avance v1.1 (overclaims fixed) + RCA v1.1 (2-jul addendum). Repo hygiene: - .gitignore: live rtk-config (SIM/APN/NTRIP creds) now ignored and REMOVED from tracking (NOTE: rotate those credentials - they exist in prior commits); KiCad .bak/snapshots/.history, LaTeX intermediates, Office locks ignored+purged. - Removed rogue .history gitlinks that broke git status.
388 lines
20 KiB
TeX
388 lines
20 KiB
TeX
% Helgen Technologies — HBOX RTK · Avance de Desarrollo y Plan de Despliegue (Project Drogheda)
|
|
% Audiencia: Hutchison Ports (ICAVE / TIMSA / EIT / LCT). Seguimiento del RCA del 22-jun.
|
|
% Compilar con XeLaTeX: latexmk -xelatex -interaction=nonstopmode <file>.tex
|
|
\documentclass[10pt,aspectratio=169]{beamer}
|
|
|
|
\usetheme[progressbar=frametitle, numbering=fraction, block=fill]{metropolis}
|
|
|
|
% ---------- Paleta oficial Helgen (Guia de Identidad v1.5, 2026) ----------
|
|
\definecolor{HelgenIndigo}{HTML}{2C3C5B} % Indigo — color primario
|
|
\definecolor{HelgenCyan}{HTML}{51F3DA} % Verde cian — acento
|
|
\definecolor{HelgenTeal}{HTML}{17A08C} % derivado: cian oscurecido para TEXTO sobre blanco
|
|
\definecolor{HelgenMist}{HTML}{EFF1F5} % derivado: tinte indigo 8% para rellenos
|
|
\definecolor{HelgenAmber}{HTML}{C0392B} % rojo de alerta (umbrales/peligro)
|
|
|
|
\setbeamercolor{normal text}{fg=HelgenIndigo, bg=white}
|
|
\setbeamercolor{alerted text}{fg=HelgenTeal}
|
|
\setbeamercolor{frametitle}{bg=HelgenIndigo, fg=white}
|
|
\setbeamercolor{progress bar}{fg=HelgenCyan, bg=HelgenMist}
|
|
\setbeamercolor{title separator}{fg=HelgenCyan}
|
|
\setbeamercolor{block title}{bg=HelgenMist, fg=HelgenIndigo}
|
|
\setbeamercolor{block title alerted}{bg=HelgenIndigo, fg=white}
|
|
|
|
% ---------- Fuentes de marca + idioma ----------
|
|
\usepackage{iftex}
|
|
\ifXeTeX
|
|
\usepackage{fontspec}
|
|
\IfFontExistsTF{League Spartan}{%
|
|
\newfontfamily\helgentitle{League Spartan}[BoldFont={* Bold}]
|
|
\setbeamerfont{title}{family=\helgentitle, series=\bfseries}
|
|
\setbeamerfont{frametitle}{family=\helgentitle, series=\bfseries}
|
|
\setbeamerfont{section title}{family=\helgentitle, series=\bfseries}
|
|
\setbeamerfont{standout}{family=\helgentitle, series=\bfseries}
|
|
}{}
|
|
\IfFontExistsTF{MADE Evolve Sans}{\setsansfont{MADE Evolve Sans}}{}
|
|
\else
|
|
\usepackage[T1]{fontenc}
|
|
\fi
|
|
\usepackage{booktabs}
|
|
\usepackage{graphicx}
|
|
\usepackage{array}
|
|
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}
|
|
\usepackage{tikz}
|
|
\usetikzlibrary{arrows.meta, positioning, shapes.misc, fit, backgrounds}
|
|
\usepackage{pgfgantt}
|
|
|
|
% ---------- Estilos TikZ ----------
|
|
\tikzset{
|
|
box/.style={rounded rectangle, draw=HelgenIndigo, fill=HelgenMist,
|
|
font=\scriptsize, minimum height=7mm, inner xsep=2mm, align=center},
|
|
hot/.style={rounded rectangle, draw=HelgenAmber, fill=HelgenMist, very thick,
|
|
font=\scriptsize, minimum height=7mm, inner xsep=2mm, align=center},
|
|
arr/.style={-{Stealth}, thick, HelgenTeal},
|
|
arrb/.style={-{Stealth}, thick, HelgenIndigo},
|
|
heat/.style={-{Stealth}, very thick, HelgenAmber}
|
|
}
|
|
|
|
% ---------- Vinetas + separador ----------
|
|
\setbeamertemplate{itemize item}{\textcolor{HelgenTeal}{\rule[0.25ex]{0.85ex}{0.85ex}}}
|
|
\setbeamertemplate{itemize subitem}{\textcolor{HelgenTeal}{\rule[0.25ex]{0.6ex}{0.6ex}}}
|
|
\setbeamertemplate{itemize subsubitem}{\textcolor{HelgenTeal}{\rule[0.25ex]{0.5ex}{0.5ex}}}
|
|
\newcommand{\sep}{\raisebox{0.35ex}{\rule{0.45ex}{0.45ex}}}
|
|
\newcommand{\figcap}[1]{\par\vspace{1.2mm}\centerline{\begin{minipage}{0.92\textwidth}\footnotesize\centering #1\end{minipage}}}
|
|
|
|
% ---------- Pie de pagina ----------
|
|
\setbeamertemplate{frame footer}{%
|
|
\scriptsize\color{gray}\insertshortauthor\ \sep\ \insertshorttitle\ \sep\ Confidencial — Helgen Servicios Especializados}
|
|
|
|
% ---------- Metadatos ----------
|
|
\title[Avance HBOX RTK \sep\ Hutchison Ports]{HBOX RTK — Avance de Desarrollo y Plan de Despliegue}
|
|
\subtitle{Validación térmica \sep\ Watchdog v3 \sep\ Despliegue en las 4 BUs \sep\ Seguimiento del RCA (22 jun)}
|
|
\author[Helgen Technologies]{Helgen Technologies — Ingeniería de Producto}
|
|
\date{2 de julio de 2026}
|
|
\titlegraphic{\hfill\includegraphics[height=1.05cm]{figs/logo-helgen.png}}
|
|
|
|
\begin{document}
|
|
|
|
\maketitle
|
|
|
|
\begin{frame}{Agenda}
|
|
\setbeamertemplate{section in toc}[sections numbered]
|
|
\tableofcontents[hideallsubsections]
|
|
\end{frame}
|
|
|
|
% =====================================================================
|
|
\section{Estado general: los tres frentes del RCA}
|
|
|
|
\begin{frame}{Los tres frentes del RCA — dónde está cada uno hoy}
|
|
\centering\small
|
|
\setlength{\tabcolsep}{5pt}\renewcommand{\arraystretch}{1.35}
|
|
\begin{tabular}{@{}L{0.16\textwidth} L{0.33\textwidth} L{0.42\textwidth}@{}}
|
|
\toprule
|
|
Frente & Estado al 22 jun & \textbf{Hoy (2 jul)} \\
|
|
\midrule
|
|
Backend & Reescrito (envío asíncrono, filtro anti-salto corregido) & \alert{Desplegado en producción} y estable \\
|
|
Térmico & Hipótesis de campo abierta (faltaba soak) & \alert{Validado en cámara a 50\,°C}: el RTK opera normal; el foco es la \textbf{energía}. Solución en prueba (2 alternativas) \\
|
|
Hardware & Plan de PCB v3 & Watchdog v3 \alert{validado en protoboard}; \textbf{congelamiento del diseño de PCB hoy} \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\vfill
|
|
\begin{block}{En una línea}
|
|
Las tres causas del RCA tienen corrección \textbf{verificada o en prueba final}, y el despliegue hacia las 4 BUs \alert{inicia la próxima semana}.
|
|
\end{block}
|
|
\end{frame}
|
|
|
|
% =====================================================================
|
|
\section{Validación térmica en cámara (50\,°C)}
|
|
|
|
\begin{frame}{Prueba en cámara de calor — protocolo y resultado}
|
|
\begin{itemize}
|
|
\item \textbf{Unidad bajo prueba:} HBOX en configuración actual — \emph{tal como se embarcó a ICAVE}, sin modificaciones.
|
|
\item \textbf{Condición:} 50\,°C de temperatura ambiente sostenida en cámara.
|
|
\end{itemize}
|
|
\vfill
|
|
\centering\small
|
|
\setlength{\tabcolsep}{6pt}\renewcommand{\arraystretch}{1.3}
|
|
\begin{tabular}{@{}L{0.3\textwidth} L{0.3\textwidth} L{0.3\textwidth}@{}}
|
|
\toprule
|
|
Subsistema & Resultado a 50\,°C & Lectura \\
|
|
\midrule
|
|
RTK (F9P + 4G + correcciones) & \textbf{Operación normal}, sin degradación & Consistente con el rating del ZED-F9P ($-40\ldots+85$\,°C) \\
|
|
Batería de respaldo & Autonomía ${\sim}30\,\%$ de la nominal & \alert{La víctima térmica es la energía} \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\vfill
|
|
\begin{alertblock}{Confirma el RCA}
|
|
El calor \textbf{no} tumba el posicionamiento: degrada la \textbf{cadena de energía}. Exactamente lo que el RCA señaló como eslabón débil.
|
|
\end{alertblock}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Lectura de ingeniería del resultado}
|
|
\begin{itemize}
|
|
\item \textbf{Posicionamiento robusto al calor:} con la máquina encendida, el RTK entrega igual a 50\,°C que en frío.
|
|
\item \textbf{El riesgo térmico es de disponibilidad}, no de precisión: con celda caliente, el respaldo en máquina apagada se reduce a ${\sim}30\,\%$.
|
|
\item \textbf{Mitigación doble:} bajar la temperatura interior (solución térmica, siguiente sección) y \textbf{proteger la celda} — el watchdog v3 corta la carga cuando el sensor reporta celda caliente (carga calificada por temperatura).
|
|
\item \textbf{Honesto:} el interior del gabinete en campo puede exceder 50\,°C en picos; por eso el v3 integra \alert{sensores de temperatura} — mediremos el valor real en campo, ya no estimaremos.
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
% =====================================================================
|
|
\section{Solución térmica — dos alternativas en prueba}
|
|
|
|
\begin{frame}{Dos alternativas en evaluación}
|
|
\begin{columns}[T]
|
|
\column{0.56\textwidth}
|
|
\begin{block}{A — Ducto impermeable + ventilador}
|
|
\small Trayectoria de aire controlada que extrae el calor \textbf{sin comprometer el ingreso de agua} (diseño anti-ingreso validándose). Probada: funcional.
|
|
\end{block}
|
|
\begin{block}{B — Disipador de aluminio + ventilador interno}
|
|
\small Pared disipadora de aluminio con aletas al exterior; el ventilador interno fuerza la convección hacia ella y el calor \textbf{sale por conducción}, con la caja sellada. \alert{En prueba ahora.}
|
|
\end{block}
|
|
\begin{alertblock}{Descartada: placa fría a platina}
|
|
\small El gabinete instalado \textbf{no tiene platina} — no existe superficie de montaje para conducción directa.
|
|
\end{alertblock}
|
|
\column{0.4\textwidth}
|
|
\centering
|
|
\includegraphics[width=\linewidth]{figs/hbox-heatsink.jpeg}
|
|
\figcap{Alternativa B: disipador de aluminio integrado al HBOX.}
|
|
\end{columns}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Rutas de extracción de calor — comparación}
|
|
\centering
|
|
\begin{columns}[T]
|
|
\column{0.5\textwidth}\centering
|
|
\textbf{\small A — Ducto impermeable}\\[2mm]
|
|
\begin{tikzpicture}[scale=0.9]
|
|
% caja
|
|
\draw[HelgenIndigo, thick, fill=HelgenMist, rounded corners=1pt] (0,0) rectangle (4.4,2.2);
|
|
% ducto superior
|
|
\draw[HelgenIndigo, thick] (-0.5,1.55) -- (0,1.55);
|
|
\draw[HelgenIndigo, thick] (-0.5,1.95) -- (0,1.95);
|
|
\draw[HelgenIndigo, thick] (4.4,1.55) -- (4.9,1.55);
|
|
\draw[HelgenIndigo, thick] (4.4,1.95) -- (4.9,1.95);
|
|
% membrana
|
|
\foreach \y in {1.58,1.66,...,1.94} \draw[HelgenTeal, thick] (0.05,\y) -- (0.3,\y);
|
|
\node[font=\tiny, text=HelgenIndigo, anchor=south] at (0.6,2.25) {membrana / laberinto};
|
|
% flujo de aire
|
|
\draw[arr] (-0.45,1.75) -- (0.7,1.75);
|
|
\draw[arr] (0.8,1.75) .. controls (2.2,1.3) .. (3.6,1.75);
|
|
\draw[arr] (3.7,1.75) -- (4.85,1.75);
|
|
\node[font=\tiny, text=HelgenTeal] at (2.2,0.95) {aire forzado (ventilador)};
|
|
% electronica
|
|
\node[box, font=\tiny] at (2.2,0.45) {electrónica HBOX};
|
|
% gotas bloqueadas
|
|
\node[font=\tiny, text=HelgenAmber] at (-0.55,2.45) {agua};
|
|
\draw[HelgenAmber, thick] (-0.75,2.2) -- (-0.35,2.3);
|
|
\draw[HelgenAmber, thick] (-0.75,2.3) -- (-0.35,2.2);
|
|
\end{tikzpicture}
|
|
\par\vspace{1mm}
|
|
{\scriptsize Extrae aire caliente por trayectoria sellada;\\el diseño impide el paso de agua al interior.}
|
|
\column{0.5\textwidth}\centering
|
|
\textbf{\small B — Disipador + ventilador interno}\\[2mm]
|
|
\begin{tikzpicture}[scale=0.9]
|
|
% caja sellada
|
|
\draw[HelgenIndigo, thick, fill=HelgenMist, rounded corners=1pt] (0.4,0) rectangle (4.8,2.2);
|
|
% pared de aluminio
|
|
\fill[HelgenIndigo!25] (0.4,0.1) rectangle (0.75,2.1);
|
|
\draw[HelgenIndigo, thick] (0.4,0.1) rectangle (0.75,2.1);
|
|
% aletas exteriores
|
|
\foreach \y in {0.2,0.42,...,2.05} \draw[HelgenIndigo, line width=1.4pt] (0.4,\y) -- (-0.05,\y);
|
|
\node[font=\tiny, text=HelgenIndigo, anchor=south, align=center] at (0.3,2.25) {aletas al\\exterior};
|
|
% ventilador interno
|
|
\node[circle, draw=HelgenIndigo, thick, minimum size=6mm, font=\tiny] (fan) at (3.4,1.5) {fan};
|
|
\draw[arr] (fan.west) -- (1.1,1.5);
|
|
\draw[arr] (3.4,0.9) .. controls (2.2,0.6) .. (1.2,0.9);
|
|
% conduccion
|
|
\draw[heat] (0.35,1.5) -- (-0.45,1.5);
|
|
\draw[heat] (0.35,0.6) -- (-0.45,0.6);
|
|
\node[font=\tiny, text=HelgenAmber, anchor=west] at (-0.55,0.28) {calor};
|
|
% electronica
|
|
\node[box, font=\tiny] at (3.4,0.45) {electrónica};
|
|
\node[font=\tiny, text=HelgenIndigo] at (2.2,1.9) {IP67 se mantiene};
|
|
\end{tikzpicture}
|
|
\par\vspace{1mm}
|
|
{\scriptsize Convección interna forzada hacia la pared de aluminio;\\conducción al exterior con la caja \textbf{sellada}.}
|
|
\end{columns}
|
|
\vfill
|
|
\figcap{Las \textbf{pruebas de calor concluyen hoy}; el resultado define la variante que se integra al diseño final. Ambas respetan el invariante: \alert{IP67 sin comprometer}.}
|
|
\end{frame}
|
|
|
|
% =====================================================================
|
|
\section{Watchdog v3 — protoboard validado, PCB en cierre}
|
|
|
|
\begin{frame}{Circuito v3 validado en protoboard profesional}
|
|
\begin{itemize}
|
|
\item Armado en \textbf{protoboard profesional} con los componentes reales del diseño: \alert{funciona perfectamente}.
|
|
\item Qué valida: conmutación del stack RTK (apagado = estado seguro), sensado de ignición a bordo (12--24\,V), respaldo por batería, medidor de carga, reset y \textbf{control de ventilador por temperatura}.
|
|
\item \textbf{Sensor de temperatura integrado} al watchdog: gobierna el ventilador, \textbf{corta la carga con celda caliente} y alimenta la telemetría.
|
|
\item Los invariantes del RCA se mantienen: \emph{nunca desaparecer, nunca ciclo infinito}; recuperación ciclando el \textbf{stack 4G}, no el GNSS.
|
|
\end{itemize}
|
|
\vfill
|
|
\begin{block}{Significado}
|
|
La electrónica que va a la PCB ya no es una apuesta: \textbf{es un circuito medido y funcionando} — la PCB es su traducción a manufactura.
|
|
\end{block}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Watchdog v3 — diagrama de bloques}
|
|
\centering
|
|
\begin{tikzpicture}[node distance=4mm and 5mm]
|
|
\node[box] (vin) {24\,V gabinete\\(GX16)};
|
|
\node[box, right=of vin] (prot) {Protección\\inv. pol. + TVS};
|
|
\node[box, right=of prot] (psu) {Fuente\\24$\rightarrow$5\,V};
|
|
\node[box, right=of psu] (rail) {Riel 5\,V\\respaldado};
|
|
\node[box, right=of rail] (sw) {Load switch\\(OFF = seguro)};
|
|
\node[box, right=of sw] (stack){Stack RTK\\F9P + 4G};
|
|
\node[box, below=7mm of psu] (bat) {LTC4040 + batería\\carga calif.\ por T$^\circ$};
|
|
\node[box, below=7mm of sw] (mcu) {STM32\\watchdog};
|
|
\node[box, below=7mm of stack](temp){Sensores\\T$^\circ$ / HR};
|
|
\node[box, left=of bat] (ign) {Ignición 12--24\,V\\(acond.\ a bordo)};
|
|
\node[box, below=6mm of bat] (fan) {Ventilador\\PWM};
|
|
\draw[arrb] (vin)--(prot); \draw[arrb] (prot)--(psu); \draw[arrb] (psu)--(rail);
|
|
\draw[arrb] (rail)--(sw); \draw[arrb] (sw)--(stack);
|
|
\draw[arrb, {Stealth}-{Stealth}] (bat) -- (rail) node[midway, right, font=\tiny, text=HelgenIndigo]{respaldo};
|
|
\draw[arr] (mcu) -- (sw) node[midway, right, font=\tiny, text=HelgenIndigo]{enable};
|
|
\draw[arr] (temp) -- (mcu) node[midway, above, font=\tiny, text=HelgenIndigo]{I$^2$C};
|
|
\draw[arr] (ign.south east) to[bend right=14] node[pos=0.25, below, font=\tiny, text=HelgenIndigo]{sensado} (mcu.south west);
|
|
\draw[arr] (bat) -- (mcu) node[midway, above, font=\tiny, text=HelgenIndigo]{sensado};
|
|
\draw[arr] (mcu) |- (fan) node[near end, above, font=\tiny, text=HelgenIndigo]{ctrl};
|
|
\draw[arr] (mcu.north east) to[bend right=12] node[right=1mm, font=\tiny, text=HelgenIndigo]{UART \sep\ diagnóstico} (stack.south west);
|
|
\end{tikzpicture}
|
|
\vfill
|
|
\figcap{Todo lo que era módulos y cableado a mano queda \textbf{a bordo de la PCB}: protección, ignición, respaldo, sensado y control térmico.}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Diagnóstico completo por unidad — en el mismo flujo GPS}
|
|
\begin{itemize}
|
|
\item El watchdog \textbf{inserta un mensaje de diagnóstico en el flujo de datos GPS}: temperatura, batería, tensiones, ignición y causa de recuperación viajan con la posición.
|
|
\item Requirió \alert{re-arquitectura del flujo de datos} del watchdog — \textbf{en prueba en este momento}.
|
|
\item Cierra la lección del RCA: la salud de la unidad deja de inferirse de consolas no confiables — \textbf{la reporta la propia unidad}.
|
|
\end{itemize}
|
|
\vfill
|
|
\centering
|
|
\begin{tikzpicture}[node distance=4mm and 6mm]
|
|
\node[box] (sens) {Sensores\\T$^\circ$ \sep\ V\textsubscript{bat} \sep\ ign.};
|
|
\node[box, right=of sens] (mcu) {Watchdog\\STM32};
|
|
\node[box, right=of mcu] (gps) {Flujo GPS/NMEA\\+ mensaje de diagnóstico};
|
|
\node[box, right=of gps] (fourg) {Módem\\4G};
|
|
\node[box, below=6mm of fourg] (srv) {Servidor\\Helgen};
|
|
\node[box, left=of srv] (plat) {Plataforma: diagnóstico\\completo por unidad};
|
|
\draw[arrb] (sens)--(mcu);
|
|
\draw[arr] (mcu)--(gps) node[midway, above, font=\tiny, text=HelgenIndigo]{inserta};
|
|
\draw[arrb] (gps)--(fourg);
|
|
\draw[arrb] (fourg)--(srv);
|
|
\draw[arrb] (srv)--(plat);
|
|
\end{tikzpicture}
|
|
\vfill
|
|
\figcap{Misma trayectoria que la posición: \alert{si llega la posición, llega el diagnóstico} — sin canales paralelos que mantener.}
|
|
\end{frame}
|
|
|
|
\begin{frame}{PCB de producción — estado y cierre}
|
|
\begin{itemize}
|
|
\item Integrar el diagnóstico y el sensado térmico exigió un \textbf{re-acomodo completo de los circuitos} en la placa.
|
|
\item En curso sobre el diseño: \textbf{verificación EMC} y \textbf{validación CAD/CAE} del nuevo acomodo.
|
|
\item Pruebas de calor del watchdog (con su sensor de temperatura) \textbf{concluyen hoy}.
|
|
\end{itemize}
|
|
\vfill
|
|
\begin{alertblock}{Hito de hoy}
|
|
\textbf{Congelamiento del diseño de PCB} esperado al cierre del día, tras concluir las pruebas de calor. Las unidades del martes viajan con esta PCB impresa (diseño final).
|
|
\end{alertblock}
|
|
\end{frame}
|
|
|
|
% =====================================================================
|
|
\section{Plan de despliegue — julio}
|
|
|
|
\begin{frame}{Cronograma — de la PCB congelada a las 4 BUs}
|
|
\centering
|
|
\resizebox{\textwidth}{!}{%
|
|
\begin{ganttchart}[
|
|
time slot format=isodate,
|
|
x unit=.5cm, y unit title=.6cm, y unit chart=.56cm,
|
|
canvas/.append style={draw=HelgenMist},
|
|
title/.append style={fill=HelgenIndigo, draw=HelgenIndigo},
|
|
title label font=\scriptsize\color{white},
|
|
vgrid={{draw=HelgenMist, line width=.3pt}},
|
|
bar/.append style={fill=HelgenIndigo, draw=none},
|
|
bar height=.55,
|
|
bar label font=\scriptsize\color{HelgenIndigo},
|
|
milestone/.append style={fill=HelgenCyan, draw=HelgenIndigo, thick},
|
|
milestone label font=\scriptsize\bfseries\color{HelgenIndigo},
|
|
link/.style={-{Stealth}, HelgenTeal, thick}
|
|
]{2026-07-02}{2026-07-24}
|
|
\gantttitle{Julio 2026}{23} \\
|
|
\gantttitlelist{2,...,24}{1} \\
|
|
\ganttmilestone[name=frz]{Congelamiento diseño PCB}{2026-07-02} \\
|
|
\ganttbar{Pruebas de laboratorio (térmico \sep\ EMC \sep\ diagnóstico)}{2026-07-02}{2026-07-10} \\
|
|
\ganttbar{Instalación de gabinetes — LCT \sep\ TIMSA \sep\ EIT}{2026-07-06}{2026-07-10} \\
|
|
\ganttmilestone{Envío de unidades a ICAVE (PCB impresa)}{2026-07-07} \\
|
|
\ganttmilestone[name=inst]{Instalación completa}{2026-07-10} \\
|
|
\ganttbar[name=comp]{Comparativa de disponibilidad (1 semana)}{2026-07-10}{2026-07-17} \\
|
|
\ganttmilestone[name=prod]{Liberación de PCB a producción}{2026-07-10} \\
|
|
\ganttbar[name=fab]{Fabricación de PCBs (5 días)}{2026-07-13}{2026-07-17} \\
|
|
\ganttbar[name=bus]{Envío de unidades a todas las BUs}{2026-07-20}{2026-07-24}
|
|
\ganttlink{prod}{fab}
|
|
\ganttlink{fab}{bus}
|
|
\ganttlink{comp}{bus}
|
|
\end{ganttchart}}
|
|
\vfill
|
|
\figcap{Dos rutas en paralelo: \textbf{campo} (instalación + comparativa) y \textbf{fábrica} (producción de PCBs). Convergen en el despliegue a todas las BUs desde \alert{mediados de julio}.}
|
|
\end{frame}
|
|
|
|
\begin{frame}{Hitos y criterios de éxito}
|
|
\begin{columns}[T]
|
|
\column{0.46\textwidth}
|
|
\begin{block}{Hitos comprometidos}
|
|
\small
|
|
\begin{itemize}
|
|
\item \textbf{Hoy 2 jul} — freeze del diseño de PCB
|
|
\item \textbf{Mar 7 jul} — unidades nuevas a ICAVE
|
|
\item \textbf{Vie 10 jul} — instalación completa; PCB a producción
|
|
\item \textbf{Vie 17 jul} — fin de comparativa; PCBs en sitio
|
|
\item \textbf{Med.\ jul} — envío a todas las BUs
|
|
\end{itemize}
|
|
\end{block}
|
|
\column{0.5\textwidth}
|
|
\begin{block}{Cómo mediremos la comparativa (1 semana)}
|
|
\small
|
|
\begin{itemize}
|
|
\item \textbf{Disponibilidad} de unidades nuevas vs.\ anteriores en plataforma
|
|
\item \textbf{Calidad de fix RTK} sostenida en operación
|
|
\item \textbf{Telemetría térmica} continua (primer dato real de campo)
|
|
\item \textbf{Cero} bloqueos permanentes por servidor
|
|
\end{itemize}
|
|
\end{block}
|
|
\end{columns}
|
|
\vfill
|
|
\footnotesize La comparativa entrega \alert{evidencia medible} — no una apreciación — antes del despliegue masivo.
|
|
\end{frame}
|
|
|
|
\begin{frame}{Supuestos y riesgos — sin adornos}
|
|
\begin{itemize}
|
|
\item \textbf{Freeze de hoy} condicionado al cierre de las pruebas de calor: si se desplaza, hay colchón hasta el envío del martes.
|
|
\item \textbf{Accesos a LCT / TIMSA / EIT} la próxima semana: en coordinación con cada BU; es la dependencia externa principal.
|
|
\item \textbf{Fabricación de PCBs (5 días)} es la ruta crítica del despliegue de mediados de julio; seguimiento diario.
|
|
\item El resultado de la \textbf{comparativa de disponibilidad} decide ajustes finales \emph{antes} de escalar a las 4 BUs — escalamos con evidencia, no con calendario.
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
% =====================================================================
|
|
\begin{frame}[standout]
|
|
Validado en cámara.\\
|
|
Watchdog v3 funcionando.\\[2mm]
|
|
{\normalsize Instalación: \textbf{10 jul} \sep\ Comparativa: \textbf{17 jul} \sep\ Todas las BUs: \textbf{med.\ julio}}
|
|
\vfill
|
|
{\footnotesize Gracias \sep\ Preguntas}
|
|
\end{frame}
|
|
|
|
\end{document}
|