hbox-docs/docs/tableros/ingenieria.md

26 KiB
Raw Blame History

title description template hide
Ingeniería Dónde está el hardware: una tarjeta por versión de EinarBoard, sus pendientes y las decisiones. tablero.html
toc

Ingeniería

V5.5 · V5.6 · V5.7 · v6
Cómo se usa
  1. Arriba, la ruta a producción (los siete pasos de cada versión) y una tarjeta por versión de EinarBoard: estado, siguiente paso, responsables y sus documentos. Es texto fijo de docs/datos/proyecto.json, el mismo que usa la página de inicio: cuando cambie una decisión, pide a Leo o a Claude que lo actualice ahí.
  2. En medio, los pendientes de la pista Ingeniería: son los mismos del tablero de pendientes, filtrados. Puedes moverlos desde aquí.
  3. Abajo, las últimas decisiones con fecha y la filosofía de diseño. Antes de proponer un cambio, revisa que no contradiga una decisión ya tomada.
  4. Para una tarjeta nueva o un cambio de pedido, primero el pendiente, luego el trabajo: así queda el rastro de quién y cuándo.

Ruta a producción

Línea continua: hecho. Punteada: lo que falta. El anillo marca el paso en el que va cada tarjeta. En cada imagen, lo nuevo de la revisión va en blanco.

…

Pendientes de ingeniería

Pista Ingeniería del tablero. Arrastra o usa «Mover a…»; el historial anota quién lo hizo. Ver todas las pistas →

Últimas decisiones

Lo decidido manda hasta que otra decisión con fecha posterior lo cambie. Fuente: notas del proyecto; detalle en la sección de hardware.

  • 22-oct (17:00) — V5.6/V5.7: victorias rápidas (T42a) (D-22-7, propuesta de Claude; decide Leo). BOM con existencia para las 430: D10 = C83325 (los códigos de la auditoría no servían), U15 → TRS3232E (±15 kV), 22 µF → C45783 (C86817 no alcanzaba) y 8 Extended menos; /IGN_IN a 0.3 mm en In1 y su vía 0.35 mm abajo (de 0.15 a 0.54 mm de las señales); 2.ª vía de /SYS5V en la V5.7 (E-11). DRC igual al de la auditoría. Claude recomienda (a): T42a completo antes del pedido del piloto (≈ 40 min). Hallazgo: la clase HV24 solo atrapa /24V_IN → T42b antes de las 108/322. Documento · D-22-7
  • 22-oct (16:30) — FOTA por 4G: factibilidad por tarjeta (D-22-6, propuesta de Claude; decide Leo). Sí en V5.6/V5.7 sin tocar cobre: bajada por la toma RTCM (PC7) con marcos RTCM 3 propios que inyecta el caster de Helgen, subida por $PHLG, la imagen nueva queda en prueba hasta que el servidor la confirma y si no, regresa sola. Sí en la v6 por HTTPS con el A7670SA, dentro de FW-3. No en V3, V4 ni V5.5 (el MCU no recibe nada del módem): siguen por USB en visita. Propuesta: la imagen de fábrica de las 108/322 y de las 130 v6 lleva bootloader A/B firmado y receptor, y no se graba sin la matriz de banco (FOTA 4). FOTA no entra en el 0.7.0. Documento.
  • 22-oct (16:15) — D-22-1 decidido en la junta de instalación (Leo): GO al piloto 5 V5.6 + 5 V5.7 con las 3 condiciones, pero el pedido se hace al terminar los quick wins del tablero; la llegada y el banco del piloto se recorren con él. En la misma junta: responsables de campo (ICAVE Alán, EIT Miguel, LCT Antonio, TIMSA Jesús Honorato; líderes de instalación, Alán y Daniel), standup diario y LCT aparte, porque falta la herrería de los soportes para las RTG. Junta del 22-oct
  • 22-oct (14:30) — Instalaciones por sitio y prueba en sitio (D-22-5; Leo: hay 3 o 4 unidades instaladas sin saber en qué vehículo, y metas de instalación sin prueba). Una unidad cuenta para la meta de 1–2 por sitio solo con el acta «Prueba en sitio» aprobada: fix RTK 4 (o 5 explicado) en el monitor, reporte en el monitor y en Wialon, posición coherente, respaldo en batería si aplica y fotos. Pasa a «en operación» 7 días después de la prueba si no se registra una falla (los 7 días los propone Claude; se cambian en backend/instalaciones.py). El acta de instalación registra el vehículo: número económico, tipo (RTG, Reach Stacker, Empty Handler, Tractoplana, Montacargas…) y 12/24 V. Instalaciones · Prueba en sitio
  • 22-oct (14:10) — v6: T40, MH4 libre (Claude). D23 quedó debajo de U19.31 y D24 junto a R129/R133. /SIM_CLK va por In1, /SIM_RST por arriba de D25 y /NTC alrededor del barreno; antes lo cruzaba por In2. Las tres TVS de la SIM tienen vía de GND propia. Los pines 92 y 94 de U19 también, porque el canal de /SIM_RST los dejaba sin relleno. DRC: 11 errores, los encimes de margen; 0 sin conectar. D-22-4 (decide Leo): las TVS siguen del lado del módem, a 27–41 mm de pista del zócalo. Claude recomienda (b): pasarlas a /SIMB_*, pegadas a J14 y cada una con su vía de GND. Son las mismas piezas; lo hace T41 o Michelle el sábado. Falta el push de Leo. T40 · D-22-4
  • 22-oct (13:24) — Modo crisis: semáforo rojo (Leo). Sin pago recibido este mes → operación muy ajustada y sin compras significativas; TIMSA bloqueado por un trámite del vehículo; EIT esperando material de Manzanillo; ICAVE con mal clima y fallas por investigar en campo; software: el retranslator de Wialon hacia nuestro servidor (para comparar el RTK contra el GPS legado) y las desconexiones súbitas, que se investigan de inmediato. Meta: 1–2 unidades instaladas por sitio. El tablero se separa por sitio (filtro y vista «Por sitio»; pista Gestión) y las juntas (standup y quick wins, grabadas con Gemini) llegan al tablero como lotes. Juntas · Pendientes por sitio
  • 22-oct (13:30) — v6: T39, el bloque A por script (Leo: «haz tú los cambios de la v6, es la prioridad»). D-21-3 queda tomada: se aplicó la propuesta α.
    • D34 en (181.08, 121.75), con el cátodo a 3.52 mm del pin SW; L22 en (192.18, 122.5); R53/R54 abajo de JP2.
    • Nodo SW y /VEH5V con pistas anchas de F.Cu; In1 e In2 sin pistas bajo la fuente; MH8 libre.
    • DRC: 44 errores (≈ 33 de MH4 y 11 encimes de margen), 0 sin conectar.
    Regla nueva: en la v6 no se agregan zonas de F.Cu con prioridad sobre la tierra sin revisar el DRC de toda la tarjeta. KiCad 10 cambia el relleno de toda la tierra, y con T39 salían 2 alivios térmicos rotos lejos del bloque. Queda por revisar la pared de la HBOX junto a L22: el cobre está a 0.53 mm de la orilla. Falta el push de Leo. T39
  • 22-oct (13:30) — P-1 cerrado; veredicto confirmado sobre los archivos de las 13:00. Leo rellenó las zonas, guardó los dos tableros y regeneró los paquetes (V5.6 338ee14b, V5.7 85baca51). Re-verificación con el mismo método A: relleno guardado = relleno fresco (0.000 mm² en las dos), paquete = archivo, cobre y 11 capas + taladros idénticos a los auditados en la mañana, BOM y CPL con el mismo SHA (D10 sigue como SMBJ33A: condición 3 viva), DRC igual. Falta el commit de kicad/ y production/. Herramienta: Auditoria-Final-V56-V57/scripts/verify_mac.sh + gcmp_b.py, 5 min después de cualquier cambio (los quick wins van en una sesión paralela). Re-verificación
  • 22-oct (11:20) — Auditoría final de producción de V5.6 y V5.7 (paquetes HBOX_v5_Rev6_PROD / HBOX_v5_Rev7_PROD, hecha por Claude a petición de Leo): GO al piloto de 5 + 5 hoy, con tres condiciones de pedido que no tocan el cobre — D-22-1 (decide Leo): vías Epoxy Filled & Capped + rayos X en U6; rotación y polaridad en el visor de JLC (U6, U7, U25, U26, L22, Q7, U16, D34, D10, electrolíticos); D-22-2: D10 SMBJ33A → SMBJ33CA en el BOM (con el arnés al revés el unidireccional abre F2). NO-GO para las 108 / 322 hasta que el piloto pase el banco con 0.7.0: hoy ningún firmware enciende el módem de estas tarjetas (board_v56.h ya existe; 0.7.0-pre es 1 día). Los Gerber son idénticos a una regeneración con relleno fresco (0.000 mm²), pero los .kicad_pcb del repo traen el relleno viejo → D-22-3, regla: todo script T que toque cobre termina con rellenado en el GUI antes del commit (P-1, Leo, 5 min). D-21-2 se sostiene (E-9): C149/C150 se quedan y el timbre se mide en banco. Para las 108/322: THVD1410DR y TRS3232E por SP3485 y MAX3232 (P-5). Auditoría final · PDF · Protocolo
  • 21-oct (20:45) — v6: T38 aplicado por Claude. Courtyards reales en las 11 huellas de easyeda2kicad: el DRC no veía encimes en ellas, y salió uno real, C153 debajo de L22. MH6 libre. Regla nueva de barrenos: el plano /3V3 de B.Cu quedaba desnudo bajo los separadores de los 5 barrenos; con insertos o separadores metálicos, el tornillo lo une a GND. D-21-3, propuesta (falta el OK de Leo): el bloque A se hace con D34 entre U25 y L22, y L22 al este (propuesta α). Metas corregidas: cátodo ≤ 3.5 mm, L22.1 ≤ 9 mm, nodo SW ≤ 10 mm² fuera de los pads, lazo ≤ 60 mm². En V5.6 y V5.7 salen 2 y 4 avisos de biblioteca: es solo el courtyard, no actualicen esas huellas antes del Gerber. T38 · Propuesta α
  • 21-oct (20:00) — El sitio es el centro de mando (regla de Leo): toda tarea del proyecto termina aquí, con sus pendientes movidos, sus documentos al día y, si algo del sitio estorbó, una mejora. Los cambios de Claude al tablero llegan en lotes que Leo revisa y aplica (./scripts/tablero.sh) y se ven en la Actividad como cualquier otro cambio. Cómo se cierra una tarea
  • 21-oct (19:30) — Pasada 6 hecha por Claude (T34–T37; Leo pidió avanzar sin esperar a Michelle): la V5.6 y la V5.7 quedan con el cobre listo para Gerber. RS1 otra vez Kelvin (2 vías de entrada unidas en F.Cu y B.Cu; el hilo de U6.6 entra al pad por su lado), 2.ª vía de la entrada de U7 y, en la V5.7, la vía de GND de C129. DRC: solo los 3 errores de MOD1 (excluidos), 0 sin conectar, paridad solo PF*. D-21-2, propuesta (falta el OK de Leo): C149/C150 de la V5.7 se quedan como están y el timbre de U25 se mide en el banco. Falta: push de Leo, B + DRC en KiCad y Gerber/BOM/CPL. Pasada 6 · D-21-2
  • 21-oct (noche) — Pasada 5 revisada (6458c5d): C129 y C130 quedaron bien en las dos, pero la vía de entrada de RS1 quedó encima del hilo de sensado de U6.6: el sensado ya no es Kelvin (el límite de entrada baja ≈ 3–4 %). Falta la pasada 6, ≈ 30 min por tarjeta; en la V5.7, además, girar C149/C150 (lazo de ≈ 56 mm²). v6: T25 y T28 aplicados sobre 9255b84 (falta el push de Leo); T28 cerró 2 de los 8 bloqueantes, pero D34 quedó a 13 mm del pin SW de U25 (lazo caliente de ≈ 115 mm², antes ≈ 47) y MH8 cae encima de D34. Pasada 5 revisada · Estado de la v6
  • 21-oct (tarde) — Auditoría de la pasada 4 de Michelle (HBox_PCB 85e7602 V5.6, 1416dcb V5.7). V5.6: la pasada dejó un corto nuevo (/MODEM_EN a GND en R106) y una pista de /SYS5V a 0.09 mm de una vía; el giro de U7 mejoró el nodo SW (L7 a 4 mm de U7). V5.7: ya sin el bloqueante de K1. D-21-1, aprobada por Leo: C130 de 100 nF en la entrada de U7, en las dos. En la tarde quedaron T32 (C130 en los esquemáticos) y T33 (el corto, la separación, la 2.ª vía de VSYS y las vías de potencia): DRC solo con los 3 errores de MOD1. Falta la pasada 5 de Michelle (V5.6 ≈ 1 h, V5.7 ≈ medio día); después, revisión del cobre y Gerber. Auditoría del 21-oct
  • 19-oct (19:30) — V5.6: qué es crítico y qué se puede quedar (archivo de trabajo de las 18:59, sobre T30). Un solo crítico, nuevo: U6 (LTC4040) no tiene capacitor en sus pines VSYS; el más cercano, C34, está a 11.5 mm (viene desde la V5.5). La hoja de datos lo pone por encima de todo en el layout. Se agrega C129 (10 µF 0603, C19702) junto a los pines 1/24, sin mover piezas. Regresar 2 vías de /MAIN5V y 2 de /3V3_MODEM que se perdieron al guardar. L7 lejos de U7 y lo heredado de la V5.5 (L6, L8, Dbk1) se quedan para el piloto, y se miden en el banco. Clasificación
  • 19-oct (17:10) — Re-auditoría V5.6 / V5.7 / v6 sobre la pasada 3 de Michelle (HBox_PCB 4f4681f). V5.6 casi lista: /BAT_PLUS fuera de capas internas, /3V3_MODEM a 1.0 mm, 4 vías en el EP de U7, sin cobre suelto; faltan T30 + ≈ 1 h (L7/Dbk2, salida VSYS de U6, 3 vías, exclusiones del DRC). V5.7 NO LISTA: ya replica la V5.6, pero /SYS5V va 10.9 mm por In2 a 0.5 mm bajo K1 (bloqueante) y el lazo de entrada de U25 mide 52 mm². v6 sin avance en sus 8 bloqueantes (solo 15 vías GND): plan recorrido una semana, piloto de 20 el lun 2-nov; pre-órdenes de JLC ya. Script T30 probado en copias en la Mac (DRC sin infracciones nuevas, 0 sin conectar). Merge del lunes (40decf8) arreglado por Leo (240e2c3 + merge=binary) y verificado objeto por objeto. Decisiones para Leo: D-19-1 puertos (si van, entran al piloto), D-19-2 Dbk2, D-19-3 sacar KiCad del auto-sync de las 18:00, D-19-4 clase HV24. Re-auditoría · Pasada 4 · Plan v6 rev. 1.1
  • 16-oct (17:30) — Auditoría de producción de la v6: NO LISTA. Ruteo completo (2612891, DRC 0 errores), pero: U25 con el código del AP64350, sin barrenos, 5 V por In1/In2 a 0.5 mm, cargador con pistas de 0.5 mm y 1 vía en el EP, RF del módem por In1, 81 vías de tierra, stackup genérico. Scripts listos: T25 --set v6 y T28 (probados con DRC). Plan de fines de semana: layout el 17–18 y el 24–25 oct, pedido del piloto de 20 el 26-oct, firmware y banco hasta ≈ 15-nov. P7/P8 se quitan (decisión del 9-oct). Auditoría v6 · Plan
  • 16-oct (16:00) — T27 aplicado en V5.6 y V5.7 (f65c830). Figuras de los pasos 3, 4 y 5 en la pasada 3; corregido el dato de A4 (son dos vías de /MAIN5V, no una). Tablero de pendientes al día: pasada 2 y fuente de la V5.7 en Hecho; 9 pendientes nuevos (pasada 3 parte A, medición con TP1, decisiones de Leo, firmware 0.7.0, piloto y banco V5.6, prototipos V5.7, barrenos de la v6). Kanban
  • 16-oct (tarde) — Decisión de Leo: MH11 se quita de V5.6 y V5.7. Pasos 1 y 2 de la pasada 3 por script (T27): MH11 fuera, /CHRG_STAT lejos de MH10 (V5.6) y sensado Kelvin de RS1 (RS1 girado 180°; el LTC4040 deja de ver ≈ 27 mΩ y vuelve a limitar en 2.5 A). Probado en copias con DRC: 0 infracciones nuevas, 0 sin conectar. Prueba de banco nueva con TP1 (CLPROG). Pasada 3 · Qué mide RS1
  • 16-oct — Auditoría de producción V5.6 / V5.7 / v6: ninguna lista para pedir. Corte de 10 s en batería: V5.6/V5.7 lo permiten en hardware, falta el firmware 0.7.0 y el banco. V5.7 sin SD-15B: entrada 9–32 V (recomendado D10 → SMBJ33CA). v6: PCB sin actualizar y sin el firmware NTRIP que sustituye al 4G NTRIP Master. Puertos de V5.6/V5.7 con defectos ya resueltos en el esquemático v6 (portarlos: decide Leo). Acelerómetro en las tres. Barrenos de la V5.5 a V5.6/V5.7 con el script T25 (MH4 en 185.2, no 193.2). Hallazgo: límite de entrada del LTC4040 ≈ 1 A en V5.5/V5.6/V5.7 por el sensado de RS1. Recomendado: piloto de 5 V5.6 antes de las 113. Auditoría · Pasada 3
  • 13-oct — Pedido de 570 HBOX: 113 × V5.6 (con SD-15B), 327 × V5.7, 130 × v6; todos los reemplazos futuros en v6. Paquetes de fabricación V5.6 / V5.7 / v6 a Aldair (fabricación/ensamble, rol por confirmar). Caja plástica HBOX: el cable Ethernet no cabe — cambio por definir (pista Mecánica).
  • 13-oct — Auditoría del layout V5.6 de Michelle (d71098d): NO LISTA — /BAT_PLUS por In1 (bloqueante), MAIN5V/SYS5V/SW3 por capas internas; las 18 piezas movidas se quedan (opción A). Esquemático V5.7 aplicado con ERC 0 (F2 SMD 3 A, Q10/D10 reusados, fuera U2 y P2, JP1 puenteado). Reparto: Leo coloca la fuente en V5.7; Michelle corrige V5.6 y después toma V5.7. Auditoría · Pasada 2
  • 12-oct — V5.7 = V5.6 + fuente conmutada 24 V → 5 V a bordo (U25 TPS54360B, bloque de la v6), sin SD-15B externa. Proyecto KiCad separado hbox-watchdog-v57; V5.6 y V5.7 conviven. ECO V5.7
  • 09-oct — P12 (sonda NTC) eliminada de V5.6 con R42/C24: redundante y se necesita el espacio. Sin lectura de temperatura de celda en batería (aceptado). Aplica a P7/P8 de la v6.
  • 08-oct — Acelerómetro U26 SC7A20TR (I²C 0x18, INT1 → PB9) añadido a V5.6. Regla DFM LTC4040 (U6): pasta del EP ≤ 50 %, vías tapadas (epoxy filled & capped) o fuera de las ventanas de pasta, X-ray/AOI en U6, lupa en cada tarjeta antes de energizar. Vale para toda revisión, incluida la v6.
  • 05-oct — Revisión del bus I²C V5.6 / v6 (direcciones, pull-ups, TMP102 U18 en 0x49).
  • 30-sep → 1-oct — V5.6: revisión de modo batería y layout (U4 junto a L6, DzG1 corregido); estado hacia producción.
  • 28-sep — v6 auditada con las lecciones de V5.5 y plan de corrección. «No habrá v6.1»: lo que falte se corrige antes de pedir. Plan de corrección · Próximos pasos
  • 27-sep — Requisito V5.6: ciclo de 10 min en batería y mejor manejo térmico. ECO V5.6: LFP de alta temperatura, JP2 2-3, R55 5.6 k → flotación 3.50 V, RS1 10 mΩ, TMP102 U18 0x49. Regla de campo V5.5/V4 con 0.6.0: respaldo continuo en batería, nunca ciclos de etapa en batería. ECO V5.6
  • 26-sep — Decisión V5.6: los 500 ArduSimple ya pedidos se quedan (arquitectura con zócalos); nada de rework en tarjetas existentes; buck del módem AP64350 desde SYS5V, MODEM_EN/RST/LED al MCU, lista EMC. Hallazgo: el módem no arrancaba en batería porque el MP1584 (4.5 V mín.) caía en UVLO sobre el riel de 4.6–4.79 V del boost.
  • 19/21-sep — Un solo firmware por tarjeta; la versión del firmware no indica la tarjeta: V3 → blackpillrtkcode_v4, V4 → hbox-tarjetaV4_x.y.z.bin, V5 → hbox-v5-bringup_x.y.z.bin. V5.6 necesita 0.7.0 (board_v56.h).
  • 22-ago — V5.5 ordenada, 15 pzas (JLC). Auditoría EMC: /SW_BAT 0.3 mm y /BAT_PLUS 0.3–0.5 mm = críticos para la siguiente corrida (origen de la regla «nada de potencia por capas internas»).

Filosofía de diseño

Cinco reglas que explican casi todas las decisiones anteriores. Detalle y documentos en Tarjetas y hardware.

  • Primero la seguridad en campo. La unidad vive en un puerto a más de 45 °C y en batería: en V5.5/V4, respaldo continuo, nunca ciclos de etapa en batería; desde V5.6 el corte de 10 s en batería es requisito, y se prueba en banco antes de usarlo en campo; se mide antes de energizar; una tarjeta con marca de daño no entra a un ensamble.
  • Una etapa probada vale más que una nueva. Los zócalos para ArduSimple y módem se quedan (500 ya pedidos); nada de rework en tarjetas existentes; la fuente a bordo de V5.7 reutiliza el bloque ya auditado de la v6.
  • Redundancia solo cuando un modo de falla la justifica. Por eso salió P12 (NTC redundante, estorbaba) y entró el acelerómetro U26 (detecta golpes y movimiento, que sí nos han fallado).
  • Las reglas de fabricación son órdenes permanentes. LTC4040: pasta ≤ 50 %, vías tapadas, X-ray; ninguna red de potencia por capas internas (lección de V5.5); lupa en U6 antes de energizar. Se aplican a toda revisión, sin excepciones por prisa.
  • Cambios con prueba y rastro. Esquemático por etiquetas y ediciones con script verificadas contra la netlist (ERC 0, paridad 100 %); git en dos pasos (submódulo KiCad y luego Drogheda); una persona por PCB a la vez y scripts solo con KiCad cerrado (git no mezcla archivos de KiCad: merge=binary); una tarjeta por proyecto KiCad (V5.7 separado); «no habrá v6.1»: se corrige antes de pedir, no después.