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))