Skip to the content
2 layers36 × 29.9 mmBLDC driver, the printed circuit board in 3D

TI DRV10983-Q1 based BLDC motor controller

Size
36 × 29.9 mm
Copper layers
2
Thickness
1.6 mm
Parts
31
Nets
23
Pads
80
Tracks, vias
152, 38
Pours
1
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
11 Oct 2024
Updated
20 Nov 2024

Overview

BLDC driver is an open-source printed circuit board by ChiefNyB, from the ChiefNyB/BLDC_driver repository on GitHub. It is a 2-layer board of 36 × 29.9 mm with 31 parts on 23 nets, routed with 152 tracks and 38 vias.

It is built around the DRV10983QPWPRQ1. Its parts include 9 resistors, 6 capacitors, 1 IC, 1 diode and 1 connector. It belongs with the robots and motor control boards of this library.

Main components

1

README

README.md

BLDC driver

TI DRV10983-Q1 based BLDC motor controller

Development software: KiCad 8.0.5 (latest)

Üzenet

Szerintem majd ide a README-be írogathatjuk dokumnetáció vázlatos részét, a számítást meg Excelbe vagy valami python scriptbe lehet nyomni (ugyanígy version controllozva), aztán innen aztán mehet majd Word-be a bővebb leírás.

Éés szerintem nyugodtan írogathatunk ide kommenteket is, talán kevésbé veszik el mint a chatben.

Légyszi nézzétek meg a katalógust is (bent van a datasheet mappában), meg az áramkört is, igyekeztem leírni a dolgokat amiket csináltam. Mindezek alapján remélem, hogy nektek is érthető lesz majd, hogy mi mit csinál. Ha bármi kérdésetek van, írjátok akár ide valahova, akár messengeren. Légyszi mindketten olvassátok el az egész README-t! Köszi :)

Ide kigyűjtöttem, hogy szerintem még mi kell:

További lépések (nagy vonalakban)

  • Komponensek értékeinek kiszámítása --> komponensek választása
  • Fizikai layout kialakítása
  • (adhatnánk majd a hozzá passzoló motorokra egy példát)

Dokumentáció vázlatosan (kapcsolás)

(ömlesztett gondolatok, egy csöppet össze-vissza)

KORREKCIÓ: A TVS DIÓDÁT EGYENLŐRE KISZEDTEM, VAN BEÉPÍTETT A CHIPBE

  • a chip modellt (footprint, stb...) a TI-os lapról töltöttem és illesztettem be: link (lementettem saját global libraryba... ha nektek valami miatt nem látszódna, akkor ezt lehet nektek is meg kell csinálni)

  • IC bekötése a datasheet 64. oldalán található 71.figureban, egy csomó komponens (főleg kondik) értéke innen van található kapcsolás alapján (lehet arról írni esetleg, hogy milyen funkciói vannak az IC-nek)

    • 12Vról megy, (esetleg 24V, de ha 28-ig visszatölt, akkor már egyébként lekapcsolja a powerstaget)
    • I2C max 400kHz
    • milyen lekapcsolási-biztonsági funkciók vannak (Over voltage, o.current, thermal shutdown...)
  • a schematic hierarhikus, több lapból áll (drive, power), de nem is biztos hogy szükség lenne rá, mert elég egyszerű, csak kicsit fancybb és esetleg segíti a logikát átlátni

  • a pontos típus: DRV10983SQ legyen, ha standby modeban is használni szeretnénk az 5V-os buck convertert --> mikrovezérlő meghajtható róla (ld. katalógus 3.o.)

  • I2C védelmet és szűrést ez alapján csináltam --> itt javasolt komponensekkel (ferrit gyöngy és TVS dióda) megegyező paraméterűeket lesz majd érdemes választani (egyenlőre egy kb hasonlót raktam be)

  • terveim szerint csinálok 2 verziót:

    • csatlakozós (Táp & motor is csatlakozós)
    • beforrasztós (táp& motornak csak pad-ek vannak amikre majd rá lehet forrasztani a vezetékeket) (ez az ahol a testpoint (TP) nevű kivezetések vannak)
  • a TI IC alatt a túloldalon van egy PAD (majd thermal viákkal összekötve) a GND-hez kötve, hogy hőt disszipáljon és ide lehet(ne) rakni majd a hűtőbordát is

  • van egy sima GND és egy PWRGND, hogy a motor áramai minél kevésbé zavarjanak bele a digitális jelekbe, ezek össze vannak kötve egy 0ohmos ellenállással

  • az 5V (output) jelenlétét LED jelzi

  • decoupling capacitorok közel az IC-hez (majd a kialakításnál fizikailag)

  • minden jel-bemenet és kimenet, ami ki van vezetve (SCL, SDA, FG, SPEED, DIR) 3V3 TVS diódával védve ESD ellen

  • I2C csak 3V3 szinten mehet

  • FG pin 3V3-as impulzusokat ad (to be checked in datasheet)

  • DIR és SPEED bemeneten használható 5V-os jel (azaz megtáplálható egy sima potiról és kapcsolóról, ennek az egy panelnek a segítségével)

    • viszont ehhez előbb I2C-n be kell konfigurálni
    • a bemenetek egy-egy feszültségosztóval le vannak skálázva 3v3-ra
    • ehhez majd lesznek számítások, poti értéke
  • a legvégén esetleg kérhetünk majd árajánlatot ha unatkozunk :P

  • az I2C-t úgy lehet használni, ha a külső áramkör GND-je össze van kötve a motordriver GND_D-jével

  • az 5V-os bemenet használatához is legalább a GND-t kell bekötni

Szükséges számítások, paraméterek

Légyszi Kristóf ide, vagy valami fileba majd gyűjtsd ki a komponens nevét/számát (pl.: R1) és a linket hogy melyiket választottuk... Majd belepakkolom a schematicba és generálok belőle egy BOM .csv filet. ( Lehetséges oldalak: farnell, rs-online, lomex, TME ...ilyesmik. Csak legyen magyar oldal! ) (Esetleg lehet egy specifikus motor amit kinézünk, és annak a pramaétereit is felhasználjuk a számításokhoz)

  • elsősorban a TI-os katalógus alapján, a typical application résznél van egy lista hogy ők mit javasolnak
  • csak SMD alkatrészeket please
  • alapból ilyen 0603-as (mármint inches 0603, mert a metrikus méretek el vannak tolva) méretű ellenállásokat és kondikat stb. keresünk, esetleg kicsit kisebb vagy nagyobb (de nyilván ha nagyobb kell, akkor nagyobb kell, pl valszeg a táp kondija az gyanús, hogy nagyobb)
    • ellenállás választásnál ki kell számolni a teljesítményét és aszerint kell választani (0.25W; 1W ...)
    • LED-nél választani kell egy LED-et, majd az ahhoz előírt mA-hez választunk egy ellenállást, a színét rád bízom Kristóf ;)
    • kondiknál a feszültséget és a kapacitást kell nézni alapból
    • SPEED és DIR inputokra olyan feszültségosztó kell (ellenállásértékek), amik leskálázzák a bejövő 5V-ot 3,3-ra
  • I2C védelem: ld. dokumentáció vázlatpontjai közt, illetve ezek alapján még újra számíthatók a felhúzó ellenállások értékei is
  • ha nagyon fancy-k akarunk lenni, egy thermal calculationt is nyomhatunk és esetleg egy hűtőbordát is válasszunk (1. gyakorlat -> pdf kb. 10. oldal)
  • TVS diódák kapcsolása nem látszik a kapcs rajzon de az assets mappában megtalálható

Kiválasztott alkatrészek

Feltöltöttem egy Excel táblában a katalógusokból kiválasztott áramköri elemeket. A dokumentációhoz ideírom, amit csináltam:

  • Katalógusból kiválasztottam az ajánlások miatt előre ismert áramköri elemeket + a LED-et
  • Három kis számolás volt:
    • LED ellenállás,
    • feszültségosztók (TI online számolójával: link),
    • I2C felhúzó ellenállások min-max értékeinek újraszámolása (az ajánlottak jók maradtak).

Minden számolás és az összes alkatrész az Excelben. Alkatrészekhez van típuszsám, link, footprint adat és méretezési feltétel is (ha volt). A termikus számítások nem voltak kivitelezhetők, nincs elég adat veszteségekre vagy case-sink hőellenállásra (vagy hogy egyáltalán becsüljük). Elvileg a driver alá kerülő thermal pad elegendő, bele lehet írni a dokumentációba, hogy igény szerint lehet még adni hozzá.

PCB alias NYÁK design

  • csatolásmentesítő kondik közel az IC-hez, mindegyiknek saját viája van a GND-hez
  • 45°-os track törésszögek a jelreflexió elkerülésére
  • thermal via-k: 20mil hole diameter, 8mil hole (for least resistance) ahogy itt a 2.5-ben írják
  • a teljesítményfolyamban lévő track-ek és viák méretezve vannak (viából van egy dupla is, bár nem feltétlen lenne rá szükség) a számításokról készített screenshot az assetsben
  • digitális <--> teljesítény oldalak elválasztása fizikailag amennyire lehet
  • teljesítményvonalak kialakításánál fontos volt, hogy minél kisebb loopot csináljanak és rövidek legyenek
  • GND és GNDPWR egy 0ohmos ellenállással (R4) összekötve: kis vezetékellenállású összeköttetés a bemeneti GND és a digitális jelek GND-je közt
  • buck konverter trackjei default értéken vannak, de van róla számítás hogy elég (assetsben)
  • a power bemenetek jelölve vannak, a csatlakozónál légyszi csinálj egy ábrát, ami "katalógusba" mehetne
  • két sarokban letörések...mert csak... :P
  • M2.5-ös mounting holeok hogy lehessen odacsavarozni valahova
  • az alsó oldalra ragasztható heatsink ha akarja a felhasználó, de figyelni kell, hogy ezen a részen galvanikus kapcsolat ne alakuljon ki a külvilággal
  • földkiöntés a sima GND-vel (- esetleg át lehetne alakítani hogy a heatsink-pad a sima GND-hez kapcsolódjon és a PWRGND-t másmerre vezetni, ha van idő...)
  • ... és ezeken kívül bármi amit látsz a boardon és érdemes leírni

Parts

31
QtyValueFootprintReferences
4MountingHoleMountingHole:MountingHole_2.7mm_PadH1, H2, H3, H4
34.75kResistor_SMD:R_0603_1608MetricR1, R2, R5
3TestPointTestPoint:TestPoint_Pad_3.0x3.0mmTP1, TP2, TP3
20.8 - 2k2Inductor_SMD:L_0603_1608MetricFB1, FB2
2100nCapacitor_SMD:C_0603_1608MetricC2, C5
21uCapacitor_SMD:C_0603_1608MetricC3, C4
24k7Resistor_SMD:R_0603_1608MetricR6, R7
29k1Resistor_SMD:R_0603_1608MetricR8, R9
10Resistor_SMD:R_0603_1608MetricR4
110nCapacitor_SMD:C_0603_1608MetricC1
110uCapacitor_SMD:C_0805_2012MetricC6
1150Resistor_SMD:R_0603_1608MetricR3
147uVLS6045EX-470M:IND_VLS6045EX-470ML1
1Conn_01x07Connector_JST:JST_PH_S7B-PH-K_1x07_P2.00mm_HorizontalJ2
1DRV10983QPWPRQ1DRV 10893 - Q1:PWP24_2P4X5P16_TEXU1
1GNDTestPoint:TestPoint_Pad_3.0x3.0mmTP5
1Heatsink_PadTestPoint:TestPoint_Pad_4.0x4.0mmHS1
1LEDLED_SMD:LED_0603_1608MetricD2
1V+TestPoint:TestPoint_Pad_3.0x3.0mmTP4

Similar boards

  • 2 layers44.5 × 46.9 mmOSO SWAT B1-jig, the printed circuit board in 3D

    OSO SWAT B1-jig

    joeycastillo/Sensor-Watch

    A board replacement for the classic Casio F-91W wristwatch

    31 parts2.1k
  • 2 layers65 × 30 mmRgb to hdmi, the printed circuit board in 3D

    Rgb to hdmi

    hoglet67/RGBtoHDMI

    Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

    31 parts1kGPL-3.0
  • 2 layers191 × 98.5 mmMacroKeypad, the printed circuit board in 3D

    MacroKeypad

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    31 parts915
  • 2 layers39 × 45.2 mmCH32V003F4P6-R0-1v1, the printed circuit board in 3D

    CH32V003F4P6-R0-1v1

    openwch/ch32v003

    CH32V003 is an ultra-cheap RISC-V MCU with 2KB SRAM, 16KB flash, and up to 18 GPIOs that sells for under $0.10

    31 parts599
  • 2 layers26.7 × 27.9 mmBreakout board, the printed circuit board in 3D

    Breakout board

    Luos-io/luos_engine

    Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.

    31 parts546MIT
  • 2 layers100 × 50 mmPixelix, the printed circuit board in 3D

    Pixelix

    BlueAndi/Pixelix

    Full RGB LED matrix, based on an ESP32 and WS2812B LEDs or emulated LEDs on TFT.

    31 parts447MIT
  • 2 layers77.2 × 69.8 mmCubesatsim solar, the printed circuit board in 3D

    Cubesatsim solar

    alanbjohnston/CubeSatSim

    CubeSatSim, the AMSAT CubeSat Simulator

    31 parts419GPL-3.0
  • 2 layers103 × 55 mmTd neck-294, the printed circuit board in 3D

    Td neck-294

    tdaede/td-crt

    tubes

    31 parts373

Questions

How big is the BLDC driver PCB?

It measures 36 × 29.9 mm and has 2 copper layers, 1.6 mm thick.

What parts does the BLDC driver use?

31 parts, built around the DRV10983QPWPRQ1. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the BLDC driver KiCad files?

From the ChiefNyB/BLDC_driver repository on GitHub, at the commit this page was made from: the board is BLDC_driver.kicad_pcb and its schematic BLDC_driver.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the BLDC driver design in my own project?

Its repository states no licence, so its author keeps all rights: ask ChiefNyB before reusing the design.