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

imports/DRV8847PWPR.tsx

import type { ChipProps } from "@tscircuit/props";

const pinLabels = {
  pin1: ["nSleep"],
  pin2: ["AOUT1"],
  pin3: ["AISEN"],
  pin4: ["AOUT2"],
  pin5: ["BOUT2"],
  pin6: ["BISEN"],
  pin7: ["BOUT1"],
  pin8: ["nFault"],
  pin9: ["BIN1"],
  pin10: ["BIN2"],
  pin11: ["TRQ"],
  pin12: ["VM"],
  pin13: ["GND1"],
  pin14: ["MODE"],
  pin15: ["AIN2"],
  pin16: ["AIN1"],
  pin17: ["GND2"],
} as const;

export const DRV8847PWPR = (props: ChipProps<typeof pinLabels>) => {
  return (
    <chip
      pinLabels={pinLabels}
      pinAttributes={{
        VM: { requiresPower: true },
        GND1: { requiresGround: true },
        GND2: { requiresGround: true },
        nFault: { canUseOpenDrain: true, needsExternalPullup: true },
        nSleep: { needsExternalPulldown: true },
      }}
      supplierPartNumbers={{
        jlcpcb: ["C544361"],
      }}
      manufacturerPartNumber="DRV8847PWPR"
      footprint={
        <footprint>
          <smtpad
            portHints={["pin1"]}
            pcbX="-2.275078mm"
            pcbY="-2.850007mm"
            width="0.350012mm"
            height="1.2999974mm"
            radius="0.175006mm"
            shape="pill"
          />
          <smtpad
            portHints={["pin2"]}
            pcbX="-1.625092mm"
            pcbY="-2.850007mm"
            width="0.350012mm"
            height="1.2999974mm"
            radius="0.175006mm"
            shape="pill"
          />
          <smtpad
            portHints={["pin3"]}
            pcbX="-0.975106mm"
            pcbY="-2.850007mm"
            width="0.350012mm"
            height="1.2999974mm"
            radius="0.175006mm"
            shape="pill"
          />
          <smtpad
            portHints={["pin4"]}
            pcbX="-0.324866mm"
            pcbY="-2.850007mm"
            width="0.350012mm"
            height="1.2999974mm"
            radius="0.175006mm"
            shape="pill"
          />
          <smtpad
            portHints={["pin5"]}
            pcbX="0.32512mm"
            pcbY="-2.850007mm"
            width="0.350012mm"
            height="1.2999974mm"
            radius="0.175006mm"
            shape="pill"
          />
          <smtpad
            portHints={["pin6"]}
            pcbX="0.975106mm"
            pcbY="-2.850007mm"
            width="0.350012mm"
            height="1.2999974mm"
            radius="0.175006mm"
            shape="pill"
          />
          <smtpad
            portHints={["pin7"]}
            pcbX="1.625092mm"
            pcbY="-2.850007mm"
            width="0.350012mm"
            height="1.2999974mm"
            radius="0.175006mm"
            shape="pill"
          />
          <smtpad
            portHints={["pin8"]}
            pcbX="2.275078mm"
            pcbY="-2.850007mm"
            width="0.350012mm"
            height="1.2999974mm"
            radius="0.175006mm"
            shape="pill"
          />
          <smtpad
            portHints={["pin16"]}
            pcbX="-2.275078mm"
            pcbY="2.850007mm"
            width="0.350012mm"
            height="1.2999974mm"
            radius="0.175006mm"
            shape="pill"
          />
          <smtpad
            portHints={["pin15"]}
            pcbX="-1.625092mm"
            pcbY="2.850007mm"
            width="0.350012mm"
            height="1.2999974mm"
            radius="0.175006mm"
            shape="pill"
          />
          <smtpad
            portHints={["pin14"]}
            pcbX="-0.975106mm"
            pcbY="2.850007mm"
            width="0.350012mm"
            height="1.2999974mm"
            radius="0.175006mm"
            shape="pill"
          />
          <smtpad
            portHints={["pin13"]}
            pcbX="-0.324866mm"
            pcbY="2.850007mm"
            width="0.350012mm"
            height="1.2999974mm"
            radius="0.175006mm"
            shape="pill"
          />
          <smtpad
            portHints={["pin12"]}
            pcbX="0.32512mm"
            pcbY="2.850007mm"
            width="0.350012mm"
            height="1.2999974mm"
            radius="0.175006mm"
            shape="pill"
          />
          <smtpad
            portHints={["pin11"]}
            pcbX="0.975106mm"
            pcbY="2.850007mm"
            width="0.350012mm"
            height="1.2999974mm"
            radius="0.175006mm"
            shape="pill"
          />
          <smtpad
            portHints={["pin10"]}
            pcbX="1.625092mm"
            pcbY="2.850007mm"
            width="0.350012mm"
            height="1.2999974mm"
            radius="0.175006mm"
            shape="pill"
          />
          <smtpad
            portHints={["pin9"]}
            pcbX="2.275078mm"
            pcbY="2.850007mm"
            width="0.350012mm"
            height="1.2999974mm"
            radius="0.175006mm"
            shape="pill"
          />
          <smtpad
            portHints={["pin17"]}
            pcbX="0mm"
            pcbY="0mm"
            width="2.7399996mm"
            height="2.7399996mm"
            shape="rect"
          />
          <platedhole
            portHints={["pin17"]}
            pcbX="0.500126mm"
            pcbY="0.499872mm"
            outerDiameter="0.6096mm"
            holeDiameter="0.3048mm"
            shape="circle"
          />
          <platedhole
            portHints={["pin17"]}
            pcbX="-0.499872mm"
            pcbY="0.499872mm"
            outerDiameter="0.6096mm"
            holeDiameter="0.3048mm"
            shape="circle"
          />
          <platedhole
            portHints={["pin17"]}
            pcbX="-0.499872mm"
            pcbY="-0.500126mm"
            outerDiameter="0.6096mm"
            holeDiameter="0.3048mm"
            shape="circle"
          />
          <platedhole
            portHints={["pin17"]}
            pcbX="0.500126mm"
            pcbY="-0.500126mm"
            outerDiameter="0.6096mm"
            holeDiameter="0.3048mm"
            shape="circle"
          />
          <silkscreenpath
            route={[
              { x: 2.499994999999899, y: 2.100910200000044 },
              { x: 2.499994999999899, y: -2.1009101999999302 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: -2.5400000000000773, y: -2.1397722000000385 },
              { x: -2.5400000000000773, y: -0.3810000000000855 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: -2.5400000000000773, y: 2.1397722000000385 },
              { x: -2.5400000000000773, y: 0.3809999999999718 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: 1.9337273999999525, y: -2.1999955999999656 },
              { x: 1.9664425999999366, y: -2.1999955999999656 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: 1.2837413999998262, y: -2.1999955999999656 },
              { x: 1.3164565999998104, y: -2.1999955999999656 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: 0.6337554000000409, y: -2.1999955999999656 },
              { x: 0.6664706000000251, y: -2.1999955999999656 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: -0.01623060000008536, y: -2.1999955999999656 },
              { x: 0.01648459999989882, y: -2.1999955999999656 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: -0.6664706000000251, y: -2.1999955999999656 },
              { x: -0.6335014000000001, y: -2.1999955999999656 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: -1.316456599999924, y: -2.1999955999999656 },
              { x: -1.2837413999999399, y: -2.1999955999999656 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: -1.9664426000000503, y: -2.1999955999999656 },
              { x: -1.9337274000000662, y: -2.1999955999999656 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: 1.9337273999999525, y: 2.1999955999999656 },
              { x: 1.9664425999999366, y: 2.1999955999999656 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: 1.2837413999998262, y: 2.1999955999999656 },
              { x: 1.3164565999998104, y: 2.1999955999999656 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: 0.6337554000000409, y: 2.1999955999999656 },
              { x: 0.6664706000000251, y: 2.1999955999999656 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: -0.01623060000008536, y: 2.1999955999999656 },
              { x: 0.01648459999989882, y: 2.1999955999999656 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: -0.6664706000000251, y: 2.1999955999999656 },
              { x: -0.6335014000000001, y: 2.1999955999999656 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: -1.316456599999924, y: 2.1999955999999656 },
              { x: -1.2837413999999399, y: 2.1999955999999656 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: -1.9664426000000503, y: 2.1999955999999656 },
              { x: -1.9337274000000662, y: 2.1999955999999656 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: -1.8818860000001223, y: -1.6509999999999536 },
              { x: -1.887001010512563, y: -1.6898523621364347 },
              { x: -1.9019974625363147, y: -1.7260570000000826 },
              { x: -1.9258533726489304, y: -1.7571466273510623 },
              { x: -1.9569430000000239, y: -1.781002537463678 },
              { x: -1.993147637863558, y: -1.7959989894875434 },
              { x: -2.032000000000039, y: -1.8011139999998704 },
              { x: -2.070852362136634, y: -1.7959989894875434 },
              { x: -2.107057000000168, y: -1.781002537463678 },
              { x: -2.138146627351034, y: -1.7571466273510623 },
              { x: -2.16200253746365, y: -1.7260570000000826 },
              { x: -2.176998989487629, y: -1.6898523621364347 },
              { x: -2.1821140000000696, y: -1.6509999999999536 },
              { x: -2.176998989487629, y: -1.6121476378633588 },
              { x: -2.16200253746365, y: -1.5759429999998247 },
              { x: -2.138146627351034, y: -1.5448533726489586 },
              { x: -2.107057000000168, y: -1.520997462536343 },
              { x: -2.070852362136634, y: -1.5060010105123638 },
              { x: -2.032000000000039, y: -1.5008860000000368 },
              { x: -1.993147637863558, y: -1.5060010105123638 },
              { x: -1.9569430000000239, y: -1.520997462536343 },
              { x: -1.9258533726489304, y: -1.5448533726489586 },
              { x: -1.9019974625363147, y: -1.5759429999998247 },
              { x: -1.887001010512563, y: -1.6121476378633588 },
              { x: -1.8818860000001223, y: -1.6509999999999536 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: -2.7487879999999905, y: -2.8595319999999447 },
              { x: -2.753903010512545, y: -2.898384362136426 },
              { x: -2.7688994625364103, y: -2.93458899999996 },
              { x: -2.792755372649026, y: -2.9656786273510534 },
              { x: -2.8238450000000057, y: -2.989534537463669 },
              { x: -2.860049637863426, y: -3.004530989487421 },
              { x: -2.8989020000001346, y: -3.0096459999998615 },
              { x: -2.937754362136502, y: -3.004530989487421 },
              { x: -2.973959000000036, y: -2.989534537463669 },
              { x: -3.0050486273511297, y: -2.9656786273510534 },
              { x: -3.0289045374637453, y: -2.93458899999996 },
              { x: -3.043900989487497, y: -2.898384362136426 },
              { x: -3.0490159999999378, y: -2.8595319999999447 },
              { x: -3.043900989487497, y: -2.82067963786335 },
              { x: -3.0289045374637453, y: -2.7844749999999294 },
              { x: -3.0050486273511297, y: -2.753385372648836 },
              { x: -2.973959000000036, y: -2.7295294625362203 },
              { x: -2.937754362136502, y: -2.7145330105124685 },
              { x: -2.8989020000001346, y: -2.709417999999914 },
              { x: -2.860049637863426, y: -2.7145330105124685 },
              { x: -2.8238450000000057, y: -2.7295294625362203 },
              { x: -2.792755372649026, y: -2.753385372648836 },
              { x: -2.7688994625364103, y: -2.7844749999999294 },
              { x: -2.753903010512545, y: -2.82067963786335 },
              { x: -2.7487879999999905, y: -2.8595319999999447 },
            ]}
          />
          <silkscreenpath
            route={[
              { x: -2.5400000000000773, y: -0.3810000000000855 },
              { x: -2.7639461811234014, y: -0.308235474856815 },
              { x: -2.902352532708619, y: -0.11773547485677227 },
              { x: -2.902352532708619, y: 0.11773547485688596 },
              { x: -2.7639461811234014, y: 0.3082354748569287 },
              { x: -2.5400000000000773, y: 0.3809999999999718 },
            ]}
          />
          <silkscreentext
            text="{NAME}"
            pcbX="-0.2794mm"
            pcbY="4.3274mm"
            anchorAlignment="center"
            fontSize="1mm"
          />
          <courtyardoutline
            outline={[
              { x: -3.298000000000002, y: 3.5774000000000115 },
              { x: 2.7392000000000962, y: 3.5774000000000115 },
              { x: 2.7392000000000962, y: -3.983799999999974 },
              { x: -3.298000000000002, y: -3.983799999999974 },
              { x: -3.298000000000002, y: 3.5774000000000115 },
            ]}
          />
        </footprint>
      }
      cadModel={{
        objUrl:
          "https://modelcdn.tscircuit.com/easyeda_models/assets/C50506.obj?uuid=534f03d8fe164fbab551f91e5a792e30",
        stepUrl:
          "https://modelcdn.tscircuit.com/easyeda_models/assets/C50506.step?uuid=534f03d8fe164fbab551f91e5a792e30",
        pcbRotationOffset: 90,
        modelOriginPosition: { x: 0, y: 0, z: -0.019205 },
      }}
      {...props}
    />
  );
};