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-bridge.tsx

import { SchematicNote } from "./schematic-note";
import { DRV8874PWPR } from "../imports/DRV8874PWPR";
import { EEEFK1E471AP } from "../imports/EEEFK1E471AP";
import { KF350_3_5_2P } from "../imports/KF350_3_5_2P";
import { C, R, TestPad } from "./passives";

export function MotorBridge() {
	return (
		<schematicsheet
			name="bridge"
			displayName="03 12 V current-regulated motor bridge — A1 prototype"
			sheetSize="A4"
			sheetIndex={2}
		>
			<DRV8874PWPR
				name="U6"
				schHeight={1.8}
				pcbX={25}
				pcbY={-3}
				schX={0}
				schY={3}
				connections={{
					EN: "net.PWM",
					PH: "net.DIR",
					nSLEEP: "net.DRIVE_ENABLE",
					nFAULT: "net.HEALTH",
					VREF: "net.VREF_2V5",
					IPROPI: "net.IPROPI",
					OUT1: "net.MOTOR_A",
					OUT2: "net.MOTOR_B",
					VM: "net.VM",
					VCP: "net.VCP",
					CPH: "net.CPH",
					CPL: "net.CPL",
					GND: "net.GND",
					PGND: "net.GND",
					EP: "net.GND",
					PMODE: "net.GND",
				}}
				noConnect={["IMODE"]}
			/>
			<SchematicNote
				schX={0}
				schY={9}
				fontSize={0.23}
				text={
					"U6: DRV8874, 12 V brushed-motor H-bridge.\nPMODE low = PH/EN; 20 kHz drive/brake PWM. EN low = brake.\nnSLEEP low = high-impedance coast; firmware ramps before STOP.\nIMODE floating = 25 µs fixed-off-time regulation, latched overcurrent fault.\nIlimit ≈2.5 V / (9.8795 kΩ × 450 µA/A) = 0.562 A; prototype setting."
				}
			/>
			<KF350_3_5_2P
				name="J2"
				pcbX={40}
				pcbY={-4}
				pcbRotation={90}
				schX={10}
				schY={4}
				connections={{ pin1: "net.MOTOR_A", pin2: "net.MOTOR_B" }}
			/>
			<C
				name="C20"
				capacitance="100nF"
				pcb={[29, 2]}
				sch={[8, 0]}
				nets={["VM", "GND"]}
			/>
			<C
				name="C21"
				capacitance="22nF"
				pcb={[25, 3.5]}
				sch={[-8, 4]}
				nets={["CPH", "CPL"]}
			/>
			<C
				name="C22"
				capacitance="100nF"
				pcb={[29, 5]}
				sch={[-8, 0.5]}
				nets={["VCP", "VM"]}
			/>
			<EEEFK1E471AP
				name="C23"
				pcbX={26}
				pcbY={-16}
				schX={10}
				schY={-4}
				schRotation={-90}
				connections={{ pin1: "net.VM", pin2: "net.GND" }}
			/>
			<R
				name="R30"
				resistance="10k"
				pcb={[20, -8]}
				sch={[-8, -3]}
				nets={["IPROPI", "GND"]}
			/>
			<R
				name="R31"
				rotation={180}
				resistance="820k"
				pcb={[15, -7]}
				sch={[-3, -3]}
				nets={["IPROPI", "GND"]}
			/>
			<R
				name="R32"
				resistance="1k"
				pcb={[16, -10]}
				sch={[2, -3]}
				nets={["IPROPI", "CURRENT_ADC"]}
			/>
			<C
				name="C24"
				rotation={180}
				capacitance="100nF"
				pcb={[12, -13]}
				sch={[2, -6]}
				nets={["CURRENT_ADC", "GND"]}
			/>
			<R
				name="R33"
				resistance="100k"
				pcb={[20, -2]}
				sch={[-8, -6]}
				nets={["PWM", "GND"]}
			/>
			<R
				name="R34"
				resistance="100k"
				pcb={[20, -4.5]}
				sch={[-3, -6]}
				nets={["DRIVE_ENABLE", "GND"]}
			/>
			<SchematicNote
				schX={1}
				schY={-9.5}
				fontSize={0.23}
				text={
					"J2: PA25-24126000-G23 ONLY; rated 12 V / 250 mA, two wires.\n0.56 A regulation is not a continuous motor rating. Stall duration is unknown.\nFirmware overload shutdown and board-temperature trip do not measure winding temperature.\nC23: 470 µF / 25 V; rail clamp is on sheet 04. No external VM power injection."
				}
			/>
			<TestPad name="TP5" net="VM" pcb={[34, -15]} sch={[11, -7]} />
			<TestPad name="TP6" net="IPROPI" pcb={[17, -16]} sch={[-12, -3]} />
			<TestPad name="TP7" net="PWM" pcb={[17, -20]} sch={[-12, -6]} />
			<TestPad name="TP8" net="GND" pcb={[34, -19]} sch={[11, -9]} />
		</schematicsheet>
	);
}