3D printable robot actuator with belt-driven gearbox and custom FOC driver board for the used BLDC motor. It uses the CAN SOT Protocol for the communication, which allows to not only send commands and receive state changes but also to set configuration parameters dynamically during runtime.
- Driver board
- Input: 10 - 24V
- Output: can drive up to two BLDC motors, each output up to 10A
- CAN bus communication
- Encoders connected via two I2C connections
- Alternatively via two SPI inputs
- 12 bit encoders
- Gearbox
- Fully 3d printable
- 2 stage timing belt based reduction
- Simple screw-based belt tensioning mechanism
- ~1:20 reduction
- Easily back drivable
motor_driver/firmware: C++ firmware code for the stm32 microcontrollermotor_driver/can_client_lib: Contains the can bus communication protocol definition and host applications to configure and interface with the motor driver.motorControllerCanProtocol.def.yaml: Contains the protocol definition.
motor_driver/hardware: Kicad files with schematics for the board and PCB.motor_driver/hardware/output: Schematics, board layout and manufacturing files.gearbox: 3D printing stl files for the gearbox.
This board is a dual channel brushless motor driver.
The design of the board can be found in the hardware subfolder.
In hardware/output are all generated files for all versions.
For the full schematic, see hardware/motorDriver/output/v0.0.1/schematic.pdf.
First look at motor_driver/can_client_lib/README.md to compile the communication lib and host control application. Then compile and flash the microcontroller firmware, see motor_driver/firmware/README.md.



