krishnax12/tensa-zangetsu-keychain-nfc
Summary: Calculates target inductance and estimated resonance for a 14.5 MHz square antenna using chip, interturn, bridge, and connection capacitances.
- Version
- 0.0.13
- License
- unset
- Stars
- 1
scripts/report-antenna.mjs
import { writeFileSync } from "node:fs"
import {
chipCapacitanceF,
estimatedBridgeCapacitanceF,
estimatedConnectionCapacitanceF,
estimatedInterturnCapacitanceF,
estimatedResonanceHz,
estimatedTotalCapacitanceF,
targetInductanceH,
targetResonanceHz,
} from "../antenna-tuning.ts"
import { coilPitch, coilSide, coilTurns, coilWidth, estimatedInductanceH } from "../square-antenna.ts"
const antennaReport = {
turns: coilTurns,
side_centerline_mm: coilSide,
trace_width_mm: coilWidth,
turn_gap_mm: coilPitch - coilWidth,
target_resonance_mhz: targetResonanceHz / 1e6,
target_inductance_uh: targetInductanceH * 1e6,
square_formula_inductance_uh: estimatedInductanceH * 1e6,
estimated_resonance_mhz: estimatedResonanceHz / 1e6,
capacitance_budget_pf: {
chip_typical: chipCapacitanceF * 1e12,
interturn_estimate: estimatedInterturnCapacitanceF * 1e12,
bridge_estimate: estimatedBridgeCapacitanceF * 1e12,
connection_estimate: estimatedConnectionCapacitanceF * 1e12,
total_estimate: estimatedTotalCapacitanceF * 1e12,
},
physical_rf_validation: "pending",
capacitance_extraction: "pending",
}
writeFileSync("dist/antenna-tuning.json", `${JSON.stringify(antennaReport, null, 2)}\n`)
console.log(JSON.stringify(antennaReport, null, 2))