hbox-docs/docs/procedimientos/fan-policy-bench-test.md
Leopoldo Rodríguez 01dc30c06a hbox-docs: sitio MkDocs Material para tecnicos (ES)
- contenido curado desde Drogheda via scripts/sync-docs.sh (procedimientos
  de banco, montaje/arneses, diagnostico remoto, guias git)
- scripts/deploy.sh: mkdocs build --strict + rsync al servidor Helgen
- README con setup de nginx + htpasswd para acceso privado de tecnicos

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YJ4eAB6zjQT49RVwpgfKdt
2026-09-15 18:23:26 +00:00

6.0 KiB
Raw Blame History

title project date version audience target tags
Procedimiento de banco — Validación de la política de ventilador FW v3.0.3 Project Drogheda 2026-08-18 v1.0 ingeniería (banco) EinarBoard 1.0 / 2.0 (V4) + firmware blackpillrtkcode_v3 v3.0.3
project-drogheda
testing
ventilador
firmware
banco

Validación en banco — política de ventilador por potencia (FW v3.0.3)

0. Qué se está probando

Desde v3.0.3 el ventilador ya no se modula: solo tiene dos estados.

Condición Ventilador
VEH5V presente Y ignición ON 100 % fijo (DC), a cualquier temperatura
Falta VEH5V o falta ignición ("modo batería") Termostato: enciende ≥ 48 °C, apaga < 45 °C (temperatura de control = la más alta de aire SHT40 / batería TMP102 / MCU)

La lógica reacciona en ≤ 2 s (cadencia térmica) más el debounce de entradas (~0.75 s). No hay sensado de 24 V: la ignición es el testigo de que el riel de 24 V existe.

⚠️ PELIGRO: hay 24 V en P1. Verifique polaridad antes de energizar. No conecte ni desconecte el ventilador (P6) con la tarjeta energizada.

🛑 ALTO: en banco sin batería, el riel de 5 V debe estar en ≥ 5.2 V o con el pack conectado (disparo PFI 4.60 V del LTC4040 bajo ráfaga LTE — nota 24-jul). Si la unidad se reinicia sola durante la prueba, revise esto primero.

1. Equipo

Fuente de 24 V (≥ 1 A), fuente de 5 V ajustada a 5.2 V (o el SD-15B de la unidad), fuente o puente de 12–24 V para ignición, multímetro, laptop con terminal serie (USB del Blackpill, 115200 8N1), pistola de aire caliente (a baja, < 70 °C), osciloscopio (opcional, para confirmar DC).

2. Puntos de medición

Conector Pin Señal Uso en esta prueba
P1 (GX16-5 / Phoenix) 1 24V_IN Alimenta SOLO el buck del ventilador (U2 → 5V_FAN)
2 GND Retorno común
3 IGN_IN Ignición cruda 12–24 V (divisor Rig 22k / Rigb 10k → PA5)
P2 1 VEH5V 5 V del SD-15B (= "vehículo presente" para el firmware, umbral ON > 4.2 V / OFF < 3.8 V)
P6 (ventilador) 1 5V_FAN +5 V del buck — debe medir ~5 V siempre que haya 24 V en P1.1
2 FAN_RET Drenaje de Q2 (lado bajo). Fan ON → ~0 V; fan OFF → ~5 V
4 FAN_TACH_RAW No usado (ventilador de 2 hilos) — debe quedar al aire
PA6 (Blackpill / Rg) — FAN_PWM Comando del MCU vía Rg (100 Ω) → gate de Q2. ON → 3.3 V DC plano; OFF → 0 V

La medición que decide es P6.2 respecto a GND (o la tensión P6.1↔P6.2 a través del ventilador: ~5 V girando, ~0 V parado). PA6 confirma qué está comandando el firmware; P6.2 confirma que Q2 y el ventilador obedecen.

3. Telemetría de referencia

Abra la terminal serie antes de empezar. Cada 2 s sale una línea TLM; las columnas relevantes (ver línea COLS al arranque):

...,veh,ign,...,tair,rh,tbat,fan_rpm,fan_pwm,fan_fault,...

  • veh / ign: entradas ya con debounce — confirman que la tarjeta ve lo que usted conectó.
  • fan_pwm: solo puede valer 0 o 100 en v3.0.3. Cualquier valor intermedio = firmware equivocado (¿quedó una v2.3/3.0.1?).
  • La línea BOOT debe reportar fw=3.0.3. Si no, deténgase y reflashee.

4. Procedimiento

Estado inicial: P1 con 24 V, P2 con 5.2 V, ignición desconectada, ventilador en P6, unidad a temperatura ambiente (< 40 °C).

# Acción Resultado esperado Verificar
1 Energizar la unidad (arranque en frío) Self-test: los 4 LEDs de gauge encienden en secuencia y el ventilador da un soplo de ~0.8 s Confirma que Q2 + ventilador funcionan, independiente de la lógica
2 Esperar 10 s, sin ignición Ventilador apagado P6.2 ≈ 5 V · PA6 = 0 V · TLM: veh=1 ign=0 fan_pwm=0
3 Aplicar 12–24 V a P1.3 (ignición) En ≤ 3 s el ventilador arranca al 100 %, aun frío P6.2 ≈ 0 V · PA6 = 3.3 V DC plano (sin PWM en el osciloscopio) · TLM: ign=1 fan_pwm=100
4 Mantener 5 min Sigue al 100 % sin interrupciones; fan_fault=0 Sin parpadeos en P6.2
5 Quitar ignición (24 V y 5 V se quedan) En ≤ 3 s el ventilador se apaga (modo batería, unidad fría) P6.2 ≈ 5 V · ign=0 fan_pwm=0
6 Sin ignición: calentar el sensor SHT40 (sonda P5) con aire caliente, gradual Al llegar tair a 48 °C el ventilador arranca al 100 % TLM: tair≥48 → fan_pwm=100. No debe arrancar a 45–47 °C (histéresis)
7 Retirar el calor y dejar enfriar Sigue girando entre 45–47 °C; se apaga solo por debajo de 45 °C tair=46 → fan_pwm=100 · tair=44 → fan_pwm=0
8 Reconectar ignición con la unidad aún tibia 100 % inmediato sin importar la temperatura fan_pwm=100
9 (Opcional, con pack conectado) Quitar el 5 V de P2 dejando 24 V + ignición El firmware pasa a modo batería (gate incompleto): manda termostato, no el 100 % fijo veh=0 → fan_pwm según temperatura

ℹ️ NOTA sobre el paso 6: apunte el aire caliente a la sonda SHT40 (P5), no a la tarjeta completa — así el resultado es reproducible. No exceda ~65 °C: arriba de 45 °C en la celda el firmware además corta la carga (Cell hot -> charge OFF en el log); es comportamiento esperado, no una falla.

5. Criterios de aceptación

La unidad PASA si: (1) fw=3.0.3 en BOOT; (2) fan_pwm solo toma valores 0 y 100 durante toda la prueba; (3) con ignición + VEH5V el ventilador gira al 100 % en frío (paso 3 — este es el cambio de comportamiento clave vs. versiones anteriores); (4) la histéresis 48/45 °C del modo batería se cumple en ambos sentidos (pasos 6–7); (5) PA6 es DC plano en ON (sin portadora de 25 kHz); (6) fan_fault=0 al final.

Cualquier desviación: capture el log serie completo (es append-only, basta guardar la sesión de terminal) y repórtelo con el número de paso.

6. Registro

Unidad Fecha Ingeniero P3 (100 % frío) P6/P7 (histéresis) fan_fault PASA/FALLA
H____