imrishabh18/rp2040-motor-controller
This circuit incorporates a USB-C Power Delivery (PD) interface with a CH224K controller, a WJ500V-5.08-04P motor output connector, multiple power conditioning components including capacitors, resistors, diodes, and an RP2040 microcontroller, to manage motor control, signal routing, and power management for a USB-powered stepper motor system.
- Version
- 1.0.14
- License
- unset
- Stars
- 0
schematic/MotorPowerFilteringSection.tsx
import {
groundTrace,
powerTrace,
schematicSections,
schematicSheets,
} from "./config";
export const MotorPowerFilteringComponents = () => (
<>
<fuse
name="F_MOTOR_VBUS"
currentRating="2A"
voltageRating="30V"
footprint="1812"
supplierPartNumbers={{ jlcpcb: ["C960026"] }}
manufacturerPartNumber="BSMD1812-200-30V"
pcbX={19}
pcbY={20}
schX={-3}
schY={-7.5}
schSheetName={schematicSheets.motorPower}
schSectionName={schematicSections.pdFiltering}
/>
<capacitor
name="C_PD_VBUS"
capacitance="10uF"
footprint="1206"
supplierPartNumbers={{ jlcpcb: ["C77093"] }}
manufacturerPartNumber="GRM31CR71E106KA12L"
pcbX={21.5}
pcbY={15}
pcbRotation={270}
maxDecouplingTraceLength={10}
schX={3}
schY={-7.5}
schOrientation="vertical"
schSheetName={schematicSheets.motorPower}
schSectionName={schematicSections.pdFiltering}
/>
<capacitor
name="C_MOTOR_BULK"
capacitance="220uF"
footprint="electrolytic_p2.5mm_id0.8mm_od1.6mm_d6.3mm"
supplierPartNumbers={{ jlcpcb: ["C43340"] }}
manufacturerPartNumber="KS227M016E07RR0VH2FP0"
pcbX={27.5}
pcbY={15.6}
pcbRotation={90}
schX={6}
schY={-7.5}
schOrientation="vertical"
schSheetName={schematicSheets.motorPower}
schSectionName={schematicSections.pdFiltering}
/>
<diode
name="D_MOTOR_TVS"
footprint="smb"
supplierPartNumbers={{ jlcpcb: ["C9019"] }}
manufacturerPartNumber="SMBJ11CA"
pcbX={11.5}
pcbY={11}
schX={9}
schY={-7.5}
schOrientation="vertical"
schSheetName={schematicSheets.motorPower}
schSectionName={schematicSections.pdFiltering}
/>
</>
);
export const MotorPowerFilteringSupplyTrace = () => (
<>
<trace
name="MOTOR_VBUS_FUSE_INPUT"
from=".J_MOTOR_USB > .A4B9"
to=".F_MOTOR_VBUS > .pin1"
{...powerTrace}
/>
<trace
name="MOTOR_VBUS_CAP"
from=".F_MOTOR_VBUS > .pin2"
to=".C_PD_VBUS > .pin1"
schDisplayLabel="VMOTOR_PROTECTED"
{...powerTrace}
/>
<trace
name="MOTOR_VBUS_BULK"
from=".F_MOTOR_VBUS > .pin2"
to=".C_MOTOR_BULK > .pin1"
{...powerTrace}
/>
<trace
name="MOTOR_VBUS_TVS"
from=".F_MOTOR_VBUS > .pin2"
to=".D_MOTOR_TVS > .cathode"
{...powerTrace}
/>
</>
);
export const MotorPowerFilteringGroundTrace = () => (
<>
<trace
name="PD_VBUS_CAP_GND"
from=".C_PD_VBUS > .pin2"
to="net.GND"
{...groundTrace}
/>
<trace
name="MOTOR_BULK_GND"
from=".C_MOTOR_BULK > .pin2"
to="net.GND"
{...groundTrace}
/>
<trace
name="MOTOR_TVS_GND"
from=".D_MOTOR_TVS > .anode"
to="net.GND"
{...groundTrace}
/>
</>
);