190 lines
11 KiB
HTML
190 lines
11 KiB
HTML
<!doctype html>
|
||
<html lang="es">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<title>Acta de diagnóstico en banco — HBOX</title>
|
||
<script src="../js/tema.js"></script>
|
||
<link rel="stylesheet" href="acta.css">
|
||
</head>
|
||
<body>
|
||
<div id="acta"></div>
|
||
<script src="flota.js"></script>
|
||
<script src="acta.js"></script>
|
||
<script>
|
||
const corto = v => String(v.continuidad || '').startsWith('Sí');
|
||
const enciende = v => String(v.rampa || '').startsWith('C') || String(v.rampa || '').startsWith('D');
|
||
const listoParaFlashear = v => v.subido && v.subido('log_blackpill');
|
||
|
||
Acta.render({
|
||
tipo: 'diagnostico-banco',
|
||
repetible: true,
|
||
tecnicoDesdeUsuario: true,
|
||
nombres: { alan: 'Alán Basurto', daniel: 'Daniel Martínez', leo: 'Leo Rodríguez' },
|
||
unidades: window.FLOTA,
|
||
etiquetaSerie: 'Unidad que estás revisando',
|
||
titulo: 'Acta de diagnóstico en banco — HBOX',
|
||
subtitulo: 'Unidad sobre la mesa, con fuente de banco y multímetro.',
|
||
textoOK: 'QUEDA FUNCIONAL',
|
||
intro: 'Al desmontar se perdieron temperatura máxima, recuperaciones y causa del último arranque (RAM del firmware v3). '
|
||
+ 'Procedimiento: <a href="../procedimientos/diagnostico-banco/">Diagnóstico en banco</a>.',
|
||
secciones: [
|
||
|
||
{ titulo: '0 · Identificación',
|
||
items: [
|
||
{ tipo:'fecha', clave:'fecha', req:true, guardaEn:'fecha', txt:'Fecha' },
|
||
{ tipo:'texto', clave:'maquina_id', rows:'1', guardaEn:'maquina_id',
|
||
txt:'Máquina de origen', ph:'RT-ZPMC-20 · HS-WES-62 · FL-JUN-060' },
|
||
{ tipo:'radio', clave:'llego', txt:'Quién la desmontó',
|
||
opciones:['Desmontada por nosotros','Desmontada por personal de ICAVE','No sé quién la desmontó'] },
|
||
{ tipo:'texto', clave:'antecedente', rows:'2',
|
||
txt:'Antecedente de la falla', ph:'Dejó de reportar a fines de agosto; se desmontó el 15-sep.' },
|
||
{ tipo:'nota', txt:'<div class="peligro"><b>Orden:</b> inspección → continuidad → energizado. <b>Nunca energices antes de medir continuidad.</b></div>' },
|
||
] },
|
||
|
||
{ titulo: '1 · Inspección sin energía',
|
||
sub:'Desconectada de todo, antes de mover cables.',
|
||
items: [
|
||
{ tipo:'foto', clave:'f_ext', req:true, etiqueta:'exterior', txt:'Exterior, varios lados.' },
|
||
{ tipo:'foto', clave:'f_int', req:true, etiqueta:'interior', txt:'Interior completo, antes de tocar.' },
|
||
{ tipo:'radio', clave:'olor', req:true, txt:'Olor a quemado o daño por calor',
|
||
opciones:['No','Sí, leve','Sí, evidente'] },
|
||
{ tipo:'foto', clave:'f_dano', etiqueta:'dano', si:v=>String(v.olor||'').startsWith('Sí'), req:true,
|
||
txt:'Daño por calor.' },
|
||
{ tipo:'radio', clave:'agua', req:true, txt:'Agua, sarro o corrosión',
|
||
opciones:['No','Marcas o humedad','Corrosión evidente'] },
|
||
{ tipo:'radio', clave:'bateria_fisica', req:true, txt:'Batería',
|
||
opciones:['Normal','Hinchada o abombada','Con manchas o fuga','Caliente','La unidad no trae batería'],
|
||
aviso:'Hinchada, con fuga o caliente: desconéctala antes de energizar y trabaja sin ella. No la cargues ni la perfores; no viaja en avión.' },
|
||
{ tipo:'foto', clave:'f_bat', etiqueta:'bateria',
|
||
si:v=>['Hinchada','Con manchas','Caliente'].some(t=>String(v.bateria_fisica||'').startsWith(t)), req:true,
|
||
txt:'Batería, dos ángulos.' },
|
||
{ tipo:'check', clave:'wiggle', txt:'Meneo de conectores, Dupont y SMA (lo flojo, abajo).' },
|
||
{ tipo:'texto', clave:'nota_visual', rows:'2', txt:'Hallazgos' },
|
||
] },
|
||
|
||
{ titulo: '2 · Continuidad a tierra (sin energía)',
|
||
sub:'Multímetro en ohms, punta negra en el chasis. Espera a que la lectura se estabilice.',
|
||
items: [
|
||
{ tipo:'medida', clave:'r_24v', txt:'Entrada 24 V (GX16 pines 1-2)', esperado:'> 10 kΩ', u:'Ω' },
|
||
{ tipo:'medida', clave:'r_5v', txt:'Riel de 5 V (salida Mean Well)', esperado:'> 1 kΩ', u:'Ω' },
|
||
{ tipo:'medida', clave:'r_3v3', txt:'Riel de 3.3 V', esperado:'> 1 kΩ', u:'Ω' },
|
||
{ tipo:'medida', clave:'r_rtk', txt:'Alimentación del simpleRTK2B (riel conmutado)', esperado:'> 1 kΩ', u:'Ω' },
|
||
{ tipo:'medida', clave:'v_bat_vacio', txt:'Batería en vacío', esperado:'3.0 – 4.2 V', u:'V' },
|
||
{ tipo:'radio', clave:'continuidad', req:true, txt:'Lectura fija en 0–20 Ω',
|
||
opciones:['No, todas suben o están altas','Sí — hay un corto'] },
|
||
{ tipo:'nota', si:corto, txt:'<div class="peligro"><b>Corto: no energices.</b> Foto de la zona, marca la unidad, cierra como FALLA y apártala para Querétaro.</div>' },
|
||
{ tipo:'foto', clave:'f_corto', etiqueta:'corto', si:corto, req:true, txt:'Zona del corto.' },
|
||
] },
|
||
|
||
{ titulo: '3 · Energizado con rampa de corriente', si:v=>!corto(v),
|
||
sub:'Fuente 24.0 V, límite 500 mA, sin antenas. Mira el amperímetro los primeros 3 s.',
|
||
items: [
|
||
{ tipo:'medida', clave:'i_pico', txt:'Corriente de arranque (pico)', u:'mA' },
|
||
{ tipo:'medida', clave:'i_estable', txt:'Corriente estable a 60 s', esperado:'150 – 400 mA con la etapa RTK encendida', u:'mA' },
|
||
{ tipo:'radio', clave:'rampa', req:true, txt:'Respuesta al energizar',
|
||
opciones:[
|
||
'A · 0 mA, la fuente no entrega nada',
|
||
'B · Se pega al límite y el voltaje se cae (corto)',
|
||
'C · 50–150 mA estables, sin LED',
|
||
'D · 150–400 mA y el LED parpadea',
|
||
'E · Sube despacio y algo se calienta'] },
|
||
{ tipo:'nota', si:v=>/^[BE]/.test(String(v.rampa||'')),
|
||
txt:'<div class="peligro"><b>Apaga la fuente ahora.</b> Localiza con el dorso de la mano qué se calienta, foto, y no vuelvas a energizar.</div>' },
|
||
{ tipo:'foto', clave:'f_calor', etiqueta:'sobrecalentamiento', si:v=>String(v.rampa||'').startsWith('E'), req:true,
|
||
txt:'Componente que se calienta.' },
|
||
] },
|
||
|
||
{ titulo: '4 · Rieles', si:enciende,
|
||
sub:'Energizada y estable.',
|
||
items: [
|
||
{ tipo:'medida', clave:'v_24', txt:'Entrada 24 V', esperado:'23 – 26 V', u:'V' },
|
||
{ tipo:'medida', clave:'v_5', txt:'Riel 5 V (salida Mean Well)', esperado:'4.8 – 5.2 V', u:'V' },
|
||
{ tipo:'medida', clave:'v_3v3',txt:'Riel 3.3 V', esperado:'3.20 – 3.40 V', u:'V' },
|
||
{ tipo:'medida', clave:'v_rtk_arranque', txt:'simpleRTK2B al arrancar', esperado:'0 V (obligatorio)', u:'V',
|
||
aviso:'5 V aquí al arrancar es un <b>defecto</b>: la etapa RTK solo enciende cuando el MCU lo pide.' },
|
||
{ tipo:'medida', clave:'v_bat_on', txt:'Batería, unidad encendida', u:'V' },
|
||
] },
|
||
|
||
{ titulo: '5 · Captura del Blackpill', si:enciende,
|
||
sub:'USB del Blackpill · 115200 baudios · guardar a archivo · 3 minutos, luego RESET.',
|
||
items: [
|
||
{ tipo:'archivo', clave:'log_blackpill', etiqueta:'blackpill', req:true,
|
||
txt:'Captura del Blackpill',
|
||
ayuda:'Nombre: <code>RTK-0NN_blackpill_AAAA-MM-DD.log</code>.' },
|
||
{ tipo:'texto', clave:'linea_boot', rows:'2', txt:'Línea BOOT', ph:'BOOT,1240,fw=3.0.3,reset=PIN' },
|
||
{ tipo:'texto', clave:'linea_tlm', rows:'3', txt:'Línea TLM estable', ph:'TLM,182000,RUN,DEGR,1,11,…' },
|
||
{ tipo:'radio', clave:'estado_fw', txt:'Estado a 10 min con antenas',
|
||
opciones:['RUN con link OK','RUN pero link DEGR o LIMP','Se queda en BOOT','Se reinicia solo una y otra vez','SLEEP'] },
|
||
] },
|
||
|
||
{ titulo: '6 · Captura del módem 4G', si:enciende,
|
||
sub:'USB XBEE del simpleRTK2B · 115200 · 3 min desde el arranque.',
|
||
items: [
|
||
{ tipo:'nota', txt:'Esta consola no prueba el enlace: un módem sano y uno averiado imprimen casi lo mismo. Las correcciones se confirman con el <code>link</code> del Blackpill, fix ≥ 4 o el servidor.' },
|
||
{ tipo:'archivo', clave:'log_4g', etiqueta:'modem4g', txt:'Captura del módem',
|
||
ayuda:'Nombre: <code>RTK-0NN_modem4g_AAAA-MM-DD.log</code>.' },
|
||
{ tipo:'radio', clave:'led_4g', txt:'LED de red del módem',
|
||
opciones:['Parpadeo lento o fijo (registrado)','Parpadeo rápido (buscando, no registra)','Apagado'] },
|
||
{ tipo:'texto', clave:'id_estacion', rows:'1', txt:'ID de estación (AS+K) y mountpoint' },
|
||
{ tipo:'texto', clave:'imei_iccid', rows:'1', txt:'IMEI del módem e ICCID de la SIM' },
|
||
] },
|
||
|
||
{ titulo: '7 · Captura del simpleRTK2B', si:enciende,
|
||
sub:'USB POWER+GPS · 115200 · antena con cielo (dentro del taller no hay fix).',
|
||
items: [
|
||
{ tipo:'archivo', clave:'log_ard', etiqueta:'ardusimple', txt:'NMEA o log de u-center',
|
||
ayuda:'Nombre: <code>RTK-0NN_ardusimple_AAAA-MM-DD.nmea</code>.' },
|
||
{ tipo:'medida', clave:'sats', txt:'Satélites vistos', esperado:'≥ 8 a cielo abierto' },
|
||
{ tipo:'radio', clave:'calidad', txt:'Calidad de fix ($GNGGA campo 6)',
|
||
opciones:['0 — sin posición','1 — GPS solo, sin correcciones','2 — corregido básico','4 — RTK fijo','5 — RTK flotante'],
|
||
aviso:'Calidad 1 con buenos satélites no es falla del GNSS: no llegan correcciones (módem o servidor).' },
|
||
{ tipo:'texto', clave:'fw_f9p', rows:'1', txt:'Firmware ZED-F9P (UBX-MON-VER)' },
|
||
] },
|
||
|
||
{ titulo: '8 · Reflasheo', si:enciende,
|
||
sub:'Solo después de subir la captura: el flasheo borra la memoria del equipo.',
|
||
items: [
|
||
{ tipo:'nota', si:v=>!listoParaFlashear(v),
|
||
txt:'<div class="peligro"><b>Todavía no reflashees.</b> Sube primero la captura del Blackpill (paso 5).</div>' },
|
||
{ tipo:'radio', clave:'reflash', si:listoParaFlashear, txt:'Reflasheo',
|
||
opciones:['No','Sí, con el binario publicado en Descargas'] },
|
||
{ tipo:'texto', clave:'fw_nuevo', si:v=>String(v.reflash||'').startsWith('Sí'), rows:'1',
|
||
txt:'Firmware después (línea BOOT)', ph:'fw=3.0.3' },
|
||
{ tipo:'archivo', clave:'log_post', etiqueta:'post-flasheo', si:v=>String(v.reflash||'').startsWith('Sí'),
|
||
txt:'Captura de después', ayuda:'Antes y después juntas dicen si el firmware cambió algo.' },
|
||
{ tipo:'radio', clave:'reflash_result', si:v=>String(v.reflash||'').startsWith('Sí'),
|
||
txt:'Efecto del reflasheo', opciones:['Sí, ahora arranca y se estabiliza','No, repite la misma falla','Empeoró: ya no arranca'] },
|
||
] },
|
||
|
||
{ titulo: '9 · Veredicto',
|
||
items: [
|
||
{ tipo:'radio', clave:'clasificacion', req:true, guardaEn:'clasificacion', txt:'Clasificación',
|
||
opciones:[
|
||
'Corto a tierra',
|
||
'No enciende, sin corto',
|
||
'Enciende pero la etapa RTK no arranca',
|
||
'Módem no registra en la red',
|
||
'GNSS sin correcciones (fix 1) con módem registrado',
|
||
'Batería dañada',
|
||
'Daño por calor visible',
|
||
'Agua o corrosión',
|
||
'Funciona en banco — no se reproduce la falla',
|
||
'No está claro'] },
|
||
{ tipo:'radio', clave:'accion', req:true, guardaEn:'accion', txt:'Disposición',
|
||
opciones:[
|
||
'Lista para reinstalar',
|
||
'Reflasheada, en observación',
|
||
'Se queda en el taller esperando refacción',
|
||
'Se envía a Querétaro',
|
||
'Baja definitiva'] },
|
||
{ tipo:'texto', clave:'observaciones', rows:'4', req:true,
|
||
txt:'Observaciones',
|
||
ph:'Qué viste y qué hiciste, como se lo contarías a un compañero.' },
|
||
] },
|
||
]
|
||
});
|
||
</script>
|
||
</body>
|
||
</html>
|