Actúa como ingeniero de PCB y corrige este proyecto completo llamado "Monitor Industrial ESP32". Necesito que arregles el esquemático, la organización física de la PCB y el Project Specification, sin cambiar la arquitectura funcional del sistema.
OBJETIVO GENERAL
Crear una PCB limpia y ruteable para un monitor industrial basado en ESP32 DevKit V1, con entrada 12VDC, buck 12V a 5V, LDO 5V a 3V3, sensores DS18B20, entradas digitales 3.3V, entradas analógicas protegidas y conectores industriales. Antes de rutear, corrige todos los problemas de colocación, nets y solapamientos.
ARQUITECTURA QUE DEBE CONSERVARSE
- Entrada industrial: node_12VDC / 12V_PROTECTED.
- Buck: 12V_PROTECTED a 5V.
- LDO/regulador: 5V a 3V3.
- MCU: ESP32 DevKit V1.
- Bus OneWire DS18B20 en GPIO4 con pull-up 4.7k a 3V3.
- LED de estado en GPIO2 con resistencia limitadora.
- Entrada puerta refrigerador en GPIO18.
- Entrada fuga/agua compartida en GPIO21.
- Entrada flujo pulsos en GPIO23 con pull-up a 3V3.
- Entrada nivel de agua en GPIO19.
- ADC compresor en GPIO34 con 1k serie + 100nF a GND.
- ADC resistencia/calefactor en GPIO35 con 1k serie + 100nF a GND.
- ADC bomba en GPIO32 con 1k serie + 100nF a GND.
- Todas las señales externas al ESP32 deben ser 0 a 3.3V y aisladas/acondicionadas si vienen del mundo industrial.
- Ninguna señal AC debe conectarse directamente al ESP32.
CORRECCIÓN DEL ESQUEMÁTICO
-
Revisa y normaliza los nombres de red:
- 12V_PROTECTED
- 5V
- 3V3
- GND
- ONEWIRE_GPIO4
- DOOR_GPIO18
- LEAK_WATER_GPIO21
- FLOW_PULSE_GPIO23
- WATER_LEVEL_GPIO19
- ADC_COMPRESSOR_GPIO34
- ADC_HEATER_GPIO35
- ADC_PUMP_GPIO32
- LED_STATUS_GPIO2
-
Corrige conexiones incorrectas o ambiguas:
- GPIO32 solo debe ir al canal ADC de bomba después de su resistencia serie de 1k.
- GPIO34 solo debe ir al canal ADC de compresor después de su resistencia serie de 1k.
- GPIO35 solo debe ir al canal ADC de resistencia/calefactor después de su resistencia serie de 1k.
- GPIO23 solo debe ir a FLOW_PULSE_GPIO23 y su pull-up, nunca a 12V ni GND directamente.
- GPIO19 solo debe ir a WATER_LEVEL_GPIO19.
- GPIO21 solo debe ir a LEAK_WATER_GPIO21.
- GPIO18 solo debe ir a DOOR_GPIO18.
- EN del ESP32 no debe estar cortocircuitado con GND.
- Ningún pin GPIO debe tocar 12V_PROTECTED, 5V o GND salvo por resistencias, pull-ups, capacitores o circuitos previstos.
-
Para cada entrada analógica:
- Conector externo -> resistencia serie 1k -> pin ADC del ESP32.
- Capacitor 100nF desde el lado del pin ADC a GND.
- No conectar el ADC directamente a 12V, 5V ni señales no acondicionadas.
-
Para entradas digitales externas:
- Deben entrar como señales 3.3V.
- Agrega pull-up a 3V3 donde aplique, especialmente FLOW_PULSE_GPIO23 si no existe.
- No conectar entradas digitales directamente a 12V.
-
Para OneWire:
- Todos los conectores DS18B20 deben compartir ONEWIRE_GPIO4.
- Debe existir una resistencia pull-up de 4.7k entre ONEWIRE_GPIO4 y 3V3.
- Los conectores DS18B20 deben tener 3V3, GND y DATA/ONEWIRE.
CORRECCIÓN DE ERRORES DRC / OVERLAPPING COPPER
Corrige específicamente todos los errores de Overlapping Copper actualmente reportados. No los ocultes; elimina la causa física o eléctrica.
Errores a resolver:
- R7:P1 3V3 solapado con R_LEAK_SER:P1 / LEAK_WATER_GPIO21.
- U2:+IN / 12V_PROTECTED solapado con pads sin net.
- U1:D32 / ADC_PUMP_GPIO32 solapado con C_LEVEL_DEBOUNCE y J_PUMP_CURRENT.
- U1:D32 / ADC_PUMP_GPIO32 solapado con WATER_LEVEL_GPIO19.
- J_COMP_CURRENT Pin_2 / COMPRESSOR_RAW_0_3V3 solapado con U2 pad.
- U1:EN / ESP32_EN solapado con C_DOOR_DEBOUNCE / GND.
- R_FLOW_SER:P2 / FLOW_PULSE_GPIO23 solapado con C_12V input 12V_PROTECTED y GND.
- U2-IN, U2-OUT, U2+OUT, U2+IN y U2 pads no deben estar físicamente encima de otros pads ni conectores.
- Cualquier pad del ESP32 que esté solapado con resistencias, capacitores o conectores debe separarse físicamente.
La solución correcta es mover componentes y corregir nets, no crear cortos ni cambiar nombres para silenciar el DRC.
ORGANIZACIÓN DE LA PCB
Reorganiza toda la PCB antes de rutear:
- Coloca el ESP32 DevKit V1 en el centro-derecha o centro de la placa, con la antena hacia un borde exterior.
- Deja keepout bajo y frente a la antena del ESP32:
- Sin cobre.
- Sin plano GND.
- Sin componentes.
- Sin pistas.
- Coloca la entrada 12VDC y el buck en un borde de la placa, lejos de la antena y lejos de las entradas analógicas.
- Coloca el LDO 5V a 3V3 cerca del ESP32, con sus capacitores de entrada/salida cerca de sus pads.
- Coloca capacitores de desacoplo muy cerca de los pines o módulos que desacoplan.
- Coloca conectores externos en los bordes de la PCB.
- Agrupa conectores por función:
- Zona alimentación: entrada 12VDC, buck, protección, 5V, 3V3.
- Zona OneWire: conectores DS18B20 cerca de GPIO4.
- Zona digital: puerta, fuga, flujo, nivel cerca de sus GPIO.
- Zona analógica: compresor GPIO34, resistencia GPIO35, bomba GPIO32, con sus filtros RC cerca del ESP32 pero separados del buck.
- Ordena los conectores para minimizar cruces de airwires.
- No debe quedar ningún componente encima del footprint del ESP32.
- No debe quedar ningún footprint parcialmente fuera del contorno de placa.
- No debe quedar ningún pad encima de otro pad salvo que sea intencional y del mismo componente, cosa que aquí no aplica.
REGLAS DE RUTEO
Después de corregir placement:
- No autorutear todavía si quedan errores de overlapping copper.
- Primero deja airwires limpias y cortas.
- Luego prepara la PCB para ruteo manual:
- Pistas de alimentación 12V, 5V y 3V3 más anchas.
- Señales GPIO/ADC más delgadas.
- Evitar ángulos de 90 grados.
- Mantener ADC lejos del buck y pistas de conmutación.
- Usar plano GND si es posible, sin partir completamente el retorno.
- No poner cobre bajo la antena ESP32.
PROJECT SPECIFICATION
Actualiza el archivo Project Specification para que coincida exactamente con el diseño corregido. Debe incluir:
- Arquitectura final.
- Tabla de pines ESP32.
- Lista de conectores.
- Reglas de seguridad industrial.
- Reglas PCB.
- Nota clara: señales externas analógicas deben llegar aisladas/acondicionadas 0 a 3.3V.
- Nota clara: no conectar AC ni 12V directamente a GPIO.
- Nota clara: antena ESP32 requiere keepout libre de cobre/componentes.
CRITERIO DE ACEPTACIÓN
Al terminar:
- El esquemático debe conservar la arquitectura descrita.
- Todos los nets deben tener nombres claros.
- La PCB debe tener componentes separados, sin footprints encimados.
- Los errores de Overlapping Copper deben quedar en 0.
- Las airwires deben verse más cortas y con menos cruces.
- El ESP32 debe tener antena orientada hacia el borde con keepout libre.
- El diseño debe quedar listo para ruteo manual.
- No cambies la función del circuito para hacer desaparecer errores.
- Si una conexión es dudosa, déjala marcada como revisión y explícame cuál es antes de modificarla.