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.
276 lines
20 KiB
TeX
276 lines
20 KiB
TeX
% wiring-blocks.tex — shared CircuiTikZ blocks (es-MX) — Drogheda Watchdog v3 proto
|
||
% Requires: \usepackage{circuitikz} in the host document, then \input{wiring-blocks}
|
||
\usetikzlibrary{calc}
|
||
\definecolor{net5V}{HTML}{C62828}
|
||
\definecolor{net3V3}{HTML}{EF6C00}
|
||
\definecolor{netGND}{HTML}{212121}
|
||
\definecolor{netSig}{HTML}{1565C0}
|
||
\definecolor{netAna}{HTML}{2E7D32}
|
||
\definecolor{netTac}{HTML}{B8860B}
|
||
\definecolor{netIgn}{HTML}{800020}% guinda — ignición cruda 12–24 V (GX16 p3)
|
||
\definecolor{Indigo}{HTML}{2C3C5B}
|
||
\ctikzset{bipoles/length=0.75cm, font=\footnotesize}
|
||
% \pin{color}{nodename}{coord}{label}
|
||
\newcommand{\pin}[4]{\node[circle,fill=#1,text=white,inner sep=1.7pt,font=\bfseries\tiny] (#2) at (#3) {#4};}
|
||
\usetikzlibrary{arrows.meta}
|
||
% \ant{x}{y} — small antenna glyph rooted at (x,y)
|
||
\newcommand{\ant}[2]{\draw (#1,#2) -- ++(0,0.34) -- ++(-0.18,0.22); \draw (#1,#2) ++(0,0.34) -- ++(0.18,0.22);}
|
||
|
||
% ===== 1 · RIELES =====
|
||
\newcommand{\blkRieles}{%
|
||
\coordinate (r5) at (0,3.0); \coordinate (rg) at (0,-2.2);
|
||
\draw[net5V,line width=1pt] (-1.6,3.0)--(10.6,3.0); \node[net5V,font=\bfseries,anchor=south east] at (10.6,3.05){5 V};
|
||
\draw[netGND,line width=1pt] (-1.6,-2.2)--(10.6,-2.2); \node[netGND,font=\bfseries,anchor=north east] at (10.6,-2.25){GND};
|
||
\node[draw,rounded corners,minimum width=2.1cm,minimum height=1.5cm,align=center,font=\scriptsize](src) at (-0.2,0.4){Fuente 5 V\\SD-15B-05\\o banco};
|
||
\draw[net5V] (src.north) -- (src.north|-r5);
|
||
\draw[netGND] (src.south) -- (src.south|-rg);
|
||
\node[draw,fill=blue!8,rounded corners,minimum width=2.6cm,minimum height=1.8cm,align=center,font=\scriptsize](bp) at (4.2,0.4){\textbf{Blackpill}\\STM32F411};
|
||
\draw[net5V] (bp.north) -- (bp.north|-r5);
|
||
\draw[netGND] (bp.south) -- (bp.south|-rg);
|
||
\node[net3V3,font=\scriptsize,anchor=west] at (bp.east) {$\rightarrow$ 3.3 V};
|
||
\draw (9.0,3.0) to[C,l_=$100\,\mu$F$+$100\,nF] (9.0,-2.2);
|
||
}
|
||
|
||
% ===== 2 · LED DE ESTADO =====
|
||
\newcommand{\blkLED}{%
|
||
\pin{netSig}{PB0}{-1,0}{PB0}
|
||
\draw[netSig] (PB0) to[R,l=$330\,\Omega$,*-] (2.6,0);
|
||
\draw (2.6,0) to[leD] (2.6,-2.2) node[ground]{};
|
||
\node[anchor=west,font=\scriptsize,align=left,text width=3.7cm] at (3.6,-0.9){PB0 $\rightarrow$ 330\,$\Omega$ $\rightarrow$ ánodo; cátodo $\rightarrow$ GND.};
|
||
}
|
||
|
||
% ===== 3 · INTERRUPTOR DE CARGA =====
|
||
\newcommand{\blkCarga}{%
|
||
\coordinate (r5) at (0,3.0);
|
||
\draw[net5V,line width=1pt] (-1.6,3.0)--(9.2,3.0); \node[net5V,font=\bfseries,anchor=south east] at (9.2,3.05){5 V};
|
||
\pin{netSig}{PA1}{-1.6,0}{PA1}
|
||
\node[npn,anchor=base](Q) at (2,0){};
|
||
\node[font=\scriptsize,anchor=north] at ($(Q.south)+(0,-0.05)$){2N3904};
|
||
\draw[netSig] (PA1) to[R,l=$1\,\mathrm{k}\Omega$] (Q.base);
|
||
\draw (Q.emitter) -- ++(0,-1.4) node[ground]{};
|
||
\node[pmos,anchor=gate](M) at (6,1.7){};
|
||
\node[font=\scriptsize,anchor=south] at ($(M.north)+(0,0.05)$){IRF9540 (P)};
|
||
\coordinate (corner) at (Q.collector |- M.gate);
|
||
\draw[netSig] (Q.collector) -- (corner) -- (M.gate);
|
||
\draw (corner) to[R,l_=$10\,\mathrm{k}\Omega$] (corner |- r5);
|
||
\fill (corner) circle(1.6pt);
|
||
\draw[net5V] (M.source) -- (M.source |- r5);
|
||
\draw (M.drain) -- ++(0,-1.6) coordinate(sal);
|
||
\pin{netSig}{SAL}{sal}{SAL}
|
||
\node[anchor=west,font=\scriptsize] at ($(sal)+(0.25,0)$){Salida ``stack'' ($\rightarrow$ bloque 8)};
|
||
}
|
||
|
||
% ===== 4 · SENSADO =====
|
||
\newcommand{\blkSensado}{%
|
||
% PA0
|
||
\draw (-1.7,2.2) to[battery1,l_={18650 (1S4P, $\sim$12 Ah)}] (-0.2,2.2);
|
||
\pin{netAna}{PA0}{2.6,2.2}{PA0}
|
||
\draw[netAna] (-0.2,2.2) to[R,l=$10$k] (PA0);
|
||
\draw[netAna] (PA0) to[R,l=$10$k] (5.2,2.2); \draw (5.2,2.2)--++(0,-0.7) node[ground]{};
|
||
\node[anchor=west,font=\scriptsize] at (6.2,2.2){$\div2$ analóg.};
|
||
% PA4
|
||
\node[net5V,font=\bfseries\scriptsize,anchor=east] at (-1.7,0.4){5 V}; \draw[net5V] (-1.7,0.4)--(-0.2,0.4);
|
||
\pin{netAna}{PA4}{2.6,0.4}{PA4}
|
||
\draw[netAna] (-0.2,0.4) to[R,l=$10$k] (PA4);
|
||
\draw[netAna] (PA4) to[R,l=$10$k] (5.2,0.4); \draw (5.2,0.4)--++(0,-0.7) node[ground]{};
|
||
\node[anchor=west,font=\scriptsize] at (6.2,0.4){$\div2$ analóg.};
|
||
% PA5 — ignición real: 12–24 V -> DFR1015 (IN+/IN-/OUT+/OUT-) -> 100R -> (clamp + cap) -> PA5
|
||
\node[draw,rounded corners,minimum width=1.5cm,minimum height=1.25cm,font=\tiny,align=center](DFR) at (-0.35,-1.45){DFR1015\\$\rightarrow$\,5 V};
|
||
% ignition -> IN+ (upper-left)
|
||
\node[netIgn,font=\tiny,align=right,anchor=east] at (-2.05,-1.15){Ign.\\12–24 V\\(GX16 p3)};
|
||
\draw[netIgn,line width=0.9pt] (-2.0,-1.15) -- (-1.1,-1.15); \node[font=\tiny,anchor=south west] at (-1.08,-1.12){+};
|
||
% IN- (lower-left) -> common GND
|
||
\draw[line width=0.9pt] (-1.1,-1.75) -- (-1.6,-1.75) -- (-1.6,-2.45); \node[font=\tiny,anchor=north west] at (-1.08,-1.78){$-$};
|
||
% OUT+ (upper-right) -> 100R -> PA5
|
||
\draw[line width=0.9pt] (0.4,-1.15) to[R,l=$100$] (2.2,-1.15); \node[font=\tiny,anchor=south east] at (0.38,-1.12){+};
|
||
\coordinate (p5) at (2.7,-1.15);
|
||
\pin{netSig}{PA5}{3.5,-1.15}{PA5}
|
||
\draw[netSig,line width=0.9pt] (2.2,-1.15) -- (PA5); \fill (p5) circle(1.3pt);
|
||
% OUT- (lower-right) -> common GND
|
||
\draw[line width=0.9pt] (0.4,-1.75) -- (0.9,-1.75) -- (0.9,-2.45); \node[font=\tiny,anchor=north east] at (0.38,-1.78){$-$};
|
||
% common DFR ground (IN-/OUT- = GND del sistema)
|
||
\draw[line width=0.9pt] (-1.6,-2.45) -- (0.9,-2.45); \draw (-0.35,-2.45) -- (-0.35,-2.55) node[ground]{};
|
||
\node[font=\tiny,anchor=north] at (-0.35,-2.98){GND (IN$-$/OUT$-$)};
|
||
% BAT54 clamp to 3V3 + 100nF debounce on PA5
|
||
\draw[line width=0.8pt] (p5) -- (2.7,-0.95); \draw[line width=0.8pt] (2.7,-0.95) to[D,l_=BAT54] (2.7,-0.2);
|
||
\draw[net3V3,line width=0.9pt] (2.35,-0.2) -- (3.05,-0.2); \node[net3V3,font=\tiny,anchor=south] at (2.7,-0.16){3V3};
|
||
\draw[line width=0.8pt] (p5) to[C,l_=100\,nF] (2.7,-2.5); \draw (2.7,-2.5) node[ground]{};
|
||
\node[font=\tiny,anchor=west] at (3.85,-1.15){PA5 digital};
|
||
\node[anchor=north west,font=\tiny,align=left,text width=9.8cm] at (-2.1,-3.5){\textbf{!} \textbf{Banco (proto):} sin DFR1015 — un apagador \textbf{3V3 $\rightarrow$ PA5} simula la ignición. \textbf{Sin divisor}; el DFR1015 acepta 12 y 24 V y su \textbf{GND (IN$-$/OUT$-$) va al GND del sistema}; PA5 $\le$ 3.3 V.};
|
||
}
|
||
|
||
% ===== 5 · VENTILADOR (horizontal) =====
|
||
\newcommand{\blkVent}{%
|
||
\coordinate (r5) at (0,2.6);
|
||
% LM2596 makes the fan's SEPARATE 5 V (24 V -> 5 V)
|
||
\node[net5V,font=\bfseries\tiny,anchor=east] at (-2.55,2.6){24 V};
|
||
\draw[net5V,line width=0.9pt] (-2.5,2.6) -- (-2.15,2.6);
|
||
\node[draw,rounded corners,fill=blue!6,minimum width=1.5cm,minimum height=0.85cm,font=\tiny,align=center](LM) at (-1.4,2.6){LM2596\\24$\rightarrow$5 V};
|
||
\draw[line width=0.8pt] (-1.4,2.175) -- (-1.4,1.55) node[ground]{};
|
||
\draw[net5V,line width=1pt] (-0.65,2.6)--(7.6,2.6); \node[net5V,font=\bfseries,anchor=south east] at (7.6,2.65){5 V sep.};
|
||
% gate drive: PA6 -> 220 -> gate ; 100k gate -> GND
|
||
\pin{netSig}{PA6}{-1.6,0}{PA6}
|
||
\draw[netSig,line width=0.9pt] (PA6) to[R,l=$220$] (1.4,0);
|
||
\node[nmos](M) at (2.7,0){};
|
||
\draw[netSig,line width=0.9pt] (1.4,0) -- (M.gate); \fill (1.4,0) circle(1.3pt);
|
||
\draw[line width=0.9pt] (1.4,0) to[R,l_=$100$k] (1.4,-1.6); \draw (1.4,-1.6) node[ground]{};
|
||
\draw[line width=0.9pt] (M.source) -- (M.source|-0,-1.6) node[ground]{};
|
||
\node[font=\tiny,anchor=south east] at ($(M.gate)+(-0.02,0.05)$){G};
|
||
\node[font=\tiny,anchor=north west] at ($(M.source)+(0.06,-0.04)$){S};
|
||
\node[font=\tiny,anchor=south west] at ($(M.drain)+(0.05,0.05)$){D};
|
||
\node[font=\scriptsize,anchor=south] at (2.7,0.95){IRLZ44N (N)};
|
||
% 2-wire fan to the right, AT drain height -> clean horizontal drain wire to fan(-)
|
||
\path (M.drain) ++(3.0,0) coordinate(fc);
|
||
\node[draw,circle,minimum size=1.25cm,font=\scriptsize](F) at (fc){VENT};
|
||
\node[font=\tiny,anchor=north] at ($(F.south)+(0,-0.03)$){2 hilos};
|
||
\coordinate (fk) at ($(F.west)+(-0.6,0)$);
|
||
\draw[line width=0.9pt] (M.drain) -- (F.west); \fill (fk) circle(1.3pt);
|
||
\node[font=\tiny,anchor=north west] at ($(F.west)+(0.02,-0.03)$){$-$};
|
||
\node[net5V,font=\tiny,anchor=south west] at ($(F.north)+(0.02,0.02)$){+};
|
||
\draw[net5V,line width=0.9pt] (F.north) -- (F.north|-r5);
|
||
% flyback diode across fan (band/cathode -> +5V)
|
||
\draw[line width=0.9pt] (fk) to[D,l=1N5819] (fk|-r5);
|
||
% note (2-wire fan: no tach)
|
||
\node[anchor=north west,font=\scriptsize,align=left,text width=9.7cm] at (-2.6,-2.2){\textbf{!} Ventilador de \textbf{2 hilos}: \textbf{+} $\rightarrow$ 5 V sep. y \textbf{$-$} $\rightarrow$ \textbf{DRAIN (D)}. \textbf{G} = control (PA6); \textbf{S} = GND. El \textbf{5 V sep. lo hace un LM2596} (24$\rightarrow$5 V, \textbf{ajústalo a 5.0 V}) para que el arranque del ventilador no hunda el 5 V principal. \textbf{Sin tach}: PB10 sin usar (DNP).};
|
||
}
|
||
|
||
% ===== 6 · TEMP I2C =====
|
||
\newcommand{\blkTemp}{%
|
||
\coordinate (r3) at (0,2.6);
|
||
\node[draw,rounded corners,minimum width=2.3cm,minimum height=2.7cm](S) at (0,0){};
|
||
\node[font=\bfseries\scriptsize,align=center] at (0,0.7){SHT40 /\\TMP102};
|
||
\node[font=\tiny] at (0,-0.7){0x44 / 0x48};
|
||
\foreach \y/\nm in {0.9/VCC,0.35/GND,-0.4/SCL,-0.95/SDA}{\draw (1.15,\y)--(1.7,\y); \node[anchor=east,font=\tiny] at (1.05,\y){\nm};}
|
||
\draw[net3V3] (1.7,0.9) -| (3.2,2.6); \node[net3V3,anchor=south,font=\scriptsize] at (3.2,2.6){3V3};
|
||
\draw[netGND] (1.7,0.35) -- ++(0.5,0) -- ++(0,-1.4) node[ground]{};
|
||
\pin{netSig}{PB6}{3.6,-0.4}{PB6} \draw[netSig] (1.7,-0.4)--(PB6);
|
||
\pin{netSig}{PB7}{3.6,-0.95}{PB7} \draw[netSig] (1.7,-0.95)--(PB7);
|
||
\draw[netSig] (2.6,-0.4) to[R,l=$4.7$k] (2.6,1.8) -- (2.6,2.6) -- (3.2,2.6);
|
||
\node[anchor=west,font=\scriptsize] at (4.4,-0.7){pull-ups 4.7\,k a 3V3};
|
||
}
|
||
|
||
% ===== 7 · RESET + GAUGE =====
|
||
\newcommand{\blkResetGauge}{%
|
||
\pin{netSig}{NRST}{-1.2,1.6}{NRST}
|
||
\draw (NRST) -- (0.6,1.6); \draw (0.6,1.6) to[push button] (2.4,1.6);
|
||
\draw[netGND] (2.4,1.6) -- ++(0,-0.8) node[ground]{};
|
||
\node[anchor=west,font=\scriptsize] at (3.0,1.6){botón de reset $\rightarrow$ GND};
|
||
\foreach \i/\nm in {0/PB12,1/PB13,2/PB14,3/PB15}{%
|
||
\pin{netSig}{\nm}{\i*2.1,-0.4}{\nm}
|
||
\draw (\nm) to[R,l=$330$] (\i*2.1,-1.9); \draw (\i*2.1,-1.9) to[leD] (\i*2.1,-3.0) node[ground]{};
|
||
}
|
||
\node[anchor=west,font=\scriptsize,Indigo] at (-0.3,-3.7){\textbf{!} Quedan apagados hasta tener firmware};
|
||
}
|
||
|
||
% ===== 8 · CONEXIÓN DEL STACK RTK (simpleRTK2B + 4G NTRIP) =====
|
||
\newcommand{\blkStack}{%
|
||
\node[font=\scriptsize\bfseries,Indigo,anchor=south] at (-1.3,1.9){del watchdog (Blackpill)};
|
||
\pin{net5V}{wSAL}{-1.3,1.2}{SAL}
|
||
\pin{netGND}{wGND}{-1.3,0.3}{GND}
|
||
\pin{netSig}{wTX}{-1.3,-0.7}{PA2}
|
||
\pin{netSig}{wRX}{-1.3,-1.7}{PA3}
|
||
\node[anchor=west,font=\tiny,gray] at (-0.95,-0.7){TX}; \node[anchor=west,font=\tiny,gray] at (-0.95,-1.7){RX};
|
||
\node[anchor=north,font=\tiny,gray] at (-1.3,0.95){SAL = bloque 3};
|
||
% simpleRTK2B Pro
|
||
\node[draw,fill=blue!7,rounded corners,minimum width=3.5cm,minimum height=4.1cm](F9P) at (4.3,-0.2){};
|
||
\node[font=\bfseries\scriptsize,align=center] at (4.3,1.35){simpleRTK2B Pro\\(ZED-F9P)};
|
||
\foreach \yy/\nm/\cc in {1.2/{5 V}/net5V,0.3/{GND}/netGND,-0.7/{UART1 RX}/netSig,-1.7/{UART1 TX}/netSig}{%
|
||
\draw[\cc,line width=0.9pt] (2.55,\yy)--(2.95,\yy); \node[anchor=west,font=\tiny] at (3.0,\yy){\nm};}
|
||
\draw[net5V,line width=1pt] (wSAL) -- (2.55,1.2); \node[net5V,font=\tiny,anchor=south] at (1.0,1.25){5 V conmutado};
|
||
\draw[netGND,line width=0.9pt] (wGND) -- (2.55,0.3);
|
||
\draw[netSig,line width=0.9pt] (wTX) -- (2.55,-0.7);
|
||
\draw[netSig,line width=0.9pt] (wRX) -- (2.55,-1.7);
|
||
% GNSS antenna
|
||
\draw (4.3,1.85) -- (4.3,2.45); \ant{4.3}{2.45} \node[anchor=west,font=\tiny] at (4.6,2.72){Antena GNSS (SMA)};
|
||
% 4G NTRIP master on the XBee socket
|
||
\node[draw,fill=black!8,rounded corners,minimum width=3.0cm,minimum height=2.3cm](G4) at (9.1,0.2){};
|
||
\node[font=\bfseries\scriptsize,align=center] at (9.1,0.7){4G NTRIP\\Master (XBee)};
|
||
\node[font=\tiny,align=center] at (9.1,-0.4){socket XBee del Pro\\(UART2 interno)};
|
||
\draw[densely dashed,line width=0.9pt] (6.05,0.2)--(7.6,0.2); \node[font=\tiny,anchor=south,align=center] at (6.82,0.3){socket XBee\\(5 V + datos)};
|
||
% LTE antennas
|
||
\draw (8.5,1.35)--(8.5,1.95); \ant{8.5}{1.95} \draw (9.7,1.35)--(9.7,1.95); \ant{9.7}{1.95} \node[anchor=west,font=\tiny] at (9.95,2.15){2$\times$ ant. LTE};
|
||
% RTCM flow
|
||
\draw[-{Stealth},Indigo,thick] (7.6,-0.55)--(6.05,-0.55); \node[Indigo,font=\tiny,anchor=north] at (6.82,-0.6){RTCM3 (correcciones)};
|
||
% notes
|
||
\node[anchor=north west,font=\scriptsize,align=left,text width=11.4cm] at (-1.3,-2.5){\textbf{!} El 4G va en el \textbf{socket XBee del simpleRTK2B Pro}, no al Blackpill; ahí recibe 5 V y datos. Las \textbf{correcciones (RTCM3) llegan por 4G}, no por el GNSS.\\ \textbf{!} Cruce \textbf{TX$\leftrightarrow$RX}: PA2 (TX) $\rightarrow$ UART1 RX y PA3 (RX) $\leftarrow$ UART1 TX. GND común. Relé \$PHLG opcional (PA9/PA10) = DNP, apagado por defecto.};
|
||
}
|
||
|
||
% ===== 10 · RESPALDO DE BATERÍA (PROTO): TP4056 + MT3608 =====
|
||
\newcommand{\blkBatt}{%
|
||
\coordinate (r5) at (0,2.4);
|
||
\draw[net5V,line width=1pt] (-2.0,2.4)--(8.8,2.4); \node[net5V,font=\bfseries,anchor=south east] at (8.8,2.45){MAIN5V (al sistema)};
|
||
% vehicle 5V + OR diode D1
|
||
\node[net5V,font=\bfseries\tiny,anchor=east,align=right] at (-2.05,1.4){5 V veh.\\(SD-15B-05)};
|
||
\draw[net5V,line width=0.9pt] (-2.0,1.4) -- (-0.125,1.4);
|
||
\fill (-1.1,1.4) circle(1.2pt); \draw[line width=0.9pt] (-1.1,1.4) -- (-1.1,1.8); \draw[line width=0.9pt] (-1.1,1.8) to[D] (-1.1,2.4); \node[font=\tiny,anchor=west] at (-1.0,2.06){1N5819};
|
||
% TP4056 charger
|
||
\node[draw,rounded corners,fill=blue!6,minimum width=1.55cm,minimum height=1.1cm,font=\tiny,align=center](TP) at (0.65,1.0){TP4056\\cargador};
|
||
\draw[line width=0.9pt] (-0.125,0.74) -- (-0.45,0.74) -- (-0.45,0.2) node[ground]{};
|
||
% shared battery+ node: TP BAT+ -- 18650+ -- MT IN+ (y=0.74)
|
||
\draw[line width=0.9pt] (1.425,0.74) -- (3.9,0.74);
|
||
\draw (2.5,0.74) -- (2.5,0.24); \draw (2.5,0.24) to[battery1] (2.5,-1.2); \fill (2.5,0.74) circle(1.2pt);
|
||
\node[font=\tiny,anchor=east,align=right] at (2.28,-0.55){18650\\1S4P $\sim$12 Ah};
|
||
\draw[line width=0.9pt] (2.5,-1.2) -- (2.5,-1.65) node[ground]{};
|
||
% NTC (cell temp)
|
||
\draw[line width=0.8pt] (3.8,-0.28) to[thR,l_={NTC 10k}] (3.8,-1.2) node[ground]{}; \node[font=\tiny,anchor=south,align=center] at (3.8,-0.23){NTC — temp de celda\\$\rightarrow$ TEMP del cargador};
|
||
% MT3608 boost
|
||
\node[draw,rounded corners,fill=blue!6,minimum width=1.7cm,minimum height=1.1cm,font=\tiny,align=center](MT) at (4.75,1.0){MT3608\\elev.$\rightarrow$5 V};
|
||
\draw[line width=0.9pt] (4.75,0.45) -- (4.75,-0.55) node[ground]{};
|
||
\draw[line width=0.9pt] (5.6,1.26) -- (6.2,1.26); \fill (6.2,1.26) circle(1.2pt); \draw[line width=0.9pt] (6.2,1.26) -- (6.2,1.8); \draw[line width=0.9pt] (6.2,1.8) to[D] (6.2,2.4); \node[font=\tiny,anchor=west] at (6.3,2.06){1N5819};
|
||
% note
|
||
\node[anchor=north west,font=\tiny,align=left,text width=10.4cm] at (-2.05,-2.05){\textbf{!} \textbf{Stand-in de banco} (ya lo tienes): el \textbf{vehículo carga el 18650} por el TP4056; el \textbf{MT3608 eleva} 3.6 V $\rightarrow$ 5 V; los \textbf{2× 1N5819} hacen OR de veh + respaldo hacia MAIN5V (ajusta el MT3608 apenas por debajo del 5 V del vehículo para que el vehículo tenga prioridad). \textbf{BAT\_SENSE} = 18650+ $\rightarrow$ PA0 (Bloque 4). El \textbf{NTC va al pin TEMP del cargador} (TP4056 proto / LTC4040 en PCB), \textbf{no al MCU}; el MCU lee la temperatura por el \textbf{TMP102} (I\textsuperscript{2}C, Bloque 6). El \textbf{PCB usa el LTC4040} (Bloque B, por diseñar).};
|
||
}
|
||
|
||
% ===== 11 · TEMPERATURA ANALÓGICA (NTC 10k -> PB1 ADC) =====
|
||
\newcommand{\blkTempA}{%
|
||
\node[net3V3,font=\bfseries\scriptsize,anchor=south] at (0,2.1){3V3};
|
||
\draw[net3V3,line width=0.9pt] (0,2.05) -- (0,1.85);
|
||
\draw (0,1.85) to[R,l=$10$k] (0,0.8);
|
||
\coordinate (nd) at (0,0.45);
|
||
\draw (0,0.8) -- (nd); \fill (nd) circle(1.3pt);
|
||
\draw (nd) to[thR,l=NTC\,10k] (0,-1.4) node[ground]{};
|
||
\draw[netAna,line width=0.9pt] (nd) -- (1.3,0.45); \pin{netAna}{PB1}{1.6,0.45}{PB1}
|
||
\node[font=\tiny,anchor=west] at (1.95,0.45){ADC (temperatura)};
|
||
\draw (nd) -- (-0.85,0.45); \draw (-0.85,0.45) to[C,l_=100\,nF] (-0.85,-0.75) node[ground]{};
|
||
\node[anchor=north west,font=\scriptsize,align=left,text width=9.4cm] at (-1.7,-1.9){\textbf{!} \textbf{Sin SHT40, ésta es tu temperatura.} Divisor \textbf{3V3 — 10k(1\%) — NTC 10k — GND} $\to$ \textbf{PB1} (ADC1\_IN9, libre). $\approx$1.65 V a 25 °C; baja al calentar. $\approx$165\,$\mu$A (sin auto-calentamiento). Firmware: leer ADC + \textbf{Beta} ($\approx$3950)/Steinhart. \textbf{Colócalo en el punto caliente} (batería/modem) $>$ aire; puede disparar \textbf{CHRG\_EN} (corte de carga). Es PCB/firmware — en protoboard puentea el NTC a PB1 para probar.};
|
||
}
|
||
|
||
% ===== 9 · MODO B — DIAGNÓSTICO POR NTRIP (relé + inyección $PHLG) =====
|
||
\newcommand{\blkStackB}{%
|
||
% ---------- F9P (left) ----------
|
||
\node[draw,fill=blue!7,rounded corners,minimum width=2.7cm,minimum height=4.6cm](F9P) at (1.75,0){};
|
||
\node[font=\bfseries\scriptsize,align=center] at (1.75,1.7){simpleRTK2B\\Pro (F9P)};
|
||
\node[font=\tiny,align=center,Indigo] at (1.75,-1.85){sw $\rightarrow$ UART1\\(UART2 libre)};
|
||
\draw (1.75,2.3)--(1.75,2.9); \ant{1.75}{2.9} \node[anchor=west,font=\tiny] at (2.0,3.05){Ant. GNSS};
|
||
\foreach \yy/\nm/\cc in {1.9/{5 V}/net5V,1.35/{GND}/netGND,0.6/{UART1 RX}/netSig,0.05/{UART1 TX}/netSig,-0.8/{TX2}/netSig,-1.5/{RX2}/netSig}{%
|
||
\draw[\cc,line width=0.9pt] (3.1,\yy)--(3.5,\yy); \node[anchor=east,font=\tiny] at (3.05,\yy){\nm};}
|
||
% ---------- Watchdog (middle, in-line) ----------
|
||
\node[draw,fill=Indigo!8,rounded corners,minimum width=2.5cm,minimum height=4.0cm](WD) at (6.4,0){};
|
||
\node[font=\bfseries\scriptsize,align=center,Indigo] at (6.4,1.5){Watchdog\\(Blackpill)};
|
||
\node[font=\tiny,align=center] at (6.4,-1.5){relé verbatim\\+ inyecta \$PHLG};
|
||
\foreach \yy/\nm/\cc in {1.9/{5 V}/net5V,1.35/{GND}/netGND,0.6/{PA2}/netSig,0.05/{PA3}/netSig,-0.8/{PA10}/netSig}{%
|
||
\draw[\cc,line width=0.9pt] (5.15,\yy)--(4.75,\yy); \node[anchor=west,font=\tiny] at (5.2,\yy){\nm};}
|
||
\draw[netSig,line width=0.9pt] (7.65,-0.8)--(8.05,-0.8); \node[anchor=east,font=\tiny] at (7.6,-0.8){PA9};
|
||
% ---------- 4G modem on breakout (right) ----------
|
||
\node[draw,fill=black!8,rounded corners,minimum width=2.7cm,minimum height=3.2cm](G4) at (10.6,-0.1){};
|
||
\node[font=\bfseries\scriptsize,align=center] at (10.6,0.8){4G NTRIP\\Master (XBee)};
|
||
\node[font=\tiny,align=center] at (10.6,-0.25){en breakout\\(BOB-08276)};
|
||
\draw (10.1,1.5)--(10.1,2.1); \ant{10.1}{2.1} \draw (11.1,1.5)--(11.1,2.1); \ant{11.1}{2.1} \node[anchor=west,font=\tiny] at (11.3,2.25){2$\times$ LTE};
|
||
\foreach \yy/\nm/\cc in {1.0/{VCC}/net5V,-0.8/{DIN}/netSig,-1.5/{DOUT}/netSig}{%
|
||
\draw[\cc,line width=0.9pt] (9.25,\yy)--(8.85,\yy); \node[anchor=west,font=\tiny] at (9.3,\yy){\nm};}
|
||
% ---------- data connections ----------
|
||
\draw[netSig,line width=0.9pt,{Stealth}-] (3.5,0.6)--(4.75,0.6); % UART1 RX <- PA2
|
||
\draw[netSig,line width=0.9pt,-{Stealth}] (3.5,0.05)--(4.75,0.05); % UART1 TX -> PA3
|
||
\node[gray,font=\tiny,anchor=south] at (4.12,0.62){monitor};
|
||
\draw[netSig,line width=1pt,-{Stealth}] (3.5,-0.8)--(4.75,-0.8); % TX2 -> PA10
|
||
\draw[netSig,line width=1pt,-{Stealth}] (8.05,-0.8)--(8.85,-0.8); % PA9 -> DIN
|
||
\node[Indigo,font=\tiny,anchor=south] at (8.45,-0.72){\$PHLG};
|
||
% corrections direct (dashed, around the bottom)
|
||
\draw[netSig,densely dashed,line width=1pt,-{Stealth}] (8.85,-1.5) -- (8.85,-2.75) -- (3.5,-2.75) -- (3.5,-1.5);
|
||
\node[font=\tiny,anchor=south] at (6.1,-2.72){RTCM3 directo (no pasa por el MCU)};
|
||
% to server
|
||
\draw[-{Stealth},Indigo,thick] (11.9,1.5)--(12.6,2.0); \node[Indigo,font=\tiny,anchor=west] at (12.0,1.9){$\rightarrow$ servidor};
|
||
% notes
|
||
\node[anchor=north west,font=\scriptsize,align=left,text width=13.4cm] at (-1.4,-3.2){\textbf{!} \textbf{5 V/GND} de F9P, watchdog y 4G $=$ SAL/GND (bloque 3). \textbf{IOREF $=$ 3.3 V}. El 4G va en \textbf{breakout} (fuera del socket) y el switch del Pro en \textbf{UART1}, dejando UART2 libre.\\ \textbf{!} El MCU queda \textbf{en línea} en la subida (F9P TX2 $\rightarrow$ PA10 $\rightarrow$ PA9 $\rightarrow$ 4G DIN) e inyecta \$PHLG. La bajada \textbf{RTCM3 (4G DOUT $\rightarrow$ F9P RX2) es directa} (punteada). \textbf{PCB:} bypass normalmente-cerrado en UART2 $\Rightarrow$ un MCU ausente/colgado nunca corta las correcciones.};
|
||
}
|