103 lines
6.9 KiB
Markdown
103 lines
6.9 KiB
Markdown
---
|
||
title: "Validación en banco — política de ventilador por potencia (FW v3.0.3)"
|
||
tags: [project-drogheda, testing, ventilador, firmware, banco, v3, v4, procedimiento]
|
||
date: 2026-08-18
|
||
project: Project Drogheda
|
||
version: v1.0
|
||
audience: ingeniería (banco)
|
||
target: EinarBoard 1.0 / 2.0 (V4) + firmware blackpillrtkcode_v3 v3.0.3
|
||
---
|
||
|
||
# Validación en banco — política de ventilador por potencia (FW v3.0.3)
|
||
|
||
Tarjeta: V3 (EinarBoard 1.0) y V4 (EinarBoard 2.0) con firmware `blackpillrtkcode_v3` v3.0.3.
|
||
|
||
!!! abstract "Para quién · Cuándo · Tiempo · Necesitas"
|
||
- Para quién: ingeniería (banco)
|
||
- Cuándo: al validar un binario V3/V4 con la política de ventilador por potencia (v3.0.3 o posterior que la conserve)
|
||
- Tiempo: ~30 min por unidad (incluye 5 min al 100 % y el ciclo de calentamiento)
|
||
- Necesitas: fuente 24 V, fuente 5 V a 5.2 V, fuente de ignición 12–24 V, multímetro, laptop con terminal 115200, pistola de aire caliente y osciloscopio opcional
|
||
|
||
## 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.
|
||
|
||
!!! danger "24 V en P1 y riel de 5 V"
|
||
Verifica la polaridad antes de energizar. No conectes ni desconectes el ventilador (P6) con la tarjeta energizada. En banco sin batería, 5 V ≥ 5.2 V o paquete conectado ([reglas de banco](diagnostico-banco.md#reglas-de-banco)); si la unidad se reinicia sola, revisa 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 |
|
||
|
||
!!! note "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____ | | | | | | |
|
||
|
||
Detalle de la política en el firmware: [manual V3](../manuales/manual-tarjeta-V3.md) · [manual V4](../manuales/manual-tarjeta-V4.md). Binarios: [Descargas](../descargas/index.md).
|
||
|
||
## Historial de revisiones
|
||
|
||
| Versión | Fecha | Cambios |
|
||
|---|---|---|
|
||
| 1.0 | 2026-08-18 | Primera versión. |
|
||
| 1.1 | 2026-09-29 | Encabezado uniforme, avisos en formato del sitio y enlaces a manuales y descargas. |
|