AnasSarkiz/usb-c-pwm-pa25

A component library defining an AO3400A N-channel MOSFET, 47 µF polarized capacitor, 3-pin through-hole connector, and 9.1 V Zener diode with PCB footprints and 3D CAD models.

Version
0.1.0-prototype.2
License
unset
Stars
0

lib/motor-power.tsx

import { A_25SVPF47M } from "../imports/A_25SVPF47M";
import { SchematicNote } from "./schematic-note";
import { AO3400A } from "../imports/AO3400A";
import { TPS259470LRPWR } from "../imports/TPS259470LRPWR";
import { TPS54202DDCR } from "../imports/TPS54202DDCR";
import { SRP7050TA_150M } from "../imports/SRP7050TA_150M";
import { C, R, TestPad } from "./passives";

export function MotorPower() {
	return (
		<schematicsheet
			name="power"
			displayName="02 Protected 15 V / regulated 12 V — A1 prototype"
			sheetSize="A4"
			sheetIndex={1}
		>
			<TPS259470LRPWR
				name="U2"
				pcbX={-15}
				pcbY={2}
				schX={-8}
				schY={5}
				connections={{
					IN: "net.PD_OUT",
					OUT: "net.V15",
					GND: "net.GND",
					EN_UVLO: "net.INPUT_EN",
					OVLO: "net.INPUT_OV",
					DVDT: "net.INPUT_SLEW",
					ILM: "net.INPUT_LIMIT",
					AUXOFF: "net.HEALTH",
					FLT: "net.HEALTH",
				}}
				noConnect={["ITIMER"]}
			/>
			<SchematicNote
				schX={-8}
				schY={9}
				fontSize={0.23}
				text={
					"U2: 2.7–23 V eFuse; 1.19 A nominal limit; latched faults.\nUV ≈13.2 V / OV ≈16.8 V. 0.2 V/ms soft start.\nQ2 defaults ON to inhibit power until a valid PD contract."
				}
			/>
			<R
				name="R10"
				resistance="100k"
				pcb={[-20, 6]}
				sch={[-13, 5]}
				nets={["PD_OUT", "INPUT_EN"]}
			/>
			<R
				name="R11"
				resistance="10k"
				pcb={[-16, 6]}
				sch={[-13, 2.5]}
				nets={["INPUT_EN", "GND"]}
			/>
			<R
				name="R12"
				resistance="130k"
				pcb={[-20, 8.5]}
				sch={[-3, 5]}
				nets={["PD_OUT", "INPUT_OV"]}
			/>
			<R
				name="R13"
				resistance="10k"
				pcb={[-16, 8.5]}
				sch={[-3, 2.5]}
				nets={["INPUT_OV", "GND"]}
			/>
			<R
				name="R14"
				resistance="2.8k"
				pcb={[-11, 6]}
				sch={[-13, 0]}
				nets={["INPUT_LIMIT", "GND"]}
			/>
			<C
				name="C10"
				capacitance="10nF"
				pcb={[-11, 3.5]}
				sch={[-8, 0]}
				nets={["INPUT_SLEW", "GND"]}
			/>
			<C
				name="C11"
				capacitance="100nF"
				pcb={[-19, -0.5]}
				sch={[-3, 0]}
				nets={["PD_OUT", "GND"]}
			/>
			<AO3400A
				name="Q2"
				pcbX={-15}
				pcbY={-3}
				schX={-8}
				schY={-3}
				connections={{ G: "net.PWR_OFF", S: "net.GND", D: "net.INPUT_EN" }}
			/>
			<R
				name="R15"
				resistance="10k"
				pcb={[-19, -4]}
				sch={[-13, -3]}
				nets={["V3V3", "PWR_OFF"]}
			/>
			<TPS54202DDCR
				name="U4"
				pcbX={-4}
				pcbY={2}
				schX={7}
				schY={5}
				connections={{
					VIN: "net.V15",
					GND: "net.GND",
					SW: "net.SW",
					BOOT: "net.BOOT",
					FB: "net.FB",
				}}
				noConnect={["EN"]}
			/>
			<SchematicNote
				schX={7}
				schY={9}
				fontSize={0.23}
				text={
					"U4: TPS54202 buck, 15 V → 11.980 V nominal; 500 kHz.\nInput 4.5–28 V; IC 2 A rating is not a board rating.\n15 µH / 47 µF polymer; FB = 191 kΩ / 10 kΩ; EN internally pulled up."
				}
			/>
			<C
				name="C12"
				capacitance="10uF"
				pcb={[-6, -2]}
				sch={[2, 5]}
				nets={["V15", "GND"]}
			/>
			<C
				name="C13"
				capacitance="100nF"
				pcb={[-8, 1.7]}
				sch={[2, 2.5]}
				nets={["V15", "GND"]}
			/>
			<C
				name="C14"
				capacitance="100nF"
				pcb={[-4, 5.5]}
				sch={[7, 0]}
				nets={["BOOT", "SW"]}
			/>
			<SRP7050TA_150M
				name="L1"
				pcbRotation={180}
				pcbX={3.5}
				pcbY={1}
				schX={12}
				schY={5}
				connections={{ pin1: "net.SW", pin2: "net.V12_BUCK" }}
			/>
			<A_25SVPF47M
				name="C15"
				pcbX={5}
				pcbY={-7}
				schX={12}
				schY={1.5}
				schRotation={-90}
				connections={{ pin1: "net.V12_BUCK", pin2: "net.GND" }}
			/>
			<C
				name="C16"
				capacitance="100nF"
				pcb={[11.5, -5]}
				sch={[12, -1]}
				nets={["V12_BUCK", "GND"]}
			/>
			<R
				name="R16"
				rotation={180}
				resistance="191k"
				pcb={[-2, -4.5]}
				sch={[2, -2]}
				nets={["V12_BUCK", "FB"]}
			/>
			<R
				name="R17"
				rotation={180}
				resistance="10k"
				pcb={[-2, -7]}
				sch={[7, -2]}
				nets={["FB", "GND"]}
			/>
			<C
				name="C19"
				capacitance="47pF"
				pcb={[-7, 5.5]}
				sch={[2, 0]}
				nets={["V12_BUCK", "FB"]}
			/>
			<TPS259470LRPWR
				name="U5"
				pcbX={12}
				pcbY={1}
				schX={0}
				schY={-7}
				connections={{
					IN: "net.V12_BUCK",
					OUT: "net.VM",
					GND: "net.GND",
					EN_UVLO: "net.MOTOR_UV",
					OVLO: "net.MOTOR_OV",
					DVDT: "net.MOTOR_SLEW",
					ILM: "net.MOTOR_LIMIT",
					AUXOFF: "net.HEALTH",
					FLT: "net.HEALTH",
				}}
				noConnect={["ITIMER"]}
			/>
			<R
				name="R18"
				resistance="80.6k"
				pcb={[10, 6]}
				sch={[-10, -6]}
				nets={["V12_BUCK", "MOTOR_UV"]}
			/>
			<R
				name="R19"
				resistance="10k"
				pcb={[14, 6]}
				sch={[-5, -6]}
				nets={["MOTOR_UV", "GND"]}
			/>
			<R
				name="R20"
				resistance="100k"
				pcb={[10, 8.5]}
				sch={[-10, -8.5]}
				nets={["V12_BUCK", "MOTOR_OV"]}
			/>
			<R
				name="R21"
				resistance="10k"
				pcb={[14, 8.5]}
				sch={[-5, -8.5]}
				nets={["MOTOR_OV", "GND"]}
			/>
			<R
				name="R22"
				resistance="2.8k"
				pcb={[16, 3]}
				sch={[5, -6]}
				nets={["MOTOR_LIMIT", "GND"]}
			/>
			<C
				name="C17"
				capacitance="10nF"
				pcb={[16, 0.5]}
				sch={[10, -6]}
				nets={["MOTOR_SLEW", "GND"]}
			/>
			<C
				name="C18"
				capacitance="100nF"
				pcb={[15, -3]}
				sch={[5, -8.5]}
				nets={["V12_BUCK", "GND"]}
			/>
			<AO3400A
				name="Q3"
				pcbX={12}
				pcbY={-10}
				schX={10}
				schY={-9}
				connections={{ G: "net.PWR_OFF", S: "net.GND", D: "net.MOTOR_UV" }}
			/>
			<SchematicNote
				schX={1}
				schY={-10.5}
				fontSize={0.23}
				text={
					"U5: continuous reverse-current blocking isolates regenerated VM from the buck.\nUV ≈10.872 V / OV ≈13.2 V; 1.19 A nominal limit. 470 µF bulk is downstream.\nHEALTH combines open-drain ready/fault signals; U2 disable resets both power stages."
				}
			/>
			<TestPad name="TP3" net="V15" pcb={[-9, -9]} sch={[-13, -9]} />
			<TestPad name="TP4" net="V12_BUCK" pcb={[5, -13]} sch={[13, -7.8]} />
		</schematicsheet>
	);
}