hbox-docs/docs/procedimientos/historico-protoboard.md

115 lines
10 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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

---
title: "Watchdog — Lista de compras para el bring-up en protoboard"
tags: [project-drogheda, hardware, watchdog, prototype, breadboard, bom, bring-up, historico]
date: 2026-06-22
project: Project Drogheda
author: Helgen Technologies
status: HISTÓRICO — lista de compras del prototipo en Blackpill (jun-2026)
---
# Watchdog — Lista de compras para el bring-up en protoboard
Tarjeta: V3 en protoboard (prototipo sobre Blackpill, antes de la EinarBoard 1.0).
!!! abstract "Para quién · Cuándo · Tiempo · Necesitas"
- Para quién: ingeniería (banco QRO)
- Cuándo: documento histórico — compras para el prototipo en protoboard del watchdog v2.2/v3 (jun-2026). El procedimiento de banco es [Bring-up del prototipo v3](historico-proto-bench-v3.md)
- Tiempo: una visita a la tienda de electrónica
- Necesitas: el Blackpill y lo listado en §0
Traducido del original en inglés (22-jun-2026, sustituido en parte el 03-jul-2026).
!!! warning "Sustituido para sensores (2026-07-03)"
El conjunto de sensores del prototipo pasó a ser **AHT10 (0x38, solo en I²C1, 3V3) + LM35→PA7 + NTC→PB1** — sin SHT40/SHT31/BME280/TMP102 en el prototipo (solo en PCB). Corte de carga = **PA8 `CHRG_RUN`** en IN+ del TP4056 (el módulo del kit no tiene pin TEMP). Listas de compras vigentes = `watchdog-protoboard-BOM-3boards.xlsx` / `watchdog-LISTA-DE-COMPRAS-ES.xlsx`; cableado = libro de conexiones xlsx + Guía v2.2. Las filas de sensores/sustitutos de abajo se conservan solo por historia.
Objetivo: armar en protoboard el watchdog v2.2 sobre el Blackpill existente y probar la máquina de estados + sensado + interruptor de carga + ventiladores + lazo de temperatura, antes de cualquier PCB. Todas las partes son through-hole / aptas para protoboard y se consiguen en una tienda de electrónica normal en México (Steren / AG Electrónica / local). Las cantidades incluyen repuestos. Mapa de pines: `watchdog-pcb-v3-design` §2 (repo) · firmware: `blackpillrtkcode_v2.ino` (v2.2).
## 0. Ya se tiene — no comprar
STM32F411 Blackpill · cable USB-C/micro · 18650 + PowerBoost · Mean Well SD-15B-05 (o una fuente de banco) · multímetro · el F9P + 4G master (solo hacen falta después, no para el bring-up). Una fuente de calor (secadora / encendedor / taza de agua caliente) para disparar la prueba térmica/de ventilador — de casa, no hay que comprarla.
## 1. Núcleo — arrancar los «cerebros» (comprar esto aunque la tienda esté escasa)
| # | Ítem | Cant. | Valor / parte | ~MXN | Para |
|---|---|---|---|---|---|
| 1 | Protoboard 830 puntos | 2 | media/completa | 120 | superficie de armado (2 = espacio para ventiladores/sensores) |
| 2 | Jumpers M-M | 1 pq | 65 pzas | 60 | cableado de la placa |
| 3 | Jumpers M-F | 1 pq | 40 pzas | 50 | hacia el Blackpill / módulos |
| 4 | Caja surtida de resistencias | 1 | ¼ W (incl. 330 Ω, 1 k, 4.7 k, 10 k, 100 k, 220 Ω) | 120 | divisores, gates, pull-ups |
| 5 | LED (cualquiera) | 5 | 3/5 mm | 10 | LED de estado en PB0 |
| 6 | Capacitor cerámico 100 nF | 10 | 0.1 µF (104) | 20 | filtros ADC + desacoplo |
| 7 | Electrolítico 100 µF / ≥ 16 V | 4 | — | 20 | bulk del riel / reserva para ráfagas del módem |
| 8 | **2N3904** (NPN, TO-92) | 3 | driver del interruptor de carga | 15 | PA1 → gate del P-FET |
| 9 | **IRF9540 / IRF9540N** (P-MOSFET, TO-220) | 2 | interruptor lado alto de 5 V | 40 | 5 V conmutado hacia la «etapa» |
| 10 | **Potenciómetro de 10 kΩ** | 2 | trimmer para protoboard | 30 | barrer VBAT / ignición para probar umbrales |
| 11 | Botón táctil o interruptor deslizante | 2 | — | 20 | simular ignición on/off |
| 12 | Tira de header macho | 1 | 1×40, 2.54 mm | 15 | soldar en cualquier módulo que necesite pines |
**Subtotal del núcleo ≈ 520 MXN.** Con esto se puede flashear v2.2, ver el log `$PHLG`/TLM y validar el interruptor de carga + los tres divisores de sensado + LED — toda la lógica del watchdog — sin las partes térmicas.
## 2. Adiciones térmicas — ventiladores + temperatura (lo nuevo de v3)
| # | Ítem | Cant. | Valor / parte | ~MXN | Para / nota |
|---|---|---|---|---|---|
| 13 | Ventilador 5 V, 40–60 mm, **3 hilos** | 1 | 3 hilos = tiene tacómetro | 60 | un ventilador de extracción; de 3 hilos para que PB10 lea RPM. Tomar un 2º como repuesto si es barato |
| 14 | **IRLZ44N** (N-MOSFET de nivel lógico, TO-220) | 2 | PWM lado bajo del ventilador | 30 | 1 + repuesto; debe ser de nivel lógico; ver sustituto abajo |
| 15 | Schottky **1N5819** | 3 | flyback del ventilador | 10 | uno en paralelo con el ventilador (1N4007 sirve si no hay) |
| 16 | Breakout I²C temp+HR | 1 | **SHT31 / SHT40** ideal | 120 | coincide con el firmware (0x44). La HR detecta condensación |
| 17 | Temperatura analógica **LM35** (TO-92) | 2 | respaldo seguro | 25 | lo tienen en todas las tiendas; calentarlo → ver rampar los ventiladores |
| 18 | Sonda **DS18B20** sumergible | 1 | 1-wire | 45 | excelente como sonda de punto caliente de batería/módem |
| 19 | Módulo buck LM2596 (ajustable) | 1 | 24/12 → 5 V | 35 | riel de **5 V del ventilador** dedicado (salvedad §0a) si no hay 2ª fuente de banco |
**Subtotal térmico ≈ 260 MXN** (un ventilador + driver + una opción de temperatura). Tomar #13–15 para el ventilador y una opción de temperatura (#16 ideal; si no, #17/#18).
## 3. Sustituciones (el inventario de la tienda varía — todas funcionan)
| Si no tienen… | Comprar en su lugar | Detalle |
|---|---|---|
| IRLZ44N (FET de nivel lógico) | **2N2222A** (TO-92) o **TIP120** (Darlington) | BJT: añadir resistencia de base de 1 kΩ; bien para un ventilador < 0.5 A. **Un IRF540/IRFZ44 común no enciende del todo con 3.3 V — evitar.** |
| Breakout I²C SHT31/SHT40 | **BME280/BMP280** (I²C, común) | dirección 0x76/0x77 → cambio pequeño de firmware |
| Cualquier sensor I²C | **LM35** (analógico) o **DS18B20** (1-wire) | no es I²C → el firmware lee ADC / 1-wire en su lugar (parche de firmware) |
| P-MOSFET IRF9540 | conservar el original; un **2N2222 en lado alto** es incómodo — pedir cualquier canal P ≥ 30 V | el gate lo lleva a GND por completo el 2N3904, así que un P-FET estándar sirve aquí |
| Schottky 1N5819 | **1N4007** | un poco más lento; bien a la PWM del ventilador |
## 4. Orden de bring-up (para que la lista se corresponda con acciones)
1. **Solo USB** — flashear v2.2, abrir serie a 115200. Confirmar líneas `BOOT/COLS/TLM` **y un `$PHLG,...*CS` cada 30 s**. (Sin partes externas — esto prueba el firmware.)
2. **LED en PB0** vía 330 Ω → observar que los códigos de parpadeo cambien con el estado.
3. Interruptor de carga — 2N3904 + IRF9540 + 1 kΩ (base) + 10 kΩ (pull-up de gate) desde un riel de 5 V; poner un LED+330 Ω en la salida conmutada. Conmutar: confirmar OFF al reset, ON cuando PA1 lo maneja. (Este es el corazón de la recuperación.)
4. Divisores de sensado — dos de 10 kΩ cada uno (÷2) hacia **PA0** (batería vía 18650) y **PA4** (riel 5 V); un pot de 10 kΩ hacia **PA5** (ignición). Barrerlos y ver `veh`/`ign` cambiar en el TLM con histéresis/debounce.
5. Ventilador — PA6 → gate (220 Ω) del IRLZ44N → ventilador(−); diodo de flyback en paralelo con el ventilador; 100 kΩ gate→GND. Verlo girar/rampar; hilo de tacómetro → pull-up 10 kΩ a 3V3 → PB10 → RPM en el log; **desconectar el ventilador → `FAN_FAULT`**.
6. Temperatura — breakout I²C en PB6/PB7 (+4.7 kΩ pull-ups), o LM35 en un pin ADC. Calentarlo → los ventiladores rampan según la curva 45→70 °C; a 75 °C entra el derate térmico existente.
## 5. Hoja de cableado (lado Blackpill)
```
PA0 ← BAT ÷2 (10k/10k) desde 18650+ PA6 → 220Ω → gate IRLZ44N; ventilador(−); 1N5819 ∥ ventilador
PA4 ← 5V ÷2 (10k/10k) desde riel 5V PB10 ← tacómetro, pull-up 10k → 3V3 (1k en serie)
PA5 ← IGN ÷2 (10k/10k) desde pot/interr. PB6/PB7 → I²C SCL/SDA (+4.7k cada uno → 3V3)
PA1 → 1k → base 2N3904; colector → gate PB0 → 330Ω → LED → GND
IRF9540; 10k gate→5V; drain → 5V (PA7/PB12 libres — 2º ventilador si algún día hace falta)
conmutado → etapa (LED como carga)
Rieles GND/5V/3V3 comunes; 5 V del ventilador desde una fuente de 5 V SEPARADA (LM2596 o 2ª fuente) — no del riel de la etapa.
```
## 6. Nota sobre el sensor de temperatura y el firmware
El firmware v2.2 lee **I²C SHT40 (0x44) + TMP102 (0x48)**. Según lo que se consiga:
- **SHT31/SHT40** → funciona tal cual (SHT40) o con un ajuste de dirección de una línea (SHT31).
- **BME280** → cambiar dirección + llamada de lectura.
- **LM35 / DS18B20** → analógico / 1-wire; se parcha `buildPHLG()` + la entrada de la curva del ventilador para leerlo. Para el bring-up inmediato el lazo del ventilador también puede manejarse con la temperatura interna del MCU (ya está en el firmware) — calentar toda la tarjeta y el derate se dispara igual, así que se puede probar el camino del ventilador antes de que llegue el sensor.
## Relacionados
- **BOM PROTO de 3 tarjetas (usar para el bring-up):** `watchdog-protoboard-BOM-3boards.xlsx` (ingeniería, ≈ MXN 5,341) + `watchdog-LISTA-DE-COMPRAS-ES.xlsx` (lista de compras en español llano). **v3 añade:** reset (en tarjeta + externo), indicador de batería de 4 LEDs, interruptor de corte de energía y respaldo de batería (prototipo: TP4056+MT3608+diodos OR+NTC; PCB: **LTC4040**). Estado eléctrico canónico: `watchdog-electrical-design-state.md` (repo).
- `watchdog-pcb-v3-bom` (BOM v3 producción + banco, xlsx) · `watchdog-pcb-v3-design` (diseño v3: mapa de pines, subcircuitos) · `04-Source-Code/firmware/blackpillrtkcode_v2/blackpillrtkcode_v2.ino` — todos en el repo.
- Lo que siguió: [Bring-up del prototipo v3](historico-proto-bench-v3.md) → [Bring-up de la EinarBoard 1.0](einarboard-1.0-bringup.md).
## Historial de revisiones
| Versión | Fecha | Cambios |
|---|---|---|
| 1.0 | 2026-06-22 | Lista original (inglés); nota de sustitución 03-jul. |
| 1.1 | 2026-09-29 | Traducción al español, encabezado uniforme y enlaces. Sin cambios técnicos. |