MustafaMulla29/rp2040-bldc-motor-controller-new
A USB‑C PD–powered RP2040 BLDC motor controller PCB with 3.3 V logic, MCT8329A sensorless commutation, three MOSFET half-bridges, protected power switching, USB data, controls, and motor connectors.
- Version
- 0.3.82
- License
- unset
- Stars
- 0
circuit/pd-load.tsx
import { USBLC6_2SC6 } from "../imports/USBLC6_2SC6"
import { SMBJ22A } from "../imports/SMBJ22A"
import { LM74700QDBVRQ1 } from "../imports/LM74700QDBVRQ1"
import { DMT6007LFG_7 } from "../imports/DMT6007LFG_7"
import { A_0452003_MRL } from "../imports/A_0452003_MRL"
import { schAt, net, Passives, type Passive } from "./helpers"
const parts: Passive[] = [
{name:"C145",kind:"C",value:"1uF",a:"IDEAL_VCAP",b:"PD9_FUSED",x:0,y:0,footprint:"0805",volts:50},
{name:"C146",kind:"C",value:"100nF",a:"PD9_FUSED",b:"GND",x:0,y:0,footprint:"0603",volts:50},
{ name: "C20", kind: "C", value: "10uF", a: "PD9", b: "GND", x: -11, y: 43, volts: 25, footprint: "0805" },
{ name: "C21", kind: "C", value: "10uF", a: "PD9", b: "GND", x: -11, y: 39, volts: 25, footprint: "0805" },
{ name: "C22", kind: "C", value: "100nF", a: "PD9", b: "GND", x: -7, y: 39 },
{ name: "R30", kind: "R", value: "220k", a: "VMOTOR", b: "ADC_VMOTOR", x: 26, y: 10 },
{ name: "R31", kind: "R", value: "15k", a: "ADC_VMOTOR", b: "GND", x: 21, y: 10 },
{ name: "C39", kind: "C", value: "10nF", a: "ADC_VMOTOR", b: "GND", x: 16, y: 10 },
{ name: "C60", kind: "C", value: "100nF", a: "V3V3", b: "GND", x: -58, y: -22 },
]
/** PD-only load path. U12/Q7 block motor energy from returning to the USB source.
* D4 is a transient suppressor, not a continuous regenerative-braking load.
*/
export function PdLoad() {
return <>
<fuse name="F1" currentRating="3A" voltageRating="125V" manufacturerPartNumber="0452003.MRL"
supplierPartNumbers={{jlcpcb:["C99550"]}} footprint={A_0452003_MRL({name:"F1"}).props.footprint}
{...schAt("F1",0,0)} connections={{pin1:net("PD9"),pin2:net("PD9_FUSED")}} />
{/* TI LM74700 reference topology: MOSFET source faces the USB supply;
drain faces the motor. The body diode conducts forward during startup. */}
<LM74700QDBVRQ1 name="U12" {...schAt("U12",0,0)}
connections={{pin1:net("IDEAL_VCAP"),pin2:net("GND"),pin3:net("PD9_FUSED"),
pin4:net("PD_LOAD"),pin5:net("IDEAL_GATE"),pin6:net("PD9_FUSED")}} />
<DMT6007LFG_7 name="Q7" {...schAt("Q7",0,0)}
connections={{pin1:net("PD9_FUSED"),pin2:net("PD9_FUSED"),pin3:net("PD9_FUSED"),
pin4:net("IDEAL_GATE"),pin5:net("PD_LOAD")}} />
<SMBJ22A name="D4" variant="tvs" {...schAt("D4",0,0)}
connections={{cathode:net("PD_LOAD"),anode:net("GND")}} />
<USBLC6_2SC6 name="U10" {...schAt("U10",0,0)}
connections={{pin1:net("USB_DP"),pin6:net("USB_DP"),pin3:net("USB_DM"),pin4:net("USB_DM"),pin2:net("GND"),pin5:net("V3V3")}} />
<Passives parts={parts} sx={0} sy={0}/>
</>
}