main
matt Add MTA-156 input revision and document enclosure and cable-fit limits 16485bb
"""AP63203 DS41326 rev3-2 equations 7–9; prototype design envelope, not hardware qualification."""
import json,pathlib,math
P=pathlib.Path(__file__).resolve().parent;n=json.loads((P/'netlist.json').read_text());b=n['loadAssumptions']
# AP63203 frequency limits are intentionally not invented; use 1.1 MHz typical screening until table is checked.
vinlo,vinhi=b['VIN12_V'];vout=3.3;imax=b['regulator_output_A'];L=3.9e-6
cases=[]
for vin in [vinlo,vinhi]:
 for tol in [-.3,.3]:
  ripple=vout*(vin-vout)/(vin*L*(1+tol)*1.1e6);peak=imax+ripple/2
  cases.append({'vin_V':vin,'inductor_tolerance':tol,'ripple_pp_A':ripple,'peak_A':peak,'inductor_rms_A':math.sqrt(imax**2+ripple**2/12)})
rds=.017*1.6 # AOS AO4407A Rds max at Vgs=-6V, 25C; 1.6 is a conservative self-set hot multiplier.
current=b['combined_continuous_fan_A']+vout*imax/(vinlo*.8)
out={'status':'preliminary; frequency tolerance, MLCC bias curves and switching model pending','topology':'buck','VIN':12,'VOUT':3.3,'fsw_kHz':1100,'assumptions':b,'buck':{'equation':'DS41326 eq 7: deltaIL=Vout*(Vin-Vout)/(Vin*L*fsw)','frequency_basis':'typical only; not a worst-case guarantee','cases':cases,'recommended_values':'DS41326 table 2: 3.9uH, CIN10uF, COUT2x22uF, CBST100nF','c_out_nominal_uF':44,'c_out_screen_effective_uF':44*.9*.6,'cap_derating_note':'60% DC-bias retention is an engineering screen, not verified manufacturer guaranteed capacitance.'},'protection':{'mosfet_source':'AOS AO4407A rev11.1 March2024 p2, max17mohm at -6V gate; x1.6 hot assumption','continuous_screen_A':current,'mosfet_hot_W':current**2*rds,'mosfet_drop_V':current*rds,'fuse_A':4,'fuse_continuous_75percent_A':3.0,'fuse_note':'Littelfuse466 standard25% derating at25C; ambient curve and fan starting I2t still require check.'},'logic':{'tach_pullup_max_A':3.6/(10000*.99),'tach_filter_time_s':1000*1e-9,'onewire_pullup_max_A':3.6/(4700*.99),'reset_RC_nominal_ms':10,'pwm_period_us':40,'pwm_low_resistor_drop_at_5mA_V':.005*33*1.01,'led_max_A':(3.6-1.8)/(2200*.99)},'required_checks':['Regulator frequency min/max and current-limit tolerance','MLCC effective capacitance at bias and temperature','Fan supply tolerance and start/locked-rotor current','Fused source available fault current','Full mated mechanical fit and cable bend','Thermal and transient simulation/bench tests']}
(P/'calcs.json').write_text(json.dumps(out,indent=2));print(json.dumps(out,indent=2))