CAN motor controller

wjklimek1·CAN_motor_controller·PCB_and_schematic/KiCad_CAN_motor_driver/KiCad_CAN_motor_driver.kicad_pcb

CAN motor controller PCB layout, top view — open source STM32 board by wjklimek1

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.

QtyPartRefs
1
SN65HVD232
U1
1
LMR50410
U2
1
STM32F103C8Tx
U3
2
BTN8982TA
Q1, Q2
1
SWDIO
J1
1
UART
J2
1
PWM_IN
J3
1
POWER IN 24V
J4
1
MOTOR OUT
J5
1
CAN
J6
1
NTC 10k
TH1
1
NTC 10k
TH2
1
SM4007
D1
1
SD24_SOD323
D2
2
3V
D3, D4
1
LED
D5
4
D
D6, D7, D8, D9
1
Ferrite_Bead
FB1
1
Ferrite_Bead
FB2
1
4.7uH
L1
Show 15 more
QtyPartRefs
2
47uF
C1, C8
13
100nF
C2, C3, C4, C5, C6, C7, C9, C11 +5
4
10nF
C10, C12, C22, C23
4
220nF
C13, C14, C17, C18
1
100nF
C25
1
10R
R1
1
120R
R2
4
10k
R3, R5, R8, R13
2
1.1k
R4, R14
1
51k
R6
1
22k
R7
2
6.8k
R9, R10
2
33k
R11, R20
4
470R
R12, R16, R17, R19
2
1k
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