Files
AR-Autopilot/tools/spice/1_buck_chain.cir
T
alro65 ad4c4581b6 fix(spice): corregir errores LTspice en buck chain y output stage
1_buck_chain.cir:
- RL1 creaba nodo flotante V5V_AFTER_L sin retorno
- Reemplazado por parametro Rser=0.051 en L1 (soporte nativo LTspice)

2_output_stage.cir:
- Gcoll con VALUE={} no es sintaxis valida para G-source en LTspice
  → convertido a B-source: Bcoll GATE_Q1 EMITTER I={MAX(0, 1.0*I(Dled))}
- .net V(out1) VLOAD → directiva invalida en este contexto, eliminada
- .meas V(out1) → nodo inexistente, corregido a V(drain_q1)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-23 00:30:24 -04:00

147 lines
5.5 KiB
Plaintext

* =======================================================================
* AR-Autopilot — Cadena de Alimentacion: 12V → 5V → 3.3V
* Archivo: 1_buck_chain.cir
* Tarjetas: Modulo ESP32+CAN+RS485 / Modulo ESP32+CAN (nodo compacto)
*
* COMO USAR EN LTSPICE:
* File → Open → seleccionar este .cir
* Run (boton Play) → ya configurado para .tran 50ms
* Probes utiles:
* V(v5v) → tension 5V de salida
* V(v33) → tension 3.3V de salida
* I(Rload5) → corriente consumida a 5V
* I(Rload33)→ corriente consumida a 3.3V
*
* MODELO: Average behavioural (no switching). Captura correctamente:
* - Tension DC de salida (verificacion de Rfb)
* - Rampa de arranque (soft-start ~2ms)
* - Respuesta a escalon de carga
* - Rizado de salida (via ESR del condensador)
* =======================================================================
.title AR-Autopilot Buck Chain 12V-5V-3V3
* -----------------------------------------------------------------------
* PROTECCION DE ENTRADA 12V
* -----------------------------------------------------------------------
* Fusible 1812L125_16DR: 1.25A / 16V — modelado como resistencia serie
* (en SPICE el fusible no se funde, pero RSer=0.1 Ohm representa la caida)
* TVS SM6T24A: Vclamp=24V, absorbe load dump marino (hasta 45V transitorio)
* Para simular el TVS activo, cambiar Vin a PULSE(12 45 10m 1u 1u 1m 100m)
Vin VIN_RAW GND PULSE(0 12 0 500u 500u 200m 500m)
Rfuse VIN_RAW VIN_FUSED 0.1
* Catodo Anodo modelo
DTVS VIN_FUSED GND DTVS_SM6T24A
.model DTVS_SM6T24A D(Ron=0.05 Vfwd=24 epsilon=0.5 Ilimit=25)
* -----------------------------------------------------------------------
* ETAPA 1: Buck 12V → 5V (MP2338, L=6.8uH, Cout=44uF)
* -----------------------------------------------------------------------
* Calculo Vfb: Vout = 0.8V * (1 + R47/R45) = 0.8*(1+52.3k/10k) = 4.984V ≈ 5V
* Frecuencia de conmutacion: 1.4 MHz
* Corriente ripple inductor: dIL = Vout*(1-D)/(L*Fsw)
* = 5*(1-5/12)/(6.8u*1.4M) = 0.306A pp
* Condensadores de salida: 2x EMK212BBJ226MGT = 2x22uF = 44uF
* ESR tipico a 1MHz: ~10mOhm por condensador → 5mOhm en paralelo
* Fuente behavioural — modelo promedio del buck MP2338
* La rampa de 2ms emula el soft-start interno del IC
Ebuck1 V5V_IDEAL GND VALUE={
+ IF( V(VIN_FUSED) > 4.5,
+ MIN(5.0 , V(VIN_FUSED) * (1 - EXP(-TIME/0.002)) * (5.0/12.0) * (12.0/V(VIN_FUSED)) ),
+ 0 ) }
* Resistencia de salida interna (modela perdidas del buck: DCR+RDS_on)
Rbuck1 V5V_IDEAL V5V_SW 0.05
* Inductor de salida real: L2 = DRA74-6R8-R (6.8uH, DCR=51mOhm)
* DCR modelado con Rser= (parametro interno de LTspice) — evita nodo flotante
L1 V5V_SW V5V 6.8u Rser=0.051
.ic V(V5V)=0
* Condensadores de salida — 2x 22uF en paralelo
* ESR de EMK212BBJ226MGT a 1MHz: ~10mOhm. En paralelo = 5mOhm
Cout1a V5V GND 22u IC=0
.param ESR_emk=0.01
Resr1a V5V COUT1A_NODE 0.01
Cout1b COUT1A_NODE GND 22u IC=0
* Resistencias de feedback (para referencia — no afectan el modelo behavioural)
* pero verifican el calculo: Vout = 0.8*(1+R47/R45)
R47 V5V VFB1 52.3k
R45 VFB1 GND 10k
* Vfb1 deberia estar en ~0.8V cuando Vout=5V:
* Vfb1 = 5V * R45/(R47+R45) = 5 * 10k/62.3k = 0.803V ✓
* Carga de prueba a 5V
* ESP32 DevKit + MCP2562T + SN65HVD1781 ≈ 200mA total
* 5V / 200mA = 25 Ohm (carga nominal)
* Para simular escalon de carga: PULSE(25 12.5 10m 1u 1u 5m 50m)
Rload5 V5V GND 25
* Condensador de bypass junto al conector
Cbypass5 V5V GND 100n
* -----------------------------------------------------------------------
* ETAPA 2: Buck 5V → 3.3V (MP2338, L=4.7uH, Cout=44uF)
* -----------------------------------------------------------------------
* Calculo Vfb: Vout = 0.8V * (1 + R44/R42) = 0.8*(1+31.6k/10k) = 3.328V ≈ 3.3V
* Corriente ripple: dIL = 3.3*(1-3.3/5)/(4.7u*1.4M) = 0.171A pp
Ebuck2 V33_IDEAL GND VALUE={
+ IF( V(V5V) > 3.5,
+ MIN(3.3 , V(V5V) * (1 - EXP(-(TIME-0.001)/0.002)) * (3.3/5.0) * (5.0/V(V5V)) ),
+ 0 ) }
Rbuck2 V33_IDEAL V33_SW 0.04
* Inductor: L3 = NRS5010T4R7NMGF (4.7uH, DCR=28mOhm, Isat=4.8A)
L2 V33_SW V33 4.7u
.ic V(V33)=0
* Condensadores de salida — 2x 22uF
Cout2a V33 GND 22u IC=0
Cout2b V33 GND 22u IC=0
* Resistencias de feedback
* Vout = 0.8*(1+R44/R42) = 0.8*(1+31.6k/10k) = 3.328V
R44 V33 VFB2 31.6k
R42 VFB2 GND 10k
* Carga de prueba a 3.3V
* ESP32 activo consumo tipico: 80mA @ 3.3V → 41 Ohm
* Picos en TX WiFi: 350mA → 9.4 Ohm
* Carga nominal para prueba:
Rload33 V33 GND 41
Cbypass33 V33 GND 100n
* -----------------------------------------------------------------------
* DIRECTIVAS DE SIMULACION
* -----------------------------------------------------------------------
* Analisis transitorio: 50ms total, paso maximo 1us
* Permite ver:
* - Rampa de arranque (0-5ms)
* - Estado estable (10-50ms)
* - Rizado de salida (zoom a estado estable)
.tran 0 50m 0 1u
* Opciones de convergencia para fuentes behaviorales
.options reltol=0.001 abstol=1n vntol=1m
* -----------------------------------------------------------------------
* VALORES ESPERADOS (verificar con probes)
* -----------------------------------------------------------------------
* V(v5v) en estado estable: 4.95V - 5.05V (tolerancia ±1% del MP2338)
* V(v33) en estado estable: 3.267V - 3.333V
* V(vfb1) en estado estable: ~0.803V
* V(vfb2) en estado estable: ~0.797V
* I(Rload5) en estado estable: ~200mA
* I(Rload33) en estado estable: ~80mA
* Tiempo de arranque (10%-90%): ~2-4ms por etapa
.backanno
.end