auto-sync 2026-07-09 18:00
This commit is contained in:
parent
5db46d9092
commit
0b984b6a0f
@ -0,0 +1,90 @@
|
|||||||
|
# Respuesta a observaciones — Proyecto Drogheda (H-BOX RTK)
|
||||||
|
|
||||||
|
**Borrador para revisión de Leo antes de enviarse.** Destinatario: Agustín Alfonseca
|
||||||
|
(ICAVE). Helgen Technologies · 8 de julio de 2026.
|
||||||
|
|
||||||
|
> **⚠️ Nota para Leo (no forma parte del correo) — confirmar antes de enviar:**
|
||||||
|
> - **Fechas comprometidas:** recepción de PCBs impresos **~13–17 jul**; comparativa/
|
||||||
|
> pruebas de confiabilidad en ICAVE **17 jul**; **30 unidades operativas en agosto**.
|
||||||
|
> Ajusta si el proveedor de PCB movió la ventana.
|
||||||
|
> - **Backend:** el correo afirma que las 3 correcciones ya están **desplegadas y
|
||||||
|
> verificadas** (consistente con el update del 20-jun). Confirmar que sigue vigente.
|
||||||
|
> - **Térmico:** lo dejo como *verificación en curso* (falta la medición con termopar),
|
||||||
|
> no como resuelto — para no sobre-prometer.
|
||||||
|
> - Decidir si adjuntas el nuevo deck de Avance / render del PCB EinarBoard 1.0.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Asunto:** Proyecto Drogheda (H-BOX RTK) — Respuesta a tus observaciones, estado actual y próximos pasos
|
||||||
|
|
||||||
|
Estimado Agustín:
|
||||||
|
|
||||||
|
Gracias por la revisión tan detallada y por los puntos que nos compartiste. Los tomamos
|
||||||
|
uno por uno; abajo respondo a cada observación con el estado actual y las fechas
|
||||||
|
comprometidas. En resumen: **el software y el backend ya están estabilizados y
|
||||||
|
verificados**, y la electrónica de campo **pasa esta semana de prototipo a su versión
|
||||||
|
industrial definitiva**.
|
||||||
|
|
||||||
|
**1. Electrónica interna (cableado Dupont / aspecto de prototipo).**
|
||||||
|
Aceptamos la observación. Ese armado fue una etapa **deliberada de la Fase 2**: nos
|
||||||
|
permitió congelar la lógica del *Watchdog* y el firmware en el entorno más exigente
|
||||||
|
(ICAVE) sin arriesgar una manufactura prematura. Esa etapa ya cumplió su función. **El PCB
|
||||||
|
industrial unificado (EinarBoard 1.0) está cerrado y auditado**, y la orden de fabricación
|
||||||
|
está liberada; **recibimos los primeros prototipos impresos la semana del 13–17 de julio.**
|
||||||
|
Con ello eliminamos por completo los cables sueltos, el estrés de soldadura y cualquier
|
||||||
|
vulnerabilidad por vibración — y será el estándar idéntico para ICAVE, TIMSA, EIT y LCT.
|
||||||
|
|
||||||
|
**2. Protección eléctrica (fusible).**
|
||||||
|
La quema del fusible ocurrió bajo la demanda real medida en ICAVE. Se aplicó una
|
||||||
|
corrección recalibrando su capacidad a esa demanda, y el H-BOX conserva su **protección
|
||||||
|
nativa contra sobrecarga con recuperación automática (Modo Hiccup)** en la fuente. Estamos
|
||||||
|
además **cuantificando la temperatura interna real del gabinete con un termopar** durante
|
||||||
|
un turno completo de sol, para blindar el diseño térmico contra la temperatura medida —
|
||||||
|
no contra la de ficha técnica.
|
||||||
|
|
||||||
|
**3. Disponibilidad y confiabilidad (desconexiones / módulo 4G).**
|
||||||
|
Aquí separamos dos causas distintas:
|
||||||
|
- **Backend (resuelto y desplegado).** El análisis de causa raíz identificó y **corrigió
|
||||||
|
tres defectos de software del servidor** que sacaban unidades de Wialon —incluidas
|
||||||
|
unidades que transmitían bien pero la plataforma descartaba—: bloqueo en cadena,
|
||||||
|
filtro anti-salto sin auto-recuperación, e identidad por IP bajo CGNAT. **Las tres
|
||||||
|
correcciones están desplegadas en producción y verificadas** (10/10 pruebas de extremo
|
||||||
|
a extremo). El tablero ahora distingue una unidad *sin señal* de una unidad *en línea
|
||||||
|
que el backend no reenviaba*.
|
||||||
|
- **Módulo 4G (en aislamiento).** Persisten intermitencias físicas del módulo; el
|
||||||
|
*Watchdog* de la Blackpill las mitiga reiniciando el hardware de forma autónoma para que
|
||||||
|
el sistema no muera en campo. **Desmontamos dos unidades para aislar la causa en
|
||||||
|
laboratorio**, y presentaremos la **comparativa de precisión de rutas GPS** que muestra
|
||||||
|
que, cuando el módulo transmite, la exactitud es de nivel centimétrico.
|
||||||
|
|
||||||
|
**4. Versión final del gabinete.**
|
||||||
|
El diseño del gabinete está finalizado y en espera de materiales. La electrónica interna
|
||||||
|
será **idéntica para las 4 unidades de negocio**; sólo los herrajes de sujeción externa se
|
||||||
|
adaptan a la maquinaria específica de cada operadora. El chasis mantiene su resistencia a
|
||||||
|
vibración industrial.
|
||||||
|
|
||||||
|
**5. Estación base.**
|
||||||
|
La estación base principal está **operativa y lista**; se enviará e instalará en el primer
|
||||||
|
paquete logístico para asegurar la red RTK de alta precisión.
|
||||||
|
|
||||||
|
**6. Integración con VERONICA (retranslator).**
|
||||||
|
La retransmisión nativa **ya funciona correctamente para ICAVE**. Para habilitar el reenvío
|
||||||
|
directo en TIMSA, EIT y LCT, **requerimos formalmente que la administración nos libere las
|
||||||
|
credenciales de acceso de esas tres unidades de negocio** — es el único insumo que nos
|
||||||
|
falta de su lado para replicar la integración.
|
||||||
|
|
||||||
|
**7. Plan de despliegue y fechas.**
|
||||||
|
La meta se mantiene: **30 unidades operativas para agosto.** La estrategia es escalonada y
|
||||||
|
deliberada para proteger la inversión: consolidamos primero el bloque inicial en ICAVE con
|
||||||
|
los PCBs industriales de esta quincena y, una vez verificado el ensamble final ahí,
|
||||||
|
replicamos el envío e instalación en TIMSA, EIT y LCT — sin retrabajos simultáneos en
|
||||||
|
varios puertos. La **comparativa de confiabilidad en ICAVE la tenemos el 17 de julio.**
|
||||||
|
|
||||||
|
Quedamos atentos a tus comentarios y a la gestión de las credenciales de las tres unidades
|
||||||
|
restantes. Con gusto agendamos una llamada para revisar la comparativa en cuanto esté.
|
||||||
|
|
||||||
|
Saludos cordiales,
|
||||||
|
|
||||||
|
**Leo Rodríguez**
|
||||||
|
Helgen Technologies
|
||||||
|
leo@helgen.tech
|
||||||
@ -0,0 +1,86 @@
|
|||||||
|
---
|
||||||
|
title: 4G Modem — Bench Bridge & Cheap Alternatives to the Ardusimple 4G NTRIP Master
|
||||||
|
tags: [project-drogheda, hardware, 4g, ntrip, modem, sourcing]
|
||||||
|
project: Project Drogheda
|
||||||
|
author: Helgen CTO
|
||||||
|
date: 2026-07-08
|
||||||
|
status: Decision support — bench (Block 9B) + production outlook
|
||||||
|
---
|
||||||
|
|
||||||
|
# 4G Modem — Bench Bridge & Cheap Alternatives
|
||||||
|
|
||||||
|
> **Why this doc.** Block 9B (Modo B, watchdog in-line between the F9P and the 4G) needs the
|
||||||
|
> 4G NTRIP Master out of the Pro's socket and on the protoboard — but its XBee pins are
|
||||||
|
> **2.0 mm pitch** (not 1.27 mm; re-measure center-to-center: 10 pins span 18 mm) vs the
|
||||||
|
> protoboard's 2.54 mm. Two questions answered here: (1) how to bridge it **this week**, and
|
||||||
|
> (2) whether a **cheaper 4G module** can replace the €156 Ardusimple unit — bench now,
|
||||||
|
> production later. Technician instructions live in the Guía v3.0 §9a–9c; this is the
|
||||||
|
> engineering/sourcing record.
|
||||||
|
|
||||||
|
## 1. Bridge options (bench, this week)
|
||||||
|
|
||||||
|
| # | Option | Price (MXN) | Source / lead | Verdict |
|
||||||
|
|---|--------|------------|----------------|---------|
|
||||||
|
| A ★ | SparkFun **BOB-08276** breakout + 2× **PRT-08272** 2.0 mm sockets + 2.54 mm male headers | ≈$100 | [SANDOROBOTICS CDMX](https://sandorobotics.com.mx/producto/bob-08276/) — in stock, 1–2 days to QRO | **Buy today.** One soldering session; matches the Guía 9b procedure |
|
||||||
|
| B | Generic "adaptador XBee" pre-assembled | $80–250 | Amazon MX / [MercadoLibre](https://listado.mercadolibre.com.mx/adaptador-xbee), 1–3 days | Fine fallback; verify DIP pins in photos |
|
||||||
|
| C | XBee Arduino shield (HR0440) + Dupont F-F | $50–150 | SANDOROBOTICS, 1–2 days | Works as a fixed base next to the protoboard |
|
||||||
|
| D | 2.0 mm F-F jumpers direct onto pins | $60–120 | AliExpress, 2–4 weeks | Last resort — fragile, slow to arrive |
|
||||||
|
|
||||||
|
Power rule (already in the Guía): XBee **pin 1 VCC = 3.3 V, never 5 V**, ≥1.5 A peak →
|
||||||
|
second LM2596/MP1584 set to 3.3 V, fed **from SAL** (so a stack power-cycle also reboots the
|
||||||
|
modem — mirrors the PROD 3V3_MODEM rail), with 100 µF + 100 nF at the pin.
|
||||||
|
Caution: SparkFun's *Explorer Regulated* uses a ~500 mA LDO — not enough for LTE bursts;
|
||||||
|
use the bare breakout + our own buck.
|
||||||
|
|
||||||
|
## 2. Cheap 4G module alternatives
|
||||||
|
|
||||||
|
Telcel LTE bands to match: **B2/B4/B5/B7/B28/B66**. Key finding: **none of the cheap modules
|
||||||
|
has a built-in NTRIP client** — the Ardusimple's real value is the on-module NTRIP client
|
||||||
|
firmware (zero MCU work, proven in the field). Every alternative below buys hardware savings
|
||||||
|
with firmware/integration cost.
|
||||||
|
|
||||||
|
| Module | Price | Buy | Telcel bands | NTRIP path | Effort (1–5) |
|
||||||
|
|--------|-------|-----|--------------|-----------|--------------|
|
||||||
|
| **LILYGO T-A7670SA** (ESP32 + A7670SA) | ≈US$33 | [lilygo.cc](https://lilygo.cc/products/t-sim-a7670e) / AliExpress | ✔ (SA = LATAM, incl. B2/B4/B66) | ESP32 sketch: TinyGSM ([lewisxhe fork](https://github.com/lewisxhe/TinyGSM-fork)) + [Arduino NTRIP client](https://github.com/GLAY-AK2/NTRIP-client-for-Arduino); ESP32 does the client, streams RTCM out its UART | **2** — best bench experiment |
|
||||||
|
| **A7670SA raw module** | **US$9.39** | [LCSC](https://www.lcsc.com/product-detail/2G-3G-4G-5G-Modules_SIMCom-Wireless-Solutions-A7670SA-LASC_C18548276.html) / MercadoLibre | ✔ | AT commands (CIPOPEN/CIPSEND) — NTRIP handshake + reconnect/watchdog logic on the Blackpill | **4** — the cost end-game for the hundreds-of-cabinets phase |
|
||||||
|
| SIM7600SA-H (Waveshare HAT / LILYGO T-SIM7600) | US$40–77 | Waveshare / LILYGO | ✔ | Same AT/ESP32 paths | 2–4 — Cat-4 is overkill, no cost win vs A7670SA |
|
||||||
|
| SIM7670G (Cat-1 bis) | US$30–45 | [Waveshare ESP32-S3 combo](https://www.waveshare.com/esp32-s3-sim7670g-4g.htm) | ✔ | Same | 2–3 |
|
||||||
|
| SIM7000G (Cat-M1/NB-IoT) | US$40–69 | Botletics | Bands ✔ but **LTE-M is a Telcel enterprise product** — SIM provisioning risk | AT/TCP | 4 — **avoid** |
|
||||||
|
| **A7670E / SIM7600E** (Europe variants on MercadoLibre) | — | — | ✘ **no B2/B4/B66** | — | **Do not buy** |
|
||||||
|
| Quectel EC25-AUX / EG25-G (mPCIe) | €44–60 | Sixfab/Waveshare | ✔ | AT/PPP + mPCIe carrier plumbing | 4 |
|
||||||
|
| USR-G771 4G DTU | ≈US$43 | [usr.cn](https://en.usr.cn/RS232-RS485-To-4G-modem) / Amazon | **verify variant** (-E = Europe) | Transparent TCP + "registration packet" carrying the NTRIP GET — no MCU firmware | 2–3 — closest cheap drop-in *if* a MX-band variant exists |
|
||||||
|
| **Digi XBee 3 Global LTE Cat 1** | ≈US$76 | [Digi-Key](https://www.digikey.com/en/product-highlight/d/digi-intl/xbee-3-global-lte-cat-1) | ✔ (global) | **MicroPython NTRIP client runs ON the module** (sockets API; [precedent](https://www.ardusimple.com/question/digi-xbee-3g-lte-micropython-ntrip-server-esp32-xbee-module/)) | 3 — the only true XBee-socket drop-in; keeps the EinarBoard footprint |
|
||||||
|
|
||||||
|
Reference: Ardusimple's own WiFi NTRIP Master firmware is open source
|
||||||
|
([nebkat/esp32-xbee](https://github.com/nebkat/esp32-xbee), ESP-IDF NTRIP client/caster) —
|
||||||
|
an ESP32-as-NTRIP-bridge is a solved problem; 4G needs the WiFi transport swapped for
|
||||||
|
TinyGSM/PPP. Industrial NTRIP DTUs (Tersus TR600, Hi-Target) exist but run US$300–800 —
|
||||||
|
*more* than the Ardusimple, not less.
|
||||||
|
|
||||||
|
For scale reference: **Ardusimple 4G NTRIP Master = €156** (≈MX$3,250), in stock, DHL 2–5
|
||||||
|
days, **€112 at ≥50 units** ([product page](https://www.ardusimple.com/product/4g-ntrip-master/)).
|
||||||
|
LTE Cat 4, NA variant covers Telcel B2/B4/B5.
|
||||||
|
|
||||||
|
## 3. Recommendation
|
||||||
|
|
||||||
|
1. **This week (bench, keeps 17-Jul comparison on track):** order Option A (~MX$100,
|
||||||
|
SANDOROBOTICS) and breadboard the 4G NTRIP Master we already own per Guía v3.0 §9a–9c.
|
||||||
|
Zero firmware risk.
|
||||||
|
2. **Parallel experiment (~US$35):** one **LILYGO T-A7670SA** + TinyGSM NTRIP sketch
|
||||||
|
(~1 day of firmware). If it holds RTK for a week on the bench, it becomes the certified
|
||||||
|
cost-reduction candidate to qualify properly.
|
||||||
|
3. **30 units / August:** stay on the Ardusimple (€112 @ ≥50). It is the only zero-firmware,
|
||||||
|
field-proven option and the timeline doesn't absorb a bearer swap. Invariant #3
|
||||||
|
(corrections ride the 4G; recover by power-cycling) is already engineered around it.
|
||||||
|
4. **Hundreds-of-cabinets phase:** A7670SA soldered onto the EinarBoard successor
|
||||||
|
(~16× cheaper bearer) **budgeting real firmware** (NTRIP-over-AT + reconnect watchdog —
|
||||||
|
the part Ardusimple already does well) + carrier homologation; or the **Digi XBee 3 Cat 1**
|
||||||
|
(US$76) as the middle path that drops into the existing XBee socket with the NTRIP client
|
||||||
|
in MicroPython on-module. Decide after the LILYGO experiment.
|
||||||
|
|
||||||
|
## 4. Cross-references
|
||||||
|
|
||||||
|
- Technician instructions (Spanish): `Drogheda_Guia-Conexion-Protoboard_ES_v3.0.pdf` §9a–9c.
|
||||||
|
- PROD context: 3V3_MODEM rail (Block K) + K1 NC bypass — `watchdog-electrical-design-state.md`.
|
||||||
|
- Invariants touched: #1 (power-off safe), #2/#3 (never vanish; corrections ride the 4G —
|
||||||
|
any replacement bearer must keep the power-cycle recovery path).
|
||||||
|
Before Width: | Height: | Size: 123 KiB After Width: | Height: | Size: 123 KiB |
Binary file not shown.
@ -1,6 +1,7 @@
|
|||||||
% cuerpo.tex — Guía de Conexión en Protoboard v2.2 (bloques 1–11)
|
% cuerpo.tex — Guía de Conexión en Protoboard v3.0 (bloques 1–11)
|
||||||
% Fuente de datos autoritativa: ../Drogheda_Conexiones-por-Bloque_Proto_v1.xlsx
|
% Fuente de datos autoritativa: ../Drogheda_Conexiones-por-Bloque_Proto_v1.xlsx
|
||||||
% (hojas: Conexiones · Mapa de pines · Fuentes y convertidores · Estado y cambios)
|
% (hojas: Conexiones · Mapa de pines · Fuentes y convertidores · Estado y cambios)
|
||||||
|
% v3.0: catálogo visual (modulos-pinout.tex) + puente XBee 2.0→2.54 mm en el Bloque 9.
|
||||||
|
|
||||||
\section{Cómo usar esta guía}
|
\section{Cómo usar esta guía}
|
||||||
|
|
||||||
@ -10,6 +11,13 @@ firmware v2.3), organizado en \textbf{11 bloques} que se arman y prueban uno por
|
|||||||
No armes los bloques en el orden en que aparecen: sigue el \textbf{orden de armado} de la
|
No armes los bloques en el orden en que aparecen: sigue el \textbf{orden de armado} de la
|
||||||
sección~\ref{sec:orden}, que va de lo más simple (solo USB) a lo más delicado (stack RTK).
|
sección~\ref{sec:orden}, que va de lo más simple (solo USB) a lo más delicado (stack RTK).
|
||||||
|
|
||||||
|
\medskip
|
||||||
|
\noindent\textbf{¿Primera vez con electrónica, o alguna pieza no se parece a lo que
|
||||||
|
esperabas?} Empieza por la sección~\ref{sec:identifica} (\emph{Identifica cada pieza}): ahí
|
||||||
|
está dibujado cada módulo y componente como se ve físicamente, con el nombre de cada patita
|
||||||
|
y a dónde va. Cada bloque incluye una línea «\textbf{Piezas de este bloque}» que te regresa
|
||||||
|
a esos dibujos.
|
||||||
|
|
||||||
\begin{helgennotice}[Documentos compañeros — dónde está cada cosa]
|
\begin{helgennotice}[Documentos compañeros — dónde está cada cosa]
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item \textbf{Lista de conexiones autoritativa:}
|
\item \textbf{Lista de conexiones autoritativa:}
|
||||||
@ -17,9 +25,13 @@ sección~\ref{sec:orden}, que va de lo más simple (solo USB) a lo más delicado
|
|||||||
\textit{Mapa de pines}, \textit{Fuentes y convertidores}, \textit{Estado y cambios}).
|
\textit{Mapa de pines}, \textit{Fuentes y convertidores}, \textit{Estado y cambios}).
|
||||||
Si esta guía y el XLSX difieren, \textbf{manda el XLSX}.
|
Si esta guía y el XLSX difieren, \textbf{manda el XLSX}.
|
||||||
\item \textbf{Diagramas por bloque (CircuiTikZ):} \textbf{incrustados en esta guía} al final
|
\item \textbf{Diagramas por bloque (CircuiTikZ):} \textbf{incrustados en esta guía} al final
|
||||||
de cada bloque (v2.2). Los mismos dibujos, por separado: carpeta \texttt{circuitikz-wiring/} —
|
de cada bloque. Los mismos dibujos, por separado: carpeta \texttt{circuitikz-wiring/} —
|
||||||
\texttt{Drogheda\_Diagrama\_CircuiTikZ.pdf} (lámina completa) y
|
\texttt{Drogheda\_Diagrama\_CircuiTikZ.pdf} (lámina completa) y
|
||||||
\texttt{Drogheda\_Diagrama\_Beamer.pdf} (una diapositiva por bloque).
|
\texttt{Drogheda\_Diagrama\_Beamer.pdf} (una diapositiva por bloque).
|
||||||
|
\item \textbf{Catálogo visual de piezas (nuevo en v3.0):} sección~\ref{sec:identifica} de
|
||||||
|
esta misma guía — vista física de cada módulo (LM2596, MT3608, TP4056, AHT10, DFR1015,
|
||||||
|
Blackpill, simpleRTK2B Pro, 4G) y patitas de cada componente (transistores, diodos, LEDs,
|
||||||
|
capacitores, resistencias por color).
|
||||||
\item \textbf{Estado eléctrico canónico del diseño:}
|
\item \textbf{Estado eléctrico canónico del diseño:}
|
||||||
\texttt{watchdog-electrical-design-state.md} (léelo antes de cambiar cualquier cosa).
|
\texttt{watchdog-electrical-design-state.md} (léelo antes de cambiar cualquier cosa).
|
||||||
\item \textbf{Listas de compra:} \texttt{watchdog-LISTA-DE-COMPRAS-ES.xlsx} y
|
\item \textbf{Listas de compra:} \texttt{watchdog-LISTA-DE-COMPRAS-ES.xlsx} y
|
||||||
@ -76,10 +88,13 @@ GUINDA & \redI & Ignición cruda 12--24\,V (a la entrada del DFR1015)\\
|
|||||||
\bottomrule
|
\bottomrule
|
||||||
\end{tabularx}}
|
\end{tabularx}}
|
||||||
|
|
||||||
\section{Mapa de pines del Blackpill}
|
% ===== Catálogo visual de módulos y componentes (v3.0) =====
|
||||||
|
\input{modulos-pinout}
|
||||||
|
|
||||||
Busca cada etiqueta impresa en la tarjeta. (Hoja \textit{Mapa de pines} del XLSX;
|
\section{Mapa de pines del Blackpill (tabla)}
|
||||||
incluye PA8 y PC13, que no aparecían en la guía v2.)
|
|
||||||
|
La misma información del dibujo de la sección~\ref{sec:blackpill}, ahora en tabla. Busca
|
||||||
|
cada etiqueta impresa en la tarjeta. (Hoja \textit{Mapa de pines} del XLSX.)
|
||||||
|
|
||||||
\hwtab{%
|
\hwtab{%
|
||||||
\begin{tabularx}{\textwidth}{@{}l X l l@{}}
|
\begin{tabularx}{\textwidth}{@{}l X l l@{}}
|
||||||
@ -127,13 +142,17 @@ LTC4040 (PCB) & Battery-backup manager: carga + power-path + boost + NTC. Carga
|
|||||||
\end{tabularx}}
|
\end{tabularx}}
|
||||||
|
|
||||||
\section{Conexiones por bloque (1--11)}
|
\section{Conexiones por bloque (1--11)}
|
||||||
|
\label{sec:bloques}
|
||||||
|
|
||||||
Cada tabla lista las conexiones como \textbf{desde $\rightarrow$ vía $\rightarrow$ hacia}, con la
|
Cada tabla lista las conexiones como \textbf{desde $\rightarrow$ vía $\rightarrow$ hacia}, con la
|
||||||
red (color de cable) a la izquierda. Arma y prueba \textbf{un bloque a la vez}, en el orden de
|
red (color de cable) a la izquierda. Arma y prueba \textbf{un bloque a la vez}, en el orden de
|
||||||
la sección~\ref{sec:orden}.
|
la sección~\ref{sec:orden}. La línea «Piezas de este bloque» te lleva al dibujo físico de
|
||||||
|
cada componente; antes de energizar, corre el checklist de la sección~\ref{sec:protoboard}.
|
||||||
|
|
||||||
\bloque{1}{Rieles de alimentación}
|
\bloque{1}{Rieles de alimentación}
|
||||||
\queprueba{arma los rieles 5\,V / GND / 3.3\,V que alimentan todo.}
|
\queprueba{arma los rieles 5\,V / GND / 3.3\,V que alimentan todo.}
|
||||||
|
\compbloque{Blackpill (§\ref{sec:blackpill}) · fuente 5\,V · apagador (§\ref{sec:botones}) ·
|
||||||
|
capacitores 100\,$\mu$F$+$100\,nF (§\ref{sec:diodos}) · protoboard (§\ref{sec:protoboard})}
|
||||||
|
|
||||||
\hwtab{%
|
\hwtab{%
|
||||||
\begin{tabularx}{\textwidth}{@{}l X L{4.4cm}@{}}
|
\begin{tabularx}{\textwidth}{@{}l X L{4.4cm}@{}}
|
||||||
@ -153,6 +172,7 @@ la sección~\ref{sec:orden}.
|
|||||||
|
|
||||||
\bloque{2}{LED de estado (PB0)}
|
\bloque{2}{LED de estado (PB0)}
|
||||||
\queprueba{los códigos de parpadeo cambian con el estado.}
|
\queprueba{los códigos de parpadeo cambian con el estado.}
|
||||||
|
\compbloque{LED y R 330\,$\Omega$ (§\ref{sec:diodos}, §\ref{sec:resistencias})}
|
||||||
|
|
||||||
\hwtab{%
|
\hwtab{%
|
||||||
\begin{tabularx}{\textwidth}{@{}l X L{4.4cm}@{}}
|
\begin{tabularx}{\textwidth}{@{}l X L{4.4cm}@{}}
|
||||||
@ -168,6 +188,7 @@ la sección~\ref{sec:orden}.
|
|||||||
|
|
||||||
\bloque{3}{Interruptor de carga del «stack» (PA1) — EL CORAZÓN}
|
\bloque{3}{Interruptor de carga del «stack» (PA1) — EL CORAZÓN}
|
||||||
\queprueba{APAGADO al reset (estado seguro), ON cuando PA1 activa.}
|
\queprueba{APAGADO al reset (estado seguro), ON cuando PA1 activa.}
|
||||||
|
\compbloque{2N3904 e IRF9540N (§\ref{sec:transistores}) · R 1\,k y 10\,k (§\ref{sec:resistencias})}
|
||||||
|
|
||||||
\hwtab{%
|
\hwtab{%
|
||||||
\begin{tabularx}{\textwidth}{@{}l X L{4.4cm}@{}}
|
\begin{tabularx}{\textwidth}{@{}l X L{4.4cm}@{}}
|
||||||
@ -191,6 +212,8 @@ seguro»: sin MCU (o durante el reset) el stack queda \textbf{apagado}.}}
|
|||||||
|
|
||||||
\bloque{4}{Sensado: batería / 5\,V / ignición}
|
\bloque{4}{Sensado: batería / 5\,V / ignición}
|
||||||
\queprueba{\texttt{veh}/\texttt{ign}/\texttt{vbat} cambian en el log (TLM).}
|
\queprueba{\texttt{veh}/\texttt{ign}/\texttt{vbat} cambian en el log (TLM).}
|
||||||
|
\compbloque{DFR1015 (§\ref{sec:dfr1015}) · diodo clamp 1N5819/BAT54 (§\ref{sec:diodos}) ·
|
||||||
|
R 10\,k y 100\,$\Omega$ (§\ref{sec:resistencias})}
|
||||||
|
|
||||||
\hwtab{%
|
\hwtab{%
|
||||||
\begin{tabularx}{\textwidth}{@{}l X L{4.4cm}@{}}
|
\begin{tabularx}{\textwidth}{@{}l X L{4.4cm}@{}}
|
||||||
@ -215,6 +238,8 @@ seguro»: sin MCU (o durante el reset) el stack queda \textbf{apagado}.}}
|
|||||||
|
|
||||||
\bloque{5}{Ventilador (2 hilos)}
|
\bloque{5}{Ventilador (2 hilos)}
|
||||||
\queprueba{el ventilador arranca/sube con la temperatura.}
|
\queprueba{el ventilador arranca/sube con la temperatura.}
|
||||||
|
\compbloque{LM2596 «FAN 5.0\,V» (§\ref{sec:lm2596}) · IRLZ44N (§\ref{sec:transistores}) ·
|
||||||
|
1N5819 (§\ref{sec:diodos}) · R 220 y 100\,k (§\ref{sec:resistencias}) · ventilador (§\ref{sec:botones})}
|
||||||
|
|
||||||
\hwtab{%
|
\hwtab{%
|
||||||
\begin{tabularx}{\textwidth}{@{}l X L{4.4cm}@{}}
|
\begin{tabularx}{\textwidth}{@{}l X L{4.4cm}@{}}
|
||||||
@ -237,6 +262,7 @@ seguro»: sin MCU (o durante el reset) el stack queda \textbf{apagado}.}}
|
|||||||
|
|
||||||
\bloque{6}{Sensor de temperatura y humedad I\textsuperscript{2}C — AHT10}
|
\bloque{6}{Sensor de temperatura y humedad I\textsuperscript{2}C — AHT10}
|
||||||
\queprueba{el log reporta temperatura + humedad del aire; al calentar el sensor, el ventilador sube.}
|
\queprueba{el log reporta temperatura + humedad del aire; al calentar el sensor, el ventilador sube.}
|
||||||
|
\compbloque{AHT10 (§\ref{sec:aht10}) · R 4.7\,k $\times$2 (§\ref{sec:resistencias})}
|
||||||
|
|
||||||
\hwtab{%
|
\hwtab{%
|
||||||
\begin{tabularx}{\textwidth}{@{}l X L{4.4cm}@{}}
|
\begin{tabularx}{\textwidth}{@{}l X L{4.4cm}@{}}
|
||||||
@ -263,6 +289,8 @@ la da solo el AHT10.}}
|
|||||||
|
|
||||||
\bloque{7}{Reset y gauge de batería}
|
\bloque{7}{Reset y gauge de batería}
|
||||||
\queprueba{el botón reinicia; los 4 LEDs quedan listos para el firmware. Botones y LEDs \textbf{en mano} — van todos en el protoboard.}
|
\queprueba{el botón reinicia; los 4 LEDs quedan listos para el firmware. Botones y LEDs \textbf{en mano} — van todos en el protoboard.}
|
||||||
|
\compbloque{botón de 4 patitas — truco de la diagonal (§\ref{sec:botones}) · LEDs $\times$4 y
|
||||||
|
R 330\,$\Omega$ (§\ref{sec:diodos}, §\ref{sec:resistencias})}
|
||||||
|
|
||||||
\hwtab{%
|
\hwtab{%
|
||||||
\begin{tabularx}{\textwidth}{@{}l X L{4.4cm}@{}}
|
\begin{tabularx}{\textwidth}{@{}l X L{4.4cm}@{}}
|
||||||
@ -277,43 +305,112 @@ la da solo el AHT10.}}
|
|||||||
\diagramabloque{7}{\blkResetGauge}
|
\diagramabloque{7}{\blkResetGauge}
|
||||||
|
|
||||||
\bloque{8}{Conexión del stack RTK (modo por defecto)}
|
\bloque{8}{Conexión del stack RTK (modo por defecto)}
|
||||||
\queprueba{el watchdog observa; solo 4 cables al stack.}
|
\queprueba{el watchdog observa; solo 5 cables al stack.}
|
||||||
|
\compbloque{simpleRTK2B Pro y 4G NTRIP Master (§\ref{sec:stackfisico}) — en este modo el 4G
|
||||||
|
va \textbf{dentro del socket XBee del Pro}: aquí NO se necesita el breakout ni ningún adaptador}
|
||||||
|
|
||||||
\hwtab{%
|
\hwtab{%
|
||||||
\begin{tabularx}{\textwidth}{@{}l X L{4.4cm}@{}}
|
\begin{tabularx}{\textwidth}{@{}l X L{4.4cm}@{}}
|
||||||
\toprule
|
\toprule
|
||||||
\theadconex
|
\theadconex
|
||||||
\midrule
|
\midrule
|
||||||
\redV & SAL (5\,V conmutado, Bloque 3) $\rightarrow$ simpleRTK2B Pro · 5V & Alimenta el stack RTK\\
|
\redV & SAL (5\,V conmutado, Bloque 3) $\rightarrow$ Pro · pin \texttt{5V} & Alimenta el stack RTK\\
|
||||||
\redG & GND del sistema $\rightarrow$ simpleRTK2B Pro · GND & \\
|
\redG & GND del sistema $\rightarrow$ Pro · pin \texttt{GND} & \\
|
||||||
\redS & PA2 (USART2 TX) $\rightarrow$ F9P UART1 RX & NMEA · cruce TX$\rightarrow$RX\\
|
\redT & Blackpill 3V3 $\rightarrow$ Pro · pin \texttt{IOREF} & Fija el nivel (3.3\,V) de los pines
|
||||||
\redS & PA3 (USART2 RX) $\rightarrow$ F9P UART1 TX & NMEA · cruce RX$\leftarrow$TX\\
|
\texttt{TX1/RX1/TX2/RX2} — \textbf{sin este cable los UART del Pro no responden} (fila faltante en v2.2)\\
|
||||||
\redN & 4G NTRIP Master (XBee) $\rightarrow$ socket XBee del Pro (UART2) & 5\,V + datos por el socket (\textbf{no} al Blackpill)\\
|
\redS & PA2 (USART2 TX) $\rightarrow$ Pro · pin \texttt{RX1} (F9P UART1 RX) & NMEA · cruce TX$\rightarrow$RX\\
|
||||||
|
\redS & PA3 (USART2 RX) $\rightarrow$ Pro · pin \texttt{TX1} (F9P UART1 TX) & NMEA · cruce RX$\leftarrow$TX\\
|
||||||
|
\redN & 4G NTRIP Master (XBee) $\rightarrow$ socket XBee del Pro · switch en \texttt{UART2} & 3.3\,V + datos se los da el socket (\textbf{no} al Blackpill)\\
|
||||||
\redN & Antena GNSS (SMA) $\rightarrow$ F9P & \\
|
\redN & Antena GNSS (SMA) $\rightarrow$ F9P & \\
|
||||||
\redN & 2$\times$ antenas LTE $\rightarrow$ 4G NTRIP Master & \\
|
\redN & 2$\times$ antenas LTE $\rightarrow$ 4G NTRIP Master & Conéctalas \textbf{antes} de energizar\\
|
||||||
\redN & Relé \texttt{\$PHLG} (PA9/PA10) = DNP / apagado & Config por defecto (solo monitor)\\
|
\redN & Relé \texttt{\$PHLG} (PA9/PA10) = DNP / apagado & Config por defecto (solo monitor)\\
|
||||||
\bottomrule
|
\bottomrule
|
||||||
\end{tabularx}}
|
\end{tabularx}}
|
||||||
|
|
||||||
\diagramabloque{8}{\blkStack}
|
\diagramabloque{8}{\blkStack}
|
||||||
|
|
||||||
\bloque{9}{Modo B — Diagnóstico por NTRIP (relé, opcional)}
|
\bloque{9}{Modo B — Diagnóstico por NTRIP (relevo, opcional)}
|
||||||
\queprueba{inyecta \texttt{\$PHLG} al servidor por 4G. Requiere breakout XBee.}
|
\queprueba{inyecta \texttt{\$PHLG} al servidor por 4G. Requiere el puente XBee de abajo.}
|
||||||
|
\compbloque{4G NTRIP Master en breakout XBee (§\ref{sec:stackfisico}) · segunda LM2596 o
|
||||||
|
MP1584 «MODEM 3.3\,V» (§\ref{sec:lm2596}) · R 22\,k (§\ref{sec:resistencias}) ·
|
||||||
|
C 100\,$\mu$F$+$100\,nF (§\ref{sec:diodos})}
|
||||||
|
|
||||||
|
\subsubsection*{9a · El problema del paso (pitch): el 4G NO entra en la protoboard}
|
||||||
|
|
||||||
|
Las patitas del 4G NTRIP Master son formato \textbf{XBee: paso de 2.0\,mm} (de centro a
|
||||||
|
centro de patita), y la protoboard es de \textbf{2.54\,mm}. Por eso el módulo no encaja: a
|
||||||
|
la cuarta patita ya perdió medio hoyo. Comprobación rápida con regla: 10 patitas del XBee
|
||||||
|
ocupan \textbf{18\,mm}; 10 hoyos de la protoboard ocupan \textbf{22.9\,mm}. (Si mides otra
|
||||||
|
cosa, vuelve a medir de \emph{centro a centro} — el estándar XBee es 2.0\,mm, no 1.27\,mm.)
|
||||||
|
\textbf{Nunca fuerces el módulo ni sueldes cables directo a sus patitas}: es la pieza más
|
||||||
|
cara del banco.
|
||||||
|
|
||||||
|
\hwtab{%
|
||||||
|
\begin{tabularx}{\textwidth}{@{}L{0.7cm} L{5.2cm} X L{2.6cm}@{}}
|
||||||
|
\toprule
|
||||||
|
\rowcolor{HelgenIndigo}\textcolor{white}{\textbf{Op.}} & \textcolor{white}{\textbf{Solución}} &
|
||||||
|
\textcolor{white}{\textbf{Notas}} & \textcolor{white}{\textbf{Costo / entrega}}\\
|
||||||
|
\midrule
|
||||||
|
\textbf{A} $\star$ & Breakout XBee (SparkFun BOB-08276 o genérico) $+$ 2 headers hembra de
|
||||||
|
2.0\,mm (10 pos.) $+$ pines macho 2.54\,mm & \textbf{La recomendada.} Requiere soldar los dos
|
||||||
|
headers y los pines (ver 9b). SANDOROBOTICS (CDMX): BOB-08276 $\approx$MX\$30 $+$ 2$\times$
|
||||||
|
PRT-08272 $\approx$MX\$35 c/u & $\approx$MX\$100 · 1--2 días\\
|
||||||
|
\textbf{B} & «Adaptador XBee» genérico ya armado (Amazon MX / MercadoLibre) & Busca
|
||||||
|
«adaptador XBee 2.54»; verifica en las fotos que traiga las dos filas de pines DIP hacia
|
||||||
|
abajo. Algunos traen regulador y LEDs (no estorban, pero alimenta VCC igual con 3.3\,V) &
|
||||||
|
$\approx$MX\$80--250 · 1--3 días\\
|
||||||
|
\textbf{C} & Shield XBee formato Arduino (p.\,ej.\ HR0440) $+$ cables Dupont H-H & No entra a la
|
||||||
|
protoboard, pero expone las señales en headers 2.54. Funciona como base fija junto a la
|
||||||
|
protoboard & $\approx$MX\$50--150 · 1--2 días\\
|
||||||
|
\textbf{D} & Jumpers hembra-hembra de 2.0\,mm (AliExpress) directo a las patitas & Solo como
|
||||||
|
último recurso: sin soldar, pero frágil y fácil de conectar corrido. Entrega lenta &
|
||||||
|
$\approx$MX\$60--120 · 2--4 semanas\\
|
||||||
|
\bottomrule
|
||||||
|
\end{tabularx}}
|
||||||
|
|
||||||
|
\subsubsection*{9b · Armado del puente (opción A) — se suelda UNA vez}
|
||||||
|
|
||||||
|
\begin{enumerate}[itemsep=2pt]
|
||||||
|
\item Suelda los \textbf{2 headers hembra de 2.0\,mm} (10 posiciones c/u) en las dos filas
|
||||||
|
\emph{interiores} del breakout, por el lado de arriba (donde está la serigrafía del
|
||||||
|
contorno XBee). Fíjate en la marca de \textbf{pin 1} (ver dibujo en §\ref{sec:stackfisico}).
|
||||||
|
\item Suelda \textbf{pines macho de 2.54\,mm} en las dos filas \emph{exteriores}, apuntando
|
||||||
|
hacia abajo — así el breakout se enchufa a la protoboard como cualquier módulo.
|
||||||
|
\item Revisa cada punto de soldadura con lupa/luz: brillante y cónico, sin puentes entre
|
||||||
|
pads vecinos. Con el multímetro en continuidad: cada socket 2.0\,mm debe pitar con su
|
||||||
|
pin 2.54 de al lado, y \textbf{no} con el vecino.
|
||||||
|
\item Enchufa el 4G NTRIP Master en los sockets respetando la orientación del contorno
|
||||||
|
(solo entra bien de una forma si sigues la marca de pin 1).
|
||||||
|
\item \textbf{Alimentación — la regla dura: el pin 1 (VCC) del XBee es de 3.3\,V. NUNCA le
|
||||||
|
conectes 5\,V.} Prepara la segunda LM2596/MP1584, ajústala \textbf{en vacío} a
|
||||||
|
\textbf{3.3\,V} (§\ref{sec:lm2596}), márcala «MODEM 3.3\,V», y ponle a la salida un
|
||||||
|
capacitor de 100\,$\mu$F $+$ 100\,nF lo más cerca posible del pin VCC (el módem pide
|
||||||
|
picos de $\sim$1--1.5\,A al transmitir; sin ese capacitor se reinicia solo).
|
||||||
|
\item La entrada de esa buck viene de \textbf{SAL} (el 5\,V conmutado del Bloque~3), no del
|
||||||
|
riel fijo: así, cuando el watchdog reinicia el stack, \textbf{también reinicia el
|
||||||
|
módem} — igual que en el PCB de producción (riel 3V3\_MODEM).
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
\subsubsection*{9c · Conexiones del Modo B}
|
||||||
|
|
||||||
\hwtab{%
|
\hwtab{%
|
||||||
\begin{tabularx}{\textwidth}{@{}l X L{4.4cm}@{}}
|
\begin{tabularx}{\textwidth}{@{}l X L{4.4cm}@{}}
|
||||||
\toprule
|
\toprule
|
||||||
\theadconex
|
\theadconex
|
||||||
\midrule
|
\midrule
|
||||||
\redV & SAL / GND (Bloque 3) $\rightarrow$ F9P · watchdog · 4G & IOREF = 3.3\,V (nivel de los UART del F9P)\\
|
\redV & SAL (Bloque 3) $\rightarrow$ Pro · pin \texttt{5V} (y GND común) & El F9P sí es de 5\,V\\
|
||||||
\redN & switch XBee del Pro $\rightarrow$ UART1 & Libera UART2 para el relé\\
|
\redV & SAL $\rightarrow$ LM2596 «MODEM» IN$+$ (ajustada a 3.3\,V) & IN$-$/OUT$-$ al GND común\\
|
||||||
\redS & PA2 $\rightarrow$ F9P UART1 RX & Monitor de fix\\
|
\redT & LM2596 «MODEM» OUT$+$ $\rightarrow$ XBee \textbf{pin 1 (VCC)} & \textbf{3.3\,V — nunca 5\,V} ·
|
||||||
\redS & PA3 $\rightarrow$ F9P UART1 TX & Monitor de fix\\
|
C 100\,$\mu$F$+$100\,nF junto al pin\\
|
||||||
\redS & F9P TX2 (UART2) $\rightarrow$ PA10 (USART1 RX) & Relé: la subida entra al MCU\\
|
\redG & XBee \textbf{pin 10 (GND)} $\rightarrow$ GND & GND común con todo\\
|
||||||
\redS & PA9 (USART1 TX) $\rightarrow$ 4G DIN & El MCU releva + inyecta \texttt{\$PHLG}\\
|
\redT & Blackpill 3V3 $\rightarrow$ Pro · pin \texttt{IOREF} & Nivel 3.3\,V de los UART del Pro\\
|
||||||
\redS & 4G DOUT $\rightarrow$ F9P RX2 (UART2) & RTCM3 \textbf{DIRECTO} (no pasa por el MCU) $\rightarrow$ correcciones intactas\\
|
\redN & switch XBee del Pro $\rightarrow$ \texttt{UART1} & Libera UART2 para el relevo (el socket queda vacío)\\
|
||||||
|
\redS & PA2 $\rightarrow$ Pro · \texttt{RX1} \quad / \quad PA3 $\rightarrow$ Pro · \texttt{TX1} & Monitor de fix (NMEA)\\
|
||||||
|
\redS & Pro · \texttt{TX2} (F9P UART2) $\rightarrow$ PA10 (USART1 RX) & Relevo: la subida entra al MCU\\
|
||||||
|
\redS & PA9 (USART1 TX) $\rightarrow$ XBee \textbf{pin 3 (DIN)} & El MCU releva + inyecta \texttt{\$PHLG}\\
|
||||||
|
\redS & XBee \textbf{pin 2 (DOUT)} $\rightarrow$ Pro · \texttt{RX2} & RTCM3 \textbf{DIRECTO} (no pasa por el MCU) $\rightarrow$ correcciones intactas\\
|
||||||
\redT & PA10 $\rightarrow$ R 22\,k$\Omega$ $\rightarrow$ 3V3 & DFU-safe (idle high)\\
|
\redT & PA10 $\rightarrow$ R 22\,k$\Omega$ $\rightarrow$ 3V3 & DFU-safe (idle high)\\
|
||||||
\redN & 4G NTRIP Master $\rightarrow$ breakout XBee (SparkFun BOB-08276), fuera del socket & Para interponer el MCU\\
|
\redN & 2$\times$ antenas LTE (u.FL) $\rightarrow$ 4G & \textbf{Antes} de energizar — sin antena el transmisor sufre\\
|
||||||
\redN & 4G NTRIP Master $\rightarrow$ servidor (4G/NTRIP) & \texttt{\$PHLG} llega \textit{en banda} al backend\\
|
\redN & 4G NTRIP Master $\rightarrow$ servidor (4G/NTRIP) & \texttt{\$PHLG} llega \textit{en banda} al backend\\
|
||||||
\bottomrule
|
\bottomrule
|
||||||
\end{tabularx}}
|
\end{tabularx}}
|
||||||
@ -332,6 +429,9 @@ MCU debe interrumpirlas.)
|
|||||||
|
|
||||||
\bloque{10}{Respaldo de batería (proto): TP4056 + MT3608 + corte de carga (PA8) + apagador}
|
\bloque{10}{Respaldo de batería (proto): TP4056 + MT3608 + corte de carga (PA8) + apagador}
|
||||||
\queprueba{reproduce carga / respaldo; PA8 corta la carga; el apagador mata todo. El PCB usa el LTC4040.}
|
\queprueba{reproduce carga / respaldo; PA8 corta la carga; el apagador mata todo. El PCB usa el LTC4040.}
|
||||||
|
\compbloque{TP4056 (§\ref{sec:tp4056}) · MT3608 (§\ref{sec:mt3608}) · 2N3904 e IRF9540N
|
||||||
|
(§\ref{sec:transistores}) · 1N5819 $\times$2 (§\ref{sec:diodos}) · apagador (§\ref{sec:botones}) ·
|
||||||
|
R 1\,k y 10\,k (§\ref{sec:resistencias})}
|
||||||
|
|
||||||
\hwtab{%
|
\hwtab{%
|
||||||
\begin{tabularx}{\textwidth}{@{}l X L{4.4cm}@{}}
|
\begin{tabularx}{\textwidth}{@{}l X L{4.4cm}@{}}
|
||||||
@ -379,6 +479,8 @@ con R\textsubscript{PROG} $\approx$ C/5 $\le$ 2.5\,A.
|
|||||||
|
|
||||||
\bloque{11}{Temperatura analógica: NTC 10\,k $\rightarrow$ PB1 + LM35 $\rightarrow$ PA7}
|
\bloque{11}{Temperatura analógica: NTC 10\,k $\rightarrow$ PB1 + LM35 $\rightarrow$ PA7}
|
||||||
\queprueba{dos canales analógicos independientes; con el AHT10 (Bloque~6) completan la triple ruta.}
|
\queprueba{dos canales analógicos independientes; con el AHT10 (Bloque~6) completan la triple ruta.}
|
||||||
|
\compbloque{NTC 10\,k (§\ref{sec:botones}) · LM35 — ¡ojo con la orientación! (§\ref{sec:transistores}) ·
|
||||||
|
R 10\,k 1\,\% (§\ref{sec:resistencias}) · C 100\,nF (§\ref{sec:diodos})}
|
||||||
|
|
||||||
\hwtab{%
|
\hwtab{%
|
||||||
\begin{tabularx}{\textwidth}{@{}l X L{4.4cm}@{}}
|
\begin{tabularx}{\textwidth}{@{}l X L{4.4cm}@{}}
|
||||||
@ -405,9 +507,10 @@ solo el AHT10.}}
|
|||||||
|
|
||||||
\diagramabloque{11}{\blkTempA}
|
\diagramabloque{11}{\blkTempA}
|
||||||
|
|
||||||
\section{Patitas de los componentes}
|
\section{Patitas de los componentes (resumen rápido)}
|
||||||
|
|
||||||
Míralos de frente, patitas hacia abajo.
|
Tabla-resumen para consulta veloz; \textbf{los dibujos} de cada uno están en la
|
||||||
|
sección~\ref{sec:identifica}. Míralos de frente, patitas hacia abajo.
|
||||||
|
|
||||||
\hwtab{%
|
\hwtab{%
|
||||||
\begin{tabularx}{\textwidth}{@{}L{4.6cm} X@{}}
|
\begin{tabularx}{\textwidth}{@{}L{4.6cm} X@{}}
|
||||||
@ -441,7 +544,9 @@ Capacitor electrolítico & \textbf{CON polaridad}: la franja/pata corta = negati
|
|||||||
6 & Temperatura / humedad & Bloques 6 y 11: AHT10 (0x38, \textbf{solo} en el bus) + LM35 $\rightarrow$ PA7 + NTC $\rightarrow$ PB1. Verifica las tres lecturas en el log.\\
|
6 & Temperatura / humedad & Bloques 6 y 11: AHT10 (0x38, \textbf{solo} en el bus) + LM35 $\rightarrow$ PA7 + NTC $\rightarrow$ PB1. Verifica las tres lecturas en el log.\\
|
||||||
7 & Respaldo de batería & Bloque 10. TP4056 + MT3608 (ajusta el MT3608 apenas $<$ 5\,V del vehículo) + corte de carga PA8 (CHRG\_RUN) + \textbf{apagador} SYS $\rightarrow$ MAIN5V. Prueba: PA8 en bajo = el LED CHRG del TP4056 se apaga; el apagador mata todo.\\
|
7 & Respaldo de batería & Bloque 10. TP4056 + MT3608 (ajusta el MT3608 apenas $<$ 5\,V del vehículo) + corte de carga PA8 (CHRG\_RUN) + \textbf{apagador} SYS $\rightarrow$ MAIN5V. Prueba: PA8 en bajo = el LED CHRG del TP4056 se apaga; el apagador mata todo.\\
|
||||||
8 & Stack RTK & Bloque 8. Solo 4 cables (SAL, GND, PA2, PA3); el 4G va en el socket XBee del Pro.\\
|
8 & Stack RTK & Bloque 8. Solo 4 cables (SAL, GND, PA2, PA3); el 4G va en el socket XBee del Pro.\\
|
||||||
9 & (Opcional) Modo B & Bloque 9. Relé por breakout XBee — solo si vas a probar el diagnóstico por NTRIP.\\
|
9 & (Opcional) Modo B & Bloque 9. Relevo por breakout XBee — solo si vas a probar el
|
||||||
|
diagnóstico por NTRIP. \textbf{Prepara antes el puente 2.0$\rightarrow$2.54\,mm} (compra y
|
||||||
|
soldadura de la sección 9a/9b) y la buck «MODEM 3.3\,V».\\
|
||||||
\bottomrule
|
\bottomrule
|
||||||
\end{tabularx}}
|
\end{tabularx}}
|
||||||
|
|
||||||
@ -459,6 +564,14 @@ Capacitor electrolítico & \textbf{CON polaridad}: la franja/pata corta = negati
|
|||||||
\item El 4G va en el \textbf{socket XBee del Pro} (no al Blackpill), salvo el Modo B.
|
\item El 4G va en el \textbf{socket XBee del Pro} (no al Blackpill), salvo el Modo B.
|
||||||
En el PCB v3, el bypass UART2 \textbf{normalmente cerrado} garantiza que un MCU
|
En el PCB v3, el bypass UART2 \textbf{normalmente cerrado} garantiza que un MCU
|
||||||
muerto/ausente nunca corte el RTCM3 (ver Bloque~9).
|
muerto/ausente nunca corte el RTCM3 (ver Bloque~9).
|
||||||
|
\item \textbf{Fuera del socket, el 4G se alimenta con 3.3\,V — NUNCA 5\,V} (pin 1 del
|
||||||
|
XBee), desde la buck «MODEM 3.3\,V» con su capacitor de 100\,$\mu$F al lado, y sus
|
||||||
|
patitas son de paso \textbf{2.0\,mm}: usa el puente de la sección 9a/9b, no lo
|
||||||
|
fuerces en la protoboard. Antenas LTE conectadas \textbf{antes} de energizar.
|
||||||
|
\item \textbf{USB del Blackpill y riel 5\,V nunca al mismo tiempo}: el pin \texttt{5V} está
|
||||||
|
unido directo al USB. Para flashear, desconecta el riel; para operar, desconecta el USB.
|
||||||
|
\item El pin \texttt{IOREF} del Pro debe ir al 3V3 del Blackpill en los Bloques 8 y 9 —
|
||||||
|
sin él, los pines \texttt{TX1/RX1/TX2/RX2} del Pro no responden.
|
||||||
\item \textbf{AHT10 solo a 3V3} (1.8--3.6\,V, se quema a 5\,V) y \textbf{solo él} en el bus
|
\item \textbf{AHT10 solo a 3V3} (1.8--3.6\,V, se quema a 5\,V) y \textbf{solo él} en el bus
|
||||||
I\textsuperscript{2}C (restricción Aosong); dirección \textbf{0x38 fija}.
|
I\textsuperscript{2}C (restricción Aosong); dirección \textbf{0x38 fija}.
|
||||||
\textbf{LM35 al revés:} necesita $\ge$4\,V $\rightarrow$ va al \textbf{5\,V}, nunca al 3V3.
|
\textbf{LM35 al revés:} necesita $\ge$4\,V $\rightarrow$ va al \textbf{5\,V}, nunca al 3V3.
|
||||||
@ -490,6 +603,17 @@ convertidores». Nuevo: tabla «Estado y cambios», aviso del \textbf{bypass UAR
|
|||||||
cerrado} del PCB (Bloque 9), aclaración \textbf{NTC del cargador vs TMP102 vs NTC$\rightarrow$PB1},
|
cerrado} del PCB (Bloque 9), aclaración \textbf{NTC del cargador vs TMP102 vs NTC$\rightarrow$PB1},
|
||||||
pack 1S4P $\sim$12\,Ah (nunca 40\,Ah), leyenda con colores de los diagramas CircuiTikZ,
|
pack 1S4P $\sim$12\,Ah (nunca 40\,Ah), leyenda con colores de los diagramas CircuiTikZ,
|
||||||
figura del Bloque 3 y referencias cruzadas.\\
|
figura del Bloque 3 y referencias cruzadas.\\
|
||||||
|
v3.0 & 2026-07-08 & \textbf{Catálogo visual de piezas} (sección~\ref{sec:identifica}): vista
|
||||||
|
física con patitas rotuladas de los módulos con CI (LM2596, MT3608, TP4056, AHT10, DFR1015),
|
||||||
|
pinout completo del Blackpill de frente (40 pines, usados en color), simpleRTK2B Pro con sus
|
||||||
|
rótulos \texttt{RX1/TX1/RX2/TX2/IOREF}, 4G NTRIP Master + breakout, transistores TO-92/TO-220,
|
||||||
|
diodos, LEDs, capacitores, código de colores de resistencias, protoboard por dentro y
|
||||||
|
checklist antes de energizar. Línea «Piezas de este bloque» en los 11 bloques. \textbf{Bloque
|
||||||
|
9 rehecho:} el 4G es paso \textbf{2.0\,mm} (no cabe en protoboard 2.54\,mm) $\rightarrow$
|
||||||
|
opciones de puente (breakout $+$ sockets $\approx$MX\$100), armado 9b, y alimentación del
|
||||||
|
módem \textbf{3.3\,V desde SAL} vía buck dedicada (espejo del riel 3V3\_MODEM del PCB) con
|
||||||
|
capacitor de ráfaga. Nuevo en tablas 8/9: fila \texttt{IOREF} $\rightarrow$ 3V3 (faltaba) y
|
||||||
|
números de pin XBee (1 VCC · 2 DOUT · 3 DIN · 10 GND). Aviso USB$+$riel 5\,V simultáneos.\\
|
||||||
v2.2 & 2026-07-03 & \textbf{Suite de sensores realineada a las partes en mano:} AHT10
|
v2.2 & 2026-07-03 & \textbf{Suite de sensores realineada a las partes en mano:} AHT10
|
||||||
(0x38, solo en el bus, a 3V3) sustituye al SHT40 en el Bloque 6 (SHT40/TMP102 quedan para
|
(0x38, solo en el bus, a 3V3) sustituye al SHT40 en el Bloque 6 (SHT40/TMP102 quedan para
|
||||||
el PCB); \textbf{LM35 $\rightarrow$ PA7} nuevo en el Bloque 11 $\rightarrow$ \textbf{triple
|
el PCB); \textbf{LM35 $\rightarrow$ PA7} nuevo en el Bloque 11 $\rightarrow$ \textbf{triple
|
||||||
@ -504,6 +628,6 @@ AHT10 y electrolíticos; capacitores en mano (100\,nF / 10\,$\mu$F / 100\,$\mu$F
|
|||||||
|
|
||||||
\vspace{6pt}
|
\vspace{6pt}
|
||||||
\noindent{\footnotesize Helgen Technologies · Proyecto Drogheda · Guía de conexión en
|
\noindent{\footnotesize Helgen Technologies · Proyecto Drogheda · Guía de conexión en
|
||||||
protoboard v2.2 (bloques 1--11) · Firmware v2.3 · Documento para el técnico de armado.
|
protoboard v3.0 (bloques 1--11) · Firmware v2.3 · Documento para el técnico de armado.
|
||||||
Datos de conexión: \texttt{Drogheda\_Conexiones-por-Bloque\_Proto\_v1.xlsx} · Diagramas:
|
Datos de conexión: \texttt{Drogheda\_Conexiones-por-Bloque\_Proto\_v1.xlsx} · Diagramas:
|
||||||
\texttt{circuitikz-wiring/}.}
|
\texttt{circuitikz-wiring/}.}
|
||||||
|
|||||||
Binary file not shown.
@ -1,5 +1,6 @@
|
|||||||
% Helgen Drogheda — Guía de Conexión en Protoboard · DRG-PROTO-001 (es-MX)
|
% Helgen Drogheda — Guía de Conexión en Protoboard · DRG-PROTO-001 (es-MX)
|
||||||
% Watchdog HBOX v3 · tarjeta DEV STM32F411 Blackpill · bloques 1–11 · v2.2
|
% Watchdog HBOX v3 · tarjeta DEV STM32F411 Blackpill · bloques 1–11 · v3.0
|
||||||
|
% v3.0 agrega modulos-pinout.tex (catálogo visual de piezas) + Bloque 9 con puente XBee.
|
||||||
%
|
%
|
||||||
% Compilar (preferido, con fuentes de marca): latexmk -xelatex main.tex
|
% Compilar (preferido, con fuentes de marca): latexmk -xelatex main.tex
|
||||||
% Compilar (fallback sin fuentes de marca): latexmk -pdf main.tex (pdfLaTeX)
|
% Compilar (fallback sin fuentes de marca): latexmk -pdf main.tex (pdfLaTeX)
|
||||||
@ -39,9 +40,11 @@
|
|||||||
\newcommand{\redI}{\redsw{netIgn}{12--24\,V}}
|
\newcommand{\redI}{\redsw{netIgn}{12--24\,V}}
|
||||||
\newcommand{\redN}{{\footnotesize —}}
|
\newcommand{\redN}{{\footnotesize —}}
|
||||||
|
|
||||||
% ---- Encabezado de bloque + línea «Qué prueba» ----
|
% ---- Encabezado de bloque + línea «Qué prueba» + línea «Piezas de este bloque» ----
|
||||||
\newcommand{\bloque}[2]{\subsection*{Bloque #1 · #2}}
|
\newcommand{\bloque}[2]{\subsection*{Bloque #1 · #2}}
|
||||||
\newcommand{\queprueba}[1]{\noindent{\small\textit{\textbf{Qué prueba:} #1}}\par\smallskip}
|
\newcommand{\queprueba}[1]{\noindent{\small\textit{\textbf{Qué prueba:} #1}}\par\smallskip}
|
||||||
|
\newcommand{\compbloque}[1]{\noindent{\small\textbf{\textcolor{HelgenTeal}{Piezas de este
|
||||||
|
bloque:}} {\small #1}}\par\smallskip}
|
||||||
|
|
||||||
% ---- Diagrama CircuiTikZ incrustado por bloque (mismas macros que la lámina) ----
|
% ---- Diagrama CircuiTikZ incrustado por bloque (mismas macros que la lámina) ----
|
||||||
\newcommand{\diagramabloque}[2]{%
|
\newcommand{\diagramabloque}[2]{%
|
||||||
@ -62,8 +65,8 @@
|
|||||||
\helgenportada{Guía de Conexión en Protoboard}{HBOX Watchdog v3 — tarjeta DEV / protoboard · bloques 1--11}{%
|
\helgenportada{Guía de Conexión en Protoboard}{HBOX Watchdog v3 — tarjeta DEV / protoboard · bloques 1--11}{%
|
||||||
\begin{tabular}{@{}ll@{}}
|
\begin{tabular}{@{}ll@{}}
|
||||||
\textbf{Documento} & DRG-PROTO-001 — Guía de Conexión en Protoboard\\
|
\textbf{Documento} & DRG-PROTO-001 — Guía de Conexión en Protoboard\\
|
||||||
\textbf{Versión} & 2.2 (suite de sensores en mano: AHT10 + LM35 + NTC; corte de carga PA8; apagador general)\\
|
\textbf{Versión} & 3.0 (catálogo visual de piezas y pinouts; Bloque 9 con puente XBee 2.0$\rightarrow$2.54\,mm)\\
|
||||||
\textbf{Fecha} & 3 de julio de 2026\\
|
\textbf{Fecha} & 8 de julio de 2026\\
|
||||||
\textbf{Firmware} & v2.3 · MCU STM32F411 «Blackpill»\\
|
\textbf{Firmware} & v2.3 · MCU STM32F411 «Blackpill»\\
|
||||||
\textbf{Dirigido a} & Técnico de armado — sigue el orden de la sección~\ref{sec:orden}\\
|
\textbf{Dirigido a} & Técnico de armado — sigue el orden de la sección~\ref{sec:orden}\\
|
||||||
\textbf{Fuente de datos} & \texttt{Drogheda\_Conexiones-por-Bloque\_Proto\_v1.xlsx} (autoritativa)\\
|
\textbf{Fuente de datos} & \texttt{Drogheda\_Conexiones-por-Bloque\_Proto\_v1.xlsx} (autoritativa)\\
|
||||||
|
|||||||
Binary file not shown.
@ -0,0 +1,670 @@
|
|||||||
|
% modulos-pinout.tex — Identificación física de módulos y componentes (v3.0)
|
||||||
|
% Vistas superiores de los módulos con CI (LM2596, MT3608, TP4056, AHT10, DFR1015),
|
||||||
|
% pinout físico del Blackpill y del stack RTK, y patitas de cada componente discreto.
|
||||||
|
% Se \input{} desde cuerpo.tex. Requiere tikz (ya cargado por el estilo) y los colores
|
||||||
|
% net* de ../circuitikz-wiring/wiring-blocks.tex (ya cargado por main.tex).
|
||||||
|
|
||||||
|
% ---- Estilos compartidos de esta sección ----
|
||||||
|
\tikzset{
|
||||||
|
modbody/.style={draw=HelgenIndigo, fill=HelgenMist, rounded corners=3pt, line width=1.1pt},
|
||||||
|
chip/.style={draw=HelgenIndigo, fill=HelgenIndigo!85, rounded corners=1pt},
|
||||||
|
chiptxt/.style={font=\tiny\bfseries, text=white},
|
||||||
|
pad/.style={circle, draw=black!55, fill=white, inner sep=2.1pt, line width=0.7pt},
|
||||||
|
padu/.style={circle, draw=HelgenIndigo, fill=HelgenCyan, inner sep=2.1pt, line width=1pt},
|
||||||
|
silk/.style={font=\scriptsize\bfseries, text=HelgenIndigo},
|
||||||
|
silkg/.style={font=\scriptsize, text=black!45},
|
||||||
|
destino/.style={font=\scriptsize, align=left},
|
||||||
|
destinog/.style={font=\scriptsize, text=black!45, align=left},
|
||||||
|
patanum/.style={font=\tiny, text=black!55},
|
||||||
|
cablef/.style={-{Stealth[length=2mm]}, line width=1.1pt},
|
||||||
|
}
|
||||||
|
% Swatch de red para las anotaciones de los dibujos
|
||||||
|
\newcommand{\sw}[1]{\textcolor{#1}{\rule[-0.12ex]{0.62em}{0.62em}}}
|
||||||
|
|
||||||
|
% Mini-resistencia con bandas de color (4 y 5 bandas)
|
||||||
|
\definecolor{resBody}{HTML}{E8D8B0}
|
||||||
|
\definecolor{cCafe}{HTML}{8B5A2B}\definecolor{cNegro}{HTML}{1A1A1A}
|
||||||
|
\definecolor{cRojo}{HTML}{C62828}\definecolor{cNaranja}{HTML}{EF6C00}
|
||||||
|
\definecolor{cAmarillo}{HTML}{F0C419}\definecolor{cVioleta}{HTML}{6A1B9A}
|
||||||
|
\definecolor{cDorado}{HTML}{C9A227}
|
||||||
|
\newcommand{\resfour}[4]{\begin{tikzpicture}[baseline=-0.6ex]
|
||||||
|
\draw[black!60,line width=0.8pt] (-0.28,0)--(0,0); \draw[black!60,line width=0.8pt] (1.52,0)--(1.8,0);
|
||||||
|
\draw[fill=resBody,draw=black!45,rounded corners=2pt] (0,-0.16) rectangle (1.52,0.16);
|
||||||
|
\fill[#1] (0.20,-0.16) rectangle (0.34,0.16); \fill[#2] (0.50,-0.16) rectangle (0.64,0.16);
|
||||||
|
\fill[#3] (0.80,-0.16) rectangle (0.94,0.16); \fill[#4] (1.20,-0.16) rectangle (1.32,0.16);
|
||||||
|
\end{tikzpicture}}
|
||||||
|
\newcommand{\resfive}[5]{\begin{tikzpicture}[baseline=-0.6ex]
|
||||||
|
\draw[black!60,line width=0.8pt] (-0.28,0)--(0,0); \draw[black!60,line width=0.8pt] (1.52,0)--(1.8,0);
|
||||||
|
\draw[fill=resBody,draw=black!45,rounded corners=2pt] (0,-0.16) rectangle (1.52,0.16);
|
||||||
|
\fill[#1] (0.16,-0.16) rectangle (0.28,0.16); \fill[#2] (0.40,-0.16) rectangle (0.52,0.16);
|
||||||
|
\fill[#3] (0.64,-0.16) rectangle (0.76,0.16); \fill[#4] (0.88,-0.16) rectangle (1.00,0.16);
|
||||||
|
\fill[#5] (1.22,-0.16) rectangle (1.34,0.16);
|
||||||
|
\end{tikzpicture}}
|
||||||
|
|
||||||
|
\section{Identifica cada pieza ANTES de conectar}
|
||||||
|
\label{sec:identifica}
|
||||||
|
|
||||||
|
Esta sección es el \textbf{catálogo visual} del kit: cada módulo y componente dibujado
|
||||||
|
\textbf{como se ve de verdad}, con el nombre de cada patita y a dónde va. Las tablas de los
|
||||||
|
bloques (sección~\ref{sec:bloques}) te dicen \emph{qué} conectar; esta sección te enseña
|
||||||
|
\emph{dónde está} cada patita. Tres reglas de oro:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item \textbf{Confía en lo impreso, no en la posición.} Los módulos chinos cambian de un
|
||||||
|
lote a otro; los nombres serigrafiados (IN+, OUT$-$, B+, SDA\ldots) son los que valen.
|
||||||
|
Si el rótulo está por debajo, voltea el módulo y anótalo con marcador por arriba.
|
||||||
|
\item \textbf{En caso de duda, multímetro.} Continuidad (la escala que pita) para saber qué
|
||||||
|
está unido con qué; voltaje DC para verificar una fuente ANTES de conectarla a lo demás.
|
||||||
|
\item \textbf{Nada se conecta con la fuente energizada.} Cablea, revisa contra el dibujo,
|
||||||
|
revisa la polaridad, y hasta entonces enciende.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
% =====================================================================
|
||||||
|
\subsection{Cómo leer la protoboard}
|
||||||
|
\label{sec:protoboard}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\begin{adjustbox}{max width=0.98\textwidth}
|
||||||
|
\begin{tikzpicture}[x=1cm,y=1cm]
|
||||||
|
% board
|
||||||
|
\draw[modbody, fill=white] (-0.5,-3.2) rectangle (11.3,3.4);
|
||||||
|
% ---- power rails top ----
|
||||||
|
\draw[net5V,line width=1.4pt] (0,2.95) -- (10.8,2.95);
|
||||||
|
\draw[blue,line width=1.4pt] (0,2.45) -- (10.8,2.45);
|
||||||
|
\foreach \x in {0.3,0.9,...,10.5}{\fill[black!35] (\x,2.75) circle (0.055); \fill[black!35] (\x,2.25) circle (0.055);}
|
||||||
|
\node[font=\scriptsize\bfseries,text=net5V,anchor=south west] at (0,3.0){riel ROJO $=$ 5\,V (MAIN5V)};
|
||||||
|
\node[font=\scriptsize\bfseries,text=blue,anchor=south east,fill=white,inner sep=1.5pt] at (10.6,2.5){riel AZUL $=$ GND};
|
||||||
|
% ---- middle rows ----
|
||||||
|
\foreach \x in {0.3,0.66,...,10.5}{
|
||||||
|
\foreach \y in {1.5,1.2,0.9,0.6,0.3}{\fill[black!35] (\x,\y) circle (0.055);}
|
||||||
|
\foreach \y in {-0.5,-0.8,-1.1,-1.4,-1.7}{\fill[black!35] (\x,\y) circle (0.055);}}
|
||||||
|
\node[font=\tiny,anchor=east] at (0.12,1.5){a}; \node[font=\tiny,anchor=east] at (0.12,0.3){e};
|
||||||
|
\node[font=\tiny,anchor=east] at (0.12,-0.5){f}; \node[font=\tiny,anchor=east] at (0.12,-1.7){j};
|
||||||
|
% trench
|
||||||
|
\fill[black!12] (-0.5,-0.28) rectangle (11.3,0.08);
|
||||||
|
\node[font=\scriptsize\itshape,text=black!60,fill=white,inner sep=1.5pt] at (3.9,-0.11){canal central — parte cada columna en dos mitades};
|
||||||
|
% highlight one column group
|
||||||
|
\draw[HelgenTeal,line width=1.3pt,rounded corners=2pt] (1.32,0.16) rectangle (1.68,1.66);
|
||||||
|
\node[font=\scriptsize,text=HelgenTeal,anchor=west,fill=white,inner sep=1.5pt] at (1.85,1.35){estos 5 hoyitos están \textbf{unidos por dentro}};
|
||||||
|
\draw[HelgenTeal,line width=1.3pt,rounded corners=2pt,dashed] (1.32,-1.86) rectangle (1.68,-0.36);
|
||||||
|
\node[font=\scriptsize,text=HelgenTeal,align=center,anchor=north,fill=white,inner sep=1.5pt] at (1.7,-1.95){\ldots{}pero \textbf{NO} están unidos\\con la mitad de arriba};
|
||||||
|
% component straddling trench
|
||||||
|
\draw[chip] (7.3,-0.55) rectangle (9.1,0.35); \node[chiptxt] at (8.2,-0.1){módulo DIP};
|
||||||
|
\node[font=\scriptsize,align=center,anchor=north,fill=white,inner sep=1.5pt] at (8.2,-0.85){los módulos se montan\\\textbf{a caballo} del canal};
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{adjustbox}\\
|
||||||
|
{\small\itshape La protoboard por dentro: rieles laterales corridos (alimentación) y columnas
|
||||||
|
de 5 puntos unidos. Dos cables en la misma columna de 5 quedan conectados entre sí.}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
\begin{helgennotice}[Checklist antes de energizar CUALQUIER bloque]
|
||||||
|
\begin{itemize}
|
||||||
|
\item Rieles: rojo $=$ 5\,V, azul $=$ GND, en \textbf{toda} la guía. Nada de excepciones.
|
||||||
|
\item Electrolíticos: franja al GND. Diodos: banda como diga la tabla. Transistores:
|
||||||
|
cara plana como en el dibujo (sección~\ref{sec:transistores}).
|
||||||
|
\item Multímetro en continuidad: pita GND$\leftrightarrow$GND, \textbf{no} debe pitar 5\,V$\leftrightarrow$GND.
|
||||||
|
\item Fuentes ajustables (LM2596 / MT3608): voltaje medido y ajustado \textbf{en vacío} antes de conectar su salida.
|
||||||
|
\item \textbf{USB del Blackpill y riel 5\,V: nunca al mismo tiempo.} El pin \texttt{5V} de la
|
||||||
|
tarjeta está unido \emph{directo} al USB (sin protección). Para flashear: desconecta el
|
||||||
|
riel MAIN5V del pin \texttt{5V}, flashea por USB, desconecta el USB y reconecta el riel.
|
||||||
|
\end{itemize}
|
||||||
|
\end{helgennotice}
|
||||||
|
|
||||||
|
% =====================================================================
|
||||||
|
\subsection{El Blackpill de frente (los 40 pines)}
|
||||||
|
\label{sec:blackpill}
|
||||||
|
|
||||||
|
Pon la tarjeta \textbf{con el USB-C hacia arriba y los componentes hacia ti}. Para confirmar
|
||||||
|
que no la tienes volteada: la esquina superior \textbf{izquierda} dice \texttt{VB} y la
|
||||||
|
superior \textbf{derecha} dice \texttt{B12} (los nombres están serigrafiados junto a cada pin
|
||||||
|
— gira la tarjeta hasta que coincida con el dibujo). Los pines rellenos de color
|
||||||
|
\textcolor{HelgenTeal}{\textbf{cian}} son los que usa esta guía; los grises no se tocan.
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\begin{adjustbox}{max height=0.88\textheight, max width=\textwidth}
|
||||||
|
\begin{tikzpicture}[x=1cm,y=1cm]
|
||||||
|
% ---- board body ----
|
||||||
|
\draw[modbody] (0,-0.75) rectangle (4.3,11.1);
|
||||||
|
% USB-C
|
||||||
|
\draw[draw=black!60,fill=black!25,rounded corners=2.5pt] (1.55,10.55) rectangle (2.75,11.35);
|
||||||
|
\node[font=\scriptsize\bfseries,text=black!60] at (2.15,11.6){USB-C};
|
||||||
|
% MCU + buttons + LEDs
|
||||||
|
\draw[chip] (1.35,4.9) rectangle (2.95,6.5); \node[chiptxt,align=center] at (2.15,5.7){STM32\\F411};
|
||||||
|
\draw[draw=black!55,fill=black!12] (1.15,7.4) rectangle (1.95,8.0); \node[font=\tiny] at (1.55,7.7){NRST};
|
||||||
|
\draw[draw=black!55,fill=black!12] (2.35,7.4) rectangle (3.15,8.0); \node[font=\tiny] at (2.75,7.7){BOOT0};
|
||||||
|
\draw[draw=black!55,fill=black!12] (1.75,3.9) rectangle (2.55,4.5); \node[font=\tiny] at (2.15,4.2){KEY};
|
||||||
|
\fill[blue!60] (1.5,9.9) rectangle (1.8,10.15); \node[font=\tiny,anchor=west,text=black!60] at (1.85,10.02){LED C13};
|
||||||
|
\fill[red!70] (1.5,9.4) rectangle (1.8,9.65); \node[font=\tiny,anchor=west,text=black!60] at (1.85,9.52){LED PWR};
|
||||||
|
% SWD header bottom
|
||||||
|
\foreach \x in {1.55,1.95,2.35,2.75}{\fill[black!45] (\x,-0.45) circle (0.07);}
|
||||||
|
\node[font=\tiny,text=black!55,anchor=west] at (2.95,-0.45){SWD (no se usa)};
|
||||||
|
% star corner markers
|
||||||
|
\node[font=\footnotesize\bfseries,text=HelgenTeal] at (0.28,10.85){$\star$};
|
||||||
|
\node[font=\footnotesize\bfseries,text=HelgenTeal] at (4.02,10.85){$\star$};
|
||||||
|
% ---- pins: base grey (all), then used overrides ----
|
||||||
|
% LEFT column silk names top->bottom
|
||||||
|
\foreach [count=\i] \nm in {VB,C13,C14,C15,R,A0,A1,A2,A3,A4,A5,A6,A7,B0,B1,B2,B10,3V3,G,5V}{
|
||||||
|
\node[pad] (L\i) at (0.42,{10.45-\i*0.52}) {};
|
||||||
|
\node[silkg,anchor=west] at (0.62,{10.45-\i*0.52}) {\nm};}
|
||||||
|
% RIGHT column silk names top->bottom
|
||||||
|
\foreach [count=\i] \nm in {B12,B13,B14,B15,A8,A9,A10,A11,A12,A15,B3,B4,B5,B6,B7,B8,B9,5V,G,3V3}{
|
||||||
|
\node[pad] (R\i) at (3.88,{10.45-\i*0.52}) {};
|
||||||
|
\node[silkg,anchor=east] at (3.68,{10.45-\i*0.52}) {\nm};}
|
||||||
|
% ---- LEFT used pins: re-draw pad + silk in indigo + destination note ----
|
||||||
|
\foreach \i/\nm/\cl/\txt in {%
|
||||||
|
5/R/netSig/{botón reset ext.\ $\rightarrow$ GND · \textbf{B7}},%
|
||||||
|
6/A0/netAna/{BAT\_SENSE — $\div$2 del 18650$+$ · \textbf{B4}},%
|
||||||
|
7/A1/netSig/{PWR\_CTRL $\rightarrow$ 1\,k $\rightarrow$ 2N3904 · \textbf{B3}},%
|
||||||
|
8/A2/netSig/{TX $\rightarrow$ pin \texttt{RX1} del Pro · \textbf{B8}},%
|
||||||
|
9/A3/netSig/{RX $\leftarrow$ pin \texttt{TX1} del Pro · \textbf{B8}},%
|
||||||
|
10/A4/netAna/{5V\_SENSE — $\div$2 del 5\,V veh.\ · \textbf{B4}},%
|
||||||
|
11/A5/netSig/{IGN\_SENSE — \textbf{máx 3.3\,V} · \textbf{B4}},%
|
||||||
|
12/A6/netSig/{FAN\_PWM $\rightarrow$ 220 $\rightarrow$ IRLZ44N · \textbf{B5}},%
|
||||||
|
13/A7/netAna/{LM35 OUT (10\,mV/\textdegree C) · \textbf{B11}},%
|
||||||
|
14/B0/netSig/{LED de estado $\rightarrow$ 330\,$\Omega$ · \textbf{B2}},%
|
||||||
|
15/B1/netAna/{nodo del divisor NTC · \textbf{B11}},%
|
||||||
|
18/3V3/net3V3/{\textbf{salida} 3.3\,V $\rightarrow$ AHT10, pull-ups},%
|
||||||
|
19/G/netGND/{GND $\rightarrow$ riel azul},%
|
||||||
|
20/5V/net5V/{\textbf{entrada} 5\,V $\leftarrow$ riel MAIN5V}}{%
|
||||||
|
\node[padu] at (0.42,{10.45-\i*0.52}) {};
|
||||||
|
\node[silk,anchor=west] at (0.62,{10.45-\i*0.52}) {\nm};
|
||||||
|
\node[destino,anchor=east] at (-0.25,{10.45-\i*0.52}) {\sw{\cl}\;\txt};}
|
||||||
|
% ---- RIGHT used pins ----
|
||||||
|
\foreach \i/\nm/\cl/\txt in {%
|
||||||
|
1/B12/netSig/{gauge LED 1 $\rightarrow$ 330\,$\Omega$ · \textbf{B7}},%
|
||||||
|
2/B13/netSig/{gauge LED 2 $\rightarrow$ 330\,$\Omega$ · \textbf{B7}},%
|
||||||
|
3/B14/netSig/{gauge LED 3 $\rightarrow$ 330\,$\Omega$ · \textbf{B7}},%
|
||||||
|
4/B15/netSig/{gauge LED 4 $\rightarrow$ 330\,$\Omega$ · \textbf{B7}},%
|
||||||
|
5/A8/netSig/{CHRG\_RUN $\rightarrow$ 1\,k $\rightarrow$ 2N3904 · \textbf{B10}},%
|
||||||
|
6/A9/netSig/{$\rightarrow$ 4G \texttt{DIN} (\$PHLG) · \textbf{B9}},%
|
||||||
|
7/A10/netSig/{$\leftarrow$ F9P \texttt{TX2} · 22\,k a 3V3 · \textbf{B9}},%
|
||||||
|
14/B6/netSig/{\texttt{SCL} $\rightarrow$ AHT10 · \textbf{B6}},%
|
||||||
|
15/B7/netSig/{\texttt{SDA} $\rightarrow$ AHT10 · \textbf{B6}},%
|
||||||
|
18/5V/net5V/{mismo riel 5\,V que el otro pin \texttt{5V}},%
|
||||||
|
19/G/netGND/{GND $\rightarrow$ riel azul},%
|
||||||
|
20/3V3/net3V3/{misma salida 3.3\,V}}{%
|
||||||
|
\node[padu] at (3.88,{10.45-\i*0.52}) {};
|
||||||
|
\node[silk,anchor=east] at (3.68,{10.45-\i*0.52}) {\nm};
|
||||||
|
\node[destino,anchor=west] at (4.55,{10.45-\i*0.52}) {\sw{\cl}\;\txt};}
|
||||||
|
% unused-but-noteworthy notes
|
||||||
|
\node[destinog,anchor=west] at (4.55,{10.45-8*0.52}) {A11/A12 $=$ USB — \textbf{no conectar}};
|
||||||
|
\node[destinog,anchor=west] at (4.55,{10.45-17*0.52}) {B10 $=$ tach (sin usar, vent.\ 2 hilos)};
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{adjustbox}\\
|
||||||
|
{\small\itshape Blackpill STM32F411 (WeAct), vista superior, USB arriba. Cian $=$ pin usado;
|
||||||
|
la nota dice a dónde va y en qué bloque («\textbf{B4}» $=$ Bloque~4). \textbf{Los dos pines
|
||||||
|
\texttt{5V} son el mismo riel} (igual los dos \texttt{G} y los dos \texttt{3V3}): usa el que
|
||||||
|
te quede más cerca.}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
% =====================================================================
|
||||||
|
\subsection{Módulos con circuito integrado (vista superior)}
|
||||||
|
\label{sec:modulos}
|
||||||
|
|
||||||
|
Todos van montados en la protoboard o al lado de ella, con pines soldados (tira de pines
|
||||||
|
macho 2.54\,mm) o cables Dupont macho-hembra. \textbf{Antes de usar cualquier fuente
|
||||||
|
ajustable: conéctala sola, mide su salida y ajústala} (tornillito azul del potenciómetro).
|
||||||
|
|
||||||
|
% ---------- LM2596 ----------
|
||||||
|
\subsubsection*{LM2596 — reductor (buck) ajustable}
|
||||||
|
\label{sec:lm2596}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\begin{adjustbox}{max width=0.95\textwidth}
|
||||||
|
\begin{tikzpicture}[x=1cm,y=1cm]
|
||||||
|
\draw[modbody] (0,0) rectangle (6.4,3.4);
|
||||||
|
% pads
|
||||||
|
\node[padu] (inp) at (0.45,2.9){}; \node[silk,anchor=west] at (0.62,2.9){IN$+$};
|
||||||
|
\node[padu] (inm) at (0.45,0.5){}; \node[silk,anchor=west] at (0.62,0.5){IN$-$};
|
||||||
|
\node[padu] (outp) at (5.95,2.9){}; \node[silk,anchor=east] at (5.78,2.9){OUT$+$};
|
||||||
|
\node[padu] (outm) at (5.95,0.5){}; \node[silk,anchor=east] at (5.78,0.5){OUT$-$};
|
||||||
|
% parts on board
|
||||||
|
\draw[chip] (1.6,1.1) rectangle (3.1,2.3); \node[chiptxt,align=center] at (2.35,1.7){LM2596S\\(el IC grande)};
|
||||||
|
\draw[draw=black!55,fill=black!20] (3.7,1.0) circle (0.62); \node[font=\tiny,align=center] at (3.7,1.0){bobina\\(dona)};
|
||||||
|
\draw[draw=black!55,fill=black!12] (1.0,2.35) circle (0.42); \draw[draw=black!55,fill=black!12] (5.15,2.5) circle (0.42);
|
||||||
|
\node[font=\tiny,text=black!55] at (1.0,2.35){cap}; \node[font=\tiny,text=black!55] at (5.15,2.5){cap};
|
||||||
|
% trimpot
|
||||||
|
\draw[draw=HelgenIndigo,fill=blue!25] (4.35,1.65) rectangle (5.55,2.15);
|
||||||
|
\fill[white] (4.65,1.9) circle (0.14); \draw[black!70] (4.55,1.8)--(4.75,2.0);
|
||||||
|
\node[font=\scriptsize\bfseries,text=HelgenIndigo,anchor=north] at (4.95,1.6){potenciómetro};
|
||||||
|
\node[font=\tiny,anchor=north,align=center] at (4.95,1.28){gira el tornillo\\para ajustar V\textsubscript{OUT}};
|
||||||
|
% external arrows
|
||||||
|
\draw[cablef,net5V] (-1.7,2.9) -- (inp); \node[destino,anchor=south,text width=2.5cm] at (-1.4,3.0){\textbf{24\,V} del gabinete/banco};
|
||||||
|
\draw[cablef,netGND] (-1.7,0.5) -- (inm); \node[destino,anchor=north] at (-1.35,0.4){GND};
|
||||||
|
\draw[cablef,net5V] (outp) -- (7.7,2.9); \node[destino,anchor=south,text width=3.1cm] at (8.0,3.0){salida ajustada $\rightarrow$ su riel};
|
||||||
|
\draw[cablef,netGND] (outm) -- (7.7,0.5); \node[destino,anchor=north] at (7.9,0.4){GND};
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{adjustbox}\\
|
||||||
|
{\small\itshape LM2596: entra voltaje alto por IN$\pm$, sale voltaje ajustado por OUT$\pm$.
|
||||||
|
Ambos GND (IN$-$ y OUT$-$) van al GND común del sistema.}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item \textbf{En esta guía se usan hasta dos unidades:} una a \textbf{5.0\,V} para el
|
||||||
|
ventilador (Bloque~5) y —solo si armas el Modo~B— otra a \textbf{3.3\,V} para el
|
||||||
|
módem 4G (Bloque~9). Márcalas con masking tape: «FAN 5.0\,V» y «MODEM 3.3\,V».
|
||||||
|
\item Ajuste: conecta \textbf{solo} IN$\pm$, pon el multímetro en OUT$\pm$ y gira el
|
||||||
|
potenciómetro hasta leer el voltaje objetivo. Vienen de fábrica en un voltaje
|
||||||
|
aleatorio (a veces $>$20\,V): \textbf{nunca} conectes la salida sin medirla antes.
|
||||||
|
\item El MP1584 (módulo más chico) es equivalente: mismos 4 rótulos IN$\pm$/OUT$\pm$,
|
||||||
|
mismo procedimiento.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
% ---------- MT3608 ----------
|
||||||
|
\subsubsection*{MT3608 — elevador (boost) ajustable}
|
||||||
|
\label{sec:mt3608}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\begin{adjustbox}{max width=0.9\textwidth}
|
||||||
|
\begin{tikzpicture}[x=1cm,y=1cm]
|
||||||
|
\draw[modbody] (0,0) rectangle (4.6,2.5);
|
||||||
|
\node[padu] (vinp) at (0.4,2.05){}; \node[silk,anchor=west] at (0.57,2.05){VIN$+$};
|
||||||
|
\node[padu] (vinm) at (0.4,0.45){}; \node[silk,anchor=west] at (0.57,0.45){VIN$-$};
|
||||||
|
\node[padu] (voutp) at (4.2,2.05){}; \node[silk,anchor=east] at (4.03,2.05){OUT$+$};
|
||||||
|
\node[padu] (voutm) at (4.2,0.45){}; \node[silk,anchor=east] at (4.03,0.45){OUT$-$};
|
||||||
|
\draw[chip] (1.7,0.5) rectangle (2.6,1.1); \node[chiptxt] at (2.15,0.8){MT3608};
|
||||||
|
\draw[draw=black!55,fill=black!20] (2.15,1.75) circle (0.45); \node[font=\tiny,align=center] at (2.15,1.75){bobina};
|
||||||
|
\draw[draw=HelgenIndigo,fill=blue!25] (3.0,1.35) rectangle (3.95,1.8);
|
||||||
|
\fill[white] (3.25,1.575) circle (0.12);
|
||||||
|
\node[font=\tiny,anchor=north,align=center] at (3.5,1.3){potenciómetro};
|
||||||
|
\draw[cablef,netAna] (-1.3,2.05) -- (vinp); \node[destino,anchor=south,text width=2.4cm] at (-1.05,2.15){\textbf{18650$+$} (nodo con TP4056 B+)};
|
||||||
|
\draw[cablef,netGND] (-1.3,0.45) -- (vinm); \node[destino,anchor=north] at (-1.0,0.35){GND};
|
||||||
|
\draw[cablef,net5V] (voutp) -- (5.9,2.05); \node[destino,anchor=south,text width=3.2cm] at (6.3,2.15){$\rightarrow$ 1N5819 $\rightarrow$ nodo SYS};
|
||||||
|
\draw[cablef,netGND] (voutm) -- (5.9,0.45); \node[destino,anchor=north] at (6.1,0.35){GND};
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{adjustbox}\\
|
||||||
|
{\small\itshape MT3608: \textbf{sube} el voltaje (pila 3.6\,V $\rightarrow$ $\approx$5\,V). La entrada
|
||||||
|
es la pila; la salida va al diodo de respaldo del Bloque~10.}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item Ajústalo \textbf{apenas por debajo} del 5\,V del vehículo (p.\,ej.\ 4.8--4.9\,V), para
|
||||||
|
que el vehículo tenga prioridad y la pila solo entre cuando el vehículo se va.
|
||||||
|
\item Truco del potenciómetro: si al girar no cambia nada, dale \textbf{muchas vueltas} en
|
||||||
|
sentido antihorario (hasta $\sim$20) mientras mides — así son estos trimmers multivuelta.
|
||||||
|
\item Nunca lo alimentes al revés (VIN$\pm$ invertido lo quema al instante).
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
% ---------- TP4056 ----------
|
||||||
|
\subsubsection*{TP4056 — cargador de la pila 18650 (módulo con protección)}
|
||||||
|
\label{sec:tp4056}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\begin{adjustbox}{max width=0.95\textwidth}
|
||||||
|
\begin{tikzpicture}[x=1cm,y=1cm]
|
||||||
|
\draw[modbody] (0,0) rectangle (5.2,2.8);
|
||||||
|
% usb connector left
|
||||||
|
\draw[draw=black!60,fill=black!25,rounded corners=1.5pt] (-0.25,0.95) rectangle (0.55,1.85);
|
||||||
|
\node[font=\tiny\bfseries,text=black!60,rotate=90] at (0.15,1.4){USB};
|
||||||
|
\node[font=\tiny,text=black!45,align=center,anchor=north,text width=2.2cm] at (0.7,-0.12){USB: NO se usa aquí (entramos por IN+)};
|
||||||
|
% pads
|
||||||
|
\node[padu] (INp) at (1.15,2.45){}; \node[silk,anchor=west] at (1.32,2.45){IN$+$};
|
||||||
|
\node[padu] (INm) at (1.15,0.35){}; \node[silk,anchor=west] at (1.32,0.35){IN$-$};
|
||||||
|
\node[padu] (Bp) at (4.85,2.45){}; \node[silk,anchor=east] at (4.68,2.45){B$+$};
|
||||||
|
\node[padu] (Bm) at (4.85,0.35){}; \node[silk,anchor=east] at (4.68,0.35){B$-$};
|
||||||
|
\node[pad] (Op) at (4.85,1.75){}; \node[silkg,anchor=east] at (4.68,1.75){OUT$+$};
|
||||||
|
\node[pad] (Om) at (4.85,1.05){}; \node[silkg,anchor=east] at (4.68,1.05){OUT$-$};
|
||||||
|
\node[destinog,anchor=west,text width=2.1cm] at (5.5,1.4){OUT$\pm$: sin usar en el proto};
|
||||||
|
% chips + leds
|
||||||
|
\draw[chip] (2.2,1.3) rectangle (3.3,2.2); \node[chiptxt] at (2.75,1.75){TP4056};
|
||||||
|
\draw[chip] (2.3,0.45) rectangle (3.2,0.95); \node[chiptxt,font=\tiny] at (2.75,0.7){protección};
|
||||||
|
\fill[red!75] (3.75,2.05) circle (0.11); \fill[blue!65] (3.75,1.65) circle (0.11);
|
||||||
|
\node[font=\tiny,anchor=north,align=center] at (3.8,1.4){LEDs de\\estado};
|
||||||
|
% external arrows
|
||||||
|
\draw[cablef,net5V] (-1.6,2.45) -- (INp);
|
||||||
|
\node[destino,anchor=south,text width=3.2cm] at (-1.2,2.55){5\,V vehículo \textbf{vía IRF9540} (corte PA8) — \textbf{no} directo};
|
||||||
|
\draw[cablef,netGND] (-1.6,0.35) -- (INm); \node[destino,anchor=north] at (-1.3,0.25){GND};
|
||||||
|
\draw[cablef,netAna] (Bp) -- (6.6,2.45); \node[destino,anchor=south,text width=2.9cm] at (6.9,2.55){$\rightarrow$ 18650$+$ (nodo con MT3608 VIN+)};
|
||||||
|
\draw[cablef,netGND] (Bm) -- (6.6,0.35); \node[destino,anchor=north,text width=2.4cm] at (6.9,0.25){$\rightarrow$ 18650$-$ $\rightarrow$ GND};
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{adjustbox}\\
|
||||||
|
{\small\itshape TP4056: el 5\,V de carga entra por \textbf{IN$\pm$} (nunca por el USB en este
|
||||||
|
proyecto) y la pila se conecta en \textbf{B$\pm$}. LED \textbf{rojo} $=$ cargando; \textbf{azul/verde}
|
||||||
|
$=$ carga completa. Este módulo \textbf{no tiene pin TEMP}: el corte de carga por temperatura
|
||||||
|
lo hace el Blackpill (PA8) cortando IN$+$ — Bloque~10.}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
% ---------- AHT10 ----------
|
||||||
|
\subsubsection*{AHT10 — sensor de temperatura y humedad (I\textsuperscript{2}C)}
|
||||||
|
\label{sec:aht10}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\begin{adjustbox}{max width=0.85\textwidth}
|
||||||
|
\begin{tikzpicture}[x=1cm,y=1cm]
|
||||||
|
\draw[modbody] (0,0) rectangle (4.4,2.6);
|
||||||
|
\draw[chip] (1.6,1.35) rectangle (2.8,2.15); \node[chiptxt] at (2.2,1.75){AHT10};
|
||||||
|
\draw[draw=black!55] (1.95,1.6) rectangle (2.45,1.95);
|
||||||
|
\node[font=\tiny,text=black!45,anchor=south] at (2.2,2.2){ventanita del sensor};
|
||||||
|
% 4 pins bottom
|
||||||
|
\foreach \x/\nm in {0.7/VIN,1.7/GND,2.7/SCL,3.7/SDA}{\node[padu] (p\nm) at (\x,0.3){}; \node[silk,anchor=south] at (\x,0.48){\nm};}
|
||||||
|
\draw[cablef,net3V3] (pVIN) -- (0.7,-1.55); \node[destino,anchor=north,align=center] at (0.7,-1.65){\textbf{3V3}\\¡NUNCA 5\,V!};
|
||||||
|
\draw[cablef,netGND] (pGND) -- (1.7,-0.85); \node[destino,anchor=north] at (1.7,-0.95){GND};
|
||||||
|
\draw[cablef,netSig] (pSCL) -- (2.7,-1.55); \node[destino,anchor=north,align=center] at (2.7,-1.65){pin \textbf{B6}\\del Blackpill};
|
||||||
|
\draw[cablef,netSig] (pSDA) -- (3.7,-0.85); \node[destino,anchor=north] at (3.7,-0.95){pin \textbf{B7}};
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{adjustbox}\\
|
||||||
|
{\small\itshape AHT10 (breakout GY-AHT10). \textbf{El orden de los 4 pines cambia según el
|
||||||
|
fabricante}: guíate por los nombres impresos, no por la posición del dibujo.}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item \textbf{Solo 3.3\,V} (el chip es de 1.8--3.6\,V y el breakout no trae regulador): a 5\,V se quema.
|
||||||
|
\item \textbf{Solo él en el bus I\textsuperscript{2}C} (restricción del fabricante Aosong).
|
||||||
|
No agregues otro sensor a B6/B7.
|
||||||
|
\item Dirección fija \texttt{0x38}. Pull-ups de 4.7\,k a 3V3 (muchos breakouts ya los traen
|
||||||
|
soldados; ponerlos de todos modos no estorba).
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
% ---------- DFR1015 ----------
|
||||||
|
\subsubsection*{DFR1015 — acondicionador de la señal de ignición}
|
||||||
|
\label{sec:dfr1015}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\begin{adjustbox}{max width=0.9\textwidth}
|
||||||
|
\begin{tikzpicture}[x=1cm,y=1cm]
|
||||||
|
\draw[modbody] (0,0) rectangle (4.4,2.3);
|
||||||
|
\draw[chip] (1.7,0.9) rectangle (2.8,1.6); \node[chiptxt,align=center] at (2.25,1.25){buck\\12--24$\rightarrow$5\,V};
|
||||||
|
\node[padu] (dinp) at (0.4,1.85){}; \node[silk,anchor=west] at (0.57,1.85){IN$+$};
|
||||||
|
\node[padu] (dinm) at (0.4,0.45){}; \node[silk,anchor=west] at (0.57,0.45){IN$-$};
|
||||||
|
\node[padu] (doutp) at (4.0,1.85){}; \node[silk,anchor=east] at (3.83,1.85){OUT$+$};
|
||||||
|
\node[padu] (doutm) at (4.0,0.45){}; \node[silk,anchor=east] at (3.83,0.45){OUT$-$};
|
||||||
|
\draw[cablef,netIgn] (-1.6,1.85) -- (dinp); \node[destino,anchor=south,text width=3.0cm] at (-1.2,1.95){ignición \textbf{cruda} 12--24\,V (GX16 pin 3)};
|
||||||
|
\draw[cablef,netGND] (-1.6,0.45) -- (dinm); \node[destino,anchor=north] at (-1.3,0.35){GND};
|
||||||
|
\draw[cablef,netSig] (doutp) -- (5.6,1.85); \node[destino,anchor=south,text width=3.0cm] at (5.9,1.95){$\rightarrow$ 100\,$\Omega$ $\rightarrow$ pin \textbf{A5}};
|
||||||
|
\draw[cablef,netGND] (doutm) -- (5.6,0.45); \node[destino,anchor=north] at (5.8,0.35){GND};
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{adjustbox}\\
|
||||||
|
{\small\itshape DFR1015 (DFRobot): convierte la ignición de la máquina (12 o 24\,V) en 5\,V
|
||||||
|
limpios. \textbf{Sus dos negativos (IN$-$ y OUT$-$) van al GND común.} En banco puedes
|
||||||
|
sustituirlo por un apagador de 3V3 $\rightarrow$ A5 (Bloque~4).}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
% =====================================================================
|
||||||
|
\subsection{El stack RTK: simpleRTK2B Pro y 4G NTRIP Master}
|
||||||
|
\label{sec:stackfisico}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\begin{adjustbox}{max width=\textwidth}
|
||||||
|
\begin{tikzpicture}[x=1cm,y=1cm]
|
||||||
|
% ---- Pro board ----
|
||||||
|
\draw[modbody] (0,0) rectangle (9.6,6.2);
|
||||||
|
\node[font=\small\bfseries,text=HelgenIndigo,anchor=west] at (0.7,0.85){simpleRTK2B Pro};
|
||||||
|
% XBee socket
|
||||||
|
\draw[draw=HelgenIndigo,fill=white,rounded corners=2pt] (0.7,1.6) rectangle (4.1,4.9);
|
||||||
|
\foreach \y in {1.95,2.25,...,4.65}{\fill[black!50] (1.0,\y) circle (0.06); \fill[black!50] (3.8,\y) circle (0.06);}
|
||||||
|
\node[font=\scriptsize\bfseries,text=HelgenIndigo,align=center] at (2.4,3.5){socket XBee\\{\normalfont\tiny (paso 2.0\,mm)}};
|
||||||
|
\node[font=\tiny,align=center,text=black!55] at (2.4,2.6){aquí vive el 4G\\en el modo normal\\(Bloque 8)};
|
||||||
|
% switch
|
||||||
|
\draw[draw=HelgenIndigo,fill=black!15] (4.5,2.45) rectangle (5.6,3.1);
|
||||||
|
\draw[fill=HelgenCyan] (4.6,2.55) rectangle (5.0,3.0);
|
||||||
|
\node[font=\scriptsize\bfseries,text=HelgenIndigo,anchor=north,align=center] at (5.05,2.3){switch XBee:\\UART1 $\leftrightarrow$ UART2};
|
||||||
|
% F9P chip
|
||||||
|
\draw[chip] (6.3,2.6) rectangle (8.3,4.4); \node[chiptxt,align=center] at (7.3,3.5){u-blox\\ZED-F9P};
|
||||||
|
% SMA
|
||||||
|
\draw[draw=black!60,fill=black!30] (9.6,3.2) rectangle (10.3,3.9); \node[font=\scriptsize,anchor=west] at (10.4,3.55){SMA $\rightarrow$ antena GNSS};
|
||||||
|
% USBs left
|
||||||
|
\draw[draw=black!60,fill=black!25] (-0.35,4.4) rectangle (0.35,5.2); \node[font=\tiny,anchor=east,align=right] at (-0.45,4.8){USB «POWER+GPS»\\(config con u-center)};
|
||||||
|
\draw[draw=black!60,fill=black!25] (-0.35,0.9) rectangle (0.35,1.7); \node[font=\tiny,anchor=east,align=right] at (-0.45,1.3){USB «POWER+XBEE»\\(no se usa en servicio)};
|
||||||
|
% top header pins (digital): only the ones we use — arrows staggered in height
|
||||||
|
\foreach \x/\nm in {1.2/{RX1},2.4/{TX1},3.6/{RX2},7.0/{TX2},8.4/{IOREF}}{
|
||||||
|
\node[padu] (T\nm) at (\x,5.75){}; \node[silk,anchor=north] at (\x,5.55){\nm};}
|
||||||
|
\foreach \x in {4.6,5.4,6.2}{\node[pad] at (\x,5.75){};}
|
||||||
|
\draw[cablef,netSig] (TRX1) -- ++(0,0.75) node[destino,anchor=south,align=center]{$\leftarrow$ pin \textbf{A2}\\(NMEA)};
|
||||||
|
\draw[cablef,netSig] (TTX1) -- ++(0,1.65) node[destino,anchor=south,align=center]{$\rightarrow$ pin \textbf{A3}\\(NMEA)};
|
||||||
|
\draw[cablef,netSig] (TRX2) -- ++(0,0.75) node[destino,anchor=south,align=center]{$\leftarrow$ 4G \texttt{DOUT}\\(RTCM3, Modo B)};
|
||||||
|
\draw[cablef,netSig] (TTX2) -- ++(0,1.65) node[destino,anchor=south,align=center]{$\rightarrow$ pin \textbf{A10}\\(Modo B)};
|
||||||
|
\draw[cablef,net3V3] (TIOREF) -- ++(0,0.75) node[destino,anchor=south,align=center]{$\leftarrow$ \textbf{3V3} del Blackpill\\(nivel de los UART)};
|
||||||
|
% bottom header (power) — arrows staggered
|
||||||
|
\foreach \x/\nm in {5.4/{5V},6.6/{GND}}{\node[padu] (B\nm) at (\x,0.45){}; \node[silk,anchor=south] at (\x,0.66){\nm};}
|
||||||
|
\foreach \x in {7.6,8.4}{\node[pad] at (\x,0.45){};}
|
||||||
|
\draw[cablef,net5V] (B5V) -- ++(0,-1.5) node[destino,anchor=north,align=center]{$\leftarrow$ \textbf{SAL}\\(5\,V conmutado, Bloq.~3)};
|
||||||
|
\draw[cablef,netGND] (BGND) -- ++(0,-0.65) node[destino,anchor=north]{GND común};
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{adjustbox}\\
|
||||||
|
{\small\itshape simpleRTK2B Pro, vista superior. Los nombres \texttt{RX1/TX1/RX2/TX2/IOREF}
|
||||||
|
están serigrafiados junto a los pines de los headers tipo Arduino — búscalos en tu tarjeta
|
||||||
|
(la posición exacta puede variar; el nombre no). El \textbf{switch} junto al socket elige a
|
||||||
|
quién conecta el XBee: modo normal $=$ \texttt{UART2}; Modo~B $=$ \texttt{UART1} (libera
|
||||||
|
UART2 para el relevo del MCU).}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\begin{adjustbox}{max width=\textwidth}
|
||||||
|
\begin{tikzpicture}[x=1cm,y=1cm]
|
||||||
|
% ---- XBee 4G module ----
|
||||||
|
\draw[modbody] (0,0) -- (3.4,0) -- (3.4,3.6) -- (2.55,4.35) -- (0.85,4.35) -- (0,3.6) -- cycle;
|
||||||
|
\node[font=\small\bfseries,text=HelgenIndigo,align=center] at (1.7,3.0){4G NTRIP\\Master};
|
||||||
|
\node[font=\tiny,text=black!55,align=center] at (1.7,2.25){(formato XBee)};
|
||||||
|
\draw[draw=black!55,fill=black!12] (0.55,0.35) rectangle (2.85,1.1); \node[font=\tiny] at (1.7,0.72){porta-SIM (Telcel)};
|
||||||
|
\fill[black!45] (0.75,4.0) circle (0.09); \node[font=\tiny,anchor=west] at (0.9,4.05){u.FL $\times$2 $\rightarrow$ antenas LTE};
|
||||||
|
\fill[black!45] (0.75,3.6) circle (0.09);
|
||||||
|
% pins: left column 1-10 top->bottom, right column 11-20 bottom->top
|
||||||
|
\foreach [count=\i] \y in {3.42,3.11,2.80,2.49,2.18,1.87,1.56,1.25,0.94,0.63}{
|
||||||
|
\node[patanum,anchor=east] at (-0.5,\y){\i};
|
||||||
|
\ifnum\i=1 \node[padu] (X\i) at (-0.22,\y){}; \else\ifnum\i=2 \node[padu] (X\i) at (-0.22,\y){}; \else\ifnum\i=3 \node[padu] (X\i) at (-0.22,\y){}; \else\ifnum\i=10 \node[padu] (X\i) at (-0.22,\y){}; \else \node[pad] (X\i) at (-0.22,\y){}; \fi\fi\fi\fi}
|
||||||
|
\foreach [count=\j] \y in {0.63,0.94,1.25,1.56,1.87,2.18,2.49,2.80,3.11,3.42}{
|
||||||
|
\pgfmathtruncatemacro{\pn}{10+\j}
|
||||||
|
\node[pad] at (3.62,\y){}; \node[patanum,anchor=west] at (3.9,\y){\pn};}
|
||||||
|
% annotations for used pins (single line, no wrap)
|
||||||
|
\node[destino,anchor=east] at (-1.0,3.42){\sw{net3V3}\;\textbf{1 VCC $\leftarrow$ 3.3\,V} (¡nunca 5\,V!)};
|
||||||
|
\node[destino,anchor=east] at (-1.0,3.11){\sw{netSig}\;\textbf{2 DOUT} $\rightarrow$ \texttt{RX2} del Pro};
|
||||||
|
\node[destino,anchor=east] at (-1.0,2.80){\sw{netSig}\;\textbf{3 DIN} $\leftarrow$ pin A9};
|
||||||
|
\node[destino,anchor=east] at (-1.0,0.63){\sw{netGND}\;\textbf{10 GND}};
|
||||||
|
% ---- BOB-08276 breakout ----
|
||||||
|
\draw[modbody] (7.2,-0.1) rectangle (11.4,4.5);
|
||||||
|
\node[font=\small\bfseries,text=HelgenIndigo,align=center,anchor=north] at (9.3,4.35){breakout XBee\\{\normalfont\scriptsize (SparkFun BOB-08276 o similar)}};
|
||||||
|
% 2mm sockets (inner)
|
||||||
|
\foreach \y in {0.5,0.81,...,3.3}{\fill[black!60] (8.35,\y) circle (0.07); \fill[black!60] (10.25,\y) circle (0.07);}
|
||||||
|
\node[font=\tiny,align=center,text=black!55,rotate=90] at (8.05,1.9){header hembra 2.0\,mm};
|
||||||
|
% 2.54 rows (outer)
|
||||||
|
\foreach \y in {0.45,0.765,...,3.3}{\node[pad,inner sep=1.6pt] at (7.55,\y){}; \node[pad,inner sep=1.6pt] at (11.05,\y){};}
|
||||||
|
\node[font=\tiny,align=center,text=black!55,rotate=90] at (11.3,1.9){pines macho 2.54\,mm $\rightarrow$ protoboard};
|
||||||
|
\node[font=\scriptsize\bfseries,text=HelgenTeal,anchor=east] at (7.1,3.3){pin 1 $\star$};
|
||||||
|
\draw[HelgenTeal,line width=0.8pt,-{Stealth[length=1.6mm]}] (7.12,3.3) -- (8.2,3.3);
|
||||||
|
% arrow module -> breakout
|
||||||
|
\draw[-{Stealth[length=3mm]},HelgenTeal,line width=1.6pt] (4.6,2.0) -- (6.6,2.0);
|
||||||
|
\node[font=\scriptsize,align=center,text=HelgenTeal,anchor=south] at (5.6,2.1){se enchufa\\aquí};
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{adjustbox}\\
|
||||||
|
{\small\itshape El 4G NTRIP Master y el breakout que lo adapta a la protoboard. Solo se usan
|
||||||
|
\textbf{4 patitas}: 1 (VCC a 3.3\,V), 2 (DOUT), 3 (DIN) y 10 (GND). El pin~1 queda en la
|
||||||
|
esquina marcada en la serigrafía del breakout — el módulo solo entra en una orientación si
|
||||||
|
respetas esa marca. Cómo armar el puente 2.0\,mm $\rightarrow$ 2.54\,mm: Bloque~9.}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
% =====================================================================
|
||||||
|
\subsection{Transistores y MOSFETs}
|
||||||
|
\label{sec:transistores}
|
||||||
|
|
||||||
|
Los cuatro «bichos de tres patas» del kit. \textbf{Regla:} cuerpo de plástico chico
|
||||||
|
redondeado $=$ TO-92 (se mira con la \emph{cara plana} hacia ti); cuerpo grande con placa
|
||||||
|
metálica y orificio $=$ TO-220 (se mira \emph{de frente}, con las letras hacia ti y la placa
|
||||||
|
metálica atrás). Patitas siempre hacia abajo.
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\begin{adjustbox}{max width=\textwidth}
|
||||||
|
\begin{tikzpicture}[x=1cm,y=1cm]
|
||||||
|
% ---------- TO-92 generic macro drawn twice ----------
|
||||||
|
% 2N3904
|
||||||
|
\begin{scope}[shift={(0,0)}]
|
||||||
|
\draw[draw=HelgenIndigo,fill=black!22,line width=1.1pt] (-1.05,0) -- (1.05,0) arc[start angle=0,end angle=180,radius=1.05] -- cycle;
|
||||||
|
\node[font=\small\bfseries] at (0,0.52){2N3904};
|
||||||
|
\node[font=\tiny,text=black!55] at (0,0.16){cara plana hacia ti};
|
||||||
|
\foreach \x/\nm in {-0.7/E,0/B,0.7/C}{
|
||||||
|
\draw[line width=1.6pt,black!65] (\x,0) -- (\x,-0.85);
|
||||||
|
\node[font=\footnotesize\bfseries,text=HelgenIndigo,anchor=north] at (\x,-0.95){\nm};}
|
||||||
|
\node[destino,anchor=north,align=center,text width=3.4cm] at (0,-1.55){E $\rightarrow$ GND\\B $\leftarrow$ 1\,k (A1 o A8)\\C $\rightarrow$ compuerta del IRF9540};
|
||||||
|
\end{scope}
|
||||||
|
% LM35
|
||||||
|
\begin{scope}[shift={(4.6,0)}]
|
||||||
|
\draw[draw=HelgenIndigo,fill=black!22,line width=1.1pt] (-1.05,0) -- (1.05,0) arc[start angle=0,end angle=180,radius=1.05] -- cycle;
|
||||||
|
\node[font=\small\bfseries] at (0,0.52){LM35};
|
||||||
|
\node[font=\tiny,text=black!55] at (0,0.16){cara plana hacia ti};
|
||||||
|
\foreach \x/\nm in {-0.78/{$+$V\textsubscript{S}},0/OUT,0.78/GND}{
|
||||||
|
\draw[line width=1.6pt,black!65] (\x,0) -- (\x,-0.85);
|
||||||
|
\node[font=\scriptsize\bfseries,text=HelgenIndigo,anchor=north] at (\x,-0.95){\nm};}
|
||||||
|
\node[destino,anchor=north,align=center,text width=3.6cm] at (0,-1.55){$+$V\textsubscript{S} $\rightarrow$ \textbf{5\,V} (nunca 3V3)\\OUT $\rightarrow$ pin A7\\GND $\rightarrow$ GND};
|
||||||
|
\node[font=\scriptsize\bfseries,text=red!70!black,align=center,anchor=north] at (0,-2.9){¡Al revés se quema\\y quema el dedo!};
|
||||||
|
\end{scope}
|
||||||
|
% ---------- TO-220: IRF9540N ----------
|
||||||
|
\begin{scope}[shift={(9.4,-0.6)}]
|
||||||
|
\draw[draw=black!60,fill=black!30] (-0.95,1.55) rectangle (0.95,2.45); % tab
|
||||||
|
\draw[fill=white] (0,2.1) circle (0.16);
|
||||||
|
\draw[draw=HelgenIndigo,fill=black!18,line width=1.1pt] (-0.95,0) rectangle (0.95,1.55);
|
||||||
|
\node[font=\small\bfseries] at (0,1.05){IRF9540N};
|
||||||
|
\node[font=\tiny,text=black!55] at (0,0.62){letras hacia ti};
|
||||||
|
\foreach \x/\nm in {-0.62/G,0/D,0.62/S}{
|
||||||
|
\draw[line width=1.6pt,black!65] (\x,0) -- (\x,-0.85);
|
||||||
|
\node[font=\footnotesize\bfseries,text=HelgenIndigo,anchor=north] at (\x,-0.95){\nm};}
|
||||||
|
\node[font=\tiny,text=black!55,anchor=south] at (0,2.5){placa metálica $=$ D (¡no la aterrices!)};
|
||||||
|
\node[destino,anchor=north,align=center,text width=4.0cm] at (0,-1.55){canal \textbf{P} (corta el lado de 5\,V)\\G $\leftarrow$ C del 2N3904 $+$ 10\,k a 5\,V\\S $\rightarrow$ 5\,V \quad D $\rightarrow$ carga};
|
||||||
|
\end{scope}
|
||||||
|
% ---------- TO-220: IRLZ44N ----------
|
||||||
|
\begin{scope}[shift={(14.2,-0.6)}]
|
||||||
|
\draw[draw=black!60,fill=black!30] (-0.95,1.55) rectangle (0.95,2.45);
|
||||||
|
\draw[fill=white] (0,2.1) circle (0.16);
|
||||||
|
\draw[draw=HelgenIndigo,fill=black!18,line width=1.1pt] (-0.95,0) rectangle (0.95,1.55);
|
||||||
|
\node[font=\small\bfseries] at (0,1.05){IRLZ44N};
|
||||||
|
\node[font=\tiny,text=black!55] at (0,0.62){letras hacia ti};
|
||||||
|
\foreach \x/\nm in {-0.62/G,0/D,0.62/S}{
|
||||||
|
\draw[line width=1.6pt,black!65] (\x,0) -- (\x,-0.85);
|
||||||
|
\node[font=\footnotesize\bfseries,text=HelgenIndigo,anchor=north] at (\x,-0.95){\nm};}
|
||||||
|
\node[destino,anchor=north,align=center,text width=4.0cm] at (0,-1.55){canal \textbf{N} «lógico» (ventilador)\\G $\leftarrow$ 220\,$\Omega$ de A6 $+$ 100\,k a GND\\S $\rightarrow$ GND \quad D $\rightarrow$ vent.\ ($-$)};
|
||||||
|
\end{scope}
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{adjustbox}\\
|
||||||
|
{\small\itshape Los dos TO-92 se distinguen solo por el texto grabado en la cara plana —
|
||||||
|
léelo con buena luz. Los dos TO-220 también: \textbf{IRF9540N} (canal P, interruptores de
|
||||||
|
5\,V) e \textbf{IRLZ44N} (canal N lógico, ventilador). Si los cruzas, el bloque no enciende o
|
||||||
|
el FET se calienta: verifica el texto antes de insertar.}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
% =====================================================================
|
||||||
|
\subsection{Diodos, LEDs y capacitores}
|
||||||
|
\label{sec:diodos}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\begin{adjustbox}{max width=\textwidth}
|
||||||
|
\begin{tikzpicture}[x=1cm,y=1cm]
|
||||||
|
% diode
|
||||||
|
\begin{scope}[shift={(0,0)}]
|
||||||
|
\draw[black!65,line width=1.4pt] (-1.2,0)--(1.2,0);
|
||||||
|
\draw[draw=black!60,fill=black!35,rounded corners=1pt] (-0.62,-0.3) rectangle (0.62,0.3);
|
||||||
|
\fill[white] (0.32,-0.3) rectangle (0.5,0.3);
|
||||||
|
\node[font=\small\bfseries,anchor=south] at (0,0.42){1N5819};
|
||||||
|
\node[font=\scriptsize,anchor=north east,align=right] at (-0.75,-0.42){ánodo (A)\\«entra»};
|
||||||
|
\node[font=\scriptsize\bfseries,anchor=north west,align=left,text=HelgenTeal] at (0.62,-0.42){BANDA $=$\\cátodo (K)};
|
||||||
|
\node[destino,anchor=north,align=center,text width=4.6cm] at (0,-1.6){la corriente pasa de A $\rightarrow$ K;\\la tabla siempre dice hacia dónde\\apunta la banda};
|
||||||
|
\end{scope}
|
||||||
|
% LED
|
||||||
|
\begin{scope}[shift={(5.6,-0.25)}]
|
||||||
|
\draw[draw=red!60!black,fill=red!30] (-0.5,0.3) -- (0.5,0.3) arc[start angle=0,end angle=180,radius=0.5] -- cycle;
|
||||||
|
\draw[red!60!black,line width=0.9pt] (-0.5,0.3)--(0.5,0.3);
|
||||||
|
\fill[white!0] (-0.5,0.3) rectangle (0.5,0.36);
|
||||||
|
\draw[line width=1.5pt,black!65] (-0.22,0.3)--(-0.22,-1.15);
|
||||||
|
\draw[line width=1.5pt,black!65] (0.22,0.3)--(0.22,-0.75);
|
||||||
|
\node[font=\small\bfseries,anchor=south] at (0,1.0){LED};
|
||||||
|
\node[font=\scriptsize,anchor=north east,align=right] at (-0.35,-1.25){pata larga\\$=$ ánodo ($+$)};
|
||||||
|
\node[font=\scriptsize,anchor=north west,align=left] at (0.35,-0.85){corta $=$ cátodo\\$\rightarrow$ GND};
|
||||||
|
\node[destino,anchor=north,align=center,text width=4.2cm] at (0.1,-2.55){el lado plano del vasito\\también marca el cátodo};
|
||||||
|
\end{scope}
|
||||||
|
% electrolytic
|
||||||
|
\begin{scope}[shift={(11.4,-0.2)}]
|
||||||
|
\draw[draw=black!60,fill=black!25] (-0.55,0) rectangle (0.55,1.4);
|
||||||
|
\fill[black!60] (-0.55,0) rectangle (-0.25,1.4);
|
||||||
|
\node[font=\footnotesize\bfseries,text=white] at (-0.4,0.7){$-$};
|
||||||
|
\draw[line width=1.5pt,black!65] (-0.3,0)--(-0.3,-0.75);
|
||||||
|
\draw[line width=1.5pt,black!65] (0.3,0)--(0.3,-1.05);
|
||||||
|
\node[font=\small\bfseries,anchor=south] at (0,1.5){10\,$\mu$F / 100\,$\mu$F};
|
||||||
|
\node[font=\scriptsize,anchor=north east,align=right] at (-0.45,-0.85){franja $+$ pata corta\\$=$ negativo $\rightarrow$ GND};
|
||||||
|
\node[font=\scriptsize,anchor=north west] at (0.45,-1.15){pata larga $=$ $+$};
|
||||||
|
\end{scope}
|
||||||
|
% ceramic
|
||||||
|
\begin{scope}[shift={(15.6,-0.2)}]
|
||||||
|
\draw[draw=orange!70!black,fill=orange!25] (0,0.55) ellipse (0.55 and 0.5);
|
||||||
|
\node[font=\scriptsize\bfseries] at (0,0.55){104};
|
||||||
|
\draw[line width=1.4pt,black!65] (-0.25,0.12)--(-0.25,-0.75);
|
||||||
|
\draw[line width=1.4pt,black!65] (0.25,0.12)--(0.25,-0.75);
|
||||||
|
\node[font=\small\bfseries,anchor=south] at (0,1.15){100\,nF};
|
||||||
|
\node[font=\scriptsize,anchor=north,align=center] at (0,-0.85){dice «104»\\\textbf{sin} polaridad};
|
||||||
|
\end{scope}
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{adjustbox}\\
|
||||||
|
{\small\itshape Diodos del kit: \textbf{1N5819} (Schottky — OR de respaldo, flyback del
|
||||||
|
ventilador y clamp de PA5; el BAT54 del plano es SMD, en protoboard usa el 1N5819).
|
||||||
|
Electrolíticos \textbf{siempre} con la franja a GND: al revés revientan.}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
% =====================================================================
|
||||||
|
\subsection{Resistencias: código de colores}
|
||||||
|
\label{sec:resistencias}
|
||||||
|
|
||||||
|
Solo se usan \textbf{8 valores}. Antes de insertar una, confírmala aquí — y si tiene 5 bandas
|
||||||
|
o el color no se distingue, \textbf{mídela con el multímetro} (escala $\Omega$).
|
||||||
|
|
||||||
|
\hwtab{%
|
||||||
|
\begin{tabularx}{\textwidth}{@{}l c l X@{}}
|
||||||
|
\toprule
|
||||||
|
\rowcolor{HelgenIndigo}\textcolor{white}{\textbf{Valor}} & \textcolor{white}{\textbf{Bandas}} &
|
||||||
|
\textcolor{white}{\textbf{Colores}} & \textcolor{white}{\textbf{Dónde se usa}}\\
|
||||||
|
\midrule
|
||||||
|
100\,$\Omega$ & \resfour{cCafe}{cNegro}{cCafe}{cDorado} & café · negro · café & serie de la ignición al pin A5 (Bloque~4)\\
|
||||||
|
220\,$\Omega$ & \resfour{cRojo}{cRojo}{cCafe}{cDorado} & rojo · rojo · café & compuerta del IRLZ44N desde A6 (Bloque~5)\\
|
||||||
|
330\,$\Omega$ & \resfour{cNaranja}{cNaranja}{cCafe}{cDorado} & naranja · naranja · café & todos los LEDs (Bloques 2, 3 y 7)\\
|
||||||
|
1\,k$\Omega$ & \resfour{cCafe}{cNegro}{cRojo}{cDorado} & café · negro · rojo & base de los 2N3904 (Bloques 3 y 10)\\
|
||||||
|
4.7\,k$\Omega$ & \resfour{cAmarillo}{cVioleta}{cRojo}{cDorado} & amarillo · violeta · rojo & pull-ups I\textsuperscript{2}C del AHT10 (Bloque~6)\\
|
||||||
|
10\,k$\Omega$ & \resfour{cCafe}{cNegro}{cNaranja}{cDorado} & café · negro · naranja & divisores $\div$2, pull-ups de compuerta, divisor NTC (Bloques 3, 4, 10, 11)\\
|
||||||
|
22\,k$\Omega$ & \resfour{cRojo}{cRojo}{cNaranja}{cDorado} & rojo · rojo · naranja & pull-up de A10 a 3V3 (Bloque~9)\\
|
||||||
|
100\,k$\Omega$ & \resfour{cCafe}{cNegro}{cAmarillo}{cDorado} & café · negro · amarillo & compuerta del IRLZ44N a GND (Bloque~5)\\
|
||||||
|
\midrule
|
||||||
|
10\,k 1\,\% (NTC) & \resfive{cCafe}{cNegro}{cNegro}{cRojo}{cCafe} & café · negro · negro · rojo · café & pierna fija del divisor NTC (Bloque~11) — versión de 5 bandas\\
|
||||||
|
\bottomrule
|
||||||
|
\end{tabularx}}
|
||||||
|
|
||||||
|
% =====================================================================
|
||||||
|
\subsection{Botones, apagador, NTC y ventilador}
|
||||||
|
\label{sec:botones}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\begin{adjustbox}{max width=\textwidth}
|
||||||
|
\begin{tikzpicture}[x=1cm,y=1cm]
|
||||||
|
% push button
|
||||||
|
\begin{scope}[shift={(0,0)}]
|
||||||
|
\draw[modbody,fill=black!12] (-0.9,-0.9) rectangle (0.9,0.9);
|
||||||
|
\draw[draw=black!60,fill=black!30] (0,0) circle (0.45);
|
||||||
|
\foreach \x/\y/\n in {-0.72/0.72/1,0.72/0.72/2,-0.72/-0.72/3,0.72/-0.72/4}{
|
||||||
|
\draw[line width=1.4pt,black!65] (\x,\y) -- ++({\x/2.4},{\y/2.4}); \node[patanum] at ({\x*1.7},{\y*1.7}){\n};}
|
||||||
|
\draw[HelgenTeal,line width=1.2pt,densely dashed] (-1.25,1.25) -- (1.25,-1.25);
|
||||||
|
\node[font=\small\bfseries,anchor=south] at (0,1.6){botón (reset)};
|
||||||
|
\node[destino,anchor=north,align=center,text width=4.4cm] at (0,-1.7){\textbf{truco:} usa dos patas\\\textbf{en diagonal} y siempre\\queda bien, gírelo como lo gires};
|
||||||
|
\end{scope}
|
||||||
|
% SPST switch
|
||||||
|
\begin{scope}[shift={(5.6,0)}]
|
||||||
|
\draw[modbody,fill=black!12] (-1.1,-0.55) rectangle (1.1,0.55);
|
||||||
|
\draw[draw=black!60,fill=HelgenCyan] (-0.65,-0.22) rectangle (0.0,0.22);
|
||||||
|
\draw[line width=1.5pt,black!65] (-0.55,-0.55)--(-0.55,-1.2); \draw[line width=1.5pt,black!65] (0.55,-0.55)--(0.55,-1.2);
|
||||||
|
\node[font=\small\bfseries,anchor=south] at (0,0.7){apagador SPST (corte general)};
|
||||||
|
\node[destino,anchor=north,align=center,text width=4.6cm] at (0,-1.35){2 terminales, sin polaridad:\\nodo SYS $\rightarrow$ apagador $\rightarrow$ riel MAIN5V\\(Bloque 10)};
|
||||||
|
\end{scope}
|
||||||
|
% NTC
|
||||||
|
\begin{scope}[shift={(11.0,0)}]
|
||||||
|
\draw[draw=black!60,fill=black!20] (0,0.35) circle (0.42);
|
||||||
|
\node[font=\tiny] at (0,0.35){10k};
|
||||||
|
\draw[line width=1.4pt,black!65] (-0.18,-0.02)--(-0.18,-0.9); \draw[line width=1.4pt,black!65] (0.18,-0.02)--(0.18,-0.9);
|
||||||
|
\node[font=\small\bfseries,anchor=south] at (0,0.95){NTC 10\,k (B3950)};
|
||||||
|
\node[destino,anchor=north,align=center,text width=4.2cm] at (0,-1.05){lenteja negra, \textbf{sin polaridad};\\pégala con cinta al punto caliente\\(pila / módem) — Bloque 11};
|
||||||
|
\end{scope}
|
||||||
|
% fan
|
||||||
|
\begin{scope}[shift={(15.6,-0.1)}]
|
||||||
|
\draw[modbody,fill=black!10] (-1.0,-1.0) rectangle (1.0,1.0);
|
||||||
|
\draw[draw=black!55,fill=white] (0,0) circle (0.72);
|
||||||
|
\foreach \a in {0,90,180,270}{\draw[black!45,line width=1.6pt] (0,0) -- ({0.62*cos(\a+25)},{0.62*sin(\a+25)});}
|
||||||
|
\draw[cablef,net5V] (0.35,-1.0) -- (0.75,-1.75); \node[font=\scriptsize,anchor=north west,align=left] at (0.6,-1.85){rojo $+$\\$\rightarrow$ 5\,V sep.};
|
||||||
|
\draw[cablef,netGND] (-0.35,-1.0) -- (-0.75,-1.75); \node[font=\scriptsize,anchor=north east,align=right] at (-0.6,-1.85){negro $-$ $\rightarrow$ D del\\IRLZ44N (¡no a GND!)};
|
||||||
|
\node[font=\small\bfseries,anchor=south] at (0,1.15){ventilador 2 hilos};
|
||||||
|
\end{scope}
|
||||||
|
\end{tikzpicture}
|
||||||
|
\end{adjustbox}\\
|
||||||
|
{\small\itshape El cable negro del ventilador \textbf{no} va directo a GND: pasa por el
|
||||||
|
IRLZ44N (drain), que es quien lo prende y apaga (Bloque~5).}
|
||||||
|
\end{center}
|
||||||
Binary file not shown.
Binary file not shown.
0
03-Architecture-Hardware/circuitikz-wiring/tmp3.tmp
Normal file
0
03-Architecture-Hardware/circuitikz-wiring/tmp3.tmp
Normal file
0
03-Architecture-Hardware/circuitikz-wiring/tmp4.tmp
Normal file
0
03-Architecture-Hardware/circuitikz-wiring/tmp4.tmp
Normal file
@ -187,13 +187,13 @@
|
|||||||
\node[draw,fill=black!8,rounded corners,minimum width=3.0cm,minimum height=2.3cm](G4) at (9.1,0.2){};
|
\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=\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)};
|
\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)};
|
\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\\(3.3 V + datos)};
|
||||||
% LTE antennas
|
% 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};
|
\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
|
% 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)};
|
\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
|
% 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.};
|
\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 \textbf{3.3 V} y datos (el socket del Pro es de 3.3 V, no de 5 V). 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 =====
|
% ===== 10 · RESPALDO DE BATERÍA (PROTO): TP4056 + MT3608 =====
|
||||||
@ -271,7 +271,7 @@
|
|||||||
\node[font=\bfseries\scriptsize,align=center] at (10.6,0.8){4G NTRIP\\Master (XBee)};
|
\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)};
|
\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};
|
\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}{%
|
\foreach \yy/\nm/\cc in {1.0/{VCC}/net3V3,-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};}
|
\draw[\cc,line width=0.9pt] (9.25,\yy)--(8.85,\yy); \node[anchor=west,font=\tiny] at (9.3,\yy){\nm};}
|
||||||
% ---------- data connections ----------
|
% ---------- 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.6)--(4.75,0.6); % UART1 RX <- PA2
|
||||||
@ -286,5 +286,5 @@
|
|||||||
% to server
|
% 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};
|
\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
|
% 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.};
|
\node[anchor=north west,font=\scriptsize,align=left,text width=13.4cm] at (-1.4,-3.2){\textbf{!} \textbf{5 V/GND} de F9P y watchdog $=$ SAL/GND (bloque 3); \textbf{VCC del 4G $=$ 3.3 V} (buck «MODEM 3.3 V» desde SAL — nunca 5 V). \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.};
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -1 +0,0 @@
|
|||||||
{"hostname":"Leopoldos-MacBook-Pro","username":"leo"}
|
|
||||||
@ -45,8 +45,12 @@ is a dedicated power-design pass — *not fabricated blind*.
|
|||||||
B (LTC4040) + E (cutoff) + F (PA4→VEH5V) + new Block H (fail-safe UART2 bypass) being wired
|
B (LTC4040) + E (cutoff) + F (PA4→VEH5V) + new Block H (fail-safe UART2 bypass) being wired
|
||||||
on PROD; PCB layout kickoff follows.** Sized values live in the delta doc §4.
|
on PROD; PCB layout kickoff follows.** Sized values live in the delta doc §4.
|
||||||
- **Latest proto-assumptions ledger** = `Drogheda_Conexiones-por-Bloque_Proto_v1.xlsx`
|
- **Latest proto-assumptions ledger** = `Drogheda_Conexiones-por-Bloque_Proto_v1.xlsx`
|
||||||
(sheet *Estado y cambios*) + `Drogheda_Guia-Conexion-Protoboard_ES_v2.2.pdf` (source:
|
(sheet *Estado y cambios*) + `Drogheda_Guia-Conexion-Protoboard_ES_v3.0.pdf` (source:
|
||||||
`Guia-Conexion-Protoboard/`). Wiring diagrams: `circuitikz-wiring/` (sheet + Beamer, v2.1 2026-07-03).
|
`Guia-Conexion-Protoboard/`; **v3.0 2026-07-08** adds the visual parts catalog
|
||||||
|
`modulos-pinout.tex`, the Bloque 9 XBee 2.0 mm→2.54 mm bridge with modem VCC = 3.3 V from
|
||||||
|
SAL, and the missing IOREF→3V3 rows). Wiring diagrams: `circuitikz-wiring/` (sheet + Beamer,
|
||||||
|
v2.1 2026-07-03; XBee-socket label fixed 5 V→3.3 V on 2026-07-08). 4G sourcing:
|
||||||
|
`2026-07-08_Drogheda_4G-Modem-Alternatives_v1.0.md`.
|
||||||
- **New this pass:** analog **NTC→PB1** hot-spot temperature (block 11 — no SHT40 in hand for
|
- **New this pass:** analog **NTC→PB1** hot-spot temperature (block 11 — no SHT40 in hand for
|
||||||
the proto, so PB1 is the proto's temperature path); **Modo B** NTRIP diagnostic (watchdog
|
the proto, so PB1 is the proto's temperature path); **Modo B** NTRIP diagnostic (watchdog
|
||||||
in-line on the uplink, injects `$PHLG`; RTCM3 downlink stays direct); on the PCB a
|
in-line on the uplink, injects `$PHLG`; RTCM3 downlink stays direct); on the PCB a
|
||||||
@ -201,7 +205,7 @@ J1 = header P1, J2 = header P2. SWD (PA13/PA14) is **not** on the 2×20 → flas
|
|||||||
sensing, fan/temp, gauge, reset, cutoff and backup all test without them).
|
sensing, fan/temp, gauge, reset, cutoff and backup all test without them).
|
||||||
- **Proto fan rail = LM2596 module** (24→5 V, *adjust to 5.0 V with a meter*) so fan inrush never
|
- **Proto fan rail = LM2596 module** (24→5 V, *adjust to 5.0 V with a meter*) so fan inrush never
|
||||||
sags MAIN5V; the PCB uses the discrete MP1584 (U2). Fans are **2-wire** (no tach).
|
sags MAIN5V; the PCB uses the discrete MP1584 (U2). Fans are **2-wire** (no tach).
|
||||||
- **Assembly references:** `Drogheda_Guia-Conexion-Protoboard_ES_v2.2.pdf` (blocks 1–11, source in
|
- **Assembly references:** `Drogheda_Guia-Conexion-Protoboard_ES_v3.0.pdf` (blocks 1–11, source in
|
||||||
`Guia-Conexion-Protoboard/`) · `Drogheda_Conexiones-por-Bloque_Proto_v1.xlsx` (authoritative
|
`Guia-Conexion-Protoboard/`) · `Drogheda_Conexiones-por-Bloque_Proto_v1.xlsx` (authoritative
|
||||||
connection list) · `circuitikz-wiring/` diagrams v2.1 (sheet + per-block Beamer).
|
connection list) · `circuitikz-wiring/` diagrams v2.1 (sheet + per-block Beamer).
|
||||||
|
|
||||||
@ -264,7 +268,7 @@ J1 = header P1, J2 = header P2. SWD (PA13/PA14) is **not** on the 2×20 → flas
|
|||||||
- **Design doc:** [[watchdog-pcb-v3-design]] (sub-circuits, pin map, findings).
|
- **Design doc:** [[watchdog-pcb-v3-design]] (sub-circuits, pin map, findings).
|
||||||
- **Connections:** `Drogheda_Conexiones-por-Bloque_Proto_v1.xlsx` (proto, authoritative) ·
|
- **Connections:** `Drogheda_Conexiones-por-Bloque_Proto_v1.xlsx` (proto, authoritative) ·
|
||||||
`watchdog-connections.xlsx` (PCB list, H1 rows now DNP) + [[watchdog-connections-rationale]].
|
`watchdog-connections.xlsx` (PCB list, H1 rows now DNP) + [[watchdog-connections-rationale]].
|
||||||
- **Assembly guide:** `Guia-Conexion-Protoboard/` (source) → `Drogheda_Guia-Conexion-Protoboard_ES_v2.2.pdf`.
|
- **Assembly guide:** `Guia-Conexion-Protoboard/` (source) → `Drogheda_Guia-Conexion-Protoboard_ES_v3.0.pdf`.
|
||||||
- **Diagrams:** `circuitikz-wiring/` — full sheet + per-block Beamer (v2, 2026-07-02, blocks 1–11).
|
- **Diagrams:** `circuitikz-wiring/` — full sheet + per-block Beamer (v2, 2026-07-02, blocks 1–11).
|
||||||
- **BOMs:** [[BOM-master]] (production) · `watchdog-protoboard-BOM-3boards.xlsx` +
|
- **BOMs:** [[BOM-master]] (production) · `watchdog-protoboard-BOM-3boards.xlsx` +
|
||||||
`watchdog-LISTA-DE-COMPRAS-ES.xlsx` (proto) · [[watchdog-protoboard-bringup]] (bench order).
|
`watchdog-LISTA-DE-COMPRAS-ES.xlsx` (proto) · [[watchdog-protoboard-bringup]] (bench order).
|
||||||
|
|||||||
24
CLAUDE.md
24
CLAUDE.md
@ -88,7 +88,7 @@ HBOX/cabinet mechanicals (+ verify D2/D8=RX2/TX2 on a physical Pro), then routin
|
|||||||
SW_5V ≥0.8 mm per kicad-guide). Fab gate unchanged: bench-validate the LTC4040 backup +
|
SW_5V ≥0.8 mm per kicad-guide). Fab gate unchanged: bench-validate the LTC4040 backup +
|
||||||
hot-cell charge cutoff on the proto first. Latest proto
|
hot-cell charge cutoff on the proto first. Latest proto
|
||||||
assumptions ledger = `Drogheda_Conexiones-por-Bloque_Proto_v1.xlsx` (*Estado y cambios*) +
|
assumptions ledger = `Drogheda_Conexiones-por-Bloque_Proto_v1.xlsx` (*Estado y cambios*) +
|
||||||
`Drogheda_Guia-Conexion-Protoboard_ES_v2.2.pdf` (LaTeX source in repo:
|
`Drogheda_Guia-Conexion-Protoboard_ES_v3.0.pdf` (LaTeX source in repo:
|
||||||
`Guia-Conexion-Protoboard/`). Wiring diagrams v2.1 (blocks 1–11) in `circuitikz-wiring/`;
|
`Guia-Conexion-Protoboard/`). Wiring diagrams v2.1 (blocks 1–11) in `circuitikz-wiring/`;
|
||||||
client decks Avance + RCA refreshed to v1.1.
|
client decks Avance + RCA refreshed to v1.1.
|
||||||
|
|
||||||
@ -123,6 +123,26 @@ the BOM source of truth) · `scripts/prep_order_release.sh` (safe cleanup + rele
|
|||||||
dry-run default). KiCad sch↔board sync is **manual** (F8 retired). Vault note:
|
dry-run default). KiCad sch↔board sync is **manual** (F8 retired). Vault note:
|
||||||
`EinarBoard 1.0 — System Overview & Toolchain`.
|
`EinarBoard 1.0 — System Overview & Toolchain`.
|
||||||
|
|
||||||
|
**Guía de protoboard v3.0 + 4G alternatives (2026-07-08).** Guía rewritten for a
|
||||||
|
low-experience technician: new **visual parts catalog** (`Guia-Conexion-Protoboard/`
|
||||||
|
`modulos-pinout.tex`) — physical top-views of every IC module (LM2596 · MT3608 · TP4056 ·
|
||||||
|
AHT10 · DFR1015), full **Blackpill 40-pin physical map** (used pins colored, VB/B12 corner
|
||||||
|
check), simpleRTK2B Pro with its real silk names (`RX1/TX1/RX2/TX2/IOREF` + XBee switch),
|
||||||
|
4G NTRIP Master + BOB-08276 breakout, TO-92/TO-220 pinouts, diode/LED/cap polarity, resistor
|
||||||
|
color codes, protoboard anatomy + pre-power checklist; per-block «Piezas de este bloque»
|
||||||
|
lines. **Bloque 9 reworked around the XBee pitch:** the 4G is **2.0 mm** (not 1.27 — 10 pins
|
||||||
|
= 18 mm) vs protoboard 2.54 mm → bridge options (★ BOB-08276 + 2× PRT-08272 ≈MX$100,
|
||||||
|
SANDOROBOTICS CDMX, 1–2 days) + soldering steps + **modem VCC = 3.3 V from SAL via dedicated
|
||||||
|
buck** (mirrors 3V3_MODEM; never 5 V) + bulk cap for LTE bursts. Also fixed: **IOREF→3V3 rows
|
||||||
|
added to Blocks 8/9** (missing in v2.2 — Pro UARTs are dead without it), Blackpill **USB +
|
||||||
|
5 V rail never simultaneous** warning, and the circuitikz socket label corrected 5 V→3.3 V
|
||||||
|
(`wiring-blocks.tex`; lámina + Beamer PDFs rebuilt, still content-v2.1). Cheap-4G survey →
|
||||||
|
**`2026-07-08_Drogheda_4G-Modem-Alternatives_v1.0.md`**: bench = keep Ardusimple on breakout;
|
||||||
|
experiment = LILYGO T-A7670SA (~US$33, TinyGSM NTRIP, ~1 day fw); Aug 30-unit run stays
|
||||||
|
Ardusimple (€112 @ ≥50); scale = A7670SA raw (US$9.4, NTRIP-over-AT fw) or Digi XBee 3 LTE
|
||||||
|
Cat 1 (US$76, socket drop-in, MicroPython NTRIP on-module). Avoid -E band variants, SIM7000G
|
||||||
|
(Telcel LTE-M provisioning risk).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 1. System architecture (corrected from the BOM, 2026-06-20)
|
## 1. System architecture (corrected from the BOM, 2026-06-20)
|
||||||
@ -198,7 +218,7 @@ these before presenting; if it breaks one, say so and propose the compliant fix.
|
|||||||
| `00-Project-Management` | plan, ethos, hackathon, **financials**, **handover**, client comms, Drive tooling | [[00-Project-Management/PLAN\|PLAN]] · [[00-Project-Management/Engineering-Handover\|Engineering-Handover]] · `ethos.md` · `hackathon-plan.md` · `Financials.md` · `Drive-Upload/` · `client-comms/` |
|
| `00-Project-Management` | plan, ethos, hackathon, **financials**, **handover**, client comms, Drive tooling | [[00-Project-Management/PLAN\|PLAN]] · [[00-Project-Management/Engineering-Handover\|Engineering-Handover]] · `ethos.md` · `hackathon-plan.md` · `Financials.md` · `Drive-Upload/` · `client-comms/` |
|
||||||
| `01-Requirements` | what we build | `SRS.md` · `HBOX-product-spec.md` |
|
| `01-Requirements` | what we build | `SRS.md` · `HBOX-product-spec.md` |
|
||||||
| `02-Architecture-Software` | backend/software analysis, ADRs | `backend-review.md` |
|
| `02-Architecture-Software` | backend/software analysis, ADRs | `backend-review.md` |
|
||||||
| `03-Architecture-Hardware` | HBOX/cabinet, wiring, BOM, **watchdog PCB v3** | `hardware-respec-and-pcb-brief.md` · `cabinet-electrical-bom.md` · `watchdog-schematic.md` · `watchdog-health-telemetry.md` · `firmware-review.md` · `BOM-master.md` (+§5 Block B/E/H/I parts) · **`watchdog-pcb-v3-design.md`** (schematic spec) · `watchdog-pcb-v3-bom.xlsx` · `watchdog-pcb-v3-kicad-guide.md` (KiCad→JLCPCB) · `watchdog-pcb-v3-blockdiagram.svg` · `watchdog-protoboard-bringup.md` + `watchdog-proto-bench-bringup-v3.md` · `watchdog-connections.xlsx` (PCB pin/net list; H1 DNP; +B/H/I rows) · `watchdog-connections-rationale.md` (+§7 additions 2026-07-02) · **`watchdog-electrical-design-state.md`** (CANONICAL — read first) · **`watchdog-production-schematic-delta.md`** (PROD build spec; LTC4040 §4 values) · `kicad/` — `hbox-watchdog-v3.kicad_sch` (**DEV/proto**) · `hbox-watchdog-v3-PROD.kicad_sch/.kicad_pcb` (**PRODUCTION**: ERC 0, layout started, DRC baseline) · `Drogheda-sym.kicad_sym` (MP1584EN · LTC4040EUFD · AO4406A) · `Drogheda_Conexiones-por-Bloque_Proto_v1.xlsx` (**proto assumptions ledger**) · `Guia-Conexion-Protoboard/` (LaTeX source) → `Drogheda_Guia-Conexion-Protoboard_ES_v2.2.pdf` · `circuitikz-wiring/` (sheet + Beamer v2.1, blocks 1–11) · `watchdog-protoboard-BOM-3boards.xlsx` + `watchdog-LISTA-DE-COMPRAS-ES.xlsx` (proto BOMs) · **`2026-07-06_Drogheda_EinarBoard-1.0-PreFab-Audit_v1.0.md`** (CLOSED — Rev 1.1 fixes) · `Assembly-BOM-Split.md` + `LCSC-search-list.md` (verified LCSC) + `JLCPCB-Order-Guide.md` (ordering runbook) · `harness-connector-pinout.md` + `Socket-Pinout-Silkscreen.md` · **`EinarBoard-Manual/`** (Rev 1.1 order-prep pack: `einarboard-manual.tex` → branded PDF · `helgen_einarboard_1.0_production_bom.xlsx` · `tools/generate_production_bom.py` + `tools/sync_bom.py` Excel→LaTeX BOM sync) — plus repo-root `scripts/prep_order_release.sh` (safe cleanup + release commit) |
|
| `03-Architecture-Hardware` | HBOX/cabinet, wiring, BOM, **watchdog PCB v3** | `hardware-respec-and-pcb-brief.md` · `cabinet-electrical-bom.md` · `watchdog-schematic.md` · `watchdog-health-telemetry.md` · `firmware-review.md` · `BOM-master.md` (+§5 Block B/E/H/I parts) · **`watchdog-pcb-v3-design.md`** (schematic spec) · `watchdog-pcb-v3-bom.xlsx` · `watchdog-pcb-v3-kicad-guide.md` (KiCad→JLCPCB) · `watchdog-pcb-v3-blockdiagram.svg` · `watchdog-protoboard-bringup.md` + `watchdog-proto-bench-bringup-v3.md` · `watchdog-connections.xlsx` (PCB pin/net list; H1 DNP; +B/H/I rows) · `watchdog-connections-rationale.md` (+§7 additions 2026-07-02) · **`watchdog-electrical-design-state.md`** (CANONICAL — read first) · **`watchdog-production-schematic-delta.md`** (PROD build spec; LTC4040 §4 values) · `kicad/` — `hbox-watchdog-v3.kicad_sch` (**DEV/proto**) · `hbox-watchdog-v3-PROD.kicad_sch/.kicad_pcb` (**PRODUCTION**: ERC 0, layout started, DRC baseline) · `Drogheda-sym.kicad_sym` (MP1584EN · LTC4040EUFD · AO4406A) · `Drogheda_Conexiones-por-Bloque_Proto_v1.xlsx` (**proto assumptions ledger**) · `Guia-Conexion-Protoboard/` (LaTeX source; `modulos-pinout.tex` = visual parts catalog) → `Drogheda_Guia-Conexion-Protoboard_ES_v3.0.pdf` · **`2026-07-08_Drogheda_4G-Modem-Alternatives_v1.0.md`** (XBee 2.0 mm bridge + cheap-4G survey) · `circuitikz-wiring/` (sheet + Beamer v2.1, blocks 1–11; XBee-socket 3V3 fix 07-08) · `watchdog-protoboard-BOM-3boards.xlsx` + `watchdog-LISTA-DE-COMPRAS-ES.xlsx` (proto BOMs) · **`2026-07-06_Drogheda_EinarBoard-1.0-PreFab-Audit_v1.0.md`** (CLOSED — Rev 1.1 fixes) · `Assembly-BOM-Split.md` + `LCSC-search-list.md` (verified LCSC) + `JLCPCB-Order-Guide.md` (ordering runbook) · `harness-connector-pinout.md` + `Socket-Pinout-Silkscreen.md` · **`EinarBoard-Manual/`** (Rev 1.1 order-prep pack: `einarboard-manual.tex` → branded PDF · `helgen_einarboard_1.0_production_bom.xlsx` · `tools/generate_production_bom.py` + `tools/sync_bom.py` Excel→LaTeX BOM sync) — plus repo-root `scripts/prep_order_release.sh` (safe cleanup + release commit) |
|
||||||
| `04-Source-Code` | firmware + backend repos | `firmware/` (**own git repo `hbox-firmware`**: `blackpillrtkcode_v2/` deploy · `legacy/` v1 · `docs/LOGGING-SPEC.md` v2.1) · `htracker/` · `notifications/` · `rtk-config/` |
|
| `04-Source-Code` | firmware + backend repos | `firmware/` (**own git repo `hbox-firmware`**: `blackpillrtkcode_v2/` deploy · `legacy/` v1 · `docs/LOGGING-SPEC.md` v2.1) · `htracker/` · `notifications/` · `rtk-config/` |
|
||||||
| `05-Analytics-Reports` | SQL views, dashboards (VERONICA/PowerBI), **observability** | `2026-06-22_Drogheda_Manual-Logs-Grafana_v1.0.pdf` (Grafana/Loki log-consultation manual) |
|
| `05-Analytics-Reports` | SQL views, dashboards (VERONICA/PowerBI), **observability** | `2026-06-22_Drogheda_Manual-Logs-Grafana_v1.0.pdf` (Grafana/Loki log-consultation manual) |
|
||||||
| `06-Testing-Validation` | RCA, diagnostics, test evidence, **log analysis & tooling** | `RCA-2026-06-field-failures.md` · `remote-diagnostic-protocol.md` · `2026-06-20_Drogheda_Bench-Log-Analysis_v1.0.md` (rev-3) · `2026-06-20_Drogheda_GNSS-Findings-Summary.md` · `log-analysis/` (repo **`hbox-log-tools`**: `log-explorer.html` · `analyze_logs.py` · `build_dashboard.py` · `docs/manual.pdf`) |
|
| `06-Testing-Validation` | RCA, diagnostics, test evidence, **log analysis & tooling** | `RCA-2026-06-field-failures.md` · `remote-diagnostic-protocol.md` · `2026-06-20_Drogheda_Bench-Log-Analysis_v1.0.md` (rev-3) · `2026-06-20_Drogheda_GNSS-Findings-Summary.md` · `log-analysis/` (repo **`hbox-log-tools`**: `log-explorer.html` · `analyze_logs.py` · `build_dashboard.py` · `docs/manual.pdf`) |
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user