AnasSarkiz/usb-c-pd-brushed-motor

USB-C PD-powered motor controller with protected input, selectable 5/9/12 V buck supply, MCU qualification, PWM H-bridge drive, overvoltage sensing, regenerative energy-dump resistors, and safety interlocks.

Version
0.0.1-a48-cloud-pipeline9-unrouted-c41d79a-305b1e7a
License
unset
Stars
0

scripts/review-power-envelope.ts

import { writeFile } from "node:fs/promises"
import {
  analogRailCorners,
  prototypeThermalRequirements,
  prototypeRegenScreen,
} from "./power-prototype-envelope"
const analog = [undefined, 21000, 12000].map((branchOhms) => ({
  branchOhms,
  limits: analogRailCorners(branchOhms),
}))
const report = {
  revision: "A22",
  analog,
  thermal: ([5, 9, 12] as const).map(prototypeThermalRequirements),
  regeneration: prototypeRegenScreen(),
}
await writeFile(
  "evidence/power-prototype-envelope-A22.json",
  JSON.stringify(report, null, 2) + "\n",
)
console.log(JSON.stringify(report, null, 2))
if (
  analog.some(
    ({ limits }) =>
      !limits.uvBelowBuckMinimumFb ||
      !limits.ovAboveBuckMaximumFb ||
      !limits.hysteresisPositive ||
      !limits.referenceBiasScreen,
  )
)
  process.exitCode = 1