CAN motor controller
wjklimek1·CAN_motor_controller·PCB_and_schematic/KiCad_CAN_motor_driver/KiCad_CAN_motor_driver.kicad_pcb
About the CAN motor controller PCB
CAN motor controller is an open source STM32 PCB design by wjklimek1, published on GitHub under the MIT license. It is a 2-layer board measuring 66.8 × 42.4 mm, with 69 components from 35 distinct parts.
Its main chip is the STM32F103C8Tx, from the STM32 family. Other key parts include the SN65HVD232 and LMR50410. By type, the board carries 24 capacitors, 20 resistors, 9 diodes, 6 connectors, 3 ICs and 3 inductors.
It belongs with the robotics & motion designs in this gallery.
From the project
H-bridge for DC motor controlled by CAN or PWM
Motor is accelerated slowly by changing PWM duty. If received command orders to immediately set PWM to 100% from 0%, duty is increased slowly in default 10ms intervals. Therefore spinning motor to top speed will take 10s. This property can be disabled by setting "motor inertia" parameter to 0 (see CAN commands table).
Following table shows available data requests: |Data request | frame ID | DLC | byte 0 (data request code) | byte 1 | byte 2 | byte 3 | byte 4 |byte 5 | |--|--|--|--|--|--|--|--|--| |Internal temperature | 0x445 | 2 | 1 | Internal temperature (uint8t) in |Celcius | - | - | - |…
Main components on the CAN motor controller
CAN motor controller bill of materials (BOM)
69 components, 35 distinct parts.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | SN65HVD232 | SOIC-8_3.9x4.9mm_P1.27mm | U1 |
| 1 | LMR50410 | SOT-23-6_Handsoldering | U2 |
| 1 | STM32F103C8Tx | LQFP-48_7x7mm_P0.5mm | U3 |
| 2 | BTN8982TA | TO-263-7_TabPin8 | Q1, Q2 |
| 1 | SWDIO | PinHeader_1x05_P2.54mm_Vertical | J1 |
| 1 | UART | PinHeader_1x04_P2.54mm_Vertical | J2 |
| 1 | PWM_IN | PinHeader_1x03_P2.54mm_Vertical | J3 |
| 1 | POWER IN 24V | ScrewTerminal_2_P5.08mm | J4 |
| 1 | MOTOR OUT | ScrewTerminal_2_P5.08mm | J5 |
| 1 | CAN | ScrewTerminal_2_P5.08mm | J6 |
| 1 | NTC 10k | R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | TH1 |
| 1 | NTC 10k | PinHeader_1x02_P2.54mm_Vertical | TH2 |
| 1 | SM4007 | D_MELF | D1 |
| 1 | SD24_SOD323 | D_SOD-323 | D2 |
| 2 | 3V | D_MiniMELF | D3, D4 |
| 1 | LED | LED_0805_2012Metric_Castellated | D5 |
| 4 | D | D_PowerDI-123 | D6, D7, D8, D9 |
| 1 | Ferrite_Bead | L_1206_3216Metric | FB1 |
| 1 | Ferrite_Bead | L_1206_3216Metric_Pad1.22x1.90mm_HandSolder | FB2 |
| 1 | 4.7uH | L_Wuerth_MAPI-4030 | L1 |
Show 15 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 2 | 47uF | CP_Elec_6.3x5.7 | C1, C8 |
| 13 | 100nF | C_0805_2012Metric | C2, C3, C4, C5, C6, C7, C9, C11 +5 |
| 4 | 10nF | C_0805_2012Metric | C10, C12, C22, C23 |
| 4 | 220nF | C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C13, C14, C17, C18 |
| 1 | 100nF | C_1206_3216Metric | C25 |
| 1 | 10R | R_0805_2012Metric | R1 |
| 1 | 120R | R_0805_2012Metric | R2 |
| 4 | 10k | R_0805_2012Metric | R3, R5, R8, R13 |
| 2 | 1.1k | R_0805_2012Metric | R4, R14 |
| 1 | 51k | R_0805_2012Metric | R6 |
| 1 | 22k | R_0805_2012Metric | R7 |
| 2 | 6.8k | R_0805_2012Metric | R9, R10 |
| 2 | 33k | R_0805_2012Metric | R11, R20 |
| 4 | 470R | R_0805_2012Metric | R12, R16, R17, R19 |
| 2 | 1k | R_0805_2012Metric | R15, R18 |
CAN motor controller design files
The KiCad project lives in the wjklimek1/CAN_motor_controller repository on GitHub; these links point at the commit this page was built from.
CAN motor controller: common questions
What microcontroller does the CAN motor controller use?
The CAN motor controller is built around the STM32F103C8Tx, from the STM32 family.
How big is the CAN motor controller PCB?
The CAN motor controller measures 66.8 × 42.4 mm, has 2 copper layers and is 1.6 mm thick.
How many components are on the CAN motor controller?
69 components, from 35 distinct parts. The full bill of materials is listed on this page.
Where can I download the CAN motor controller design files?
From the wjklimek1/CAN_motor_controller repository on GitHub, which has the KiCad layout; the links under Design files point to each one.
Can I use the CAN motor controller design in my own project?
Yes, under the terms of its MIT license, which wjklimek1 chose for the repository.
Can I test firmware for the CAN motor controller without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug STM32 firmware against it before you order a PCB.
Similar boards
STM32
LumenPnP Motherboard
opulo-inc
149 × 95 mm296 parts4LCC-BY-SA-4.03.7kSTM32
Type g
google
169 × 30 mm24 parts2LApache-2.02.9kSTM32
Main panel
google
234 × 84 mm26 parts4LApache-2.02.9kSTM32
Base
google
52.3 × 52.3 mm36 parts2LApache-2.02.9kSTM32
Type a
google
150 × 30 mm14 parts2LApache-2.02.9kSTM32
Type c
google
188 × 30 mm17 parts2LApache-2.02.9k